我参与推特分析数据。我想在带有#finance 或#technology 等标签的推文中找到热门话题。我有一个庞大的推文数据集,现在我需要分析它们。
我需要识别主题,如果有的话。我正在处理的方法是,首先,使用 tfidf 技术对每条推文执行矢量表示,然后根据它们的余弦相似度构建它们的组。
推文分析中是否有常用技术?
我参与推特分析数据。我想在带有#finance 或#technology 等标签的推文中找到热门话题。我有一个庞大的推文数据集,现在我需要分析它们。
我需要识别主题,如果有的话。我正在处理的方法是,首先,使用 tfidf 技术对每条推文执行矢量表示,然后根据它们的余弦相似度构建它们的组。
推文分析中是否有常用技术?
我相信您要使用的算法称为潜在狄利克雷分配 (LDA) 模型。该模型旨在揭示文档语料库中的主题。
他们甚至有一个教程,教你如何提取主题。本教程还描述了非负矩阵分解 (NNMF) 作为提取主题的方法。我不能保证这个算法,因为我没有亲自使用过它(与我之前使用过的 LDA 相反),但从他们的教程 NNMF 似乎确实给出了合理的结果。
使用余弦相似度将帮助您对最相似的推文进行分组,但它不会为您提供它们的主题。哪个可能是你想要的?这真的很难说,因为只有你知道你应该如何让系统运行。不幸的是,这并不能帮助您弄清楚趋势是什么,并且您需要进行一些繁重的后期处理,以使您使用的任何算法都能吐出对您有用的东西。
祝你好运!
正如@Ryan 所提到的,LDA 是一种可行的方法,但我不确定它是否会在长度基本限制为 140 个字符的文档上提供可靠的结果。我过去曾在新闻文章的摘要上尝试过,结果好坏参半。另一种想法可能是在使用哈希标签作为类时测试监督模型(如 SVM 或 KNN)的性能?
顺便说一句,如果您致力于 LDA,请查看 python 中的 gensim 和 LDAviz 包。