🗨️关于用户意图识别的思考
type
status
date
slug
summary
tags
category
icon
password
整体逻辑

比较重要的部分用绿色底色标注
场景介绍
意图识别的背景
(1)场景明确:
约会软件、工业软件中的探索型查询需求,用户一开始也不知道自己想要啥,因此想要多轮对话+多次检索才能慢慢锁定
点题:采莓模型
工业软件(相关操作文档、段落的查询):
背景:(探索式需求)用户使用时无所适从,不知道从哪里开始,查也不知道查什么。通过多轮查询逐渐找到自己想了解的东西(体现探索的过程,举个例子)
约会软件(理想对象的筛选):意图——给出合适的匹配对象,慢慢迭代(应该是一个非营利性的以快速匹配为核心的小工具,而不是商业的约会软件)
该背景下的特点
(1)探索式查询 (2)出界意图
探索式意图
探索式意图和查找式意图
Marchionini[3]从需求演进与知识获取的角度构建新查询意图分类体系,该体系包含查找式与探索式两个顶层类别

查找式意图的查询:指搜索目标明确,以在最少的结果集检查和项目比较的情况下获得精确且唯一的结果为最终目标的一类查询。导航类、事务类查询与部分信息类查询(如验证搜索、问答搜索)等均属于此类。
探索式意图的查询:指初始搜索目标模糊,搜索过程复杂,并以尽可能多地获得多样化、开放化搜索结果为最终目标的一类查询。(本研究面向对象)
(和后面的个性化推荐也有关系:如果一开始给的索引比较片面,会带偏用户)
(采莓模型)
采莓模型的特点(探索式查询)

出界意图
意图识别本身是一种分类问题。即查询语句-预定义意图类型的分类。在探索式的意图查询过程中,用户会不断调整自己的查询语句以获得想要的内容,此时可能会出现一些和已定义意图类型对应不上的查询语句。 出界意图的识别是指将不属于已有意图的语句识别出来,识别后可以人工或者自动标注出新意图
出界意图检测示意


输入输出和具体过程
(2)输入输出和具体过程
输入:(静态)用户画像、资料、检索历史;(动态)本次检索语句
输出:和用户检索相关的文档、知识(工业软件);匹配的对象(约会软件)
此外,需要(1)利用提示工程和大模型对输出进行包装(2)探索式的需求,一次输出不够,要能够引导用户
过程:多轮对话(多轮询问明确用户的意思)+多次匹配(帮助用户缩小范围)
过程简图

任务分解
内容拆解(目前自己主要做第一部分)
(1)意图分类:结合用户画像、检索历史,划分本次检索意图的标签和类别(并识别出界意图)
(2)查询推荐:基于划分标签,给出最契合的几个条目(进一步了解查询推荐、被推荐的条目到底是什么,怎么打标签)
具体怎么根据意图标签开展推荐
(3)迭代探索式意图处理(基于探索式意图和反馈的特点,保证减少查询次数)
结合用户画像和历史记录,单独制作数据集
具体的启示:个性化不是那么好
(是否需要结合大模型)
意图分类
介绍意图分类的一般流程
查询推荐
待定
迭代探索式意图处理
待定
意图识别以及出界意图检测调研
意图识别调研
意图识别调研:
(1)最简单的思路(搜索引擎):
预设置规则和词表,解释用户的搜索语句,对高频词的识别准确度较高。但是对于长尾词的覆盖率较低,需要大量人工参与维护词表
(2)机器学习方法
搜索意图识别看作一个分类问题。首先定义不同的搜索意图类别,然后统计每种类别下常用的词汇特征。需要大量标注数据,并人工提取语料的特征(类似如下文章)
论文-基于采莓模型启示的探索式与查找式意图自动识别研究(3)考虑个性化的推荐:分析用户行为,建立用户画像然后可以对新的意图进行推断
可以用来做新意图的推断,但是通用的意图,不建议用个性化的方法,这个可以做对比
出界意图调研(经典方法)
基于SoftMax的方法
介绍:根据意图分类模型输出的softmax值,发现普通样本的最大softmax分数大于出界意图样本的最大softmax分数,因此就可以设定一个阈值来区分普通和出界样本 示意图:
MSP方法是最经典的Softmax类方法
具体思路:核心思路如上Softmax类方法所示
如果某个样本的最大概率较低,说明网络对该样本的分类不确定,这通常意味着该样本可能是异常样本或超出训练数据分布。因此要设置一个阈值
参考资料
Out-of-distribution Detection调研(比出界意图识别范围更大一点,包括图片等)

OOS检测调研
文本开发意图识别的工具
类嵌入
目前的进度
平台
意图分类的开源调试平台
数据集
公开数据集
Banking、OOS、StackOverflow
可行方案:自己做数据集(标注标签和类别,具体是什么)
1(benchmark)
2 公开数据集也要:
解决方案:真假数据集混合
(0)数据集应该是什么样的?()
备注:
应该设置很多个角色,以角色为中心而不是以查询意图为中心
数据集里面没必要把用户对查询结果的感觉写出来,这个是后面判断效果明确的
用户选择:确定参与实验的用户群体,包括他们的背景、经验水平和使用习惯
角色(有角色画像)、意图查询(按事件)、意图类别
角色:角色信息,背景、经验水平和使用习惯
意图查询:一串连续的查询,给定任务情景(上策:设计一个简单的交互界面,让用户能够递进查询;下策:直接让用户给出来)
方案为模拟对话:创建脚本化的对话场景,让参与者按照预设情境进行交互。
意图类别:明确需要识别的意图类别,并为每个类别提供详细定义。例如客户支持、产品查询或服务请求等。(设定类别的目的是什么?,看看医学院的论文)
(1)自己做一个小数据集(问卷调研)+ 数据增强+众包标注(打标签)
数据增强:同义词替换+文本生成+回译
众包标注:设置圆桌讨论,定下来查询的标签
(2)用户模拟:根据已有数据模拟用户输入生成查询数据
设置不同风格的用户作为Agent(分析前面的调研,梳理角色设定等内容)
方法
自己的方法思路:在MSP(见前文常用方法部分)基础上,给softmax编码一阶知识,先看看效果
主要思路
一阶知识的编码
参考资料
代码
目前的进度和结果
附录
相关概念介绍
意图识别
槽位填充及联合建模
很多工作中槽位填充是意图识别的下一步,考虑是否把槽位填充放进去
槽位填充以及联合建模的概念
意图识别和槽位填充往往是一起 ,意图识别先分类(识别是电影),识别是什么意思,槽位填充做具体的信息
在用户请求“订一张今天下午的电影票”时,系统需要识别出以下槽位:
- 电影名:战狼
- 时间:今天下午
- 数量:1(假设默认数量为1)
- 电影院名称:待确认(可能需要进一步询问)

相关研究调研
语义路由
语义路由调研(基于大模型RAG技术,流程和背景所需效果很接近)
概念:根据自然语言输入的语义信息,将查询请求路由到适当的处理组件或数据源等
示意

查询推荐
待定
多意图识别和多标签分类
多意图识别和多标签分类

问题和扩展
问题和扩展
目前意图识别面临的问题(其实很多问题只是提出来了,并没有真正的解决,用神经网络加了结构假模假样的解决了)
多轮对话、多模态、动作手势的识别(可解释性等)、和槽位填充联合建模、口语化信息(缺乏上下文,难以理解)、深层次含义、隐性意图、多标签、探索式意图
扩展
多轮和探索的,可以作为扩展,目前只想单轮意图识别的问题和解决方案是什么
Prev
Quarto教程
Next
Kurisu Yukko's watch List
Loading...

