对数据库的模糊查询

时间:2010-10-25 19:09:12

标签: data-mining

我很好奇当今许多社交网站上的作品功能。

例如,您输入您喜欢的电影列表,系统会建议您喜欢的其他电影(基于喜欢与您相同的电影的其他人的电影)。我认为在大型数据集中以直接sql方式(我的电影加入电影 - 用户加入电影标题的用户电影组并对其应用计数)将由于此类查询的“沉重”而无法实现。

同时我们不需要精确的解决方案,近似就足够了。我想知道有没有办法像传统的RDBMS那样实现类似模糊查询的方法,这些方法可以快速执行但有一些不合理性。或者如何在真实系统上实现这些功能。

3 个答案:

答案 0 :(得分:2)

这是协作过滤或推荐

除非你需要一些非常复杂的斜率,否则一个预测器就是其中一个更简单的预测器就像50行python,Bryan O’Sullivan’s Collaborative filtering made easythe paper by Daniel Lemire et al. introducing "Slope One Predictors for Online Rating-Based Collaborative Filtering"

这种方法只有一个用户在更改时才更新,而在某些情况下,其他用户只需更新处理整个数据库

我使用那个python代码来预测文件中没有出现的单词的数量,但我遇到了内存问题等等,我想我可能会写一个内存不足的版本,可能使用sqlite

在那个矩阵中使用的矩阵是三角形的,沿着对角线的边是镜像的,因此只需要存储矩阵的一半

答案 1 :(得分:1)

您正在寻找的术语是“协作过滤”

阅读编程集体智慧,O'Reilly Press

答案 2 :(得分:0)

最简单的方法是使用贝叶斯网络。有些图书馆可以为您处理大部分数学。