语义匹配方法、装置和介质

文档序号:7666 发布日期:2021-09-17 浏览:39次 英文

语义匹配方法、装置和介质

技术领域

本公开涉及人工智能的

技术领域

,更具体地说,涉及语义匹配方法、装 置和介质。

背景技术

针对搜索场景下的用户问句和标准问句库的语义匹配问题,经历了从无 监督学习到有监督学习,从传统机器学习到深度学习的技术演进。最早的 TF-IDF(termfrequency–inverse document frequency)、LD(Levenshtein Distance)、LCS(LongestCommon Subsequence)等算法,通过计算两个语 句的词汇重合度来得到语义匹配度。然而,由于这些算法基于词的重合度和 共现信息来确定语义匹配度,因此对语句本身的语义信息挖掘不够,无法做 到对用户问句的深层理解。同时,当用户问句较长时,无法定位到关键词或 者关键短语。

近年来,深度学习算法取得了突破性进展,深度学习在语义匹配任务上 的应用日益受到更多的关注。尽管基于深度学习的语义匹配模型能够挖掘更 深层次的语义信息,但是同时模型引入的参数过多(例如,1亿多个参 数),使得模型真正上线服务是很困难的。

发明内容

鉴于以上情形,期望提供新的语义匹配方法、装置和介质,能够在保证 模型性能没有明显下降的前提下达到加速预测的目的,解决计算资源昂贵和 内存紧张的难题。

根据本公开的一个方面,提供了一种语义匹配方法,包括:对输入的第 一文本和第二文本执行分词和拼接处理,以得到第一词序列;将所述第一词 序列提供至嵌入网络,并通过所述嵌入网络将所述第一词序列转换为第一词 向量;将所述第一词向量提供至变换网络,其中所述变换网络还包括串联连 接的第一到第N变换层,其中,N为大于1的整数,所述第一变换层接收所 述第一词向量作为输入向量并且其他变换层接收与其串联连接的上一变换层 生成的特征向量作为其输入向量,每个变换层对所述输入向量进行特征提取并生成特征向量,并且每个变换层具有与其对应的分类网络;从第一变换层 开始逐层进行以下操作,直至生成所述第一文本和第二文本的语义匹配结 果:将该变换层所生成的特征向量提供至与其对应的分类网络;利用该变换 层所对应的分类网络基于其接收的特征向量生成语义匹配预测结果;在所述 语义匹配预测结果满足预定条件的情况下,基于所述语义匹配预测结果生成 所述第一文本和第二文本的语义匹配结果。

另外,在根据本公开实施例的方法中,所述语义匹配预测结果包括指示 所述第一文本和第二文本是否匹配的概率值,且所述预定条件包括:所述概 率值大于预定阈值。

另外,在根据本公开实施例的方法中,在第i变换层所对应的分类网络 的语义匹配预测结果满足预定条件的情况下,停止所述变换网络中其他变换 层及其对应分类网络的操作,其中i为大于等于1的整数。

另外,在根据本公开实施例的方法中,所述多个分类网络中的每一个包 括:全连接层、分类变换层和归一化层,并且其中所述分类网络基于其接收 的特征向量生成语义匹配预测结果,包括:所述全连接层接收所述分类网络 所对应的变换层输出的特征向量,并由所述全连接层将所述特征向量变换为 与语义匹配预测结果的类别数量对应的维度的特征向量;将所述全连接层输 出的特征向量提供到所述分类变换层,并由所述分类变换层输出经变换的特 征向量;将所述经变换的特征向量提供到所述归一化层,由所述归一化层对其中的各元素执行归一化,并将归一化的特征向量作为所述语义匹配预测结 果。

另外,在根据本公开实施例的方法中,通过以下处理来训练各网络:利 用第一训练数据集,训练所述嵌入网络、所述变换网络和所述第N变换层 所对应的分类网络;在保持完成训练的所述嵌入网络、所述变换网络和所述 第N变换层所对应的分类网络中的参数固定的情况下,利用第二训练数据 集,训练所述第一到第(N-1)变换层所对应的分类网络。

另外,在根据本公开实施例的方法中,所述第一训练数据集包括多个训 练数据,每个训练数据包括第三文本和第四文本以及第三文本和第四文本的 真实语义匹配结果,其中,利用第一训练数据集,训练所述嵌入网络、所述 变换网络和所述第N变换层所对应的分类网络包括:在所述第一训练数据 集中的至少一部分训练数据中,对每个训练数据的第三文本和第四文本执行 分词和拼接处理,以得到第二词序列;将所述第二词序列提供至所述嵌入网 络,并通过所述嵌入网络将所述第二词序列转换为第二词向量;将所述第二 词向量提供至所述变换网络,并将所述变换网络中的第N变换层输出的特 征向量提供至与其对应的分类网络;计算所述第N变换层所对应的分类网 络输出的语义匹配预测结果与真实语义匹配结果之间的第一损失函数;基于 所述第一损失函数,训练所述嵌入网络、所述变换网络和所述第N变换层 所对应的分类网络。

另外,在根据本公开实施例的方法中,所述第二训练数据集包括多个训 练数据,每个训练数据包括第五文本和第六文本,其中,利用第二训练数据 集,训练所述第一到第(N-1)变换层所对应的分类网络:在所述第二训练 数据集中的至少一部分训练数据中,对每个训练数据的第五文本和第六文本 执行分词和拼接处理,以得到第三词序列;将所述第三词序列提供至所述嵌 入网络,并通过所述嵌入网络将所述第三词序列转换为第三词向量;将所述 第三词向量提供至所述变换网络,并且将所述变换网络中的第一到第(N- 1)变换层输出的特征向量分别提供至与其对应的分类网络;计算由所述第 一到第(N-1)变换层所对应的多个分类网络输出的多个语义匹配预测结果 与所述第N变换层所对应的分类网络输出的语义匹配预测结果之间的第二 损失函数;基于所述第二损失函数,训练所述第一到第(N-1)变换层所对 应的分类网络。

另外,在根据本公开实施例的方法中,计算由所述第一到第(N-1)变 换层所对应的多个分类网络输出的多个语义匹配预测结果与所述第N变换 层所对应的分类网络输出的语义匹配预测结果之间的第二损失函数,包括: 计算由所述第一到第(N-1)变换层所对应的多个分类网络中的每一个输出 的语义匹配预测结果与所述第N变换层所对应的分类网络输出的语义匹配 预测结果之间的KL散度;将计算出的所有KL散度之和作为所述第二损失 函数。

根据本公开的另一方面,提供了一种语义匹配方法,包括:接收输入的 用户问题;根据上文中所述的方法,对于标准问答库中的至少一部分标准问 题中的每一个,确定其与所述用户问题的语义匹配结果;显示与所述用户问 题的语义最匹配的一个标准问题。

根据本公开的另一方面,提供了一种语义匹配装置,包括:存储器,用 于在其上存储计算机程序;处理器,用于当执行所述计算机程序时,执行以 下处理:对输入的第一文本和第二文本执行分词和拼接处理,以得到第一词 序列;将所述第一词序列提供至嵌入网络,并通过所述嵌入网络将所述第一 词序列转换为第一词向量;将所述第一词向量提供至变换网络,其中所述变 换网络还包括串联连接的第一到第N变换层,其中,所述第一变换层接收 所述第一词向量作为输入向量并且其他变换层接收与其串联连接的上一变换 层生成的特征向量作为其输入向量,每个变换层对所述输入向量进行特征提 取并生成特征向量,并且每个变换层具有与其对应的分类网络;以及从第一 变换层开始逐层进行以下操作,直至生成所述第一文本和第二文本的语义匹 配结果:将该变换层所生成的特征向量提供至与其对应的分类网络;利用该 变换层所对应的分类网络基于其接收的特征向量生成语义匹配预测结果;在 所述语义匹配预测结果满足预定条件的情况下,基于所述语义匹配预测结果 生成所述第一文本和第二文本的语义匹配结果。

另外,在根据本公开实施例的装置中,所述语义匹配预测结果包括指示 所述第一文本和第二文本是否匹配的概率值,且所述预定条件包括:所述概 率值大于预定阈值。

另外,在根据本公开实施例的装置中,其中所述多个分类网络中的每一 个包括:全连接层、分类变换层和归一化层,并且其中利用该变换层所对应 的分类网络基于其接收的特征向量生成语义匹配预测结果,包括:所述全连 接层接收所述分类网络所对应的变换层输出的特征向量,并由所述全连接层 将所述特征向量变换为与语义匹配预测结果的类别数量对应的维度的特征向 量;将所述全连接层输出的特征向量提供到所述分类变换层,并由所述分类 变换层输出经变换的特征向量;以及将所述经变换的特征向量提供到所述归 一化层,由所述归一化层对其中的各元素执行归一化,并将归一化的特征向 量作为所述语义匹配预测结果。

另外,在根据本公开实施例的装置中,通过以下处理来训练各网络:利 用第一训练数据集,训练所述嵌入网络、所述变换网络和所述第N变换层 所对应的分类网络;以及在保持完成训练的所述嵌入网络、所述变换网络和 所述第N变换层所对应的分类网络中的参数固定的情况下,利用第二训练 数据集,训练所述第一到第(N-1)变换层所对应的分类网络。

根据本公开的另一方面,提供了一种语义匹配装置,包括:分词拼接单 元,用于对输入的第一文本和第二文本执行分词和拼接处理,以得到第一词 序列;嵌入单元,包括嵌入网络,并通过所述嵌入网络将所述第一词序列转 换为第一词向量;变换单元,包括变换网络,其中所述变换网络包括串联连 接的第一到第N变换层,其中,N为大于1的整数,所述第一变换层接收所 述第一词向量作为输入向量并且其他变换层接收与其串联连接的上一变换层 生成的特征向量作为其输入向量,每个变换层对所述输入向量进行特征提取 并生成特征向量;以及分类单元,包括N个分类网络,每个变换层具有与 其一一对应的分类网络,每个分类网络用于从其对应的变换层接收特征向 量,并且生成该变换层所对应的所述第一文本和第二文本的语义匹配预测结 果;其中,所述变换网络和N个分类网络被配置为:从第一变换层开始逐 层进行以下操作,直至生成所述第一文本和第二文本的语义匹配结果:将该 变换层所生成的特征向量提供至与其对应的分类网络;利用该变换层所对应 的分类网络基于其接收的特征向量生成语义匹配预测结果;在所述语义匹配 预测结果满足预定条件的情况下,基于所述语义匹配预测结果生成所述第一 文本和第二文本的语义匹配结果。

另外,根据本公开的另一方面,提供了一种语义匹配设备,包括:接收 装置,接收输入的用户问题;根据上文中所述的语义匹配装置,用于对于标 准问答库中的至少一部分标准问题中的每一个,确定其与所述用户问题的语 义匹配结果;以及显示装置,用于显示与所述用户问题的语义最匹配的一个 标准问题。

根据本公开的又一方面,提供了一种计算机可读介质,其上存储有计算 机程序,当由处理器执行所述计算机程序时,执行如上文中所述的方法。

通过根据本公开实施例的语义匹配方法、装置和介质,一旦浅层的变换 层所对应的分类网络输出的预测结果满足预定条件,例如置信度足够高,就 不再进行后面的深层的变换层的处理。通过这样的设置,可以在用户问题比 较简单的情况下,提前输出浅层的变换层所对应的分类网络的令人满意的语 义匹配预测结果,而无需使用最后一个变换层所对应的分类网络的语义匹配 预测结果。从而,减少了语义匹配模型的计算负担,并提升模型的推理速 度,而且语义匹配计算的性能不会出现明显下降。

附图说明

图1是图示根据本公开实施例的语义匹配方法的过程的流程图;

图2是图示根据本公开实施例的语义匹配模型的示意性结构图;

图3是图示根据本公开实施例的第一阶段的训练过程的流程图;

图4是图示根据本公开实施例的第二阶段的训练过程的流程图;

图5是图示根据本公开实施例的语义匹配方法所应用到的应用场景的第 一示例的示意图;

图6是图示根据本公开实施例的语义匹配方法所应用到的应用场景的第 二示例的示意图;

图7是图示根据本公开实施例的语义匹配装置的配置的功能性框图;以 及

图8是根据本公开实施例的一种示例性的计算设备的架构的示意图。

具体实施方式

下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参 照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施 方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性 的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改 变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简 洁,将省略对本领域熟知功能和构造的详细描述。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得 最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科 学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智 能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设 计原理与实现方法,使机器具有感知、推理与决策的功能。

自然语言处理(Nature Language processing,NLP)是计算机科学领域与人 工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进 行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科 学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日 常使用的语言,所以它与语言学的研究有着密切的联系。例如,自然语言处 理技术可以包括文本处理、语义理解、语义匹配等技术。

首先,将参照图1描述根据本公开的实施例的一种语义匹配方法。如图 1所示,所述方法包括以下步骤。

首先,在步骤S101,对输入的第一文本和第二文本执行分词和拼接处 理,以得到第一词序列。

例如,当根据本公开实施例的语义匹配方法应用于搜索场景下的用户问 句和标准问句库的语义匹配问题时,第一文本可以是用户问题(query),第 二文本可以是标准问题(question)。假设将第一文本表示为并且将第二文本表示为P和M分别表示query和question的 词序列长度。其中,分别表示对第一文本执行分词处理后得到的各 个词,且分别表示对第二文本执行分词处理后得到的各个词。

然后,为了构建提供到后续网络的标准输入,将第一文本和第二文本的 两个词序列拼接为第一词序列,例如可以将其表示为 其中,[CLS]标志放在第一个句子的首位, [SEP]标志用于分开两个输入句子,由于输入第一文本和第二文本,因此要在 第一文本和第二文本之间增加[SEP]标志。

接下来,处理进行到步骤S102。在步骤S102,将所述第一词序列提供 至嵌入网络,并通过所述嵌入网络将所述第一词序列转换为第一词向量。通 过步骤S102的处理,可以将输入文本的字符型数据转换为数值型数据。例 如,假设通过所述嵌入网络将第一词序列转换为第一词向量e,那么存在以 下公式:

其中,表示为第i个词的嵌入向量且为维度是1×d的向量,且由于 增加了一个[CLS]标志和两个[SEP]标志,因此拼接后的最后一个词的嵌入向量 为

然后,在步骤S103,将所述第一词向量提供至变换网络。图2示出了根 据本公开实施例的语义匹配模型。如图2所示,所述语义匹配模型包括上文 中所述的嵌入网络201以及这里将要描述的变换网络202和多个分类网络 2031、2032、……203N。其中,所述变换网络202包括串联连接的第一到第N 变换层2021、2022、……202N。其中,N为大于1的整数,所述第一变换层 2021接收所述第一词向量作为输入向量,并且其他变换层2022、……202N接 收与其串联连接的上一变换层生成的特征向量作为其输入向量,每个变换层 对所述输入向量进行特征提取并生成特征向量,并且每个变换层具有与其对 应的分类网络。在图2中,可以看出,将每一个变换层的输出连接到与其对 应的分类网络。并且,多个分类网络2031、2032、……203N的网络结构是相 同的,只是各个网络的参数彼此不相同。

所述变换网络202用于对输入的第一词向量进行逐层的语义信息的提 取。例如,作为一种可能的实施方式,所述变换网络202中的每一个变换层 都可以通过自注意力机制获取输入的词向量中的特征信息。

计算自注意力的第一步是基于变换层的输入向量来创建三个向量:Q向 量、K向量和V向量。这些向量是通过将输入向量与3个变换矩阵相乘得到 的。以第(i+1)变换层为例进行说明。假设从第i变换层输出的特征向量为 Hi,并且该特征向量被输入到下一变换层,即第(i+1)变换层。

在第(i+1)变换层中,通过以下公式,基于输入向量Hi(例如,维度 为(P+M+3)×dk)来创建Qi向量、Ki向量和Vi向量:

Qi=HiWi Q,Ki=HiWi K,Vi=HiWi V (2)

其中,Wi Q、Wi K、Wi V分别表示分别与Qi向量、Ki向量和Vi向量对应 的参数矩阵。例如,Wi Q、Wi K、Wi V的维度可以是dk×dk,且Qi向量、Ki 向量和Vi向量的维度可以是(P+M+3)×dk

计算自注意力的第二步是计算注意力得分。假设要计算第一个词的特征 的自注意力得分,那么需要对输入向量中的每个词的特征进行打分。这个分 数决定了在变换某个位置上的词时,对其他词的关注程度。例如,这个得分 是通过计算Qi向量与Ki向量的点积得到的。

计算自注意力的第三步是将得分除以Ki向量的维度(dk)的平方根。 这能让梯度更新的过程更加稳定。

计算自注意力的第四步是然后通过Softmax函数对结果进行操作。 Softmax函数将分数归一化,使它们都是正数,且加起来等于1。

计算自注意力的第五步是将Vi量乘以Softmax函数的结果。这样做的 目的在于尽量保持想要关注的词的特征值不变,而掩盖掉那些不相关的词 (例如将它们乘以很小的数字)。

假设Hi表示从第(i+1)变换层输出的特征向量,那么上文中所述的第 二步至第五步的处理可以通过以下公式来实现:

返回参照图1,在步骤S103之后,处理进行到步骤S104。在步骤 S104,从第一变换层开始逐层进行以下操作,直至生成所述第一文本和第二 文本的语义匹配结果:将该变换层所生成的特征向量提供至与其对应的分类 网络;利用该变换层所对应的分类网络基于其接收的特征向量生成语义匹配 预测结果;在所述语义匹配预测结果满足预定条件的情况下,基于所述语义 匹配预测结果生成所述第一文本和第二文本的语义匹配结果。

如上所述,所述第一到第N变换层所对应的多个分类网络的网络结构 是相同的,只是具体的网络参数不同。具体地,所述多个分类网络中的每一 个可以包括:全连接层、分类变换层和归一化层。

其中,所述分类网络基于其接收的特征向量生成语义匹配预测结果,包 括以下步骤。

首先,将所述分类网络所对应的变换层输出的特征向量提供给所述全连 接层,并由所述全连接层将所述变换层输出的特征向量变换为与语义匹配预 测结果的类别数量对应的维度的特征向量。假设从第i变换层输出的特征向 量为Hi,并且从所述全连接层输出的向量为Y,则存在以下公式:

Y=WYHi+bY (4)

其中WY表示对应的参数矩阵,且bY表示一常数。

例如,如果将分类网络输出的语义匹配预测结果设置为2分类的预测结 果,那么从所述全连接层输出的特征向量Y为1×2维的向量。

然后,将所述全连接层输出的特征向量提供到所述分类变换层,并由所 述分类变换层输出经变换的特征向量。例如,这里的分类变换层可以与上文 中所述的第一至第N变换层具有类似的网络结构,但是不同的网络参数。 以Y′表示从所述分类变换层输出的特征向量,那么存在以下公式:

Y′=Transformer(Y) (5)

例如,在预测结果为2分类结果的情况下,其中y0′和y1′并不 一定是在0到1范围内的数,且二者之和也不一定等于1。

最后,将所述经变换的特征向量提供到所述归一化层,由所述归一化层 对其中的各元素执行归一化,并将归一化的特征向量作为所述语义匹配预测 结果。通过Softmax函数来执行所述归一化。例如,以表示从所述归一层 输出的特征向量,则存在以下公式:

具体地,

其中,与y0′和y1′不同,是在0到1范围内的数,且二者之和等于 1。

另外,所述语义匹配预测结果可以包括指示所述第一文本和第二文本是 否匹配的概率值,且所述预定条件包括:所述概率值大于预定阈值。由分类 网络输出的概率值越接近1,则认为其置信度越高。例如,所述预定阈值可 以设置为0.8、0.7等。

在图2中,示出了输出2分类结果作为语义预测结果的示例。由分类网 络输出包括P0、P1这两个元素的预测结果,其中,P0表示第一文本和第二文 本语义不匹配的概率,而P1表示第一文本和第二文本语义匹配的概率,并 且P0与P1之和为1。在这种情况下,只要P0和P1中的一个大于预定阈值, 就认为该语义匹配预测结果满足预定条件,进而能够作为最终的语义匹配预 测结果输出。

但是,在本公开中,由分类网络输出的语义匹配预测结果并不限于2分 类结果。例如,由分类网络输出的语义匹配预测结果也可以是3分类结果。 在这种情况下,可以由分类网络输出包括P0、P1、P2这三个元素的预测结 果,其中,P0表示第一文本和第二文本语义不匹配的概率,P1表示第一文本 和第二文本语义匹配的概率,而P2表示不能确定第一文本和第二文本是否 语义匹配的概率,并且P0、P1、P2之和为1。当然,取决于不同的应用场 景,还可能出现其他的分类结果,如4分类结果、5分类结果等。

另外,这里需要指出的是,在第i变换层所对应的分类网络的语义匹配 预测结果满足预定条件的情况下,停止所述变换网络中其他变换层及其对应 分类网络的操作,其中i为大于等于1的整数。换言之,一旦浅层的变换层 所对应的分类网络输出的预测结果满足预定条件,例如置信度足够高,就不 再进行后面的深层的变换层的处理。通过这样的设置,可以在用户问题比较 简单的情况下,提前输出浅层的变换层所对应的分类网络的令人满意的语义 匹配预测结果,而无需使用最后一个变换层所对应的分类网络的语义匹配预 测结果。从而,减少了语义匹配模型的计算负担,并提升模型的推理速度, 而且语义匹配计算的性能不会出现明显下降。这使得根据本公开的语义匹配 模型能够真正上线服务。

在上文中,参照图1的流程图,同时结合图2的模型结构图,详细描述 了根据本公开的实施例的语义匹配方法的具体过程。上文中所述的方法是在 嵌入网络、变换网络和分类网络均已完成训练的情况下执行的。接下来,将 具体描述所述语义匹配模型中包括的各个网络的训练过程。

根据本公开实施例的所述语义匹配模型中包括的各个网络的训练过程可 以包括两个阶段。

在第一阶段中,利用第一训练数据集,训练所述嵌入网络、所述变换网 络和所述第N变换层所对应的分类网络。

在第二阶段中,在保持完成训练的所述嵌入网络、所述变换网络和所述 第N变换层所对应的分类网络中的参数固定的情况下,利用第二训练数据 集,训练所述第一到第(N-1)变换层所对应的分类网络。

返回参照图2,可见,将多个分类网络2031、2032、……203N分为两部 分。将203N作为第一部分的分类网络,例如,可以将这一部分的分类网络 称作教师分类网络,并且在第一阶段的训练中进行参数调整。另外,将分类 网络2031、2032、……203N-1作为第二部分的分类网络,例如,可以将这一 部分的分类网络称作学生分类网络,并且在第二阶段的训练中进行参数调 整。

这两个阶段的训练过程可以认为是基于知识蒸馏的训练过程。知识蒸馏 是指使用大模型学习到的知识训练小模型,从而使得小模型具有大模型的泛 化能力。泛化能力是指机器学习算法对新鲜样本的适应能力。学习的目的是 学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训 练的网络也能够给出合适的输出。该能力称为泛化能力。在本公开中,由于 教师分类网络是在最后一层变换层的基础上增加的,因此其必然对应的是一 个大型的网络。相比之下,由于学生分类网络是在各层变换层的基础上增加的,因此对应的是一个小型的网络。通过利用语义匹配任务相关数据集训练 完成的教师分类网络,来训练学生分类网络,即:使用学生分类网络来蒸馏 教师分类网络的概率分布。

下面,将首先参照图3描述第一阶段的训练过程。所述第一训练数据集 可以包括多个训练数据,每个训练数据包括第三文本和第四文本以及第三文 本和第四文本的真实语义匹配结果。如图3所示,利用第一训练数据集,训 练所述嵌入网络、所述变换网络和所述第N变换层所对应的分类网络包括 以下步骤。

首先,在步骤S301,在所述第一训练数据集中的至少一部分训练数据 中,对每个训练数据的第三文本和第四文本执行分词和拼接处理,以得到第 二词序列。该步骤与上文中参照图1所述的步骤S101是类似的,只是输入 的数据不同。在图1中输入的是实际的用户问题和标准问题,而在图3中输 入的是用于训练的用户问题和标准问题。与实际的用户问题和标准问题相 比,用于训练的用户问题的标准问题具有作为正解的真实语义匹配结果。

然后,在步骤S302,将所述第二词序列提供至所述嵌入网络,并通过 所述嵌入网络将所述第二词序列转换为第二词向量。该步骤与上文中参照图 1所述的步骤S102在处理方式上是类似的。

接下来,在步骤S303,将所述第二词向量提供至所述变换网络,并将 所述变换网络中的第N变换层输出的特征向量提供至与其对应的分类网 络。

然后,在步骤S304,计算所述第N变换层所对应的分类网络输出的语 义匹配预测结果与真实语义匹配结果之间的第一损失函数。

接下来,在步骤S305,基于所述第一损失函数,训练所述嵌入网络、 所述变换网络和所述第N变换层所对应的分类网络。

具体地,在所述第一训练数据集中的至少一部分训练数据中,针对每一 个训练数据重复地执行上述步骤S301至S305的处理,以基于所述第一损失 函数,不断地调整所述嵌入网络、所述变换网络和所述第N变换层所对应 的分类网络中的网络参数。直到当所述第一损失函数收敛时,所述第一阶段 的训练过程结束,并且此时的所述嵌入网络、所述变换网络和所述第N变 换层所对应的分类网络的网络参数被固定下来,以用于后续的第二阶段的训 练过程。

接下来,将参照图4描述第二阶段的训练过程。所述第二训练数据集包 括多个训练数据,每个训练数据包括第五文本和第六文本。如图4所示,利 用第二训练数据集,训练所述第一到第(N-1)变换层所对应的分类网络包 括以下步骤。

首先,在步骤S401,在所述第二训练数据集中的至少一部分训练数据 中,对每个训练数据的第五文本和第六文本执行分词和拼接处理,以得到第 三词序列。该步骤与上文中参照图1所述的步骤S101是类似的,只是输入 的数据不同。在图1中输入的是实际的用户问题和标准问题,而在图4中输 入的是用于训练的用户问题和标准问题。与实际的用户问题和标准问题相 比,用于训练的用户问题的标准问题具有作为正解的语义匹配结果。然而, 与图3中的第一阶段的训练不同的是,这里的作为正解的语义匹配结果并不 是真实的语义匹配结果,而是由完成训练的教师分类网络输出的语义匹配预 测结果。

然后,在步骤S402,将所述第三词序列提供至所述嵌入网络,并通过 所述嵌入网络将所述第三词序列转换为第三词向量。该步骤与上文中参照图 1所述的步骤S102在处理方式上是类似的。

接下来,在步骤S403,将所述第三词向量提供至所述变换网络,并且 将所述变换网络中的第一到第(N-1)变换层输出的特征向量分别提供至与 其对应的分类网络。

然后,在步骤S404,计算由所述第一到第(N-1)变换层所对应的多个 分类网络输出的多个语义匹配预测结果与所述第N变换层所对应的分类网 络输出的语义匹配预测结果之间的第二损失函数。

例如,作为一种可能的实施方式,计算由所述第一到第(N-1)变换层 所对应的多个分类网络输出的多个语义匹配预测结果与所述第N变换层所 对应的分类网络输出的语义匹配预测结果之间的第二损失函数,可以包括以 下步骤。

首先,计算由所述第一到第(N-1)变换层所对应的多个分类网络中的 每一个输出的语义匹配预测结果与所述第N变换层所对应的分类网络输出 的语义匹配预测结果之间的KL散度(Kullback-Leibler Divergence),也称为 相对熵。假设是第i个学生分类网络的预测结果,以2分类的情况为例进 行说明。

在这种情况下,如上文中所示,P0和P1分别为预测query和 question是否语义匹配的概率。另外,假设pt是教师分类网络的预测结果, 并且类似地,可以通过以下公式,使用KL散度来衡量与pt之 间的差异:

pt=Teacher_Classifier(HN) (8)

其中,Teacher_Classifier表示教师分类网络,Student_Classifier_i表 示第i个学生分类网络,HN表示第N变换层输出的特征向量,且Hi表示第i 变换层输出的特征向量。

然后,将计算出的所有KL散度之和作为所述第二损失函数。在上文中 所述的语义匹配模型中共有(N-1)个学生分类网络的情况下,第二损失函 数为所有学生分类网络的KL散度之和。令表示第二损失 函数,那么存在以下公式:

接下来,在步骤S405,基于所述第二损失函数,训练所述第一到第 (N-1)变换层所对应的分类网络。

具体地,在所述第二训练数据集中的至少一部分训练数据中,针对每一 个训练数据重复地执行上述步骤S401至S405的处理,以基于所述第二损失 函数,不断地调整所述第一到第(N-1)变换层所对应的分类网络中的网络 参数。直到当所述第二损失函数收敛时,所述第二阶段的训练过程结束。

在上文中,参照图3和图4详细描述了根据本公开实施例的语义匹配模 型中各网络的训练过程。接下来,将参照图5和图6描述根据本公开实施例 的语义匹配方法的应用场景。

图5示出了根据本公开实施例的语义匹配方法所应用的、浏览器的搜索 场景的示意图。具体地,在搜索场景下,可以预先存储包括多个标准问题以 及相关联的多个答案的问答库。当用户在搜索框501中输入用户问题(例 如,“王者荣耀李白怎么玩”)时,可以将用户问题(作为第一文本)和所述 问答库中的多个标准问题中的每一个(作为第二文本)进行根据上文中参照 图1至图4所述的语义匹配方法的处理,以生成二者的语义匹配预测结果。当然,可替代地,也可以预先从所述问答库中通过其他处理而筛选出一部分 标准问题以用于与用户问题的语义匹配。然后,选择语义匹配度最高的一个 标准问题作为与用户问题对应的标准问题,显示在框502中。这里,在语义 匹配预测结果包括概率值的情况下,可以认为指示两个文本语义匹配的概率 值越大,则二者的匹配度越高。用户通过点击框502,就可以直接浏览与该 问题对应的答案。

另外,在图5中,可以看出,在用户输入问题之后且在点击搜索按钮 503之前,就显示与用户问题最匹配的标准问题。并且,在用户输入问题之 后,进一步在框504中显示基于用户问题而联想到的其他问题,如“王者荣 耀皮肤怎么样”、“王者荣耀李白和安琪拉什么关系”等。当用户期望将所输 入的问题切换为联想出的一个问题时,可以通过点击框504中的相应问题来 执行切换。在执行用户问题的切换之后,还可以进一步对应地显示与切换后的用户问题最匹配的标准问题及其答案。

图6示出了根据本公开实施例的语义匹配方法所应用的、浏览器的搜索 场景的示意图。在图6中,用户在搜索框601中输入用户问题“天空为什么 是蓝色的”,然后基于与以上参照图5所述的过程类似的过程,在问答库中 确定与该用户问题最匹配的一个标准问题“天空为什么是蓝色的,什么原 理”显示在框602中。用户通过点击框602,就可以直接浏览与该问题对应 的答案。

可以看出,与图5所示的界面不同的是,图6示出的是用户点击搜索按 钮之后的界面。与用户问题相关联的网页搜索结果显示在框603中。此时, 依然会在框602中显示与用户问题最匹配的标准问题及其答案。

因此,在搜索场景下,只要用户完成了用户问题的输入,就会显示与之 最匹配的标准问题及其答案,而不论用户是否点击了搜索按钮。

在将根据本公开实施例的语义匹配方法应用于浏览器的场景的情况下, 能够为用户问题匹配高质量的问答对,是搜索直达召回问答对的关键方案。 在业务标准评测集上,相比现有技术,通过应用根据本公开的语义匹配方 法,用于评估分类的各个指标都得到了显著的提升,例如AUC(Area Under Curve)上涨8%,ACC(Accuracy)上涨7.7%,TOP1召回率(其反映了被 正确判定的正例占总的正例的比重)上涨33.4%。服务部署上线后问答曝光 PV(Page View)上涨23%,点击PV上涨15%。从而,基于这些指标,可 以看出,在应用根据本公开的语义匹配方法的搜索场景中,能够高质量地召 回问答对,并精准地满足用户需求。并且,在业务标准评测集上,能够在准 确率保持不降低的情况下召回率有明显提升。

尽管在图5和图6中示出了将根据本公开实施例的语义匹配方法应用于 浏览器的搜索场景的情况,但是本领域的技术人员可以理解,根据本公开实 施例的语义匹配方法还可以类似地应用于任何其他需要对文本进行语义分析 和匹配的场景。

在上文中,已经参照图1至图6详细描述了根据本公开实施例的语义匹 配方法。通过根据本公开实施例的语义匹配方法,一旦浅层的变换层所对应 的分类网络输出的预测结果满足预定条件,例如置信度足够高,就不再进行 后面的深层的变换层的处理。通过这样的设置,可以在用户问题比较简单的 情况下,提前输出浅层的变换层所对应的分类网络的令人满意的语义匹配预 测结果,而无需使用最后一个变换层所对应的分类网络的语义匹配预测结 果。从而,减少了语义匹配模型的计算负担,并提升模型的推理速度,而且 语义匹配计算的性能不会出现明显下降。

接下来,将参照图7描述根据本公开实施例的语义匹配装置。如图7所 示,语义匹配装置700包括:分词拼接单元701、嵌入单元702、变换单元 703和分类单元704。

分词拼接单元701用于对输入的第一文本和第二文本执行分词和拼接处 理,以得到第一词序列。例如,当根据本公开实施例的语义匹配方法应用于 搜索场景下的用户问句和标准问句库的语义匹配问题时,第一文本可以是用 户问题(query),第二文本可以是标准问题(question)。假设将第一文本表 示为并且将第二文本表示为P和M分别表示 query和question的词序列长度。其中,分别表示通过分词拼接单元 901对第一文本执行分词处理后得到的各个词,且分别表示对第二 文本执行分词处理后得到的各个词。然后,为了构建提供到后续网络的标准 输入,分词拼接单元701将第一文本和第二文本的两个词序列拼接为第一词 序列,例如可以将其表示为其中, [CLS]标志放在第一个句子的首位,[SEP]标志用于分开两个输入句子,由于输 入第一文本和第二文本,因此要在第一文本和第二文本之间增加[SEP]标志。

嵌入单元702包括嵌入网络,并通过所述嵌入网络将所述第一词序列转 换为第一词向量。通过嵌入单元702执行的处理,可以将输入文本的字符型 数据转换为数值型数据。

变换单元703包括变换网络,其中所述变换网络还包括串联连接的第一 到第N变换层,其中,所述第一变换层接收所述第一词向量作为输入向量 并且其他变换层接收与其串联连接的上一变换层生成的特征向量作为其输入 向量,每个变换层对所述输入向量进行特征提取并生成特征向量,并且每个 变换层具有与其对应的分类网络。

所述变换网络用于对输入的第一词向量进行逐层的语义信息的提取。例 如,作为一种可能的实施方式,所述变换网络中的每一个变换层都可以通过 自注意力机制获取输入的词向量中的特征信息。具体的处理过程已经在上文 中描述。

分类单元704包括N个分类网络,每个变换层具有与其一一对应的分 类网络,每个分类网络用于从其对应的变换层接收特征向量,并且生成该变 换层所对应的所述第一文本和第二文本的语义匹配预测结果。

其中,所述变换网络和N个分类网络被配置为:从第一变换层开始逐 层进行以下操作,直至生成所述第一文本和第二文本的语义匹配结果:将该 变换层所生成的特征向量提供至与其对应的分类网络;利用该变换层所对应 的分类网络基于其接收的特征向量生成语义匹配预测结果;在所述语义匹配 预测结果满足预定条件的情况下,基于所述语义匹配预测结果生成所述第一 文本和第二文本的语义匹配结果。

如上所述,所述第一到第N变换层所对应的多个分类网络的网络结构 是相同的,只是具体的网络参数不同。具体地,所述多个分类网络中的每一 个可以包括:全连接层、分类变换层和归一化层。

所述分类单元704可以进一步被配置为:将所述分类网络所对应的变换 层输出的特征向量提供给所述全连接层,并由所述全连接层将所述变换层输 出的特征向量变换为与语义匹配预测结果的类别数量对应的维度的特征向 量;将所述全连接层输出的特征向量提供到所述分类变换层,并由所述分类 变换层输出经变换的特征向量;将所述经变换的特征向量提供到所述归一化 层,由所述归一化层对其中的各元素执行归一化,并将归一化的特征向量作 为所述语义匹配预测结果。

另外,所述语义匹配预测结果包括指示所述第一文本和第二文本是否匹 配的概率值,且所述预定条件包括:所述概率值大于预定阈值。由分类网络 输出的概率值越接近1,则认为其置信度越高。例如,所述预定阈值可以设 置为0.8、0.7等。

另外,这里需要指出的是,其中所述变换网络和所述分类网络可以进一 步被配置为:在第i变换层所对应的分类网络的语义匹配预测结果满足预定 条件的情况下,停止所述变换网络中其他变换层及其对应分类网络的操作, 其中i为大于等于1的整数。换言之,一旦浅层的变换层所对应的分类网络 输出的预测结果满足预定条件,例如置信度足够高,就不再进行后面的深层 的变换层的处理。通过这样的设置,可以在用户问题比较简单的情况下,提 前输出浅层的变换层所对应的分类网络的令人满意的语义匹配预测结果,而 无需使用最后一个变换层所对应的分类网络的语义匹配预测结果。从而,减 少了语义匹配模型的计算负担,并提升模型的推理速度,而且语义匹配计算 的性能不会出现明显下降。这使得根据本公开的语义匹配模型能够真正上线 服务。

另外,上述嵌入单元702、变换单元703和分类单元704在执行处理时 所使用的嵌入网络、变换网络和分类网络的具体训练过程已经在上文中详细 描述。为了简明起见,这里不再赘述。

此外,根据本公开实施例的方法或装置也可以借助于图8所示的计算设备 800的架构来实现。如图8所示,计算设备800可以包括总线810、一个或多个CPU820、只读存储器(ROM)830、随机存取存储器(RAM)840、连接到网 络的通信端口850、输入/输出组件860、硬盘870等。计算设备800中的存储设 备,例如ROM 830或硬盘870可以存储本公开提供的信息处理方法的处理和/ 或通信使用的各种数据或文件以及CPU所执行的程序指令。当然,图8所示的 架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图8示出 的计算设备中的一个或多个组件。

另外,根据本公开的另一方面,提供了一种语义匹配设备,可以包括:接 收装置,接收输入的用户问题;根据上文中所述的语义匹配装置,用于对于 标准问答库中的至少一部分标准问题中的每一个,确定其与所述用户问题的 语义匹配结果;以及显示装置,用于显示与所述用户问题的语义最匹配的一 个标准问题。

本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施 例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令 由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的语义匹 配方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易 失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或 高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器 (ROM)、硬盘、闪存等。

另外,本公开的实施例也可以被实现为一种计算机程序产品或计算机程 序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在 计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该 计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述语义匹 配方法。

迄今为止,已经参照图1到图8详细描述了根据本公开实施例的语义匹 配方法和装置。通过根据本公开实施例的语义匹配方法和装置,一旦浅层的 变换层所对应的分类网络输出的预测结果满足预定条件,例如置信度足够 高,就不再进行后面的深层的变换层的处理。通过这样的设置,可以在用户 问题比较简单的情况下,提前输出浅层的变换层所对应的分类网络的令人满 意的语义匹配预测结果,而无需使用最后一个变换层所对应的分类网络的语 义匹配预测结果。从而,减少了语义匹配模型的计算负担,并提升模型的推 理速度,而且语义匹配计算的性能不会出现明显下降。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体 意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或 者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还 包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情 况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方 法、物品或者设备中还存在另外的相同要素。

最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按 时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处 理。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来 实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者 部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介 质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或 者实施例的某些部分所述的方法。

以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理 及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法 及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在 具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应 理解为对本发明的限制。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:文本比对方法、装置、介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!