LARA:多语言多轮对话意图分类的新突破

人工智能咨询培训老师叶梓 转载标明出处

多轮对话意图分类面临的主要挑战在于对话的复杂性和上下文的不断变化。如图 1 所示。在多轮对话中,意图可能随着对话的进展而变化,这就需要注释者不仅要理解每条消息的内容,还要把握整个对话的上下文。由于意图种类繁多,且对话可能非常长,手动注释这样的数据集既耗时又容易出错,这对构建高质量的训练数据集构成了挑战。

由新加坡Forth AI和Shopee的研究人员共同提出了名为LARA(Linguistic-Adaptive Retrieval-Augmented Language Models)的新方法,旨在提高多轮对话中意图分类的准确性。

LARA框架

LARA通过零样本上下文学习与单轮示例相结合,由精心设计的指令提示引导。图 2展示了LARA的流程。LARA框架通过以下步骤处理多轮意图识别任务:

  1. 候选意图选择:使用基于XLM(Cross-lingual Language Model)的单轮意图分类模型Mc,从用户话语中选择可能的候选意图。

  2. 上下文学习(In-context Learning, ICL):通过检索增强机制,选择与多轮测试样本语义相似的单轮示例作为上下文示例,以促进大型语言模型(LLM)的上下文学习。

  3. 提示构建和LLM推理:将任务指令与上下文示例结合,形成输入提示P,然后输入到LLM进行推理,以识别最终的用户查询意图。

算法 1 候选意图选择。候选意图的选择过程需要一个查询组合集Qc,它由最后一个查询qn和每个历史查询的组合构成。对于Qc中的每个查询qi,算法执行以下步骤:

  1. 获取XLM-RoBERTa基础模型的[CLS]标记嵌入H,其中d表示隐藏维度。
  2. 将嵌入通过一个线性层传递,得到类别概率P。
  3. 选择具有最高概率的意图。

这个过程返回一组候选意图Ic。

Mc是在标注的单轮数据集D上训练得到的文本分类模型。给定一个查询q,模型采用XLM-RoBERTa基础模型的[CLS]标记嵌入H作为文本表示。这个嵌入通过进一步的对比学习预训练,以提供有意义的[CLS]标记表示。

算法 2 ICL示例检索。对于每个候选意图Ii,算法执行以下步骤:

  1. 从数据集D中获取每个意图的标注样本。
  2. 计算每个训练样本与测试查询的余弦相似度。
  3. 根据相似度分数选择最近的示例。
  4. 将每个候选意图的示例收集起来,并按分数排序。

任务指令T与示例E、对话上下文C和查询qn结合,形成大模型的输入提示P。为了适应实时应用的延迟要求,探索了两种额外的方法来限制模型生成代表意图的单符号标记。模型输出是贪婪解码的,确保了意图识别的效率和准确性。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory ------ 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言"参加"或扫描微信备注"参加",即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

实验

实验所用数据集包括八个市场(巴西、印尼、马来西亚、菲律宾、新加坡、泰国、台湾和越南)的本地语言用户查询。这些查询与电子商务领域相关。表 1: 各市场的主要语言、意图数量和样本数量。

所有数据均由各市场的本地客户服务团队手动标注。这些单轮样本将作为上下文学习的示例池。为了评估方法的有效性,研究者还让客户服务团队手动标注了一些真实的多轮在线会话作为测试集。每个会话查询Q只有最后一个查询qn被标注。

基于每个会话Q中最后一个查询qn的标签评估方法的准确性。不考虑类别不平衡的其他指标,因为采样会话预计将反映每个意图的在线流量,从而更好地模拟真实的在线性能。

据目前所知,还没有直接解决具有大量类别的多轮意图识别挑战的工作。由于缺乏标注数据,这是一个具有挑战性的任务。

在这项工作中,提出了两种直观且现实的方法作为基线:

  • 朴素连接: 单个会话Q中的所有查询都使用上面提到的◦操作连接起来,并将连接结果输入单轮模型Mc进行推理。
  • 选择性连接: 在这种方法中,只选择Cq中的一个查询与qn连接。这种直觉认为,并非所有历史查询都有助于理解最后一个查询,过度使用它们可能会引入不必要的噪声。训练了一个连接决策模型来选择最合适的历史查询。根据模型的置信度,可能有时根本不需要扩展。

传统的单轮模型、检索器和连接决策模型都使用以ΦXLMR初始化的主干网络,这是一个多语言特定领域的XLM-RoBERTa基础模型,继续通过对比学习进行预训练。使用AdamW对主干网络和所有其他模块进行微调,学习率分别为5e-6和1e-3。在LARA中,使用的大模型是Hugging Face上的vicuna13b-v1.5,拥有13B个参数。所有测试都在一块Nvidia V100 GPU卡上运行,拥有32GB的GPU内存。在这次实验中,为每个意图检索的示例K设置为10。由于GPU内存限制,上下文学习示例的总标记数限制为2300个标记。如果超过限制,每个候选意图的示例数量将从与qall余弦相似度分数最低的示例开始平均削减。在推理过程中,如果生成的意图与提供的选项都不匹配,将考虑Mc对qn的意图作为最终结果。

实验结果揭示了LARA与基线方法相比,在多轮意图识别任务上的性能表现。表 2展示了LARA在不同提示变体下的性能与基线方法的对比。LARA在平均性能上超越了基线方法,这证明了LARA在多语言环境下的有效性和适应性。

朴素连接方法并不总是比选择性连接方法更有效,这表明简单地加入所有历史查询会产生噪声,从而降低性能。同时,对于选择性连接方法,虽然需要仔细地进行数据集的伪标签化,但这一额外步骤并不总是比朴素方法更有效。

LARA在大多数数据集上无需复杂的伪标签化过程就能取得良好结果,这突显了其在不同语言上的适应性。然而,在印尼市场上,LARA未能超越基线方法,这可能归因于开源大模型处理当地俚语和缩写的能力有限。

实验还发现,使用Psymbolic提示时,将标签名替换为无关符号会显著降低上下文学习的性能。而Pprepend提示对性能的影响则不显著,并且将推理时间从0.75it/s提高到了1.32it/s,提高了77%。有趣的是,模型在使用Pformatted提示后,不再生成与示例中提供的选项不匹配的标签,这在使用P提示时平均发生率为1.6%。

最终,基于Pprepend的Pformatted提示在所有数据集上都优于其他提示变体,表明适当调整提示格式可以更好地利用上下文信息。这说明了未来对提示格式的进一步优化可能会带来性能的提升。

论文链接:https://arxiv.org/pdf/2403.16504

相关推荐
飞升不如收破烂~8 分钟前
redis的map底层数据结构 分别什么时候使用哈希表(Hash Table)和压缩列表(ZipList)
算法·哈希算法
九圣残炎12 分钟前
【从零开始的LeetCode-算法】3354. 使数组元素等于零
java·算法·leetcode
sp_fyf_20241 小时前
【大语言模型】ACL2024论文-19 SportsMetrics: 融合文本和数值数据以理解大型语言模型中的信息融合
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
CoderIsArt1 小时前
基于 BP 神经网络整定的 PID 控制
人工智能·深度学习·神经网络
程序猿小柒1 小时前
leetcode hot100【LeetCode 4.寻找两个正序数组的中位数】java实现
java·算法·leetcode
开源社1 小时前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC1 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
机器之心1 小时前
全球十亿级轨迹点驱动,首个轨迹基础大模型来了
人工智能·后端
z千鑫1 小时前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
EterNity_TiMe_1 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析