FAQ问答项目代码细节————BM25+BERT句子相似度

本文介绍了如何建立FAQ问答库,利用BM25和BERT模型进行句子相似度计算。首先,建立包含多个问题形式的FAQ库,接着初始化BM25,计算相关值并构建倒排索引。当输入问句时,通过分词和倒排索引找到相关文档,计算BM25和BERT相似度,选取最匹配的回答。最后,概述了BERT相似度模型的训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、建立FAQ库

一个问题三个形式,

数据增强之后问题和答案一一对应,19MB的ask.txt,答案保存在answer0-424中,每个文件1000个回答。节省处理时间。

二、BM25初始化

目的:计算bm25公式中需要的值

1、self.titles  <list> len=424043 eg:['什么是发票?','发票是什么?','发票的概念']

2、self.segTitles <list> len=424043 eg:[ ['什么', '是', '发票'],['发票', '是', '什么'], ['发票', '的', '概念']]

3、self.df <dict> len=28387 eg:{"什么":131898,"是":136367,"发票":13734}

4、self.idf <dict> len =28387 eg:{"什么":0.7952192784285401,"是":0.7464831376894789,"发票":3.3970008374344935}

5、self.D = 424043,self.b=0.75 ,self.k1=1.5 (人为设定一般值)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值