潜在语义(精选4篇)
潜在语义 篇1
0 引言
随着计算机技术和互联网的快速发展,人们可获得的信息数量以爆炸式的方式进行增长,高效准确的检索和过滤技术成为获取有用信息必不可少的方法。在信息检索和过滤的过程中,多义词和同义词使得采用精确匹配关键字检索信息的方法效果并不是太好,容易漏掉同义非同关键字所包含的信息。因此,高效准确的检索和过滤技术日益成为关注的焦点。潜在语义分析(Latent Semantic Analysis,LSA)是1990年S.T.Dumais等人提出的一种有效解决此类问题的自然语言处理方法[1],在自然语言理解、信息过滤、文档索引、文本分类与聚类、视频检索等领域得到了广泛的应用。
潜在语义分析的主要思想是通过奇异矩阵分解(Singular Value Decomposition,SVD)[2]的方法将高维向量空间模型表示的文档映射到低维的潜在语义空间,其应用过程中一个关键问题是如何确定奇异矩阵分解后所需保留的奇异值个数。在采用潜在语义分析对自然语言文档进行分类的过程中,如何确定主题数得到正确的分类,一直是开发人员、应用人员和管理人员所面临的首要问题。准确的主题数是自然语言文档正确分类的关键。主题数过大或过小都会导致分类的不准确。本文提出一种自动确定主题数的有效方法为文档分类奠定良好的基础。
1 技术简介及问题概况
1.1 LSA分类方法简介
在文档分类的过程中,确定主题数主要涉及到文档数据实现关键字/文档矩阵化处理、潜在语义分析、奇异矩阵分解和余弦相似度[3]等关键技术和方法。本文假设分类的文档已经进行矩阵化处理,因此重点关注潜在语义分析、奇异矩阵分解和余弦相似度,文档分类技术使用总体流程如图1所示。
潜在语义分析是一种新型的信息检索代数模型,是用于知识获取和展示的计算理论和方法[4],它使用统计计算的方法对大量的文本集进行分析,从而提取出词与词之间潜在的语义结构,并用这种潜在的语义结构,来表示词与文本,达到消除词之间的相关性和简化文本向量实现降维的目的。
奇异矩阵分解是最常见的一种矩阵分解技术。SVD将原始数据集矩阵M分解成U、∑和VT三个矩阵[5]。如果原始数据矩阵M是m行n列,那么U、∑和VT三个矩阵就分别是m行m列、m行n列和n行n列。具体的分解形式如下所示,其中矩阵∑只有对角元素,其它元素全部为0,并且矩阵∑中的对角元素从上到下是从大到小排列的,这些对角元素称为奇异值[2]。每一个奇异值代表一个主题。
在重构原始矩阵的近似矩阵时,保留矩阵∑中前k个奇异值即文档主题数进行降维处理。由于矩阵∑仅为k×k的矩阵,因而只需要使用矩阵U的前k列和VT的前K行,原始矩阵的近似矩阵重构如图2所示。
余弦相似度是通过两个向量内积空间的夹角的余弦值来度量它们之间的相似性。向量A和B的余弦相似性θ用一个点积形式来表示其大小,如下所示:
产生的相似度范围从-1到1∶-1表示两个向量指向的方向完全相反,1表示两者的指向完全相同,0表示两者的指向完全垂直,而在这之间的值表示相应的相似度或相异度。值得关注的是余弦相似度可以用在任何维度的向量比较中,它在高维正空间中的利用尤为频繁。对于文本分类,向量A和B通常是文档中的词频向量,由于一个词的频率不能为负数,所以两个文档的余弦相似度范围在0到1之内,一个文档是由一个有权值的特征向量表示的,权值的计算取决于词条在该文档中出现的频率,因此余弦相似度可以给出两个文档其主题方面的相似度。
1.2 主题数确定问题概况
本研究重点关注的是文档分类过程中主题数的确定,假设已经将原始文档数据转化为可以处理的矩阵形式,重点介绍确定主题数时遇到的问题。文档分类的主要思路就是通过潜在语义分析将关键字/文档矩阵从高维映射到低维实现分类。在实现的过程中,关键字/文档矩阵被奇异矩阵分解后,再进行降维重构矩阵从而实现分类的过程中,需要确定降低的维数即主题数,然而,在对文档分类的过程中,文档所包含的主题数通常并不是预知的,因而,主题数的确定即是本文解决的关键的问题。
主题数是对关键字/文档矩阵进行奇异矩阵分解得到的对角矩阵中奇异值保留的个数。目前有很多种启发式策略来确定奇异值的个数,其中最典型的一种策略就是确定奇异值的个数后能够保留矩阵中80%~90%的能量信息。矩阵的总能量信息为所有奇异值的平方和,确定奇异值的个数后使其所有保留的奇异值的平方和达到矩阵总能量信息的80%~90%。另一种常用的策略是当矩阵的奇异值个数过大时,仅保留一定数量的奇异值。但是目前存在的这些策略都只是对要保留的奇异值个数的一个假设估计,并不够客观准确。准确的主题数是关系到分类精确的一个关键因素,以现有的启发式策略对主题数进行估计,当估计的主题数过大时,保留的矩阵能量信息虽然很多,但是噪音很多使得原本相同的分类出现冗余;当估计的主题数过小时,矩阵的能量信息丢失严重,使得文档的关键特征丢失,这将使原本不同的分类出现合并。
针对目前潜在语义分析的理论还不够完善,在文档分类时主题数的确定又严重关系到分类的准确性的问题,本文提出一种能够解决目前存在的问题的自动化确定主题数的有效方法。
2 自动化确定主题数方法
2.1 方法流程
本方法是对传统的采用潜在语义分析的文档分类基础上改进设计实现的。主要设计思想是采用从小到大依次递增的方式确定最小合理主题数:在被测主题数递增过程中,将它用于潜在语义分析文档归类,直到获得第一个合理归类时,即可得到最小合理主题数。之所以按照从小到大的顺序是因为采用大于等于最小合理的主题数的设计的分类显然都是合理的,这样就无法给出最小合理的主题数。该方法的总体流程如图3所示。
具体方法如下:
(1)初始化主题数k为已知的最小可能主题数,例如被分类的文档已知至少有3类。
(2)采用潜在语义分析的方法对被测主题数的文档进行分类处理得到一个分类结果。
(3)对分类结果进行分析,判断是否为合理分类,如果分类内出现小于一定相似度(本文取0.8为例)的文档,即可认为不相似的文档被归入了一类,则k不是合理的主题数,应将k的值加1,返回到2)中继续进行判断处理;反之,k即是合理的主题数,则可得到所需要的最小合理的主题数。
2.2 代码实现
自动化确定主题数的方法是在文档数据集进行关键字/文档矩阵化的假设前提下进行的,因此本方法实现实在Windows平台下采用MATLAB R2012a软件[6]作为开发工具进行的。
根据上文的方法描述,代码实现的过程是:(1)采用潜在语义分析的方法对原始数据矩阵做SVD分解,给定一个主题数进行降维处理再重构近似矩阵。(2)对(1)中的近似矩阵进行余弦相似度处理得到余弦相似矩阵。(3)对余弦相似矩阵处理来判断当前主题数是否为最终所要的值,如果是则完成,如果不是选定新的主题数重复(1)和(2)两个过程。因此,代码实现主要分为三大部分:
(1)SVD部分主要代码:
(2)余弦相似度处理函数
(3)确定主题数部分代码
3 实验和分析
3.1 实验目的
验证本方法能否确定实现正确的文档分类的最小主题数。
3.2 实验内容
本文使用一种简化的文档数据进行实验。提供3类文档,每类有3个文档,同类的文档具有相同的4个关键字,总共有9个文档作为实验数据。这组文档可以构成一个12行9列的关键字/文档矩阵。
为了说明文档顺序和关键字顺序对实验结果没有影响,将进行三组实验。第一组实验矩阵中同一类的文档相邻,第二组实验矩阵中三类文档交叉排列,第三组实验矩阵中将第一组实验矩阵中关键字顺序调换。
将上述三个矩阵分别加载到上文的自动确定主题数程序中进行实验。
3.3 实验结果分析
测试结果得到的主题数k全部为3,并且具体的分类结果如图4-6所示。
实验结果图是对文档正确分类后得到的余弦相似度矩阵的图像化表示。横坐标和纵坐标表示各个文档,图中颜色根据右边的指示条表示对应两个文档的相似度。
图4可以看出同类文档正确归为一类;图5可以看出交换文档顺序不影响分类结果;图6可以看出交换关键字顺序也不会影响分类结果。
根据实验数据,可以得出结论:
(1)三组实验所得主题数3与真实的分类数完全一致,满足实验要求。
(2)三组实验分类结果以余弦相似度表示文档之间的相似度,因此结果说明文档在正确的主题数下实现了正确的分类。
4 结束语
本文是在潜在语义分析进行文档分类的基础上进行改进,设计实现了一种自动确定主题数的方法。通过实验结果数据的分析,该方法能够达到所需的要求,实现文档的正确分类。
摘要:潜在语义分析的主要思想是通过奇异矩阵分解的方法将高维向量空间模型表示的文档映射到低维的潜在语义空间。在采用潜在语义分析对自然语言文档进行分类的过程中,一个关键的问题是如何确定主题数。通常的做法是在降维过程中缩减保留奇异值数目,使得保留的奇异值的平方和达到所有奇异值平方和的90%。此保留奇异值的数目即主题数,但这种方式并不够准确有效。为能够更加准确地确定主题数,文中提出了另一种自动确定主题数的有效方法。测试结果表明,该方法能够自动有效确定主题数。
关键词:潜在语义分析,奇异矩阵分解,主题数
参考文献
[1]Dcerwester Scott,Dumais Susan T,Furnas George W,et al.Indexing by latent semantic analysis[J].Journal of the American Society for Information Science,1990,41(6):391-407.
[2]Peter Harrington.Mation Learning in Action[Z].2012.
[3]Saltion G,Mc Gill M J.Introduction to Modern Information Retrieval[M].Mc Graw-Hill,1986.
[4]Landauer T K,Foltz P W,Laham D.Introduction to Latent Semantic Analysis[J].Discourse Processes,1998(25):259-284.
[5]Yamaguchi F,Lindner F,Rieck K.Vulnerability extrapolation:Assisted discovery of vulnerabilities using machine learning[C]∥USENIX Workshop on Offensive Technologies(WOOT),Aug.2011.
[6]刘浩,韩晶.MATLAB R2012a完全自学一本通[M].北京:电子工业出版社,2013.
潜在语义 篇2
随着互联网的不断发展与普及,Internet渗透到了人们生活的各个领域,成为影响日常生活的最重要信息源。但随着网络资源以指数般速度增长,用户时常置身于浩如烟海的信息中,无法充分利用Internet的潜在资源,出现了“信息过载”和“信息迷向”问题[1]。因此,如何根据用户的需要及时获取相关信息成为充分利用Internet的一个挑战性问题,如何帮助用户根据个人兴趣爱好检索相关的网络信息,成为近年来信息检索领域中研究的一个重点。
目前的搜索引擎只适用于短暂的随机性查询,一般是利用用户提供的关键字进行搜索,返回系统认为相关的文本。因此存在着一些问题:第一,基于关键字的信息检索不能全面反映用户兴趣,没有保存和维护功能;第二,简单的关键字匹配往往输出大量文档,真正相关的文本很少。因此建立一个有效的用户兴趣模型,为用户提供更为有效的帮助是非常必要的。
研究中通常把对用户检索的偏好和兴趣描述称为用户个性化兴趣建模,建立准确有效的用户个性化兴趣模型,是实现个性化信息检索的核心和关键。用户个性化兴趣模型的构建主要包含两点:首先要建立用户个性化模型,较好地反映用户兴趣爱好,为用户查找和推荐相关的信息;其次是要随着用户兴趣的变化,兴趣模型能适应性的改善[2]。
本文提出的基于潜在语义索引的用户兴趣模型,利用LSI技术对用户感兴趣的文本信息进行文本结构分析和语义分析,用特征词和文本之间的语义关系作为用户兴趣主题的一种体现方法,将符合约定条件的文本信息提交给用户,并在相关的反馈机制上不断改进和完善用户兴趣模型,从而可以有效地根据用户的兴趣检索相关信息,提高信息检索的效率。
1 潜在语义索引技术
潜在语义索引[3](Latent Semantic Indexing)是一种概念检索方法,可以解决文档中词的多义和同义现象。该方法构造出文本的词频矩阵X,利用奇异值分解技术(Singular Value Decomposition)对矩阵X进行分解,减少频数矩阵的维数并保留最重要的行,得到一个X的近似矩阵XK,以此来表达出特征词与文档之间的语义关系。利用潜在语义索引方法可以将原来大规模的文档词频矩阵用一个维数较低的矩阵来表示,在这个过程中可能会损失一些信息,但是可以保证所损失的仅仅是原来词频矩阵中非常不重要的部分内容[4]。
1.1 词频矩阵的构建
在潜在语义索引中,一个文档集合可以表示为一个m×n的文档词频矩阵X,这里n表示文档库中的文档数;m表示文档库中包含的所有不同的词的个数。X表示为:
X=aij(i=1,2,…,m;j=1,2,…,n) (1)
aij值非负,表示索引项i在文档j的权重值。aij值的确定通常考虑两个方面,即使用局部加权策略和全局加权策略分别来评价特征项在某一文档中和整个文档集中的相对重要性。
1.2 奇异值分解
按照奇异值分解技术,任意一个矩阵X(t*d)都可以分解为以下形式:
X=TSDT (2)
其中T,D的各列正交且长度为1,即TTT=1,DDT=1;S是奇异值的对角矩阵,即S=diag(λ1,λ2,…,λt),λ为对角矩阵中的特征值。这里分解得到的三个矩阵都是满秩矩阵。SVD的优点在于利用较小的矩阵做到最优的近似。如果S对角线上的元素均以按大小排序,则选取前k个最大的奇异值,其余的设置为0,如此得到的矩阵运算结果为Xk,用它去近似原始矩阵X,这个秩为k的新矩阵在最小平方意义上是最接近X的。在S中引入零以后,可以通过删除相应的行和列来化简S,获得新的对角矩阵S0。同时删除T和D中相应的列,分别获得阵T0和D0,则可以得到下面的简化模型:
Xk=T0S0D (3)
在LSI中,不是仅仅使用特征词的出现信息,而是从文本中提取出隐含的语义结构信息。用Xk近似表示原有的词频矩阵X,实际上就是用X中m维特征空间的前k个主分量方向来近似原来矩阵中的m维特征词空间。前k个主分量方向解释了数据矩阵中的大多数变化,它可以消除特征词中的同义或多义的现象。主分量法的直观解释就是:由原始特征词的加权所构成的单个向量可以非常好的近似由大得多的向量集合所起得效果。在LSI中就是通过SVD技术来估计主分量向量,把原来的X矩阵简化为Xk矩阵,这里k可以远远小于m。此简化损失的信息是很少的。一方面消减了原词频矩阵中包含的“噪声”因素,更加体现出词和文档之间的语义关系;另一方面使词、文档向量空间大大缩减,可以提高文档过滤的效果。
2 基于LSI的用户兴趣模型
2.1 模型构建过程
通过对现有的用户模式构建方式的研究,结合潜在语义索引技术,本文提出了一种基于潜在语义索引技术的用户兴趣模式构建机制,构建过程如图1所示。
首先由用户提供相应兴趣主题的示例文本集,对样本文档进行分词、消除停用词处理后,生成出每篇文档中的特征词,将一个兴趣主题类别中所有文档的特征词统一为原始特征词集,计算出每个特征项表达该兴趣主题的权重值,并按权重值大小排序,按设定的阈值取适当的特征项数作为用户在该兴趣主题的信息表示,这样用户模板可以用一个文档词频矩阵来表示。其算法步骤为:
输入:每个兴趣主题的样本文档C(dj)和设定的特征项个数num。
输出:能够反映用户兴趣的特征词库和词频矩阵。
步骤:
①从训练文本集中依次取得每个文本,调用分词程序将其分词,并去除停用词。
②调用特征提取算法,提取出文档特征项。
③计算特征项的权重值,按照设定的num值取相应特征项数构建成特征词集。
④根据特征词集,为每篇文档生成一个映射(关键码,值)。关键码为特征词,值为该特征项在文本集中的权重值。
⑤生成每个文本的特征向量,构建出文档—词频矩阵。
词频矩阵X建立后,利用奇异值分解技术得到相应的矩阵T,S,D。其中,T和D分别是矩阵X的奇异值对应的左、右奇异向量矩阵;矩阵Y的奇异值按递减排列构成对角阵S,取T和D最前面的k列构建成k-秩近似矩阵Xk=T0S0D。其中S0是由S中前k个对角线元素组成的对角阵,T0和D0分别是T和D的前k列组成。这一部分的具体算法如下。
输入:词频矩阵X,设定K值。
输出:近似矩阵Xk,以及T0,D0和S0。
步骤:
①输入X,调用奇异值分解程序,得到词频矩阵的左右奇异向量矩阵和对角阵。
②根据设定的k值,取左右奇异矩阵和对角阵的前k列,得到k-秩近似矩阵Xk。
③输出索引矩阵Xk,以及它的左右奇异向量矩阵T0,D0和对角阵S0。
在这个算法中,关键是K值的确定。K被称为降维因子,其值的大小有很大的主观性, K过大会使运算量加大, K过小则会失去一些有用的信息。参考着因子分析的相应概念,在研究中一般使用下面的不等式确定K的值[5]:
λi表示S0中的特征值,λj表示S中的特征值,θ为包含原始信息的阈值。实际中往往需要通过多次的试验,选取对文档集合操作效率最好的θ值和K值。一般对于非常大的文档集合,k取100-300比较适合[6],中文文档集合LSI与英文文档集合LSI的取值范围基本上相同。
2.2 文本的匹配与过滤
利用LSI进行文本过滤,其理论基础是利用LSI方法在文档集中潜在的语义关系基础上构造了一个索引项—文档空间,具有相似主题的文档在空间中对应的位置点相距很近[7],用户的兴趣主题模型是由通过降维后的词频文档矩阵来表示的,通过奇异值分解得到的k个正交因子在一定程度上隐含了该兴趣主题的语义信息。过滤系统进行文本过滤的时候,将新的文档映射到LSI语义空间中,计算兴趣主题文档集中的文档向量与新的文档向量之间的相似值,如果该值大于设定的阈值则该文档是用户所需要的;反之,则是用户不感兴趣的。
设新的文档表示为一个m×1维文档向量d,投影到Xk空间后,根据下面的公式可以转换为D0中一行向量:
d′=dTT0S (5)
d即为新文档在LSI空间的映射向量,由此可用来计算其与兴趣主题的相关度。通常采用余弦公式计算新的文档向量与兴趣主题中的相关文档集之间的相似度。设用户的主题兴趣模主题为M,分别计算d′和矩阵Xk中的各个列向量xi的夹角余弦值,则获得一个n维向量
R=[cos(d′,xi)],(i=1,2,…,n) (6)
m维向量d′和Xk矩阵之间的相似关系可由n维向量R的大小表示出。可采用1-范数方法计算出向量R的大小,即可得到新文档d和兴趣主题模型M之间的相似度。计算公式如下:
设定一个兴趣阈值α∈(0,1),如果R或R>α,则页面d属于用户感兴趣的文档,对其进行索引并提交用户;否则页面d不属于用户感兴趣的主题而被过滤掉。通常α需要由反复的试验确定最佳的取值,也可以由用户进行人为的调节来控制过滤的效果。
2.3 模型的更新完善
用户的兴趣随时间的推移是在不断变化着的,因此有必要获取用户的反馈信息,及时地修改系统参数,对用户的兴趣模型进行更新,从而不断调整和完善用户兴趣模型,更好地反映用户的兴趣变化。对一个已经存在LSI数据模型,如果需要加入新的文档和索引词,最直接的办法是重新建立词频矩阵然后进行SVD计算。但是SVD分解的计算量是非常大的,重新进行SVD分解将需要更多的计算时间,更大的问题是在实际运算中由于内存的限制而无法完成这样巨大的运算。所以在实际应用中,LSI模型的更新一般采用folding-in算法来实现[8]。folding-in算法能够在己经存在的潜在语义空间中加入新的文档和索引词而不影响现有文档和索引词的结构。首先对每个新的即将加入潜在语义模型中的文档进行预处理,将其转换成k维空间中的向量。设新的文档向量为d,则其在k维空间中的向量d′按下式计算:
d′=dTT0S (8)
与此类似向潜在语义模型中加入新的特征项时,先将其表示为一个1×n词语向量为t,然后在K维空间中将向量t进行转换,转换公式如下:
t′=tD0S (9)
每个加入模型的新文档向量均附加到D0的列上,每个新加入的词语向量附加到To的行上。通过folding-in算法可以在原有的语义空间的基础上,在加入新的文档和索引词的时候不用重新进行耗时的奇异值分解计算。由于加入大量索引词的时候会导致k维语义空间中的语义信息的减少,使得查询、过滤性能下降,因此该算法要求初始文档集要足够大。当然如果新加入的文本和索引特征项过多时也应当重新进行SVD计算,重新构建新的语义空间。
3 实验分析
3.1 实验数据的处理与计算
本文以实验来分析用LSI构建用户兴趣模型的有效性。实验如表1所示,设定有10篇文档和8个特征项构成的文档词频矩阵M。从表1中可以看出这10篇文档主要是数据库和数据挖掘两个方面的内容。
利用MATLAB软件编出处理程序,对矩阵M进行奇异值分解得到M=USVT。U是一个10×8的矩阵,它的每一行是相对特定文档的权向量,S是每个主分量方向特征值的8×8对VT角阵,8×8的VT的各列提供了数据的新共轭基,即为主分量方向。S矩阵的对角元素为:S=(33.5302,31.3644,9.1859,7.9789,6.4280,4.7773, 2.3952, 1.4402)
由S中的元素可看出,前两个主分量(33.5302, 31.3644)包含了数据中的主要信息量,由公式可得:
因此,如果取前两个主分量生成一个二维主分量空间来表示文档,可以保留原始文档信息量的90.55%。由此可以得到10篇文档在二维主分量空间中的分布情况,如图2所示。这两个主分量方向是原来8维特征项空间中数据最分散的方向,也是具有最大方差的方向。可以看出,在第一个方向中突出了描述数据库一类的文档,第二个方向中突出了描述数据挖掘一类的文档。当把文档投影到由前两个主分量方向所决定的平面时,不同类别的文档分布在不同的方向上,文档间的角度差异可以作为相似度的一个测量指标。
3.2 实验数据的分析
假设有两篇待测试的文档d1和d2,其文档向量在上述的8维空间中可表示为:
d1:(0,10,0,0,0,0,1,0) d2:(0,0,0,0,0,0,7,0)
文档1主要包含了数据库方面的词语,文档2只含有数据挖掘方面的词语。我们将两篇文档映射到LSI空间中,得到文档在语义空间中的向量值:
d1′:(0.0999,0.1233) d2′:(0.0035,-0.0845)
可以看出在二维主分量空间中,两篇待测文档所位于的位置与相应的类别相符合,还可以分别计算出两篇文档与示例中文档的相似关系,如表2所示。
由此可以将待测试的文档判断为相应的类别。由试验分析可以得出,潜在语义索引技术可以模拟特征项与文本之间的语义关系,匹配出包含不同相同特征词的相似文档,能够有效地提高信息检索的效果。
4 结束语
为用户提供个性化信息服务是网络时代发展的产物,其技术关键在于如何描述和更新用户的兴趣模型,寻求更为有效的文本与兴趣模型的匹配算法。本文提出的基于LSI的用户模型构建方法,以特征词与文本之间的语义关系作为文本相关度的测量尺度,通过在LSI语义空间中的转换与计算,对信息进行过滤和提交,并利用相关反馈机制不断改进模型以跟踪用户兴趣变化,从而提高信息检索系统的推荐效果。实验结果表明这种方法很有前途,较传统的关键词词形匹配方法在效率方面有显著的改进。但是利用LSI方法构建用户兴趣模型进行信息检索尚处于初步试验阶段,如何利用机器学习方法自动获取用户的兴趣和相关反馈信息以及如何从语法和语义的角度探讨用户兴趣模型的形成和应用等,都需要进一步研究。
摘要:用户兴趣模型的表示是信息检索的核心技术之一。利用潜在语义索引的方法构建了一种用户兴趣模型,通过计算文本与模型的匹配程度,将满足约定条件的文本推荐给用户,并利用相关反馈信息更新用户的兴趣模型。最后通过实验验证了该方法的有效性,实验表明该模型可以很好地提高用户信息检索的效率。
关键词:信息检索,用户兴趣模型,潜在语义索引
参考文献
[1]王岚,翟正军.Web使用挖掘在网络环境下的个性化信息服务[J].现代电子技术,2007(2):100-103.
[2]张敏.基于Web的个性化信息检索关键技术研究[J].计算机时代,2006(3):37-38.
[3]Deerwester S,Dumais S T.Indexing by Latent Semantic Analysis[J].Journal of the American Society of Information Science,1990(2):391-407.
[4]朱明.数据挖掘[M].合肥:中国科学技术大学出版社,2002:252-254.
[5]张秋余,刘洋.使用基于SVM的局部潜在语义索引进行文本分类[J].计算机应用,2007,27(6):1382-1384.
[6]Bo-Yeong Kang,Dae-Won Kim,Sang-Jo Lee.Exploiting conceptclusters for content-based information retrieval[J].Information Sciences,2005,170(2):443-462.
[7]Jinxi Xu,W Bruce,Croft.Improving the effectiveness of informationretrieval with local analysis[J].ACM Transaction on information sys-tem.2000,18(1):79-112.
潜在语义 篇3
1 相关研究
词汇相似度可分为两类:语义相似度和分布相似度[1]。前者是基于认知分类学的相似度, 后者是基于主题的相似度。进而计算词汇相似度的方法也分为两类:基于语义词典的方法和基于语料库的方法[1]。前者依赖已有的语义分类词典, 其受限于词典规模;后者基于分布假设“相似的词汇出现在相似的上下文环境中”;因此研究者热衷于研究后者, 且点互信息 (PMI) 在词汇相似度中的应用已取得了显著成绩[2]。
2 基于LSA的词汇相似度计算
本论述使用数据堂网站提供的2012年6月—7月期间国内, 国际, 体育, 社会, 娱乐等18个频道的新闻数据作为研究对象, 大小为1.65G。首先, 提取语料
2.1 LSA理论
潜在语义分析[3,4]是一种用于知识获取和展示的计算理论和方法。为了实现LSA思想, 需要通过数学方法建立潜在语义空间模型并利用数学中矩阵SVD理论来实现。LSA的基本思想是首先构造一个m×n的词-文档矩阵C。每个词只会在少量文档中出现, 因此C是高阶稀疏矩阵。矩阵C存在SVD分解如下:
其中:U和V分别是m×m, n×n的正交矩阵, 并且分别是C的左、右奇异值向量;Σ是m×n的矩阵, 对角元素为a1, a2, …, amin (m, n) 是C的奇异值。对C进行SVD分解 (设C的秩=r, 存在k, k
其中:U的前k列组成的Uk是m×k矩阵, 即压缩到k维空间的词向量;Σ的前k行、前k列组成的Σk是k×k矩阵, 即矩阵C的前k个奇异值;V的前k行组成的Vk是k×n矩阵, 即压缩到k维空间的文档向量。
实质上, Ck保持了C中所反映的词和文档之间的潜在语义;潜在语义空间的转换是降维过程;因此选择k值至关重要。若k太大, 则语义空间接近标准的向量空间模型, 同时失去词之间的依赖能力, 存在噪声且计算量也比较大;若k太小, 保留重要的语义结构太少, 无法把握运算的结果;因此根据因子分析理论和具体实验来确定k值。在阈值给定的情况下, 选取前k个最大主因子, 可以令k满足以下贡献率不等式如下:
其中:θ为包含原始信息的阈值, 可取为40%, 50%, 60%, ……。贡献率不等式是用来衡量k维子空间对于整个空间的表示程度。但这个数值可能很大, 不便控制其规模, 考虑到向量运算的响应速度和存储空间的限制, 规定维数的范围, 一般k值在100~300之间。
2.2 词-文档矩阵的构建
前面分析了LSA理论, 词-文档矩阵的构建主要依据词与文档的内在关系。因此, 文档的集合作为训练语料构造一个词-文档矩阵C, 采用词频-逆文本频率 (tfidf) 方式对词进行权值计算。公式[3]如下:
其中:cij表示词ti在文档cj中的权重;tfij错误!链接无效。词ti在文档cj中的频次;N错误!链接无效。训练文档的总数;ndi错误!链接无效。训练文档集中出现ti文档数, 分母为归一化因子。
词—文档矩阵C是一个高阶稀疏矩阵, 利用LSA对C进行降维得到近似C的词—文档矩阵, 去除大量因词汇的同义或多义而产生的“噪声”;使用余弦相似得到两个词汇的相似值更精确。
2.3 基于LSA的词汇相似度计算
利用公式 (4) 得到w在文档中权重, w在所有文档中权重构成它的特征向量。k为定值时, 两个词之间的相似度计算转化为计算两个词向量的余弦相似度。公式如下:
其中:k表示词—文档矩阵的维数, wxm表示词x的第m维权值。
3 实验评测
本论述使用哈工大《同义词词林》 (扩展版) 的第四层作为评测标准。相似词排名的前N个词更有实际意义, 因此, 用P@K作为评价指标。P@K表示每个词的前K个相似词对应到《词林》的准确率。公式[2]如下:
其中, N表示实验结果中某个词汇的相似词数目, ans表示《词林》中词汇所在的同义词类别。
实验中, 人工随机选用200个词作为评测数据。K取定值, 比较P@K的值。见图1、图2所示, 显然LSA比PMI效果好。
4 结束语
分布相似度建立在假设“相似的词汇出现在相似的上下文环境中”的基础上, 语境中任意词都与评测词有关系。PMI根据一定窗口, 具有局部性。而LSA使用评测词整个句子并降维, 去除了大量“噪音”, 具有全局性。因此, LSA应用在相似度的计算中效果更佳。
参考文献
[1]王石, 曹存根, 裴亚军, 等.一种基于搭配的中文词汇语义相似度计算方法[J].中文信息学报, 2013, 27 (1) :7-14.
[2]石静, 吴云芳, 邱立坤.基于大规模语料库的汉语词义相似度计算方法[J].中文信息学报, 2013, 27 (1) :1-6.
[3]余正涛, 樊孝忠, 郭剑毅, 等.基于潜在语义分析的汉语问答系统答案提取[J].计算机学报, 2006, 29 (10) :1889-1893.
潜在语义 篇4
潜在语义分析是一种将文本信息组织成空间语义结构的新模型, 其基本思想是假设文本中的特征项与特征项之间存在某种联系, 通过对大量的文本集进行统计分析, 从中提取出特征项的上下文使用含义。
潜在语义分析的基本过程是:首先构造典型特征项—文本矩阵M, 然后应用奇异值分解技术, 把特征项汇和文本从高维空间降到了低维潜在语义空间。最后得到一个新的矩阵M’。潜在语义分析只取前k个最大的奇异值, 而将剩余的值设为零。
2 基于潜在语义分析方法的迁移学习
2.1 数据的矩阵表示
潜在语义分析出发点是文本中的特征项与特征项之间存在某种联系, 采用统计计算的方法, 对大量的文本进行分析来寻找这种潜在的语义结构。在迁移学习语义分析的实现方法中文本矩阵的元素值并不仅仅是词频信息以及对单个文本的贡献度, 它还体现着特征项在文本集中区别、分辨类标签的能力。因此对特征项权重的计算方法包括文本贡献权重和类标签贡献权重两部分。最后将两个权重相乘, 得到最终特征项权重。
2.2 建立源领域与目标领域之间的桥梁
由于两个领域间的相似性, 可能存在一个低维的潜在语义空间, 成为连接源领域和目标领域之间的桥梁, 从而帮助完成源领域到目标领域的分类方法的迁移。
本文采用潜在语义分析方法挖掘源领域与目标领域中这一共同的低维潜在语义空间。使用奇异值分解技术, 将源领域与目标领域的高维数据特征表示, 映射到低维潜在语义空间中。
2.3 源领域到目标领域特征项的迁移
通过建立的低维潜在语义空间可得到文本和特征项的k维特征表示。但是在这个潜在空间中, 源领域数据与目标领域数据拥有共同的特征表示, 这有利于计算、分析有用的特征项, 进而实现源领域中有用特征项到目标领域的迁移。从源领域筛选有用特征项主要分两步完成。首先要消除同义词“噪音”影响, 然后从源领域中查找有用特征项。通过两步矩阵调整, 即可得到目标领域数据的新的特征表示。
2.4 算法描述 (Tr_LSA)
输入:两个训练数据集Ta和Tb, 一个未标记的测试数据集S, 一个传统的分类器。
输出:测试数据集S的标签
(1) 对训练数据做去停用词、词干化等处理, 得到特征项-文本矩阵M。 (2) 对矩阵M进行奇异值分解, 将M中特征项与文本映射到低维潜在语义空间, 建立联系Ta与Tb之间的桥梁。 (3) 去除“噪音”, 从Ta中找出Tb中特征项的同义词, 调整矩阵M结构;根据调整后的矩阵M, 从Ta中找出迁移词, 再对矩阵M进行调整。 (4) 分析调整后的矩阵M, 得到目标领域数据新的特征表示, 利用传统分类器, 在训练数据集中得到一个最终分类器, 对测试数据集S进行分类。
由于Tr_LSA算法对特征项和文本的处理都是在低维空间中计算的, 所以在一定程度上提高了算法的时间效率。
3 实验结果与分析
3.1 数据集
本文使用20 newsgroups数据集, 采用层次化的组织方式, 包含7个顶级类别、20个子类别, 并将其分成5组数据集。
3.2 对比算法
为了验证基于潜在语义分析的迁移学习方法的有效性, 选取了传统文本分类器SVM和NB做对比, 并使用Tr Ada Boost算法与本文方法作对比。表1展示了传统分类器和迁移学习算法在不同数据集上精确度对比, 可迁移学习算法在处理不同分布数据集时, 其分类性能明显优于传统分类器。另外, 与Tr Ada Boost算法相比, Tr_LSA算法也基本比Tr Ada Boost算法的精度高。
4 结论
迁移学习方法放松了对训练数据和测试数据同分布假设的要求, 利用相似领域的数据帮助目标领域数据分类。本文提出一种基于潜在语义分析的迁移学习方法, 首先通过对大量数据进行统计分析, 通过奇异值分解技术, 对训练数据挖掘其深层的语义含义, 得到源领域与目标领域的一个低维的潜在语义空间。然后以此为桥梁, 挖掘特征项与文本之间的关联关系, 去除同义词”噪音”影响, 进而从源领域中筛选出与目标领域文本关联度较大的特征项, 作为迁移词。在大量实验数据中表明, 本算法能较大提高分类的精确度。同时本算法的可扩展性强, 算法可扩展性强, 当资源不断增多, 算法的时间复杂度与空间复杂度不会明显增加。
参考文献
[1]Dietterich T G, Domingos P, Getoor L, et al.Structured machine learning:the next ten years[J].Machine Learning, 2008, 73 (1) :3-23.
[2]董秀杰.基于LSA的文本分析[D].北京理工大学.2008.