发布时间:2024 年 04 月 26 日
知识图谱
在客户服务的技术支持环节,迅速准确地调取与过往问题相关的信息对于迅速解决客户咨询极为关键。传统上,大型语言模型(LLMs)中用于增强检索生成(RAG)的方法将历史问题跟踪票据视为普通文本,忽略了问题内部结构和问题间的联系,这大大限制了其效能。我们提出了一种创新的客户服务问答方法,该方法将 RAG 与知识图谱(KG)相结合。此方法利用历史数据构建 KG,以保留问题内部结构和问题间的联系,用于信息检索。在问答环节,通过解析用户查询并从 KG 中调取相关子图来生成答案。这种 KG 的融合不仅通过保持客户服务的结构信息提升了检索的精确度,同时也通过减少文本分割的影响提升了回答的质量。基于我们的关键检索(MRR,Recall@K,NDCG@K)和文本生成(BLEU,ROUGE,METEOR)指标的基准数据集的实证评估显示,我们的方法在 MRR 上比基线提升了 77.6%,在 BLEU 上提升了 0.32。该方法已在 LinkedIn 客户服务团队中应用了大约六个月,成功将每个问题的平均解决时间缩短了 28.6%。
背景
客户技术支持是技术产品成功的关键,直接关系到客户的满意度和忠诚度。而大部分客户咨询往往与过去的问题非常相似,所以快速检索出历史案例对提高客户技术支持非常有帮助。最近的嵌入式检索(mbedding-based retrieval, EBR)、大语言模型(LLM)和检索增强生成(RAG)技术都能显著提升客户技术支持的检索效率和回答能力。
一般这个过程包括两部分:
- • 首先,将历史问题工单作为纯文本处理,分割成小块以适应嵌入模型的上下文长度限制,并将每块转换成检索向量;
- • 其次,在问答阶段,系统检索最相关的块,作为上下文输入给LLM,以生成对客户查询的回答。
但是这个方法也存在局限:
局限一:忽略结构导致检索精度受损。问题跟踪文档,如Jira,拥有固有的结构和相互关联性,包含诸如“问题A与问题B相关”的引用。传统上将文档压缩成文本块的方法会导致重要信息的丢失。作者的解决方案是将问题工单解析成树状结构,并构建一个相互连接的图 ,以保持实体间的内在联系,从而实现更高的检索性能。
局限二:分割导致答案质量下降。为了适应嵌入模型的上下文长度限制,将长篇幅的问题工单分割成固定长度的段落,可能会造成相关内容的断裂,导致答案不完整。例如,一个问题工单可能在开头描述问题,在结尾提供解决方案,如果在文本分割过程中被分割,关键的解决方案部分可能会被遗漏。基于图的解析方法通过保持工单各部分的逻辑一致性,确保了提供的答案既完整又高质量 。
解决方案
上图展示了作者的客户技术支持问答系统的技术架构,该系统集成了检索增强生成(RAG)和知识图谱(KG)。系统包括两个部分:
- • 首先,在知识图谱构建阶段,从历史客服问题工单中构建了一个全面的知识图谱。它整合了每个问题的树状表示,并根据关系上下文进行互连。它还为每个节点生成嵌入,以便于后续的语义搜索。
- • 然后,在问答阶段,解析顾客的问题以识别命名实体和用户意图。接着在知识图谱内导航以识别相关子图,生成答案。
知识图谱的构建
在定义历史问题表示的知识图谱结构时,我们采用了一个双层架构,用以区分问题内部和问题间的关系,如图1所示。例如,图1展示了工单 ENT-22970,它以树状结构呈现,其中节点代表摘要、描述和优先级等部分。它与 PORT-133061 之间存在一个直接的克隆链接,显示出明确的克隆关系。此外,由于语义上的相似性,它还隐式地与 ENT-1744 和 ENT-3547 相连。
构建过程分为两个阶段:工单内部解析和工单间的连接。
- •
-
- 工单内部解析阶段:
将工单内部结构转化为一棵树的结构。
采用了一种混合方法,首先使用基于规则的提取来识别预定义的字段,如通过关键字识别的代码段。
对于不适合规则性解析的文本,我们随后利用大语言模型Agent应用进行解析。
- • 工单间连接阶段:将单独的树合并为一个图,从工单标题之间的文本语义相似性中推断出来的,采用嵌入技术和阈值机制来识别每个问题工单最相关的工单。
生成Embedding
为了支持基于向量的在线检索,利用像BERT和E5这样的预训练文本嵌入模型为图节点生成嵌入,特别针对那些文本量较大的部分,如“问题摘要”、“问题描述”和“复现步骤”等。这些嵌入随后存储在向量数据库中(例如QDrant)。在大多数情况下,每个节点内的文本长度都能够满足文本嵌入模型的上下文长度要求。对于某些特别长的文本,可以将其拆分成更小的部分进行单独嵌入,而不会影响嵌入的质量,因为这些文本都属于同一节。
答案生成
查询中的实体识别与意图探测
从用户的每一个查询中抽取特定类型的命名实体P以及查询意图集I。
例如,对于查询 “用户无法登录LinkedIn的登录问题如何复现?”,我们抽取的实体为 P=Map("问题摘要"→"登录问题","问题描述"→"用户无法登录LinkedIn"),意图集为 I=Set("解决方案")。
基于嵌入的子图检索
从知识图中抽取与用户指定的具体信息(如“问题描述”和“问题摘要”)及用户意图(如“解决方案”)相匹配的相关子图。这一过程包含两个核心步骤:基于EBR的工单识别和由大语言模型Agent应用驱动的子图提取。
在基于EBR的工单识别步骤中,通过利用用户查询中得到的命名实体集 P,我们锁定了最相关的 n 个历史问题工单。对于实体集中的每对实体 (e,v)∈P,利用预训练的文本嵌入模型计算实体值 v 与所有对应于某一节 s 的图节点 n 之间的余弦相似度。通过将这些节点级别的分数累加到工单级别,并对工单进行排名,挑选出最相关的 n 个工单。
效果评估
效果评估使用了一组精心挑选的“黄金标准”数据集,该数据集包含了常见的查询、服务支持票据及其官方解决方案。在对照组中,采用了传统的基于文本的EBR方法,而在实验组中,则运用了本研究所提出的方法论。两组实验均使用了相同的大语言模型GPT-4,以及相同的Embdding模型——E5。
通过平均倒数排名(MRR)、K值召回率(recall@K)和K值归一化累积增益(NDCG@K)等指标来衡量检索效果。MRR用于衡量最初正确响应的平均逆排名,recall@K用于确定相关项出现在前K个选项中的概率,而NDCG@K则通过考虑项的位置和相关性来评价排名的质量 。在问答性能方面,通过BLEU 、ROUGE和METEOR等评分标准,将“黄金标准”解决方案与生成的响应进行了比较。
上面两个表分别展示了检索和问答性能的结果。在所有评估指标上,作者的方法均展现了显著的提升。尤其是在MRR上,比基线提升了77.6%,在BLEU评分上高出了0.32分,充分证明了其在检索效率和问答准确性上的卓越表现。
生产环境应用案例
作者将该方法部署在LinkedIn的客户服务团队中,服务覆盖了多个产品线。团队被随机分为两组:一组使用我们的系统,另一组则继续使用传统的手动方法。如上图所示,使用我们系统的团队在解决问题的中位时间上实现了28.6%的显著减少,这突显了我们系统在提升客户服务效率方面的显著效果。
-
• 论文原文: https://arxiv.org/abs/2404.17723
-
• 获取更多最新 Arxiv 论文更新: https://github.com/HuggingAGI/HuggingArxiv!
-
• 加入社群,+v: iamxxn886