【发布时间】:2019-11-09 11:42:12
【问题描述】:
我有一个包含“文本”和“主题”列的结构化数据集。有人已经进行了词嵌入/主题建模,因此“文本”中的每一行都分配了一个主题编号 (1-200)。我想创建一个新的数据框,其中包含主题编号和代表该主题的前 5-10 个关键词。
我以前做过,但我通常从头开始运行 LDA 模型。然后使用 LDA 创建的对象来查找每个主题的关键字。也就是说,我是从我的主管给我的中间点开始的,这让我很失望。
数据结构如下:
import pandas as pd
df = pd.DataFrame({'text': ['foo bar baz', 'blah bling', 'foo'],
'topic': [1, 2, 1]})
那么计划是创建一个单词袋,按“主题”分组,然后计算单词数吗?或者在 gensim 或 nltk 中是否有我不知道的关键字函数和按列选项分组?
【问题讨论】:
-
您可以使用 gensim 包中的 print_topic() 或 print_topics() 方法。举个例子here。
-
@Vishal 这些都假设我已经在我的计算机上运行了 LDA。我没有,我只有给我的主题。
-
好的。然后您需要按主题组合单词并创建单词计数器字典。
-
@Vishal 好的。你有类似的链接/教程吗?感谢您的帮助。
-
检查我的答案。我不确定这是否是您的要求。