Linkedin的GraphRAG客服问答系统实践
2024年4月26日,领英发表了一篇很有意思的论文,把RAG和知识图谱结合起来,专门解决客户服务问答中的精准检索问题。先说说我的几个核心判断:这篇工作的价值不在于堆砌技术概念,而在于它真正抓到了传统RAG在结构化数据面前的短板,并且给出了一个已经在实际业务中落地验证的解法。
摘要:
在客户服务的技术支持场景里,如何快速、精准地从过往记录中找到匹配的问题,一直是提效的关键。传统的检索方法,哪怕是在大语言模型时代搭配了RAG,通常也只是把大量历史工单当成普通的文本块来处理。这样做忽略了一个事实:这些工单内部有结构,工单和工单之间也存在关联。说白了,就是把一堆有逻辑关系的“有机体”强行压成了纯文本,性能自然会受限制。
这项研究提出了一种新的思路,简单说就是把RAG和知识图谱结合起来。具体做法是:先从历史问题中构建出一个知识图谱,用它来做检索,这样一来,工单内部的结构信息和工单之间的关联关系都被保留下来。到了问答环节,系统会解析用户的问题,从知识图谱里提取相关的子图来生成答案。引入知识图谱的好处是双重的:既因为保留了客服场景的结构信息而提升了检索精度,又因为避免了传统文本分割带来的信息割裂,从而提高了回答质量。
研究团队在自己的基准数据集上做了实证评估,使用的指标涵盖了检索(MRR、Recall@K、NDCG@K)和文本生成(BLEU、ROUGE、METEOR)两个维度。结果相当亮眼:MRR(平均倒数排名)比基准方法提升了77.6%,BLEU分数也涨了0.32。更实在的是,这套方法已经在领英的客服团队内部部署了大约六个月。
检索增强生成与知识图谱框架概述。左侧展示了知识图谱的构建过程,右侧则呈现了检索和问答的流程。
目 标:
这篇文章的核心目标很明确,就是通过整合RAG和知识图谱,让客户服务的问答系统能够更依赖事实、更贴近真相,而不只是生成一段看起来合理的文字。
传统RAG的限制:
传统RAG在实践中会遇到两个很明显的短板。
限制 1 — 因为忽视结构,检索精度上不去。
限制 2 — 因为分段,回答质量打了折扣。
数据和方法:
这个方法的流程其实很清晰:先从历史问题(Jira工单)出发,构建一个知识图谱,用来做检索;然后再根据知识图谱中检索到的相关子图来生成答案。之所以选择Jira系统,是因为它自带层次结构和固有结构,对于构建知识图谱来说,既合适又方便。
实验结果和分析:
实验数据很有说服力。在平均倒数排名(MRR)上,这个方法比基准线高出了77.6%;在机器翻译常用的BLEU分数上,也提升了0.32。这些数字说明,知识图谱的引入不是锦上添花,而是实打实地拉高了检索和生成两个环节的性能。
实际应用效果:
把RAG和知识图谱结合起来,带来的不只是指标上的好看。这项技术已经在领英的客服团队中落地,效果也很直观:每个问题的中位解决时间减少了28.6%。对于一线业务来说,这个数字比任何论文指标都更有说服力。
未来工作重点:
研究团队也指出了几个后续可以深挖的方向:开发自动机制来提取图模板、构建知识图谱,让系统的适应性更强;研究基于用户查询的知识图谱动态更新,以改善实时响应能力;以及探索这个系统在客户服务之外其他领域的适用性。毕竟,结构化的工单信息在很多行业都存在,这个思路的想象空间还不小。
论文全文如下:
[2404.17723] Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering (arxiv.org)
https://arxiv.org/abs/2404.17723