北京公司网站制作费用,可以做请柬的网站,163企业邮箱费用多少,微盟商城官网利用BERT等模型来实现语义分割。BERT等模型在预训练的时候采用了NSP#xff08;next sentence prediction#xff09;的训练任务#xff0c;因此BERT完全可以判断两个句子#xff08;段落#xff09;是否具有语义衔接关系。这里我们可以设置相似度阈值 MERGE_RATIO #…利用BERT等模型来实现语义分割。BERT等模型在预训练的时候采用了NSPnext sentence prediction的训练任务因此BERT完全可以判断两个句子段落是否具有语义衔接关系。这里我们可以设置相似度阈值 MERGE_RATIO 从前往后依次判断相邻两个段落的相似度分数是否大于MERGE_RATIO 如果大于则合并否则断开。
import torch
from transformers import BertModelBertTokenizer
#加载字典和分词工具即tokenizer
tokenizer BertTokenizer.from_pretrained(bert-base-chinese) # 要跟预训练模型相匹配
#加载预训练模型
model BertModel.from_pretrained(bert-base-chinese)
TEMPERATURE 1 #温度函数 自定义
MERGE_RATIO 0.9 #阈值分数 自定义def is_nextsent(sent, next_sent):encoding tokenizer(sent, next_sent, return_tensorspt,truncationTrue, paddingFalse)with torch.no_grad():outputs model(**encoding, labelstorch.LongTensor([1]))logits outputs.logitsprobs torch.softmax(logits/TEMPERATURE, dim1)next_sentence_prob probs[:, 0].item()if next_sentence_prob MERGE_RATIO:return Falseelse:return True