3

我正在考虑向TalkingPuffin Twitter 客户端添加一个功能,在对用户进行一些培训后,它可以根据预测值对传入的推文进行排名。Java 虚拟机(首选 Scala 或 Java)有哪些解决方案来执行此类操作?

4

2 回答 2

8

这是一个分类问题,您本质上想学习一个函数 y(x),它预测“x”(一条未标记的推文)是属于“有价值”类还是“不有价值”类。

这里最棘手的不是算法(朴素贝叶斯只是计数和乘法,而且很容易编码!)而是:

  1. 收集训练数据
  2. 定义最优特征集

一方面,我建议您跟踪用户收藏、回复和转发的推文,其次,查看推文的作者、推文中的文字以及是否包含链接等质量。

于 2011-02-20T03:23:05.403 回答
3

做好这件事并不容易。谷歌希望能够做这样的事情(“用户会看重哪些链接”),Netflix (“他们会看重什么电影”)和许多其他人也会这样做。事实上,您最好仔细阅读有关Netflix Prize 获奖作品的说明。

然后你需要提取一堆特征,正如@hmason 所说。然后你需要一个合适的机器学习算法;你要么需要一个函数逼近器(你尝试使用你的特性来预测一个介于 0 和 1 之间的值,其中 1 是“有史以来最好的推文”,0 是“omg who cares”)或分类器(你使用您的特征来尝试预测它是“好”还是“坏”推文)。

如果你选择后者——这使得用户培训变得容易,因为他们只需要用“喜欢”(混合社交网络隐喻)对推文进行评分——那么你通常最好使用支持向量机,其中存在相当全面的Java库

在前一种情况下,有多种技术可能值得尝试;如果您决定使用 LIBSVM 库,它们也有用于回归(即参数估计)的变体。

于 2011-02-20T20:37:44.417 回答