首页 > 解决方案 > 将具有相同含义的单词分组。在 LDA 中

问题描述

我想知道是否可以将 LDA 输出中包含的相同单词组合在一起,即由

doc_lda = lda_model[corpus]

例如

[(0,
  '0.084*"tourism" + 0.013*"touristic" + 0.013*"Madrid" + '
  '0.010*"travel" + 0.008*"half" + 0.007*"piare" + '
  '0.007*"turism"')]

我想将tourism, touristicturism(拼写错误)组合在一起。这有没有可能?

这是一些相关的先前代码:

lda_model = gensim.models.ldamodel.LdaModel(corpus=corpus,
                                           id2word=id2word,
                                           num_topics=num_topics, 
                                           random_state=100,
                                           update_every=1,
                                           chunksize=100,
                                           passes=10,
                                           alpha=[0.01]*num_topics,
                                           per_word_topics=True,
                                           eta=[0.01]*len(id2word.keys())) 

谢谢

标签: pythongensimlda

解决方案


要理解的关键是 LDA 需要大量的调整和迭代才能正常工作,这与线性回归不同。但它可能对某些问题很有用。

你的直觉是正确的,“旅游”、“旅游”和“旅游”应该是一个词。然而,修复不是在你看到它们各自加载的最后,而是在早期使用词干和词形还原(又名词干和词形提取),将不需要的词添加到你的停用词列表中,并在某种程度上进行一些预处理或其他。我将分别讨论它们,但不会作为一个整体来讨论,因为我认为这很明显。此外,由于您只提供了一组单词和加载,因此提供主题数量并不是很有成效,因为您可能做得很好。

词干/旅鼠(选一)

这是科学和经验部分开始的地方,也是挫折的开始。但是,这是您获得最大和最简单收益的地方。似乎“旅游”和“旅游”最好通过词干(作为旅游)结合起来。事实并不那么明确,因为在某些情况下,一方胜过另一方。在下面的示例中,PortaStemer 无法生成合理的词干,但词形还原未能捕捉到“学习”和学习的相同之处,尽管它准确地捕捉到了“哭泣”。

Using PorterStemer
studies is studi
studying is studi
cries is cri
cry is cri

Lemmatize
studies is study
studying is studying
cries is cry
cry is cry

有多个词干分析器,例如 Porter2、Snowball、Hunspell 和 Paice-Husk。因此,显而易见的第一步是查看这些中的任何一个是否更有用。

如上所述,词形还原将为您提供相似但有些不同的结果集。

这里的工作无可替代。这就是将数据科学家与最业余的或拥有头衔的数据分析师区分开来的原因。这样做的最佳时间是在过去,因此您可以直观地了解什么最适合这种语料库;第二好的时间是现在。

迭代但满足

我想你没有无限的资源;你必须满足。对于上述情况,您可能会考虑对文本进行预处理以更正或删除拼写错误的单词。处理非英语单词比较棘手。最简单的解决方案是删除它们或将它们添加到您的停用词列表中,但这可能不是最佳解决方案。自定义词典也是一种选择。

了解当前限制

截至 2020 年,没有人在代码转换方面做得很好;当然不是免费的开源资源。Gridspace 是我所知道的最好的,虽然他们的演示非常棒,但他们不能很好地处理代码切换。现在,我在这里做一些归纳,因为我假设“piare”是西班牙语的“我会”,至少谷歌翻译是这么说的。如果是这样的话,你的结果会很混乱。但是,当您查看负载 (.007) 时,这似乎比值得做的工作更多。


推荐阅读