首页> 中国专利> 语义匹配模型训练方法、匹配方法、装置、设备及存储介质

语义匹配模型训练方法、匹配方法、装置、设备及存储介质

摘要

本申请涉及智能决策领域,具体公开了一种语义匹配模型训练方法、语义匹配方法、装置、设备及存储介质,所述方法包括:获取多个文本数据,并将多个文本数据保存至第一数据库;根据第一数据库中保存的文本数据训练第一匹配模型;基于第一匹配模型确定每个文本数据的句向量,并将每个文本数据的句向量保存至第二数据库;从第一数据库中保存的文本数据中选择样本数据,并基于样本数据从第一数据库中获取与样本数据对应的字面匹配文本;根据样本数据的句向量从第二数据库中获取与样本数据对应的语义匹配文本;根据样本数据、字面匹配文本和语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的第二匹配模型作为语义匹配模型。

著录项

  • 公开/公告号CN112307048A

    专利类型发明专利

  • 公开/公告日2021-02-02

    原文格式PDF

  • 申请/专利权人 中国平安财产保险股份有限公司;

    申请/专利号CN202011193174.6

  • 发明设计人 王博锐;

    申请日2020-10-30

  • 分类号G06F16/24(20190101);G06F16/35(20190101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构44507 深圳市力道知识产权代理事务所(普通合伙);

  • 代理人贺小旺

  • 地址 518000 广东省深圳市福田区益田路5033号平安金融中心12、13、38、39、40层

  • 入库时间 2023-06-19 09:46:20

说明书

技术领域

本申请涉及人工智能领域,尤其涉及一种语义匹配模型训练方法、语义匹配方法、装置、设备及存储介质。

背景技术

随着计算机技术与人工智能的发展,对于自然语言处理的研究也有了很大的进步。语音匹配作为自然语言处理中的一个重要方向已经广泛应用于搜索引擎、智能问答、知识检索以及信息流推荐等系统中。传统进行语义匹配的方法是直接从知识库中寻找匹配文本,但这种方式耗时较长,实时性不足。而在构建用于语义匹配的模型时,由于语义匹配过程较为复杂,导致语义匹配模型构建的成本较高,且训练周期长。

因此,如何自动提高训练模型的效率成为亟待解决的问题。

发明内容

本申请提供了一种语义匹配模型训练方法、语义匹配方法、装置、设备及存储介质,以提高训练模型的效率。

第一方面,本申请提供了一种语义匹配模型训练方法,所述方法包括:

获取多个文本数据,并将多个所述文本数据保存至第一数据库;根据所述第一数据库中保存的文本数据训练第一匹配模型;基于所述第一匹配模型确定每个所述文本数据的句向量,并将每个所述文本数据的句向量保存至第二数据库;从所述第一数据库中保存的文本数据中选择样本数据,并基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本;根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本;根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的所述第二匹配模型作为语义匹配模型。

第二方面,本申请提供了一种语义匹配方法,所述方法包括:

获取待查询语句,并根据所述待查询语句从第一数据库和第二数据库中获取所述待查询语句的多个匹配文本;将多个所述匹配文本输入语义匹配模型,得到目标匹配文本,其中,所述语义匹配模型为利用第一方面提供的语义匹配模型训练方法训练得到的;基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,并将所述响应数据进行输出,完成语义预测。

第三方面,本申请还提供了一种语义匹配模型训练装置,所述装置包括:

文本保存模块,用于获取多个文本数据,并将多个所述文本数据保存至第一数据库;第一训练模块,用于根据所述第一数据库中保存的文本数据训练第一匹配模型;向量保存模块,用于基于所述第一匹配模型确定每个所述文本数据的句向量,并将每个所述文本数据的句向量保存至第二数据库;字面匹配模块,用于从所述第一数据库中保存的文本数据中选择样本数据,并基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本;语义匹配模块,用于根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本;第二训练模块,用于根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的所述第二匹配模型作为语义匹配模型。

第四方面,本申请还提供了一种语义匹配装置,所述装置包括:

语句获取模块,用于获取待查询语句,并根据所述待查询语句从第一数据库和第二数据库中获取所述待查询语句的多个匹配文本;目标确定模块,用于将多个所述匹配文本输入语义匹配模型,得到目标匹配文本,其中,所述语义匹配模型为利用第一方面提供的语义匹配模型训练方法训练得到的;响应输出模块,用于基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,并将所述响应数据进行输出,完成语义预测。

第五方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的语义匹配模型训练方法以及语义匹配方法。

第六方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的语义匹配模型训练方法以及语义匹配方法。

本申请公开了一种语义匹配模型训练方法、语义匹配方法、装置、设备及存储介质,通过获取多个文本数据,并将文本数据保存至第一数据库,根据第一数据库中保存的文本数据训练第一匹配模型,基于第一匹配模型确定文本数据的句向量,并将文本数据的句向量保存至第二数据库。从第一数据库中保存的文本数据中选择样本数据,然后基于样本数据从第一数据库中获取与样本数据对应的字面匹配文本,并根据样本数据的句向量从第二数据库中获取与样本数据对应的语义匹配文本,最终根据样本数据、字面匹配文本和语义匹配文本训练第二匹配模型,得到语义匹配模型。通过训练第一匹配模型,得到字面匹配文本和语义匹配文本,完成对样本数据的初筛,然后根据初筛结果训练第二匹配模型,减少了第二匹配模型的训练样本数量,但提高了训练样本之间的相关性,提高语义匹配模型的训练速度。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种语义匹配模型训练方法的示意流程图;

图2是本申请实施例提供的一种语义匹配方法的示意流程图;

图3是本申请的实施例提供一种语义匹配模型训练装置的示意性框图;

图4是本申请实施例提供一种语义匹配装置的示意性框图。

图5是本申请实施例提供的一种计算机设备的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本申请的实施例提供了一种语义匹配模型训练方法、装置、计算机设备及存储介质。语义匹配模型训练方法可用于自动训练语义匹配模型,利用该语义匹配模型进行语义匹配,提高训练语义匹配模型的训练速度和便捷度。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1是本申请实施例提供的一种语义匹配模型训练方法的示意流程图。

如图1所示,该语义匹配模型训练方法,具体包括:步骤S101至步骤S105。

S101、获取多个文本数据,并将多个所述文本数据保存至第一数据库。

根据不同的预测需求构建不同类型的知识库,例如,知识库可以是一些专业知识库,还可以是一些问答知识库等。专业知识库中存储的文本数据可以是一些专业词汇,问答数据库中存储的文本数据可以是一些常见问题以及常见问题对应的答案。

在训练语义匹配模型时,可直接从预先构建好的知识库中获取多个文本数据,并将获取到的文本数据保存至第一数据库中,其中,第一数据库例如可以是ElasticSearch等开源分布式搜索引擎,第一数据库中保存的文本数据用于训练第一匹配模型和第二匹配模型。

在一实施例中,该知识库中还包括文本数据对应的文本类别,以及文本类别对应的响应数据。在将文本数据保存至第一数据库时,可以将文本数据对应的文本类别共同保存至第一数据库中,以便于基于文本数据确定用于训练第一匹配模型的正样本和负样本,以及用于训练第二匹配模型的正样本和负样本,提高第一匹配模型和第二匹配模型训练的准确度。

其中,文本类别是指类别信息,用于区分不同类型的文本数据,文本类别对应的响应数据是指根据文本类别做出的应答,响应数据的数据类型可以是文本、音频、图片或者网络链接等多种类型。

以问答场景为例,一个标准问句即为一个文本类别,每一个标准问句对应一个答案和多个相似问句,标准问句对应的多个相似问句则为文本数据,而标准问句对应的一个答案则为响应数据。

例如,标准问句:“实名认证的步骤”为一个文本类别,对应的“怎么进行实名认证”、“身份认证是在设置里吗”以及“教我实名认证”等句子则为该文本类别下的文本数据,而“实名认证的具体步骤一二三”则为文本类别对应的响应数据。

在一实施例中,在所述将所述文本数据保存至第一数据库之前,所述方法包括:对所述文本数据进行数据规约,得到规约后的文本数据。

其中,数据规约是指在尽可能保持数据原貌的前提下,最大限度地精简数据量。在具体实施过程中,数据规约可以包括数据增强、数据变换以及去除冗余数据等操作,在获取到文本数据后,对文本数据进行数据规约,从而得到规约后的文本数据,在得到规约后的文本数据后,将规约后的文本数据保存在第一数据库中。通过数据规约提高数据质量,进而提升对于语义匹配模型的训练效果。

S102、根据所述第一数据库中保存的文本数据训练第一匹配模型。

在根据第一数据库中保存的文本数据训练第一匹配模型时,可以先对第一匹配模型的模型参数进行随机采样,得到第一匹配模型的初始参数组合,然后根据第一数据库中保存的文本数据进行迭代训练。其中,第一匹配模型可以是CNN、RNN等模型,也可以是一些复杂度较低,耗时较短的模型,例如DSSM。

例如可以基于并行搜索,使用Grid Search方法或者Random Search方法,利用随机原理,不断采样第一匹配模型可能的参数组合,通过不停迭代去尝试找到最优的参数组。还可以采用Evolutionary Optimizer进化式的调参方法,让第一匹配模型的每一次迭代都自动在上一轮较优的参数集区间中进行开发,减少计算资源消耗以及参数探索的次数。采用上述方法对模型参数自动进行随机采样,减少在训练模型时开发人员在的调参的过程,提高了模型的训练速度。

在对第一匹配模型的模型参数进行随机采样后,在第一数据库中保存的文本数据中进行随机抽样,将两个文本数据作为一个样本组,构造出多个样本组对第一匹配模型进行模型训练。

在一实施例中,根据所述第一数据库中保存的文本数据训练第一匹配模型包括以下步骤:对所述文本数据进行随机抽样,得到多个第一样本组,每个第一样本组中包括两个文本数据;根据所述第一样本组中的两个文本数据对应的文本类别确定所述第一样本组的类别,所述第一样本组的类别包括正样本组和负样本组;按照预设比例选择所述正样本组和所述负样本组,构建第一匹配模型的训练集,并基于所述第一匹配模型的训练集训练第一匹配模型。

分别对文本数据进行多次随机抽样,每次随机抽样得到的样本中包括两个文本数据,将抽样得到的两个文本数据作为一个第一样本组,然后根据第一样本组中的两个文本数据对应的文本类别确定第一样本组的类别,确定第一样本组是正样本组还是负样本组,最后按照预设比例选择正样本组和负样本组来构建第一匹配模型的训练集,并在训练集构建完成后,基于第一匹配模型的训练集训练第一匹配模型。

其中,预设比例可以根据实际情况自主决定,例如,训练集中正样本组和负样本组的比例可以为5:5。

在一实施例中,根据所述第一样本组中的两个文本数据对应的文本类别确定所述第一样本组的类别,包括:确定所述第一样本组中的两个文本数据对应的文本类别是否一致;若所述第一样本组中的两个文本数据对应的文本类别一致,则将所述第一样本组作为正样本组;若所述第一样本组中的两个文本数据对应的文本类别不一致,则将所述第一样本组作为负样本组。

比较第一样本组内的两个文本数据对应的文本类别是否相同,若第一样本组内的两个文本数据对应的文本类别相同,则将该第一样本组作为正样本组,若第一样本组内的两个文本数据对应的文本类别不同,则将该第一样本组作为负样本组。将抽样得到的正样本组和负样本组的集合作为第一匹配模型的训练集。

以问答场景为例,对第一数据库中保存的文本数据进行随机抽样,得到文本数据a和文本数据b,得到一个第一样本组。若抽样得到的文本数据a对应的文本类别为A,抽样得到的文本数据b对应的文本类别也为A,则将文本数据a和文本数据b作为正样本组。若抽样得到的文本数据a对应的文本类别为A,抽样得到的文本数据b对应的文本类别为B,则将文本数据a和文本数据b作为负样本组。

在一实施例中,根据所述第一数据库中保存的文本数据训练第一匹配模型包括以下步骤:对所述第一匹配模型的训练集进行分词,得到训练集词典;基于所述训练集词典对所述第一匹配模型进行训练。

在利用第一匹配模型的训练集对第一匹配模型进行训练时,可以先采用分词器对第一匹配模型的训练集中的文本数据进行分词,得到训练集词典,然后在词语的维度上进行训练。例如,可以采用jieba分词器对第一匹配模型的训练集中的文本数据进行分词,得到训练集词典。

然后基于训练集词典中分词后的词语对第一匹配模型进行训练,使得第一匹配模型能够输出文本数据的词向量,在训练完成后,将训练完成的模型作为第一匹配模型。

第一匹配模型的训练过程例如可以如下所示:

在对第一匹配模型的训练集中的文本数据进行分词,得到训练集词典后,将该文本数据的分词进行向量化处理,例如可以将训练集词典中的各个分词随机初始化为一个N维的向量,然后将各个分词初始化的向量进行拼接,得到拼接结果。

然后将拼接结果经过激活函数,激活函数例如可以是tanh(x)函数,得到激活结果,同时将拼接结果经过线性连接,得到连接结果,并将得到的激活结果和连接结果直接相加,最后使用softmax函数,完成输出。

在此过程中,可以采用梯度下降的方法来最小化损失函数,进而优化神经网络的参数,其中,神经网络的参数包括对分词进行随机初始化的向量。通过对随机初始化的向量进行不断的优化,从而使得第一匹配模型能够准确的输出分词的词向量,来表示词语之间的关系。

在一实施例中,该方法还可以用构建第一匹配模型训练集的同样的方式,构建第一匹配模型的测试集,以对训练的第一匹配模型进行测试。第一匹配模型的训练集和测试集的比例可以根据实际情况自主决定。

S103、基于所述第一匹配模型确定每个所述文本数据的句向量,并将每个所述文本数据的句向量保存至第二数据库。

将文本数据分别输入第一匹配模型,根据第一匹配模型确定每个文本数据的句向量,然后将每个文本数据的句向量保存至第二数据库中,用于训练第二匹配模型。其中,第二数据库可以是近似最近邻算法库,以便于进行语义层次的召回。

在一实施例中,基于所述第一匹配模型确定每个所述文本数据的句向量可以包括:对每个所述文本数据进行分词,得到每个所述文本数据对应的多个分词;利用所述第一匹配模型,得到每个所述文本数据对应的所述分词的词向量;根据所述文本数据对应的所述分词的词向量计算词向量平均值,将所述词向量平均值作为所述文本数据的句向量。

对文本数据进行分词,将每一个文本数据分出的字词分别输入第一匹配模型中,由第一匹配模型输出每个文本数据分出的字词的词向量。然后再基于文本数据分出的字词的词向量来计算文本数据的词向量平均值,将计算出的词向量平均值作为该文本数据的句向量,并将文本数据的句向量进行保存。

在具体实施过程中,可以将文本数据分出的字词的词向量进行直接相加,计算每个文本数据多个字词的词向量的向量和,再基于词向量的向量和求多个字词的词向量的平均值,将计算出的该平均值作为文本数据的句向量。

S104、从所述第一数据库中保存的文本数据中选择样本数据,并基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本。

其中,字面匹配文本是指与样本数据在文字构成的层面上相匹配的文本数据。从第二数据库保存的文本数据中选择出作为训练样本的样本数据,以将样本数据作为训练样本对第二模型进行训练,然后可以根据第一数据库保存的文本数据确定出与样本数据对应的字面匹配文本,从而实现字面匹配文本的选择。

在一实施例中,基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本可以包括:计算所述第一数据库中保存的所述文本数据与所述样本数据的文本相似度得分;将与所述样本数据的文本相似度得分大于预设阈值的文本数据作为字面匹配文本。

在选择出样本数据后,计算第一数据库中保存的各个文本数据与样本数据的文本相似度得分,文本相似度得分越高,则认为两个文本数据在文字构成方面的相似度越高。根据计算出的文本相似度得分,选择文本相似度得分大于预设阈值的文本数据作为字面匹配文本。其中,预设阈值可以由经验确定。

在一实施过程中,还可以选择文本相似度得分较高的文本数据作为字面匹配文本,字面匹配文本的数量可以由经验确定。可以将第一数据库中保存的各个文本数据按照与样本数据的文本相似度得分进行排序,按照文本相似度得分从高到低依次排序,排序越靠前,则说明该文本数据与样本数据在文字构成上越相似,从高到低依次选择若干个文本数据作为字面匹配文本。

S105、根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本。

其中,语义匹配文本是指与样本数据在语义层面上相匹配的文本数据。利用第一匹配模型得到样本数据的句向量,由于句向量表示了一个文本中各个词语之间的关系,也即表示文本的语义,因此,根据样本数据的句向量从第二数据库中获取与样本数据对应的语义匹配文本。

在一实施例中,步骤S105可以包括以下步骤:计算所述第二数据库中保存的所述文本数据的句向量与所述样本数据的向量相似度;根据所述向量相似度从所述第二数据库中保存的所述文本数据中选择语义匹配文本。

在得到样本数据的句向量后,计算样本数据的句向量和第二数据库中保存的各个文本数据的句向量之间的向量相似度,相似度越高,则认为两个文本数据之间越相似。根据计算出的向量相似度,选择向量相似度较高的文本数据作为语义匹配文本,语义匹配文本的数量可以由经验确定。

在具体实施过程中,可以将第二数据库中保存的各个文本数据按照与样本数据的向量相似度进行排序,按照向量相似度从高到低依次排序,排序越靠前,则说明该文本数据与样本数据在语义上越相似。

S106、根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的所述第二匹配模型作为语义匹配模型。

根据样本数据、字面匹配文本和语义匹配文本构建第二匹配模型的训练集,用于对第二匹配模型进行模型训练。在构建完成第二匹配模型的训练集后,利用第二匹配模型的训练集对第二匹配模型进行模型训练,得到训练完成的第二匹配模型,将训练得到的第二匹配模型作为语义匹配模型。

在一实施例中,所述根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,包括:对第二匹配模型的模型参数进行随机采样,得到初始的第二匹配模型;利用所述初始的第二匹配模型计算所述字面匹配文本和所述语义匹配文本与所述样本数据的相似度;根据所述相似度对所述初始的第二匹配模型进行迭代训练,进行模型训练。

可以采用前述在训练第一匹配模型时的采样方法,对第二匹配模型的模型参数进行随机采样,得到第二匹配模型的初始参数组合。然后利用样本数据、字面匹配文本和语义匹配文本,对应用该初始参数组合的第二匹配模型进行模型迭代训练。

在训练过程中,可以利用初始的第二匹配模型分别计算字面匹配文本和语义匹配文本与样本数据的相似度,然后根据计算出的相似度对初始的第二匹配模型进行迭代训练,最终当模型收敛时,将收敛的模型作为语义匹配模型。

在具体实施过程中,第二匹配模型可以包括输入层、降维处理层、特征提取层和输出层,具体的训练过程如下所示:

将第二匹配模型的训练集经过输入层输入至第二匹配模型中,然后在降维处理层对训练集中的样本数据、字面匹配文本和语义匹配文本进行分词,进行降维处理,然后在特征提取层分别计算和提取样本数据、字面匹配文本和语义匹配文本的特征向量,在具体实施过程中,特征提取层可以使用tanh作为激活函数,并且可以将多个全连接层串行的连接起来构成特征提取层。

然后根据样本数据、字面匹配文本和语义匹配文本的特征向量,通过计算各个字面匹配文本和语义匹配文本和样本数据的特征向量的余弦距离来计算各个字面匹配文本和语义匹配文本和样本数据之间的相似度,将各个字面匹配文本和语义匹配文本中与样本数据的相似度最高的文本数据作为输出结果进行输出。

相似度计算公式为:

其中,Q表示字面匹配文本或语义匹配文本,D表示样本数据,R(Q,D)表示字面匹配文本或语义匹配文本与样本数据之间的相似度,y

在训练过程中,可以采用极大似然估计来最小化损失函数,当损失函数值为最小时,则认为第二匹配模型训练完成,将第二匹配模型作为语义匹配模型。

在一实施例中,第二匹配模型训练集具体的构建过程可以包括如下步骤:获取所述样本数据对应的文本类别、所述字面匹配文本的文本类别和所述语义匹配文本的文本类别;当所述字面匹配文本的文本类别和所述语义匹配文本的文本类别与所述文本数据对应的文本类别相同时,将所述字面匹配文本和所述语义匹配文本作为正样本;当所述字面匹配文本的文本类别和/或所述语义匹配文本的文本类别与所述文本数据对应的文本类别不相同时,将所述字面匹配文本和所述语义匹配文本作为负样本;按照预设比例对正样本和负样本进行随机采样,构建第二匹配模型的训练集。

分别比较每条字面匹配文本和每条语义匹配文本对应的文本类别与所述样本数据的文本类别是否相同,若相同,则将字面匹配文本和语义匹配文本作为所述样本数据的正样本,若字面匹配文本和语义匹配文本中有任一个与样本数据的文本类别不同,则将字面匹配文本和语义匹配文本作为所述样本数据的负样本。

对于每一个样本数据,若从第一数据库中获取到的字面匹配文本为M条,从第二数据库中获取到的语义匹配文本为N条,那么,样本数据共会生成M+N条匹配文本,该匹配文本中包括了字面匹配文本和语义匹配文本。

对匹配文本进行随机采样,从中抽取正样本和负样本构成第二匹配模型的训练集,其中,最终得到的第二匹配模型的训练集中正样本和负样本的数量比大致为1:1。例如,从匹配文本中随机抽取5个正样本和5个负样本,构成第二匹配模型的训练集。

在一实施例中,该方法包括:基于所述样本数据从所述第一数据库中获取与所述样本数据对应的测试字面匹配文本;根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的测试语义匹配文本;根据所述样本数据、所述测试字面匹配文本和所述测试语义匹配文本,对第二匹配模型进行模型测试。

得到测试字面匹配文本以及测试语义匹配文本的方式与得到字面匹配文本以及语义匹配文本的方式相同,因此在此不在赘述。在构建测试集时,也可以按照比例构建第二匹配模型的测试集。第二匹配模型的训练集和测试集的比例可以自行确定。

在对第二匹配模型进行测试时,将第二匹配模型的测试集中的测试字面匹配文本以及测试语义匹配文本输入第二匹配模型中,得到第二匹配模型输出的预测匹配文本,确定第二匹配模型输出的预测匹配文本与样本数据是否一致。并且统计在一次测试中,第二匹配模型预测错误的概率,当预测错误的概率小于预设值时,认为此时第二匹配模型的训练完成。其中,预设值可以根据实际情况自行确定。

上述实施例提供的语义匹配模型训练方法,通过获取多个文本数据,并将文本数据保存至第一数据库,根据第一数据库中保存的文本数据训练第一匹配模型,基于第一匹配模型确定文本数据的句向量,并将文本数据的句向量保存至第二数据库。从第一数据库中保存的文本数据中选择样本数据,然后基于样本数据从第一数据库中获取与样本数据对应的字面匹配文本,并根据样本数据的句向量从第二数据库中获取与样本数据对应的语义匹配文本,最终根据样本数据、字面匹配文本和语义匹配文本训练第二匹配模型,得到语义匹配模型。通过训练第一匹配模型,得到字面匹配文本和语义匹配文本,完成对样本数据的初筛,然后根据初筛结果训练第二匹配模型,减少了第二匹配模型的训练样本数量,但提高了训练样本之间的相关性,提高语义匹配模型的训练速度。

请参阅图2,图2是本申请实施例提供的一种语义匹配方法的示意流程图。该语义匹配方法中使用的语义匹配模型为利用图1中所示的语义匹配模型训练方法训练得到的。

如图2所示,该语义匹配方法具体包括步骤S201至步骤S203。

S201、获取待查询语句,并根据所述待查询语句从第一数据库和第二数据库中获取所述待查询语句的多个匹配文本。

获取用户需要进行查询的待查询语句,根据待查询语句从第一数据库和第二数据库中获取待查询语句对应的多个匹配文本。

在具体实施过程中,匹配文本可以包括字面匹配文本和语义匹配文本。

可以根据待查询语句从第一数据库中选择与待查询语句对应的字面匹配文本。利用预先训练的第一匹配模型输出待查询语句的句向量,然后根据待查询语句的句向量,从第二数据库中选择出与待查询语句对应的语义匹配文本。

将确定出的字面匹配文本和语义匹配文本共同作为匹配文本,需要说明的是,字面匹配文本和语义匹配文本均可以有多个。

S202、将多个所述匹配文本输入语义匹配模型,得到目标匹配文本。

其中,所述语义匹配模型为利用图1中提供的语义匹配模型训练方法训练得到的。

将匹配文本分别输入语义匹配模型中,利用语义匹配模型确定多个匹配文本中与待查询语句相似度最高的匹配文本,也即,通过计算多个匹配文本中与待查询语句的余弦距离,确定多个匹配文本中哪个匹配文本与待查询语句相似度最高。将确定出的与待查询语句相似度最高的匹配文本作为目标匹配文本。

S203、基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,并将所述响应数据进行输出,完成语义预测。

在确定目标匹配文本后,根据目标匹配文本,从预先构建的知识库中获取与目标匹配文本对应的响应数据,并将响应数据进行输出,完成语义预测。

在一实施例中,基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,包括:确定目标匹配文本对应的文本类型;根据所述目标匹配文本对应的文本类型获取所述文本类型对应的响应数据。

由于知识库中包括文本数据、文本数据对应的文本类别,以及文本类别对应的响应数据。因此,在确定出目标匹配文本后,可以根据文本数据与文本类别之间的对应关系,确定目标匹配文本对应的文本类别,然后再根据文本类别与响应数据之间的对应关系,确定文本类别对应的响应数据。将响应数据进行输出给用户,完成语义预测。

上述实施例提供的语义匹配方法,通过获取待查询语句,并根据待查询语句从第一数据库和第二数据库中获取待查询语句的多个匹配文本;将多个匹配文本输入语义匹配模型,得到目标匹配文本;基于目标匹配文本获取与所述目标匹配文本对应的响应数据,并将响应数据进行输出,完成语义预测。可以根据用户的查询语句输出与查询语句相关的响应数据,改善用户体验。

请参阅图3,图3是本申请的实施例还提供一种语义匹配模型训练装置的示意性框图,该语义匹配模型训练装置用于执行前述的语义匹配模型训练方法。其中,该语义匹配模型训练装置可以配置于服务器或终端中。

其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。

如图3所示,语义匹配模型训练装置300包括:文本保存模块301、第一训练模块302、向量保存模块303、字面匹配模块304、语义匹配模块305和第二训练模块306。

文本保存模块301,用于获取多个文本数据,并将多个所述文本数据保存至第一数据库。

第一训练模块302,用于根据所述第一数据库中保存的文本数据训练第一匹配模型。

向量保存模块303,用于基于所述第一匹配模型确定每个所述文本数据的句向量,并将每个所述文本数据的句向量保存至第二数据库。

字面匹配模块304,用于从所述第一数据库中保存的文本数据中选择样本数据,并基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本。

语义匹配模块305,用于根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本。

第二训练模块306,用于根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的所述第二匹配模型作为语义匹配模型。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的语义匹配模型训练装置和各模块的具体工作过程,可以参考前述语义匹配模型训练方法实施例中的对应过程,在此不再赘述。

请参阅图4,图4是本申请的实施例还提供一种语义匹配装置的示意性框图,该语义匹配装置用于执行前述的语义匹配方法。其中,该语义匹配装置可以配置于服务器或终端中。

其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。

如图4所示,语义匹配装置400包括:语句获取模块401、目标确定模块402和响应输出模块403。

语句获取模块401,用于获取待查询语句,并根据所述待查询语句从第一数据库和第二数据库中获取所述待查询语句的多个匹配文本;

目标确定模块402,用于将多个所述匹配文本输入语义匹配模型,得到目标匹配文本,其中,所述语义匹配模型为利用权利要求1-5任一项提供的语义匹配模型训练方法训练得到的;

响应输出模块403,用于基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,并将所述响应数据进行输出,完成语义预测。

需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的语义匹配装置和各模块的具体工作过程,可以参考前述语义匹配方法实施例中的对应过程,在此不再赘述。

上述的语义匹配模型训练装置和语义匹配装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。

请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。

参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。

非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种语义匹配模型训练方法和语义匹配方法。

处理器用于提供计算和控制能力,支撑整个计算机设备的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种语义匹配模型训练方法和语义匹配方法。

该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取多个文本数据,并将多个所述文本数据保存至第一数据库;根据所述第一数据库中保存的文本数据训练第一匹配模型;基于所述第一匹配模型确定每个所述文本数据的句向量,并将每个所述文本数据的句向量保存至第二数据库;从所述第一数据库中保存的文本数据中选择样本数据,并基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本;根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本;根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练,并将训练完成的所述第二匹配模型作为语义匹配模型。

在一个实施例中,所述处理器在实现所述基于所述第一匹配模型确定每个所述文本数据的句向量时,用于实现:对每个所述文本数据进行分词,得到每个所述文本数据对应的多个分词;利用所述第一匹配模型,得到每个所述文本数据对应的所述分词的词向量;根据所述文本数据对应的所述分词的词向量计算词向量平均值,将所述词向量平均值作为所述文本数据的句向量。

在一个实施例中,所述处理器在实现所述基于所述样本数据从所述第一数据库中获取与所述样本数据对应的字面匹配文本时,用于实现:计算所述第一数据库中保存的所述文本数据与所述样本数据的文本相似度得分;将与所述样本数据的文本相似度得分大于预设阈值的文本数据作为字面匹配文本。

在一个实施例中,所述处理器在实现所述根据所述样本数据的句向量从所述第二数据库中获取与所述样本数据对应的语义匹配文本时,用于实现:计算所述第二数据库中保存的所述文本数据的句向量与所述样本数据的向量相似度;根据所述向量相似度从所述第二数据库中保存的所述文本数据中选择语义匹配文本。

在一个实施例中,所述处理器在实现所述根据所述样本数据、所述字面匹配文本和所述语义匹配文本,对第二匹配模型进行模型训练时,用于实现:对第二匹配模型的模型参数进行随机采样,得到初始的第二匹配模型;利用所述初始的第二匹配模型计算所述字面匹配文本和所述语义匹配文本与所述样本数据的相似度;根据所述相似度对所述初始的第二匹配模型进行迭代训练,进行模型训练。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取待查询语句,并根据所述待查询语句从第一数据库和第二数据库中获取所述待查询语句的多个匹配文本;将多个所述匹配文本输入语义匹配模型,得到目标匹配文本,其中,所述语义匹配模型为利用上述提供的语义匹配模型训练方法训练得到的;基于所述目标匹配文本获取与所述目标匹配文本对应的响应数据,并将所述响应数据进行输出,完成语义预测。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项语义匹配模型训练方法和语义匹配方法。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号