当前位置:文档之家› 基于主题的关键词提取方法对比研究(中)讲解

基于主题的关键词提取方法对比研究(中)讲解

验分布与似然函数是共轭的。

LDA算法中,对于一个随机变量而言,其似然函数为多项式分布,并且其先验分布为Dirichlet分布,那么其后验概率仍为Dirichlet分布。

LDA算法中之所以选择Dirichlet因为可以减轻计算量。

给一个例子说明Dirichlet分布,假设我们在和一个不老实的人玩掷骰子游戏。

按常理我们觉得骰子每一面出现的几率都是1/6,但是掷骰子的人连续掷出6,这让我们觉得骰子被做了手脚,使得这个骰子出现6的几率更高。

而我们又不确定这个骰子出现6的概率到底是多少,所以我们猜测有50%的概率是:6出现的概率2/7,其它各面1/7;有25%的概率是:6出现的概率3/8,其它各面1/8;还有25%的概率是:每个面出现的概率都为1/6,也就是那个人没有作弊,走运而已。

用图表表示如下表3.1:表 3.1 骰子游戏概率可能性筛子面 1 2 3 4 5 60.5 概率1/7 1/7 1/7 1/7 1/7 2/70.25 概率1/8 1/8 1/8 1/8 1/8 3/80.25 概率1/6 1/6 1/6 1/6 1/6 1/6我们所猜测的值,如果设为X的话,则表示X的最自然的分布便是Dirichlet分布。

设随机变量X服从Dirichlet分布,简写为Dir(α),即X~Dir(α)。

α是一个向量,表示的是某个事件出现的次数(向量每个分量之间的相互关系)。

比如对于上例,骰子的可能输出为{1,2,3,4,5,6},假设我们分别观察到了5次1~5,10次6,那么α = {5,5,5,5,5,10}。

X则表示上例中的各种概率组合,比如{1/7,1/7,1/7,1/7,1/7,2/7};{1/8,1/8,1/8,1/8,1/8,3/8};{1/6,1/6,1/6,1/6,1/6,1/6},那么P(X)则表示了该概率组合出现的概率,也就是概率的概率。

这里需要注意的输入参数α,它表示了各个基本事件的权重。

图 3.2 Dirichlet分布受到 参数的影响Dirichlet分布受参数α的控制,由图3.2中可以看出当α=[1,1,1]时,分布较为平均;当α=[0.1,0.1,0.1]时,分布集中于边缘;当α=[10,10,10],分布集中于中心区域中一个较小的范围;当α=[2,5,15],分布集中于偏离中心的一个小范围内。

对于Dirichlet分布而言,α的分量大小控制分布的集中程度,α分量差异程度控制着分布的位置。

3.2 潜在语义分析(LSA)潜在语义分析(Latent Semantic Analysis)或者潜在语义索引(Latent Semantic Index),是1988年S.T. Dumais[27]等人提出了一种新的信息检索代数模型,是用于知识获取和展示的计算理论和方法,它使用统计计算的方法对大量的文本集进行分析,从而提取出词与词之间潜在的语义结构,并用这种潜在的语义结构,来表示词和文本,达到消除词之间的相关性和简化文本向量实现降维的目的。

LSA是基于线性代数理论进行语义分析的一种理论方法,它的核心思想是认为文档中词与词之间存在着某种隐含的语义关系(称之为语义空间),这种语义空间在文档中的上下文结构中,通过统计分析方法可以得到。

在语义空间中同义词被定义为,具有相同或类似含义的词语间有一个相同的语义空间,而对于那种一词多义的词语而言,则根据用法的不同会存在不同的语义空间结构中。

通过挖掘这种隐含语义结构,有利于进一步消除文档中同义、多义现象在文档表达过程中造成的影响。

解决语义混乱问题的一个关键步骤就是如何将文档和词映射到同一语义空间中进行分析研究。

在这里主要用到一个方法即奇异值分解[28](Singular Value Decomposition,SVD)。

SVD分解的重要意义在于将文档从稀疏的高维词汇空间映射到一个低维的向量空间[29]。

LSA 在信息滤波、文档索引、视频检索、文本分类与聚类、图像检索、信息抽取等有着很广泛的应用。

3.2.1 潜在语义分析模型介绍LSA算法是信息检索中潜在语义分析中比较经典的算法,假设文档集合为D={d1,d2,d3,…d N},词汇集合为W={ w1,w2,w3,…w M },那么我们可以将数据集合表示称为一个M×N共生矩阵,也就是词项—文档矩阵的概念,即由M个词项和N篇文档组成的一个M×N的权重矩阵C,矩阵的每行代表一个词项,每列代表一篇文档。

这种表示的优点包括:可以将查询和文档转换成同一空间下的向量,可以基于余弦相似度进行评分计算,能够对不同的词项赋予不同的权重,除了文档检索之外还可以推广到诸如聚类等其他领域,等等。

但是,向量空间表示方法没有能力处理自然语言中的两个经典问题:一义多词(synonymy)和一词多义(polysemy)问题。

一义多词指的是不同的词(比如car 和automobile)具有相同的含义。

向量空间表示方法不能捕捉诸如car 和automobile这类同义词之间的关系,而是将它们分别表示成独立的一维。

因此,如果我们计算查询向量q(如car)和文档dr(同时包含有car和automobile的文档)的相似度时,就会低估了用户所期望的相似度。

而一词多义指的是某个词项(如match)具有多个含义,因此在计算相似度时,就会高估了用户所期望的相似度。

一个很自然的问题就是,能否利用词项的共现情况(比如,match是和fire还是score在某篇文档中共现),来获得词项的隐性语义关联从而减轻这些问题的影响?即使对一个中等规模的文档集来说,词项—文档矩阵C也可能有成千上万个行和列,它的秩的数目大概也是这么个数量级。

在LSA中,我们使用SVD分解来构造C 的一个低秩逼近矩阵C k,其中k远小于矩阵C原始的秩。

这样,我们就可以将词项—文档矩阵中每行和每列(分别对应每个词项和每篇文档)映射到一个k维空间,k个主特征向量(对应k个最大的特征值)可以定义该空间。

需要注意的是,不管k取值如何,矩阵C k仍然是一个M×N的矩阵。

接下来,和原始空间一样,我们利用新的k 维空间的LSA表示来计算向量的相似度。

可以通过k q k=∑-1U T q这个式子来变换到LSI空间。

下面简单介绍一下这个过映射过程的实现。

SVD 可以用于解决矩阵低秩逼近问题,接着我们将其应用到词项—文档矩阵的逼近问题上来。

为此,我们要进行如下三步操作:(1)给定C,按照公式构造SVD分解,因此 C = UΣV T;(2)把Σ中对角线上r-k个最小奇异值置为0,从而得到Σk;(3)计算C k = UΣk V T作为C的逼近。

由于Σk最多包含k个非零元素,所以C k的秩不高于k。

然后,我们回顾一下上面例子的的直观性结果,即小特征值对于矩阵乘法的影响也小。

因此,将这些小特征值替换成0将不会对最后的乘积有实质性影响,也就是说该乘积接近C。

Ck到C的逼近性,如果在原始空间中查询和文档相近,那么在新的k维空间中它们仍然比较接近。

但是这本身并不是十分有趣,特别是当原始的稀疏矩阵转换成低维空间中的密集矩阵新空间下的计算开销会高于原始空间。

一般来说,可以将求 C 的低秩逼近看成是一个约束优化问题,在C k的秩最多为k 的条件下,从C出发寻找词项和文档的一个表示C k,当将词项-档表示到k 维空间时,SVD 应该将共现上相似的词项合在一起。

这个直觉也意味着,检索的质量不仅不太会受降维的影响,而且实际上有可能会提高。

整个LSA模型也可以表示成下图3.3。

=documents term .......LSA documentvectors...LSA term vectors图3.3 LSA 模型表示Dumais (1993)[27]基于普遍所使用的Lanczos 算法来计算 SVD 分解,并在 TREC 语料和任务上对 LSI 进行了一系列实验。

在实验当时(20世纪90年代早期),数万篇文档上的 LSI 计算在单机上大约需要一整天。

这些实验也达到或超过了当时 TREC 参加者的中游水平。

在20%左右的 TREC 主题中,他们的系统得分最高,在平均水平上使用大约 350维288 的 LSI 也比常规的向量空间方法稍高。

下面列出了最早从他们工作中得到的结论,而这些结论在后续的其他实验中也得到了验证:(1) SVD 的计算开销很大,这也是一个阻碍LSA 推广的主要障碍。

一个解决这个障碍的方法是对文档集随机抽样然后基于抽取出的样本子集建立LSA 表示,剩余的其他文档可以基于公式进行转换。

(2) 如果减低 k 值,那么如预期一样,召回率将会提高。

令人奇怪的是,当 k 取几百之内的数目时,某些查询的正确率实际上也会得到提高。

这也意味着,对于合适的 k 值,LSA 能部分解决一义多词的问题。

(3) 当查询和文档的重合度很低时,LSA 的效果最好。

3.2.2 潜在语义分析的优缺点(1) 优点:① LSA 利用潜在的语义结构表示词汇和文本,它反映的不再是简单的词条出现的频率和分布关系,而是强化的语义关系。

② LSA 模型中不仅能够进行传统的词条、文本与文本之间相似关系分析,而且能够分析词条与文本之间的相似关系,具有更好的灵活性。

③ LSA 用低维词条、文本向量代替原始的空间向量,可以有效的处理大规模的文本库或者其他数据。

④LSA不同于传统的自然语言处理过程和人工智能程序,它是完全自动的,它可以自动地模拟人类的知识获取能力,甚至分类、预测的能力。

(2)缺点:①LSA的核心在于SVD即奇异值分解,但是矩阵的SVD分解因对数据的变化较为敏感,同时缺乏先验信息的植入等而显得过分机械,从而使它的应用受到一定限制。

通过SVD分解会舍弃奇异值较小的向量,而有时恰恰是这部分向量决定文本的特征,因而如何在压缩语义空间和保留奇异值较小的向量之间寻找一个平衡点也是值得关注的问题之一。

②LSA在进行信息提取时,忽略词语的语法信息(甚至是忽略词语在句子中出现的顺序),仍是一种词袋(Bag-of-Word)方法。

它不能进行语法分析,忽略了某些事物之间的前后词序之间的关系,无法处理一些有前后顺序的事件对象。

③当前比较有成果的研究是针对英语环境进行的,涉及中文环境的研究还很少。

英语环境和中文环境存在很大的差别,不能直接将英语环境下的研究应用于中文环境,需要适当的改进和完善。

④目前的研究中k值一般是根据经验确定的,取值在50~0之间。

k值的选取会影响LSA信息检索质量,因而有必要根据不同处理对象和条件建立具有普遍性和通用性的k值确定方法。

3.3 基于概率的潜在语义分析(PLSA)Hoffman对LSA算法所存在的缺点和不足进行修正,提出一种新型的隐性变量挖掘算法,即基于概率的潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)[30]。

相关主题