1.基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,该方法具体如下:S1、构建文本匹配知识库;
S2、构建文本匹配模型的训练数据集;
S3、构建多粒度融合模型;具体如下:
S301、构建字符词语映射转换表;
S302、构建输入层;
S303、构建多粒度嵌入层:对句子中的词语和字符进行向量映射,得到词语级句子向量和字符级句子向量;
S304、构建多粒度融合编码层:对词语级句子向量和字符级句子向量进行编码处理,得到句子语义特征向量;
S305、构建交互匹配层:对句子语义特征向量进行分层比较,得到句子对的匹配表征向量;
S306、构建预测层:经预测层的Sigmoid函数处理,判断句子对的语义匹配程度;
S4、训练多粒度融合模型。
2.根据权利要求1所述的基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,所述步骤S1中构建文本匹配知识库具体如下:S101、使用爬虫获取原始数据:在互联网公共问答平台爬取问题集,得到原始相似句子知识库;或者使用网上公开的句子匹配数据集,作为原始相似句子知识库;
S102、预处理原始数据:预处理原始相似句子知识库中的相似文本,对每个句子进行分词和断字处理,得到文本匹配知识库;其中,分词处理是以中文里的每个词语作为基本单位,对每条数据进行分词操作;断字处理是以中文里的每个字作为基本单位,对每条数据进行断字操作;每个汉字或词语之间用空格进行切分,并保留每条数据中包括的数字、标点以及特殊字符在内的所有内容;
所述步骤S2中构建文本匹配模型的训练数据集具体如下:
S201、构建训练正例:将句子与其对应的语义匹配的句子进行组合,构建训练正例,形式化为:(Q1-char,Q1-word,Q2-char,Q2-word,1);
其中,Q1-char表示字符级粒度的句子1;Q1-word表示词语级粒度的句子1;Q2-char表示字符级粒度的句子2;Q2-word表示词语级粒度的句子2;1表示句子1和句子2这两个文本相匹配,是正例;
S202、构建训练负例:选中一个句子Q1,再从文本匹配知识库中随机选择一个与句子Q1不匹配的句子Q2,将Q1与Q2进行组合,构建负例,形式化为:(Q1-char,Q1-word,Q2-char,Q2-word,0);
其中,Q1-char表示字符级粒度的句子1;Q1-word表示词语级粒度的句子1;Q2-char表示字符级粒度的句子2;Q2-word表示词语级粒度的句子2;0表示句子Q1和句子Q2这两个文本不匹配,是负例;
S203、构建训练数据集:将经过步骤S201和步骤S202操作后所获得的全部的正例样本和负例样本进行组合,并打乱其顺序,构建最终的训练数据集;其中,无论是正例数据还是负例数据均包含五个维度,即Q1-char、Q1-word、Q2-char、Q2-word、0或1。
3.根据权利要求1或2所述的基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,所述步骤S301中构建字符词语映射转换表具体如下:S30101、字符词语表通过预处理后得到的文本匹配知识库来构建;
S30102、字符词语表构建完成后,表中每个字符、词语均被映射为唯一的数字标识,映射规则为:以数字1为起始,随后按照每个字符、词语被录入字符词语表的顺序依次递增排序,从而形成字符词语映射转换表;
S30103、使用Word2Vec训练字符词语向量模型,得到字符词语向量矩阵权重embedding_matrix;
所述步骤S302中构建输入层具体如下:
S30201、输入层包括四个输入,对两个待匹配的句子进行预处理分别获取Q1-char、Q1-word、Q2-char、Q2-word,将其形式化为:(Q1-char,Q1-word,Q2-char,Q2-word);
S30202、对于输入句子中的每个字符和词语均按照步骤S301中构建完成的字符词语映射转换表将其转化为相应的数字标识。
4.根据权利要求3所述的基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,所述步骤S303中构建多粒度嵌入层具体如下:S30301、通过加载步骤S301中训练所得的字符词语向量矩阵权重来初始化当前层的权重参数;
S30302、针对输入句子Q1和Q2,经过多粒度嵌入层处理后得到其词语级句子向量和字符级句子向量Q1-word Emd、Q1-char Emd、Q2-word Emd、Q2-char Emd;其中,文本匹配知识库中每一个句子均能通过字符词语向量映射的方式,将文本信息转化为向量形式;
所述步骤S304中构建多粒度融合编码层是将步骤S303中多粒度嵌入层输出的词语级句子向量和字符级句子向量作为输入,从两个角度获取文本语义特征,即字符级别语义特征提取和词语级别语义特征提取;再通过按位相加的形式,对两个角度的文本语义特征进行整合,得到最终的句子语义特征向量;对于句子Q1求取最终的句子语义特征向量具体如下:S30401、针对字符级别语义特征提取,具体如下:
S3040101、使用LSTM进行特征提取,得到特征向量 公式如下:S3040102、针对 进一步采用两种不同的方法进行编码,具体如下:①、对 继续使用LSTM进行二次特征提取,得到相应特征向量 公式如下:②、对 使用注意力机制Attention提取特征,得到相应特征向量 公式如下:S3040103、针对 使用Attention再次进行编码提取关键特征,得到特征向量公式如下:S3040104、将 与 按位相加得到字符级别的语义特征 公式如下:其中,i表示相应字符向量在句子中的相对位置,Qi为句子Q1中每个字符的相应向量表示;Q′i为经过初次LSTM编码后每个字符的相应向量表示;Q″i为经过第二次LSTM编码后每个字符的相应向量表示;
S30402、针对词语级别语义特征提取,具体如下:
S3040201、使用LSTM进行特征提取,得到特征向量 公式如下:S3040202、针对 进一步采用LSTM进行二次特征提取,得到相应特征向量 公式如下:S3040203、针对 使用Attention再次进行编码提取关键特征,得到词语级别特征向量 公式如下:其中,i'表示相应词语向量在句子中的相对位置;Qi′为句子Q1中每个词语的相应向量表示;Q′i′为经过初次LSTM编码后每个词语的相应向量表示;Q″i′为经过第二次LSTM编码后每个词语的相应向量表示;
S30403、经过步骤S30401和步骤S30402得到相应字符级别的特征向量 以及词语级别的特征向量 将 和 按位相加,得到针对文本Q1的最终句子语义特征向量 公式如下:对于句子Q2求取最终的句子语义特征向量 的方法,同步骤S30401到步骤S30403。
5.根据权利要求4所述的基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,所述步骤S305构建交互匹配层具体如下:S30501、经过步骤S304处理得到Q1、Q2的句子语义特征向量 和 针对 和 进行减法、叉乘以及点乘三种操作,得到 公式如下:同时,使用一个全连接层Dense进一步编码得到 和 公式如下:其中,i表示相应语义特征在句子中的相对位置;Q1i为文本Q1经过步骤S304特征提取得到的 中每个语义特征的相应向量表示;Q2i为文本Q2经过步骤S304特征提取得到的中每个语义特征的相应向量表示; 为针对句子语义特征向量 和 使用Dense进一步提取,得到的特征向量; 表示编码维度为300;
S30502、将 和 联接起来得到 公式如下:
同时, 和 同样进行减法、叉乘操作,公式如下:
再将二者结果联接得到 公式如下:
S30503、将 使用两层全连接层进行特征提取得到 并将
与 进行求和,得到 公式如下:
S30504、将 经过一层全连接层编码后的结果与步骤S30501中 求和,得到句子对的匹配表征向量 公式如下:所述步骤S306中构建预测层具体如下:
S30601、预测层接收步骤S305输出的匹配表征向量,使用Sigmoid函数进行计算,得到处于[0,1]之间的匹配度表示ypred;
S30602、将ypred与设立的阈值进行比较来判别句子对的匹配程度,具体如下:①、当ypred≥0.5时,表示句子Q1以及句子Q2相匹配;
②、当ypred<0.5时,表示句子Q1以及句子Q2不匹配。
6.根据权利要求1所述的基于多粒度融合模型的中文句子语义智能匹配方法,其特征在于,所述步骤S4中训练多粒度融合模型具体如下:S401、构建损失函数:通过将均方误差设置为交叉熵的平衡因子,设计出平衡交叉熵,其中均方误差的公式如下:其中,ytrue表示真实标签,即每条训练样例中表示匹配与否的0、1标志;ypred表示预测结果;
当分类边界模糊时,平衡交叉熵的使用能够自动平衡正负样本,并提高分类的准确性;
其将交叉熵与均方误差融合,公式如下:
S402、优化训练模型:选择使用RMSprop优化函数作为本模型的优化函数,超参数均选择Keras中的默认值设置。
7.一种基于多粒度融合模型的中文句子语义智能匹配装置,其特征在于,该装置包括,文本匹配知识库构建单元,用于使用爬虫程序,在互联网公共问答平台爬取问题集,或者使用网上公开的文本匹配数据集,作为原始相似句子知识库,再对原始相似句子知识库进行预处理,主要操作为对原始相似句子知识库中的每个句子进行断字处理和分词处理,从而构建用于模型训练的文本匹配知识库;
训练数据集生成单元,用于根据文本匹配知识库中的句子来构建训练正例数据和训练负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;
多粒度融合模型构建单元,用于构建字符词语映射转换表,并同时构建输入层、多粒度嵌入层、多粒度融合编码层、交互匹配层、预测层;其中,多粒度融合模型构建单元包括,字符词语映射转换表构建子单元,用于对文本匹配知识库中的每个句子按字符和词语进行切分,并将每个字符和词语依次存入一个列表中,从而得到一个字符词语表,随后以数字1为起始,按照每个字符和词语被录入字符词语表的顺序依次递增排序,从而形成本发明所需的字符词语映射转换表;字符词语映射转换表构建完成后,表中每个字符和词语均被映射为唯一的数字标识;其后,使用Word2Vec训练字符词语向量模型,得到字符词语向量矩阵权重;
输入层构建子单元,用于根据字符词语映射转换表,将输入句子中的每个字符和词语转化为相应的数字标识,从而完成数据的输入,具体来说就是分别获取q1与q2,将其形式化为:(q1-char,q1-word,q2-char,q2-word);
多粒度嵌入层构建子单元,用于加载预训练好的字符词语向量权重,将输入句子中的字符词语转换为字符词语向量形式,进而构成完整的句子向量表示;该操作根据字符词语的数字标识查找字符词语向量矩阵而完成;
多粒度融合编码层构建子单元,用于将多粒度嵌入层输出的词语级句子向量和字符级句子向量作为输入;先从两个角度来获取文本语义特征,即字符级别语义特征提取和词语级别语义特征提取;再通过按位相加的形式,对两个角度的文本语义特征进行整合,得到最终的句子语义特征向量;
交互匹配层构建子单元,用于将输入的两个句子语义特征向量,经过分层匹配计算,得到句子对的匹配表征向量;
预测层构建子单元,用于接收交互匹配层输出的匹配表征向量,使用Sigmoid函数进行计算,得到处于[0,1]之间的匹配度,最终通过与设立的阈值进行比较来判别句子对的匹配程度;
多粒度融合模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
8.根据权利要求7所述的基于多粒度融合模型的中文句子语义智能匹配装置,其特征在于,所述文本匹配知识库构建单元包括,爬取原始数据子单元,用于在互联网公共问答平台爬取问题集,或者使用网上公开的文本匹配数据集,构建原始相似句子知识库;
原始数据处理子单元,用于将原始相似句子知识库中的句子进行断字处理和分词处理,从而构建用于模型训练的文本匹配知识库;
所述训练数据集生成单元包括,
训练正例数据构建子单元,用于将文本匹配知识库中语义匹配的句子进行组合,并对其添加匹配标签1,构建为训练正例数据;
训练负例数据构建子单元,用于先从文本匹配知识库中选取一个句子q1,再从文本匹配知识库中随机选择一个与句子q1语义不匹配的句子q2,将q1与q2进行组合,并对其添加匹配标签0,构建为训练负例数据;
训练数据集构建子单元,用于将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
所述多粒度融合模型训练单元包括,
损失函数构建子单元,用于构建损失函数,计算句子1和句子2间文本匹配度的误差;
模型优化训练子单元,用于训练并调整模型训练中的参数,从而减小模型训练过程中预测的句子1与句子2间匹配度与真实匹配度之间的误差。
9.一种存储介质,其中存储有多条指令,其特征在于,所述指令由处理器加载,执行权利要求1-6中所述的基于多粒度融合模型的中文句子语义智能匹配方法的步骤。
10.一种电子设备,其特征在于,所述电子设备包括:
权利要求9所述的存储介质;以及
处理器,用于执行所述存储介质中的指令。