当前位置: 首页 > news >正文

bert-base-chinese 判断上下句

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

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.logitsprobs = torch.softmax(logits/TEMPERATURE, dim=1)next_sentence_prob = probs[:, 0].item()if next_sentence_prob <= MERGE_RATIO:return Falseelse:return True
http://www.lryc.cn/news/140301.html

相关文章:

  • vue3+vue-cli使用mockjs
  • Android 全局监听软键盘弹起隐藏 动态修改布局并适配无限循环的问题
  • 第 k 小整数
  • LeetCode 1448. 统计二叉树中好节点的数目:DFS
  • AR室内导航技术之技术说明与效果展示
  • 06-Numpy基础-线性代数
  • SpringBootWeb 登录认证
  • 【JVM 内存结构丨栈】
  • LeetCode 138.复制带随机指针的链表
  • 基于SSM的小说网站的设计与实现(论文+源码)_kaic
  • 【Python】代理池针对ip拦截破解
  • P1065 [NOIP2006 提高组] 作业调度方案
  • 设计模式三原则
  • dll载入时发生的事情
  • k8s-ingress-context deadline exceeded
  • css盒模型
  • cuda11.1和cuDNN v8.8.1的安装目录问题
  • 微信小程序scroll-view的触发机制
  • 为本地文件创建URL
  • UI位置与布局
  • 《存储IO路径》专题:DDIO对系统性能的影响
  • ModaHub魔搭社区:WinPlan经营大脑数据采集
  • 缓存最佳实践
  • Linux 终端命令之文件目录操作,对比Dos相关命令
  • C++学习第十八天----switch语句
  • 基于poi生成excel模板并生成下拉选择框
  • Redis五种类型
  • 通过IP地址如何防范钓鱼网站诈骗?
  • useEffect使用详解
  • element-table的动态操作,自动以表格,动态新增行、列,删除行列