首页 文章

实施无监督学习推荐系统

提问于
浏览
5

我一直在研究有关推荐系统的文章和书籍以及建议它们建议的方法 . 在其中许多人中,Netflix比赛就是一个例子 . 在Netflix用户评价电影(从1到5) . 在该竞赛中,竞争者被给予用户的电影和相应评级的数据库,并且他们应该实现最能预测电影评级的系统,并且使用该评级将向用户推荐电影 .

对于评估,他们建议使用使用预测和实际评级作为参数的度量进行交叉验证 . 使用用户的历史记录和他对电影的评分来计算预测评级 .

我正在尝试 Build 一个新闻推荐系统 . 我现在面临的问题是这个消息只是在短时间内相关,而且几乎没有人会对新闻给予评分 . 所以,我只有隐含的反馈(观点),没有明确的反馈(评级) . 同样在Netflix问题中,他们也提供了一个数据库 . 我想知道如何应对冷启动问题,因为一开始没有新闻被阅读(查看) .

如果你可以建议我如何避免冷启动问题,我将非常感激,一旦我将有一个算法,我怎么能测试它是否正常工作 .

谢谢!

2 回答

  • 0

    电影是经典协同过滤的绝佳用例:它们是人们长期感兴趣的项目,相对较少,很多人都有重叠的兴趣,星级评分是有意义的 . 新闻报道完全不同 . 而不是协作过滤,请查看基于内容的过滤 . 这就是人们的兴趣与内容标识符(可能是关于新闻报道的关键词,发布者,或关于时间或世界各地区的元数据)的关系 . 对于有关人们偏好的信息,查看计数是您最好的选择,它们还允许您使用一些数据挖掘技术,如关联规则挖掘 .

    虽然您仍然会遇到用户冷启动问题 - 系统中的新用户没有向您提供有关其偏好的信息,除非您通过挖掘她的推文或Facebook兴趣或类似的东西来引导它 - 您可以避免项目冷启动问题 . 您可以使用另一个语料库,而不是依靠通过社区阅读的新闻故事作为获取项目相似性的唯一方法 . 特别是,尝试维基百科,并查看WikiBrain(https://github.com/shilad/wikibrain) . 这是一个API,您可以通过它获得一个概念与另一个概念的相似性,并将其应用于您的推荐需求 .

  • 2

    为了开始你正在进行的这个项目,我建议聚类以找到相关/热门项目的新闻模式 . 您所加入的功能越多,它就会为您的结果增加 Value (这部分需要仔细选择,研究和统计分析) .

    对于新闻推荐 - 你可以采用分层方法,所以让我们说第一部分是扫描文章,这些文章是“肯定的”/包含评论该文章的人的某些关键词 .

    那么也许第二种分层方法是交叉引用twitter对该文章的回应,对facebook的喜欢/流量,有多少pinterest用户的文章等等...

    您还可以查看google,bing等关于特定主题的热门关键字,以便确保您展示的文章是“相关的”

    我还建议开始小因为网上有这么多文章 - 也许会关注一个主题,然后概括它 . 正如您可能已经注意到的那样,“文章”的受欢迎程度与人们遵循的某些声音有关,因此这是找到该文章相关性的另一种方式 .

    以下是关于无监督学习的更多信息:http://en.wikipedia.org/wiki/Unsupervised_learning

    您可能还需要查看期望最大化以查找哪些变量可以改善未观察到的数据've obtained. Here'对EM的完整解释https://stats.stackexchange.com/questions/72774/numerical-example-to-understand-expectation-maximization

相关问题