我正在开发一个连接到mySQL数据库的PHP威士忌信息系统,其中包含3个由瓶子组成的表格(总共约100个),某些用户已将用户和瓶子添加为威士忌货架的最爱。
我正在尝试构建一个功能,根据威士忌在威士忌架上添加的威士忌推荐威士忌。
每种威士忌都有一种“风味特征”,有12种不同的风味特征(例如,如果威士忌是坚果,烟熏等),每个特征都按照0到4的等级进行排名。所以我基本上有12个数字可供玩耍和比较另外12个号码。
我已经对这个主题进行了一些研究,但是只能找到比较一个等级与另一个等级的简单实现,但我想不出一种比较12个数字并返回某种匹配百分比的有效方法。
我想知道是否有人对将数据库中的威士忌与用户收藏中的威士忌进行比较的最佳方法有任何建议,并推荐最接近的匹配?
答案 0 :(得分:3)
你要完成的是,实质上是威士忌的潘多拉。您将不得不设计一种算法,该算法将比较不同的特征并提供某种影响整体结果的权重。这不是一个简单的过程,您的算法将在最佳运行之前进行许多次的修改。
| CHARACTERISTICS | YOUR WHISKEY | WHISKEY #1 | WHISKEY #2|
---------------------------------------------------------------
| Smoky | x | | x |
---------------------------------------------------------------
| Nutty | | x | x |
---------------------------------------------------------------
在上面的例子中,你的WHISKEY 是你喜欢的, WHISKEY#2 比 WHISKEY#1 具有更多你想要的特性>。这是一个非常简单的比较,并不是非常重要的因素。
您需要坐下来查看可能的数据,创建算法,然后在人们身上试用。如果它不能正常工作,请再次调整算法。这是一个持续的过程,最终将按照您的意愿运作。
这篇关于协作过滤和推荐系统的类似帖子可能会提供一些更有用的见解:What is algorithm behind the recommendation sites like last.fm, grooveshark, pandora?