基于BM25算法的文档检索方法、装置、设备及介质制造方法及图纸

技术编号:33475494 阅读:23 留言:0更新日期:2022-05-19 00:51
本申请涉及人工智能技术领域,本申请实施例提供了一种基于BM25算法的文档检索方法、装置、电子设备及存储介质。该方法包括:将问题文本输入至预训练好的第一自然语言处理模型,以利用第一自然语言处理模型感知上下文语义信息的能力,对所述问题文本中每个分词的重要性进行预测;再基于BM25算法对第一自然语言处理模型输出的各个分词的重要性预测结果进行处理,得到各个候选文档与问题文本的相似度得分,并根据相似度得分得到召回文档,将所述召回文档作为文档检索结果推送给所述用户。本申请在获取相似度得分的过程中考虑了问题文本的上下文语义信息,克服了典型BM25算法仅根据分词的词频来判断分词的重要性所带来的局限性,提高了文档召回的准确率。提高了文档召回的准确率。提高了文档召回的准确率。

【技术实现步骤摘要】
基于BM25算法的文档检索方法、装置、设备及介质


[0001]本申请涉及人工智能
,尤其涉及一种基于BM25算法的文档检索方法、装置、电子设备及存储介质。

技术介绍

[0002]BM25算法是一种经典的检索算法,用来评价搜索词(用户输入的问题)和文档之间相关性,它是一种基于概率检索模型提出的算法。典型BM25算法的主要思想是通过对问题句子分词后计算单词的词频信息(即单词在各个文档中出现的频率),以根据单词的词频来判断单词的重要性,同时设置了多种可调节因子进行召回。这种方法并没有考虑到用户输入问题的上下文语义信息,在实际操作中,同样的单词在不同的语境下的重要性是不同的,这样就导致基于BM25算法的召回准确率较低。

技术实现思路

[0003]本申请实施例的主要目的在于提出一种基于BM25算法的文档检索方法、装置、电子设备及存储介质,旨在提高文档召回的准确率。
[0004]为实现上述目的,本申请实施例的第一方面提出了一种基于BM25算法的文档检索方法,所述方法包括:
[0005]接收用户输入的业务问题,得到问题文本;
[0006]将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;
[0007]获取预先设置的多个候选文档和各个所述候选文档的文档参数;
[0008]针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;
[0009]根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;
[0010]将所述召回文档作为文档检索结果推送给所述用户。
[0011]根据本申请一些实施例提供的文档检索方法,所述第一自然语言处理模型的预训练过程包括:
[0012]构建第一训练样本集合,其中,所述第一训练样本集合包括多个第一训练样本,每个所述第一训练样本包括第一样本问题文本和第一标签集合,所述第一标签集合包括所述第一样本问题文本中各分词的第一标注标签,所述第一标注标签用于表征所述分词在所述第一样本问题文本句子中的重要程度;
[0013]将每个所述第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到所述第一训练样本的重要性预测结果集合;
[0014]根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,确定所述第一自然语言处理模型的第一损失值;
[0015]在所述第一损失值满足预设的第一训练结束条件情况下,结束所述第一自然语言处理模型的预训练过程;
[0016]在所述第一损失值不满足所述预设的第一训练结束条件的情况下,对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。
[0017]根据本申请一些实施例提供的文档检索方法,所述第一自然语言处理模型包括编码器表示

全词遮掩Bert

wwm层和全连接层,所述Bert

wwm层用于基于所述第一样本问题文本输出词向量语义序列,所述全连接层用于基于所述词向量语义序列输出各个分词的重要性预测结果。
[0018]根据本申请一些实施例提供的文档检索方法,所述全连接层的输出为重要性预测结果序列,所述第一样本问题文本中的各个分词的重要性预测结果根据所述重要性预测结果序列得到,所述各个分词的重要性预测结果组成所述重要性预测结果集合。
[0019]根据本申请一些实施例提供的文档检索方法,所述针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分,通过如下算式实现:
[0020][0021]其中,Score(Q,d)表征所有候选文档中的第d个候选文档与所述问题文本Q的相似度得分;q
i
表征所述问题文本Q中的第i个分词;NLP

(q
i
)表征所述第一自然语言处理模型针对分词q
i
输出的重要性预测结果;f
i
表征所述分词q
i
在所有候选文档中出现的频率;dl表征所述第d个候选文档的长度;avgdl表征所有候选文档的平均长度;k1、b均为调节因子。
[0022]根据本申请一些实施例提供的文档检索方法,所述候选文档的数量为M个,M为大于1的整数;
[0023]所述根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,包括:
[0024]从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档,J为大于1且小于M的整数。
[0025]根据本申请一些实施例提供的文档检索方法,在所述从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档之后,所述方法还包括:
[0026]采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分;
[0027]基于每个召回分档的得分对J个召回文档进行排序,以将排序后的J个召回文档作为文档检索结果推送给所述用户。
[0028]根据本申请一些实施例提供的文档检索方法,所述第二自然语言处理模型的预训练过程包括:
[0029]构建第二训练样本集合,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档和第二标签集合,所述第二标签集合包括各个样本文档的标注得分;
[0030]基于所述第二训练样本集合执行如下第一预训练过程:
[0031]将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的预测得分集合;
[0032]根据各个所述第二训练样本的预测得分集合和第二标签集合,确定所述第二自然语言处理模型的第二损失值;
[0033]在所述第二损失值满足预设的第二训练结束条件情况下,结束所述第一预训练过程;
[0034]在所述第二损失值不满足所述预设的第二训练结束条件的情况下,对所述第二自然语言处理模型的模型参数进行调整,并基于所述第二训练样本集合对调整后的模型继续继续执行所述第一预训练过程。
[0035]根据本申请一些实施例提供的文档检索方法,每个所述第二训练样本还包括第三标签集合,所述第三标签集合包括各个样本文档的第二标注标签,所述第二标注标签用于表征所述样本文档与所述第二样本问题文本的相关性;
[0036]在所述第一预训练过程之前,所述第二自然语言处理模型的预训练过程还包括基于所述第二训练样本集合执行如下第二预训练过程:
[0037]将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的相关性预测结果集合本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BM25算法的文档检索方法,其特征在于,所述方法包括:接收用户输入的业务问题,得到问题文本;将所述问题文本输入至预训练好的第一自然语言处理模型,以通过所述第一自然语言处理模型获得所述问题文本中每个分词的重要性预测结果;获取预先设置的多个候选文档和各个所述候选文档的文档参数;针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分;根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档;将所述召回文档作为文档检索结果推送给所述用户。2.根据权利要求1所述的方法,其特征在于,所述第一自然语言处理模型的预训练过程包括:构建第一训练样本集合,其中,所述第一训练样本集合包括多个第一训练样本,每个所述第一训练样本包括第一样本问题文本和第一标签集合,所述第一标签集合包括所述第一样本问题文本中各分词的第一标注标签,所述第一标注标签用于表征所述分词在所述第一样本问题文本句子中的重要程度;将每个所述第一训练样本中的第一样本问题文本输入至所述第一自然语言处理模型,得到所述第一训练样本的重要性预测结果集合;根据各个所述第一训练样本的重要性预测结果集合和所述第一标签集合,确定所述第一自然语言处理模型的第一损失值;在所述第一损失值满足预设的第一训练结束条件情况下,结束所述第一自然语言处理模型的预训练过程;在所述第一损失值不满足所述预设的第一训练结束条件的情况下,对所述第一自然语言处理模型的模型参数进行调整,并基于所述第一训练样本集合对调整后的模型继续进行预训练。3.根据权利要求2所述的方法,其特征在于,所述第一自然语言处理模型包括编码器表示

全词遮掩Bert

wwm层和全连接层,所述Bert

wwm层用于基于所述第一样本问题文本输出词向量语义序列,所述全连接层用于基于所述词向量语义序列输出所述第一样本问题文本中的各个分词的重要性预测结果。4.根据权利要求3所述的方法,其特征在于,所述全连接层的输出为重要性预测结果序列,所述第一样本问题文本中的各个分词的重要性预测结果根据所述重要性预测结果序列得到,所述各个分词的重要性预测结果组成所述重要性预测结果集合。5.根据权利要求1所述的方法,其特征在于,所述针对每个所述候选文档,分别基于BM25算法对所述候选文档的文档参数和所述问题文本中每个分词的重要性预测结果进行处理,得到所述候选文档与所述问题文本的相似度得分,通过如下算式实现:
其中,Score(Q,d)表征所有候选文档中的第d个候选文档与所述问题文本Q的相似度得分;q
i
表征所述问题文本Q中的第i个分词;NLP_(q
i
)表征所述第一自然语言处理模型针对分词q
i
输出的重要性预测结果;f
i
表征所述分词q
i
在所有候选文档中出现的频率;dl表征所述第d个候选文档的长度;avgdl表征所有候选文档的平均长度;k1、b均为调节因子。6.根据权利要求1所述的方法,其特征在于,所述候选文档的数量为M个,M为大于1的整数;所述根据所述相似度得分,对所述候选文档进行召回处理,得到召回文档,包括:从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档,J为大于1且小于M的整数。7.根据权利要求6所述的方法,其特征在于,在所述从所述M个候选文档中选取相似度得分最高的J个候选文档作为召回文档之后,所述方法还包括:采用预训练好的第二自然语言处理模型对J个召回文档分别进行得分预测,得到每个召回分档的得分;基于每个召回分档的得分对J个召回文档进行排序,以将排序后的J个召回文档作为文档检索结果推送给所述用户。8.根据权利要求7所述的方法,其特征在于,所述第二自然语言处理模型的预训练过程包括:构建第二训练样本集合,所述第二训练样本集合包括多个第二训练样本,每个第二训练样本包括第二样本问题文本、多个样本文档和第二标签集合,所述第二标签集合包括各个样本文档的标注得分;基于所述第二训练样本集合执行如下第一预训练过程:将每个所述第二训练样本中的第二样本问题文本与多个样本文档拼接后,输入至所述第二自然语言处理模型中,得到各个所述第二训练样本的预测得分集合;根据各个所述第二训练样本的预测得分集合和第二标签集合,确定所述第二自然语言处理模型的第二损失值;在所述第二损失值满足预设的第二训...

【专利技术属性】
技术研发人员:周梦原
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1