Nlp 如何从现有文本簇中提取主题?

Nlp 如何从现有文本簇中提取主题?,nlp,cluster-analysis,lda,topic-modeling,Nlp,Cluster Analysis,Lda,Topic Modeling,我在一个文本语料库上进行了硬聚类(使用tf-idf权重),得到了~=200个聚类。如果我想获得每个集群的主题,我该如何做 我曾尝试在原始文本语料库(预聚类)上使用LDA,并获得了许多主题,但我不确定如何将这些主题映射到我现有的每个集群上。 是否有其他方法可以推荐LDA,或者LDA是正确的方法,我如何继续 在线材料只展示了如何将lda主题映射到文档语句,而不是预先存在的集群。如果我这样做,并根据指定的主题对这些句子进行分段,我将从我原来的聚类中得到不同的结果(这并不理想) 提前感谢您的帮助,如果有

我在一个文本语料库上进行了硬聚类(使用tf-idf权重),得到了~=200个聚类。如果我想获得每个集群的主题,我该如何做

我曾尝试在原始文本语料库(预聚类)上使用LDA,并获得了许多主题,但我不确定如何将这些主题映射到我现有的每个集群上。 是否有其他方法可以推荐LDA,或者LDA是正确的方法,我如何继续

在线材料只展示了如何将lda主题映射到文档语句,而不是预先存在的集群。如果我这样做,并根据指定的主题对这些句子进行分段,我将从我原来的聚类中得到不同的结果(这并不理想)


提前感谢您的帮助,如果有任何概念上的错误,请原谅,因为我对NLP比较陌生。

我的方法是按指定的群集拆分TFIDF文档术语矩阵,然后将术语的TFIDF分数相加(基本上将所有行相加)。这将为您提供每个集群的顶级单词

如果我们假设
dtm
是您的文档术语矩阵,“features”是按照
dtm
列的顺序排列的术语列表,
clusters
是按照与
dtm
中的行相同的顺序排列的簇标签列表,那么这将为您提供每个簇的顶部单词

import pandas as pd

def top_terms(df, top_n=5):
    return df.sum().sort_values(ascending=False).head(top_n)

df = pd.DataFrame(dtm, columns=features)

df['labels'] = clusters

df.groupby('labels').apply(top_terms, top_n=10)

您使用什么编程语言进行分析?知道答案与您相关会很有帮助。哦,是的,我目前正在使用python,谢谢您的提问:)哦,是的,我目前正在使用python,谢谢您的提问:)