欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2020108554400
申请人: 齐鲁工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,该方法是通过构建并训练由多粒度嵌入模块、深层语义特征图构造网络模块、特征转换网络模块和标签预测模块组成的句子对语义匹配模型,实现对句子信息的深层语义特征图表示和语义特征的二维卷积编码表示,从而获取更深层次的语义上下文信息和句子间的交互信息,同时通过二维最大池化和注意力机制生成句子对的最终匹配张量并判定句子对的匹配程度,以达到对句子对进行智能语义匹配的目标;具体如下:多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到句子的多粒度嵌入表示;

深层语义特征图构造网络模块对句子的多粒度嵌入表示进行编码操作,得到句子的深层语义特征图;

特征转换网络模块对句子对的深层语义特征图进行进一步地特征编码、特征匹配和特征筛选操作,得到句子对的匹配向量;

标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配。

2.根据权利要求1所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述多粒度嵌入模块用于构建字映射转换表、构建词映射转换表、构建输入模块、构建字向量映射层、构建词向量映射层;

其中,构建字映射转换表:映射规则为:以数字1为起始,随后按照每个字被录入字表的顺序依次递增排序,从而形成本发明所需的字映射转换表;其中,字表根据句子对语义匹配断字处理知识库构建,该知识库通过对句子对语义匹配知识库的原始数据文本进行断字预处理操作而得;其后,再使用Word2Vec训练字向量模型,得到各字的字向量矩阵;

构建词映射转换表:映射规则为:以数字1为起始,随后按照每个词被录入词表的顺序依次递增排序,从而形成本发明所需的词映射转换表;其中,词表根据句子对语义匹配分词处理知识库构建,该知识库通过对句子对语义匹配知识库的原始数据文本进行分词操作而得;其后,再使用Word2Vec训练词向量模型,得到各词的词向量矩阵;

构建输入模块:输入层包括四个输入,对于训练数据集中的每一个句子对或待预测的句子对,对其进行断字和分词预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,其中后缀char、word分别表示对相应句子进行断字或分词处理而得,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);对于输入句子中的每个字或词都按照字映射转换表和词映射转换表转化为相应的数字标识;

构建字向量映射层:加载构建字映射转换表步骤中训练所得的字向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;句子对语义匹配断字处理知识库中每一个句子都可以通过字向量映射的方式,将句子信息转化为向量形式;

构建词向量映射层:加载构建词映射转换表步骤中训练所得的词向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;句子对语义匹配分词处理知识库中每一个句子都可以通过词向量映射的方式,将句子信息转化为向量形式。

3.根据权利要求1或2所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述深层语义特征图构造网络模块的构建过程具体如下:第一层编码结构BiLSTM1对多粒度嵌入模块输出的字嵌入表示和词嵌入表示分别进行编码操作以得到初步的第一层字编码结果和第一层词编码结果,记为 和 和 通过reshape操作后,得到 和 其被联接以生成第一层语义特征图 公式如下:其中,公式(1.1)表示使用BiLSTM1编码多粒度嵌入模块输出的字嵌入表示,并通过reshape操作增加一个维度,其中, 表示sentence1_char_embed或sentence2_char_embed,ic表示第i个字的向量表示在句子中的相对位置, 表示对第一层字编码结果 进行reshape处理的结果,该公式表示sentence_char_embed经过BiLSTM1处理后得到一个shape为(batch_size,time_steps,output_dimension)的张量,再通过reshape操作增加一个类似图像通道的维度从而得到一个shape为(batch_size,time_steps,output_dimension,1)的张量,该张量即为第一层字编码结果;公式(1.2)表示使用BiLSTM1编码多粒度嵌入模块输出的词嵌入表示,并通过reshape操作增加一个维度,其中, 表示sentence1_word_embed或sentence2_word_embed,iw表示第i个词的向量表示在句子中的相对位置, 表示对第一层词编码结果 进行reshape处理的结果,该公式表示sentence_word_embed经过BiLSTM1处理后得到一个shape为(batch_size,time_steps,output_dimension)的张量,再通过reshape操作增加一个类似图像通道的维度从而得到一个shape为(batch_size,time_steps,output_dimension,1)的张量,该张量即为第一层词编码结果;公式(1.3)表示通过联接第一层字编码结果和第一层词编码结果的reshape操作所得结果,以获得第一层语义特征图,其中, 表示第一层语义特征图,该特征图是将 和在新增的通道维度上进行联接而得到的,其shape为(batch_size,time_steps,output_dimension,2);

将初步的第一层字编码结果和第一层词编码结果,即记为 和 传递给第二层编码结构BiLSTM2;BiLSTM2对初步的第一层字编码结果和第一层词编码结果分别进行编码操作以得到初步的第二层字编码结果和第二层词编码结果,记为 和 和 通过reshape操作后,得到 和 它们和第一层语义特征图一起被联接以生成第二层语义特征图公式如下:其中,公式(2.1)的意义与公式(1.1)类似,该公式中BiLSTM2编码的对象是初步的第一层字编码结果 表示第二层字编码结果, 表示对第二层字编码结果进行reshape操作后的结果;公式(2.2)的意义与公式(1.2)类似,该公式中BiLSTM2编码的对象是初步的第一层词编码结果 表示第二层词编码结果, 对第二层词编码结果进行reshape操作后的结果; 和 的获得步骤以及shape均与 和 一致;公式(2.3)的意义与公式(1.3)类似,只是该公式除了联接第二层字编码结果和第二层字编码结果的reshape操作所得结果外,还需联接第一层语义特征图,其中, 表示第二层语义特征图,该特征图是将和 在新增的通道维度上进行联接而得到的,其shape为(batch_size,time_steps,output_dimension,4);

将初步的第二层字编码结果和第二层词编码结果,即 和 传递给第三层编码结构BiLSTM3;以此类推,可以多次反复编码生成多级语义特征图;根据模型预设的层次深度,直到生成最终的深层语义特征图;对于第depth层,公式如下:其中,公式(3.1)的意义与公式(2.1)类似,该公式中BiLSTMdepth编码的对象是初步的第depth-1层字编码结果 是第depth层的字编码结果, 表示对第depth层字编码结果进行reshape操作后的结果;公式(3.2)的意义与公式(2.2)类似,该公式中BiLSTMdepth编码的对象是初步的第depth-1层词编码结果 表示第depth层词编码结果, 表示对第depth层词编码结果进行reshape操作后的结果; 和的获得步骤以及shape均与 和 一致;公式(3.3)的意义与公式(2.3)类似,其中,表示第depth层语义特征图,即为最终的深层语义特征图,其获得步骤与类似,其shape为(batch_size,time_steps,output_dimension,2*depth)。

4.根据权利要求3所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述特征转换网络模块的构建过程具体如下:构建二维卷积语义特征编码层:此层接收深层语义特征图构造网络模块输出的深层语义特征图作为本层的输入,然后使用二维卷积神经网络对其进行编码操作,从而得到相应的语义特征编码表示,公式如下:其中,深层语义特征图 为该层输入;公式(4.1)表示第f个卷积核对深层语义特征图的特定区域进行卷积后经ReLU函数映射的结果,其中,[x1,y1]表示卷积核的尺寸,表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,ml和mh表示深层语义特征图的长和高,i:i+x1-1,j:j+y1-1表示卷积区域, 表示第f个卷积核的偏置矩阵,表示第f个卷积核在i:i+x1-1,j:j+y1-1区域的卷积结果;公式(4.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果,其中,sx1和sy1表示横向卷积步幅和纵向卷积步幅, 表示第f个卷积核的最终卷积结果;公式(4.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于深层语义特征图的最终卷积结果,其中,表示该卷积神经网络对于深层语义特征图的最终卷积结果,称其为语义特征编码表示;

构建语义特征匹配层:此层首先联接sentence1和sentence2的语义特征编码表示 和从而得到句子对联接张量 公式如下:随后,使用另一个二维卷积神经网络对 进行卷积匹配处理,从而得到句子对初步匹配张量,公式如下:

其中,句子对联接张量 为该层输入;公式(6.1)表示第f个卷积核对句子对联接张量的特定区域进行卷积后经过ReLU函数映射的结果,其中,[x2,y2]表示卷积核的尺寸, 表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,rl和rh表示深层语义特征图的长和高,i:i+x2-1,j:j+y2-1表示卷积区域, 表示第f个卷积核的偏置矩阵, 表示第f个卷积核在i:i+x2-1,j:j+y2-1区域的卷积结果;公式(6.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果,其中,sx2和sy2表示横向卷积步幅和纵向卷积步幅, 表示第f个卷积核的最终卷积结果;公式(6.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子对联接张量的最终卷积结果,其中,表示该卷积神经网络对于句子对联接张量的最终卷积结果,称其为句子对初步匹配张量;

构建语义特征筛选层:此层接收语义特征匹配层的输出句子对初步匹配张量作为输入,然后在本层中通过两个步骤对其完成语义特征筛选操作;

第一步,首先通过应用二维最大池化操作完成对句子对初步匹配张量的第一次特征筛选操作,其结果记为 公式如下:

其中,句子对初步匹配张量 为该层输入;公式(7.1)表示对句子对初步匹配张量的特定区域进行最大池化操作,其中,[x3,y3]表示池化窗口的尺寸,i和j表示池化区域的横坐标和纵坐标, 和 表示句子对初步匹配张量的长和高,i:i+x2-

1,j:j+y2-1表示池化区域,pi,j表示在i:i+x2-1,j:j+y2-1区域的池化结果;公式(7.2)表示整合每个区域的池化结果以得到句子对初步匹配张量的最终池化结果,其中,sx3和sy3表示横向池化步幅和纵向池化步幅,表示对所有区域的池化结果进行组合以得到的最终池化结果;

第二步,使用注意力机制得到最终的句子对语义匹配张量,公式如下:

其中,公式(8.1)表示对 进行映射,其中, 和 表示模型中相应的可训练权重矩阵,表示 经映射后的结果;公式(8.2)表示计算得出注意力权重,其中, 表示注意力权重;

公式(8.3)表示使用注意力权重生成最终的匹配向量,其中,N为 中的特征向量的数量,为最终的句子对语义匹配张量。

5.根据权利要求4所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述标签预测模块构建过程如下:

将句子对语义匹配张量将作为本模块的输入,其经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为ypred,最终通过与设立的阈值0.5进行比较,从而判断句子对间的语义是否匹配;即ypred≥0.5时,预测该句子对的语义是匹配的,否则,不匹配;当句子对语义匹配模型尚未充分训练时,需要在训练数据集上进行训练,以优化模型参数;当训练完毕时,其标签预测模块可预测目标句子对的语义是否匹配。

6.根据权利要求5所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述句子对语义匹配知识库构建具体如下:下载网络上的数据集获取原始数据:下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;

预处理原始数据:预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字操作、分词操作,得到句子对语义匹配断字处理知识库、分词处理知识库;

汇总子知识库:汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,构建句子对语义匹配知识库;

所述句子对语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:

构建训练正例:将句子对语义匹配知识库中将两个句子语义一致的句子对构建为正例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,1);

其中,sentence1_char、sentence2_char分别指代句子对语义匹配断字处理知识库中的句子1、句子2,sentence1_word、sentence2_word分别指代句子对语义匹配分词处理知识库中的句子1、句子2,1表示这两个句子的语义相匹配,是正例;

构建训练负例:选中一个句子s1,再从句子对语义匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,0);其中,sentence1_char、sentence1_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子1;

sentence2_char、sentence2_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子2;0表示句子s1和句子s2的语义不匹配,是负例;

构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据均包含了五个维度,即sentence1_char,sentence2_char,sentence1_word,sentence2_word,0或1;

所述句子对语义匹配模型构建完成后通过训练数据集进行句子对语义匹配模型的训练与优化,具体如下:

构建损失函数:采用交叉熵作为损失函数;

优化训练模型:使用RMSProp作为优化算法,除了其学习率设置为0.0015外,RMSProp的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子对语义匹配模型进行优化训练。

7.一种面向智能问答的基于语义特征图的句子对语义匹配装置,其特征在于,该装置包括,

句子对语义匹配知识库构建单元,用于获取大量的句子对数据,随后对其预处理操作,从而得到符合训练要求的句子对语义匹配知识库;

训练数据集生成单元,用于根据句子对语义匹配知识库中的句子来构建用于训练的正例数据和负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;

句子对语义匹配模型构建单元,用于构建字映射转换表、词映射转换表,同时构建输入模块、字向量映射层、词向量映射层、深层语义特征图构造网络模块、特征转换网络模块和标签预测模块;句子对语义匹配模型构建单元包括,字映射转换表或词映射转换表构建单元,负责对句子对语义匹配知识库中的每个句子按字粒度或词粒度进行切分,并将每个字或词依次存入一个列表中,从而得到一个字表或词表,随后以数字1为起始,按照每个字或词被录入字表或词表的顺序依次递增排序,从而形成本发明所需的字映射转换表或词映射转换表;字映射转换表或词映射转换表构建完成后,表中每个字或词均被映射为唯一的数字标识;其后,本发明使用Word2Vec训练字向量模型或词向量模型,得到各字的字向量矩阵或各词的词向量矩阵;

输入模块构建单元,负责对训练数据集中的每一个句子对或待预测的句子对,进行预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);

字向量映射层或词向量映射层构建单元,负责加载字映射转换表构建单元或词映射转换表构建单元步骤中训练所得的字向量矩阵或词向量矩阵来初始化当前层的权重参数;对于字向量映射,针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;对于词向量映射,针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;

深层语义特征图构造网络模块构建单元,负责将一维语义信息构造为特征图,具体操作为接收字向量映射层输出的字嵌入表示和词向量映射层输出的词嵌入表示作为输入;第一层编码结构对字嵌入表示和词嵌入表示分别进行编码操作,以得到第一层字编码结果和第一层词编码结果;第一层字编码结果和第一层词编码结果经reshape处理后,被联接在一起,以生成第一层语义特征图,同时,将联接前的第一层字编码结果和第一层词编码结果传递给第二层编码结构;第二层编码结构对第一层字编码结果和第一层词编码结果分别进行编码操作,以得到第二层字编码结果和第二层词编码结果;对第二层字编码结果、第二层词编码结果进行reshape处理,并将结果和第一层语义特征图一起被联接以生成第二层语义特征图,同时,将联接前的第二层字编码结果和第二层词编码结果传递给第三层编码结构;

以此类推,可以多次反复编码生成多级语义特征图;根据模型预设的层次深度,直到生成最终的深层语义特征图;

特征转换网络模块构建单元,负责进一步处理相应句子的深层语义特征图,对其进行语义特征编码、语义特征匹配和语义特征筛选等操作,从而生成最终的句子对语义匹配张量;其中,相应的操作分别通过二维卷积语义特征编码层、语义特征匹配层、语义特征筛选层而实现;

标签预测模块单元,负责对句子对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;

句子对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。

8.根据权利要求7所述的面向智能问答的基于语义特征图的句子对语义匹配方法,其特征在于,所述句子对语义匹配知识库构建单元包括,句子对数据获取单元,负责下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;

原始数据断字预处理或分词预处理单元,负责预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字或分词操作,从而构建句子对语义匹配断字处理知识库或句子对语义匹配分词处理知识库;

子知识库汇总单元,负责汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,从而构建句子对语义匹配知识库;

所述训练数据集生成单元包括,

训练正例数据构建单元,负责将句子对语义匹配知识库中两个语义一致的句子与其匹配标签1构建为训练正例数据;

训练负例数据构建单元,负责选中一个句子,随后随机选择与其不匹配的某个句子进行组合,与其匹配标签0一起构建为负例数据;

训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;

所述句子对语义匹配模型训练单元包括,

损失函数构建单元,负责计算句子1和句子2间语义匹配度的误差;

模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。

9.一种存储介质,其中存储有多条指令,其特征在于,所述指令有处理器加载,执行权利要求1-6中所述的面向智能问答的基于语义特征图的句子对语义匹配方法的步骤。

10.一种电子设备,其特征在于,所述电子设备包括:

权利要求9所述的存储介质;以及

处理器,用于执行所述存储介质中的指令。