Nlp 如何在python-gensim中使用潜在的Dirichlet分配(LDA)来抽象二元图主题而不是单元图? 原始输出

Nlp 如何在python-gensim中使用潜在的Dirichlet分配(LDA)来抽象二元图主题而不是单元图? 原始输出,nlp,text-mining,lda,gensim,Nlp,Text Mining,Lda,Gensim,单位图 主题1-水肺、水、蒸汽、潜水 主题2-二氧化碳、植物、绿色、碳 所需输出 双克主题 主题1-水下潜水、水蒸气 主题2-绿色植物、二氧化碳 有什么想法吗?您可以使用word2vec从使用LDA抽象的前n个主题中获取最相似的术语 LDA输出 使用抽象主题创建双语词典(例如:-旧金山) 检查 然后,执行word2vec以获得最相似的单词(单字、双字等) 单词和余弦距离 洛杉矶(0.666175) 金门(0.571522) 奥克兰(0.557521) 检查(从单词到短语及其他)如果

单位图

  • 主题1-水肺、水、蒸汽、潜水

  • 主题2-二氧化碳、植物、绿色、碳

所需输出
  • 双克主题

    • 主题1-水下潜水、水蒸气

    • 主题2-绿色植物、二氧化碳


有什么想法吗?

您可以使用word2vec从使用LDA抽象的前n个主题中获取最相似的术语

LDA输出

使用抽象主题创建双语词典(例如:-旧金山)

检查

然后,执行word2vec以获得最相似的单词(单字、双字等)

单词余弦距离

洛杉矶(0.666175)
金门(0.571522)
奥克兰(0.557521)


检查(从单词到短语及其他)

如果我有一个名为
docs
的dict,其中包含文档中的单词列表,我可以使用nltk.util.ngrams或您自己的函数将其转换为单词+bigram(或trigram等)数组,如下所示:

from nltk.util import ngrams

for doc in docs:
    docs[doc] = docs[doc] + ["_".join(w) for w in ngrams(docs[doc], 2)]
然后将该dict的值作为语料库传递给LDA模型。因此,由下划线连接的bigram被视为单个标记