问题标签 [ranking]

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 投票
3 回答
3186 浏览

algorithm - 排名算法

我需要根据用户评分对一些产品进行分类。

假设我们有 3 个产品 { a , b , c } 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)

以下每一行都是用户尝试比较这 3 种产品时的反馈:

a 150 分- b 0 分(该用户刚刚告诉我们他对 2 种产品 a 和 b 的看法,比较 a 和 b,他认为如果他给出 150 分,那么 b 值 0 分)

a 150 分- c 20 分

c 200 分- a 10 分(尽管前一个用户认为 c 优于 a)

a 200 分- b 40 分- c 100 分

a 150 分- b 50 分

a 150 分- b 20 分

(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)

现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。

任何形式的帮助或提示表示赞赏。

/************************************************* *******************************/

您不能只添加分数并计算产品分数的平均值,因为它如何获得他的分数很重要。假设ab得 800 分,然后c对a得 10 分,如下所示:

a 200 - b 0

a 200 - b 0

a 200 - b 0

a 200 - b 0

c 10 - a 0(这意味着 c 优于 a)

所以绝对ab好,但只有 10 分,c从a中获得了更好的排名

/************************************************* *******************************/

0 投票
3 回答
499 浏览

math - 产品排名

我需要根据用户评分对一些产品进行分类。

假设我们有 3 个产品 {a,b,c} 并且我们有用户对此产品的反馈。哪个用户给我们反馈并不重要(如果您熟悉,这个问题与相关过滤无关 - 用户兴趣不是这里的情况)

以下每一行都是用户尝试比较这 3 种产品时的反馈:

a 150 分 - b 0 分(该用户刚刚告诉我们他对 2 种产品 a 和 b 的看法,并且在比较 a 和 b 时,如果他给出 150 分,那么 b 值 0 分)

a 150 分 - c 20 分

c 200 分 - a 10 分(尽管前一个用户认为 c 优于 a)

a 200 分 - b 40 分 - c 100 分

a 150 分 - b 50 分

a 150 分 - b 20 分

(这些评级只是一个样本,在现实世界中,产品和评级的数量比这大得多)

现在我需要一种算法来根据用户投票找到产品的排名。在我看来,最好的方法是用相关图来描述这个问题,并将所有产品相互连接起来。

任何形式的帮助或提示表示赞赏。

/************************************************* *****************************/**

您不能只添加分数并计算产品分数的平均值,因为假设 a 对 b 获得 800 分,然后 c 对 a 获得 10 分,这很重要:

a 200 - b 0

a 200 - b 0

a 200 - b 0

a 200 - b 0

c 10 - a 0(这意味着 c 优于 a)

所以绝对 a 比 b 好,但只有 10 分,c 从 a 中获得了更好的排名

/************************************************* ******************************/

0 投票
1 回答
1212 浏览

lucene - 在 Solr 中使用地理位置进行排名

为 Solr/Lucene 实现自定义排名算法的正确方法是什么?

我读到 Zvents 为与特定地理区域中的事件相对应的文档实施距离加权排名系统 ( http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Zvents )。

我想做类似的事情:我将不同城市的广告编入索引,并且我想提高给定特定位置的最近广告的相关性。

0 投票
1 回答
4171 浏览

java - 如何实现自定义搜索结果排名?

我的 lucene 索引包含带有“itemName”字段的文档。该字段使用 0 到 1 之间的提升因子进行提升。当我创建 BooleanQuery 时,我希望结果按匹配子句的数量和提升因子进行排名,因此公式如下所示:

分数总是介于 0 和 1 之间的浮点数。如果所有子句都匹配并且提升因子为 1,则为 1。

例如,如果三个没有提升因子的文档的“itemName”字段值为:

和 BooleanQuery 看起来像:

比 document1 检索到的分数为 (2/2 +0)/2 = 0.5,因为:count_of_matching_clauses = 2 和 count_of_total_clauses = 2

document2 将以 (1/2+0)/2 = 0.25 的分数被检索,因为:count_of_matching_clauses = 1 和 count_of_total_clauses = 2

比 document3 检索到的分数为 (2/2 +0)/2 = 0.5,因为:count_of_matching_clauses = 2 和 count_of_total_clauses = 2

如何在 lucene 中实现这种排序机制?我如何告诉 lucene 使用我的自定义排名类对结果进行排名?

0 投票
3 回答
436 浏览

sql - 在此示例中如何过滤搜索结果

我有一个包含数千种产品的产品表。有些产品有不同的颜色可供选择。但是当有人搜索“mp3 播放器”时,我不想向他展示每种颜色,而只是展示最畅销颜色的播放器。

她是表格布局(简化):

但是,当用户搜索“Mp3 播放器红色”时,我想向他展示红色播放器,而不是黑色播放器。使用“like”运算符执行搜索(是的,我知道 lucene,无论如何我需要解决这个问题)。

任何建议如何解决这个问题?我有一些想法,但似乎都不是一个好的解决方案。谢谢,

postgreSQL db 和 jave 用于创建结果。

0 投票
5 回答
690 浏览

algorithm - 蛋糕比较算法

这实际上是关于比较蛋糕。我的朋友正在举办一个纸杯蛋糕派对,目的是确定曼哈顿最好的纸杯蛋糕店。实际上,它比这更雄心勃勃。继续阅读。

有 27 家面包店,有 19 人参加(可能有一到两次没有出现)。每个面包店将有 4 个纸杯蛋糕,如果可能的话,包括主食——香草、巧克力和红色天鹅绒——并用通配符口味四舍五入。有 4 个属性可以对纸杯蛋糕进行评分:风味、湿润度、外观(漂亮)和一般品质。人们将为他们采样的每个纸杯蛋糕的每个属性提供 5 分制评分。最后,每个纸杯蛋糕可以切成 4 或 5 块。

问题是:为每个属性和每种风味(将“通配符”视为风味)得出具有统计意义的面包店排名的程序是什么?具体来说,我们想要对面包店进行 8 次排名:对于每种口味,我们希望按好坏对面包店进行排名(好是属性之一),对于每个属性,我们希望对所有口味的面包店进行排名(即,独立于风味,即聚合所有口味)。大奖授予善良属性排名第一的面包店。

当然,概括这一点的奖励积分。

这将在大约 12 小时内发生,因此如果在此期间没有人回答,我将发布我们最终会做的事情作为答案。

PS:这是关于它的派对后博客文章:http: //gracenotesnyc.com/2009/08/05/gracenotes-nycs-cupcake-cagematch-the-sweetest-battle-ever/

0 投票
3 回答
1319 浏览

sql-server - 从 SQL Server 全文搜索中识别准确的匹配项

我正在使用 SQL Server 2008 全文搜索,并加入 FreeTextTable 以确定结果的排名。

如何确定结果集是否准确匹配?

例如,对于一次搜索,我可能会得到以下结果:

排名范围的分布表明,一个结果比所有其他结果更相关,这表明排名靠前的结果很可能是搜索词的准确匹配。

但是对于另一个搜索,我可能会得到这个结果:

此结果集中的排名范围缺乏分布表明搜索结果不准确。

如何在结果中输出一个布尔值作为额外的列,指示排名的分布是否表明结果准确?

谢谢!

0 投票
0 回答
6861 浏览

search-engine - 解释BM25算法

给我解释一下BM25算法。目前,我正在使用不太好的经典tf-idf 。

0 投票
2 回答
4026 浏览

sql - 将 SQL 排名函数与派生列一起使用

我正在尝试对按派生列排序的查询使用 SQL Server 2008 排名函数。这是一个例子

我总是收到一个错误无效的列名“points”,因为根据我所读到的内容,OVER 函数不适用于别名。

有谁知道我可以检索按派生列排序的结果集的顺序行号的替代方法?

0 投票
12 回答
9396 浏览

c++ - 查找范围内的最大和第二大元素

如何在不删除最大元素并再次搜索的情况下找到上述内容?有没有更有效的方法来做到这一点?这些元素是否重复并不重要。