我在mongodb中有一组文档,其“description”值大约为tweet的大小。我需要从中生成一个趋势主题列表。很明显,这是一个已经解决的问题,但是如果不亲自编写代码,我就找不到完成任务的确切答案。
我正在我的应用程序中使用ruby&mongoid。
有没有红宝石可以帮助或处理这个问题?谢谢。
最佳答案
我知道没有这样的宝石,但这里有一个你可以自己写的算法:
从文本中提取n-grams。因为文本很小(你说的tweet大小),所以这里没有限制。"I eat icecream" => {(I), (eat), (icecream), (I eat), (eat icecream), (I eat icecream)}
计算每个文本n-grams的权重向量{(I):0.1, (eat):0.01, (icecream):0.2, (I eat):0.12, (eat icecream):0.001, (I eat icecream):0.00012}
在向量上使用TF-IDF作为cosine similarity算法的度量函数,可以在incremental clustering上编写Weka库脚本
按人口大小排列所有群集。最大集群中心的n-grams是您的热门话题。
关于ruby-on-rails - 是否有MongoDB趋势主题 gem ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8594055/