我有已通过社交媒体网站进行身份验证的用户。现在,根据他们最近的 X 个(假设是 200 个)帖子,我想绘制出该内容与有限关键字列表的匹配程度。
什么是最好的方法来捕获相关的单词/概念(也许这太难了)或者只是得到一个分数,比如说,我的推文历史映射到“海象”或“香蕉”?
天真的贝叶斯会在这里工作以区分“匹配”和“不匹配”吗?
在这种情况下,一个简单的贝叶斯就可以工作,它被广泛用于检测电子邮件是否是垃圾邮件,对于一个简单的关键字匹配它应该可以很好地工作。
对于这个问题,您还可以应用推荐系统,在其中为用户(或帖子)寻找最推荐的关键字。
有很多方法可以做到这一点。我建议您阅读Programming Collective Intelligence。它是使用 python 解释的,但是由于您知道 ruby,因此理解代码应该没有问题。
在 Python 中,我会说 NLTK 可以轻松做到这一点。在 Ruby 中,名为lda-ruby 的gem 可能会对您有所帮助。整个 LDA 概念在这里得到了很好的解释——例如,看看 Sarah Palin 的电子邮件。甚至还有一个应用程序示例(不完全使用 Ruby,但仍然如此)-> github.com/echen/sarah-palin-lda
或者,也许我只是说一些愚蠢的话,这对你一点帮助都没有。我不是专家;)