中文句子相似性判别方法、装置、计算机设备和存储介质与流程

专利检索2022-05-10  53



1.本技术涉及计算机技术领域,特别是涉及一种中文句子相似性判别方法、装置、计算机设备和存储介质。


背景技术:

2.句子对的相似性判别属于句间关系的研究范围。它的输入是一对文本,输出类型则与建模方式相关。若采用基于字面相似度或空间向量相似度的方式来建模,一般输出句子对的相似度值,再结合人工设置的阈值给出相似性判别结果。若采用分类思想来建模,一般会直接输出句子对的分类标签。随着深度学习技术的发展,采用预训练模型对文本进行向量表征,然后结合深度学习算法来判别句子对的相似性已成为了学术界和工业界的主流方法。
3.然而,传统的句子对相似性判别,均是从句子本身的语义出发,通过语义的相似度来判别句子对的相似度,从而导致相似度判别的泛化能力弱,并且精度低。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够解决目前句子对判别精度低问题的中文句子相似性判别方法、装置、计算机设备和存储介质。
5.一种中文句子相似性判别方法,所述方法包括:
6.获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本;
7.通过预训练的结合多头注意力机制的bert向量编码器对所述拼接文本进行编码,得到句对向量;
8.将所述句对向量输入预训练的全连接神经网络,输出所述中文句子对的相似标签和不相似标签;所述相似标签和所述不相似标签均对应概率值;
9.提取表征句子对之间相关性的多个相关性特征,将所述文本特征、所述相似标签和所述不相似标签进行拼接,得到融合特征;
10.将所述融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
11.在其中一个实施例中,还包括:获取中文句子对,将句子对中句子s1和s2的每一个字用空格来切割,并且按照[cls]s1[sep]s2[sep]的顺序依次完成句子对的拼接;其中,cls表示句首标签,sep表示句尾标签。
[0012]
在其中一个实施例中,所述bert向量编码器为双向编码器;还包括:通过预训练的双向编码器,结合多头注意力机制对所述拼接文本进行编码,得到句对向量。
[0013]
在其中一个实施例中,所述全连接神经网络包括:输入层、全连接层和softmax输出层,还包括:将所述句对向量输入预训练的全连接神经网络的输入层,由所述全连接层对所述句对向量进行映射处理,得到1
×
2维向量;通过softmax输出层对所述1
×
2维向量进行归一化,得到相似标签和不相似标签。
[0014]
在其中一个实施例中,所述相关性特征包括:情感倾向一致性、句对文本长度差比
率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;还包括:从中文句子对中提取表征句子对之间相关性的情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;将情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率、句对文本同义词覆盖率、所述相似标签和所述不相似标签进行拼接,得到融合特征。
[0015]
在其中一个实施例中,还包括:从中文句子对中提取表征句子对之间相关性的情感倾向一致性为:
[0016][0017]
其中,sa表示情感倾向一致性;
[0018]
从中文句子对中提取表征句子对之间相关性的句对文本长度差比率为:
[0019][0020]
其中,len(a)和len(b)表示中文句子对中两个句子的长度,ld表示句对文本长度差比率;
[0021]
从中文句子对中提取表征句子对之间相关性的句对文本相同字符覆盖率为:
[0022][0023]
其中,t(a,b)表示中文句子对中两个句子相同的字符总数,scc表示句对文本相同字符覆盖率;
[0024]
从中文句子对中提取表征句子对之间相关性的句对文本同义词覆盖率为:
[0025][0026]
其中,sc表示句对文本同义词覆盖率。
[0027]
在其中一个实施例中,述分类器包括:贝叶斯模型或者随机森林模型。
[0028]
一种中文句子相似性判别装置,所述装置包括:
[0029]
预处理模块,用于获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本;
[0030]
编码模块,用于通过预训练的结合多头注意力机制的bert向量编码器对所述拼接文本进行编码,得到句对向量;
[0031]
将所述句对向量输入预训练的全连接神经网络,输出所述中文句子对的相似标签和不相似标签;所述相似标签和所述不相似标签均对应概率值;
[0032]
提取表征句子对之间相关性的多个相关性特征,将所述文本特征、所述相似标签和所述不相似标签进行拼接,得到融合特征;
[0033]
将所述融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
[0034]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0035]
获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本;
[0036]
通过预训练的结合多头注意力机制的bert向量编码器对所述拼接文本进行编码,
得到句对向量;
[0037]
将所述句对向量输入预训练的全连接神经网络,输出所述中文句子对的相似标签和不相似标签;所述相似标签和所述不相似标签均对应概率值;
[0038]
提取表征句子对之间相关性的多个相关性特征,将所述文本特征、所述相似标签和所述不相似标签进行拼接,得到融合特征;
[0039]
将所述融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
[0040]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0041]
获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本;
[0042]
通过预训练的结合多头注意力机制的bert向量编码器对所述拼接文本进行编码,得到句对向量;
[0043]
将所述句对向量输入预训练的全连接神经网络,输出所述中文句子对的相似标签和不相似标签;所述相似标签和所述不相似标签均对应概率值;
[0044]
提取表征句子对之间相关性的多个相关性特征,将所述文本特征、所述相似标签和所述不相似标签进行拼接,得到融合特征;
[0045]
将所述融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
[0046]
上述中文句子相似性判别方法、装置、计算机设备和存储介质,首先,通过对中文句子对进行预处理,然后结合多头注意力机制的bert向量编码器,可以提取到深层语义的句对向量,然后通过全连接神经网络,提取得到相似标签和不相似标签,用以表示句子对的深层语义特征,然后通过提取表示句子对之间相似性的显示特征,通过深层语义特征和显示特征融合,并且由分类器自动输出判别结果,不仅泛化能力强,并且判别精度高。
附图说明
[0047]
图1为一个实施例中中文句子相似性判别方法的流程示意图;
[0048]
图2为一个实施例中中文句子相似性判别的流程框图;
[0049]
图3为一个实施例中中文句子相似性判别装置的结构框图;
[0050]
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
[0051]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0052]
在一个实施例中,如图1所示,提供了一种中文句子相似性判别方法,包括以下步骤:
[0053]
步骤102,获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本。
[0054]
中文句子对表示输入的数据为两个中文句子,例如:“怎么更改还款卡”和“如何修改还款卡”。拼接指的是将两个句子合为一个拼接文本进行处理。
[0055]
具体的,本发明可以应用在智能问答系统中,由于中文表达的多样化,表达同一个含义可以多种不同的句式,而在智能问答系统中,一般只保存一种或者少量的几种句式,在
用户输入问题时,例如“怎么更改还款卡”,服务器通过网络获取用户输入的中文文本“怎么更改还款卡”,或者从终端的输入界面获取中文文本“怎么更改还款卡”,具体形式在不做具体限制,然后智能问答系统初步选择对应的中文文本“如何修改还款卡”,然后“怎么更改还款卡”和“如何修改还款卡”作为中文句子的输入。
[0056]
具体的,作为输入的中文句子对,可以是存储在数据库的表单中,或者word、excel、txt等格式的文档中,以便计算机可以识别。
[0057]
步骤104,通过预训练的结合多头注意力机制的bert向量编码器对拼接文本进行编码,得到句对向量。
[0058]
bert向量编码器具有文本的编码能力,可以将文本转化为对应含义的向量,通过结合多头注意力机制,可以提取到深层含义的语义特征。
[0059]
步骤106,将句对向量输入预训练的全连接神经网络,输出中文句子对的相似标签和不相似标签;
[0060]
似标签和所述不相似标签均对应概率值。
[0061]
步骤108,提取表征句子对之间相关性的多个相关性特征,将文本特征、相似标签和不相似标签进行拼接,得到融合特征。
[0062]
步骤110,将融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
[0063]
上述中文句子相似性判别方法中,首先,通过对中文句子对进行预处理,然后结合多头注意力机制的bert向量编码器,可以提取到深层语义的句对向量,然后通过全连接神经网络,提取得到相似标签和不相似标签,用以表示句子对的深层语义特征,然后通过提取表示句子对之间相似性的显示特征,通过深层语义特征和显示特征融合,并且由分类器自动输出判别结果,不仅泛化能力强,并且判别精度高。
[0064]
在其中一个实施例中,在进行拼接时,具体可以是:获取中文句子对,将句子对中句子s1和s2的每一个字用空格来切割,并且按照[cls]s1[sep]s2[sep]的顺序依次完成句子对的拼接;其中,cls表示句首标签,sep表示句尾标签。
[0065]
在其中一个实施例中,bert向量编码器为双向编码器,通过预训练的双向编码器,结合多头注意力机制对拼接文本进行编码,得到句对向量。
[0066]
具体的,把整个深层语义信息计算层抽象成一个特征降维的过程。在编码层,首先利用bert对预处理之后的句对文本片段做交互式编码转换得到1
×
m维的句对向量。bert模型采用双向transformer作为编码器实现特征抽取,并结合多头注意力机制捕获更多上下文信息,从而将词语转化为语义特征更丰富的向量形式。自注意力机制输入部分由query(q),key(k),value(v)三个向量构成,再通过q*k来表示输入部分字向量的相似度,然后通过dk进行合理缩放。最后由softmax函数做归一化处理得到最终概率分布,进而输出句中所有词向量的权重求和表示。注意力和多头注意力计算过程见公式(1)

(3):
[0067][0068]
mutilhead(q,k,v)=concat(head1,...,head
n
)w
o
ꢀꢀꢀ
(2)
[0069][0070]
相关参数矩阵
实验中,取h=12,d
k
=d
v
=d
model
/h=64。经过编码层后得到1
×
m维的句对向量,需要注意的是,实验中取倒数第二层的输出值作为句向量。
[0071]
在其中一个实施例中,全连接神经网络包括:输入层、全连接层和softmax输出层。将句对向量输入预训练的全连接神经网络的输入层,由全连接层对句对向量进行映射处理,得到1
×
2维向量;通过softmax输出层对1
×
2维向量进行归一化,得到相似标签和不相似标签。
[0072]
具体的,全连接层的相关计算步骤见公式(4)和(5):
[0073][0074][0075]
实验中,将1
×
768维的句对向量映射成1
×
2维的向量,即取m=768,k=2,指第j维特征对应的权重系数,b
j
指第j维特征对应的偏置。最后将得到的1
×
2维向量输入到softmax函数中输出对应类别的归一化概率。不同类别所对应的概率计算过程见公式(6)和(7):
[0076][0077]
0≤p(y
i
)≤1,∑
i
p(y
i
)=1
ꢀꢀꢀ
(7)
[0078]
因为分类对象为是否相似的二分类问题,所以最终类别数为2,即i=1或者2。结合公式(1)

(7)可以将任意句子对转化为一个可量化的深层语义向量[p1,p2],其中,p1指不相似概率,p2指相似概率。
[0079]
在其中一个实施例中,相关性特征包括:情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;从中文句子对中提取表征句子对之间相关性的情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;将情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率、句对文本同义词覆盖率、相似标签和不相似标签进行拼接,得到融合特征。
[0080]
具体的,在的到深层特征的判别结果后,未直接完成分类,而是将这两个概率值作为深层语义向量,然后再拼接4个归一化之后的显式特征来共同构建新的向量作为模型的输入数据来完成新分类器的训练,从而进一步提升模型的整体性能,其中指向量拼接运算。
[0081]
在其中一个实施例中,从中文句子对中提取表征句子对之间相关性的情感倾向一致性为:
[0082]
[0083]
其中,sa表示情感倾向一致性;
[0084]
从中文句子对中提取表征句子对之间相关性的句对文本长度差比率为:
[0085][0086]
其中,len(a)和len(b)表示中文句子对中两个句子的长度,ld表示句对文本长度差比率;
[0087]
从中文句子对中提取表征句子对之间相关性的句对文本相同字符覆盖率为:
[0088][0089]
其中,t(a,b)表示中文句子对中两个句子相同的字符总数,scc表示句对文本相同字符覆盖率;
[0090]
从中文句子对中提取表征句子对之间相关性的句对文本同义词覆盖率为:
[0091][0092]
其中,sc表示句对文本同义词覆盖率。
[0093]
在其中一个实施例中,分类器包括:贝叶斯模型或者随机森林模型。
[0094]
具体的,利用python提供的sk

learn算法工具包中贝叶斯或者随机森林等基础分类算法来完成中文句子对的相似性判别。本发明的具体流程如图2所示。
[0095]
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0096]
在一个实施例中,如图3所示,提供了一种中文句子相似性判别装置,包括:预处理模块302、编码模块304、深层特征提取模块306、特征融合模块308和判别模块310,其中:
[0097]
预处理模块302,用于获取中文句子对,并且对所述中文句子对进行拼接,得到拼接文本;
[0098]
编码模块304,用于通过预训练的结合多头注意力机制的bert向量编码器对所述拼接文本进行编码,得到句对向量;
[0099]
深层特征提取模块306,用于将所述句对向量输入预训练的全连接神经网络,输出所述中文句子对的相似标签和不相似标签;所述相似标签和所述不相似标签均对应概率值;
[0100]
特征融合模块308,用于提取表征句子对之间相关性的多个相关性特征,将所述文本特征、所述相似标签和所述不相似标签进行拼接,得到融合特征;
[0101]
判别模块310,用于将所述融合特征输入预先训练的分类器,输出中文句子对相似性判别结果。
[0102]
在其中一个实施例中,预处理模块302还用于获取中文句子对,将句子对中句子s1
和s2的每一个字用空格来切割,并且按照[cls]s1[sep]s2[sep]的顺序依次完成句子对的拼接;其中,cls表示句首标签,sep表示句尾标签。
[0103]
在其中一个实施例中,所述bert向量编码器为双向编码器;编码模块304还用于通过预训练的双向编码器,结合多头注意力机制对所述拼接文本进行编码,得到句对向量。
[0104]
在其中一个实施例中,全连接神经网络包括:输入层、全连接层和softmax输出层;深层特征提取模块306还用于将所述句对向量输入预训练的全连接神经网络的输入层,由所述全连接层对所述句对向量进行映射处理,得到1
×
2维向量;通过softmax输出层对所述1
×
2维向量进行归一化,得到相似标签和不相似标签。
[0105]
在其中一个实施例中,所述相关性特征包括:情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;特征融合模块308还用于从中文句子对中提取表征句子对之间相关性的情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率以及句对文本同义词覆盖率;将情感倾向一致性、句对文本长度差比率、句对文本相同字符覆盖率、句对文本同义词覆盖率、所述相似标签和所述不相似标签进行拼接,得到融合特征。
[0106]
在其中一个实施例中,特征融合模块308还用于从中文句子对中提取表征句子对之间相关性的情感倾向一致性为:
[0107][0108]
其中,sa表示情感倾向一致性;
[0109]
从中文句子对中提取表征句子对之间相关性的句对文本长度差比率为:
[0110][0111]
其中,len(a)和len(b)表示中文句子对中两个句子的长度,ld表示句对文本长度差比率;
[0112]
从中文句子对中提取表征句子对之间相关性的句对文本相同字符覆盖率为:
[0113][0114]
其中,t(a,b)表示中文句子对中两个句子相同的字符总数,scc表示句对文本相同字符覆盖率;
[0115]
从中文句子对中提取表征句子对之间相关性的句对文本同义词覆盖率为:
[0116][0117]
其中,sc表示句对文本同义词覆盖率。
[0118]
在其中一个实施例中,分类器包括:贝叶斯模型或者随机森林模型。
[0119]
关于中文句子相似性判别装置的具体限定可以参见上文中对于中文句子相似性判别方法的限定,在此不再赘述。上述中文句子相似性判别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执
行以上各个模块对应的操作。
[0120]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种中文句子相似性判别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0121]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0122]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
[0123]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
[0124]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0125]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0126]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://win.8miu.com/read-25662.html

最新回复(0)