标签: recommendation-engine

如何创建自己的推荐引擎?

这些天我对推荐引擎感兴趣,我想在这个领域提高自己.我正在阅读" 编程集体智慧 "我认为这是关于这个主题的最好的书,来自O'Reilly.但我对如何实施引擎没有任何想法; 我的意思是"不知道"是"不知道如何开始".我脑子里有一个像Last.fm这样的项目.

  1. 在哪里(应该在数据库端或后端端实现)我开始创建推荐引擎?
  2. 需要什么级别的数据库知识?
  3. 有没有可以用于帮助或任何资源的开源软件?
  4. 我应该做的第一步应该是什么?

database recommendation-engine collective-intelligence

39
推荐指数
2
解决办法
2万
查看次数

推荐系统如何运作?

我一直很好奇这些系统是如何工作的.例如,netflix或亚马逊如何根据过去的购买和/或评级确定要做出哪些推荐?是否有任何算法可供阅读?

就这样,这里没有误解,我没有实际的理由要求.我只是想出纯粹的好奇心.

(另外,如果有关于这一主题的现有问题,指向我吧."推荐系统"是一个很难长期来搜索.)

algorithm recommendation-engine

28
推荐指数
4
解决办法
2万
查看次数

如何训练只有正面和中性数据的分类器?

我的问题:如何训练只有正面和中性数据的分类器?

我正在建立一个用于教育目的的个性化文章推荐系统.我使用的数据来自Instapaper.

数据集

我只有积极的数据: - 我阅读和"喜欢"的文章,无论读/未读状态如何

和中性数据(因为我已经表达了对它的兴趣,但我以后可能不会喜欢它): - 未读的文章 - 我读过并标记为已阅读的文章,但我并不"喜欢"它

我没有的数据是负面数据: - 我没有发送给Instapaper以便稍后阅读的文章(我不感兴趣,虽然我浏览了那篇文章/文章) - 我可能没有点过的文章,但是我可能已经或可能没有存档它.

我的问题

在这样的问题中,基本上缺少负面数据.我已经想到了以下解决方案,但还没有解决它们:

1)将一些负数据输入分类器优点:立即负数据来教授分类器缺点:随着我喜欢的文章数增加,对分类器的负面数据影响变暗

2)将"中性"数据转换为负面数据优点:现在我得到了我需要的所有正面和(新)负面数据缺点:尽管中性数据对我很感兴趣,但我还是想得到关于这样的建议.文章,但也许​​作为一个价值较低的类.

nlp recommendation-engine machine-learning

25
推荐指数
3
解决办法
9099
查看次数

使用机器学习来重复数据

我有以下问题,并认为我可以使用机器学习但我不完全确定它将适用于我的用例.

我有一个大约一亿条记录的数据集,其中包含客户数据,包括姓名,地址,电子邮件,电话等,并希望找到一种方法来清理这些客户数据并识别数据集中可能存在的重复数据.

大多数数据都是使用没有验证的外部系统手动输入的,因此我们的许多客户在我们的数据库中最终得到了多个配置文件,有时每个记录中都有不同的数据.

对于实例我们可能为客户John Doe提供5个不同的条目,每个条目都有不同的联系方式.

我们还有这样的情况:代表不同客户的多个记录在电子邮件等关键字段上匹配.例如,当客户没有电子邮件地址但数据输入系统需要时,我们的顾问将使用随机电子邮件地址,导致许多不同的客户档案使用相同的电子邮件地址,同样适用于电话,地址等.

我们的所有数据都在Elasticsearch中编制索引并存储在SQL Server数据库中.我的第一个想法是使用Mahout作为机器学习平台(因为这是一个Java商店)并且可能使用H-base来存储我们的数据(仅仅因为它适合Hadoop生态系统,不确定它是否具有任何实际价值),但是我读到的越多,我对它的工作方式就越困惑,对于初学者我不知道我能使用哪种算法,因为我不确定这个问题在哪里,我可以使用聚类算法或分类算法吗?当然,必须使用某些规则来确定配置文件的唯一性,即哪些字段.

我们的想法是最初将其部署为客户资料重复数据删除服务,我们的数据输入系统可以使用这些服务在输入新的客户资料时验证和检测可能的重复项,并且将来可能将其发展为分析平台以进行收集洞察我们的客户.

任何反馈将不胜感激:)

谢谢.

recommendation-engine machine-learning duplicates mahout record-linkage

24
推荐指数
2
解决办法
1万
查看次数

基于项目和基于内容的协作过滤有什么区别?

我很困惑基于项目的推荐是什么,正如" Mahout in Action " 一书中所描述的那样.书中有算法:

for every item i that u has no preference for yet
  for every item j that u has a preference for
    compute a similarity s between i and j
    add u's preference for j, weighted by s, to a running average
return the top items, ranked by weighted average
Run Code Online (Sandbox Code Playgroud)

如何计算项目之间的相似度?如果使用内容,是不是基于内容的推荐?

recommendation-engine mahout mahout-recommender

22
推荐指数
2
解决办法
2万
查看次数

构建推荐引擎时应该考虑什么?

我读过" 编程集体智慧 "一书,发现它非常吸引人.我最近听说亚马逊向世界发布了一项挑战,为他们的系统提出了更好的推荐引擎.

获胜者显然通过限制馈送给它的信息量来产生最佳算法.

作为第一个经验法则,我猜......" 在模糊算法方面,更多信息并不一定更好."

我知道这是主观的,但最终它是一个可测量的东西(点击以响应建议).

由于我们大多数人现在正在处理网络,搜索可以被视为一种推荐形式......我怀疑我不是唯一一个欣赏其他人的想法的人.

简而言之,"建立推荐的最佳方式是什么?"

algorithm recommendation-engine

19
推荐指数
3
解决办法
4322
查看次数

基于标记/关键字的推荐

我想知道什么算法可以聪明地用于标签驱动的电子商务环境:

  • 每个项目都有几个标签.IE:

    商品名称: "Metallica - Black Album CD",标签: "metallica","black-album","rock","music"

  • 每个用户都有几个标签和绑定到他们的朋友(其他用户).IE:

    用户名: "testguy",兴趣: "蟒蛇","摇滚","金属","计算机科学" 朋友: "testguy2","testguy3"

我需要通过检查他们的兴趣标签并以复杂的方式生成建议来为这些用户生成建议.

思路:

  • 可以使用混合推荐算法,因为每个用户都有朋友(基于协作+上下文的推荐的混合).
  • 也许使用用户标签,可以找到类似的用户(对等方)来生成推荐.

  • 也许通过标签直接匹配用户和项目之间的标签.

任何建议都是受欢迎的.任何基于python的库也是受欢迎的,因为我将在python语言上使用这个实验引擎.

algorithm recommendation-engine machine-learning

19
推荐指数
2
解决办法
4920
查看次数

为什么Netflix奖如此具有挑战性?

刚刚阅读了Wired最近的文章,我很好奇:Netflix奖是如此具有挑战性的是什么?我的意思是尽可能最真诚,我只是对比赛所带来的困难感到好奇.大多数推荐引擎一般难以改善吗?如果是这样,为什么呢?或者,Netflix是否异常难以改进,如果是这样的话,那么Netflix的特殊之处在于它比亚马逊更具挑战性?

recommendation-engine netflix

17
推荐指数
2
解决办法
1396
查看次数

如何实施推荐引擎?

请耐心等待我的写作,因为我的英语不够精通.

作为程序员,我想了解在推荐系统或基于相关系统下实现的算法或机器学习智能.例如,最明显的例子来自亚马逊.他们有一个非常好的推荐系统.他们知道:如果你喜欢这个,你可能也喜欢这样,或者其他类似的东西:有多少人喜欢这个那个在一起.

当然,我知道亚马逊是一个大型网站,他们在这些系统上投入了大量的资金和资金.但是,在最基本的核心上,我们如何在数据库中实现类似的东西呢?我们如何识别一个物体与其他物体的关系?我们如何建立一个处理这种事情的统计单位?

如果有人可以指出一些算法,我会很感激.或者,基本上,指出一些我们都可以学习的好的直接参考/书籍.谢谢你们!

algorithm recommendation-engine

17
推荐指数
1
解决办法
6524
查看次数

在Firebase中处理大量数据以用于推荐系统

我正在构建一个推荐系统,我使用Firebase存储和检索有关电影用户首选项的数据.

每部电影都有几个属性,数据如下:

{ 
    "titanic": 
    {"1997": 1, "english": 1, "dicaprio": 1,    "romance": 1, "drama": 1 }, 
    "inception": 
    { "2010": 1, "english": 1, "dicaprio": 1, "adventure": 1, "scifi": 1}
...
}
Run Code Online (Sandbox Code Playgroud)

为了提出建议,我的算法需要输入所有数据(电影)并与用户配置文件进行匹配.

但是,在生产模式中,我需要检索超过10,000部电影.虽然算法可以相对快速地处理这个问题,但是从Firebase加载这些数据需要花费大量时间.

我检索数据如下:

firebase.database().ref(moviesRef).on('value', function(snapshot) {
    // snapshot.val();
}, function(error){
    console.log(error)
});
Run Code Online (Sandbox Code Playgroud)

我想知道你是否对如何加快速度有任何想法?是否有任何已知的插件或技术可以解决这个问题?

我知道非规范化可以帮助分割数据,但问题是我需要所有电影和所有相应的属性.

database-design recommendation-engine nosql firebase firebase-realtime-database

15
推荐指数
1
解决办法
1643
查看次数