基于人工智能的匹配度评估方法、装置、设备及存储介质与流程

文档序号:11199285阅读:736来源:国知局
基于人工智能的匹配度评估方法、装置、设备及存储介质与流程

【技术领域】

本发明涉及计算机应用技术,特别涉及基于人工智能的匹配度评估方法、装置、设备及存储介质。



背景技术:

人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

信息检索的一个核心任务就是计算用户输入的查询(query)与作为检索对象的各文档(doc)之间的语义相关程度。

具体地,可对query与各doc的标题(title)的匹配度进行评估,如计算query与title之间的匹配度评分(score),并可按照评分由高到低的顺序对各doc进行排序,进而将排序后处于前n位的doc作为检索结果返回给用户,n为正整数。

现有技术中,在计算query与title之间的匹配度评分时,通常采用以下方式:先用卷积神经网络(cnn,convolutionalneuralnetwork)或循环神经网络(rnn,recurrentneuralnetwork)等分别得到query和title的表达,然后基于这两个表达来计算诸如cosine相似度,从而得到query与title之间的匹配度评分。

但是,上述方式中,将一段复杂的文本作为一个整体映射到一个低维空间中的向量(表达),在压缩过程中容易丢失一些关键的信息,从而只能从整体上对两个文本的匹配程度进行大致评估,评估结果的准确性较低。



技术实现要素:

有鉴于此,本发明提供了基于人工智能的匹配度评估方法、装置、设备及存储介质,能够提高评估结果的准确性。

具体技术方案如下:

一种基于人工智能的匹配度评估方法,包括:

分别获取查询query中的各单词的单词表达以及标题title中的各单词的单词表达;

根据所述单词表达,分别获取所述query中的各单词的基于上下文的单词表达以及所述title中的各单词的基于上下文的单词表达;

根据获取到的信息生成匹配特征;

根据所述匹配特征确定出所述query与所述title之间的匹配度评分。

根据本发明一优选实施例,所述分别获取query中的各单词的单词表达以及title中的各单词的单词表达包括:

将所述query中的各单词分别embedding成一个低维向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示所述query中包括的单词数,qi表示所述query中的第i个单词的低维向量,i为正整数,且1≤i≤m;

将所述title中的各单词分别embedding成一个低维向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示所述title中包括的单词数,tj表示所述title中的第j个单词的低维向量,j为正整数,且1≤j≤n。

根据本发明一优选实施例,所述分别获取所述query中的各单词的基于上下文的单词表达以及所述title中的各单词的基于上下文的单词表达包括:

将所述qe输入给双向循环神经网络rnn,分别得到从左向右方向处理后的输出q1以及从右向左方向处理后的输出q2;

将所述te输入给双向rnn,分别得到从左向右方向处理后的输出t1以及从右向左方向处理后的输出t2;

将所述qe、q1和q2进行拼接,得到q(m,3d),所述d表示表达维度,embedding和双向rnn使用同样的表达维度;

将所述te、t1和t2进行拼接,得到t(n,3d);

将所述query以及所述title中的每个单词对应的长为3d的向量作为所述单词的基于上下文的单词表达。

根据本发明一优选实施例,所述根据获取到的信息生成匹配特征包括:

根据获取到的信息生成局部匹配特征;

根据所述局部匹配特征生成高级匹配特征。

根据本发明一优选实施例,所述根据获取到的信息生成局部匹配特征包括:

根据各单词的所述基于上下文的单词表达,分别按照不同的匹配度计算方式,计算出所述query中的单词与所述title中的单词两两之间的匹配度,得到三维的张量tensor(m,n,t);

其中,t表示t维的向量,针对每组单词q[i]和t[j],分别计算出t个匹配度,t个匹配度构成所述t维的向量,q[i]表示所述query中的单词,t[j]表示所述title中的单词;

所述tensor中的每一个值(i,j,k)表示q[i]和t[j]对应的第k个匹配度,1≤k≤t。

根据本发明一优选实施例,所述根据所述局部匹配特征生成高级匹配特征包括:

将所述(m,n,t)输入给卷积神经网络cnn,将得到的输出(m,n,t1)、…、(m,n,tw)作为所述高级匹配特征,w为正整数,表示cnn中包括的卷积层数。

根据本发明一优选实施例,所述根据所述匹配特征确定出所述query与所述title之间的匹配度评分包括:

将所述(m,n,t)以及所述高级匹配特征进行拼接,得到(m,n,t+t1+…+tw);

针对每个(m,n)矩阵,分别采用按行pooling的方式确定出一个(m,k’)的序列表达,k’为正整数,得到(m,(t+t1+…+tw)*k’);

将所述(m,(t+t1+…+tw)*k’)输入给双向rnn,得到双向rnn最后一个位置上的表达;

根据所述最后一个位置上的表达确定出所述匹配度评分。

根据本发明一优选实施例,所述针对每个(m,n)矩阵,分别采用按行pooling的方式确定出一个(m,k’)的序列表达包括:

针对所述(m,n)每一行中的n个值,分别选取其中的最大的k’个值,并按从大到小的顺序进行排序,k’≤n。

根据本发明一优选实施例,所述最后一个位置上的表达为一个长为2f的向量,f表示表达维度;

所述根据所述最后一个位置上的表达确定出所述匹配度评分包括:

将所述长为2f的向量输入给包含单隐层的全连接网络,得到输出的所述匹配度评分。

一种基于人工智能的匹配度评估装置,包括:表达处理单元、特征处理单元以及评分单元;

所述表达处理单元,用于分别获取查询query中的各单词的单词表达以及标题title中的各单词的单词表达;根据所述单词表达,分别获取所述query中的各单词的基于上下文的单词表达以及所述title中的各单词的基于上下文的单词表达;

所述特征处理单元,用于根据所述表达处理单元获取到的信息生成匹配特征;

所述评分单元,用于根据所述匹配特征确定出所述query与所述title之间的匹配度评分。

根据本发明一优选实施例,所述表达处理单元中包括:第一处理子单元以及第二处理子单元;

所述第一处理子单元,用于将所述query中的各单词分别embedding成一个低维向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示所述query中包括的单词数,qi表示所述query中的第i个单词的低维向量,i为正整数,且1≤i≤m;

将所述title中的各单词分别embedding成一个低维向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示所述title中包括的单词数,tj表示所述title中的第j个单词的低维向量,j为正整数,且1≤j≤n;

所述第二处理子单元,用于根据所述qe和te,分别获取所述query中的各单词的基于上下文的单词表达以及所述title中的各单词的基于上下文的单词表达。

根据本发明一优选实施例,

所述第二处理子单元将所述qe输入给双向循环神经网络rnn,分别得到从左向右方向处理后的输出q1以及从右向左方向处理后的输出q2;

将所述te输入给双向rnn,分别得到从左向右方向处理后的输出t1以及从右向左方向处理后的输出t2;

将所述qe、q1和q2进行拼接,得到q(m,3d),所述d表示表达维度,embedding和双向rnn使用同样的表达维度;

将所述te、t1和t2进行拼接,得到t(n,3d);

将所述query以及所述title中的每个单词对应的长为3d的向量作为所述单词的基于上下文的单词表达。

根据本发明一优选实施例,所述特征处理单元中包括:第三处理子单元以及第四处理子单元;

所述第三处理子单元,用于根据所述表达处理单元获取到的信息生成局部匹配特征;

所述第四处理子单元,用于根据所述局部匹配特征生成高级匹配特征。

根据本发明一优选实施例,

所述第三处理子单元根据各单词的所述基于上下文的单词表达,分别按照不同的匹配度计算方式,计算出所述query中的单词与所述title中的单词两两之间的匹配度,得到三维的张量tensor(m,n,t);

其中,t表示t维的向量,针对每组单词q[i]和t[j],分别计算出t个匹配度,t个匹配度构成所述t维的向量,q[i]表示所述query中的单词,t[j]表示所述title中的单词;

所述tensor中的每一个值(i,j,k)表示q[i]和t[j]对应的第k个匹配度,1≤k≤t。

根据本发明一优选实施例,所述第四处理子单元将所述(m,n,t)输入给卷积神经网络cnn,将得到的输出(m,n,t1)、…、(m,n,tw)作为所述高级匹配特征,w为正整数,表示cnn中包括的卷积层数。

根据本发明一优选实施例,

所述评分单元将所述(m,n,t)以及所述高级匹配特征进行拼接,得到(m,n,t+t1+…+tw);

针对每个(m,n)矩阵,分别采用按行pooling的方式确定出一个(m,k’)的序列表达,k’为正整数,得到(m,(t+t1+…+tw)*k’);

将所述(m,(t+t1+…+tw)*k’)输入给双向rnn,得到双向rnn最后一个位置上的表达;

根据所述最后一个位置上的表达确定出所述匹配度评分。

根据本发明一优选实施例,所述评分单元针对所述(m,n)每一行中的n个值,分别选取其中的最大的k’个值,并按从大到小的顺序进行排序,得到所述(m,k’),k’≤n。

根据本发明一优选实施例,所述最后一个位置上的表达为一个长为2f的向量,f表示表达维度;

所述评分单元将所述长为2f的向量输入给包含单隐层的全连接网络,得到输出的所述匹配度评分。

一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。

基于上述介绍可以看出,采用本发明所述方案,构建了底层的单词表达以及基于上下文的单词表达,这些表达既能够强调局部的信息,同时也融合了全局的信息,从而能够更好地反映query与title之间的匹配程度,进而提高了评估结果的准确性。

【附图说明】

图1为本发明所述基于人工智能的匹配度评估方法实施例的流程图。

图2为本发明所述获取query与title之间的匹配度评分的过程示意图。

图3为本发明所述基于人工智能的匹配度评估装置实施例的组成结构示意图。

图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。

【具体实施方式】

为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。

显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明所述基于人工智能的匹配度评估方法实施例的流程图,如图1所示,包括以下具体实现方式。

在101中,分别获取query中的各单词(关键词)的单词表达以及title中的各单词的单词表达。

具体地,可将query中的各单词分别embedding成一个低维向量,从而得到序列qe=[q1,…,qi,…,qm]。

其中,m表示query中包括的单词数,qi表示query中的第i个单词的低维向量,i为正整数,且1≤i≤m。

另外,将title中的各单词分别embedding成一个低维向量,从而得到序列te=[t1,…,tj,…,tn]。

其中,n表示title中包括的单词数,tj表示title中的第j个单词的低维向量,j为正整数,且1≤j≤n。

在实际应用中,需要预先对query和title分别进行切词等预处理,从而得到query和title中的各单词。

以query为例,假设其中共包括4个单词,分别为单词1、单词2、单词3和单词4,那么可分别将单词1、单词2、单词3和单词4embedding成一个低维向量,从而得到qe=[q1,q2,q3,q4],如何得到所述低维向量为现有技术。

在102中,根据单词表达,分别获取query中的各单词的基于上下文的单词表达以及title中的各单词的基于上下文的单词表达。

在分别获取到query中的各单词的单词表达以及title中的各单词的单词表达之后,可进一步获取query中的各单词的基于上下文的单词表达以及title中的各单词的基于上下文的单词表达。

比如,可将qe输入给双向rnn,分别得到从左向右方向处理后的输出q1以及从右向左方向处理后的输出q2,将te输入给双向rnn,分别得到从左向右方向处理后的输出t1以及从右向左方向处理后的输出t2。

即将qe和te分别输入到不同的双向rnn中,从而分别得到q1和q2以及t1和t2。

embedding和双向rnn可以使用同样的表达维度d,d的具体取值可根据实际需要而定,因此,qe、q1和q2的大小为(m,d),相应地,te、t1和t2的大小为(n,d)。

可将qe、q1和q2进行拼接,从而得到q(m,3d),将te、t1和t2进行拼接,从而得到t(n,3d),这样,query以及title中的每个单词将分别对应一个长为3d的向量,该向量即为基于上下文的单词表达。

可以看出,所述拼接是指按列拼接。

对于每个单词对应的长为3d的向量来说,前d维表示该单词的embedding结果,中间d维表示该单词的左context,后d维表示该单词的右context,因此,长为3d的向量即为包含了该单词的上下文信息的基于上下文的单词表达。

在103中,根据获取到的信息生成匹配特征。

首先,可根据获取到的信息生成局部匹配特征,之后,可根据局部匹配特征进一步生成高级匹配特征,以下分别对局部匹配特征以及高级匹配特征的获取方式进行详细说明。

1)局部匹配特征

即基于之前获取到的表达进行匹配得到所有局部的匹配特征。

具体地,可根据各单词的基于上下文的单词表达,分别按照不同的匹配度计算方式,计算出query中的单词与title中的单词两两之间的匹配度,从而得到三维的张量(tensor)(m,n,t)。

其中,t表示t维的向量,针对每组单词q[i]和t[j],分别计算出t个匹配度,t个匹配度构成一个t维的向量,q[i]表示query中的单词,t[j]表示title中的单词。

tensor中的每一个值(i,j,k)表示q[i]和t[j]对应的第k个匹配度,1≤k≤t。

举例说明:

假设query中共包括两个单词,分别为单词1和单词2,title中也包括两个单词,分别为单词3和单词4;

针对单词1和单词3,可分别按照不同的匹配度计算方式,计算出t个匹配度;

针对单词1和单词4,可分别按照不同的匹配度计算方式,计算出t个匹配度;

针对单词2和单词3,可分别按照不同的匹配度计算方式,计算出t个匹配度;

针对单词2和单词4,可分别按照不同的匹配度计算方式,计算出t个匹配度。

其中,可根据两个单词的基于上下文的单词表达,计算出两个单词之间的匹配度。

具体采用哪些匹配度计算方式可根据实际需要而定,比如可包括张量神经网络以及cosine等多种匹配度计算方式。

另外,还可以采用传统的基于关键词的匹配的方式来构造不同的匹配矩阵(matchingmatrix),方便融入人工知识,即人工可以根据知识来构建额外的匹配矩阵作为匹配特征,从而为信息检索等场景中引入人工知识提供了良好的途径。

2)高级匹配特征

上述获取到的(m,n,t)的tensor中包含的是单词级和基于上下文的单词级匹配特征,在此基础上,还可进一步利用cnn来提取高维度特征。

类似于在图像中,m和n是图片的大小,t是featuremap的数量。

可将(m,n,t)输入给cnn,得到输出的(m,n,t1)、…、(m,n,tw),作为高级匹配特征,w为正整数,表示cnn中包括的卷积层数。

假设卷积层数为1,那么将(m,n,t)输入给cnn后,可得到(m,n,t1),t1为cnn的kernel数量,在实际应用中,可采用一种动态padding的方式使得卷积的输入和输出的大小是一样的。

进一步地,还可堆叠多个卷积层来提取更高层的匹配特征。

在104中,根据匹配特征确定出query与title之间的匹配度评分。

首先,可将(m,n,t)以及得到的高级匹配特征进行拼接,从而得到(m,n,t+t1+…+tw),假设卷积层数为2,那么则指将(m,n,t)、(m,n,t1)和(m,n,t2)拼接为(m,n,t+t1+t2),也就是t+t1+t2个大小为(m,n)的匹配矩阵。

针对每个(m,n)匹配矩阵,可分别采用按行pooling的方式确定出一个(m,k’)的序列表达,k’为正整数,从而得到(m,(t+t1+…+tw)*k’)。

比如,可针对(m,n)每一行中的n个值,分别选取其中的最大的k’个值,并按从大到小的顺序进行排序,从而得到(m,k’),k’≤n,假设一共有t+t1+t2个匹配矩阵,那么得到的输出则为(m,(t+t1+t2)*k’)。

上述过程的直观含义是为query中的每个单词从该单词对应的匹配特征中找出最大的(t+t1+t2)*k’特征,query中的每个单词都非常重要,用来清晰的描述用户的信息需求,这些特征表明了title对query中的各信息需求的满足情况。

通过上述方式,可以知道最终的匹配最强的地方发生在(m,n)匹配矩阵中的哪个具体的位置(i,j),因此,可以看到query中的各单词具体和title中的哪个单词相匹配,具有很强的可解释性。

上述得到的(m,(t+t1+…+tw)*k’)是一个变长的序列,可采用双向rnn的方式来对该序列的信息进行融合,并可将双向rnn最后一个位置上的表达作为融合后的表达。

即将(m,(t+t1+…+tw)*k’)输入给双向rnn,从而得到双向rnn最后一个位置上的表达,进而可根据最后一个位置上的表达确定出query与title之间的匹配度评分。

最后一个位置上的表达可为一个长为2f的向量,f表示表达维度,具体取值可根据实际需要而定,由于是双向rnn,因此针对每个方向,可分别得到一个长为f的向量,组合起来即为一个长为2f的向量。

最后,可将长为2f的向量输入给包含单隐层的全连接网络,从而得到输出的匹配度评分。

在信息检索场景中,在分别计算出用户输入的query与各doc的title的匹配度评分之后,可按照评分由高到低的顺序对各doc进行排序,进而将排序后处于前n位的doc作为检索结果返回给用户,n为正整数。

综合上述介绍,图2为本发明所述获取query与title之间的匹配度评分的过程示意图,具体实现可参照前述相关说明,不再赘述。

可以看出,采用上述实施例所述方案,构建了底层的单词表达以及基于上下文的单词表达,这些表达既能够强调局部的信息,同时也融合了全局的信息,从而能够更好地反映query与title之间的匹配程度,进而提高了评估结果的准确性。

而且,采用本实施例所述方案,所有的局部关键匹配特征都能够得到很好的保留,基于这些局部匹配特征,又可进一步提取出高级匹配特征,从而能够有效地捕获对于信息检索来说至关重要的语义匹配以及匹配邻近度信息等。

另外,在获取到匹配特征之后,可按照query中的每个单词进行pooling,以此来建模title对query的所有关键信息需求的覆盖情况,由于中间得到的所有匹配矩阵都参与本次pooling,因此最终得到的结果是各单词在多个层次上的信息需求被覆盖情况,而且具有良好的可解释性,query中的每个单词具体是被title中的哪个单词所满足,都能基于pooling的结果进行回溯。

以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。

图3为本发明所述基于人工智能的匹配度评估装置实施例的组成结构示意图,如图3所示,包括:表达处理单元301、特征处理单元302以及评分单元303。

表达处理单元301,用于分别获取query中的各单词的单词表达以及title中的各单词的单词表达;根据单词表达,分别获取query中的各单词的基于上下文的单词表达以及title中的各单词的基于上下文的单词表达。

特征处理单元302,用于根据表达处理单元301获取到的信息生成匹配特征。

评分单元303,用于根据匹配特征确定出query与title之间的匹配度评分。

如图3所示,表达处理单元301中可具体包括:第一处理子单元3011以及第二处理子单元3012。

第一处理子单元3011,用于将query中的各单词分别embedding成一个低维向量,得到序列qe=[q1,…,qi,…,qm];

其中,m表示query中包括的单词数,qi表示query中的第i个单词的低维向量,i为正整数,且1≤i≤m;

将title中的各单词分别embedding成一个低维向量,得到序列te=[t1,…,tj,…,tn];

其中,n表示title中包括的单词数,tj表示title中的第j个单词的低维向量,j为正整数,且1≤j≤n;

第二处理子单元3012,用于根据qe和te,分别获取query中的各单词的基于上下文的单词表达以及title中的各单词的基于上下文的单词表达。

具体地,第二处理子单元3012可将qe输入给双向rnn,分别得到从左向右方向处理后的输出q1以及从右向左方向处理后的输出q2;

将te输入给双向rnn,分别得到从左向右方向处理后的输出t1以及从右向左方向处理后的输出t2;

将qe、q1和q2进行拼接,得到q(m,3d),d表示表达维度,embedding和双向rnn使用同样的表达维度;

将te、t1和t2进行拼接,得到t(n,3d);

将query以及title中的每个单词对应的长为3d的向量作为单词的基于上下文的单词表达。

如图3所示,特征处理单元302中可具体包括:第三处理子单元3021以及第四处理子单元3022。

第三处理子单元3021,用于根据表达处理单元获取到的信息生成局部匹配特征。

第四处理子单元3022,用于根据局部匹配特征生成高级匹配特征。

其中,第三处理子单元3021可根据各单词的基于上下文的单词表达,分别按照不同的匹配度计算方式,计算出query中的单词与title中的单词两两之间的匹配度,得到三维的张量tensor(m,n,t);

其中,t表示t维的向量,针对每组单词q[i]和t[j],分别计算出t个匹配度,t个匹配度构成t维的向量,q[i]表示query中的单词,t[j]表示title中的单词;

tensor中的每一个值(i,j,k)表示q[i]和t[j]对应的第k个匹配度,1≤k≤t。

具体采用哪些匹配度计算方式可根据实际需要而定,比如可包括张量神经网络以及cosine等多种匹配度计算方式。

上述获取到的(m,n,t)的tensor中包含的是单词级和基于上下文的单词级匹配特征,在此基础上,还可进一步利用cnn来提取高维度特征。

相应地,第四处理子单元3022可将(m,n,t)输入给cnn,将得到的输出(m,n,t1)、…、(m,n,tw)作为高级匹配特征,w为正整数,表示cnn中包括的卷积层数。

假设卷积层数为1,那么将(m,n,t)输入给cnn后,可得到(m,n,t1),t1为cnn的kernel数量,在实际应用中,可采用一种动态padding的方式使得卷积的输入和输出的大小是一样的。

进一步地,还可堆叠多个卷积层来提取更高层的匹配特征。

之后,评分单元303可将(m,n,t)以及高级匹配特征进行拼接,得到(m,n,t+t1+…+tw),假设卷积层数为2,那么则指将(m,n,t)、(m,n,t1)和(m,n,t2)拼接为(m,n,t+t1+t2),也就是t+t1+t2个大小为(m,n)的匹配矩阵。

针对每个(m,n)匹配矩阵,评分单元303可分别采用按行pooling的方式确定出一个(m,k’)的序列表达,k’为正整数,得到(m,(t+t1+…+tw)*k’)。

比如,可针对(m,n)每一行中的n个值,分别选取其中的最大的k’个值,并按从大到小的顺序进行排序,从而得到(m,k’),k’≤n,假设一共有t+t1+t2个匹配矩阵,那么得到的输出则为(m,(t+t1+t2)*k’)。

上述得到的(m,(t+t1+…+tw)*k’)是一个变长的序列,可采用双向rnn的方式来对该序列的信息进行融合,并可将双向rnn最后一个位置上的表达作为融合后的表达。

即评分单元303可将(m,(t+t1+…+tw)*k’)输入给双向rnn,从而得到双向rnn最后一个位置上的表达,进而可根据最后一个位置上的表达确定出query与title之间的匹配度评分。

最后一个位置上的表达可为一个长为2f的向量,f表示表达维度,具体取值可根据实际需要而定,由于是双向rnn,因此针对每个方向,可分别得到一个长为f的向量,组合起来即为一个长为2f的向量。

最后,可将长为2f的向量输入给包含单隐层的全连接网络,从而得到输出的匹配度评分。

图3所示装置实施例的具体工作流程可参照前述方法实施例中的相应说明,不再赘述。

可以看出,采用上述实施例所述方案,构建了底层的单词表达以及基于上下文的单词表达,这些表达既能够强调局部的信息,同时也融合了全局的信息,从而能够更好地反映query与title之间的匹配程度,进而提高了评估结果的准确性。

而且,采用本实施例所述方案,所有的局部关键匹配特征都能够得到很好的保留,基于这些局部匹配特征,又可进一步提取出高级匹配特征,从而能够有效地捕获对于信息检索来说至关重要的语义匹配以及匹配邻近度信息等。

另外,在获取到匹配特征之后,可按照query中的每个单词进行pooling,以此来建模title对query的所有关键信息需求的覆盖情况,由于中间得到的所有匹配矩阵都参与本次pooling,因此最终得到的结果是各单词在多个层次上的信息需求被覆盖情况,而且具有良好的可解释性,query中的每个单词具体是被title中的哪个单词所满足,都能基于pooling的结果进行回溯。

图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图4显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法,即分别获取query中的各单词的单词表达以及title中的各单词的单词表达,根据所述单词表达,分别获取query中的各单词的基于上下文的单词表达以及title中的各单词的基于上下文的单词表达,根据获取到的信息生成匹配特征,根据匹配特征确定出query与title之间的匹配度评分。

具体实现请参照前述各实施例中的相关说明,不再赘述。

本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1