1.一种基于注意力的语义文本相似度计算方法,包括如下步骤:(1)获取数据集并对数据集中每条文本进行预处理,从而得到大量数据样本,所述数据集中的文本均为成对组合且每一组均已人工标记是否语义相似;
(2)将所有数据样本分为训练集和测试集,搭建神经网络并利用训练集对其进行训练,得到语义文本相似度的计算模型;所述神经网络从输入至输出由文本编码层、局部相似性建模层、整体相似性建模层、池化层以及多层感知器依次连接组成;
所述文本编码层由两个并行的编码模块A1和A2组成,若一个数据样本包含的是文本a和文本b的词向量矩阵,则编码模块A1的输入为文本a的词向量矩阵,编码模块A2的输入为文本b的词向量矩阵;编码模块A1和A2结构相同均包含一个卷积层和一个双向门控循环单元,卷积层和双向门控循环单元的输入相同即为编码模块的输入,卷积层和双向门控循环单元的输出拼接后作为编码模块的输出,卷积层采用400个大小为1的卷积核以及Tanh函数对输入进行卷积操作,双向门控循环单元中的隐藏层大小设置为200;
所述局部相似性建模层由两个并行的建模单元B1和B2组成,建模单元B1和B2结构相同均包含一个软注意力层和一个局部增强层,建模单元B1的软注意力层输出为建模单元B1的软注意力层输出为 建模单元B1的局部增强层输出为 以及 拼接后的结果,建模单元B2的局部增强层输出为以及 拼接后的结果,由向量 拼接组成,由向量 拼接组成,其中:
其中: 表示文本a的词向量矩阵经过编码模块A1后的输出结果 中对应第i个单词的向量, 表示文本b的词向量矩阵经过编码模块A2后的输出结果 中对应第j个单词的向T
量,i、j和k均为自然数,表示转置;
所述整体相似性建模层从输入至输出由拼接层、整合层、多卷积层、通道注意力层依次连接组成;其中,所述拼接层用于将建模单元B1和B2中局部增强层的输出结果进行拼接后提供给整合层,所述整合层采用600个大小为1的卷积核以及Tanh函数对输入进行卷积操作后提供给多卷积层,所述多卷积层包含四个并行的卷积层C1~C4以及四个最大池化层M1~M4,卷积层C1采用300个大小为1的卷积核以及Tanh函数对输入进行卷积操作,卷积层C2采用300个大小为2的卷积核以及Tanh函数对输入进行卷积操作,卷积层C3采用300个大小为3的卷积核以及Tanh函数对输入进行卷积操作,卷积层C4采用300个大小为4的卷积核以及Tanh函数对输入进行卷积操作,最大池化层M1~M4分别对卷积层C1~C4的输出进行最大池化操作,最大池化层M1采用大小为4的卷积核,最大池化层M2采用大小为3的卷积核,最大池化层M3采用大小为2的卷积核,最大池化层M4采用大小为1的卷积核,四个最大池化层M1~M4的输出拼接后得到C×N大小的特征图 且T
所述通道注意力层首先对特征图 进行压缩处理得到一个统计量z,z=[z1,z2,…,zC] ,表示向量 中的第p个元素值,c为自然数且1≤c≤C;然后T
利用门控机制函数对统计量z进行降维操作后得到指标量s且s=[s1,s2,…,sC] ,所述门控机制函数连续采用了两个全连接层,每个全连接层均包含一次批标准化和ReLu激活函数操作;最后使指标量s与特征图 相乘后输出特征图 且所述池化层包含并行的平均池化层和最大池化层,通道注意力层输出的特征图 分别经过平均池化层和最大池化层使得特征图空间信息压缩到1个通道描述符,进而将平均池化层和最大池化层的输出拼接后提供给多层感知器;所述多层感知器连续采用了三个全连接层,每个全连接层均包含一次批标准化和ReLu激活函数操作,最后使用1个节点的输出维度作为整个神经网络的输出结果;
(3)将测试集样本输入计算模型中,即可得到一组成对文本的相似度结果。
2.根据权利要求1所述的语义文本相似度计算方法,其特征在于:所述步骤(1)的具体实现方式为:首先利用Jieba分词工具对数据集中的每一条文本进行分词操作并去除停用词,然后统一输入长度即只截取每条文本的前m个单词,最后基于预训练的n维词向量通过词嵌入方式将每条文本转换为m×n大小的词向量矩阵,m和n均为预设大于1的自然数;最终得到的每一数据样本即为成对组合的两个文本的词向量矩阵。
3.根据权利要求1所述的语义文本相似度计算方法,其特征在于:所述步骤(2)中采用交叉熵损失函数以及Adam优化器通过正反向传播的方式按批次对神经网络进行训练。
4.根据权利要求1所述的语义文本相似度计算方法,其特征在于:所述神经网络能更有效地提取文本的语义信息,提取两个文本间更细粒度的交互信息;该神经网络使用多个注意力机制能增强两个文本间交互信息中重要信息,提高语义文本相似度计算准确率。