在文本处理中使用群集


11

嗨,这是我在数据科学堆栈中的第一个问题。我想创建一种文本分类算法。假设我有大量的文字和文章。可以说大约5000篇纯文本。我首先使用一个简单的函数来确定所有四个及以上字符词的频率。然后,我将其用作每个训练样本的功能。现在,我希望我的算法能够根据训练集的特征对训练集进行聚类,这是文章中每个单词的出现频率。(请注意,在此示例中,每篇文章将具有其自己的独特功能,因为每篇文章具有不同的功能,例如,一篇文章有​​10个“水”和23个“纯”,另一个则有8个“政治”和14个“杠杆”)。您能否为该示例建议最佳的聚类算法?

Answers:


5

我不知道您是否读过Ted Pedersen的SenseCluster:http://senseclusters.sourceforge.net/ 。很好的感觉聚类论文。

另外,当您分析单词时,请认为“计算机”,“计算机”,“计算机”,...代表一个概念,因此仅一个功能。对于正确的分析非常重要。

要谈论聚类算法,可以使用分层聚类。在算法的每个步骤中,您都将根据其特征合并2个最相似的文本(例如,使用相异性的度量,例如欧几里得距离)。通过这种差异性度量,您可以找到最佳的聚类数量,从而找到适合您的文字和文章的最佳聚类。

祝好运 :)


6

如果您想继续使用现有的方法,建议您根据每个词在整个语料库中的流行度来对每个词的频率进行归一化,这样可以提倡稀有性和预测性的单词。然后使用随机投影将这些非常长的矢量的维数减小到一定大小,以便您的聚类算法将更好地工作(您不想在高维空间中聚类)。

但是,还有其他主题建模方法。阅读教程以了解更多信息。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.