如何从现有文本集群中提取主题?

问题描述 投票:0回答:1

我已经对文本语料库进行了硬聚类(使用tf-idf权重,并获得了〜= 200个聚类。如果我想获得每个群集的主题,我该怎么做?

我曾尝试在原始文本语料库(预聚类)上使用LDA,并获得了许多主题,但是我不确定如何将这些主题映射到我现有的每个集群上。还有其他建议方法还是LDA是正确的方法,我该如何进行呢?

在线材料仅显示如何将lda主题映射到文档句子上,而不显示预先存在的群集。如果这样做,并根据其分配的主题对这些句子进行细分,我将获得与原始聚类不同的结果(这不理想)。

感谢您的帮助,如果有任何概念错误,请原谅,因为我是NLP的新手。

nlp cluster-analysis lda topic-modeling
1个回答
0
投票

我的方法是按分配的簇将您的TFIDF文档术语矩阵分开,然后将这些术语的tfidf得分相加(基本上将所有行相加)。这将为您提供每个群集的热门词汇。

如果我们假设dtm是您的文档术语矩阵,则“功能”是按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)
© www.soinside.com 2019 - 2024. All rights reserved.