首页> 中国专利> 一种基于单词语义相似度的短文本主题建模方法

一种基于单词语义相似度的短文本主题建模方法

摘要

本发明公开了一种基于单词语义相似度的短文本主题建模方法,根据外部提供的单词语义相似度,构建短文本集中单词的相似词集;确定建模采用的主题数;随机分配各个短文本的主题;通过吉布斯采样过程迭代地确定各个短文本的主题和单词在主题下的分布;根据上述变量的最终分配结果向用户反馈各个主题下的单词分布与各个短文本所关联的主题。本发明很好地解决了短文本上信息量稀疏,语义表达不明确的问题。根据本发明所提供的模型结果,可以很好地将短文本表示为主题向量,作为短文的最终特征向量,这种主题向量式的表达具有良好的语义解释性,可作为多种应用的算法基础。本发明可以广泛应用到各种短文本数据之上,具有广泛的实际意义和商业价值。

著录项

  • 公开/公告号CN105955948A

    专利类型发明专利

  • 公开/公告日2016-09-21

    原文格式PDF

  • 申请/专利权人 武汉大学;

    申请/专利号CN201610254533.1

  • 发明设计人 李晨亮;王浩然;张芷芊;孙爱欣;

    申请日2016-04-22

  • 分类号G06F17/27(20060101);

  • 代理机构武汉科皓知识产权代理事务所(特殊普通合伙);

  • 代理人魏波

  • 地址 430072 湖北省武汉市武昌区珞珈山武汉大学

  • 入库时间 2023-06-19 00:30:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-24

    授权

    授权

  • 2016-10-19

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20160422

    实质审查的生效

  • 2016-09-21

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,涉及一种文本挖掘、主题建模的方法,具体涉及一种利用外部单词语义相似度信息,来加强短文本中单词之间的关联度,从而加强短文本上主题建模效果的方法。

背景技术

随着互联网的兴起,我们逐步进入大数据时代。与此同时,短文本已经成为互联网上一种越来越流行的文本数据。常见的有网页页面摘要、新闻标题、文本广告、微博、朋友圈更新等等。如何建立一种高效的主题模型并从大量的短文本数据集中挖掘出潜在的语义信息已经成为众多应用的基石。通过主题模型,我们就能获得对短文本的一种计算机可理解的形式化表达,从而可以应用到用户兴趣分析、内容推荐、主题探测、文本分类等众多基本文本挖掘任务之中。

传统的主题模型,旨在构建一个更为完全概率生成模型的主题模型方法,使得不同长度的文本可以以相同的维度向量进行表示。例如2003年,Bei.在Journal of Machine Learning Research发表的一篇名为“Latent Dirichlet Allocation”,常用于传统文本的分析,但是由于短文本的稀疏性,传统主题模型很难在短文本上取得较好的效果。

发明内容

为了解决上述技术问题,本发明利用了外部语料知识库提供的单词之间的关联性,提出了一种基于单词语义相似度的短文本主题建模方法,加强了短文本中词语之间的联系,从而提高了主题模型在短文本上的效果。

短文本的明显特征之一就是词语之间的共现性是非常稀疏的,这就导致了传统的主题模型在短文本上不能取得理想的结果。本发明旨在解决短文本上的数据稀疏性,从而提高主题模型在短文本上的效果。本发明提出了一个从短文本集合中抽取主题模式的方法。该模型对每个短文本设置一个主题变量,该变量表示短文本所关联的主题,即短文本中每个单词都由该主题生成。该模型在训练算法中结合了单词语义相似度信息,从而使得相似单词关联到同一个主题之下。单词语义相似度信息通过外部语料知识库获取,例如WordNet/维基百科、或者基于海量文本数据得到的LDA话题模型/词向量等,获得词语之间的相似度,进而对每一个单词构建一个相似词集合。主题模型能反馈在语料集上的主题单词分布,利用此信息就能计算得到文档的主题分布,即各个文档会被表示成同样维度大小下的一个向量,这种表达是其他数据挖掘任务的基础。

本发明所采用的技术方案是:一种基于单词语义相似度的短文本主题建模方法,其特征在于,包括以下步骤:

步骤1:计算单词两两之间的语义相似度;

步骤2:根据单词间的相似度,构建短文本集中单词的相似词集;

步骤3:针对公开的短文本数据集,训练得出针对短文本的主题模型,确定出各个短文本的主题和单词在主题下的分布;

步骤4:根据步骤3中获得的结果向用户反馈各个主题下的单词分布与各个短文本所关联的主题。

作为优选,步骤1的具体实现过程是,通过外部语义知识库,利用词向量和余弦相似度来表示单词之间的相似度。

作为优选,使用余弦相似度来计算两个单词wi和wj之间的相似度sim(wi,wj),公式如下:

sim(wi,wj)=A·B||A||||B||=Σi=1nAiBiΣi=1nAi2Σi=1nBi2;

其中,Α,B分别表示单词wi和wj的向量,其向量维度为n;

作为优选,步骤2的具体实现包括以下子步骤:

步骤2.1:预先设定一个阈值∈,如若单词wi和wj之间的相似度sim(wi,wj)大于∈,则互相添加彼此到对方的相似词集合和中;

步骤2.2:对相似词集合的大小进行限制,如果某个单词的相似词数量大于预设值τ,则认为该单词具有普遍性,清空该词的相似词集合。

作为优选,步骤3的具体实现包括以下子步骤:

步骤3.1:对短文本数据集进行预处理,包含去除停用词,低频词;

步骤3.2:给定模型的Hyper-parameterα和β,其中α是文档到主题的狄利克雷分布的先验参数,β是主题到单词的狄利克雷分布的先验参数,主题数目T,模型训练迭代次数Iter,相似度过滤阈值∈,相似词促进量μ,相似词数量过滤阈值τ;

步骤3.3:在对单词进行相似词促进操作之前,确定其每个相似词w′相对当前词w的促进量的大小

步骤3.4:遍历数据集中每一篇文档d,随机赋予一个主题k,主题k关联的文档数量,记为mk,主题k关联的单词数量,记为nk,各个主题k下各个单词w与主题k关联的数量,记为此时不考虑单词的相似词,对每篇文档d的每个单词w的相似词促进标记置为0;

步骤3.5:对于短文本数据集中的每一篇文档d依次执行步骤3.6至步骤3.9

步骤3.6:对于文档d的每一个单词w,以及上一轮迭代中文档赋予的主题k,首先从计数器中mk,nk和减去当前词带来的影响,即分别从计数器中减去1,同时若当前词w的相似词促进标记为1,需要对单词w的每个相似词w′的计数器和nk减去其促进量否则跳过相似词促进阶段;

步骤3.7:对文档d采样出一个新主题knew赋予文档d;

步骤3.8:对文档d中的单词w更新相似词促进标记

步骤3.9:得到knew后,依次更新相计数器和即分别在计数器中加上1,同时若当前词w更新后的为1,需要对单词w的每个相似词w′的计数器和nk加上其促进量否则跳过相似词促进阶段;

步骤3.10:更新单词集合中每一个单词的主题概率分布p(z|w);

步骤3.11:循环执行步骤3.5至步骤3.10,直到运行完预设迭代次数Iter后,计算出该数据集下的主题单词分布p(w|z);

步骤3.12:利用主题单词分布p(w|z)计算得出文档主题分布p(z|d),即文档被表示成k维的向量。

作为优选,步骤3.4中,当前单词本身的促进量为1,其相似词的促进量为μ,结果用矩阵表示,其中表示单词w和单词w′的相似度,具体表示如下:

其中,表示单词w的相似词集合。

作为优选,步骤3.6中,抽样公式为:

其中,mk指在主题k关联的文档数目,指在文档d中出现单词w的次数,指单词w与主题k所关联的数量,指相关变量计算中不包含文档d及其所包含的单词,α和β为预先设定的狄利克雷分布的先验参数,D表示短文本语料中的文档总数,V表示语料中的单词总数,T表示指定的主题数目。

作为优选,步骤3.8中,更新相似词促进的公式为:

λw,z=p(z|w)pmax(z|w)

pmax(z|w)=maxkp(z=k|w)

p(z=k|w)=p(z=k)p(w|z=k)Σi=1Tp(z=i)p(w|z=i)

p(w|z=k)=nzw+βΣwnzw+Vβ;

上式中,p(z|w)表示给定单词w的条件下,w属于主题z的概率;p(w|z)表示在给定主题z的条件下,出现单词w的概率,表示文档d中单词w的相似词促进标记,由伯努利分布采样得到,λw,z表示单词w在主题z下相似词促进标记的伯努利分布参数,表示主题z与单词w关联的数量,V表示语料集中的单词总数。

作为优选,步骤3.9中,计算公式如下:

p(z=k|w)=p(z=k)p(w|z=k)Σi=1Tp(z=i)p(w|z=i)

上式中,p(z=k)表示主题k出现的概率,p(w|z)表示在给定主题z的条件下,出现单词w的概率。

作为优选,步骤3.10中,计算公式如下:

p(w|z=k)=nkw+βΣwVRkw+Vβ;

上式中,表示单词w与主题k所关联的数量,V表示语料中的单词总数,β表示主题到单词的狄利克雷分布的先验参数。

作为优选,步骤3.11中,计算公式如下:

p(z=k|d)Σwp(z=k|w)p(w|d);

其中,p(z=k|d)表示在文档d下主题为k的概率,p(z=k|w)表示在单词w下主题为k的概率,p(w|d)表示在文档d中单词w出现的概率。

本发明模型利用外部语料知识库得到的单词语义相似度信息,很好地解决了短文本上信息量稀疏,语义表达不明确的问题。根据本发明所提供的模型结果,可以很好地将短文本表示为主题向量,作为短文的最终特征向量,这种主题向量式的表达具有良好的语义解释性,可作为多种应用的算法基础,譬如说提升短文本的分类、聚类准确度、并可用于各类推荐、语义分析和用户画像等。由于该方法是一种非监督性的方法,不需要人工对数据进行标注,使得本发明可以广泛应用到各种短文本数据之上,具有广泛的实际意义和商业价值。

附图说明

图1:本发明实施例的模型应用示意图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

本发明提供了一种基于单词语义相似度的短文本主题建模的方法,该方法利用了外部语料知识库的语义信息,极大增强了短文本的单词共现性上的稀疏性。本发明一定程度上解决了传统主题模型常在短文本数据集上遇到的困难。本发明模型提出了一个从短文本集合中抽取的主题模式的方法,该模型对每个短文本设置一个主题变量,该变量表示短文本所关联的主题,即短文本中每个单词都由该主题生成。该模型在训练算法中结合了单词语义相似度信息,从而使得相似单词关联到同一个主题之下。本发明模型在训练集上迭代指定次数后,会得到主题下的单词分布以及文档的主题分布,可以用其进行例如分类、聚类等更多数据挖掘任务。从图1中可以看到整个模型主要分为两部分,一部分是相似词的收集,一部分是主题模型的训练,具体实现过程包括以下步骤:

步骤1:计算单词两两之间的语义相似度;

a)下载Google公开的基于维基百科训练完毕的英语词向量(https://code.google.com/p/word2vec),即每一个英语单词会表示成一个300维的向量;

b)使用余弦相似度来计算两个单词wi和wj之间的相似度sim(wi,wj),公式如下:

sim(wi,wj)=A·B||A||||B||=Σi=1nAiBiΣi=1nAi2Σi=1nBi2;

其中,Α,B分别表示单词wi和wj的向量,其向量维度为n;

步骤2:根据单词间的相似度,构建短文本集中单词的相似词集;

a)在英语环境下,确定某一个阈值∈,若Cosine相似度大于∈,则加入到该词的相似词集合中最优阈值∈的设定在后续指定实验任务中进行调优;

b)对相似词集合的大小进行限制,如果相似词集合的大小超过20,则认为该词不具有代表性,清空其相似词集合,即弃置掉所有相似词;

步骤3:针对公开的短文本数据集,训练得出针对短文本的主题模型,确定出各个短文本的主题和单词在主题下的分布;

下载公开的短文本数据集Snippet(http://acube.di.unipi.it/tmn-dataset/),该数据集中每个文档都被赋予一个类别标签;在预处理过程中去除其中的停用词,过滤掉单词频率小于5的单词,最后得到12,265篇文档,文档平均长度为10.72,共有单词数目5,581;

针对公开的短文本数据集,训练得出针对短文本的主题模型;该模型是狄利克雷多项分布模型的一种扩展,即对每一个文档赋予一个主题,并认为该文档中的每一个词都来自于该主题;在采样出新主题后,不仅要增加当前词在新主题下的概率,还要以一定概率地增加当前词的相似词在新主题下的概率,具体实现过程是:

a)给定模型的Hyper-parameterα和β,其中α是文档到主题的狄利克雷分布的先验参数,β是主题到单词的狄利克雷分布的先验参数,主题数目T,模型训练迭代次数Iter,相似度过滤阈值∈,相似词促进量μ,相似词数量过滤阈值τ;

b)在对词语进行相似词促进操作之前,要确定其每个相似词促进量的大小,当前词本身促进量为1,其相似词促进量为μ,结果用矩阵表示,其中表示单词w和单词w′的相似度,具体表示如下:

其中,表示单词w的相似词集合。

c)遍历数据集中每一篇文档d,随机赋予一个主题k,主题k关联的文档数量,记为mk,主题k关联的单词数量,记为nk,各个主题k下各个单词w与主题k关联的数量,记为此时不考虑单词的相似词,对每篇文档d的每个单词w的相似词促进标记置为0;

d)对于短文本数据集中的每一篇文档d依次执行步骤e至步骤i;

e)对于每一篇文档d的每一个单词w,以及上一轮迭代中文档赋予的主题k,首先从计数器中mk,nk和减去当前词带来的影响,即分别从计数器中减去1,同时若当前词w的相似词促进标记为1,需要对单词w的每个相似词w′的计数器和nk减去其促进量否则跳过相似词促进阶段;

f)对文档d从如下分布中采样出一个新主题knew赋予文档d,抽样公式如下:

在上式中,mk指与主题k关联的文档数目,指在文档d中出现单词w的 次数,指单词w与主题k所关联的数量,指相关变量计算中不包含文档d及其所包含的单词,α和β为预先设定的狄利克雷分布的先验参数,D表示短文本语料中的文档总数,V表示语料中的单词总数,T表示指定的主题数目。

g)对文档d中的单词w更新相似词促进标记公式如下:

λw,z=p(z|w)pmax(z|w)

pmax(z|w)=maxkp(z=k|w)

p(z=k|w)=p(z=k)p(w|z=k)Σi=1Tp(z=i)p(w|z=i)

p(w|z=k)=nzw+βΣwnzw+Vβ;

上式中,p(z|w)表示给定单词w的条件下,w属于主题z的概率;p(w|z)表示在给定主题z的条件下,出现单词w的概率,表示文档d中单词w的相似词促进标记,由伯努利分布采样得到,λw,z表示单词w在主题z下相似词促进标记的伯努利分布参数,表示主题z与单词w关联的数量,V表示语料集中的单词总数。

h)从步骤e中得到knew后,依次更新相计数器和即分别在计数器中加上1,同时若当前词w更新后的为1,需要对单词w的每个相似词w′的计数器和加上其促进量否则跳过相似词促进阶段;

i)更新单词集合中每一个单词的主题概率分布p(z|w),公式如下:

p(z=k|w)=p(z=k)p(w|z=k)Σi=1Tp(z=i)p(w|z=i)

上式中,p(z=k)表示主题k出现的概率,p(w|z)表示在给定主题z的条件下,出现单词w的概率。

j)循环步骤d到步骤i步,直到运行完预设迭代次数后,计算出该数据集下的主题单词分布Φ,计算公式如下:

p(w|z=k)=nkw+βΣwVRkw+Vβ;

上式中,表示单词w与主题k所关联的数量,V表示语料中的单词总数,β表示主题到单词的狄利克雷分布的先验参数;

k)利用主题单词分布Φ计算得出文档主题分布θ,即文档被表示成k维的向量, 具体计算公式如下:

p(z=k|d)Σwp(z=k|w)p(w|d);

上式中,p(z=k|d)表示在文档d下主题为k的概率,p(z=k|w)表示在单词

w下主题为k的概率,p(w|d)表示在文档d中单词w出现的概率。

步骤4:根据步骤3中获得的结果向用户反馈各个主题下的单词分布p(w|z)与各个短文本下的主题分布p(z|d)。

本发明的模型获得文档的主题分布向量后,可以用于各种基础的机器学习任务中,譬如可以对文档进行分类、聚类、推荐等。可以直接使用的算法有SVM、K-Means等。外部语料知识库中语义信息的引入可以极大的加强短文本上单词之间的共现性,解决了短文本上数据稀疏的缺点,提高了主题模型在短文本数据集上的效果。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号