问题标签 [topic-modeling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9084 浏览

python-2.7 - 文本聚类和主题提取

我正在使用优秀的 scikit-learn 模块进行一些文本挖掘。我正在尝试对科学摘要进行聚类和分类。

我正在寻找一种方法来对我的一组 tf-id 表示进行聚类,而不必提前指定聚类的数量。我还没有找到一个可以做到这一点的好的算法,并且仍然可以很好地处理大型稀疏矩阵。我一直在研究简单地使用 scikit-learn 的 kmeans,但它没有办法确定最佳集群数量(例如使用 BIC)。我也尝试过使用高斯混合模型(使用最佳 BIC 分数来选择模型),但它们非常慢。

在对文档进行聚类后,我希望能够查看每个聚类的主题,即他们倾向于使用的词。给定数据矩阵和集群标签,有没有办法提取这些信息?也许取集群的平均值并使用 tf-id-vectorizer 对其进行逆变换?我之前曾尝试使用卡方和随机森林来对特征重要性进行排名,但这并没有说明哪个标签类使用什么。

我尝试使用 NMF 分解方法(仅使用 scikit-learns 网站上的示例代码)进行主题检测。它工作得很好,并且很快就产生了非常有意义的主题。但是,我没有找到一种方法来使用它将每个数据点分配给一个集群,也没有自动确定集群的“最佳”数量。但这是我正在寻找的东西。

我还在某处读到可以直接从拟合的 LDA 模型中提取主题信息,但我不明白它是如何完成的。由于我已经实现了 LDA 作为基线分类器和可视化工具,这可能是一个简单的解决方案。

如果我设法产生有意义的集群/主题,我会将它们与一些人造标签(不是基于主题)进行比较,看看它们是如何对应的。但这是另一个线程的主题:-)

0 投票
1 回答
627 浏览

stanford-nlp - 标记的 LDA 在斯坦福主题建模工具箱中学习

当我按如下方式运行 example-6-llda-learn.scala 时没关系:

但是当我将最后一行更改为: TrainCVB0LabeledLDA(modelParams, dataset, output = modelPath, maxIterations = 1000); to: TrainGibbsLabeledLDA(modelParams, dataset, output = modelPath, maxIterations = 1500);

而 CVB0 的方法消耗大量内存。我训练了一个包含 10,000 个文档的语料库,每个文档大约有 10 个标签,它将消耗 30G 内存。

0 投票
1 回答
1374 浏览

lda - LDA 可以为一个词分配多个主题吗?

我刚刚开始阅读有关潜在 Dirichlet 分配 LDA 的内容,并希望将其应用到我的项目中。

我可以知道 LDA 是否能够将主题分配给多个单词?

例如,A 条谈到“河流银行”,而 B 条谈到“银行在金融中的作用”。因此,LDA 是否允许将“银行”一词潜在地分配给两个不同的主题?

0 投票
0 回答
62 浏览

topic-modeling - 用于主题建模的测试文档集合

我已经实现了一个 HDP 主题模型,并在人工数据上对其进行了测试。所以现在我想在真实数据上进行测试。您能给我任何指向小型词形还原文档集的链接吗?

0 投票
3 回答
6893 浏览

python - 如何在gensim中打印出LDA主题中单词的完整分布?

以下代码中的lda.show_topics模块仅打印每个主题的前 10 个单词的分布,我如何打印出语料库中所有单词的完整分布?

0 投票
0 回答
422 浏览

machine-learning - 如何根据 Mahout TopicModel 输出推断新文档?

给定来自 Mahout LDA CVB 程序/离线批处理执行的主题模型,我喜欢使用模型/在线 Web 服务调用来推断新文档。

这些文档对于新的和推断的帮助并不大。* https://builds.apache.org/job/Mahout-Quality/javadoc/org/apache/mahout/clustering/lda/cvb/TopicModel.html * http://svn.apache.org/viewvc/mahout/trunk /core/src/main/java/org/apache/mahout/clustering/lda/cvb/TopicModel.java?view=markup

我什至在 Internet 或其他地方都找不到任何示例代码。

在这里,我想我可能想用Java代码做,

TopicModel model = new TopicModel();

Vector documentInTermFrequency = new RandomAccessSparseVector(); documentInTermFrequence.setQuick(termIdX, 10); documentInTermFrequence.setQuick(termIdY, 20);

Vector docTopic = new DenseVector(new Double[10] { 0.1, 0.1, ..., 0.1 }); // 0.1 probabilities

Vector documentTopicInference = model.infer(documentInTermFrequence, docTopic);

我没见过有人尝试过这样的事情吗?有没有人尝试过这样的事情?

任何建议或指针将不胜感激。

0 投票
1 回答
1430 浏览

parameters - 在 LDA 模型中,多项式参数 (theta) 是如何从 Dirichlet 先验权重 (alpha) 得出的?

我是现在正在学习LDA(潜在狄利克雷分配)模型的大一新生。但是,我遇到了一个问题。

theta是如何从alpha中得出的?

theta ~ Dir (alpha)

根据我的简短理解,变量 theta 是一个长度为 K 的向量,它的分量代表文档中的主题比例。并且,每个文档的 theta 彼此不同。而且,在语料库级别,alpha 仍然是一个 K 向量,而 theta 是一个 M(# of docs) x K(# of topic) 大小的矩阵。

第一个问题:我上面说的是真的吗?

第二个问题:如果是真的,在文档上,如何从同一个 Dirichlet 分布中得出不同的 thetas(K 向量)?

0 投票
1 回答
9590 浏览

python - Gensim 字典实现

我只是对 gensim 字典的实现感到好奇。我有以下代码:

我查看了 deerwester.dict 文件,它看起来像这样:

但是,以下代码

产生这个:

所以我的问题是,因为我没有看到 .dict 文件中的实际单词,所以存储在那里的所有十六进制值是什么?这是某种超级压缩格式吗?我很好奇,因为我觉得如果是的话,我应该考虑从现在开始使用它。

0 投票
0 回答
923 浏览

python-2.7 - 为主题建模实现深度信念网络

我正在尝试为Geoffrey Hinton 和 Ruslan Salakhutdinov的 Semantic Hashing 文章 ( http://www.cs.toronto.edu/~hinton/absps/sh.pdf ) 实现深度信念网络。我很难弄清楚如何在受限 Boltzmann 机 (RBM) 中实现受限泊松模型,以便我的模型将采用实值字数向量并正确更新权重?

您可以在下面找到我的 RBM 的基本代码:

其中伯努利分布和约束泊松模型的方法如下:

0 投票
2 回答
3027 浏览

python - 如何解决加载 gensim 语料库中的 unpicklingerror?- Python

我可以将序列化的语料库保存到foobar.mm其中,但是当我尝试加载它时,它给出了UnpicklingError. 加载字典似乎很好。任何人都知道如何解决这个问题?为什么会发生这种情况?