gpt4 book ai didi

algorithm - 使用 Neo4j 进行基于内容的过滤?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:05 25 4
gpt4 key购买 nike

我有两个实体:- 啤酒- 用户

Beer 实体具有以下属性(甜度 1-10、苦度 1-10、TasteAttributeX 1-10、TasteAttributeY 1-10、国家、地区等)

用户稍后将应用不同的操作(关系),例如评分 (1-5)。

问题:我怎样才能得到与我以前喜欢的啤酒相似(基于甜度、苦度、口味属性)的啤酒。

您将如何在 Neo4j 中创建数据模型?

最佳答案

这是主观的;有许多不同的方法可以做到这一点,但这里有一个建议。

首先,将连续变量分类为分类变量。我的意思是,假设你的甜度范围为 1-10,将其分为三类(低 [1-3]、中(4-6)、高 [>6])。对每个做这个。

其次,为每个类别创建一个“ inode ”。像这样:

CREATE (l:Sweetness {label:"Low"});
MATCH (b:Beer),(l:Sweetness {label:"Low")
WHERE b.sweetness <= 3
CREATE b-[:sweetness]->(l);

为您的每个“类别”执行此操作。

然后,您可以通过具有相似概况的啤酒找到相关啤酒:

MATCH (b:Beer { type: "ThisOneIKnowIReallyLike" })-[:sweetness]->(sweetCategory:Sweetness)<-[:sweetness]-(otherBeer:Beer),
b-[:bitterness]->(bitterCategory:Bitterness)<-[:bitterness]-(otherBeer)
WHERE b <> otherBeer
RETURN otherBeer;

现在您已获得符合这些相同类别的啤酒列表。

关于algorithm - 使用 Neo4j 进行基于内容的过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25884024/

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