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
相关推荐
玄同7657 小时前
LangChain v1.0+ Prompt 模板完全指南:构建精准可控的大模型交互
人工智能·语言模型·自然语言处理·langchain·nlp·交互·知识图谱
java1234_小锋11 小时前
【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2+基于BERT大模型训练微调+flask+pandas+echarts) 实战(上)
人工智能·flask·大模型·bert
名为沙丁鱼的猫7291 天前
【MCP 协议层(Protocol layer)详解】:深入分析MCP Python SDK中协议层的实现机制
人工智能·深度学习·神经网络·机器学习·自然语言处理·nlp
副露のmagic1 天前
草履虫级 Transformer code by hand
深度学习·bert·transformer
桂花很香,旭很美1 天前
基于 MCP 的 LLM Agent 实战:架构设计与工具编排
人工智能·nlp
薛定谔的猫19821 天前
十三.调用 BERT 中文文本情感分析交互式推理模型训练好的
人工智能·深度学习·bert
薛定谔的猫19821 天前
十二、基于 BERT 的中文文本二分类模型测试实战:从数据加载到准确率评估
人工智能·分类·bert
aoqDrPjNRbKr1 天前
PMSM永磁同步电机无传感器仿真 simulink仿真 SMO滑模观测器 PLL锁相环 无速度...
nlp
薛定谔的猫19822 天前
十四、基于 BERT 的微博评论情感分析模型训练实践
人工智能·深度学习·bert
玄同7652 天前
告别 AgentExecutor:LangChain v1.0+ Agent 模块深度迁移指南与实战全解析
人工智能·语言模型·自然语言处理·langchain·nlp·agent·智能体