查找与另一部电影相似的电影
要查找嵌入向量与特定电影相似的电影,请先检索该电影并将其嵌入向量传递给 Cypher 子句 SEARCH。
MATCH (minion:Movie {title: 'Despicable Me'})
MATCH (movie:Movie)
SEARCH movie IN (
VECTOR INDEX moviePlots
FOR minion.embedding
LIMIT 5
) SCORE AS similarityScore
RETURN movie.title AS title, movie.plot AS plot, similarityScore
| 标题 | 剧情简介 | score |
|---|---|---|
"Despicable Me" |
"当一个犯罪天才将一组三名孤儿女孩作为大计划的棋子时,他发现她们的爱深刻地改变了他,使他变得更好。" |
1.0 |
"Despicable Me 2" |
"当格鲁,这个曾是世界上最超级坏的坏蛋如今成为超级爸爸,被一支官员团队招募去阻止致命的肌肉和格鲁自己的伙伴时,他必须使用新装备、汽车以及更多的小黄人疯狂来反击。" |
0.940204381942749 |
"Minions" |
"小黄人斯图亚特、凯文和鲍勃被超级恶棍斯嘉丽·欧弗基尔招募,后者与她的发明家丈夫赫伯共同策划一场夺取世界统治的阴谋。" |
0.9329936504364014 |
"Aladdin" |
"当一个街头流浪儿争取美丽公主的爱情时,他利用精灵的魔法力量伪装成王子,以便与她结婚。" |
0.9291699528694153 |
"Megamind" |
"超级恶棍梅加迈因终于击败了宿敌超级英雄大都会人。但失去英雄后,他失去了所有目的,必须寻找新的人生意义。" |
0.9292264580726624 |
| 标题 | 剧情简介 | score |
|---|---|---|
"Despicable Me" |
"当一个犯罪天才将一组三名孤儿女孩作为大计划的棋子时,他发现她们的爱深刻地改变了他,使他变得更好。" |
1.0 |
"Love the Hard Way" |
"一个小偷与一位纯真的年轻女子相遇,并把她带入自己的犯罪世界,同时她教会他享受生活和被爱的重要课题。" |
0.7806928157806396 |
"Limits of Control, The" |
"一位神秘的孤独者,在执行犯罪任务的过程中,成为陌生人的故事。" |
0.7746935486793518 |
"Half Baked" |
"三个不太聪明的男人想出一连串疯狂的计划,以帮助朋友脱离监狱。" |
0.7708940505981445 |
"The Man from Nowhere" |
"一位有暴力过去的沉默当铺老板,为了拯救唯一的朋友——一个孩子,决心对抗毒品和器官贩运集团。" |
0.7698113918304443 |
在检索匹配搜索提示的节点时,OpenAI 和 SentenceTransformers 的结果并没有太大差别。另一方面,在上面的例子中它们表现得截然不同:OpenAI 能够关联这三部小黄人电影,而 SentenceTransformers 的结果中没有出现 Despicable Me 2 和 Minions。
为什么使用 SentenceTransformers 嵌入时,Despicable Me 2 没有出现在与 Despicable Me 最相近的前五部电影中?既然嵌入是基于标题和剧情生成的,让我们来看一下两部电影的剧情是如何关联的。
当一个犯罪天才将一组三名孤儿女孩作为大计划的棋子时,他发现她们的爱深刻地改变了他,使他变得更好。 |
当格鲁,这个曾是世界上最超级坏的坏蛋如今成为超级爸爸,被一支官员团队招募去阻止致命的肌肉和格鲁自己的伙伴时,他必须使用新装备、汽车以及更多的小黄人疯狂来反击。 |
这些看起来像完全不同的电影:原本的犯罪天才现在变成了格鲁,世界上最超级坏的坏蛋;不再有三名孤儿女孩;第一部电影的剧情中根本没有出现小黄人。
虽然如今每个人都把Despicable Me 与小黄人联系在一起,但这并非该电影最初上映时的描述和营销方式。小黄人在公众文化中非常受欢迎,这使得它们在之后成为营销的核心。嵌入模型显然没有这些背景——这些背景来自于十年来每天的生活体验。
OpenAI 能够关联这三部小黄人电影,即使它们的剧情本身并不十分相似。这种表现完全取决于其模型的训练方式。不过,令人更惊讶的是 OpenAI 能正确关联,而 SentenceTransformers 却未能看到它们之间的联系。