首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主题建模: LDA vs LSA vs ToPMine

主题建模: LDA vs LSA vs ToPMine
EN

Data Science用户
提问于 2022-01-20 09:32:38
回答 2查看 548关注 0票数 2

我刚开始学习主题建模。

  1. 可以用Python实现ToPMine吗?在快速搜索中,我似乎找不到任何带有ToPMine的package。
  2. ToPMine比LDA和LSA好吗?我知道LDA和LSA已经存在了很长时间,并且得到了广泛的应用。

谢谢

EN

回答 2

Data Science用户

回答已采纳

发布于 2022-04-06 11:44:42

ToPMine Python实现:

代码语言:javascript
复制
pip install topmine
代码语言:javascript
复制
from topmine.phrase_lda import PhraseLDA
from topmine.phrase_mining import PhraseMining
a = PhraseMining(["you are a goode boy boy boy boy boy yes joke joke joke."]*10+["you are a big joke"]*20)
p = a.mine()
PhraseLDA(*p).run()
lda = PhraseLDA(*p).run()

这是在El,Ahmed,等人中详细描述的算法的一个实现.“从文本语料库中挖掘可伸缩的主题短语”VLDB捐赠程序8.3 (2014年):305-316 8.3

为了运行代码,只需遵循以下步骤:

代码语言:javascript
复制
Put the file on which you want to run topmine in the folder named “input”
python -m  topmine_src.run_phrase_mining input/{filename}
python -m  topmine.run_phrase_lda {num_of_topic}
example
python -m  topmine_src.run_phrase_mining input/dblp_5k.txt
python -m  topmine.run_phrase_lda 4

LDA对LSA

潜在语义分析(LSA)是一种数学方法,它试图将文档集合中的潜在关系提取到较低维空间中。LSA假设意思相近的词会出现在相似的文本中(分布假设)。从一个大的文本中构造一个包含每个段落字数的矩阵(行表示唯一的单词,列表示每个段落),并利用奇异值分解(SVD)的数学方法来减少行数,同时保持列之间的相似性结构。它不是查看与其他文档分离的每个文档,而是将所有文档作为一个整体来查看它们中的术语,以标识关系。

潜在Dirichlet分配(LDA)算法是一种无监督学习算法,它工作在概率统计模型上,自动发现文档中包含的主题。

LDA假设语料库中的每个文档都包含贯穿整个语料库的各种主题。主题结构是隐藏的-我们只能观察文档和文字,而不能观察主题本身。由于该结构是隐藏的(也称为潜在结构),因此该方法试图根据已知的单词和文档推断主题结构。

票数 1
EN

Data Science用户

发布于 2022-01-20 15:42:18

我不知道ToPMine,但从快速搜索来看,目标似乎与常规的主题建模有点不同,不是吗?

据我所知,LSA也不是一种严格意义上的主题建模方法,至少它肯定不再作为主题建模方法使用。

LDA是标准的传统主题建模方法。已经提出了许多变体和扩展,我认为以下两点值得一提,但可能还有其他的:

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/107266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档