问题标签 [collective-intelligence]

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.

0 投票
1 回答
996 浏览

algorithm - 媒体推荐引擎 - 单用户系统 - 如何启动

我想实现一个媒体推荐引擎。我看到了一个类似的帖子,但我认为我的要求与那些有点不同,所以在这里发布。

这是交易。

我想为像 VLC 这样的媒体播放器实现一个推荐引擎,这将是一个只需要照顾单个用户的引擎。就像,它会嵌入到 PC 上的媒体播放器中,通常由单个用户使用。它会开始学习用户的好恶,并逐渐了解用户喜欢什么。在这里,它将无法找到相似的用户来使用他们的数据进行推荐,因为它是一个单一的用户系统。那么该怎么做呢?

或者您可以将其视为必须放入 iPod 中的推荐引擎,它必须了解单个用户并从其收藏中推荐音乐/电影。

我想开始收集用户观看的音乐/电影类型(甚至可能是艺术家的名字),并从最受关注的类型中推荐电影,但它看起来很粗糙,不是吗?

那么有没有我可以使用的算法或我可以参考的任何资源?

问候,

微内核:)

0 投票
3 回答
397 浏览

business-intelligence - 商业智能的意义

“智能”一词有两个含义:

1:学习、应用知识或抽象思考的能力。

2a:有关负责收集此类信息的敌人或组织或团体的信息。b : 任何类型的新闻或信息。

商业智能一词中,智能的含义是哪一个?1 还是 2?

网上有没有关于这种区别的文章?

0 投票
7 回答
4774 浏览

cluster-analysis - 基于内容的项目推荐方法

我目前正在开发一个应用程序,我想在其中对类似项目进行分组。项目(如视频)可以由用户创建,并且它们的属性可以在以后更改或扩展(如新标签)。我不想像大多数协同过滤机制那样依赖用户的偏好,而是想根据项目的属性(如相似的长度、相似的颜色、相似的标签集等)比较项目的相似性。计算对于两个主要目的是必要的:x为给定项目建议相似的项目以及将相似项目聚类成组。

到目前为止,我的应用程序遵循异步设计,我想尽可能地解耦这个集群组件。新项目的创建或为现有项目添加新属性将通过发布组件随后可以使用的事件来宣传。

可以尽最大努力和“快照”提供计算,这意味着我可以在给定时间点获得可能的最佳结果,尽管结果质量最终会提高。

所以我现在正在寻找合适的算法来计算相似的项目和集群。重要的约束是可扩展性。最初,应用程序必须处理几千个项目,但后来也可能处理数百万个项目。当然,计算将在其他节点上执行,但算法本身应该是可扩展的。如果算法在数据的部分更改上支持某种增量模式,那也很好。

我最初将每个项目相互比较并存储数值相似性的想法听起来有点粗糙。此外,它需要n*(n-1)/2用于存储所有相似性的条目,任何更改或新项目最终都会导致n相似性计算。

提前致谢!

更新 tl;博士

为了澄清我想要的,这是我的目标场景:

  • 用户生成条目(想想文档)
  • 用户编辑条目元数据(想想标签)

这是我的系统应该提供的:

  • 作为推荐的给定项目的类似条目列表
  • 相似条目的集群

两种计算都应基于:

  • 条目的元数据/属性(即相似标签的使用)
  • 因此,使用适当度量的两个条目的距离
  • 不基于用户投票、偏好或操作(与协同过滤不同)。尽管用户可以创建条目和更改属性,但计算应该只考虑项目及其属性,而不是与之关联的用户(就像只有项目而没有用户存在的系统一样)。

理想情况下,该算法应支持:

  • 条目属性的永久更改
  • 增量计算类似的条目/集群的变化
  • 规模
  • 如果可能的话,比简单的距离表更好(因为 O(n²) 空间复杂度)
0 投票
1 回答
183 浏览

algorithm - 有什么算法可以确保社交排名系统中的类别多样性?

我正在构建一个类似于 Reddit 的系统,用户“喜欢”项目。“喜欢”将用于确定项目的排名。还有一个“老化”因素,最近的“喜欢”比古代的“喜欢”更重要。

总而言之,它类似于此处描述的算法。

我的问题是我需要确保结果排名中项目的多样性。每个项目都属于一个类别。某些类别可能非常受欢迎。我不希望首页(或第二页)中的所有项目都属于 A 类,而其他类别的项目却无处可寻。

那么是否有任何巧妙的算法可以确保结果的多样性——以确保每个页面中不同类别的良好组合?

谢谢

0 投票
1 回答
406 浏览

ruby-on-rails - 用于布尔数据的 Rails 项目到项目推荐引擎数据库设计?

我一直在研究编程集体智能,到目前为止,用于逐项推荐的算法对我来说已经足够有意义,但我现在被困在如何根据作者描述的内容制作一个实际的数据库支持系统。我找到了acts_as_recommendable,但据我所知,它看起来已经被遗弃了。

我想知道的是,假设我有一个这样布置的数据库:

用户:

ID

用户名

书签:

ID

网址

用户书签:

用户身份

书签ID

(简单,用户可以有很多书签,书签可以有很多用户)

现在看看他们在书中的 Delicious 示例中的算法,似乎他们有记录为 url 加书签的用户和没有加书签的用户。这显然不适合数据库,因为一个具有 1000 个用户系统的新书签将需要 1000 个新的数据库记录。或者我只是在这里没有得到任何东西?

您将如何添加到上述数据库模式中,以允许您根据 Programming Collective Intelligence 中的美味链接推荐算法计算书签推荐?

理想情况下,我希望每小时计算一次允许的书签相似度,然后在页面加载时简单地查询数据库以获取推荐的 url。Rails 中的标准 mysql 支持系统可以做到这一点吗?

提前致谢。

0 投票
3 回答
377 浏览

computer-science - 在哪里可以了解“集体智慧”?

哪些是集体智慧研究的好资源?

我是一名软件开发人员,已经一年了,我基本上在 Java 和 Flex 平台上工作。我现在想申请“集体智能”的博士学位,为了让我的申请更强大,我想在申请之前仔细阅读它。

在深入了解复杂性之前,我只需要一些好的教程/博客……谢谢!

0 投票
1 回答
439 浏览

python - Python 和集体智能:第 2 章:推荐项目

我正在学习集体智能的工作原理,并且正在练习第 2 章中的示例 Recommendations.py 问题。这是链接:

http://cdn.jampad.net/Library/collectiveintelligence/#calibre_link-201

当我复制并粘贴此代码时:

进入我的 Recommendations.py 文件,当我重新加载文件时,我收到一个语法错误。

这就是我收到的信息。我不确定我是否正确复制并粘贴了代码,或者给定的代码行是否错误。

0 投票
1 回答
1426 浏览

search - 根据用户点击对solr结果进行排序?

我正面临根据用户点击日志对 Solr 结果进行排序的问题。我希望更多的访问结果是第一位的。有谁知道如何在 Solr 中配置或实现此类属性?

非常感谢。

0 投票
1 回答
440 浏览

machine-learning - 如何结合 AUC 和平均 11 点精度/召回率?

我正在评估推荐人,我有 ROC 曲线和 Precision-Recall 曲线。当我更改一些参数时,ROC 和 PR 曲线的变化会有所不同。有时 ROC 曲线看起来比 PR 曲线更好,反之亦然。因此我想要两条曲线。我可以将 ROC 曲线归结为 AUC,因为我有 11 点 PR 曲线,所以我可以取 11 点的平均值来得到一个数字。

我可以以某种方式将这些措施组合成一个数字吗?这是人们做的事情还是不必要的?

ROC 看起来比 PR 更好的事实只是一个主观的事情,因为我不擅长解释曲线,还是一个可以比另一个更好是有效的?(它们并不完全不同,但我认为仍然很明显)

编辑:基本上我不想显示大量的情节,我想要一张数字表。你会把这些数字放在一张桌子上吗?或者为每个度量制作一个表格?

0 投票
2 回答
562 浏览

d3.js - Store users' comments to data points in d3js graphs

We need to find or build from scratch a tool, that will collect users' feedback on graphs they look at. Scientists commenting some obtained distributions is a typical example. Generally speaking, this should be some kind of collective discussion layer for d3js

I guess, that this idea is not new, and I even saw kind of prototype a couple of years ago. Can anyone point to possible existing solutions or maybe frameworks that might be helpful?

Simplest use case - Bob sees d3js scatterplot and observes the strange outlier A on the upper left corner. He clicks on it and writes a comment - 'Was all conditions normal for this observation?'. When John enters the system and clicks on A, he can read the comment and reply smth like 'That's just my cat who ran over keyboard'.

This logic can have lots of extensions, so it's better to use an existing tool.