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 天前
RAG学习(五)——查询构建、Text2SQL、查询重构与分发
人工智能·python·深度学习·nlp
深度学习机器7 天前
LangExtract:基于LLM的信息抽取框架|附项目解析与实战代码
llm·nlp·agent
lucky_lyovo10 天前
自然语言处理NLP---预训练模型与 BERT
人工智能·自然语言处理·bert
一宿君12 天前
Github 9 个惊艳的开源 NL2SQL 项目
sql·nlp·github
AustinCyy13 天前
【论文笔记】DOC: Improving Long Story Coherence With Detailed Outline Control
论文阅读·nlp
Blossom.11813 天前
把大模型当“温度计”——基于 LLM 的分布式系统异常根因定位实战
人工智能·python·深度学习·机器学习·自然语言处理·分类·bert
Learn Forever14 天前
【AI-ModelScope/bert-base-uncase】模型训练及使用
人工智能·深度学习·bert
未来之窗软件服务15 天前
自建知识库,向量数据库 体系建设(二)之BERT 与.NET 8
人工智能·深度学习·bert·知识库·向量数据库·仙盟创梦ide·东方仙盟
乔公子搬砖17 天前
NLP 2025全景指南:从分词到128专家MoE模型,手撕BERT情感分析实战(第四章)
人工智能·ai·自然语言处理·nlp·aigc