一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向消防安全知识智能问答的文本语义匹配方法和装置

2022-05-31 12:49:32 来源:中国专利 TAG:


1.本发明涉及人工智能、自然语言处理技术领域,具体涉及面向消防安全知识智能问答的文本语义匹配方法和装置。


背景技术:

2.有效的消防安全教育,对于降低消防安全隐患、保护民众的财产安全具有重要意义。面对广泛的安全教育需求,如何利用人机交互技术实现消防安全知识的智能自动问答,以满足群众的自我学习的需要,是一个亟待解决的问题。智能问答系统能够针对用户提出的问题自动在问答知识库中找到与之语义相近的标准问题,并将该标准问题的答案推送给用户,可以大大减轻人工答复的负担。对于用户提出的千差万别的消防安全知识问题,如何为其找到与之语义相近的标准问题,是面向消防安全知识智能问答系统的核心技术。该技术的本质是衡量用户提出的问题与问答知识库中标准问题的匹配程度,其实质是文本语义匹配任务。
3.文本语义匹配任务旨在衡量两个文本所蕴含的语义是否一致,这与许多自然语言处理任务的核心目标是一致的。自然语言文本的语义匹配度计算是一项极具挑战的工作,现有方法还尚未能完善地解决这一问题。
4.现有方法通常通过捕捉词粒度上的语义信息取得了很好的性能,但是往往这些方法侧重于英文,对汉语的语义匹配研究较少,目前基于汉语的语义匹配方法只是考虑字和词粒度信息,但是,拼音以及部首粒度信息也是非常重要的特征。
5.针对现有的文本语义匹配方法的不足和消防安全知识智能问答的需要,本发明提出了一种面向消防安全知识智能问答的文本语义匹配方法和装置。该方法对文本进行多粒度语义提取,可以使提取的语义特征更加全面;实现一种多层次提取语义特征的网络结构,使得捕获不同层次的语义特征;使用注意力机制对文本进行编码处理,并有效捕获文本间的交互特征。其核心思想是通过多层编码结构对文本进行多粒度特征的提取,随后将不同层次的语义特征联接,通过最大池化和平均池化提取关键语义信息,进而利用多种文本匹配机制进行预测文本匹配程度。


技术实现要素:

6.本发明的技术任务是提供一种面向消防安全知识智能问答的文本语义匹配方法和装置,通过捕获更多的语义上下文特征、不同维度间编码信息的联系和文本间的交互信息,以实现文本的智能语义匹配。
7.本发明的技术任务是按以下方式实现的,面向消防安全知识智能问答的文本语义匹配方法,该方法通过构建并训练由文本嵌入模块、输入编码模块、多粒度交互模块、特征融合模块和预测模块所构成的语义匹配模型,通过捕获更多的语义上下文特征、不同维度间编码信息的联系和文本间的交互信息,以实现文本的智能语义匹配;具体如下:
8.文本嵌入模块对输入的文本进行嵌入操作,得到文本的字嵌入表示、拼音嵌入表
示、部首嵌入表示、词嵌入表示,并将结果传递到输入编码模块;
9.输入编码模块对文本嵌入模块得到的结果进行编码操作,得到文本的字、词粒度上下文信息以及拼音、部首粒度语义信息;
10.多粒度交互模块在同一文本内部、在文本间进行编码操作,得到增强后的文本多粒度特征、增强后的文本多粒度交互特征;
11.特征融合模块对增强后的文本多粒度特征与增强后的文本多粒度交互特征进行特征的聚合与匹配操作,并将所有的匹配向量进行联接得到最终匹配表示向量;
12.预测模块将最终匹配表示向量映射为0-1区间上的值作为文本匹配相似度,文本匹配相似度与设定的阈值进行比较,判定文本是否匹配。
13.作为优选,所述文本嵌入模块用于构建字词映射转换表、构建拼音映射转换表、构建部首映射转换表、构建字词向量映射层、构建拼音向量映射层、构建部首向量映射层;
14.更优地,所述输入编码模块的特征如下:
15.输入编码模块负责完成字词粒度上下文信息与拼音、部首语义信息的提取工作,具体为:以文本p为例,该模块接收文本p的字嵌入表示、拼音嵌入表示、部首嵌入表示、词嵌入表示首先通过双向长短时记忆网络bilstm处理得到文本p的字、拼音、部首、词粒度上下文信息,记为pc、p
p
、pr和pw;其中,对于文本p的拼音、部首粒度上下文信息,进一步通过全连接层进行升维操作,使其维数和文本p的字、词粒度上下文信息相同,得到文本p的拼音粒度语义信息和其部首粒度语义信息,记为和具体公式如下:
[0016][0017][0018][0019][0020]
其中,公式(1)表示使用双向长短期记忆网络bilstm对字嵌入进行编码,其中,pc表示字粒度上下文信息,表示txt p_char_embed,其维度为300,ic表示第i个位置的字向量表示在文本中的相对位置;公式(2)表示使用双向长短期记忆网络bilstm对词嵌入进行编码,pw表示词粒度上下文信息,表示txt p_word_embed,其维度为300,iw表示第i个位置的词向量表示在文本中的相对位置;公式(3)表示先使用双向长短期记忆网络bilstm对拼音嵌入进行编码,得到拼音粒度上下文信息,之后通过全连接层得到拼音粒度语义信息,
表示txt p_pinyin_embed,其维度为70,i
p
表示第i个位置的拼音向量表示在文本中的相对位置,p
p
表示拼音粒度上下文信息,表示第i个位置拼音粒度语义信息,n表示拼音、部首粒度语义信息的序列长度,p
ip
表示第i个位置拼音粒度上下文信息,表示拼音粒度语义信息,w
p
、b
p
分别表示全连接层中拼音粒度上下文信息的权重和偏置,这两个都是可训练参数;公式(4)表示先使用双向长短期记忆网络bilstm对部首嵌入进行编码,得到部首粒度上下文信息,之后通过全连接层得到部首粒度语义信息,公式(4)与公式(3)中符号含义基本一致,区别在于,表示txt p_radical_embed,其维度为70,ir表示第i个位置的部首向量表示在文本中的相对位置,pr表示部首粒度上下文信息,表示第i个位置部首粒度语义信息,p
ir
表示第i个位置部首粒度上下文信息,表示部首粒度语义信息,wr、br分别表示全连接层中部首粒度上下文信息的权重和偏置;
[0021]
同理,对文本q进行与文本p类似的处理,可得字、词粒度上下文信息以及拼音、部首粒度语义信息,记为qc、qw、
[0022]
更优地,所述多粒度交互模块的构建过程具体如下:
[0023]
同一文本内部使用两层编码结构学习增强后的文本多粒度特征:首先为方便后续的说明,先进行如下定义,定义软对齐注意力记为sa,如公式(5)所示:
[0024][0025]
以文本p为例,假设xi表示文本p第i个位置的字嵌入表示,yj表示文本p第j个位置的词嵌入表示,那么根据公式(5),s
ij
表示文本p第i个位置的字嵌入表示与第j个位置的词嵌入表示之间的注意力权重,表示对注意力权重做softmax操作,表示文本p第i个位置的字嵌入表示可由文本p所有位置的词嵌入表示加权求和进行重新表示,m表示文本p字、词嵌入表示的序列长度,表示文本p第j个位置的词嵌入表示可由文本p的所有位置的字嵌入表示加权求和进行重新表示;
[0026]
后续说明中,使用sa符号代表公式(5)的操作;
[0027]
以文本p为例,描述同一文本内部使用两层编码结构学习增强后的文本多粒度特征的具体步骤:
[0028]
第一层编码结构将公式(1)表示的文本p的字粒度上下文信息与公式(3)表示的文本p的拼音粒度语义信息使用软对齐注意力得到文本p的浅层字音、音字特征,记为如公式(6)所示:
[0029][0030]
公式(1)表示的文本p的字粒度上下文信息与公式(4)表示的文本p的部首粒度语义信息使用软对齐注意力得到文本p的浅层字部、部字特征,记为如公式(7)所示:
[0031][0032]
公式(2)表示的文本p的词粒度上下文信息与公式(3)表示的文本p的拼音粒度语义信息使用软对齐注意力得到文本p的浅层词音、音词特征,记为如公式(8)所示:
[0033][0034]
公式(2)表示的文本p的词粒度上下文信息与公式(4)表示的文本p的部首粒度语义信息使用软对齐注意力得到文本p的浅层词部、部词特征,记为如公式(9)所示:
[0035][0036]
同理,对文本q进行与文本p类似的处理,可得文本q的浅层字音、词音、字部、词部、音字、音词、部字、部词特征,分别记为音字、音词、部字、部词特征,分别记为
[0037]
第二层编码结构将公式(6)表示的文本p的浅层字音与公式(8)表示的文本p的浅层词音特征使用软对齐注意力得到文本p的深层字音、词音特征,记为层词音特征使用软对齐注意力得到文本p的深层字音、词音特征,记为如公式(10)所示:
[0038][0039]
将公式(7)表示的文本p的浅层字部与公式(9)表示的文本p的浅层词部特征使用软对齐注意力得到文本p的深层字部、词部特征,记为如公式(11)所示:
[0040][0041]
将公式(6)表示的文本p的浅层音字与公式(8)表示的文本p的浅层音词特征使用软对齐注意力得到文本p的深层音字、音词特征,记为如公式(12)所示:
[0042][0043]
将公式(7)表示的文本p的浅层部字与公式(9)表示的文本p的浅层部词特征使用软对齐注意力得到文本p的深层部字、部词特征,记为如公式(13)所示:
[0044][0045]
同理,对文本q进行与文本p类似的处理,可得文本q的深层字音、词音、字部、词部、音字、音词、部字、部词特征,分别记为音字、音词、部字、部词特征,分别记为
[0046]
为了增强文本的语义表示,利用残差机制,把公式(1)表示的文本p的字粒度上下文信息、公式(6)表示的文本p的浅层字音特征、公式(7)表示的文本p的浅层字部特征、公式(10)表示的文本p的深层字音特征以及公式(11)表示的文本p的深层字部特征合并得到增
强后文本p的字粒度特征,记为p
c'
,如公式(14)所示;把公式(2)表示的文本p的词粒度上下文信息、公式(8)表示的文本p的浅层词音特征、公式(9)表示的文本p的浅层词部特征、公式(10)表示的文本p的深层词音特征以及公式(11)表示的文本p的深层词部特征合并得到增强后文本p的词粒度特征,记为p
w'
,如公式(15)所示;把公式(3)表示的文本p的拼音粒度语义信息、公式(6)表示的文本p的浅层音字特征、公式(8)表示的文本p的浅层音词特征、公式(12)表示的文本p的深层音字特征以及公式(12)表示的文本p的深层音词特征合并得到增强后文本p的拼音粒度特征,记为如公式(16)所示;把公式(4)表示的文本p的部首粒度语义信息、公式(7)表示的文本p的浅层部字特征、公式(9)表示的文本p的浅层部词特征、公式(13)表示的文本p的深层部字特征以及公式(13)表示的文本p的深层部词特征合并得到增强后文本p的部首粒度特征,记为如公式(17)所示;
[0047][0048][0049][0050][0051]
同理,对文本q进行与文本p类似的处理,可得增强后文本q的字、词、拼音、部首粒度特征,分别记为q
c'
、q
w'

[0052]
在文本间使用多层编码结构学习增强后的文本多粒度交互特征:将公式(6)表示的文本p的浅层字音特征、公式(6)表示文本p的浅层音字特征、公式(7)表示文本p的浅层字部特征、公式(7)表示文本p的浅层部字特征合并得到文本p的浅层字粒度特征,记为如公式(18)所示;将公式(8)表示的文本p的浅层词音特征、公式(8)表示的文本p的浅层音词特征、公式(9)表示的文本p的浅层词部特征、公式(9)表示的文本p的浅层部词特征合并得到文本p的浅层词粒度特征,记为如公式(19)所示;
[0053][0054][0055]
同理,对文本q进行与文本p类似的处理,可得文本q的浅层字、词粒度特征,记为
[0056]
将公式(18)表示的文本p的浅层字粒度特征与文本q的浅层字粒度特征使用软对齐注意力,分别得到交互后文本p的字粒度特征,记为和交互后文本q的字粒度特征,记为如公式(20)所示:
[0057][0058]
同理,公式(19)表示的文本p的浅层词粒度特征和文本q的浅层词粒度特征使用软对齐注意力得到交互后文本p的词粒度特征,记为和交互后文本q的词粒度特征,记为
如公式(21)所示:
[0059][0060]
为了增强文本间的语义表示,将公式(18)表示的文本p的浅层字粒度特征与公式(20)表示的交互后文本p的字粒度特征联接得到增强后文本p的字粒度交互特征,记为如公式(22)所示;将公式(19)表示的文本p的浅层词粒度特征与公式(21)表示的交互后文本p的词粒度特征联接得到增强后文本p的词粒度交互特征,记为如公式(23)所示;
[0061][0062][0063]
同理,对文本q进行与文本p类似的处理,可得增强后文本q的字、词粒度交互特征,记为
[0064]
更优地,所述特征融合模块的构建过程具体如下:
[0065]
首先为方便后续的说明,先进行如下定义,定义自对齐注意力记为ia,如公式(24)所示:
[0066][0067]
以文本p为例,假设xi表示文本p第i个位置的字粒度嵌入表示,xj表示文本p第j个位置的字粒度嵌入表示,那么s
ij
表示文本p第i个位置字粒度嵌入表示与第j个位置字粒度嵌入表示的注意力权重,表示对注意力权重做softmax操作,可以理解为两者的关联强度,x'i表示文本p第i个位置的字粒度嵌入表示与其他位置的字粒度嵌入表示之间的交互特征,l表示文本p字粒度嵌入表示的序列长度,x”i
表示文本p第i位置字的字粒度嵌入表示与交互特征之和;
[0068]
后续说明中,使用ia符号代表公式(24)的操作;
[0069]
在特征聚合层,对于同一文本内部来说,将公式(14)表示的增强后文本p的字粒度特征、公式(15)表示的增强后文本p的词粒度特征、公式(16)表示的增强后文本p的拼音粒度特征、公式(17)表示的增强后文本p的部首粒度特征分别使用自对齐注意力得到对齐后文本p的字、词、拼音、部首粒度特征,分别记为p
c”、p
w”、如公式(25)所示:
[0070][0071]
随后将公式(25)表示的对齐后文本p的字、词、拼音、部首粒度特征经过最大池化和平均池化操作,分别得到池化后文本p的字、词、拼音、部首粒度特征,记为如公式(26)所示:
[0072][0073]
其中max表示最大池化操作,mean表示平均池化操作,可以过滤掉噪音信息或不重要信息进一步提取关键的语义信息,dim表示张量的维度;
[0074]
同理,对文本q进行与文本p类似的处理,可得对齐后文本q的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度,分别记为q
c”、q
w”、
[0075]
对于文本间的操作和对同一文本内部的操作基本相同,将公式(22)表示的增强后文本p的字粒度交互特征与公式(23)表示的增强后文本p的词粒度交互特征使用自对齐注意力得到对齐后文本p的字、词粒度交互特征,记为如公式(27)所示:
[0076][0077]
随后将公式(27)表示的对齐后文本p的字、词粒度交互特征经过最大池化和平均池化操作得到池化后文本p的字、词粒度交互特征,记为如公式(28)所示:
[0078][0079]
其中max表示最大池化操作,mean表示平均池化操作,可以过滤掉噪音信息或不重要信息进一步提取关键的语义信息,dim表示张量的维度;
[0080]
同理,对文本q进行与文本p类似的处理,可得对齐后文本q的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征,记为以及池化后文本q的字、词粒度交互特征,记为
[0081]
使用三种匹配方法对特征进行匹配,之后将所有的匹配向量进行联接:首先为方便下文使用,先进行如下定义,定义匹配函数记为match,如公式(29)所示:
[0082][0083]
p、q假设为文本p和文本q的两个向量,ab表示两向量对应位置相减之后绝对值运算,mu表示两向量对应位置相乘运算,sub表示两向量对应位置相减运算;
[0084]
后续说明中,match符号代表公式(29)的操作;
[0085]
将公式(26)表示的池化后文本p的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度特征分别进行匹配得到对应的匹配向量分别表示为m1、m2、m3、m4,将公式(28)表示的池化后文本p的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征分别进行匹配得到对应的匹配向量分别表示为m5、m6,如公式(30)所示:
[0086][0087]
最后将公式(30)表示的所有的匹配向量联接生成最终匹配表示向量,如公式(31)所示:
[0088]
f=[m1;m2;m3;m4;m5;m6]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(31)
[0089]
公式(31)表示将各个匹配向量进行联接,生成最终匹配表示向量。
[0090]
更优地,所述预测模块构建具体如下:
[0091]
在该模块中,最终匹配表示向量经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为y
pred
,最终通过与设立的阈值0.5进行比较,从而判断文本的语义是否匹配;即y
pred
≥0.5时,预测文本的语义是匹配的,否则,不匹配;
[0092]
更优地,所述文本语义匹配知识库构建具体如下:
[0093]
收集数据:下载网络上已经公开的文本语义匹配数据集或人工构建数据集,将其作为构建文本语义匹配知识库的原始数据;
[0094]
预处理原始数据:预处理用于构建文本语义匹配知识库的原始数据,对其中的每个文本均进行断字操作、分词操作,转换拼音操作,提取字部首操作,得到文本语义匹配断字处理知识库、分词处理知识库、拼音处理知识库、部首处理知识库;
[0095]
汇总文本知识库:汇总文本语义匹配断字处理知识库、文本语义匹配分词处理知识库、文本语义匹配拼音处理知识库和文本语义匹配部首处理知识库构建文本语义匹配知识库;
[0096]
所述文本语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
[0097]
构建训练正例:将两个文本语义一致的文本构建为正例数据;
[0098]
构建训练负例:对于所获得的每个正例文本,选中其包含的某一个文本,随机选择与其不匹配的某个文本进行组合,将这两个语义不一致的文本,构建为负例数据;
[0099]
构建训练数据集:将所获得的全部的正例文本数据和负例文本数据,合并在一起,并打乱其顺序,构建最终的训练数据集;
[0100]
所述文本语义匹配模型构建完成后通过训练数据集进行文本语义匹配模型的训练与优化,具体如下:
[0101]
构建损失函数:由预测模块构建过程可知,y
pred
为经过文本语义匹配模型处理后得到的匹配度计算数值;而y
true
是两个文本语义是否匹配的真实标签,其取值仅限于0或1,数据来源于训练数据集中,采用交叉熵作为损失函数;
[0102]
构建优化函数:模型经过对多种优化函数进行测试,最终选择使用adam优化函数作为本模型的优化函数,其超参数均选择keras中的默认值设置。
[0103]
一种面向消防安全知识智能问答的文本语义匹配装置,该装置包括,文本语义匹配知识库构建单元、训练数据集生成单元、文本语义匹配模型构建单元、文本语义匹配模型训练单元。汇总文本知识库每个单元的具体功能如下所述:
[0104]
文本语义匹配知识库构建单元用于获得大量的文本数据,随后对文本数据进行预处理,从而获得符合训练要求的文本语义匹配知识库。训练数据集生成单元,对于文本语义匹配知识库中的数据,若其语义一致,则该文本用于构建训练正例,反之,则用于构建训练负例。将所有的正例数据和负例数据进行混合,得到训练数据集。文本语义匹配模型构建单元,用于构建字词映射转换表、构建拼音映射转换表、构建部首映射转换表、构建输入模块、构建字词向量映射层、构建拼音向量映射层、构建部首向量映射层、构建输入编码模块、构建多粒度交互模块、构建特征融合模块、构建预测模块。文本语义匹配模型训练单元,构建在训练损失函数和优化函数,完成模型的训练。
[0105]
一种存储介质,其中存储有多条指令,所述指令有处理器加载,执行上述的面向消防安全知识智能问答的文本语义匹配方法的步骤。
[0106]
一种电子设备,所述电子设备包括:
[0107]
上述的存储介质;以及
[0108]
处理器,用于执行所述存储介质中的指令。
[0109]
本发明的面向消防安全知识智能问答的文本语义匹配方法和装置具有以下优点:
[0110]
(一)捕获更多的语义上下文特征、不同维度间编码信息的联系和文本间的交互信息,有效提高文本语义匹配的准确度;
[0111]
(二)本发明能够利用多粒度交互模块对同一文本内部与文本间进行编码操作,得到同一文本内部与文本间多粒度多层次语义特征,有助于模型捕捉深层语义信息,有效提高句子语义表征的全面性和准确性;
[0112]
(三)本发明提出面向消防安全知识智能问答的文本语义匹配方法可以捕捉不同粒度不同层次上的语义信息,有效提高文本匹配的准确性;
[0113]
(四)本发明通过使用文本嵌入模块、输入编码模块、多粒度交互模块、特征融合模块和预测模块组成文本语义匹配模型,有效改善文本匹配模型的效果;
[0114]
(五)本发明能够利用多粒度交互模块,捕捉文本间的多粒度交互信息,达到有效改善语义匹配效果的目的;
[0115]
(六)本发明从多层次多粒度对本文的语义信息进行抽取,从而得到同一文本内部多粒度特征与文本间多粒度交互特征,然后利用多种匹配机制进行相应匹配,有效提高模型预测文本匹配度的准确率。
附图说明:
[0116]
下面结合附图对本发明进一步说明。
[0117]
图1为面向消防安全知识智能问答的文本语义匹配方法的流程图
[0118]
图2为构建文本语义匹配知识库的流程图
[0119]
图3为构建训练数据集的流程图
[0120]
图4为构建文本语义匹配模型的流程图
[0121]
图5为训练文本语义匹配模型的流程图
[0122]
图6为输入编码模块模型的流程图
[0123]
图7为多粒度交互模块对同一文本内的语义特征进行学习的多层编码结构示意图
[0124]
图8为多粒度交互模块对文本间的语义特征进行学习的多层编码结构示意图
[0125]
图9为特征融合模块的流程图
具体实施方式
[0126]
参照说明书附图和具体实施方式对本发明的一种面向消防安全知识智能问答的文本语义匹配方法做以下详细地说明。
[0127]
实施例1:
[0128]
本发明的面向消防安全知识智能问答的文本语义匹配方法,该发明主要框架结构包括文本嵌入模块,输入编码模块、多粒度交互模块、特征融合模块和预测模块。其中,文本嵌入模块对输入的文本进行嵌入操作,得到字嵌入表示、拼音嵌入表示、部首嵌入表示、词嵌入表示,并将结果传递到输入编码模块。输入编码模块对字嵌入表示、拼音嵌入表示、部首嵌入表示、词嵌入表示通过bilstm进行编码得到字、词粒度上下文信息,对拼音、部首嵌入表通过全连接层得到拼音、部首粒度语义信息。多粒度交互模块分为两部分,第一部分为在同一文本内部使用两层编码结构学习增强后的文本多粒度特征,第二部分为在文本间使用多层编码结构学习增强后的文本多粒度交互特征。第一部分如附图7所示,以文本p为例,第一层编码结构将文本p的字粒度上下文信息和其部首粒度语义信息通过软对齐得到文本p的浅层字部特征和其浅层部字特征,文本p的字粒度上下文信息和其拼音粒度语义信息通过软对齐得到文本p的浅层字音特征和其浅层音字特征;文本p的词粒度上下文信息和其部首粒度语义信息通过软对齐得到文本p的浅层词部特征和其浅层部词特征,文本p的词粒度上下文信息和其拼音粒度语义信息通过软对齐得到文本p的浅层词音特征和其浅层音词特征;第二层编码结构将文本p的浅层字部与其浅层词部特征软对齐得到文本p的深层字部和其深层词部特征,将文本p的浅层部字与其浅层部词特征进行软对齐得到文本p的深层部字和其深层部词特征,文本p的浅层字音与其浅层词音特征进行软对齐得到文本p的深层字音和其深层词音特征,将文本p的浅层音字与其浅层音词特征进行软对齐得到文本p的深层音字和其深层音词特征;为了进一步增强文本的语义表示,把文本p的深、浅层字部及其深、浅层字音特征与其字粒度上下文信息合并得到增强后文本p的字粒度特征,把文本p的深、浅层词部及其深、浅层词音特征与其词粒度上下文信息合并得到增强后文本p的词粒度特征,把文本p的深、浅层音字及其深、浅层音词特征与其拼音粒度语义信息合并得到增强后文本p的拼音粒度特征,把文本p的深、浅层部字及其深、浅层部词特征与其部首粒度语义信息合并得到增强后文本p的部首粒度特征;第二部分如附图8所示,将文本p的浅层字音、音字、字部、部字特征合并得到文本p的浅层字粒度特征,对文本p的浅层词音、音词、词部、部词特征合并得到文本p的浅层词粒度特征,对文本q进行相同的操作分别得到文本q的浅层字粒度特征和文本q的浅层词粒度特征;之后,将文本p的浅层字粒度特征与文本q的浅层字粒度特征进行软对齐,分别得到交互后文本p的字粒度特征和交互后文本q的字粒度特征,同理,文本p的浅层词粒度特征和文本q的浅层词粒度特征软对齐得到交互后文本p的词粒度特征和交互后文本q的词粒度特征;将交互后文本p的字粒度特征和文本p的浅层字粒度特征联接得到增强后文本p的字粒度交互特征,将交互后文本p的词粒度特征与文本p的浅层词粒度特征联接得到增强后文本p的词粒度交互特征,同理对于文本q,得到增强后文本q的字粒度交互特征和增强后文本q的词粒度交互特征。特征融合模块,如图9所示,对增强后文本p的字、词、拼音、部首粒度特征以及增强后文本q的字、拼音、部首粒度特征,利用自对齐处理分
别得到对齐后文本p的字、词、拼音、部首粒度特征以及对齐后文本q的字、词、拼音、部首粒度特征,随后经过最大池化和平均池化分别得到池化后文本p的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度特征;对增强后文本p的字、词粒度交互特征以及增强后文本q的字、词粒度交互特征,利用自对齐处理分别得到对齐后文本p的字、词粒度交互特征以及对齐后文本q的字、词粒度交互特征,随后经过最大池化和平均池化分别得到池化后文本p的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征;将池化后文本p的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度特征分别进行相应的匹配得到对应的匹配向量,将池化后文本p的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征分别进行相应匹配得到对应的匹配向量;最后将所有的匹配向量联接得到最终匹配表示向量输入到预测模块。预测模块,所得到的最终匹配表示向量将作为本模块的输入,以此判断文本的语义是否匹配
[0129]
实施例2:
[0130]
本发明的整体步骤流程如附图1所示,具体步骤如下:
[0131]
s1、构建文本语义匹配知识库
[0132]
构建文本语义匹配知识库的流程如附图2所示,具体步骤如下所述:
[0133]
s101、收集数据:下载网络上已经公开的文本语义匹配数据集或人工构建数据集,将其作为构建文本语义匹配知识库的原始数据。
[0134]
举例说明:网络上有许多已公开的消防安全知识问答库。本发明收集这些数据,将其下载下来,从而获得用于构建文本语义匹配知识库的原始数据,其中的文本示例,表示如下:
[0135]
txt p烟头为什么容易引起火灾?txt q烟蒂是如何引起火灾的?
[0136]
s102、预处理原始数据:预处理用于构建文本语义匹配知识库的原始数据,对其中的每个文本均进行断字操作、分词操作,转换拼音操作,提取字部首操作,得到文本语义匹配断字处理知识库、分词处理知识库、拼音处理知识库、部首处理知识库。
[0137]
以s101中展示的txt p为例,对其进行断字操作处理后得到“烟头为什么容易引起火灾?”;使用jieba分词工具对其进行分词操作处理后得到“烟头为什么容易引起火灾?”;使用pinyin工具包对其进行每个字转为拼音得到“yan tou wei shen me rong yi yin qi huo zai?”;使用radical工具包对其进行提取字部首得到“火头为亻丿宀日弓走火火?”。
[0138]
s103、汇总文本知识库:汇总文本语义匹配断字处理知识库、文本语义匹配分词处理知识库、文本语义匹配拼音处理知识库和文本语义匹配部首处理知识库构建文本语义匹配知识库。
[0139]
将s102中获得的文本语义匹配断字处理知识库、文本语义匹配分词处理知识库、文本语义匹配拼音处理知识库和文本语义匹配部首处理知识库汇总到同一文件夹下,从而得到文本语义匹配知识库,其流程如附图2所示;这里需要注意的是,经过断字操作处理后的数据、经过分词操作处理后的数据、经过拼音操作处理后的数据和经过部首操作处理后的数据并不会合并到同一文件中,即,文本语义匹配知识库实际上包含四个独立的子知识库,每一个预处理后的文本均保留了其原始文本的id信息。
[0140]
s2、构建文本语义匹配模型所需的训练数据集:构建文本语义匹配模型所需的训
练数据集的流程如附图3所示,对于文本语义匹配知识库中的每一个文本,若其语义一致,则该文本可以用于构建训练正例;若其语义不一致,则该文本可以用于构建训练负例;将一定数量的正例数据与负例数据进行混合,从而构建模型训练数据集。
[0141]
s201、构建训练正例数据:将两个文本语义一致的文本构建为正例数据,构建的正例数据可形式化为:(txt p_char,txt q_char,txt p_word,txt q_word,txt p_pinyin,txt q_pinyin,txt p_radical,txt q_radical,1)。
[0142]
其中,txt p_char、txt q_char分别指代文本语义匹配断字处理知识库中的文本p、文本q,txt p_word、txt q_word分别指代文本语义匹配分词处理知识库中的文本p、文本q,txt p_pinyin、txt q_pinyin分别指代文本语义匹配拼音处理知识库中的文本p、文本q,txt p_radical、txt q_radical分别指代文本语义匹配部首处理知识库中的文本p、文本q,而这里的1则表示这两个文本的语义相匹配,是正例。
[0143]
举例说明:对s101中展示的txt p和txt q,经过断字操作、分词操作,转换拼音操作,提取汉字部首操作:
[0144]
(“烟头为什么容易引起火灾?”,“烟蒂是如何引起火灾的?”,“烟头为什么容易引起火灾?”,“烟蒂是如何引起火灾的?”,“yan tou wei shen me rong yi yin qi huo zai?”,“yan di shi ru he yin qi huo zai de?”,“火头为亻丿宀日弓走火火?”,“火艹日女亻弓走火火白?”,1)。
[0145]
s202、构建训练负例数据:对于步骤s201所获得的每个正例文本,选中其包含的某一个文本,随机选择与其不匹配的某个文本进行组合;将这两个语义不一致的文本,构建为负例数据。采用与步骤s201类似的操作,负例数据可形式化为:(txt p_char,txt q_char,txt p_word,txt q_word,txt p_pinyin,txt q_pinyin,txt p_radical,txt q_radical,0)。各符号意义与步骤s201中相同,0表示这两个文本的语义不匹配,是负例。
[0146]
s203、构建训练数据集:将经过步骤s201和步骤s202操作后所获得的全部的正例文本数据和负例文本数据,合并在一起,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据,它们都包含九个维度,即txt p_char,txt q_char,txt p_pinyin,txt q_pinyin,txt p_radical,txt q_radical,txt p_word,txt q_word,0或1。
[0147]
s3、构建文本语义匹配模型:构建文本语义匹配模型的流程如附图4所示,主要操作为构建字词映射转换表、构建拼音映射转换表、构建部首映射转换表、构建输入编码模块、构建字词向量映射层、构建拼音向量映射层、构建部首向量映射层、构建多粒度交互模块、构建特征融合模块、构建预测模块。其中,构建字词映射转换表、构建拼音映射转换表、构建部首映射转换表、构建字词向量映射层、构建拼音向量映射层、构建部首向量映射层组成文本嵌入模块;具体步骤如下所述:
[0148]
s301、构建字词映射转换表:字词表是通过步骤s102处理后得到的文本语义匹配断字处理知识库和分词处理知识库来构建的。字词表构建完成后,表中每个字词均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个字词被录入字词表的顺序依次递增排序,从而形成本发明所需的字词映射转换表。
[0149]
举例说明:以步骤s102处理后的内容,“烟头为什么容易引起火灾?”,构建字词表及字词映射转换表如下:
[0150][0151]
其后,本发明使用word2vec训练字词向量模型,得到各字词的字词向量矩阵char_word_embedding_matrix。
[0152]
举例说明:在keras中,对于上面描述的代码实现如下所示:
[0153][0154][0155]
其中,w2v_corpus_char_word为断字处理训练语料和分词处理训练语料,即文本语义匹配断字和分词处理知识库中的所有数据;char_word_embdim为字词的向量维度,本模型设置char_word_embdim为400,char_word_set为字词表。
[0156]
s302、构建拼音映射转换表:拼音表是通过步骤s102处理后得到的文本语义匹配拼音处理知识库来构建的。拼音表构建完成后,表中每个拼音均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个拼音被录入拼音表的顺序依次递增排序,从而形成本发明所需的拼音映射转换表。
[0157]
举例说明:以步骤s102处理后的内容,“yan tou wei shen me rong yi yin qi huo zai?”,构建拼音表及拼音映射转换表如下:
[0158]
拼音yantouweishenmerongyiyinqihuozai?映射123456789101112
[0159]
其后,本发明使用word2vec训练拼音向量模型,得到各字的拼音向量矩阵pinyin_embedding_matrix。
[0160]
举例说明:在keras中,对于上面描述的代码实现,与s301中举例说明基本一致,只是将各参数由char_word改为pinyin相关的。鉴于篇幅限定,在此不再赘述。
[0161]
其中,s301中举例中w2v_corpus_char_word更换为w2v_corpus_piniyin,其为拼音处理训练语料,即文本语义匹配拼音处理知识库中的所有数据;拼音向量维度为pinyin_embdim,本模型设置pinyin_embdim为70;char_word_set更换为pinyin_set,其为拼音表。
[0162]
s303、构建部首映射转换表:部首表是通过步骤s102处理后得到的文本语义匹配
p_word、txt q_word,得到其相应文本向量txt p_char_embed、txt q_char_embed、txt p_word_embed、txt q_word_embed。文本语义匹配断字、分词处理知识库中每一个文本都可以通过字词向量映射的方式,将文本字词信息转化为向量形式,即字嵌入表示、词嵌入表示。
[0175]
举例说明:在keras中,对于上面描述的代码实现如下所示:
[0176]
char_word_embedding_layer=embedding(char_word_embedding_matrix.shape[0],char_word_emb_dim,weights=[char_word_embedding_matrix],
[0177]
input_length=input_dim,trainable=false)
[0178]
其中,char_word_embedding_matrix是构建字词映射转换表步骤中训练所得的字词向量矩阵权重,char_word_embedding_matrix.shape[0]是字词向量矩阵的字词表的大小,char_word_emb_dim是输出的字词向量的维度,input_length是输入序列的长度。相应的文本txt p_char、txt q_char、txt p_word、txt q_word,经过keras的embedding层处理后得到相应的文本字词向量txt p_char_embed、txt q_char_embed、txt p_word_embed、txt q_word_embed。
[0179]
s306、构建拼音向量映射层:通过加载构建拼音映射转换表步骤中训练所得的拼音向量矩阵权重来初始化当前层的权重参数;针对输入文本txt p_pinyin和txt q_pinyin,得到其相应文本向量txt p_pinyin_embed、txt q_pinyin_embed。文本匹配拼音处理知识库中每一个文本都可以通过拼音向量映射的方式,将文本拼音信息转化为向量形式,即拼音嵌入表示。
[0180]
举例说明:在keras中,对于上面描述的代码实现,与s305中基本一致,只是将各参数由char_word改为pinyin相关的。鉴于篇幅限定,在此不再赘述。
[0181]
s307、构建部首向量映射层:通过加载构建部首映射转换表步骤中训练所得的部首向量矩阵权重来初始化当前层的权重参数;针对输入文本txt p_radical和txt q_radical,得到其相应文本向量txt p_radical_embed、txt q_radical_embed。文本语义匹配部首处理知识库中每一个文本都可以通过部首向量映射的方式,将文本部首信息转化为向量形式,即部首嵌入表示。
[0182]
举例说明:在keras中,对于上面描述的代码实现,与s305中基本一致,只是将各参数由char_word改为radical相关的。鉴于篇幅限定,在此不再赘述。
[0183]
s308、构建输入编码模块:输入编码模块如附图6所示,以文本p为例,该模块接收文本p的字嵌入表示、拼音嵌入表示、部首嵌入表示、词嵌入表示首先通过双向长短期记忆网络bilstm处理得到文本p的字、拼音、部首、词粒度上下文信息,记为pc、p
p
、pr和pw;其中,对于文本p的拼音、部首粒度上下文信息,进一步通过全连接层进行升维操作,使其维数和文本p的字、词粒度上下文信息相同,得到文本p的拼音粒度语义信息和其部首粒度语义信息,记为和具体公式如下:
[0184][0185]
[0186][0187][0188]
其中,公式(1)表示使用双向长短期记忆网络bilstm对字嵌入进行编码,其中,pc表示字粒度上下文信息,表示txt p_char_embed,其维度为300,ic表示第i个位置的字向量表示在文本中的相对位置;公式(2)表示使用双向长短期记忆网络bilstm对词嵌入进行编码,pw表示词粒度上下文信息,表示txt p_word_embed,其维度为300,iw表示第i个位置的词向量表示在文本中的相对位置;公式(3)表示先使用双向长短期记忆网络bilstm对拼音嵌入进行编码,得到拼音粒度上下文信息,之后通过全连接层得到拼音粒度语义信息,表示txt p_pinyin_embed,其维度为70,i
p
表示第i个位置的拼音向量表示在文本中的相对位置,p
p
表示拼音粒度上下文信息,表示第i个位置拼音粒度语义信息,n表示拼音粒度语义信息的序列长度,p
ip
表示第i个位置拼音粒度上下文信息,表示拼音粒度语义信息,w
p
、b
p
分别表示全连接层中拼音粒度上下文信息的权重和偏置,这两个都是可训练参数;公式(4)表示先使用双向长短期记忆网络bilstm对部首嵌入进行编码,得到部首粒度上下文信息,之后通过全连接层得到部首粒度语义信息,公式(4)与公式(3)中符号含义基本一致,区别在于,表示txt p_radical_embed,其维度为70,ir表示第i个位置的部首向量表示在文本中的相对位置,pr表示部首粒度上下文信息,表示第i个位置部首粒度语义信息,p
ir
表示第i个位置部首粒度上下文信息,表示部首粒度语义信息,wr、br分别表示全连接层中部首粒度上下文信息的权重和偏置;
[0189]
同理,对文本q进行与文本p类似的处理,可得字、词粒度上下文信息以及拼音、部首粒度语义信息,记为qc、qw、
[0190]
s309、构建多粒度交互模块:多粒度交互模块,以文本p为例,该模块接收文本p的字粒度上下文信息、词粒度上下文信息、拼音粒度语义信息和部首粒度语义信息分别作为输入。主要分为两部分,第一部分为在同一文本内部使用两层编码结构学习增强后的文本多粒度特征,如附图7所示;第二部分为在文本间使用多层编码结构学习增强后的文本多粒度交互特征,如附图8所示。
[0191]
s30901、同一文本内部使用两层编码结构学习增强后的文本多粒度特征。
[0192]
首先为方便后续的说明,先进行如下定义,定义软对齐注意力记为sa,如公式(5)所示:
[0193][0194]
以文本p为例,假设xi表示文本p第i个位置的字嵌入表示,yj表示文本p第j个位置的词嵌入表示,那么根据公式(5),s
ij
表示文本p第i个位置的字嵌入表示与第j个位置的词嵌入表示之间的注意力权重,表示对注意力权重做softmax操作,表示文本p第i个位置的字嵌入表示可由文本p所有位置的词嵌入表示加权求和进行重新表示,m表示文本p字、词嵌入表示的序列长度,表示文本p第j个位置的词嵌入表示可由文本p的所有位置的字嵌入表示加权求和进行重新表示;
[0195]
后续说明中,使用sa符号代表公式(5)的操作;
[0196]
以文本p为例,描述同一文本内部使用两层编码结构学习增强后的文本多粒度特征的具体步骤:
[0197]
s3090101、第一层编码结构将公式(1)表示的文本p的字粒度上下文信息与公式(3)表示的文本p的拼音粒度语义信息使用软对齐注意力得到文本p的浅层字音、音字特征,记为如公式(6)所示:
[0198][0199]
公式(1)表示的文本p的字粒度上下文信息与公式(4)表示的文本p的部首粒度语义信息使用软对齐注意力得到文本p的浅层字部、部字特征,记为如公式(7)所示:
[0200][0201]
公式(2)表示的文本p的词粒度上下文信息与公式(3)表示的文本p的拼音粒度语义信息使用软对齐注意力得到文本p的浅层词音、音词特征,记为如公式(8)所示:
[0202][0203]
公式(2)表示的文本p的词粒度上下文信息与公式(4)表示的文本p的部首粒度语义信息使用软对齐注意力得到文本p的浅层词部、部词特征,记为如公式(9)所示:
[0204][0205]
同理,对文本q进行与文本p类似的处理,可得文本q的浅层字音、词音、字部、词部、音字、音词、部字、部词特征,分别记为音字、音词、部字、部词特征,分别记为
[0206]
s3090102、第二层编码结构将公式(6)表示的文本p的浅层字音与公式(8)表示的文本p的浅层词音特征使用软对齐注意力得到文本p的深层字音、词音特征,记为如公式(10)所示:
[0207][0208]
将公式(7)表示的文本p的浅层字部与公式(9)表示的文本p的浅层词部特征使用软对齐注意力得到文本p的深层字部、词部特征,记为如公式(11)所示:
[0209][0210]
将公式(6)表示的文本p的浅层音字与公式(8)表示的文本p的浅层音词特征使用软对齐注意力得到文本p的深层音字、音词特征,记为如公式(12)所示:
[0211][0212]
将公式(7)表示的文本p的浅层部字与公式(9)表示的文本p的浅层部词特征使用软对齐注意力得到文本p的深层部字、部词特征,记为如公式(13)所示:
[0213][0214]
同理,对文本q进行与文本p类似的处理,可得文本q的深层字音、词音、字部、词部、音字、音词、部字、部词特征,分别记为音字、音词、部字、部词特征,分别记为
[0215]
s3090103、为了增强文本的语义表示,利用残差机制,把公式(1)表示的文本p的字粒度上下文信息、公式(6)表示的文本p的浅层字音特征、公式(7)表示的文本p的浅层字部特征、公式(10)表示的文本p的深层字音特征以及公式(11)表示的文本p的深层字部特征合并得到增强后文本p的字粒度特征,记为p
c'
,如公式(14)所示;把公式(2)表示的文本p的词粒度上下文信息、公式(8)表示的文本p的浅层词音特征、公式(9)表示的文本p的浅层词部特征、公式(10)表示的文本p的深层词音特征以及公式(11)表示的文本p的深层词部特征合并得到增强后文本p的词粒度特征,记为p
w'
,如公式(15)所示;把公式(3)表示的文本p的拼音粒度语义信息、公式(6)表示的文本p的浅层音字特征、公式(8)表示的文本p的浅层音词特征、公式(12)表示的文本p的深层音字特征以及公式(12)表示的文本p的深层音词特征合并得到增强后文本p的拼音粒度特征,记为如公式(16)所示;把公式(4)表示的文本p的部首粒度语义信息、公式(7)表示的文本p的浅层部字特征、公式(9)表示的文本p的浅层部词特征、公式(13)表示的文本p的深层部字特征以及公式(13)表示的文本p的深层部词特征合并得到增强后文本p的部首粒度特征,记为如公式(17)所示;
[0216][0217][0218][0219][0220]
同理,对文本q进行与文本p类似的处理,可得增强后文本q的字、词、拼音、部首粒
度特征,分别记为q
c'
、q
w'

[0221]
s30902、在文本间使用多层编码结构学习增强后的文本多粒度交互特征。
[0222]
s3090201、将公式(6)表示的文本p的浅层字音特征、公式(6)表示文本p的浅层音字特征、公式(7)表示文本p的浅层字部特征、公式(7)表示文本p的浅层部字特征合并得到文本p的浅层字粒度特征,记为如公式(18)所示;将公式(8)表示的文本p的浅层词音特征、公式(8)表示的文本p的浅层音词特征、公式(9)表示的文本p的浅层词部特征、公式(9)表示的文本p的浅层部词特征合并得到文本p的浅层词粒度特征,记为如公式(19)所示;
[0223][0224][0225]
同理,对文本q进行与文本p类似的处理,可得文本q的浅层字、词粒度特征,记为
[0226]
s3090202、将公式(18)表示的文本p的浅层字粒度特征与文本q的浅层字粒度特征使用软对齐注意力,分别得到交互后文本p的字粒度特征,记为和交互后文本q的字粒度特征,记为如公式(20)所示:
[0227][0228]
同理,公式(19)表示的文本p的浅层词粒度特征和文本q的浅层词粒度特征使用软对齐注意力得到交互后文本p的词粒度特征,记为和交互后文本q的词粒度特征,记为如公式(21)所示:
[0229][0230]
s30903、为了增强文本间的语义表示,将公式(18)表示的文本p的浅层字粒度特征与公式(20)表示的交互后文本p的字粒度特征联接得到增强后文本p的字粒度交互特征,记为如公式(22)所示;将公式(19)表示的文本p的浅层词粒度特征与公式(21)表示的交互后文本p的词粒度特征联接得到增强后文本p的词粒度交互特征,记为如公式(23)所示;
[0231][0232][0233]
同理,对文本q进行与文本p类似的处理,可得增强后文本q的字、词粒度交互特征,记为
[0234]
s310、构建特征融合模块:首先为方便后续的说明,先进行如下定义,定义自对齐
注意力记为ia,如公式(24)所示:
[0235][0236]
以文本p为例,假设xi表示文本p第i个位置的字粒度嵌入表示,xj表示文本p第j个位置的字粒度嵌入表示,那么s
ij
表示文本p第i个位置字粒度嵌入表示与第j个位置字粒度嵌入表示的注意力权重,表示对注意力权重做softmax操作,可以理解为两者的关联强度,x'i表示文本p第i个位置的字粒度嵌入表示与其他位置的字粒度嵌入表示之间的交互特征,l表示文本p字粒度嵌入表示的序列长度,x”i
表示文本p第i位置字的字粒度嵌入表示与交互特征之和;
[0237]
后续说明中,使用ia符号代表公式(24)的操作;
[0238]
s31001、在特征聚合层,对于同一文本内部来说,将公式(14)表示的增强后文本p的字粒度特征、公式(15)表示的增强后文本p的词粒度特征、公式(16)表示的增强后文本p的拼音粒度特征、公式(17)表示的增强后文本p的部首粒度特征分别使用自对齐注意力得到对齐后文本p的字、词、拼音、部首粒度特征,分别记为p
c”、p
w”、如公式(25)所示:
[0239][0240]
随后将公式(25)表示的对齐后文本p的字、词、拼音、部首粒度特征经过最大池化和平均池化操作,分别得到池化后文本p的字、词、拼音、部首粒度特征,记为如公式(26)所示:
[0241][0242]
其中max表示最大池化操作,mean表示平均池化操作,可以过滤掉噪音信息或不重要信息进一步提取关键的语义信息,dim表示张量的维度;
[0243]
同理,对文本q进行与文本p类似的处理,可得对齐后文本q的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度,分别记为q
c”、q
w”、
[0244]
s31002、对于文本间的操作和对同一文本内部的操作基本相同,将公式(22)表示的增强后文本p的字粒度交互特征与公式(23)表示的增强后文本p的词粒度交互特征使用自对齐注意力得到对齐后文本p的字、词粒度交互特征,记为如公式(27)所
示:
[0245][0246]
随后将公式(27)表示的对齐后文本p的字、词粒度交互特征经过最大池化和平均池化操作得到池化后文本p的字、词粒度交互特征,记为如公式(28)所示:
[0247][0248]
其中max表示最大池化操作,mean表示平均池化操作,可以过滤掉噪音信息或不重要信息进一步提取关键的语义信息,dim表示张量的维度;
[0249]
同理,对文本q进行与文本p类似的处理,可得对齐后文本q的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征,记为互特征,记为
[0250]
s31003、使用三种匹配方法对特征进行匹配,之后将所有的匹配向量进行联接:首先为方便下文使用,先进行如下定义,定义匹配函数记为match,如公式(29)所示:
[0251][0252]
p、q假设为文本p和文本q的两个向量,ab表示两向量对应位置相减之后绝对值运算,mu表示两向量对应位置相乘运算,sub表示两向量对应位置相减运算;
[0253]
后续说明中,match符号代表公式(29)的操作;
[0254]
将公式(26)表示的池化后文本p的字、词、拼音、部首粒度特征以及池化后文本q的字、词、拼音、部首粒度特征分别进行匹配得到对应的匹配向量分别表示为m1、m2、m3、m4,将公式(28)表示的池化后文本p的字、词粒度交互特征以及池化后文本q的字、词粒度交互特征分别进行匹配得到对应的匹配向量分别表示为m5、m6,如公式(30)所示:
[0255][0256]
最后将公式(30)表示的所有的匹配向量联接生成最终匹配表示向量,如公式(31)所示:
[0257]
f=[m1;m2;m3;m4;m5;m6]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(31)
[0258]
公式(31)表示将各个匹配向量进行联接,生成最终匹配表示向量。
[0259]
s311、构建预测模块:所得到的最终匹配表示向量将作为本模块的输入,以此判断文本的语义是否匹配。
[0260]
在该模块中,最终匹配表示向量经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为y
pred
,最终通过与设立的阈值0.5进行比较,从而判断文本的语义是否匹配;即y
pred
≥0.5时,预测文本的语义是匹配的,否则,不匹配;
[0261]
当本发明所提出的面向消防安全知识智能问答的文本语义匹配方法尚未进行训练时,需要进一步执行s4进行训练,以优化模型参数;当该模型训练完毕时,由s311可预测目标文本的语义是否匹配。
[0262]
s4、训练文本语义匹配模型:将s3构建的文本语义匹配模型在s2所得的训练数据集上进行训练。其流程如图5所示。
[0263]
s401、构建损失函数:由s311可知,y
pred
为经过文本语义匹配模型处理后得到的匹配度计算数值;而y
true
是两个文本语义是否匹配的真实标签,其取值仅限于0或1,数据来源于s203的训练数据集。本发明采用了交叉熵作为损失函数,公式如下:
[0264][0265]
举例说明:上面描述的优化函数及其设置在keras中使用代码表示为:
[0266]
model.compile(loss="binary_crossentropy",optimizer=’adam’,metrics=['accur acy',precision,recall,f1_score])
[0267]
s402、构建优化函数:模型经过对多种优化函数进行测试,最终选择使用adam优化函数作为本模型的优化函数,其超参数均选择keras中的默认值设置。
[0268]
举例说明:上面描述的优化函数及其设置在keras中使用代码表示为:
[0269]
optim=keras.optimizers.adam()
[0270]
本发明所提出的模型在消防安全知识智能问答数据集上,能够取得有效的效果。
[0271]
实施例3:
[0272]
如附图6所示,基于实施例2的面向消防安全知识智能问答的文本语义匹配装置,该装置包括,
[0273]
构建文本语义匹配知识库,构建文本语义匹配模型训练数据集、构建文本语义匹配模型、训练文本语义匹配模型,分别实现向智能客服的基于拼音和部首交互的文本语义匹配方法中步骤s1、s2、s3、s4的功能,每个单元的具体功能如下所述:
[0274]
构建文本语义匹配知识库,用于获得大量的文本数据,随后对文本数据进行预处理,从而获得符合训练要求的文本语义匹配知识库。
[0275]
构建文本语义匹配模型训练数据集,对于文本语义匹配知识库中的数据,若其语义一致,则该文本用于构建训练正例,反之,则用于构建训练负例。将所有的正例数据和负例数据进行混合,得到训练数据集。
[0276]
构建文本语义匹配模型:用于构建字词映射转换表、构建拼音映射转换表、构建部首映射转换表、构建输入模块、构建字词向量映射层、构建拼音向量映射层、构建部首向量映射层、构建输入编码模块、构建多粒度交互模块、构建特征融合模块、构建预测模块。
[0277]
训练文本语义匹配模型:构建在训练损失函数和优化函数,完成模型的训练。
[0278]
实施例4:
[0279]
基于实施例2的储存介质,其中储存有多条指令、指令有处理器加载、执行2的面向消防安全知识智能问答的文本语义匹配方法的步骤。
[0280]
实施例5:
[0281]
基于实施例4的电子设备,电子设备包括:实施例4的储存介质:以及处理器,用于执行实施例4的储存介质中的指令。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质
脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献