发布时间:2024 年 09 月 11 日
RAG
RAG based Question-Answering for Contextual Response Prediction System
大型语言模型 (LLM) 在多种 NLP 任务中表现出色,尤其在问答系统方面潜力巨大。然而,在行业应用中,为了提供精准且相关的信息,LLM 需要依赖全面的知识库,以避免信息失真。检索增强生成 (RAG) 技术应运而生,成为解决这一难题的希望。但利用 RAG 构建实际应用中的问答框架,仍面临三大挑战:数据获取难、生成内容质量评估难、人工评估成本高。本文提出一个端到端框架,结合 RAG 技术与 LLM,专为行业需求设计。该系统能根据客户查询,自动检索相关文档并结合历史对话,生成客服代理的响应建议。经全面评估,该方案在准确性与相关性上超越了基于 BERT 的算法。研究显示,RAG 赋能的 LLM 能有效减轻客服负担,成为他们的得力助手。
1. 研究目的
大语言模型逐渐成为各类语言理解任务的标准解决方案,但是,LLM仍然可能生成错误或者有偏差的信息,因为其回答是基于从海量数据中学习到的模式,而这些数据未必包括某个特定领域的知识。
为了解决这些问题,检索增强生成(RAG)常常用来基于特定领域知识增强模型的知识。RAG 架构处理用户输入时,会先检索一组与查询相似的文档,然后语言模型再利用这些文档生成最终预测。
虽然基于 RAG 的架构在各类开放领域的问答(Q/A)任务中成果斐然,但在实际对话场景中对其扩展动态的研究却颇为有限。所以,作者以一家大型零售公司的联络中心(Contact Center)为例,分析了RAG的有效性。
在实际的行业应用场景中,重点在于生成准确、贴合上下文且延迟极小的回答。因此,基于公司内部知识的 RAG 响应能够迅速准确地化解客户问题。上图展示了实际场景中一个例子。
上图展示了三种系统的对比:
-
(A) 人类员工通过手动检索相关文档来回应查询。
-
(B) 现有的基于BERT的系统,从查询中提炼出相关的问答对,并为员工提供答案建议。
-
(C) 基于RAG的系统,能够检索相关知识库文章(必要时)并基于查询及检索到的文章生成答案。
为了验证RAG在此行业场景的有效性,作者主要研究了以下三个问题:
-
RQ1:不同的嵌入技术、检索策略和提示方法对 RAG 性能有何影响?
-
相较于现有的基于 BERT 的系统,基于 RAG 的回答是否能为人类员工提供更大的助力?
-
RQ3:在实时环境中,ReAct(推理+行动)提示能否提高大型语言模型的事实准确性并减少幻觉?
2. 数据准备
用于评估 RAG 架构的理想黄金数据集应当包含:
-
特定领域的问题(过往的查询)及其对应的可靠回应。
-
相关的知识库(KB)文章(公司文档),其中涵盖了确定特定查询答案的策略。
-
域外问题,以确保 LLM 能够处理通用查询且不产生幻觉,还能引导客户提供相关查询。
3. 评估结果
3.1 检索评估
3.1.1 最佳配置
通过“Recall at K”(R@K)指标评估检索器效率,其中K代表检索到的前 1、3、5 或 10 个文档,以此衡量检索器检索相关文档的成效。
Vertex AI - textembedding-gecko@001(768)嵌入与 ScaNN 检索相结合,效果最佳。总体而言,由于 ScaNN 在处理大规模数据集时效率颇高,且通过量化和重新排序技术实现了卓越的检索准确性,所以在多数情况下它都优于 KNN HNSW,因此仅在下表列出 ScaNN 结果。
3.1.2 检索阈值
对于像“Hello”或“Bye”这类域外或琐碎的客户查询,无需进行文档检索,98.59%的检索文章余弦相似度得分低于 0.7 便说明了这一点。相比之下,针对相关公司数据问题检索的文章中,有 88.96%得分高于 0.7。表明将检索阈值设为 0.7 能有效判定何时需要检索,从而提升响应生成效率。
3.2 全面评估
将基于 RAG LLM 的响应与当下基于 BERT 的算法作对比。
使用 1000 份真实的联络中心聊天记录,涵盖超过 5000 条消息,对客户查询、人工代理响应、RAG LLM 建议、基于 BERT 的建议以及检索到的知识库文档进行分析,通过自动化手段和人工评估来评判质量、一致性与真实性。
3.2.1. 自动化评估
3.2.1.1 准确性、幻觉和缺失率评估
在问答系统中,针对每个查询的响应可分为三种类型:
-
准确(正确回答问题)
-
幻觉(错误答案)
-
缺失(未生成答案)
选用 ChatGPT-3.5-turbo 作为评估 LLM。向 LLM 提供查询、生成的响应和原始人工响应,将 LLM 的响应归类为“正确”(事实和语义对齐)、“不正确”(不匹配)和“不确定”(语义挑战)。评估涵盖准确性(正确响应)、幻觉率(不正确响应)和缺失率(不确定响应)指标,以相应响应的占比呈现。总体而言,与 BERT 响应相比,RAG LLM 通过降低幻觉和缺失率提高了准确性。
3.2.1.2 AlignScore
为确保响应与 KB 文章一致,使用 AlignScore 衡量信息一致性。针对 RAG 检索到相关 KB 文章的语句评估 RAG LLM 和基于 BERT 的模型,通过学生 t 检验,RAG LLM 有统计学意义上显著的 5.6%的提升。这种提升源于将检索到的文档作为 LLM 响应的提示,而 BERT 依赖于其训练数据集中的问答对。
3.2.1.3 语义相似度
为保障人工代理的可用性,生成的响应与原始人工响应之间的连贯性至关重要。运用 LongFormer 嵌入测量语义相似度,计算两个模型生成的响应与原始人工响应之间的余弦相似度。RAG LLM 展现出平均 20%更高的相似度,这是具有统计学意义的显著进步。
3.2.1.4 人性化
客户服务通常更倾向于由人类处理,凸显了生成类人响应的重要性。使用 AI 文本检测器 GPTZero,在数据集中对人类响应的真阳性率达 99.05%,以此评估响应的自然度。评估 AI 百分比(被识别为 AI 生成的语句),基于从人工生成选项中选择响应的 BERT 系统,听起来更像人类。
3.2.2 人工评估
借助人工注释者全面评估 RAG LLM 和 BERT 响应的质量。每个响应均依据若干标准进行评估,并由所有注释者的评估计算出平均分数。评估指标分为三大类:
• 1.上下文相关性: 评估预测的响应是否恰当且符合对话的上下文。
• 2.完整性: 检查预测的响应是否完整,能否在对话的特定部分被代理用作完整答案。
• 3.特异性: 判定预测的响应是针对特定对话定制的,还是过于笼统。
人工注释者在 0(最低)到 2(最高)的范围内对这些指标进行评分。
-
人类偏好得分:遵循人类最喜欢哪个版本的经典方式,我们评估人类评估者更倾向于“BERT”还是“RAG”模型的响应。
-
定量指标:类似于 ,评估事实准确性(基于人类对“正确”“不正确”或“不确定”的判断)。准确性、幻觉和缺失率分别计算为正确、不正确和不确定响应的数量除以评估的响应总数。
-
定性指标:
如上表所示,与现有模型相比,RAG 模型生成的响应在事实准确性方面提高了 45%,幻觉率降低了 27%。此外,75%的情况下,人类评估者更青睐 RAG 模型的响应而非当前的生产模型。
3.3 ReAct 和提示技术的评估
3.3.1 ReAct 实验
运用 ReAct 工具来确定在 RAG 框架内何时激活信息检索组件,同时保持相同的检索、嵌入和生成策略。评估了两种情形:
-
带有 ReAct 的 RAG
-
没有 ReAct 的 RAG,K = 3
如上表所示。ReAct 将准确性提高了 7%,幻觉减少了 13.5%,但它导致性能变慢,在实时对话中不太方便。
3.3.2 提示技术实验
评估验证链(CoVe)和思维链提示(CoTP)以提升事实准确性并减少幻觉。然而,这两种技术都颇为耗时,每个查询需要多次 LLM 调用,并且对于公司数据未呈现显著改进。
CoVe 的准确性低 43%,CoTP 的准确性低 3%。