[0115] 参照说明书附图和具体实施例对本发明的面向智能交互的句子对语义匹配方法和装置作以下详细地说明。
[0116] 实施例1:
[0117] 如附图9所示,本发明的主要框架结构包含多粒度嵌入模块、多级对齐匹配网络模块、特征增强模块和标签预测模块。其中,多粒度嵌入模块对输入的句子分别以字粒度和词
粒度进行嵌入操作,并将结果传递给模型的多级对齐匹配网络模块。多级对齐匹配网络模
块如图8所示,包含四个结构统一的对齐匹配模块,即基本模块。基本模块的结构如图7所
示,基本模块将张量1和张量2作为输入并计算两个张量的注意力得分,然后将输入的张量1
与注意力得分相乘进行对齐操作以得到对齐结果2,随后将对齐结果2与输入的张量1相加
得到加强版对齐结果1;以此类推张量2的操作可得到加强版对齐结果2。多级对齐匹配网络
的结构如图8所示,其核心思想是使用第一层编码结构双向长短期记忆网络BiLSTM1对句子
1、句子2的字词嵌入表示分别进行编码,以得到句子1的第一层字词编码结果与句子2的第
一层字词编码结果,并将句子1的第一层字词编码结果送入一号基本模块进行第一次对齐
匹配操作之句子1的字粒度和词粒度对齐匹配,以得到句子1字粒度与词粒度加强版对齐结
果,将该结果进行连接后送入三号基本模块进行第二次对齐匹配操作。相应地,将句子2的
第一层字词编码结果送入二号基本模块进行第一次对齐匹配操作之句子2的字粒度和词粒
度对齐匹配,以得到句子2字粒度与词粒度加强版对齐结果,将该结果进行连接后送入三号
基本模块进行第二次对齐匹配操作。经过三号基本模块的处理可得到句子1的加强版对齐
结果和句子2的加强版对齐结果。将句子1的加强版对齐结果、句子2的加强版对齐结果送入
第二层编码结构双向长短期记忆网络BiLSTM2进行编码,得到句子1、句子2的第二层编码结
果。把句子1的第二层编码结果和句子2的第二层编码结果送入四号基本模块进行第三次对
齐匹配操作,得到句子1最终的加强版对齐结果和句子2最终的加强版对齐结果。随着对齐
次数的增加,该结构可相应地捕获更深层次的语义特征,句子1、句子2最终的加强版对齐结
果将被传递给模型的特征增强模块。如图9所示,特征增强模块对两个句子最终的加强版对
齐结果进行一维最大池化和特征交互操作,以充分挖掘句子间的语义信息。其中,特征交互
操作是通过两个句子间的相关运算来完成的,随后将池化结果和交互结果进行连接,最终
得到句子对的匹配张量,将其传递给模型的标签预测模块。标签预测模块将句子对的匹配
张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据
比较结果,判定句子对的语义是否匹配。具体如下:
[0118] (1)多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到句子的多粒度嵌入表示;
[0119] (2)多级对齐匹配网络模块对句子的多粒度嵌入表示进行编码操作,得到句子的多级对齐匹配网络表示;
[0120] (3)特征增强模块对句子对的多级对齐匹配网络表示进行进一步地一维最大池化和特征交互操作,得到句子对的匹配向量;
[0121] (4)标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配。
[0122] 实施例2:
[0123] 如附图1所示,本发明的面向智能交互的句子对语义匹配方法,具体步骤如下:
[0124] S1、构建句子对语义匹配知识库,如附图2所示,具体步骤如下:
[0125] S101、下载网络上的数据集获取原始数据:下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据。
[0126] 举例:网络上有许多已公开的句子对语义匹配数据集。本发明收集这些数据,将其下载下来,从而获得用于构建句子对语义匹配知识库的原始数据。比如,LCQMC数据集中的
一个示例如下:
[0127] 句子1 一般大家去哪个网站买书。句子2 大家买书一般上哪个网站买?
[0128] S102、预处理原始数据:预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字和分词操作,得到句子对语义匹配断字处理知识库、分词处理知
识库。
[0129] 以S101中展示的句子1为例,对其进行断字处理操作后得到“一般大家去哪个网站买书。”;使用Jieba分词工具对其进行分词操作处理后得到“一般大家去哪个网站买书。”。
[0130] S103、汇总子知识库:汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,构建句子对语义匹配知识库。
[0131] 将S102中获得的句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库整合到同一文件夹下,从而得到句子对语义匹配知识库。其流程如图2所示。
[0132] S2、构建句子对语义匹配模型的训练数据集:对于句子对语义匹配知识库中的每一个句子对,若其语义一致,则该句子对可以用于构建训练正例;否则,则该句子对可以用
于构建训练负例;将一定数量的正例数据与负例数据进行混合,从而构建训练数据集;如附
图3所示,具体步骤如下:
[0133] S201、构建训练正例:将句子对语义匹配知识库中将两个句子语义一致的句子对构建为正例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_
word,1);
[0134] 举例:对步骤S101中展示的句子1和句子2,经过步骤S102断字操作处理和步骤S103分词操作处理后,构建的正例数据形式为:
[0135] (“一般大家去哪个网站买书。”,“大家买书一般上哪个网站买?”,“一般大家去哪个网站买书。”,“大家买书一般上哪个网站买?”,1)。
[0136] S202、构建训练负例:对于步骤S201所获得的每个正例句子对,选中其包含的某一个句子,随机选择与其不匹配的某个句子进行组合,将这两个语义不一致的句子作为句子
对,构建为负例数据,形式化为:(sentence1_char,sentence2_char,sentence1_word,
sentence2_word,0);
[0137] 举例:示例与构建训练正例,非常类似,在此不再赘述。
[0138] S203、构建训练数据集:将经过步骤S201和步骤S202操作后所获得的全部的正例句子对数据和负例句子对数据合并在一起,并将顺序打乱,构建最终的训练数据集。无论正
例数据还是负例数据,它们都包含了五个维度,即sentence1_char,sentence2_char,
sentence1_word,sentence2_word,0或1。
[0139] S3、构建句子对语义匹配模型:主要操作为构建字词映射转换表、构建输入模块、构建字词向量映射层、构建多级对齐匹配网络模块、构建特征增强模块、构建标签预测模
块。其中,构建字词映射转换表、构建输入模块、构建字词向量映射层对应图9中的多粒度嵌
入模块,其余部分均与图9中的各个模块一一对应。具体步骤如下:
[0140] S301、构建字词映射转换表:字词表是通过步骤S102处理后得到的句子对语义匹配断字处理知识库和分词处理知识库来构建的。字词表构建完成后,表中每个字或词均被
映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个字或词被录入字词
表的顺序依次递增排序,从而形成本发明所需的字词映射转换表。
[0141] 举例:以步骤S102处理后的内容,“一般大家去哪个网站买书。”,“一般大家去哪个网站买书。”构建字词表及字词映射转换表如下:
[0142]字词 一 般 大 家 去 哪 个 网 站 买 书
映射 1 2 3 4 5 6 7 8 9 10 11
字词 。 一般 大家 哪个 网站
映射 12 13 14 15 16
[0143] 其后,本发明使用Word2Vec训练字向量模型,得到各字的字向量矩阵char_embedding_matrix。
[0144] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0145]
[0146] 其中,w2v_corpus为句子对语义匹配知识库中的所有数据;EMB_DIM为向量维度,本模型设置EMB_DIM为300,word_set为字词表。
[0147] S302、构建输入层:输入层包括四个输入,从输入层的训练数据集样例中分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,将其形式化为:
(sentence1_char,sentence2_char,sentence1_word,sentence2_word);
[0148] 对于输入句子中的每个字和词,本发明都按照在步骤S301中构建完成的字词映射转换表将其转化为相应的数字标识。
[0149] 举例说明:使用步骤S201中展示的句子对作为样例,以此组成一条输入数据。其结果如下所示:
[0150] (“一般大家去哪个网站买书。”,“大家买书一般上哪个网站买?”,“一般大家去哪个网站买书。”,“大家买书一般上哪个网站买?”)
[0151] 每条输入数据包含4个子句。根据步骤S301中的字词映射转换表,将其转换为数值表示。(假定出现在句子2中但没有出现在句子1中的“上”及“?”分别被映射为17,18)。输入
数据的4个子句,合并表示结果如下:
[0152] (“1,2,3,4,5,6,7,8,9,10,11,12,13”,“1,2,3,4,5,6,7,10,11,12,8,13”,“1,2,3,4,5,6,7,8,9”,“1,2,3,4,5,7,8,10,9”)。
[0153] S303、构建字词向量映射层:通过加载构建步骤S301中训练所得的字词向量矩阵来初始化当前层的权重参数;针对输入句子sentence1_char、sentence2_char、sentence1_
word、sentence2_word得到其相应句子向量sentence1_char_embed、sentence2_char_
embed、sentence1_word_embed、sentence2_word_embed。句子对语义匹配知识库中每一个
句子都可以通过字词向量映射的方式,将句子信息转化为向量形式。
[0154] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0155] embedding_layer=Embedding(embedding_matrix.shape[0],emb_dim,weights=[embedding_matrix],input_length=input_dim,trainable=False)
[0156] 其中,embedding_matrix是步骤3.1中训练所得的字词向量矩阵,embedding_matrix.shape[0]是字词向量矩阵的字词表的大小,emb_dim是输出的字词向量维度,
input_length是输入序列的长度。
[0157] 相应的句子sentence1_char、sentence2_char、sentence1_word、sentence2_word,经过Keras的Embedding层处理后得到相应的句子向量sentence1_char_embed、
sentence2_char_embed、sentence1_word_embed、sentence2_word_embed。
[0158] S304、构建基本模块:该结构如图7所示,具体步骤如下:
[0159] 如图7所示,基本模块先将输入的两个张量进行点积运算得到非规格化的注意力权重矩阵e,具体实施见公式(1)。
[0160] eij=aiTbj,i∈(1,...,la),j∈(1,...,lb) (1)
[0161] 其中,e表示注意力权利矩阵,eij表示张量1的第i个位置对张量2的第j个位置的注意力权重,a表示张量1,ai表示张量1在第i个位置处的嵌入表示,la表示张量1的长度;b表示
张量2,bj表示张量2在第j个位置处的嵌入表示,lb表示张量2的长度。点积运算涉及到两个
向量夹角的余弦值,由三角函数的基础知识可知:自变量在0~π之间取值时,两向量之间的
夹角越小,其对应的余弦值越大,即相应的相似度(匹配度)越高。然后,基本模块对注意力
权重矩阵e进行规格化处理并进行对齐操作得到对齐结果,见公式(2)‑(3)。
[0162]
[0163]
[0164] 其中,eij是张量1的第i个位置对张量2的第j个位置的注意力权重, 是 对ai的对齐结果,对应图7中的对齐结果1;同理, 是 对bj的对齐结果,对应图7中的对齐
结果2;ai,bj,la,lb与公式(1)中的含义相同,此处不再赘述;
[0165] 由于对齐结果2由输入的张量1计算所得,所以加强版对齐结果1为输入的张量1与对齐结果2的和,具体实施见公式(4);同理,由于对齐结果1由输入的张量2计算所得,所以
加强版对齐结果2为输入的张量2与对齐结果1的和,具体实施见公式(5)。
[0166]
[0167]
[0168] 其中,a、b分别表示输入的张量1、张量2所有分量的集合,即公式(1)中的张量1和张量2; 分别表示公式(2)、(3)的对齐结果1、对齐结果2所有分量的集合; 分别
表示加强版对齐结果1、加强版对齐结果2所有分量的集合。
[0169] 以上为基本模块的处理流程介绍,其核心功能是实现基本的对齐匹配操作,是多级对齐匹配网络的基础组件。
[0170] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0171]
[0172]
[0173] 其中,input_1和input_2分别表示输入的张量1和张量2,最后返回的in1_aligned和in2_aligned分别表示加强版对齐结果1和加强版对齐结果2。
[0174] S305、由基本模块构建多级对齐匹配网络模块:该结构如图8所示,具体步骤如下:
[0175] 多级对齐匹配网络模块的第一层编码结构双向长短期记忆网络BiLSTM1对多粒度嵌入模块输出的字嵌入表示和词嵌入表示分别进行编码操作以得到初步的第一层字编码
结果和第一层词编码结果。具体来说,句子1的第一层字编码结果和第一层词编码结果见公
式(6)‑(7)。
[0176]
[0177]
[0178] 其中, 和 分别表示句子1在第i个位置处的字嵌入表示和在第j个位置处的词嵌入表示。 和 分别表示句子1在第i个位置处的第一层字编码结果和在第j个位置
处的第一层词编码结果;la表示在字粒度下句子1的长度,lb表示在词粒度下句子1的长度。
[0179] 将句子1的第一层字编码结果和第一层词编码结果 和 送入一号基本模块进行第一次对齐匹配操作之句子1的字粒度和词粒度对齐匹配,得到加强版对齐结果集合
和 具体实施见下述公式(8)‑(12)。
[0180]
[0181]
[0182]
[0183] 其中,eij表示句子1的字粒度与词粒度的注意力权重, 和 分别表示在字粒度下句子1的第i个位置处的对齐结果和在词粒度下句子1的第j个位置处的对齐结果。
进一步地,
[0184]
[0185]
[0186] 其中,q1c表示句子1的第一层字编码结果的集合,由公式(6)中的 组成;q1w表示句子1的第一层词编码结果的集合,由公式(7)中的 组成; 表示句子1字粒度对齐结
果的集合,由公式(9)中的 组成; 表示句子1词粒度对齐结果的集合,由公式
(10)中的 组成; 和 分别表示句子1字粒度加强版对齐结果的集合与词粒
度加强版对齐结果的集合。
[0187] 相应地,句子2的第一层字编码结果和第一层词编码结果分别记为 和 将和 送入二号基本模块进行第一次对齐匹配操作之句子2的字粒度和词粒度对齐匹配
得到加强版对齐结果集合 和 与句子1的操作类似,只是更改为与句子2相关的
操作,故在此不再赘述。
[0188] 将句子1的字粒度和词粒度加强版对齐结果集合进行concatenate连接操作得到q1concat,将句子2进行类似操作可得q2concat,具体实施见公式(13)‑(14)。
[0189]
[0190]
[0191] 其中,q1concat表示将句子1字粒度与词粒度加强版对齐结果连接后的集合,q2concat表示将句子2字粒度与词粒度加强版对齐结果连接后的集合; 表示公式(11)中的句子
1字粒度加强版对齐结果的集合, 表示公式(12)中的句子1词粒度加强版对齐结果的
集合; 的含义与 类似,只是更改为与句子2相关的操作,在此不
再赘述。
[0192] 将q1concat和q2concat送入三号基本模块进行第二次对齐匹配操作,即进行句子1和句子2的对齐,得到加强版对齐结果集合q1'align2和q2'align2。
[0193] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0194]
[0195] 其中,q1_c,q1_w分别表示句子1的字词嵌入表示,q2_c,q2_w分别表示句子2的字词嵌入表示;返回的d1_aligned,d2_aligned分别表示句子1和句子2的加强版对齐结果。
[0196] 第二层编码结构BiLSTM2使用双向长短期记忆网络对句子1和句子2第二次对齐操作输出的加强版对齐结果集合q1'align2和q2'align2分别进行编码操作以得到第二层编码结
果集合q1bilstm2和q2bilstm2。具体实施见公式(15)‑(16)。
[0197] q1bilstm2=BiLSTM2(q1'align2) (15)
[0198] q2bilstm2=BiLSTM2(q2'align2) (16)
[0199] 将上述经过BiLSTM2后的编码结果集合q1bilstm2和q2bilstm2送入四号基本模块进行第三次对齐匹配操作,得到最终的加强版对齐结果集合q1'align3和q2'align3。
[0200] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0201]
[0202] 其中,d1_aligned,d2_aligned分别表示句子1和句子2的加强版对齐结果,返回的f1,f2分别表示句子1和句子2最终的加强版对齐结果。
[0203] S306、构建特征增强模块:经过步骤S305处理后分别得到句子1的加强版对齐结果q1'align3,句子2的加强版对齐结果q2'align3,对其进行一维最大池化以得到更为显著的特
征,记为q1maxpooling和q2maxpooling。将池化结果进行交互,相应公式见(17)‑(20)。
[0204] ab=|q1maxpooling‑q2maxpooling| (17)
[0205] ad=q1maxpooling+q2maxpooling (18)
[0206] su=q1maxpooling‑q2maxpooling (19)
[0207] mu=q1maxpooling·q2maxpooling (20)
[0208] 其中,ab为绝对值运算的结果;ad为加法运算的结果;su为减法运算的结果;mu为乘法运算的结果。随后,将两个句子的池化结果和交互结果进行concatenate连接得到
qconcat,公式见(21)。
[0209] qconcat=concatenate([ab,ad,q1maxpooling,q2maxpooling,su,mu]) (21)
[0210] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0211] f1=GlobalMaxPooling1D()(f1)
[0212] f2=GlobalMaxPooling1D()(f2)
[0213] ab=Lambda(lambda x:K.abs(x[0]–x[1]))([f1,f2])
[0214] ad=Lambda(lambda x:(x[0]+x[1]))([f1,f2])
[0215] su=Lambda(lambda x:(x[0]–x[1]))(f1,f2)
[0216] mu=Lambda(lambda x:(x[0]*x[1]))(f1,f2)
[0217] ff=concatenate([ab,mu,f1,f2,ad,su])
[0218] 其中,f1和f2代表对步骤S305中第三次加强版对齐结果进行一维最大池化后的结果,ff表示池化结果与交互结果的连接结果,即句子对语义匹配张量。
[0219] S307、构建标签预测模块:将步骤S306得到的句子对语义匹配张量作为输入,以此判断句子对的语义是否匹配。标签预测模块是一个多层感知机,句子对语义匹配张量依次
经过三层全连接网络。其中,前两层是维度为600、激活函数为relu函数的全连接网络,最后
一层是维度为1、激活函数为sigmoid函数的全连接网络;得到一个处于[0,1]之间的匹配度
数值,记为ypred,最终通过与设立的阈值0.5进行比较,从而判断句子对的语义是否匹配;即
ypred≥0.5时,预测该句子对的语义是匹配的,否则,不匹配。
[0220] 举例说明:在Keras中,对于上面描述的代码实现如下所示:
[0221] similarity=Dropout(0.5)(ff)
[0222] similarity=Dense(600,activation=’relu’)(similarity)
[0223] similarity=Dropout(0.5)(similarity)
[0224] similarity=Dense(600,activation=’relu’)(similarity)
[0225] similarity=Dropout(0.5)(similarity)
[0226] pred=Dense(1,activation=’sigmoid’)(similarity)
[0227] 其中,ff为步骤S306中所得的最终的句子对语义匹配张量。
[0228] 当本发明所提出的基于多级对齐匹配网络的句子对语义匹配模型尚未进行训练时,需要进一步执行步骤S4进行训练,以优化模型参数;当该模型训练完毕时,由步骤S307
可预测目标句子对的语义是否匹配。
[0229] S4、训练句子对语义匹配模型:在步骤S2所得的训练数据集上对步骤S3构建的句子对语义匹配模型进行训练,如附图5所示,具体如下:
[0230] S401、构建损失函数:由步骤S307可知ypred为经过句子对语义匹配模型处理后得到的匹配度数值;而ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,采用交
叉熵作为损失函数,公式如下:
[0231]
[0232] S402、优化训练模型:使用Adam优化函数作为本模型的优化函数,在训练数据集上,对句子对语义匹配模型进行优化训练;
[0233] 本发明所提出的模型在LCQMC数据集上取得了优于当前先进模型的结果,实验结果的对比具体见下表。
[0234]
[0235] 本发明模型和现有模型进行了比较,实验结果显示本发明方法有了很大的提升。其中,前三行是现有技术的模型的实验结果【Xin Liu,Qingcai Chen,Chong Deng,Huajun
Zeng,Jing Chen,Dongfang Li,and Buzhou Tang.LCQMC:A large‑scale chinese
question matching corpus,COLING2018】,最后一行是本发明模型的实验结果,由此可知
本发明比现有模型有了较大提升。
[0236] 实施例3:
[0237] 如附图6所示,基于实施例2的面向智能交互的句子对语义匹配装置,该装置包括,
[0238] 句子对语义匹配知识库构建单元,用于获取大量的句子对数据,随后对其预处理操作,从而得到符合训练要求的句子对语义匹配知识库;句子对语义匹配知识库构建单元
包括,
[0239] 句子对数据获取单元,负责下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;
[0240] 原始数据断字/分词预处理单元,负责预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字和分词操作,从而构建句子对语义匹配断字处理
知识库和分词处理知识库;
[0241] 子知识库汇总单元,负责汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,从而构建句子对语义匹配知识库;
[0242] 训练数据集生成单元,用于根据句子对语义匹配知识库中的句子来构建用于训练的正例数据和负例数据,并且将正例数据与负例数据打乱混合来构建最终的训练数据集;
训练数据集生成单元包括,
[0243] 训练正例数据构建单元,负责将句子对语义匹配知识库中两个语义一致的句子与其匹配标签1构建为训练正例数据;
[0244] 训练负例数据构建单元,负责选中一个句子,随后随机选择与其语义不匹配的某个句子进行组合,与其匹配标签0一起构建为负例数据;
[0245] 训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱顺序,从而构建最终的训练数据集;
[0246] 句子对语义匹配模型构建单元,用于构建字词映射转换表、输入模块、字词向量映射层、多级对齐匹配网络模块、特征增强模块和标签预测模块;句子对语义匹配模型构建单
元包括,
[0247] 字词映射转换表构建单元,负责对句子对语义匹配知识库中的每个句子按字/词粒度进行切分,并将每个字和词依次存入一个列表中,从而得到一个字词表,随后以数字1
为起始,按照每个字和词被录入字词表的顺序依次递增排序,从而获得本发明所需的字词
映射转换表;字词映射转换表构建完成后,表中每个字/词均被映射为唯一的数字标识;其
后,本发明使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵;
[0248] 输入模块构建单元,负责加载字词映射转换表构建单元中的字词映射转换表,把句子对转换成数字标识;
[0249] 字词向量映射层构建单元,负责加载字词映射转换表构建单元中的字词向量矩阵,把句子对转换成向量形式,即字/词嵌入表示;
[0250] 多级对齐匹配网络模块构建单元,负责对同一句子的不同粒度进行对齐和两个句子的对齐,具体操作为通过第一层编码结构长短期记忆网络BiLSTM1对句子的字嵌入表示
形式和词嵌入表示形式进行处理,将当前层编码结构输出的字编码结果和词编码结果经第
一次对齐匹配操作后所得结果以句子为单位进行连接,随后将两句子连接结果进行第二次
对齐匹配操作,将此结果送入第二层编码结构长短期记忆网络BiLSTM2,并将编码结果进行
第三次对齐匹配操作,得到两句子最终的加强版对齐匹配表示;
[0251] 特征增强模块构建单元,负责进一步处理相应句子的语义特征,对其进行句子交互等操作以增强语义特征,从而生成最终的句子对语义匹配张量;
[0252] 标签预测模块单元,负责对句子对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
[0253] 句子对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数与优化函数,并完成模型的优化训练;句子对语义匹配模型训练单元包括,
[0254] 损失函数构建单元,负责计算预测的匹配值与真实匹配值之间的误差;
[0255] 模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
[0256] 实施例4:
[0257] 基于实施例2的存储介质,其中存储有多条指令,指令有处理器加载,执行实施例2的面向智能交互的句子对语义匹配方法的步骤。
[0258] 实施例5:
[0259] 基于实施例4的电子设备,电子设备包括:实施例4的存储介质;以及
[0260] 处理器,用于执行实施例4的存储介质中的指令。
[0261] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。