本公开涉及数据检索,具体而言,涉及一种文本检索方法、文本检索装置、电子设备以及计算机可读存储介质。
背景技术:
1、文本检索是自然语言处理的经典问题,主要研究两个文本的语义相似度。现有技术主要通过分词处理得到分词文本集,并确定各分词向量的余弦相似度来实现文本检索,无法满足文本检索的匹配度、专业度、时效性等要求。
技术实现思路
1、本公开的目的在于提供一种文本检索方法、文本检索装置、电子设备以及计算机可读存储介质,从而在一定程度上解决了相关技术存在的法满足文本检索的匹配度、专业度、时效性等要求的问题。
2、根据本公开的第一方面,提供一种文本检索方法,包括:通过预先训练好的文本检索模型生成检索文本的句向量,所述句向量用于表征所述检索文本的语义特征;获取知识库中各文本的热度特征及时效性特征,并基于所述热度特征及所述时效性特征在所述知识库中检索所述句向量对应的第一检索结果,得到第一检索结果集合;初始化第二检索结果集合,并基于所述第一检索结果集合中各所述第一检索结果的相似度及与所述第二检索结果集合的距离确定所述第二检索结果集合;对于所述第二检索结果集合中的各第二检索结果,将各所述第二检索结果与所述检索文本进行拼接,并确定拼接文本对应的矩阵,所述矩阵包括所述拼接文本的文本信息及位置信息;将所述矩阵、所述第二检索结果的所述热度特征及所述时效性特征输入预先训练好的文本重排模型,得到各所述第二检索结果的正向评分及负向评分,并依据所述正向评分及所述负向评分对所述第二检索结果进行重排序。
3、在本公开的一种示例性实施例中,所述获取知识库中各文本的热度特征及时效性特征,包括:对于新入所述知识库中的文本,记录所述文本的所述入库时间,并将所述文本的访问次数的初始值设为0;当检测到所述文本被访问时,更新所述访问次数的数值;将所述文本被检索到时,基于所述访问次数确定所述文本的所述热度特征,基于所述入库时间及当前检索时间确定所述文本的所述时效性特征。
4、在本公开的一种示例性实施例中,所述基于所述热度特征及所述时效性特征在所述知识库中检索所述句向量对应的第一检索结果,得到第一检索结果集合,包括:确定各所述第一检索结果的词频-逆文档频率;依据预设权重计算各所述第一检索结果的所述热度特征、所述时效性特征及所述词频-逆文档频率的加权和,并依据所述加权和确定所述第一检索结果集合。
5、在本公开的一种示例性实施例中,所述并基于所述第一检索结果集合中各所述第一检索结果的相似度及与所述第二检索结果集合的距离确定所述第二检索结果集合,包括:计算各所述第一检索结果与所述检索文本的余弦相似度,作为所述第一检索结果的相似度;将所述相似度最大的所述第一检索结果移动至所述第二检索结果集合;遍历所述第一检索结果集合,计算所述第一检索结果集合中其余所述第一检索结果至所述第二检索结果集合的距离;对于各所述第一检索结果,依据预设权重计算所述相似度及所述距离的加权加,将所述加权和最大的所述第一检索结果移动至所述第二检索结果集合;重复所述遍历所述第一检索结果集合至所述将所述加权和最大的所述第一检索结果移动至所述第二检索结果集合的步骤,直至所述第一检索结果集合为空。
6、在本公开的一种示例性实施例中,所述确定拼接文本对应的矩阵,包括:将所述拼接文本输入所述文本检索模型,编码得到所述拼接文本的句向量;将所述第二检索结果在所述第二检索结果集合中的排序序号作为所述位置信息;对所述句向量及所述排序序号进行编码,得到所述拼接文本对应的所述矩阵。
7、在本公开的一种示例性实施例中,所述依据所述正向评分及所述负向评分对所述第二检索结果进行重排序,包括:依据所述正向评分对所述第二检索结果进行降序排列;对于所述正向评分相同的所述第二检索结果,依据所述负向评分进行升序排序。
8、在本公开的一种示例性实施例中,所述文本重排模型的训练方法,包括:获取历史检索文本,并确定所述历史检索文本的所述矩阵、所述第二检索结果的所述热度特征及所述时效性特征;获取用户对所述第二检索结果的点赞次数及点踩次数,对数化得到所述第二检索结果的所述正向评分和所述反向评分,作为训练标签;依据所述矩阵、所述热度特征及所述时效性特征训练预训练模型的网络参数;依据所述训练标签修正所述网络参数,得到所述文本重排模型。
9、在本公开的一种示例性实施例中,在所述通过预先训练好的文本检索模型生成检索文本的句向量之前,所述方法还包括:获取当前应用场景对应领域的词汇;将所述词汇加入所述知识库,并对所述词汇进行归一化。
10、根据本公开的第二方面,提供一种文本检索装置,包括:向量生成模块,用于通过预先训练好的文本检索模型生成检索文本的句向量,所述句向量用于表征所述检索文本的语义特征;第一检索结果集合确定模块,用于获取知识库中各文本的热度特征及时效性特征,并基于所述热度特征及所述时效性特征在所述知识库中检索所述句向量对应的第一检索结果,得到第一检索结果集合;第二检索结果集合确定模块,用于初始化第二检索结果集合,并基于所述第一检索结果集合中各所述第一检索结果的相似度及与所述第二检索结果集合的距离确定所述第二检索结果集合;拼接文本矩阵确定模块,用于对于所述第二检索结果集合中的各第二检索结果,将各所述第二检索结果与所述检索文本进行拼接,并确定拼接文本对应的矩阵,所述矩阵包括所述拼接文本的文本信息及位置信息;文本重排模块,用于将所述矩阵、所述第二检索结果的所述热度特征及所述时效性特征输入预先训练好的文本重排模型,得到各所述第二检索结果的正向评分及负向评分,并依据所述正向评分及所述负向评分对所述第二检索结果进行重排序。
11、在本公开的一种示例性实施例中,所述第一检索结果集合确定模块具体用于:对于新入所述知识库中的文本,记录所述文本的所述入库时间,并将所述文本的访问次数的初始值设为0;当检测到所述文本被访问时,更新所述访问次数的数值;当所述文本被检索到时,基于所述访问次数确定所述文本的所述热度特征,基于所述入库时间及当前检索时间确定所述文本的所述时效性特征。
12、在本公开的一种示例性实施例中,所述第一检索结果集合确定模块还用于:确定各所述第一检索结果的词频-逆文档频率;依据预设权重计算各所述第一检索结果的所述热度特征、所述时效性特征及所述词频-逆文档频率的加权和,并依据所述加权和确定所述第一检索结果集合。
13、在本公开的一种示例性实施例中,所述拼接文本矩阵确定模块具体用于:计算各所述第一检索结果与所述检索文本的余弦相似度,作为所述第一检索结果的相似度;将所述相似度最大的所述第一检索结果移动至所述第二检索结果集合;遍历所述第一检索结果集合,计算所述第一检索结果集合中其余所述第一检索结果至所述第二检索结果集合的距离;对于各所述第一检索结果,依据预设权重计算所述相似度及所述距离的加权加,将所述加权和最大的所述第一检索结果移动至所述第二检索结果集合;重复所述遍历所述第一检索结果集合至所述将所述加权和最大的所述第一检索结果移动至所述第二检索结果集合的步骤,直至所述第一检索结果集合为空。
14、在本公开的一种示例性实施例中,所述拼接文本矩阵确定模块具体用于:将所述拼接文本输入所述文本检索模型,编码得到所述拼接文本的句向量;将所述第二检索结果在所述第二检索结果集合中的排序序号作为所述位置信息;对所述句向量及所述排序序号进行编码,得到所述拼接文本对应的所述矩阵。
15、在本公开的一种示例性实施例中,所述文本重排模型具体用于:依据所述正向评分对所述第二检索结果进行降序排列;对于所述正向评分相同的所述第二检索结果,依据所述负向评分进行升序排序。
16、在本公开的一种示例性实施例中,所述文本检索模型还包括模型训练模块,所述模型训练模块具体用于:获取历史检索文本,并确定所述历史检索文本的所述矩阵、所述第二检索结果的所述热度特征及所述时效性特征;获取用户对所述第二检索结果的点赞次数及点踩次数,对数化得到所述第二检索结果的所述正向评分和所述反向评分,作为训练标签;依据所述矩阵、所述热度特征及所述时效性特征训练预训练模型的网络参数;依据所述训练标签修正所述网络参数,得到所述文本重排模型。
17、根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
18、根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
19、本公开示例性实施例可以具有以下部分或全部有益效果:
20、在本公开示例实施方式所提供的文本检索方法中,通过预先训练好的文本检索模型生成检索文本的句向量,上述句向量用于表征检索文本的语义特征;获取知识库中各文本的热度特征及时效性特征,并基于热度特征及时效性特征在知识库中检索句向量对应的第一检索结果,得到第一检索结果集合;初始化第二检索结果集合,并基于第一检索结果集合中各第一检索结果的相似度及与第二检索结果集合的距离确定第二检索结果集合;对于第二检索结果集合中的各第二检索结果,将各第二检索结果与检索文本进行拼接,并确定拼接文本对应的矩阵,上述矩阵包括拼接文本的文本信息及位置信息;将矩阵、第二检索结果的热度特征及时效性特征输入预先训练好的文本重排模型,得到各第二检索结果的正向评分及负向评分,并依据正向评分及负向评分对第二检索结果进行重排序。本公开基于热度特征及时效性特征得到第一检索结果集合,并通过相似度及对于第二检索集合的距离调整第一检索结果集合中第一检索结果的顺序,最后基于预先训练好的文本重排模型对第二检索结果集合中的文本进行重排序,综合考虑了用户偏好、文本的热度特征和时效性、每个文本之间的相互影响等特征,满足了文本检索的匹配度、专业度、时效性等要求。
21、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种文本检索方法,其特征在于,包括:
2.根据权利要求1所述的文本检索方法,其特征在于,所述获取知识库中各文本的热度特征及时效性特征,包括:
3.根据权利要求2所述的文本检索方法,其特征在于,所述基于所述热度特征及所述时效性特征在所述知识库中检索所述句向量对应的第一检索结果,得到第一检索结果集合,包括:
4.根据权利要求1所述的文本检索方法,其特征在于,所述并基于所述第一检索结果集合中各所述第一检索结果的相似度及与所述第二检索结果集合的距离确定所述第二检索结果集合,包括:
5.根据权利要求1所述的文本检索方法,其特征在于,所述确定拼接文本对应的矩阵,包括:
6.根据权利要求1所述的文本检索方法,其特征在于,所述依据所述正向评分及所述负向评分对所述所述第二检索结果进行重排序,包括:
7.根据权利要求1所述的文本检索方法,其特征在于,所述文本重排模型的训练方法,包括:
8.根据权利要求1所述的文本检索方法,其特征在于,在所述通过预先训练好的文本检索模型生成检索文本的句向量之前,所述方法还包括:
9.一种文本检索装置,其特征在于,包括:
10.根据权利要求9所述的文本检索装置,其特征在于,所述第一检索结果集合确定模块具体用于:
11.根据权利要求10所述的文本检索装置,其特征在于,所述第一检索结果集合确定模块还用于:
12.根据权利要求9所述的文本检索装置,其特征在于,所述拼接文本矩阵确定模块具体用于:
13.根据权利要求9所述的文本检索装置,其特征在于,所述拼接文本矩阵确定模块具体用于:
14.根据权利要求9所述的文本检索模型,其特征在于,所述文本重排模型具体用于:
15.根据权利要求9所述的文本检索模型,其特征在于,所述文本检索模型还包括模型训练模块,所述模型训练模块具体用于:
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
17.一种电子设备,其特征在于,包括: