bert-base-chinese 判断上下句

利用BERT等模型来实现语义分割。BERT等模型在预训练的时候采用了NSP(next sentence prediction)的训练任务,因此BERT完全可以判断两个句子(段落)是否具有语义衔接关系。这里我们可以设置相似度阈值 MERGE_RATIO ,从前往后依次判断相邻两个段落的相似度分数是否大于MERGE_RATIO ,如果大于则合并,否则断开。

python 复制代码
import torch
from transformers import BertModel,BertTokenizer
#加载字典和分词工具,即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_tensors="pt",truncation=True, padding=False)

        with torch.no_grad():
            outputs = model(**encoding, labels=torch.LongTensor([1]))
            logits = outputs.logits
            probs = torch.softmax(logits/TEMPERATURE, dim=1)
            next_sentence_prob = probs[:, 0].item()

        if next_sentence_prob <= MERGE_RATIO:

            return False
        else:
            return True
相关推荐
鲲志说4 小时前
本地化部署DeepSeek-R1蒸馏大模型:基于飞桨PaddleNLP 3.0的实战指南
人工智能·nlp·aigc·paddlepaddle·飞桨·paddle·deepseek
weixin_435208161 天前
通过 Markdown 改进 RAG 文档处理
人工智能·python·算法·自然语言处理·面试·nlp·aigc
TGITCIC3 天前
BERT与Transformer到底选哪个-下部
人工智能·gpt·大模型·aigc·bert·transformer
Kai HVZ4 天前
《深度学习》——bert框架
人工智能·深度学习·bert
TGITCIC4 天前
BERT与Transformer到底选哪个-上部
人工智能·gpt·大模型·aigc·bert·transformer
xidianjiapei0014 天前
LLM架构解析:词嵌入模型 Word Embeddings(第二部分)—— 从基础原理到实践应用的深度探索
llm·bert·word2vec·elmo·cbow·llm架构·词嵌入模型
反方向的钟儿6 天前
人工智能入门(2)
大数据·人工智能·学习·自然语言处理·nlp·vr
冲上云霄的Jayden7 天前
PaddleNLP UIE 通过OCR识别银行回执信息
nlp·ocr·paddle·paddlenlp·信息提取·uie·银行回执
百锦再8 天前
DeepSeek与GPT的全方位对比及其为编程工作带来的巨大变革
人工智能·python·gpt·nlp·deepseek