文本检索方法、模型训练方法、文本检索装置及存储介质制造方法及图纸

技术编号:24498755 阅读:34 留言:0更新日期:2020-06-13 04:08
本说明书涉及一种文本检索方法包括:对接收的第一文本进行分词,得到至少一个词语;根据所述至少一个词语从知识库中召回至少一个第二文本;将所述至少一个词语输入经过训练的文本向量模型,得到所述第一文本的文本向量;根据所述第一文本的向量从所述知识库中召回至少一个第三文本;以及将所述至少一个第二文本和所述至少一个第三文本进行融合,得到文本检索结果。本说明书还提供了词权重模型和文本向量模型的训练方法、文本检索装置、电子设备以及计算机可读存储介质。

Text retrieval method, model training method, text retrieval device and storage medium

【技术实现步骤摘要】
文本检索方法、模型训练方法、文本检索装置及存储介质
本说明书涉及自然语言处理
,尤其涉及一种文本检索方法、模型训练方法、文本检索装置、电子设备以及计算机可读存储介质。
技术介绍
文本检索(TextRetrieval)亦称为自然语言检索,是指根据文本内容,如文本所包含的词语、语意等对文本集合进行检索、分类、过滤等处理。文本检索与图像检索、声音检索、图片检索等都是信息检索的一部分。通常,文本检索的结果可以通过准确率和召回率这两大基本指标进行衡量。其中,准确率通常是指检索到的相关文档除以所有被检索到的文档得到的比率;召回率也称查全率,通常是指检索出的相关文档与相关文档总数的比率。因此,如何提高文本检索的准确率或召回率是文本检索需要解决的关键问题。
技术实现思路
有鉴于此,本说明书的实施例提出了一种文本检索方法,该方法可以包括:对接收的第一文本进行分词,得到至少一个词语;根据所述至少一个词语从知识库中召回至少一个第二文本;将所述至少一个词语输入经过训练的文本向量模型,得到所述第一文本的文本向量;根据所述第一文本的向量从所述知识库中召回至少一个第三文本;以及将所述至少一个第二文本和所述至少一个第三文本进行融合,得到文本检索结果。在本说明书的实施例中,上述根据所述至少一个词语从知识库中召回至少一个第二文本可以包括:分别确定所述至少一个词语的词权重;根据所述至少一个词语的词权重从所述至少一个词语中确定至少一个关键词;以及根据所述至少一个关键词从知识库中召回至少一个第二文本。在本说明书的实施例中,上述分别确定所述至少一个词语的词权重可以包括:将所述至少一个词语分别输入经过训练的词权重模型,得到所述至少一个词语的词权重。在本说明书的实施例中,上述词权重模型可以包括:编码器以及线性变换层;其中,所述编码器分别对所述至少一个词语进行编码,得到所述至少一个词语的词向量;所述线性变换层分别将所述至少一个词语的词向量进行线性变换,得到所述至少一个词语的词权重。在本说明书的实施例中,上述分别确定至少一个词语的词权重可以包括:根据词频-逆文本频率指数TF-IDF算法确定所述至少一个词语的词权重。在本说明书的实施例中,上述将所述至少一个第二文本和所述至少一个第三文本进行融合可以包括:将所述至少一个第二文本和所述至少一个第三文本求并集,得到所述文本检索结果。在本说明书的实施例中,上述将所述至少一个第二文本和所述至少一个第三文本进行融合可以包括:将所述至少一个第二文本和至少一个第三文本分别输入经过训练的文本向量模型,确定所述至少一个第二文本的文本向量和所述至少一个第三文本的文本向量;将所述至少一个第二文本的文本向量求平均,得到第二文本的平均向量,并对所述第二文本的平均向量进行线性变换,得到第二文本的平均权重;将所述至少一个第三文本的文本向量求平均,得到第三文本的平均向量,并对所述第三文本的平均向量进行线性变换,得到第三文本的平均权重;响应于所述第二文本的平均权重大于或等于所述第三文本的平均权重,确定所述至少一个第二文本为所述文本检索结果;以及响应于所述第二文本的平均权重值小于所述第三文本的平均权重,确定所述至少一个第三文本为所述文本检索结果。本说明书的实施例提出了一种训练词权重模型的方法,该方法可以包括:获取训练数据,所述训练数据包括多个训练文本以及每一个训练文本对应的已知输出;其中,每一个训练文本包括至少一个第二词语;所述已知输出为所述至少一个第二词语的词权重;针对每个训练文本,将所述训练文本经分词后得到的至少一个第二词语输入所述编码器,根据编码器的参数的当前值生成所述至少一个第二词语的词向量;将所述至少一个第二词语的词向量输入线性变换层,根据所述线性变换层的参数的当前值生成所述至少一个第二词语的词权重,并将所述至少一个第二词语的词权重作为所述训练文本的预测输出;根据所述训练文本的预测输出和已知输出之间的误差确定一个梯度;将所述梯度反向传播给所述编码器和所述线性变换层以联合地调整所述编码器和所述线性变换层的参数的当前值。本说明书的实施例提出了一种训练文本向量模型的方法,可以包括:获取第二训练数据,所述第二训练数据包括多组训练文本对及每一个训练文本对对应的已知输出;其中,每一个训练文本对包括第一训练文本和第二训练文本;所述已知输出为所述第一训练文本和第二训练文本的匹配度;针对每个训练文本对,将训练文本对的第一训练文本和第二训练文本分别输入文本向量模型,根据所述文本向量模型的参数的当前值生成所述第一训练文本对应的第一训练文本向量和第二训练文本对应的第二训练文本向量;根据所述第一训练文本向量和第二训练文本向量确定所述第一训练文本和第二训练文本的匹配度,将所述匹配度作为所述训练文本对的预测输出;根据所述训练文本对的预测输出和已知输出之间的误差确定一个梯度;将所述梯度反向传播给所述文本向量模型以调整所述文本向量模型的参数的当前值。本说明书的实施例提出了一种训练文本向量模型的方法,可以包括:获取第二训练数据,所述第二训练数据包括多组训练文本对及每一个训练文本对对应的已知输出;其中,每一个训练文本对包括第一训练文本和第二训练文本;所述已知输出为所述第一训练文本和第二训练文本的匹配度;针对每个训练文本对,将所述训练文本对中的第一训练文本和第二训练文本分别输入BERT模型,根据所述BERT模型的参数的当前值生成所述第一训练文本对应的第一训练文本向量和第二训练文本对应的第一训练文本向量;根据所述第一训练文本向量和第二训练文本向量确定所述第一训练文本和第二训练文本的匹配度,将所述匹配度作为所述训练文本对的预测输出;根据所述训练文本对的预测输出和已知输出之间的误差确定一个梯度;将所述梯度反向传播给所述BERT模型以调整所述BERT模型的参数的当前值;在所述BERT模型训练完成后,根据经过训练的BERT模型,使用模型蒸馏训练所述文本向量模型。在本说明书的实施例中,上述文本向量模型可以包括CNN模型或LSTM模型。本说明书的实施例提出了一种文本检索装置,该装置可以包括:分词模块,用于对接收的第一文本进行分词,得到至少一个词语;词语召回模块,用于根据所述至少一个词语从知识库中召回至少一个第二文本;文本向量生成模块,用于将所述至少一个词语输入经过训练的文本向量模型,得到所述第一文本的文本向量;向量召回模块,用于根据所述第一文本的向量从所述知识库中召回至少一个第三文本;以及融合模块,用于将所述至少一个第二文本和所述至少一个第三文本进行融合,得到文本检索结果。在本说明书的实施例中,上述词语召回模块包括:词权重模型,用于将所述至少一个词语分别输入经过训练的词权重模型,得到所述至少一个词语的词权重;关键词确定单元,用于根据所述至少一个词语的词权重从所述至少一个词语中确定至少一个关键词;以及词语召回单元,用于根据所述至少一个关键词从知识库中召回至少一个第二文本。在本说明书的实施例本文档来自技高网...

【技术保护点】
1.一种文本检索方法,所述方法包括:/n对接收的第一文本进行分词,得到至少一个词语;/n根据所述至少一个词语从知识库中召回至少一个第二文本;/n将所述至少一个词语输入经过训练的文本向量模型,得到所述第一文本的文本向量;/n根据所述第一文本的向量从所述知识库中召回至少一个第三文本;以及/n将所述至少一个第二文本和所述至少一个第三文本进行融合,得到文本检索结果。/n

【技术特征摘要】
1.一种文本检索方法,所述方法包括:
对接收的第一文本进行分词,得到至少一个词语;
根据所述至少一个词语从知识库中召回至少一个第二文本;
将所述至少一个词语输入经过训练的文本向量模型,得到所述第一文本的文本向量;
根据所述第一文本的向量从所述知识库中召回至少一个第三文本;以及
将所述至少一个第二文本和所述至少一个第三文本进行融合,得到文本检索结果。


2.根据权利要求1所述的方法,其中,根据所述至少一个词语从知识库中召回至少一个第二文本包括:
分别确定所述至少一个词语的词权重;
根据所述至少一个词语的词权重从所述至少一个词语中确定至少一个关键词;以及
根据所述至少一个关键词从知识库中召回至少一个第二文本。


3.根据权利要求2所述的方法,其中,分别确定所述至少一个词语的词权重包括:将所述至少一个词语分别输入经过训练的词权重模型,得到所述至少一个词语的词权重。


4.根据权利要求3所述的方法,所述词权重模型包括:
编码器以及线性变换层;其中,
所述编码器分别对所述至少一个词语进行编码,得到所述至少一个词语的词向量;
所述线性变换层分别将所述至少一个词语的词向量进行线性变换,得到所述至少一个词语的词权重。


5.根据权利要求2所述的方法,其中,分别确定所述至少一个词语的词权重包括:根据词频-逆文本频率指数TF-IDF算法确定所述至少一个词语的词权重。


6.根据权利要求1所述的方法,所述将所述至少一个第二文本和所述至少一个第三文本进行融合包括:
将所述至少一个第二文本和所述至少一个第三文本求并集,得到所述文本检索结果。


7.根据权利要求1所述的方法,所述将所述至少一个第二文本和所述至少一个第三文本进行融合包括:
将所述至少一个第二文本和至少一个第三文本分别输入经过训练的文本向量模型,确定所述至少一个第二文本的文本向量和所述至少一个第三文本的文本向量;
将所述至少一个第二文本的文本向量求平均,得到第二文本的平均向量,并对所述第二文本的平均向量进行线性变换,得到第二文本的平均权重;
将所述至少一个第三文本的文本向量求平均,得到第三文本的平均向量,并对所述第三文本的平均向量进行线性变换,得到第三文本的平均权重;
响应于所述第二文本的平均权重大于或等于所述第三文本的平均权重,确定所述至少一个第二文本为所述文本检索结果;以及
响应于所述第二文本的平均权重值小于所述第三文本的平均权重,确定所述至少一个第三文本为所述文本检索结果。


8.一种训练词权重模型的方法,所述方法包括:
获取训练数据,所述训练数据包括多个训练文本以及每一个训练文本对应的已知输出;其中,每一个训练文本包括至少一个第二词语;所述已知输出为所述至少一个第二词语的词权重;
针对每个训练文本,
将所述至少一个第二词语输入编码器,根据所述编码器的参数的当前值生成所述至少一个第二词语的词向量;
将所述至少一个第二词语的词向量输入线性变换层,根据所述线性变换层的参数的当前值生成所述至少一个第二词语的词权重,并将所述至少一个第二词语的词权重作为所述训练文本的预测输出;
根据所述训练文本的预测输出和已知输出之间的误差确定一个梯度;
将所述梯度反向传播给所述编码器和所述线性变换层以联合地调整所述编码器和所述线性变换层的参数的当前值。


9.一种训练文本向量模型的方法,所述方法包括:
获取第二训练数据,所述第二训练数据包括多组训练文本对及每一个训练文本对对应的已知输出;其中,每一个训练文本对包括第一训练文本和第二训练文本;所述已知输出为所述第一训练文本和第二训练文本的匹配度;
针对每个训练文本对,
将所述训练文本对的第一训练文本和第二训练文本分别输入所述文本向量模型,根据所述文本向量模型的参数的当前值生成所述第一训练文本对应的第一训练文本向量和第二训练文本对应的第二训练文本向量;
根据所述第一训练文本向量和第二训练文本向量确定所述第一训练文本和第二训练文本的匹配度,将所述匹配度作为所述训练文本对的预测输出;
根据所述训练文本对的预测输出和已知输出之间的误差确定一个梯度;
将所述梯度反向传播给所述文本向量模型以调整所述文本向量模型的参数的当前值。

【专利技术属性】
技术研发人员:陈晓军崔恒斌
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1