bert做文本摘要_Keras 教程:BERT 文本摘要

该教程展示了如何利用Keras对BERT模型进行微调,以实现文本摘要功能。通过将问题和上下文输入BERT,计算每个token作为答案开始和结束的概率,并在SQuAD数据集上进行训练和评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4bc77999f1bc6619fdc593377ea6fd6a.png

字幕组双语原文:Keras 教程:BERT 文本摘要

英语原文:BERT (from HuggingFace Transformers) for Text Extraction

翻译:雷锋字幕组(yhfwww、wiige)

介绍

这个演示使用了SQuAD (Stanford question - answer Dataset)。在SQuAD 数据集中,输入由一个问题和一个上下文段落组成。目标是找到回答问题的段落的跨度。我们使用“精确匹配(Exact Match)”指标来评估我们在这些数据上的表现,它度量了精确匹配任何一个真实答案的预测的百分比。

我们对一个BERT模型进行微调,如下所示:

  1. 将上下文和问题作为输入,输入给BERT。

  2. 取两个向量S和T它们的维数等于BERT中隐藏状态的维数。

  3. 计算每个token作为答案范围的开始和结束的概率。一个token作为答案开始的概率是由S和在最后一层BERT中表示的token之间的点积给出的,然后是所有token的softmax。token作为最终答案的概率的计算方法与向量T类似。

  4. 微调BERT,学习S和T。

参考:

BERT

SQuAD

设置:

import os

import re

import json

import string

import numpy as np

import tensorflow as tf

from tensorflow import keras

from tensorflow.keras import layers

from tokenizers import BertWordPieceTokenizer

from transformers import BertTokenizer,TFBertModel,Bert

Configmax_len = 384

configuration = BertConfig

# default paramters and configuration for BERT

设置BERT分词器

# Save the slow pretrained tokenizerslow_tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")save_path = "bert_base_uncased/"if not os.path.exists(save_path):

os.makedirs(save_path)slow_tokenizer.save_pretrained(save_path)# Load the fast tokenizer from saved filetokenizer = BertWordPieceTokenizer("bert_base_uncased/vocab.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值