一、建立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 (人为设定一般值)

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

最低0.47元/天 解锁文章
2659

被折叠的 条评论
为什么被折叠?



