gpt4 book ai didi

algorithm - 程序化查询权重

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:43 24 4
gpt4 key购买 nike

这是我正在尝试为我预期开发的应用程序解决的难题。想象一个约会应用程序,人们可以在其中按国籍搜索个人。

An 在使用该应用程序,并且有 10% 的兴趣会见俄罗斯人,有 90% 的兴趣会见墨西哥人。B 正在该应用上进行搜索,90% 的人有兴趣结识俄罗斯人,10% 的人有兴趣结识墨西哥人。

让每个人自己的搜索结果符合他们的偏好是相当简单的。例如,对于 B,如果您希望他们的搜索总共有 100 个结果,请运行 2 个查询,然后加入结果集。第一个查询生成 90 个俄罗斯人,第二个查询生成 10 个墨西哥人,总共 100 个结果准确反射(reflect)了 B 对 90% 俄罗斯人和 10% 墨西哥人的偏好。

但在该示例中,A 可能总是会出现在 B 的结果集中(假设所有其他条件都匹配),因为 A 有兴趣会见俄罗斯人。但理想情况下,A 应该只在 10% 的时间内出现在 B 的结果集中,因为这更接近地反射(reflect)了他们自己的偏好。换句话说,如果应用程序上有 1,000 人都对会见俄罗斯人感兴趣,那么当 B 真的只有 10 % 有兴趣会见俄罗斯人。

是否有一种合乎逻辑的编程方式来正确解释这一点?感觉它应该是某种加权或概率解决方案,但我似乎无法接受它。请注意,如果您想共享代码示例,我并不真正关心技术(例如 SQL)。我更感兴趣的是如何思考解决方案,以便我可以将其合并到任何类型的代码中。我目前能想到的唯一解决方案是维护某种临时“使用”表,但这绝对是不雅和繁琐的。

最佳答案

我相信您想按两者适合彼此的概率来排序。这将是这样的:

order by p(a|b))*p(b|a) desc

p(a|b) 是 a 给定 b 的特征的概率。所以,对于 a 和俄罗斯人来说,这是 90%。 p(b|a) 相反,因此最终为 (0.1)*(0.9) = 0.09。如果他们都 100% 批准,那么这将是 1.0。如果其中一个为 0%,则结果为 0%。

这是我对合适措施的第一个猜测,但它似乎是合理的。

关于algorithm - 程序化查询权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51644780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com