问题标签 [recommendation-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何构建“相关问题”引擎?
我们其中一个较大的网站有一个部分,用户可以在其中向网站所有者发送问题,由他的员工亲自评估。当经常出现相同的问题时,他们可以将此特定问题添加到常见问题解答中。
为了防止他们每天收到几十个类似的问题,我们想提供一个类似于本网站“相关问题”的功能(堆栈溢出)。
有什么方法可以构建这种功能?我知道我应该以某种方式评估问题并将其与常见问题解答中的问题进行比较,但是这种比较如何工作?是否提取了关键字?如果是,如何提取?
可能值得一提的是,这个站点是建立在 LAMP 堆栈上的,因此这些是可用的技术。
谢谢!
search - 您如何有效地实现文档相似性搜索系统?
您如何为一组标签描述的项目实施“相似项目”系统?
在我的数据库中,我有三个表,Article、ArticleTag 和 Tag。每篇文章通过多对多关系与多个标签相关。对于每篇文章,我想找到五篇最相似的文章来实现“如果你喜欢这篇文章,你也会喜欢这些”系统。
我熟悉余弦相似度 ,并且使用该算法效果很好。但这是慢下来的方式。对于每篇文章,我需要遍历所有文章,计算文章对的余弦相似度,然后选择相似度最高的五篇文章。
200k 篇文章和 30k 个标签,我需要半分钟来计算一篇文章的相似文章。所以我需要另一种算法,它可以产生与余弦相似度大致一样好的结果,但它可以实时运行,并且不需要我每次都迭代整个文档语料库。
也许有人可以为此提出现成的解决方案?我查看的大多数搜索引擎都没有启用文档相似性搜索。
c - 从 C 世界寻找脚本语言
我来自 C-Java-C# 世界...括号是 VIP 公民,类型受到每个人的喜爱 :)
有时我需要开发一些代码来自动化重复性任务,转换一些复杂的框架,订购输入文件,向服务器发送程序请求......你知道我的意思吗?
但有时我想知道用 Python 之类的语言写同样的东西有多容易……或者这些 DoItSimple 语言:) - 恕我直言。
那么我应该使用哪种语言来完成此类任务?
非常感谢您!
graphics - 用于 Lua 2D 图形库的 Love2D 的替代品
我正在寻找理想情况下支持以下内容的 Love2D 图形/游戏库的替代品:
- 简单的原始渲染(例如点、线、二维多边形)
- 能够加载和绘制图像
- 基本的文本渲染(虽然功能更全的东西会很好)
还有其他存在吗?
architecture - 如何避免疯狂的命名约定?
将程序集命名为一个名称,将程序集内的文件夹命名为另一个名称,然后开始将这些名称携带到这些文件夹内的类中是否常见?例如:
或者更进一步,甚至是这样的方法:
对我来说,随着您在项目上工作的时间更长并开始添加其他程序集和方法,这似乎变得越来越令人困惑。有没有更好的方法来解决这个问题?
任何反馈都将受到欢迎。
database - 我应该为类似社交网络的应用程序选择关系数据库还是非关系数据库
我正在为我的应用程序选择数据库。我使用 MySQL 的时间最长,但对于我当前的应用程序来说,性能和可扩展性很重要,我知道 MySQL 有其局限性,我听说过很多关于键值存储、基于列的数据库和基于文档的数据库等. 我调查过:
- 卡桑德拉
- MongoDB
- 雷迪斯
- 沙发数据库
它们似乎(或声称)都比 MySQL 等关系数据库更快。
我正在使用 Ruby on Rails,并且上面有所有客户端,所以这应该不是问题。
我的数据模型大部分都很简单,它以与照片、视频、帖子等不同项目相关的用户对象(具有丰富的个人资料和偏好)为中心,每一个都有一个或多个标签。
事实上,这些数据库是新的,网上似乎没有很多资源可供他们使用。另外,它们在结构上有所不同,因此以后从一个切换到另一个并非易事。
我希望您可以就您认为最适合我的应用程序的具有良好性能和规模的数据库提供您的意见。谢谢,
谭
algorithm - 基于标签向用户推荐内容的算法
我正在寻找一种可以通过计算用户和内容对象之间的相似度来向用户推荐内容对象的好算法。为了计算它,我们有内容对象标签(元数据)和用户兴趣数据。
我们可以通过两种方式了解用户的兴趣:
- 明确地问他:让他评价一个特定的内容项目。从最不喜欢到最喜欢对项目集合进行排名。
- 隐式方式:通过观察用户在一段时间内访问的内容类型来学习。我想同时实现一点。
请推荐一些文章或论文来分析一些好的方法?
artificial-intelligence - 神经网络推荐引擎
如何为推荐引擎设计神经网络。我假设每个用户都需要自己的网络,但是您将如何设计输入和输出以推荐数据库中的项目。有什么好的教程之类的吗?
编辑:我更多地考虑如何设计一个网络。就像有多少输入神经元以及输出神经元如何指向数据库中的记录一样。您是否会说 6 个输出神经元,将其转换为整数(可以是 0 到 63 之间的任何值),这就是数据库中记录的 ID?人们是这样的吗?
filtering - 协同过滤和协同质量过滤有什么区别?
我目前正在研究协作质量过滤,只是想知道,协作过滤和协作质量过滤有什么区别?在我看来,它们都是完全相同的事物(同一事物的名称不同)。他们有单独的定义还是什么?
我试图在谷歌搜索“协作质量过滤”,它只返回 56 个结果,没有一个对我有任何说明。
非常感谢您的帮助。
python - 协同过滤:非个性化项目间相似性
我正在尝试按照亚马逊的“查看/购买 X 的客户也查看/购买 Y 和 Z”的方式计算项目与项目的相似性。我看到的所有示例和参考资料都用于计算排名项目的项目相似度、查找用户-用户相似度或根据当前用户的历史记录查找推荐项目。在考虑当前用户的偏好之前,我想先采用一种非针对性的方法。
查看Amazon.com 推荐白皮书,他们使用以下逻辑来进行离线商品相似度:
如果我理解正确,当我们在“计算 I1 和 I2 之间的相似性”时,我有一个与单个值 I1(外循环)一起购买的项目(I2)列表。
这个计算是如何进行的?
另一个想法是我想多了,这比我需要的更困难 - 对与 I1 一起购买的 I2 的计数进行前 n 个查询是否足够?
我也很欣赏有关这种方法是否正确的建议。我的产品数据库随时都有大约 150k 项。由于我看到的大部分阅读材料都显示了用户-项目相似性甚至用户-用户相似性,我是否应该转而走这条路。
我过去曾使用过相似度算法,但它们总是涉及排名或分数。我认为唯一可行的方法是建立一个客户-产品矩阵,对未购买/购买的产品评分为 0/1。考虑到购买历史和商品大小,这可能会变得非常大。
编辑:虽然我将python列为标签,但我更愿意将逻辑保留在数据库中,最好使用Oracle PL/SQL。