LSA潜在语义分析

对单词的表示矩阵进行降维的工作一直有着两个方向,基于语言学的潜在语义分析(LSA)方法,认为文本之中存在潜在的高层语义结构,通过术语文档矩阵或者术语术语矩阵能够构建语义空间,这个语义空间中紧密关联的术语相互临近,这种语义空间是通过文档中的共现统计来进行体现的,然后通过对语料的统计矩阵进行分解,因为这种统计矩阵维度一般是非常高,同时十分稀疏,使用SVD可以去除奇异值比较低的维度,但是这种方式同时会过度关注高频词,语料中高频词一般是不表示实意的部分,但是词的共现频率不能正确的表示两个词的相关性,后续的改进就是使用互信息来替代共现词频,这一思路在语言模型中是一脉相承的,乃至后来使用预训练模型是也存在去除部分停用词的方式来改善性能的做法。
另一种方式是通过局部的上下文信息来做预测的单词表示模型,从最早的NNLM到后来的W2V都是这种方式,也是这次重点简述的部分。
这个方法是信息检索中的主题方法,后续拓展有pLSA和LDA。
目标是通过给的词语来检索关联程度高的文档。
思路是通过文档和特定词的共现信息来确定相似程度,这个特定的词有多种确定方式,有根据熵的方式来选择的,也有使用TF-IDF的关键词来构建的,也有通过互信息来选取的。
这个方法的思路就是文档中存在一种潜在的高级语义结构这种结构可以被称作主题,文档的主题是文本生成过程中选择词汇的关键结构,任何文档都是自身主题的部分组成,通过和文档相关性高的关键词来对这个主题进行表示,这个思路一直没有过时,之前的文本生成汇报的时候讲的,局部信息和全局信息也就是文档级主题和句子层级的主题。可以看出我们对语言的认知往往是超越方法探索上的。
不管选择词的思路是什么样的,这后面的思路是一致的,通过对这个<术语,文档>的统计矩阵做因式分解,找到确定文档的关键词汇,也就是对关键词进行降维,对词向量表示模型有过学习的同学肯定对此有熟悉感,这个是不是有点像Glove。
好了接下来讲一讲问什么这种方式是能够体现词的多重含义,这里面将<文档,术语>也就是上述统计矩阵的转置,转化为<词语,共现词语>,一个词的共现词有很多种,这些词的共现表示本来就是在一定程度上体现了词义(这里有一个著名假设:词的词义是由其所处的语境所表示的)。
这类共现词汇也就相应通过共现关系表示了不同语义环境下的词义表示。
将LSA应用在词义表示上的方式,其实原理就是上面所讲述的那样。这种方式比起独热码形式来说包含了一定的语义结构,但是这种方式仍然存在着独热码的对应缺点,维度诅咒,使用矩阵分解的方式难以确定在何种程度上保留原始语义空间中的结构特征,毕竟缺乏监督。