在Python中将一个文本文件聚类为组和主题

1 投票
1 回答
2428 浏览
提问于 2025-04-18 04:10

我刚开始接触文本挖掘,手头有一个很大的文本文件,里面每一行都是关于某个物品的评论(一句话)。

我想找出评论中存在的群体和主题。所以我想问问,我的数据有哪些特征、群体和主题?每个词出现的频率能不能作为特征?我们是不是要把每一行(评论)都当作一个独立的文档,然后再对这些评论进行聚类?我还在想,群体或主题的数量是不是需要提前知道,因为在任何无监督算法中,聚类的数量通常是一个已知的参数。

我的第二个问题是,我该如何修改这个k-means聚类代码,来找到群体,以及如何使用我的reviews.txt文件找到主题的NMF代码

1 个回答

2

首先,正如评论中提到的,你可以从一本关于文本挖掘或信息检索的好书中获取基础知识。我推荐这本书:信息检索导论

现在我来简单回答你的问题:

//我的问题是特征是什么// - 在大多数文本挖掘问题中,你的特征可以理解为每个句子中的词汇。你可以估算词频,并使用TF-IDF表示法,这是一种非常流行的文档表示方式。

//组// - 由于每个句子代表一个独立的评论,你可以把每个句子看作一个小文档,然后使用文档聚类来识别这些组。

//我的数据主题是什么?// - 是的,有一种叫做主题建模的方法,可以帮助你从一组文档中识别主题。不过,不确定这是否适用于你的问题。

//我们是否必须把每一行(评论)都当作一个文档,然后再对评论进行聚类?// - 是的。

//我也在想,组的数量或主题是否应该事先知道,因为在任何无监督算法中,聚类的数量应该是一个已知参数。// - 其实并不是这样。许多聚类算法并不需要事先知道聚类的数量,比如层次聚类亲和传播。即使是那些需要知道聚类数量的算法,也有很多方法可以预测这个数量。

撰写回答