2014-07-19 64 views
0

我正在研究新闻应用程序。在主页上,用户看到一个标题列表,然后他可以点击一个阅读文章和评论。推荐系统的贝叶斯分类或类似技术

我想根据他的历史提供“推荐文章”选项。例如,如果他阅读了一篇文章 - 我将为该算法提供标题关键词,以便了解该用户喜欢阅读的内容。

我所读到的有关贝叶斯过滤器的问题是,您需要用良好的输入和错误的输入(如良好的电子邮件和垃圾邮件)来训练它们。我的情况不同的是没有不好的例子。如果用户没有阅读文章 - 这并不意味着它是一个不好的分类(因为他将来可能会阅读它),但只有当他阅读一篇文章时 - 他更有可能会阅读类似文章未来。

基本上,我正在寻找一种算法来帮助我将文章推荐给特定用户 - 基于他过去阅读的内容。它将运行在移动设备上,所以任何实现(C/C++/Obj-C)都可以工作。

谢谢。

回答

2

您可以将其视为binary classification problem。它可能是他喜欢阅读的文章,也可能是他可能不喜欢阅读的文章。

您可以使用dlib C++ library作为二进制分类器算法。

+0

感谢您的链接,我不知道这个库。问题在于它不完全是二进制的:不是真或假。我不能用他没有阅读的文章来训练算法,但我只想训练他阅读的文章和任何新文章 - 计算他想要的文章的概率。 –

+0

你可以通过只看他喜欢阅读的文章来训练。只要看看所有的文章,并只选择具有匹配功能的文章。这将假定未选择的文章的值为假。 – etr