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