咨询一个意图识别(向量检索)方面的问题

43 天前
 Hamao

目前正在调研阿里云的 DashVector 向量检索

个人背景:没有很深的大模型理论基础,只会一般水平的使用

调研内容: 我将一大批问题向量化 TextEmbedding.Models.text_embedding_v2 (1536)维后存入向量数据库 其中有一个问题 a. 查询商品 ACD1231321 的价格

如果我现在有一个新的问题 b.查询 TCTLSS 的价格

我期望它通过向量检索去关联到 a ,那么实际上他的匹配度并不是很高,那我的想法是将 a 问题抽象成查询商品的价格。

就是这个意图识别的操作,请问 V 友们有什么比较好的建议呢?

759 次点击
所在节点    程序员
9 条回复
Hamao
43 天前
就相当于真实的问题中是包含一个变量的
查询商品{item_name}的价格,这个让我很苦恼,不知道如何去规避掉他的影响,使得真实的问题 与 向量数据库中的范例更加的贴近
0x3933030
43 天前
文本向量化后的出来的向量,a 和 b
如果 a 和 b 是相近的话,那么根据向量化算法,a 和 b 的文本也是相似的。
反过来说,你想要通过 b 的原始文本和 a 的原始文本向量相近,那么只能够调整你的向量化算法的权重。
maolon
43 天前
这场景不是更适合 sqlretriever 么,你的问题转化 sql 然后查询数据库。vector db 更适合搞知识库(比如问答 qa)查询。
当然你硬要这么搞也行,调整存到数据库的 a 的字段,尽量把信息搞的精简 比如类似 json 的那种格式 “商品名: acd, 价格: xxx, 生产公司: xxx,” 然后多余信息一点都不要给。
我之前做过一个查询工作的也是上面类似的思路
0x3933030
43 天前
又或者你的 a 和 b 的原始文本差距很小,可能只有几个字的话,试试 simhash
dayeye2006199
43 天前
这个就是分类之后的实体抽取。前大模型时代就是各自标注数据,搞两个模型。

大模型时代就是 prompt 工程,你仔细把规则写清楚,给把你放向量数据库里面的例子,直接 chatgpt 即可。
Wo2uEAQ7HoEu7rls
43 天前
问题在于你的 embeding 模型不具备提取问题类型的能力,可以再次进行微调,训练集中让问题 a 与问题 b 得到的向量尽可能近,使模型在对问题编码的过程中更加注重问题类型的提取,而非商品类别
Wo2uEAQ7HoEu7rls
43 天前
可以使用对比学习搞一下,样本 a 与样本 b 视作正样本,负样本可以生成一些,比如:“查询商品 ACD1231321 的价格”、“查询商品 ACD1231321 的颜色”。这两个问题得到的向量让它们远离
Hamao
43 天前
@dayeye2006199 哥你的想法和我昨晚思考的一模一样,从向量数据库里捞出最相似的五条,直接写一个 prompt 丢给 qwen (千问 max )让他帮忙分析+补全问题。
Hamao
43 天前
感谢大家啦,每条都感谢了
其中 @Hellow0r1d ,您的这个其实是我想多了解一点的,但是如同个人背景所述:只会使用。平时时间比较有限,还要专注于其他的学习,导致我没时间去学习这一块的知识
我这边的想法与
@dayeye2006199 所述相似,因为我觉得这样能更好的减少投入(指 money )😂,专业的事情交给专业的人,我就可以专注于其他的开发了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1041310

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX