本发明涉及语义识别技术领域,尤其涉及一种语义相似度计算方法及装置。
背景技术:
语义相似度计算主要是判断两个句子语义是否相似,比如判断“北极有什么动物”和“有哪些动物生活在北极”是否相似。现在语义相似度主要是基于字面上的句法特征,通过特征选择,将句子表示成向量,然后对两个句子计算余弦相似度,大于设定相似度则相似,否则不相似。
现有相似度计算主要存在以下问题:
1)缺少对句子的语序及语义的刻画;
2)依赖大量高精准的同义词或对齐短语资源。
技术实现要素:
本发明实施例提供一种语义相似度计算方法及装置,用以实现更准确的确定句子之间的相似度。
根据本发明实施例的第一方面,提供一种语义相似度计算方法,包括:
分别对句子对中的第一句子和第二句子进行预处理,提取第一句子对应的第一句法、第二句子对应的第二句法以及所述第一句子和所述第二句子之间的统计特征;
分别将所述第一句子和第二句子中的词语和词性转化成向量,得到对应的第一特征矩阵和第二特征矩阵;
根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型确定对应的第一句子初步表示和第二句子初步表示;
根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的统计特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度;
根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似。
在一个实施例中,所述分别将所述第一句子和第二句子中的词语和词性转化成向量,确定对应的第一特征矩阵和第二特征矩阵,包括:
利用word2vec分别将所述第一句子和所述第二句子中的词语转化成词向量,得到第一句子对应的第一词语特征矩阵和第二句子对应的第二词语特征矩阵;
利用pos2vec分别将所述第一句子和所述第二句子中的词性转化成词性向量,得到第一句子对应的第一词性特征矩阵和第二句子对应的第二词性特征矩阵;
将所述第一词语特征矩阵和所述第一词性特征矩阵拼接得到所述第一特征矩阵,将所述第二词语特征矩阵和所述第二词特征矩阵拼接得到所述第二特征矩阵。
在一个实施例中,所述根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型得到对应的第一句子初步表示和第二句子初步表示,包括:
分别将所述第一特征矩阵和所述第二特征矩阵作为所述第一深度神经网络模型的输入,得到对应的第一句子初步表示和第二句子初步表示。
在一个实施例中,所述根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度,包括:
分别对所述第一句子初步表示和所述第二句子初步表示做逐点相减和逐点相乘运算,得到对应的几何距离特征矩阵和角度距离特征矩阵;
将所述统计特征编码成向量,得到对应的统计特征向量;
将所述统计特征向量、所述几何距离特征矩阵和所述角度距离特征矩阵进行拼接,得到拼接结果;
将所述拼接结果作为所述第二深度神经网络模型的输入,计算得到所述第一句子和所述第二句子的相似度。
在一个实施例中,所述根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似,包括:
当所述第一句子和所述第二句子之间的相似度大于预设相似度时,确定所述第一句子和所述第二句子相似;
当所述第一句子和所述第二句子之间的相似度小于或者等于预设相似度时,确定所述第二句子和所述第二句子不相似。
根据本发明实施例的第二方面,提供一种语义相似度计算装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
分别对句子对中的第一句子和第二句子进行预处理,提取第一句子对应的第一句法、第二句子对应的第二句法以及所述第一句子和所述第二句子之间的统计特征;
分别将所述第一句子和第二句子中的词语和词性转化成向量,得到对应的第一特征矩阵和第二特征矩阵;
根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型确定对应的第一句子初步表示和第二句子初步表示;
根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的统计特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度;
根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似。
在一个实施例中,所述分别将所述第一句子和第二句子中的词语和词性转化成向量,确定对应的第一特征矩阵和第二特征矩阵,包括:
利用word2vec分别将所述第一句子和所述第二句子中的词语转化成词向量,得到第一句子对应的第一词语特征矩阵和第二句子对应的第二词语特征矩阵;
利用pos2vec分别将所述第一句子和所述第二句子中的词性转化成词性向量,得到第一句子对应的第一词性特征矩阵和第二句子对应的第二词性特征矩阵;
将所述第一词语特征矩阵和所述第一词性特征矩阵拼接得到所述第一特征矩阵,将所述第二词语特征矩阵和所述第二词特征矩阵拼接得到所述第二特征矩阵。
在一个实施例中,所述根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型得到对应的第一句子初步表示和第二句子初步表示,包括:
分别将所述第一特征矩阵和所述第二特征矩阵作为所述第一深度神经网络模型的输入,得到对应的第一句子初步表示和第二句子初步表示。
在一个实施例中,所述根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度,包括:
分别对所述第一句子初步表示和所述第二句子初步表示做逐点相减和逐点相乘运算,得到对应的几何距离特征矩阵和角度距离特征矩阵;
将所述统计特征编码成向量,得到对应的统计特征向量;
将所述统计特征向量、所述几何距离特征矩阵和所述角度距离特征矩阵
进行拼接,得到拼接结果;
将所述拼接结果作为所述第二深度神经网络模型的输入,计算得到所述第一句子和所述第二句子的相似度。
在一个实施例中,所述根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似,包括:
当所述第一句子和所述第二句子之间的相似度大于预设相似度时,确定所述第一句子和所述第二句子相似;
当所述第一句子和所述第二句子之间的相似度小于或者等于预设相似度时,确定所述第二句子和所述第二句子不相似。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种语义相似度计算方法的流程图。
图2是根据一示例性实施例示出的一种语义相似度计算方法中步骤s102的流程图。
图3是根据一示例性实施例示出的另一种语义相似度计算方法的流程图。
图4是根据一示例性实施例示出的一种语义相似度计算方法中步骤s104的流程图。
图5是根据一示例性实施例示出的一种语义相似度计算方法中步骤s105的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种语义相似度计算方法的流程图。该语音相似度计算方法可应用于终端设备或服务器中,该终端设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等设备。如图1所示,该方法包括步骤s101-s105:
在步骤s101中,分别对句子对中的第一句子和第二句子进行预处理,提取第一句子对应的第一句法、第二句子对应的第二句法以及所述第一句子和所述第二句子之间的统计特征;
其中,句法即句子的语法统计特征包括词性特征,词序特征,词性之间的相似度特征,句子之间的匹配度特征,词语的匹配度特征等。
在步骤s102中,分别将所述第一句子和第二句子中的词语和词性转化成向量,得到对应的第一特征矩阵和第二特征矩阵;
在步骤s103中,根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型确定对应的第一句子初步表示和第二句子初步表示;
在步骤s104中,根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的统计特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度;
在步骤s105中,根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似。
在该实施例中,根据句子的词语,词性,句子对之间的统计特征和第一深度神经网络模型来确定句子之间的空间距离和余弦距离,进而根据句子之间的空间距离和余弦距离确定句子之间的相似度,这样,融合了词特征、词序特征、短语特征和句子级别上的统计特征,可以更加准确的确定句子之间的相似度。
图2是根据一示例性实施例示出的一种语义相似度计算方法中步骤s102的流程图。
如图2所示,在一个实施例中,上述步骤s102包括步骤s201-s203:
步骤s201,利用word2vec分别将所述第一句子和所述第二句子中的词语转化成词向量,得到第一句子对应的第一词语特征矩阵和第二句子对应的第二词语特征矩阵;
步骤s202,利用pos2vec分别将所述第一句子和所述第二句子中的词性转化成词性向量,得到第一句子对应的第一词性特征矩阵和第二句子对应的第二词性特征矩阵;
步骤s203,将所述第一词语特征矩阵和所述第一词性特征矩阵拼接得到所述第一特征矩阵,将所述第二词语特征矩阵和所述第二词特征矩阵拼接得到所述第二特征矩阵。
在该实施例中,分别将句子中的词语和词性表征为向量,进而得到句子对应的特征矩阵,以便后续根据特征矩阵确定句子之间的相似度。
图3是根据一示例性实施例示出的另一种语义相似度计算方法的流程图。
如图3所示,在一个实施例中,上述步骤s103包括步骤s301:
步骤s301,分别将所述第一特征矩阵和所述第二特征矩阵作为所述第一深度神经网络模型的输入,得到对应的第一句子初步表示和第二句子初步表示。
在该实施例中,将第一特征矩阵作为第一深度神经网络模型的输入,得到第一句子初步表示,将第二特征矩阵作为第一深度神经网络模型的输入,得到第二句子初步表示,以便后续根据句子初步表示确定句子之间的相似度。
图4是根据一示例性实施例示出的一种语义相似度计算方法中步骤s104的流程图。
如图4所示,在一个实施例中,上述步骤s104包括步骤s401-步骤s404:
步骤s401,分别对所述第一句子初步表示和所述第二句子初步表示做逐点相减和逐点相乘运算,得到对应的几何距离特征矩阵和角度距离特征矩阵;
假如输入是a、b两个句子,它们的初步表示记作ra和rb,则它们之间的几何距离表示为dist(|ra-rb|),角度距离表示为angle(ra⊙rb)。
步骤s402,将所述统计特征编码成向量,得到对应的统计特征向量;
步骤s403,将所述统计特征向量、所述几何距离特征矩阵和所述角度距离特征矩阵进行拼接,得到拼接结果;
步骤s404,将所述拼接结果作为所述第二深度神经网络模型的输入,计算得到所述第一句子和所述第二句子的相似度。
在该实施例中,将句子之间的统计特征向量、几何距离特征矩阵和角度距离特征矩阵作为第二深度神经网络模型的输入,对句子的最终表示做变换,进而得到两个句子之间相似的概率值,即句子之间的相似度,这样,融合了词特征、词序特征、短语特征和句子级别上的统计特征,可以更加准确的确定句子之间的相似度。
图5是根据一示例性实施例示出的一种语义相似度计算方法中步骤s105的流程图。
如图5所示,在一个实施例中,上述步骤s105包括步骤s501-s502:
步骤s501,当所述第一句子和所述第二句子之间的相似度大于预设相似度时,确定所述第一句子和所述第二句子相似;
步骤s502,当所述第一句子和所述第二句子之间的相似度小于或者等于预设相似度时,确定所述第二句子和所述第二句子不相似。
在该实施例中,可以设置预设相似度,如80%,则在两个句子之间的相似度大于80%时确定两个句子相似,否则,确定两个句子不相似。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
根据本发明实施例的第二方面,提供一种语义相似度计算装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
分别对句子对中的第一句子和第二句子进行预处理,提取第一句子对应的第一句法、第二句子对应的第二句法以及所述第一句子和所述第二句子之间的统计特征;
分别将所述第一句子和第二句子中的词语和词性转化成向量,得到对应的第一特征矩阵和第二特征矩阵;
根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型确定对应的第一句子初步表示和第二句子初步表示;
根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的统计特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度;
根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似。
在一个实施例中,所述分别将所述第一句子和第二句子中的词语和词性转化成向量,确定对应的第一特征矩阵和第二特征矩阵,包括:
利用word2vec分别将所述第一句子和所述第二句子中的词语转化成词向量,得到第一句子对应的第一词语特征矩阵和第二句子对应的第二词语特征矩阵;
利用pos2vec分别将所述第一句子和所述第二句子中的词性转化成词性向量,得到第一句子对应的第一词性特征矩阵和第二句子对应的第二词性特征矩阵;
将所述第一词语特征矩阵和所述第一词性特征矩阵拼接得到所述第一特征矩阵,将所述第二词语特征矩阵和所述第二词特征矩阵拼接得到所述第二特征矩阵。
在一个实施例中,所述根据所述第一特征矩阵、第二特征矩阵和预设的第一深度神经网络模型得到对应的第一句子初步表示和第二句子初步表示,包括:
分别将所述第一特征矩阵和所述第二特征矩阵作为所述第一深度神经网络模型的输入,得到对应的第一句子初步表示和第二句子初步表示。
在一个实施例中,所述根据所述第一句子初步表示、第二句子初步表示、所述统计特征对应的特征向量和预设的第二深度神经网络模型确定所述第一句子和所述第二句子之间的相似度,包括:
分别对所述第一句子初步表示和所述第二句子初步表示做逐点相减和逐点相乘运算,得到对应的几何距离特征矩阵和角度距离特征矩阵;
将所述统计特征编码成向量,得到对应的统计特征向量;
将所述统计特征向量、所述几何距离特征矩阵和所述角度距离特征矩阵进行拼接,得到拼接结果;
将所述拼接结果作为所述第二深度神经网络模型的输入,计算得到所述第一句子和所述第二句子的相似度。
在一个实施例中,所述根据所述第一句子和所述第二句子之间的相似度确定所述第一句子和所述第二句子是否相似,包括:
当所述第一句子和所述第二句子之间的相似度大于预设相似度时,确定所述第一句子和所述第二句子相似;
当所述第一句子和所述第二句子之间的相似度小于或者等于预设相似度时,确定所述第二句子和所述第二句子不相似。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。