手搓RAG实体识别第三天

周六日休息了两天没干活,咨询AI获取了一些思路。

今天优化了一下第一部分的代码,之前是纯靠deepseek大模型的能力去进行实体识别。

存在一些幻觉问题等,导致后续实体值抽取的时候越走越偏,这次对实体抽取也进行了检索增强,说一下我大概的做法。

1. 把目标实体(也就是正确答案)构建了一个本体库,然后其中只包含实体的名称,然后对其进行向量化。

2. 构建一个prompt,然后利用llm对这个要抽取的内容先进行一个大致抽取,这个对大模型的要求不是很高,也方便后续转到本地部署的小模型。

3. 对第二步抽取到的内容向量化,然后去之前本体构建的向量数据库中做相似度匹配,找到一些语义相关的实体名称。

4. 对第三步中获取到的可能的实体名称列表,然后加上文本内容,让大模型从里面去选,对这些可能的实体进行标记,只让他回答yes/no/unkonw(这一步利用了一个大模型的分类能力,因为我发现分类会比生成减少很多的幻觉现象)。

5. 对分好类的实体列表输出,然后取yes的部分作为抽取到的最后实体列表。

其中会对一些经常出错的,或者大模型很难分辨的,单独提示到第二步的提示词中,进而增加正确率。

这是我最近的一些idea,代码暂时手搓到一半了,明天测试思路效果。

马甲部分:本人纯小白,发表的都是一些简单的想法,希望大家多多批评指正,不吝赐教!!!

<think>好的,我需要回答用户关于RAG模型在意图识别中的应用的问题。首先,我得回顾一下RAG模型的基本概念。RAG结合了检索和生成,通过检索相关文档来辅助生成回答。这在开放域问答中很常见,但用户关心的是意图识别方面的应用。 意图识别通常属于自然语言理解(NLU)的范畴,传统方法可能依赖预定义的意图和大量标注数据。但用户提到的引用[3]指出意图识别在处理复杂查询时可能不够灵活,需要大量数据,并且更新维护成本高。RAG或许能通过检索外部知识来弥补这些不足。 接下来,我需要思考RAG如何具体应用到意图识别中。可能的思路是,当用户输入一个查询时,RAG可以先从知识库中检索相关的意图示例或上下文信息,然后利用生成模型分析这些信息来确定意图。例如,在客服场景中,用户的提问可能涉及多个潜在意图,通过检索类似的历史对话,模型能更准确地识别当前意图。 引用[1]提到的QRM模型学习奖励的分布,可能帮助模型处理多样化的用户偏好,这对意图识别中的多样性可能有借鉴意义。而引用[2]中提到的RASA NLU涉及意图识别,结合RAG可能提升其灵活性和泛化能力。 需要考虑的挑战包括如何有效检索相关意图信息,避免引入噪声,以及如何平衡检索和生成部分的协作。此外,实时性要求高的场景可能需要优化检索效率。 最后,生成相关问题时要围绕应用场景、优势、技术挑战、与传统方法对比,以及如何改进RAG模型在意图识别中的表现。确保问题有针对性,帮助用户深入理解。</think>### RAG模型在意图识别中的应用分析 #### 1. RAG模型的基本原理 RAG(Retrieval-Augmented Generation)模型结合了检索(Retrieval)与生成(Generation)能力,通过从外部知识库中检索相关文档片段,辅助生成模型更精准地输出结果。其核心公式为: $$ P(y|x) = \sum_{z \in Z} P(z|x) \cdot P(y|x,z) $$ 其中$x$是输入,$z$是检索到的文档,$y$是最终输出[^1]。 #### 2. 在意图识别中的具体应用 - **增强语境理解**:RAG可通过检索与用户查询相关的历史对话或知识库内容,补充上下文信息。例如,当用户输入“帮我取消订单”时,模型可检索到订单管理相关的流程文档,辅助判断意图为“订单取消”而非“物流查询”[^3]。 - **处理模糊表达**:对于语义模糊的查询(如“这个功能不好用”),RAG可检索类似场景下的用户反馈,结合领域知识更准确地映射到“功能投诉”或“操作指导请求”等意图。 - **动态更新意图库**:传统意图识别依赖静态标注数据,而RAG通过检索模块可实时接入更新的知识库,减少因业务变化导致的模型失效[^2]。 #### 3. 技术实现步骤 1. **检索阶段**:使用双编码器(Dual Encoder)将用户输入与知识库中的意图描述进行相似度匹配,例如: $$ \text{similarity}(q, d) = f_{\text{enc}}(q)^T f_{\text{enc}}(d) $$ 2. **生成阶段**:将检索到的Top-K意图候选输入生成模型,结合上下文进行意图分类或生成响应。 #### 4. 优势对比传统方法 | 维度 | 传统意图识别 | RAG增强方法 | |--------------|--------------------------|--------------------------| | 数据依赖性 | 需大量标注数据 | 可借助非结构化知识库 | | 泛化能力 | 受限于预定义意图集 | 支持开放式意图推理 | | 更新成本 | 需重新标注和训练 | 仅更新知识库内容 | | 复杂查询处理 | 易受语义变化影响 | 通过检索增强鲁棒性 | #### 5. 挑战与解决方案 - **检索噪声干扰**:采用层次化检索策略,先过滤领域无关内容,再细粒度匹配意图。 - **实时性要求**:使用近似最近邻(ANN)算法优化检索速度,如Faiss或HNSW索引。 - **多语言支持**:结合多语言嵌入模型(如LaBSE)实现跨语言意图识别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值