System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于主题模型和汉字特征的短文本相似度计算方法技术_技高网

一种基于主题模型和汉字特征的短文本相似度计算方法技术

技术编号:40453496 阅读:13 留言:0更新日期:2024-02-22 23:11
本发明专利技术公开了一种基于主题模型和汉字特征的短文本相似度计算方法,包括步骤1至步骤8,其中步骤1,预处理数据集得到句子列表WList<subgt;i</subgt;{i=0,1},步骤2,加载训练的部首矩阵将句子列表转换为部首嵌入矩阵F<subgt;i,r</subgt;,步骤3,加载预训练的词嵌入矩阵将句子列表转换为词嵌入矩阵F<subgt;i,w</subgt;,步骤4,将词嵌入矩阵F<subgt;i,w</subgt;通过主题模型得到主题概率分布矩阵T<subgt;i</subgt;,相对于现有技术,本发明专利技术具有如下优点,1)引入了部首特征,增加预训练的丰富性。2)引入了主题模型,在计算相似性之前辅助帮助模型就更加准确的来判断两个句子是否属于同一主题,提高了相似性计算的概率3)在文本表示的基础上利用注意机制学习两个句子之间的关系,将句子对之间的相似度关系赋予不同的权重,增强神经网络学习到的表征信息。

【技术实现步骤摘要】

本专利技术涉及文字处理,特别是一种基于主题模型和汉字特征的短文本相似度计算方法


技术介绍

1、随着网络技术的发展,信息爆炸的时代已然来临。像微博、推特等这种社交网络中的短文本语料中包含着大量的信息。所以对于短文本的分析也成为了自然语言处理的一项热门话题。其中的短文本相似度计算作为很多自然语言处理的任务的基础,更是一项重要的研究话题。但是之前的相似度匹配方法大多集中在在英文的数据集上,而英文和中文本身是有很大差异性的语言。所以基于英文的文本相似度方法忽略了中文的一些特有特征:部首。同时,又由于短文本所蕴含的文本信息较少,所以使用主题模型来辅助获得额外的信息,更进一步的提高文本相似度计算的准确率。

2、部首根据百度所给出的定义,他是表示汉字的第一笔画或形旁。它被分为两种类别。第一类是“不表义”,就是只有一画或者两画。第二类是表义的,也就是“形旁”,可以用来归类事物,比如:刀、纟、钅、车、木等等。例如,带有“火”字旁的汉字,大多表示和火有关;带有“氵”字旁的大多和水有关,所以部首可以提供额外的信息用于训练。

3、在本专利技术中,我们将汉字的部首信息结合到神经网络中,来学习更好的表征,进一步用于中文短文本相似度任务。


技术实现思路

1、本专利技术针对现有方法中存在的问题,提供了一种基于主题模型和中文部首特征的短文本相似度计算方法,该方法首先使用cnn得到部首向量表示,接着使用word2vector得到文本的词向量表示,其次将拼音向量和词向量拼接起来通过一个全连接层得到最终的输入向量表示,然后使用bilstm(双向lstm)训练得到最终的句向量表示,最后通过余弦相似度计算得到最终的相似度概率。

2、为了实现上述的目的,本专利技术的技术方案如下,一种基于主题模型和汉字特征的短文本相似度计算方法。所述方法包括以下步骤:

3、步骤1,对数据集s进行预处理,得到句子列表wlisti{i=0,1},数据集s表示为{sj|sj=(s0,s1,label),1≤j≤n},其中sj表示第j组数据,由句子s0,句子s1和标记label三部分组成,n为数据集s的大小。

4、步骤2,加载预训练的部首嵌入得到部首嵌入矩阵rek×r,其中k表示部首字典中部首的数量,r表示部首嵌入的维度;

5、依次将wlisti{i=0,1}中的字转化为部首向量表示,得到句粒度部首表示矩阵fi,r=[rv1,…,rvn]r×n,其中,rvm=re(wordm)1×r,wordm表示si中第m个字,n表示句子si的字数;

6、步骤3,加载预训练的word embedding得到词嵌入矩阵wel×d,其中i表示wordembedding中字的数量,d表示词向量的维度;

7、依次将wlisti{i=0,1}中的字转化为词向量表示,得到句粒度词嵌入表示矩阵fi,w=[wv1,…,wvn]d×n,其中,wvm=we(wordm)1×d,wordm表示si中第m个字,n表示句子si的字数;

8、步骤4,设置主题模型所需的主题数k和超参数α,β,将句粒度词嵌入表示矩阵fi,w=[wv1,…,wvn]d×n输入主题模型,运行得到文档-主题的概率分布矩阵tit×k,i=0,1,其中,t为文档个数;

9、步骤5,依次将部首嵌入矩阵fi,r、词嵌入矩阵fi,w中对应的字拼接起来通过融合层,融合层使用一个全连接将其映射为最终的输入向量

10、fi,rw=[v1,…,vn]dc×n,

11、其中,wordm表示si中第m个字,n表示句子si的长度,符号表示向量拼接,dc表示映射以后的向量维度,fc表示全连接;

12、步骤6,将输入向量fi,rw(i=0,1)通过第一层bilstm(双向lstm)来获得句子的每个时间片的隐节点状态和其中,是bilstm输出的每个时间片的隐节点状态,具体公式如下:

13、

14、

15、步骤7,将s0(s1)每个时间片的隐节点状态与s1(s0)最后一个时间片的隐节点状态进行比较,得到两个句子序列拼接和中对应的元素得到fi,a={m1,...,mn}。将fi,a通过第二层bilstm得到拼接得到fi;

16、步骤8,拼接fi(i=0,1)与主题模型的输出tit×k得到向量表示fi,t,将fi,t通过余弦相似度计算,得到句子之间的相似度概率p,如果概率p大于一个阀值,即为相似,否则为不相似。

17、作为优选,所述步骤2的预训练过程如下:

18、构建部首向量表示:首先将汉字的214个部首特征引入,然后在人工标注的语料库上使用宽度为2的cnn进行训练,最后再使用最大池化得到部首向量。

19、作为优选,所述步骤7的具体步骤如下:

20、步骤7-1,定义一个匹配函数来比较两个向量:

21、m=fm(v1,v2;w)

22、其中,v1、v2是两个d维向量,w是一个1*d维的可训练参数矩阵。其中代表逐元素相乘。

23、步骤7-2,将s0(s1)每个时间片的隐节点状态与s1(s0)最后一个时间片的隐节点状态使用步骤7-1的公式进行计算得到mj,计算公式如下:

24、

25、

26、拼接对应的和得到fi,a={m1,...,mn}。

27、步骤7-3,将fi,a={m1,...,mn}(i=0,1)通过第二层bilstm得到拼接得到fi(i=0,1)。

28、作为优选,所述步骤1中所进行的预处理有中文分词、去标点符号。

29、作为优选,所述步骤8中余弦相似度计算公式如下:

30、

31、相对于现有技术,本专利技术具有如下优点,1)引入了部首特征,增加预训练的丰富性。2)引入了主题模型,在计算相似性之前辅助帮助模型就更加准确的来判断两个句子是否属于同一主题,提高了相似性计算的概率3)在文本表示的基础上利用注意机制学习两个句子之间的关系,将句子对之间的相似度关系赋予不同的权重,增强神经网络学习到的表征信息。

本文档来自技高网...

【技术保护点】

1.一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,包括以下步骤:

2.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步骤2的预训练过程如下,

3.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步骤7的具体步骤如下:

4.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步骤1中所进行的预处理有中文分词、去标点符号和停用词。

5.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步骤8中余弦相似度计算公式如下:

【技术特征摘要】

1.一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,包括以下步骤:

2.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步骤2的预训练过程如下,

3.根据权利要求1所述一种基于主题模型和汉字特征的短文本相似度计算方法,其特征在于,所述步...

【专利技术属性】
技术研发人员:潘建吕思睿吴志伟
申请(专利权)人:浙江工业大学之江学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1