基于图与LLM的商品搜索:架构与实例解析
基于文本查询的商品搜索需要处理1-2句话长度的请求。常见场景包括简单查询(“牛仔裤”)、语义搜索(毛衣→卫衣)、否定表达(“非棉质连衣裙”)、形容词修饰(“惊艳连衣裙”)、结构化描述(“长袖短款连衣裙”)、多实体查询(“白色上衣配蓝色牛仔裤”)、用途导向查询(“运动鞋”)、品牌/价格提及(“2万元以下的Kors包”),以及公众人物参考(“类似Dua Lipa的包”)。
这类查询超越了关键词和向量搜索,需要分析关系和上下文。
图表示的优势
图不仅能存储实体,还能存储实体间的关系。对于“坦克背心”这样的查询,商品描述中若出现“Levi's牛仔裤,搭配上衣更佳”不会导致误匹配:在查询图中,“坦克背心”与主要对象相连,但在商品图中则不然。图到图相似度度量会考虑这一点,从而降低评分。
对于“牛仔裤”,由于结构语义对齐,评分较高。
图允许区分节点角色:期望商品、不期望属性、对象组成部分。
LLM图搜索流程
算法包含以下步骤:
- 动态提示优化:分析查询复杂度,提取品牌/价格。对于简单查询(1-2个词),回退到关键词或向量搜索。为Text2Graph生成提示。
- Text2Graph:LLM从查询构建知识图。将多实体查询拆分为子图。
- 图搜索:使用图到图相似度比较查询图与商品图。输出前N个索引。
- LLM排序器:重新排序候选结果以提高准确性。
- 结果评估:分析匹配/不匹配情况(如找到类型但颜色不符)。若评分低,则迭代或回退。
对于类似RAG的系统,10-15秒的延迟是可接受的。
复杂查询处理实例
否定表达
查询:“优雅无袖长裙”。图中将“袖子”标记为不期望属性。搜索排除带袖子的商品,专注于具有“优雅”、“长”属性的连衣裙。
结构化查询
“短袖长款连衣裙”。图:连衣裙(长)→袖子(短)。算法找到具有层次结构的产品,无深度限制。适用于嵌套条件文档(如带状态/日期筛选的申请)。
多实体查询
“白色牛仔裤和蓝色包”。Text2Graph拆分为子图,并行搜索。可匹配集合(如“蓝色夹克和蓝色裤子”对应蓝色套装),但需在评估中细化以避免误回退。
无类型用途查询
“运动鞋”。图扩展至使用场景,通过语义匹配。
品牌与价格
“1.2万元以下的Levi's牛仔裤”。筛选条件在Text2Graph中提取并整合到图中。文本评估(如“便宜”)基于类似产品的统计数据。
关键要点
- 在处理含否定和关系的结构化查询时,图搜索优于向量搜索。
- 流程具有领域无关性(除提示优化外),可适配书籍/文档。
- 结果评估允许在不向用户展示的情况下进行迭代。
- 通过向量化和可选排序器,延迟可降至2-3秒。
- 未来展望:基于复杂度的路由、多模态模型、深度研究。
— Editorial Team
暂无评论。