但最近我发现这个链接对理解LSA的原理非常有帮助,而不需要太多的数学运算。http://www.puffinwarellc.com/index.php/news-and-articles/articles/33-latent-semantic-analysis-tutorial.html。它形成了一个很好的基础,我可以在此基础上进一步构建。
目前,我正在寻找类似的概率潜在语义分析/索引的介绍。更少的数学,更多的例子来解释它背后的原理。如果你想知道这样的介绍,请让我知道。
它可以用来找出句子之间的相似性度量吗?它能处理一词多义吗?
有没有同样的python实现?
谢谢。
发布于 2011-07-28 19:05:57
有一个很好的talk by Thomas Hofmann可以解释潜在语义分析及其与概率潜在语义分析的联系。谈话有一些数学,但比PLSA的论文(甚至是它的维基百科页面)更容易理解。
PLSA可以用来获得句子之间的一些相似性度量,因为两个句子可以看作是从潜在类上的概率分布中提取的短文档。不过,你的相似性很大程度上取决于你的训练集。你用来训练潜在类模型的文档应该反映你想要比较的文档类型。生成包含两个句子的PLSA模型不会创建有意义的潜在类。类似地,使用非常相似上下文的语料库进行训练可能会创建对文档上的细微变化过于敏感的潜在类。此外,由于句子包含的标记相对较少(与文档相比),我不相信在句子级别上使用PLSA会获得高质量的相似性结果。
PLSA不处理一词多义。但是,如果您关心一词多义,您可以尝试在输入文本上运行一个词义消歧工具来标记每个单词的正确含义。在这个标记的语料库上运行PLSA (或LDA)将消除结果文档表示中的一词多义的影响。
正如Sharmila所指出的,潜在狄利克雷分配(LDA)被认为是文档比较的最新技术,并且优于PLSA,后者往往会过度拟合训练数据。此外,还有更多的工具可以支持LDA并分析您使用LDA得到的结果是否有意义。(如果你感到冒险,你可以阅读David Mimno's two papers from EMNLP 2011,了解如何评估从LDA获得的潜在主题的质量。)
https://stackoverflow.com/questions/6482507
复制相似问题