1.一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,具体包括如下步骤:S1、预处理两个预选的中文短文本,生成两个中文短文本的句子列表;
S2、加载预训练的拼音向量表示得到拼音嵌入矩阵,使用所述拼音嵌入矩阵依次将句子列表中的字转化为拼音向量表示,生成每个中文短文本的句粒度拼音嵌入矩阵;
S3、加载预训练的词嵌入表示得到词嵌入矩阵,使用所述词嵌入矩阵依次将句子列表中的字转化为词向量表示,生成两个中文短文本的句粒度词嵌入矩阵;
S4、将所述句粒度拼音嵌入矩阵、所述句粒度词嵌入矩阵中相同字的向量拼接并通过融合层,得到两个中文短文本的词拼音融合嵌入,并生成词拼音融合嵌入矩阵;
S5、根据两个中文短文本中任意两个字的词拼音融合嵌入矩阵计算所述两个字的注意力分数,生成一个中文短文本中每个字对于另一个中文短文本中每个字的注意力矩阵;
S6、将所述注意力矩阵与权重矩阵相乘,并与所述词拼音融合嵌入矩阵叠加生成高粒度的句子特征映射;
S7、将所述注意力矩阵中一个字对于另一个中文短文本中每个字的全部注意力分数相加,得到单个字的注意力权重,将所述注意力权重对该字的全部注意力分数加权,并使用若干个字宽的窗口进行平均池化,生成两个中文短文本的句向量;
S8、将两个中文短文本的所述句向量输入逻辑回归层,计算得到两个中文短文本的相似概率。
2.如权利要求1所述的一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,所述步骤S2具体包括:S21、使用开源的工具将语料库中的每个字转换为拼音序列;
S22、将长度不为8的拼音序列使用“‑”补其为8位;
S23、将拼音序列分词为罗马字符序列,在所述罗马字符序列上使用宽度为2的CNN来进行训练,经过最大池化操作生成句粒度拼音嵌入矩阵。
3.如权利要求1所述的一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,所述步骤S3具体包括:S31、加载预训练的词嵌入表示生成词嵌入矩阵;
S32、根据所述词嵌入矩阵依次将句子列表中的字转化为词向量表示,生成每个中文短文本的句粒度拼音嵌入矩阵。
4.如权利要求1所述的一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,所述步骤S4中的融合层使用一个全连接将拼接后的向量映射为词拼音融合嵌入。
5.如权利要求1所述的一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,所述步骤S5具体包括:S51、根据所述词拼音融合嵌入矩阵获取两个中文短文本中任意两个字的词拼音融合嵌入;
S52、根据所述词拼音融合嵌入的距离计算所述两个字的注意力分数;
S53、重复选择两个中文短文本中任意两个字的组合进行步骤S51‑S52,直到生成全部组合的注意力分数;
S54、根据全部所述注意力分数生成注意力矩阵。
6.如权利要求1所述的一种基于CNN和拼音特征的中文短文本相似度计算方法,其特征在于,所述步骤S7中,所述平均池化使用多层叠加的卷积层及池化层。