文本匹配方法、装置、计算机设备及存储介质转让专利

申请号 : CN202010619573.8

文献号 : CN111797204A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陶然李悦杨一帆

申请人 : 北京三快在线科技有限公司

摘要 :

本申请实施例提供一种文本匹配方法、装置、计算机设备及存储介质。该方法包括:调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定第一文本对应的主题词语;对第一文本进行预处理,得到第一文本所包括的文本词语;调用第二模型对第二文本、第一文本对应的主题词语、第一文本所包括的文本词语进行第二语义处理,得到第一文本和第二文本之间的相似度;基于第一文本和第二文本之间的相似度,确定与第二文本匹配的目标文本。本申请实施例提供的技术方案,能提高文本匹配结果的准确率。

权利要求 :

1.一种文本匹配方法,其特征在于,所述方法包括:

调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语;

对所述第一文本进行预处理,得到所述第一文本所包括的文本词语;

调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度;

基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本。

2.根据权利要求1所述的方法,其特征在于,所述调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度,包括:调用所述第二模型对所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第一向量化处理,得到第一向量;

调用所述第二模型对所述第二文本进行第二向量化处理,得到第二向量;

基于所述第一向量和所述第二向量,计算所述第一文本和所述第二文本之间的相似度。

3.根据权利要求1所述的方法,其特征在于,所述调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语,包括:通过所述第一模型对所述第一文本进行语义处理,得到所述第一文本的主题概率分布,所述第一文本的主题概率分布用于指示所述第一文本属于各个主题的概率;

将概率大于预设概率阈值的主题确定为目标主题;

基于所述目标主题确定所述第一文本对应的主题词语。

4.根据权利要求1所述的方法,其特征在于,所述基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本,包括:调用第三模型将相似度大于预设相似度阈值的第一文本,确定为所述目标文本。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一模型为隐含狄利克雷分布LDA模型,所述第二模型为深度语义匹配模型DSSM。

6.根据权利要求1至4任一项所述的方法,其特征在于,所述第二模型的训练过程如下:获取n组训练样本,所述n组训练样本中的每组训练样本包括第一训练文本、第一训练文本对应的主题词语、第二训练文本,所述每组训练文本对应有标注结果,所述标注结果用于标注所述第一训练文本和所述第二训练文本之间是否相似;

对于所述n组训练样本的第i组训练样本,将所述第i组训练样本所包括的所述第一训练文本、所述第一训练文本对应的主题词语、所述第二训练文本输入深度学习网络,得到所述第一训练文本和所述第二训练文本之间的输出相似度;

根据所述第i组训练样本对应的所述标注结果和所述输出相似度,确定损失函数;

通过所述损失函数对所述深度学习网络进行迭代训练,得到所述第二模型,并保存所述第二模型。

7.一种文本匹配装置,其特征在于,所述装置包括:

第一处理模块,用于调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语;

第二处理模块,用于对所述第一文本进行预处理,得到所述第一文本所包括的文本词语;

第三处理模块,用于调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度;

文本匹配模块,用于基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本。

8.根据权利要求7所述的装置,其特征在于,所述第二处理模块,用于:调用所述第二模型对所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第一向量化处理,得到第一向量;

调用所述第二模型对所述第二文本进行第二向量化处理,得到第二向量;

基于所述第一向量和所述第二向量,计算所述第一文本和所述第二文本之间的相似度。

9.根据权利要求7所述的装置,其特征在于,所述第一处理模块,用于:通过所述第一模型对所述第一文本进行语义处理,得到所述第一文本的主题概率分布,所述第一文本的主题概率分布用于指示所述第一文本属于各个主题的概率;

将概率大于预设概率阈值的主题确定为目标主题;

基于所述目标主题确定所述第一文本对应的主题词语。

10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至6任一所述的文本匹配方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至6任一所述的文本匹配方法。

说明书 :

文本匹配方法、装置、计算机设备及存储介质

技术领域

[0001] 本申请实施例涉及语义处理技术领域,特别涉及一种文本匹配方法、装置、计算机设备及存储介质。

背景技术

[0002] 文本分析技术是指将从文本中提取的特征词进行量化以表示文本信息的技术。目前,文本分析技术主要应用于文本搜索领域。
[0003] 相关技术中,通过隐含狄利克雷分布(Latent Dirichlet allocation,LDA)模型来进行文本搜索。具体流程如下:计算机设备先计算文本库中的每个文档的主题概率分布,之后通过上述每个文档的主题概率分布计算生成用户提供的短文本的概率,作为文本库中的每个文档与短文本之间的相似度,最后基于上述相似度确定与短文本匹配的文档,并将上述与短文本匹配的文档作为搜索结果反馈至用户。
[0004] 相关技术中,文本匹配的准确率较低。

发明内容

[0005] 本申请实施例提供一种文本匹配方法、装置、计算机设备及存储介质,提高文本匹配的准确率。所述技术方案如下:
[0006] 一方面,本申请实施例提供一种文本匹配方法,该方法包括:
[0007] 调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语;
[0008] 对所述第一文本进行预处理,得到所述第一文本所包括的文本词语;
[0009] 调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度;
[0010] 基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本。
[0011] 另一方面,本申请实施例提供一种文本匹配装置,该装置包括:
[0012] 第一处理模块,用于调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语;
[0013] 第二处理模块,用于对所述第一文本进行预处理,得到所述第一文本所包括的文本词语;
[0014] 第三处理模块,用于调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度;
[0015] 文本匹配模块,用于基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本。
[0016] 又一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如一方面所述的文本匹配方法。
[0017] 再一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如一方面所述的文本匹配方法。
[0018] 再一方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面或者一方面的各种可选实现方式中提供的方法。
[0019] 本申请实施例提供的技术方案可以带来的有益效果至少包括:
[0020] 先通过第一模型确定第一文本对应的主题词语,后续通过第二模型来计算第一文本和第二文本之间的相似度时,将第一文本对应的主题词语、第一文本所包括的文本词语、第二文本输入第二模型,由于第一文本对应的主题词语是对第一文本所属的主题进行划分得到的,能用于指示第一文本所属的主题,后续采用第二模型来计算第一文本和第二文本之间的相似度时,用于表征第一文本的第一向量充分考虑第一文本所属的主题这一因素,第一向量能更准确地表示第一文本,计算得到的第一文本和第二文本之间的相似度也更为准确,后续得到的文本匹配结果也更为准确。

附图说明

[0021] 图1是本申请一个示例性实施例示出的深度语义匹配模型(Deep Structured Semantic Models,DSSM)的工作原理图;
[0022] 图2是本申请一个示例性实施例示出的实施环境的示意图;
[0023] 图3是本申请一个示例性实施例示出的文本匹配方法的流程图;
[0024] 图4是本申请一个示例性实施例示出的文本匹配的示意图;
[0025] 图5是本申请一个示例性实施例示出的训练第二模型的流程图;
[0026] 图6是本申请一个示例性实施例示出的文本匹配装置的框图;
[0027] 图7是本申请一个示例性实施例示出的计算机设备的结构框图。

具体实施方式

[0028] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0029] 首先介绍本申请实施例涉及的相关名词。
[0030] LDA模型:用于推测文档的主题分布,将文档集中每篇文档的主题以概率分布的形式给出,后续利用上述每篇文档的主题概率分布来完成主题聚类或文本分类。当利用LDA模型来计算一个短文本(query)和一个长文本(doc)之间的相似度时,可以采用如下公式来表示:
[0031]
[0032] 其中,q是指短文本,c是指长文本,w是长文本所包括的词语,p(w|zk)是长文本所包括的词语在第k个主题zk中的出现概率,p(zk|c)是第k个主题zk在长文本中的出现概率。
[0033] DSSM:通过对两段文本进行编码为固定长度的向量,然后通过两个向量间进行计算相似度来计算两段文本之间的关系。
[0034] 结合参考图1,其示出了本申请一个实施例提供的DSSM模型的工作原理图。对于文本Q、D1、D2和D3,通过词向量、字散列、多层非线性投影、语义特征等步骤将上述四个文本分别表示为一个128维度的向量,之后通过余弦距离来衡量相关性,得到文本Q和文本D1之间的余弦距离R(Q,D1)、文本Q和文本D2之间的余弦距离R(Q,D2)、文本Q和文本D3之间的余弦距离R(Q,D3)、最后通过softmax函数计算先验概率,得到文本Q和文本D1之间的相似概率P(Q1|D)、文本Q和文本D2之间的相似概率P(Q2|D)、文本Q和文本D3之间的相似概率P(Q3|D)。
[0035] 请参考图2,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境包括:终端21和服务器22。
[0036] 终端21用于供用户输入搜索词,也即第二文本。可选地,终端21中安装有具备文本匹配功能的应用程序,用户在该应用程序的用户界面中输入搜索词并触发文本匹配指示后,终端21向服务器22发送携带搜索词的文本匹配请求。可选地,终端21是智能手机、平板电脑、个人计算机等。
[0037] 服务器22用于提供文本匹配服务。可选地,服务器22是上述具备文本匹配功能的应用程序对应的后台服务器。服务器22是一台服务器,或者,服务器22是多台服务器组成的服务器集群,或者,服务器22是一个云计算服务中心。
[0038] 在本申请实施例中,服务器22包括第一模型和第二模型,通过调用第一模型对文本库中的文本进行语义处理,并基于语义处理结果确定该文本对应的主题词语,后续调用第二模型计算搜索词与文本库中的文本之间的相似度时,除了将文本库中的文本中的词语、搜索词输入第二模型之外,还将上述文本对应的主题词语也输入第二模型,使得第二模型输出的搜索词与文本库中的文本之间的相似度更为准确,基于上述相似度提供的文本匹配结果也更为准确。可选地,第一模型是LDA模型,第二模型是DSSM。
[0039] 可选地,服务器22还包括第三模型,服务器22通过调用该第三模型基于文本库中的文本与搜索词之间的相似度,来确定文本匹配结果。可选地,第三模型是深度因子分解机(Deep Factorization Machines,Deep FM)模型。
[0040] 终端21和服务器22通过有线网络或无线网络建立连接。上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是其它任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
[0041] 请参考图3,其示出了本申请一个实施例提供的文本匹配方法的流程图。该方法应用于图2所示实施例中的服务器22。该方法包括:
[0042] 步骤301,调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定第一文本对应的主题词语。
[0043] 在本申请实施例中,第一模型是LDA模型。第一文本是文本库中的任一文本。第一语义处理结果是第一文本的主题概率分布,也即第一文本属于各个主题的概率。示例性地,第一语义处理如下:第一文本属于主题1的概率为0.6,第一文本属于主题2的概率为0.3,第一文本属于主题3的概率为0.1。
[0044] 第一语义处理的过程具体包括如下步骤1~4。
[0045] 1、对文档集合中的每篇文档d做分词,并过滤掉无意义词,得到语料集合W={w1,w2,…,wx}。
[0046] 2、对这些词做统计得到每个词语在文档中出现的概率p(wi|d)。
[0047] 3、为语料集合W中的每个wi,随机指定一个主题t,作为初始主题。
[0048] 4、通过Gibbs Sampling(吉布斯采样)公式,重新采样每个w的所属主题t,并在语料中更新直到Gibbs Sampling收敛,收敛以后得到主题-词的概率矩阵,也即LDA矩阵,而文档-主题的概率矩阵也是能得到的,统计后,就能得到文档-主题的概率分布。
[0049] 可选地,步骤301包括如下几个子步骤:
[0050] 步骤301a,通过第一模型对第一文本进行语义处理,得到第一文本的主题概率分布。
[0051] 第一文本的主题概率分布用于指示第一文本属于各个主题的概率。
[0052] 步骤301b,将概率大于预设概率阈值的主题确定为目标主题。
[0053] 预设概率阈值根据实际需求设定,本申请实施例对此不作限定。示例性地,预设概率阈值为0.6。
[0054] 步骤301c,基于目标主题确定第一文本对应的主题词语。
[0055] 可选地,计算机设备对目标主题进行分词,得到第一文本对应的主题词语。
[0056] 步骤302,对第一文本进行预处理,得到第一文本所包括的文本词语。
[0057] 预处理包括分词处理、词频和逆向文件频率(term frequency–inverse document frequency,TF-IDF)过滤处理等等。
[0058] 可选地,步骤302包括如下子步骤:
[0059] 步骤302a,对第一文本的正文进行分词处理,得到多个词语。
[0060] 该步骤是将第一文本的正文划分为一个一个单独的词语。对第一文本的正文进行分词处理所采取的算法也可以是基于字符串匹配的分词算法、基于理解的分词算法、基于统计的分词算法等等,本申请实施例对此不作限定。
[0061] 步骤302b,对上述多个词语进行TF-IDF过滤处理。
[0062] TF-IDF过滤处理是指基于各个词语对应的TF-IDF指标去除上述多个词语中的部分词语。计算机设备先获取各个词语对应的TF-IDF指标,之后将TF-IDF指标小于预设值的词语去除,以实现TF-IDF过滤处理。
[0063] 词语的TF-IDF指标可通过词语在第一文本中的出现次数,以及词语在其它文本中的出现次数来衡量。若某个词语在第一文本中的出现次数越多,并且,该词语在其它文本中的出现次数越少,则该词语的TF-IDF指标越高,若某个词语在第一文本中的出现次数越少,并且,该词语在其它文本中的出现次数越多,则该词语的TF-IDF指标越低。TF-IDF指标可用于评估该词语在第一文本中的重要程度。TF-IDF指标与词语在第一文本中的重要程度呈正相关关系,也即,词语的TF-IDF指标越高,该词语在第一文本的重要程度越高;词语的TF-IDF指标越低,该词语在第一文本的重要程度越低。
[0064] 可选地,计算机设备在完成TF-IDF过滤处理后,将剩余词语中词性为预设词性的词语确定为第一文本所包括的文本词语。可选地,预设词性为名词、动词、形容词等。
[0065] 步骤303,调用第二模型对第二文本、第一文本对应的主题词语、第一文本所包括的文本词语进行第二语义处理,得到第一文本和第二文本之间的相似度。
[0066] 在本申请实施例中,第二模型是DSSM模型。第二文本是用户输入的搜索词,通常为短文本。本申请实施例与相关技术不同的是,除了将第一文本所包括的文本词语和第二文本输入第二模型之外,还将第一文本对应的主题词语输入第二模型,由于第一文本对应的主题词语是对第一文本所属的主题进行划分得到的,能用于指示第一文本所属的主题,后续采用第二模型来计算第一文本和第二文本之间的相似度时,用于表征第一文本的第一向量充分考虑第一文本所属的主题这一因素,第一向量能更准确地表示第一文本,计算得到的第一文本和第二文本之间的相似度也更为准确。
[0067] 可选地,步骤303包括如下子步骤:
[0068] 步骤303a,调用第二模型对第一文本对应的主题词语、第一文本所包括的文本词语进行第一向量化处理,得到第一向量。
[0069] 可选地,计算机设备调用第二模型通过word2vec(词向量)算法、深度神经网络(Deep Neural Networks,DNN)模型、长短期记忆网络(Long Short-Term Memory,LSTM)等对第一文本对应的主题词语、第一文本所包括的文本词语进行第一向量化处理,得到第一向量。
[0070] 步骤303b,调用第二模型对第二文本进行第二向量化处理,得到第二向量。
[0071] 可选地,计算机设备调用第二模型通过word2vec算法、DNN模型、LSTM等对第一文本对应的主题词语、第一文本所包括的文本词语进行第一向量化处理,得到第二向量。
[0072] 步骤303c,基于第一向量和第二向量,计算第一文本和第二文本之间的相似度。
[0073] 可选地,计算机设备通过计算第一向量和第二向量之间的余弦距离,来确定第一文本和第二文本之间的相似度。若第一向量和第二向量之间的余弦距离越接近于1,则二者越相似。在其它可能的实现方式中,计算机设备通过计算第一向量和第二向量之间的欧式距离,来计算第一文本和第二文本之间的相似度。
[0074] 步骤304,基于第一文本和第二文本之间的相似度,确定与第二文本匹配的目标文本。
[0075] 可选地,计算机设备将与第二文本之间的相似度大于预设相似度阈值的第一文本确定为与第二文本匹配的目标文本。可选地,计算机设备调用第三模型将相似度大于预设相似度阈值的第一文本,确定为所述目标文本。在本申请实施例中,第三模型是Deep FM模型。
[0076] 综上所述,本申请实施例提供的技术方案,先通过第一模型确定第一文本对应的主题词语,后续通过第二模型来计算第一文本和第二文本之间的相似度时,将第一文本对应的主题词语、第一文本所包括的文本词语、第二文本输入第二模型,由于第一文本对应的主题词语是对第一文本所属的主题进行划分得到的,能用于指示第一文本所属的主题,后续采用第二模型来计算第一文本和第二文本之间的相似度时,用于表征第一文本的第一向量充分考虑第一文本所属的主题这一因素,第一向量能更准确地表示第一文本,计算得到的第一文本和第二文本之间的相似度也更为准确,后续得到的文本匹配结果也更为准确。
[0077] 在一个具体的例子中,结合参考图4,其示出了本申请实施例提供的文本匹配过程的示意图。该文本匹配过程具体如下:
[0078] (1)计算机设备通过LDA模型确定第一文本对应的主题词语,确定过程如下:LDA模型对第一文本“一条路都是粉白色的樱花”进行分词、过滤,得到第一文本所包括的文本词语“路粉白色樱花”,之后计算第一文本的主题概率文本,并将概率最大的主题确定为目标主题,之后基于上述目标主题确定第一文本对应的主题词语“花园天气树春天阳光风景”。
[0079] (2)计算机设备通过DSSM模型计算第一文本D和第二文本Q之间的相似度,计算过程如下:将第一文本对应的主题词语“花园天气树春天阳光风景”、第一文本所包括的文本词语“路粉白色樱花”输入DSSM模型,经过拼接、隐层处理,得到用于表示第一文本的第一向量Doc-vec,将第二文本“樱花、拍照等”输入DSSM模型,经过拼接、隐层处理,得到用于表示第二文本的第二向量Query-vec,之后计算第一向量Doc-vec和第二文本的第二向量Query-vec之间的余弦距离作为第一文本和第二文本之间的相似度。
[0080] (3)计算机设备通过Deep FM模型进行文本匹配,匹配过程如下:将第一文本的文本标识、第二文本对应的关键词,以及第一文本和第二文本之间的相似度以端到端向量的形式输入Deep FM模型,经过拼接、隐层处理、宽度、因子分解机,最后输出与第二文本匹配的目标文本。
[0081] 结合参考图5,其示出本申请一个实施例提供的训练第二模型的流程图。训练第二模型的过程包括如下几个步骤:
[0082] 步骤501,获取n组训练样本。
[0083] N为正整数,其取值根据第二模型的精度要求实际确定。第二模型的精度要求越高,则n的取值越大;第二模型的精度要求越低,则n的取值越小。
[0084] n组训练样本中的每组训练样本包括第一训练文本、第一训练文本对应的主题词语、第二训练文本。每组训练文本对应有标注结果,该标注结果用于标注第一训练文本和第二训练文本之间是否相似。
[0085] 可选地,第一训练文本为长文本,第二训练文本为短文本。其中,长文本是所包括的词语的数量大于第一预设数量的文本,短文本是所包括的词语的数量小于第二预设数量的文本,第一预设数量大于第二预设数量。
[0086] 步骤502,对于n组训练样本的第i组训练样本,将第i组训练样本所包括的第一训练文本、第一训练文本对应的主题词语、第二训练文本输入神经网络模型,得到第一训练文本和第二训练文本之间的输出相似度。
[0087] 神经网络模型包括但不限于:深度神经网络(Deep Neural Network,DNN)模型、循环神经网络(Recurrent Neural Networks,RNN)模型、嵌入(embedding)模型、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)模型、逻辑回归(Logistic Regression,LR)模型中的至少一种。
[0088] 计算机设备将每组训练样本所包括的第一训练文本、第一训练文本对应的主题词语、第二训练文本输入深度学习网络,由深度学习网络输出第一训练文本和第二训练文本之间的输出相似度。
[0089] 步骤503,根据第i组训练样本对应的标注结果和输出相似度,确定损失函数。
[0090] 损失函数是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。可选地,损失函数通过交叉熵(cross-entropy)来表示。
[0091] 步骤504,通过损失函数对神经网络模型进行迭代训练,得到第二模型,并保存第二模型。
[0092] 计算机设备通过反向传播算法根据损失函数确定DSSM模型的梯度方向,从DSSM模型的输出层逐层向前更新DSSM模型中的模型参数。
[0093] 综上所述,本申请实施例提供的技术方案,通过包含有训练文本对应的主题词语的训练样本来训练DSSM模型,后续通过DSSM模型进行文本匹配时,先通过第一模型确定第一文本对应的主题词语,后续通过DSSM模型来计算第一文本和第二文本之间的相似度时,将第一文本对应的主题词语、第一文本所包括的文本词语、第二文本输入DSSM模型,由于第一文本对应的主题词语是对第一文本所属的主题进行划分得到的,能用于指示第一文本所属的主题,后续采用第二模型来计算第一文本和第二文本之间的相似度时,用于表征第一文本的第一向量充分考虑第一文本所属的主题这一因素,第一向量能更准确地表示第一文本,计算得到的第一文本和第二文本之间的相似度也更为准确,后续得到的文本匹配结果也更为准确。
[0094] 以下为本申请装置实施例,对于装置实施例中未详细阐述的部分,可以参考上述方法实施例中公开的技术细节。
[0095] 请参考图6,其示出了本申请一个示例性实施例提供的文本匹配装置的框图。该文本匹配装置可以通过软件、硬件或者两者的组合实现成为计算机设备的全部或一部分。该文本匹配装置包括:
[0096] 第一处理模块601,用于调用第一模型对第一文本进行第一语义处理,并基于第一语义处理结果确定所述第一文本对应的主题词语。
[0097] 第二处理模块602,用于对所述第一文本进行预处理,得到所述第一文本所包括的文本词语。
[0098] 第三处理模块603,用于调用第二模型对第二文本、所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第二语义处理,得到所述第一文本和所述第二文本之间的相似度。
[0099] 文本匹配模块604,用于基于所述第一文本和所述第二文本之间的相似度,确定与所述第二文本匹配的目标文本。
[0100] 综上所述,本申请实施例提供的技术方案,先通过第一模型确定第一文本对应的主题词语,后续通过第二模型来计算第一文本和第二文本之间的相似度时,将第一文本对应的主题词语、第一文本所包括的文本词语、第二文本输入第二模型,由于第一文本对应的主题词语是对第一文本所属的主题进行划分得到的,能用于指示第一文本所属的主题,后续采用第二模型来计算第一文本和第二文本之间的相似度时,用于表征第一文本的第一向量充分考虑第一文本所属的主题这一因素,第一向量能更准确地表示第一文本,计算得到的第一文本和第二文本之间的相似度也更为准确,后续得到的文本匹配结果也更为准确。
[0101] 在基于图6所示实施例提供的一个可选实施例中,所述第二处理模块602,用于:
[0102] 调用所述第二模型对所述第一文本对应的主题词语、所述第一文本所包括的文本词语进行第一向量化处理,得到第一向量;
[0103] 调用所述第二模型对所述第二文本进行第二向量化处理,得到第二向量;
[0104] 基于所述第一向量和所述第二向量,计算所述第一文本和所述第二文本之间的相似度。
[0105] 在基于图6所示实施例提供的一个可选实施例中,所述第一处理模块601,用于:
[0106] 通过所述第一模型对所述第一文本进行语义处理,得到所述第一文本的主题概率分布,所述第一文本的主题概率分布用于指示所述第一文本属于各个主题的概率;
[0107] 将概率大于预设概率阈值的主题确定为目标主题;
[0108] 基于所述目标主题确定所述第一文本对应的主题词语。
[0109] 在基于图6所示实施例提供的一个可选实施例中,所述文本匹配模块604,用于调用第三模型将相似度大于预设相似度阈值的第一文本,确定为所述目标文本。
[0110] 在基于图6所示实施例提供的一个可选实施例中,所述第一模型为LDA模型,所述第二模型为DSSM。
[0111] 在基于图6所示实施例提供的一个可选实施例中,所述第二模型的训练过程如下:
[0112] 获取n组训练样本,所述n组训练样本中的每组训练样本包括第一训练文本、第一训练文本对应的主题词语、第二训练文本,所述每组训练文本对应有标注结果,所述标注结果用于标注所述第一训练文本和所述第二训练文本之间是否相似;
[0113] 对于所述n组训练样本的第i组训练样本,将所述第i组训练样本所包括的所述第一训练文本、所述第一训练文本对应的主题词语、所述第二训练文本输入深度学习网络,得到所述第一训练文本和所述第二训练文本之间的输出相似度;
[0114] 根据所述第i组训练样本对应的所述标注结果和所述输出相似度,确定损失函数;
[0115] 通过所述损失函数对所述深度学习网络进行迭代训练,得到所述第二模型,并保存所述第二模型。
[0116] 需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0117] 图7是本申请一个实施例提供的文本匹配设备的结构示意图。文本匹配设备700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(random access memory,RAM)702和只读存储器(read-only memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述文本匹配设备700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
[0118] 所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入/输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
[0119] 所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为文本匹配设备700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
[0120] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
[0121] 根据本申请的各种实施例,所述文本匹配设备700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即文本匹配设备700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
[0122] 具体在本申请实施例中,文本匹配设备700还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述文本匹配方法的指令。
[0123] 在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由移动终端的处理器加载并执行以实现上述方法实施例中的文本匹配方法。
[0124] 可选地,上述计算机可读存储介质可以是ROM、RAM、磁带、软盘和光数据存储设备等。
[0125] 在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面或者一方面的各种可选实现方式中提供的方法。
[0126] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
[0127] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0128] 以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。