基于大语言模型的多意图增强搜索

news2024/11/16 20:11:01

随着人工智能技术的蓬勃发展,大语言模型(LLM)如Claude等在多个领域展现出了卓越的能力。如何利用这些模型的语义分析能力,优化传统业务系统中的搜索性能是个很好的研究方向。

在传统业务系统中,数据匹配和检索常常面临诸多挑战,例如用户使用门槛高、业务变化适应性差以及搜索匹配效果不佳。生成式AI的出现为这些问题提供了新的解决方案。

传统搜索系统的局限

  • 用户的使用门槛较高,必须了解系统提供的查询的每个条件的含义,还需要了解不同条件的组合方式。结构化的查询,无法适应自然语言的模式,也很难贴近人的自然想法,例如查询上海徐汇区有哪些三甲医院,传统查询模式,你必须要分解成多个不同的条件:省市、区域、机构类型、机构级别等。显然用户必须要熟悉和符合业务系统要求,非常不方便。
  • 很难适应业务变化,当业务对象发生变化的时候,需要增加和修改条件,就必然导致整个 UI 的变化和修改,开发成本上升。
  • 传统搜索算法,无法通过语义层面进行分析和理解,导致匹配和搜索效果不佳,例如系统记录里有一家北京 306 医院,如果用户输入三零六可能就无法匹配到这家医院,从而无法查询到结果。再例如:系统记录里有一家虹桥医院,如果用户输入拼音 hongqiao
    hospital ,传统系统也无法应对这种查询。甚至有时候多几个空格也会导致搜索结果出错。

大语言模型的优化方案

意图识别与智能匹配

利用大语言模型如Claude,我们可以对用户输入进行意图识别,并智能匹配相关数据。这一过程主要分为两个部分:

  1. 意图识别:通过语义分析能力,识别用户输入的意图,并进行格式化输出。
  2. 匹配处理:根据识别的意图,选择适当的检索方式,如传统RAG模式或Text2SQL。

方案架构

基于Amazon的解决方案架构,构建一个智能检索系统。

当然,可以更进一步对不同的文件进行类别划分,利用意图分类器提高应答得准确率。
在这里插入图片描述

实践案例

多意图识别

以下是一个多意图识别的代码示例,展示如何根据用户问题生成JSON格式的结果:

def intent_recognizer(user_question):
    intents = {
        "search_name": "只查询机构名称",
        "search_name_with_attribute": "查询机构名称的同时有相关属性限制",
        "search_with_attribute": "根据属性查询医院列表",
        "other": "未知意图"
    }
    
    # 模拟意图识别逻辑
    if "医院" in user_question:
        intent_type = "search_name"
    elif "状态" in user_question:
        intent_type = "search_name_with_attribute"
    elif "有哪些" in user_question:
        intent_type = "search_with_attribute"
    else:
        intent_type = "other"
    
    return {
        "intent": intent_type,
        "description": intents[intent_type]
    }

# 示例
user_question = "上海第一人民医院"
result = intent_recognizer(user_question)
print(result)

增强召回

接下来是一个增强召回的示例,展示如何从候选机构列表中筛选出与用户问题最相关的机构:

def filter_institutions(candidate_list, user_question):
    # 假设的候选机构列表
    institutions = [
        {"code": "776446", "name": "药店A", "address": "康宁路"},
        {"code": "436446", "name": "药店B", "address": "柳营路"}
    ]
    
    # 根据用户问题筛选相关机构
    relevant_institutions = [
        inst for inst in institutions if user_question in inst["address"]
    ]
    
    return {
        "kept": [inst["code"] for inst in relevant_institutions],
        "removed": [inst["code"] for inst in institutions if inst not in relevant_institutions]
    }

# 示例
user_question = "康宁路有什么药店?"
result = filter_institutions(candidate_list, user_question)
print(result)

结论

通过结合大语言模型的语义分析能力和智能匹配技术,能够显著提升传统业务系统中的搜索性能,降低用户使用门槛,同时提高系统的适应性和匹配精度。随着技术的不断进步,生成式AI将在更多领域发挥重要作用。

参考文献

大语言模型的多意图增强搜索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1868136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC 请求参数接收

目录 请求 传递单个参数 基本类型参数传递 未传递参数 传递参数类型不匹配 传递多个参数 传递对象 后端参数重命名 传递数组 传递集合 传递JSON数据 JSON是什么 JSON的优点 传递JSON对象 获取URL中的参数 文件上传 在浏览器与程序进行交互时,主要分为…

互联网信息服务算法备案流程与要求

一、备案申请的办理流程 企业通过网信办的互联网信息服务算法备案系统(https://beian.cac.gov.cn/#/index)提交算法备案申请。填报信息包括三部分,分别是算法主体信息、产品及功能信息、算法信息。备案中比较重要的文件包括主体信息中的《落…

anaconda卸载过程中出现fail to run pre-unistall报错

问题: 在使用Uninstall-Anaconda3.exe卸载程序时,出现报错: 解决方案: 把文件夹移动到C盘用户文件夹后再运行卸载程序。即可正常运行程序。

精彩回顾 | 2024高通边缘智能创新应用大赛系列公开课

5月29日-6月6日,我们陆续开展了四场精彩绝伦的2024高通边缘智能创新应用大赛直播公开课。高通、阿加犀、广翼智联以及美格智能的业务领袖和行业大咖齐聚一堂,聚焦边缘智能,分享前沿技术、探讨创新应用,抢先揭秘比赛设备的核心特性…

<sa8650>QCX Usecase 使用详解— Spectra Studio-新建usecase

<sa8650>QCX Usecase 使用详解— Spectra Studio-新建usecase 一 前言二 创建usecaseTEST2.1 打开工程2.2 新建sa8650的usecaseTEST2.2.1 步骤1 添加Usecase2.2.2 步骤2 输入参数(参考UsecaseFFC)2.2.3 步骤3 创建 Pipeline2.2.4 步骤4 转换到本地2.2.5 添加usecaseID号三 使…

Web应用和Tomcat的集成鉴权2-Form Authentication

作者:私语茶馆 1.相关章节 1) Web应用和Tomcat的集成鉴权1-BasicAuthentication-CSDN博客 2) Web应用和Tomcat的集成鉴权2-Form Authentication-CSDN博客 集成鉴权+定制化登录 2.前言 上章讲述了Tomcat的Basic Authentication鉴权模式,可以让Web应用和Tomcat的鉴权集成起来…

成都欣丰洪泰文化传媒有限公司开网店正规吗?

在如今电商风起云涌的时代,成都欣丰洪泰文化传媒有限公司如同一颗璀璨的明星,在电商服务的领域中熠熠生辉。这家公司凭借其专业的团队、丰富的经验和创新的思维,成为电商行业中的一股不可忽视的力量。 电商服务的领航者 成都欣丰洪泰文化传媒…

8.12 矢量图层面要素单一符号使用八(形状炸裂填充)

文章目录 前言形状炸裂填充(Shapeburst fill)QGis设置面符号为形状炸裂填充(Shapeburst fill)二次开发代码实现形状炸裂填充(Shapeburst fill) 总结 前言 本章介绍矢量图层线要素单一符号中使用形状炸裂填…

四川赤橙宏海商务信息咨询有限公司好不好?

在当今数字化浪潮下,电商行业正以前所未有的速度发展,而抖音作为短视频领域的佼佼者,其电商服务更是成为了众多品牌争相布局的热门领域。四川赤橙宏海商务信息咨询有限公司,正是这样一家专注于抖音电商服务的领军企业,…

跨境电商新趋势:海外盲盒小程序的市场机遇

随着全球经济的深度融合和消费者需求的日益多元化,跨境电商作为一种新型的国际贸易模式,正在以前所未有的速度发展。而在这一浪潮中,海外盲盒小程序凭借其独特的商业模式和强大的市场潜力,正逐渐成为跨境电商领域的新宠。本文将探…

家用洗地机有什么推荐的吗?洗地机性价比高的是哪一款?

洗地机因其强大的性能,给人们带来了舒适的清洁体验,提高了人们日常生活的质量,但市场上的洗地机质量参差不齐,所以洗地机品牌的选择就非常重要。因此,我作为一名专业的测评博主,今天就来向大家推荐几款值得…

以算筑基,以智赋能 | Gooxi受邀出席2024中国智算中心全栈技术大会

6月25日,2024中国智算中心全栈技术大会暨展览会、第5届中国数据中心绿色能源大会暨第10届中国(上海)国际数据中心产业展览会在上海新国际博览中心隆重召开。Gooxi受邀参与并携最新服务器产品以及解决方案亮相展会,吸引众多行业领袖…

微信小程序毕业设计-校园报修系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

unity VR Interaction Framework 创建新手势

提示:文章有错误的地方,还望诸位大神不吝指教! 文章目录 前言一、新建物体,并添加必要组件二、添加抓取点三、查看手势的可视化样式四、制作新的手势1.点击编辑2.根据需求调节手指关节3.保存手势4. 使用创建的手势5.运行 总结 前言…

如何找到正确的网络钓鱼目标

在深入研究联系人收集之前,我们希望确保对可用的攻击面有一个清晰的了解。我见过许多渗透测试者只获取客户端提供的主域,通过 theHarvester、linkedInt、maltego 等运行它,并将输出称为目标列表。在这样做的过程中,这些渗透测试机…

C语⾔数据类型和变量

C语⾔数据类型和变量 1.数据类型介绍1.1 字符型1.2 整型1.3 浮点型1.4 布尔类型1.5 各种数据类型的长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof中表达式不计算 2. signed 和 unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&#…

JOSEF约瑟 JOLP(ROS-2D)型两级跑偏开关 精度高,耐振动

​ 品牌 :JOSEF约瑟 型号名称 :JOLP(ROS-2D)型两级跑偏开关 触点容量 :AC380V 10A 触点数量 :常开:2常闭:2 极限角度 :70 复位方式 :自动 动作力 :3kg 防护等级 :IP66 结构特点 1.通用的安装设计可使跑偏检测装置随意安装在输送机纵梁顶!顶部或底部位置 2.封闭、防腐、坚固的铸…

算力时代,算能(SOPHGO)的算力芯片/智算板卡/服务器选型

数字经济时代,算力成为支撑经济社会发展新的关键生产力,全球主要经济体都在加快推进算力战略布局。随着大模型持续选代,模型能力不断增强,带来算力需求持续增长。算力对数字经济和GDP的提高有显著的带动作用,根据IDC、…

智驾未来,一触即达——探索全新加油App的无限可能

一、引言 随着科技的飞速发展,智能出行已成为现代生活的重要组成部分。为了满足广大驾驶者的需求,我们倾力打造了一款全新的加油App,旨在为您的驾驶旅程提供前所未有的便捷与智能体验。 二、产品概述 我们的加油App不仅是一款导航工具&…

Linux下vi文件的时候替换指定的内容

需要将nginx.conf中的192.168.222.188,替换为178.21.120.225 操作步骤: 1、vi 文件 vi nginx.conf2、输入 :%s/192.168.222.188/178.21.120.225/g3、最后保存 :wq