基于改进LDA主题模型的文本相似度计算方法及系统与流程

文档序号:15982273发布日期:2018-11-17 00:28阅读:755来源:国知局

本发明涉及语言处理技术领域,具体涉及一种基于改进lda主题模型的文本相似度计算方法。

背景技术

文本相似度研究都是自然语言处理的重要研究课题。传统的vsm方法以tf-idf作为特征构建向量,并以余弦距离计算文本的相似度,但是这种方法单纯以词频作为特征,没有考虑词语和文本的语义特征。

文本相似度是在语言学、心理学和信息理论等领域内均被广泛研究的重要课题。目前对于文本相似度的计算方法多样,已经取得了很多成果。传统的文本相似度的计算方法是以词频为特征,将文本进行向量化表示,向量的维度为语料库中包含的全部词语数量。但是上述相似度计算方法都存在维度大、空间浪费严重、过多集中于词语层面、未能充分挖掘和利用不同类型文本之间固有的用词差异的问题



技术实现要素:

因此,本发明要解决的技术问题在于克服现有技术中的文本相似度计算方法存在维度大、空间浪费严重、过多集中于词语层面、未能充分挖掘和利用不同类型文本之间固有的用词差异的问题。

为此,提供一种基于改进lda主题模型的文本相似度计算方法,包括以下步骤:

在wmf_lda主题模型中获取若干文本集,对其中一个文本进行分词处理并得到若干词语,所述若干词语构成预处理词语集;

通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值,将词语相似度值超过一阈值的两个词语进行合并,生成合并词语集,word2vec词向量模型预先设置;

判断合并词语集中内词语的属性,保留合并合并词语集中具有动词属性及名词属性的词语,生成主题及主题词语集,每个主题对应一个主题词语集;

获取若干文本,通过lda主题模型计算文章在不同主题上的概率分布;

确定任意两个文本之间主题词语集的分布率的相似度得到本发明相似度。

进一步的,

所述预先设置word2vec词向量模型,通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值的步骤包括:

选取word2vec的cbow模型,选取一词语w1、并根据该词语w1的相邻词语来获取词语w1的n维向量,选取一词语w2、并根据该词语w2的相邻词语来获取词语w2的n维向量;

通过公式(1)计算词语词语w1及词语w2的相速度:

sim(w1,w2)表示词语w1与词语w2之间的相似度,w1i表示词语向量w1的第i个维度的值,w2i表示词语向量w2的第i个维度的值。

进一步的,

所述预先设置word2vec词向量模型,通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值的步骤包括:

选取word2vec的skip-gram模型,选取一词语w1、并根据该词语w1的临近词语来获取词语w1的n维向量,选取一词语w2、并根据该词语w2的临近词语来获取词语w2的n维向量;

通过公式(1)计算词语w1及词语w2的相似度:

sim(w1,w2)表示词语w1与词语w2之间的相似度,w1i表示词语向量w1的第i个维度的值,w2i表示词语向量w2的第i个维度的值。

进一步的,

获取若干文章,通过lda主题模型计算文章在不同主题上的概率分布包括以下步骤:

采取gibbs采样将待建模的文本进行上述词语筛选与合并之后生成主题词语集,对其中每一个词语随机初始化一个主题语集,并根据公式(2)更新每一个词语位于的主题词语集的概率,即排除当前词的主题分配,根据其他所有词的主题分配重新估计当前词语在各个主题下的概率分布:

其中,为主题词语集k下出现词语t的数量,为文本m中出现主题k的次数,为除去下标为i的词语,a和β取经验值:α=50/k,β=0.01。

进一步的,

进行gibbs采样不断更新每一个词语的主题概率直至收敛,再通过以下公式(3)计算获得文本-主题概率分布情况:

进一步的,

所述确定任意两个文本之间主题词语集的分布率的相似度得到本发明相似度的步骤包括:

获取一个主题词语集位于文本的概率d1、获取一个主题词语集位于文本的概率d2,通过公式(4)计算两个文本相似度:

上述公式(4)中的dkl表示两个向量的kl距离。两个向量a,b的kl距离的计算方法如下公式(5)所示

通过sim(d1,d2)表示两个文本之间的文本相似度。

一种基于改进lda主题模型的文本相似度计算系统,包括:

获取装置,用于在wmf_lda主题模型中获取若干文本集;

分词装置,用于对其中一个文本进行分词处理并得到若干词语,所述若干词语构成预处理词语集;

模型设置装置,用于预先设置word2vec词向量模型;

合并装置,用于通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值,将词语相似度值超过一阈值的两个词语进行合并,生成合并词语集;

词性筛选装置,用于判断合并词语集中内词语的属性,保留合并合并词语集中具有动词属性及名词属性的词语,生成主题及主题词语集,每个主题对应一个主题词语集;

计算装置,用于获取若干文章,通过lda主题模型得出文本在各主题上的概率分布情况;

并确定任意两个文本之间主题分布的相似度得到本发明相似度。

本发明技术方案,具有如下优点:

1.先进行筛选减少主题词语集中词语的数量,然后通过主题词语集位于文本中出现的概率而判断两个文本之间的概率,使得在计算两个文本的相似度的过程中,使得计算时维度小、减少浪费空间并且解决了过多集中于词语层面、未能充分挖掘和利用不同类型文本的问题。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为基于改进lda主题模型的文本相似度计算方法的流程图;

图2a为word2vec的cbow模型示意图;

图2bword2vec的skip-gram模型示意图;

图3为词语出现频率的示意图;

图4为基于改进lda主题模型的文本相似度计算系统的结构图;

图5为语义合并结果示意图;

图6为参数设定曲线图;

图7为运行时间与词语数量直方图;

图8为准确度的示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

一种基于改进lda主题模型的文本相似度计算方法,如图1所示其流程图,包括以下步骤:

s1、在wmf_lda主题模型中获取若干文本集,对其中一个文本进行分词处理并得到若干词语,所述若干词语构成预处理词语集,其中文本集可以是由期刊、专利申请文件、论文、书籍中的一段话、一篇文章等等。例如一个文本包括“今天去打篮球”,将“今天去打篮球”进行分词得到“今天、打篮球”。

s2、通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值,将词语相似度值超过一阈值的两个词语进行合并,生成合并词语集,word2vec词向量模型预先设置;在该个实施例中,其基本思想是根据词语在文本中的位置,综合了上下词信息来计算获取词语的n维向量,因此计算出来的词语的n维向量将具备一定程度的语义信息。其中步骤s2包括:

选取word2vec的cbow模型,如图2a所示,选取一词语w1、并根据该词语w1的相邻词语来获取词语w1的n维向量,选取一词语w2、并根据该词语w2的相邻词语来获取词语w2的n维向量;

通过公式(1)计算词语w1及词语w2的相似度:

sim(w1,w2)表示词语w1与词语w2之间的相似度,

在另个实施例中,其基本思想是根据词语在文本中的位置,综合了上下词信息来计算获取词语的n维向量,因此计算出来的词语的n维向量将具备一定程度的语义信息。其中步骤s2包括:

选取word2vec的skip-gram模型,如图2b所示,选取一词语w1、并根据该词语w1的临近词语来获取词语w1的n维向量,选取一词语w2、并根据该词语w2的临近词语来获取词语w2的n维向量;

通过公式(1)计算词语词语w1及词语w2的相速度:

sim(w1,w2)表示词语w1与词语w2之间的相似度,sim(w1,w2)表示词语w1与词语w2之间的相似度,w1i表示词语向量w1的第i个维度的值,w2i表示词语向量w2的第i个维度的值。

在一个实施例中,可以通过以下方式计算词语w1与词语w2之间的相似度并进行相应的的合并:

不同类别的文本具有其常用的词语集合,或专业领域的词语集。采用复旦语料库从中选择太空、艺术、农业、经济、政治五个类别中的随机200篇文章,计算不同词语在不同类别文本中的出现频率,结果如图3所示。“灌溉”、“农村”等词语在“农业”类别中出现的次数较多,而在其他类别的文本中出现次数较少甚至不会出现;同理,“钢琴”、“航天”等词语则分别在“艺术”与“太空”两类文本集中出现的次数较多。

因此,我们可以得知,不同类别的新闻文本都有其各自的领域词集,其中的词语在该类别的新闻中出现次数较多,而在其它类别的文本中出现次数较少。基于以上分析,我们可以提出如下假设:

假设1:不同类别文本有其相对固定、区别于其他类别文本的、体现其领域专业性的词语集合。

假设2:若两词属同一领域词集,则其相似程度较其属不同领域词集更大。

除此之外,我们将同义词和领域词映射到同一个词语表达上可以增加该领域的独特性,提高领域词的出现频率。可采用gibbs采样,得到所有词的主题词语集分布,统计某篇文档中所有词语的主题计数,便可得到该文档对应的主题词语集分布;同理,统计所有语料库中所有词的主题计数,便可得到各个主题对应的词语分布。因此,我们可以得到如下推断:

某篇文章中包括某个主题的词语的数量越多,该文章包含该主题的概率则越大。

基于以上假设与推断,我们提出本发明的思路:通过相似度的计算将同(近)义词与同一专业领域内的词语映射到一个词语上,如将“航空”,“航天”,“宇航”等词语统一映射为“航空”。这样可以最大限度的发挥各类文本领域词集内的词语对该类别文本的标识作用,同时通过将同义词映射为统一词语表示,提高了该词语的出现频率,在通过gibbs采样获取主题词语集位于文本处的概率分布时,提高文本在该主题词语集下的分布概率值。

另外,通过设定词语之间的相似度阈值t,来判定词语是否相似,从而进行统一化的映射,可以大幅的降低词语规模,提高了lda建模效率。

s3、判断合并词语集中内词语的属性,保留合并合并词语集中具有动词属性及名词属性的词语,生成主题词语集。在该实施例实例中可以根据中文文本的特点,在文本的语义结构上,名词和动词对于一篇文章的内容理解、语义结构等方面均具有重要的作用,将合并词语集中除名词和动词之外的词语删除并不会影响我们对于整篇文本语义的把握和理解。此外,在文本的组成结构方面,名词和动词也占总体词语数量的比重也较大,对于文本的结构组成其重要作用。

无论在语义结构还是组成结构,名词和动词都是一篇文本的核心要素。因此,文本针对此特点,将通过上一步进行词语合并与映射之后的结果,按照词性进行筛选,保留对文本语义和结构影响较大的名词和动词,而过滤掉其他影响较小的词语,排除助词、语气词等无关词语对后续建模工作的影响,进一步降低词语数量,进而达到计算时维度小、减少浪费空间的目的。

s4、获取若干经过上述词语筛选与合并后的文章,通过lda主题模型得出主题词语集分别位于所述若干文章的中分布率;

所述获取若干文章,通过lda主题模型得出主题词语集分别位于所述若干文章的中分布率的步骤包括:获取若干文章,通过lda主题模型计算文章在不同主题上的概率分布包括以下步骤:

采取gibbs采样将待建模的文本进行上述词语筛选与合并之后生成主题词语集,对其中每一个词语随机初始化一个主题语集,并根据公式(2)更新每一个词语位于的主题词语集的概率,即排除当前词的主题分配,根据其他所有词的主题分配重新估计当前词语在各个主题下的概率分布:

其中,为主题词语集k下出现词语t的数量,为文本m中出现主题k的次数,为除去下标为i的词语,α和β取经验值:α=50/k,β=0.01。

进行gibbs采样不断更新每一个词语的主题概率直至收敛,再通过以下公式(3)计算获得文本-主题概率分布情况:

s5、确定任意两个文本之间主题词语集的分布率的相似度得到本发明相似度。

所述确定任意两个文本之间主题词语集的分布率的相似度得到本发明相似度的步骤包括:

获取一个主题词语集位于文本的概率d1、获取一个主题词语集位于文本的概率d2,通过公式(4)计算两个文本相似度:

上述公式(4)中的dkl表示两个向量的kl距离。两个向量a,b的kl距离的计算方法如下公式(5)所示

通过sim(d1,d2)表示两个文本之间的文本相似度。

一种基于改进lda主题模型的文本相似度计算系统,如图4所示其结构示意图,包括:

获取装置,用于在wmf_lda主题模型中获取若干文本集;

分词装置,用于对其中一个文本进行分词处理并得到若干词语,所述若干词语构成预处理词语集;

模型设置装置,用于预先设置word2vec词向量模型;

合并装置,用于通过word2vec词向量模型对预处理词语集中的词语两两之间进行相似度计算并生成若干词语相似度值,将词语相似度值超过一阈值的两个词语进行合并,生成合并词语集;

词性筛选装置,用于判断合并词语集中内词语的属性,保留合并合并词语集中具有动词属性及名词属性的词语,生成主题词语集;

计算装置,用于获取若干文章,通过lda主题模型得出文本在各主题或主题词语集上的概率分布情况;

并确定任意两个文本之间主题分布的相似度得到本发明相似度。

本发明所采用的实验数据分为word2vec词向量训练和利用wmf_lda主题模型进行建模与文本相似度计算两部分。

进行词向量训练时,综合采用复旦大学语料库、腾讯新闻语料库、搜狗实验室新闻语料库、凤凰新闻网、网易新闻语料库、人民网、维基百科等多个中文文本语料库,共2813611篇新闻文本,83万词条。

进行lda的建模与文本相似度计算时,采用的是复旦大学语料库的部分文本数据。本发明选取其中艺术、太空、农业、经济和政治五类语料,每类随机选择200篇文本,共计1000篇文本进行建模与相似度计算。

在本发明进行实验所采用的1000篇文本中,共包涵6万多个不同的词语。利用word2vec模型在语义层面上对词语进行合并和统一化映射时,本发明设定阈值t=0.5,对词语相似度大于该阈值的两个词语进行合并。最终将词语数量降低为4万,仅为原来的三分之二,可以有效的提高后续进行lda建模的速度。如图5所示了文本集中的一些词语在根据语义信息与其他词语进行合并之后结果。

如图5所示,“国际航空”、“航空”、“航空公司”明显属于“太空(space)”类别的词语,而在其他类别中很少出现,因此统一映射为“国际航空”。同理,“中央组织部”、“团中央”、“中央宣传部”等词语则在“政治(politics)”类中出现的次数较多,则统一映射为“中央组织部”。根据词语语义进行领域内词语的合并,可以提高该领域词的出现频次,提高其对所属领域的反映和代表能力。

在对文本集进行lda主题建模之前,需要事先确定主题词语集的数量k,而不同k值的选择将直接影响到后边lda模型的准确度。

因此,本发明利用经过词语合并与筛选后的1000篇测试集,在统一的参数设置下,选择不同的k值进行lda的建模,并对建模之后得到的各文本的主题词语集分布利用k-means聚类的方法进行聚类,并根据聚类的效果f1值来确定k值。在lda建模过程中,α和β采取经验值。

从图6所示,经过多次计算取得平均值的情况下,采用相同的文本集和参数设定,主题词语集数量设定为400时,f(1)为0.70最大。因此,在后续的lda建模实验中,将主题数量设置为k=400。

本方法提出的wmf_lda主题模型,在进行建模之前,首先根据词语语义将领域词与近义词进行统一化的映射表示。并根据中文文本的特点,将特定的名词和动词进行筛选构成新的文本集。从文本的语义结构和组织结构两方面进行语料库规模的压缩,可以降低词语数量,提高建模时间。如图6所示采用相同上述数据集,wmf_lda与传统lda主题模型在词语数量与运行时间上的差异。

通过图7可以得知,本发明提出的wmf_lda在运行时间与词语数量上均优于传统lda主题建模的方法。其中传统建模方法需要对6万多个词语建模,最终耗时7000多秒;本方法提出的wmf_lda对4万多个词语进行建模,最终耗时4000多秒。在词语规模与运行时间上均降低为原来的三分之二。

本发明采用经典的k-means聚类算法,以准确度f1值为评价指标来衡量文本相似度计算效果。在效果对比时,本发明采用传统tf-idf方法、经典lda方法与本发明提出的wmf_lda模型进行比较,并将本发明提出的基于语义的词语合并与基于词性的词语筛选(wmf,wordmergingandfiltering)与传统tf-idf相结合,一并作为对比实验。实验结果如图7所示。

图8显示的实验结果的准确率,本发明提出的wmf_lda方法在文本相似度计算与聚类准确度方面较传统lda方法有明显的提升。同时,将本发明提出的基于语义的词语合并与基于词性的词语筛选(wmf,wordmergingandfiltering)应用于传统tf-idf方法上,也可以获得一定程度的提升。这是因为本发明提出的方法在文本语义结合和组成结构上,将对文本影响较小的词语筛选过滤,同时将能够体现文本领域特征的词语进行统一化映射,增强了文本的领域差异。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1