目录
- 一、信息检索(Information Retrieval,IR)概要
- 1.1 概述
- 1.2 基本方法和模型
- 1.2.1 标引(表示模型)
- 1.2.2 相似度计算(匹配模型)
- 1.3 基于representation learning的深度匹配模型
- 1.3.1 基于 DNN 的模型
- 1.3.3 基于 CNN 的模型
- 1.3.4 基于 RNN 的模型
- 1.4 基于 match function learning 的深度匹配模型(交互匹配模型)
- 1.4.1 基于 word level 的模型
- 1.4.2 基于 attention 的模型
- 1.5 搜索中 query 和 doc 的相关性匹配模型 (待完善)
- 二、问答系统(Question Answering,QA)
- 2.1 概述
- 2.2 QA 系统的分类
- 2.3 基本方法分类
- 基于检索的问答技术
- 基于模式匹配的问题求解技术
- 基于自然语言理解的问答技术
- 基于统计翻译模型的问答技术
- 生成式预训练大模型
- 2.4 基于文本的问答系统构成(待完善)
- 基于深度学习的方法(匹配模型)
- 2.5 基于知识库的问答系统构成(待完善)
- 基于语义解析的方法
- 基于信息检索的方法
- 2.6 QA 系统评测
- TREC QA评测的问题类型
- TREC QA的评测指标
- 三、智能客服技术
- 3.1 背景
- 3.2 智能客服技术
- 对话技术的分类
- 多轮对话
- 匹配(问题理解)
- 调度
- 答案供给
- 3.3 人工辅助核心技术
- 话术推荐
- 话术摘要
- 参考
一、信息检索(Information Retrieval,IR)概要
1.1 概述
- 信息检索的传统问题:
User
输入一个表述需求信息的查询字段,系统回复一个包含所需要信息的Document list
,这一类问题称为 点对点的检索问题 (ad-hoc retrieval problem) - 对于 点对点的检索问题,目前主要有两种模型:
- 一种是 精确匹配模型,即
IR 系统
返回与User
要求 精确匹配 \color{red}精确匹配 精确匹配 的检索结果。- 例如布尔查询系统,主要应用于基于内部文本库的商业信息系统中
- 另一种未 文档相关匹配模型,即系统按
User
要求与查询文档之间的 相关度 \color{red}相关度 相关度 返回查询结果,这一类模型应用更广泛,研究也更多。
- 一种是 精确匹配模型,即
目前 IR 系统中,存在两个关键的研究技术:
- 标引(Indexing):建立统一的
User
查询语句(或关键词序列)和候选查询文本的 数学表示模型 \color{red}数学表示模型 数学表示模型,通常将查询语句和候选文本都表示为 词向量 - 相关度(relevance)或相似度(similarity)计算:计算
User
查询 Indexing 和 候选查询文本 Indexing 之间的 相似度、匹配度 \color{red}相似度、匹配度 相似度、匹配度,对于词向量的表示模型来说,则使用矢量内积法进行计算。
一些困难:例如,对于词向量的表示模型 + 向量内积的计算方法来说,无法处理 一词多义 的情况。
1.2 基本方法和模型
一个 IR 系统可以表达成下图所示的模型
IR 系统的工作过程如下图所示
1.2.1 标引(表示模型)
传统上,包括:TF-IDF
、向量空间模型
、词袋模型 (bag of word, BOW)
、主题模型(LDA,主题聚类)
目前,词嵌入模型(word2Vec)
、深度学习模型(预训练模型)
等
1.2.2 相似度计算(匹配模型)
query
和 doc
的匹配模型工作过程:
- 通过给定的
training data
,通过 learning IR system,学习得到query
和doc
的匹配模型 f M ( q , d ) f_M(q, d) fM(q,d)。 - 然后对于
testing data
,也就是给定的需要预测的query
和doc
,便可以通过这个模型,预测得到q
和d
的 匹配分数 f M ( q , d ) f_M(q, d) fM(q,d)。
传统的匹配过程大体可以分为两类:
- 基于隐空间(Latent Space)的 match,将
query
和doc
都映射到同一个latent space;- 传统方法包括,
Best Matching (BM25)
,Partial Least Square(PLS方法)
,Regularized Mapping to Latent Space(RMLS模型)
- 传统方法包括,
- 基于翻译空间(Translation Space)的 match,将
doc
映射到query
的空间,然后学习两者的匹配。- 传统方法包括,
Statistical Machine Translation(SMT模型)
,Word-base Translation Model (WTM模型)
- 传统方法包括,
1.3 基于representation learning的深度匹配模型
经典的 双塔结构 \color{red}双塔结构 双塔结构 框架图如下:
-
表示层
- DNN框架:DSSM模型
- CNN框架:ARC-I模型、CNN-DSSM模型、CNTN模型
- RNN框架:LSTM-RNN模型
-
匹配层
匹配函数有两大类,- 一种是直观无需学习的计算,如:
cosine函数
:DSSM模型、CNN-DSSM模型、LSTM-RNN模型dot product
- 一种是引入了参数学习的网络结构,如MLP网络结构,或者如CNTN的
MLP网络
:ARC-I 模型Neural Tensor Network
:CNTN模型
- 一种是直观无需学习的计算,如:
1.3.1 基于 DNN 的模型
- 双塔模型,例如微软的
Deep Struct Semantic Model (DSSM模型)
,百度的Simnet模型
- 框架鼻祖:提出了一个
输入层->query和doc各自的表示层->匹配层
的模型范式,和百度的simnet
一样,匹配模型的框架范式,这里的每一层都可以针对性的做优化 - word hash: 输入层对于英文提出了
word hash, n-gram
的方法,大大减少了原始one-hot
输入空间 - 端到端学习:模型是个完全
end-2-end
的框架,包query
和doc
的embedding向量
直接通过训练得到不需要经过预训练 - 表示层:使用原始的DNN全连接网络来得到
query
和doc
的向量表示 - 匹配层:使用
cosine
表示query
和doc
的 匹配分数 \color{red}匹配分数 匹配分数 - 缺点:对
query
和doc
的表示都是BOW
,丢失了序列信息和上下文信息
- 框架鼻祖:提出了一个
1.3.3 基于 CNN 的模型
无论是bow
的表示还是DNN全连接网络结构
的特点,都无法捕捉到原始词序和上下文的信息。因此,这里可以联想到图像里具有很强的 局部感知 \color{red}局部感知 局部感知 的 CNN网络结构
,典型代表有 ARC-I模型
,CNN-DSSM模型
,以及 CNTK模型
。
1.3.4 基于 RNN 的模型
作为空间关系代表的 CNN网络结构
能够捕捉到 query
和 doc
的局部关系,RNN
作为时间序列相关的网络结构,则能够捕捉到 query
和 doc
中前后词的依赖关系。因此,基于 RNN
的表示学习框架如图所示,query或者doc用黄色部分表示,通过RNN网络结构作为隐层来建模序列关系,最后一个word作为输出,从而学习得到query和doc的表示。对于RNN结构,可以使用业内经典的LSTM或者GRU网络结构。
1.4 基于 match function learning 的深度匹配模型(交互匹配模型)
- 特点:是不直接学习
query
和doc
的表示,而是一开始就让query
和doc
进行各种交互,通过两者交互的match signals
进行特征提取,然后通过aggregation
对提取到的match signals
用各种网络结构进行学习得到最终的匹配分数,如图4.1所示。
步骤:
- 基础匹配信号提取:让query和doc在这一步就开始进行交互,得到两者的基础匹配信号
- 信号聚合(aggregation):对应于representation learning中的匹配层,这里也叫匹配层,由于前一步已经进行了query和doc的交互,信号更加丰富,在后面介绍的模型中可以发现匹配层这里也会比表示学习的网络结构设计变化要丰富很多
1.4.1 基于 word level 的模型
一种很直观的思路就是,让 query
和 doc
两段文本里面每个word两两进行交互,在word level级别建立匹配度矩阵。
1.4.2 基于 attention 的模型
- 基于word level的匹配度矩阵可以说是整个基于match function learning模型的标配组件,而这有这种 low level 的匹配矩阵信息基本是不够的,
- 在当前attention机制在整个NLP领域随处可见的情况下,可以利用 attention 机制来学习
query
和doc
两段文本的加权交互信息。
1.5 搜索中 query 和 doc 的相关性匹配模型 (待完善)
二、问答系统(Question Answering,QA)
2.1 概述
-
背景:尽管搜索引擎提供商投入了大量的人力和财力来改进 search engine 的效果,但很多用户人就不满意。因为他们通过 search engine 获得的信息并不是真正需要的信息,返回的无关信息太多等等。实际上,很多情况下,用户并不想搜索文献的全文,而只想知道 某一个具体问题的确切答案 {\color{red}某一个具体问题的确切答案} 某一个具体问题的确切答案。
-
问答系统:能够介绍 User 以 自然语言形式描述 的提问,并能从大量的异构数据中查找或推断出用户问题答案的信息检索系统。
-
评价:某种意义上说,QA是集成 知识表示、信息检索(IR)、NLP、智能推理等技术于一身的新一代的搜索引擎。
比较的项目 | QA | traditional IR |
---|---|---|
input 形式 | 自然语言提问 | 关键词组合 |
output 形式 | 准确的答案 | 相关文档的列表 |
所属的领域 | 涉及NLP 和 IR 等领域 | IR 领域 |
信息的确定性 | 用户信息需求相对明确 | 用户信息需求相对模糊 |
2.2 QA 系统的分类
从实现方式进行分类
- 基于文本的问答(信息检索、深度学习)
- 在基于文本的问答中,候选答案是通过搜索大规模文档找到相关候选答案,然后在其中寻找最相似的答案文本来获得的。
- 给定问题和答案集合 ,基于文本的系统的目标是在这些答案中找到最佳的匹配答案。
- 此处的问题是一个自然语言描述的问题;而
- 传统的搜索引擎能做到的只是通过查询其中的关键词向用户返回一系列相关网页,对用户真正有用的信息还需要用户自己去进一步查找。
- 而问答系统需要做的是返回满足用户需求的答案。因而,一些研究对于基于文本的问答中提出了不同的深度神经模型。
从实现方式进行分类
-
基于文本的问答(信息检索、深度学习)
- 在基于文本的问答中,候选答案是通过搜索大规模文档找到相关候选答案,然后在其中寻找 最相似 \color{red}最相似 最相似 的答案文本来获得的。
- 给定问题和答案集合 ,基于文本的系统的目标是在这些答案中找到最佳的匹配答案。
- 此处的问题是一个自然语言描述的问题;而
- 传统的搜索引擎能做到的只是通过查询其中的关键词向用户返回一系列相关网页,对用户真正有用的信息还需要用户自己去进一步查找。
- 而问答系统需要做的是返回满足用户需求的答案。因而,一些研究对于基于文本的问答中提出了不同的深度神经模型。
-
基于知识库的问答(语义解析、信息检索)
- 依托知识库 \color{red}依托知识库 依托知识库,进而来找到用户问题的答案。
- 知识库是一大批事实的集合,知识库中的事实往往以 三元组 \color{red}三元组 三元组 的形式进行存储。三元组的格式是(主语、谓语、宾语),其中主语和宾语是指实体,而 谓语 \color{red}谓语 谓语 是表示 主语和宾语这两个实体之间的关系 \color{red}主语和宾语这两个实体之间的关系 主语和宾语这两个实体之间的关系。换句话来说,知识库包括实体、关系和事实。
- 举例来说,“姚明的生日是什么时候?”,这个问题就可以被存储在知识库的一个三元组里面,这个三元组可以表示为:(姚明,生日,1980年9月12日)。
- 在这个基于知识库的问答任务中,往往有两种类型的问题:单跳问题和多跳问题。
- 单跳问答指的是该问题仅对应知识库中的一条事实,主要的数据库是:SimpleQuestions 。
- 多跳任务相对来说比较复杂,需要对知识库中的多个事实进行融合和推理,以找到问题爹答案,代表的数据库是:WebQSP 。
可以从知识领域、答案来源等角度来替问答系统做分类。从知识领域来看,可分为“封闭领域”以及“开放领域”两类系统。
- 封闭领域系统专注于回答特定领域的问题,如医药或特定公司等。由于问题领域受限,系统有比较大的发挥空间,可以导入如专属本体论等知识,或将答案来源全部转换成结构性资料,来有效提升系统的表现。
- 开放领域系统则希望不设限问题的内容范围,天文地理无所不问。系统中所有知识与元件都必须尽量做到与领域不相关,当然难度也相对地提高。
若根据答案来源来区分,可分为“数据库问答”、“常问问题问答”、“新闻问答”、“互联网问答”等系统。
- 数据库是最常见的结构化资料储存媒介。虽然透过操控SQL语言便能够有效率地存取资料,但有些QA系统试图提供更直觉的自然语言查询界面,希望能进一步降低学习门槛。
- 常问问题(Frequently Asked Questions, FAQs)是公司或者长期经营领域中常见的重要资源。一份FAQ资料包含了一个问句以及相对应的答案描述。FAQ问答系统的主要责任在比对使用者问句与现有FAQ问句的相似度,此与其他问答系统着重在答案语料中选取答案的作法不同。
- 新闻问答系统:今日新闻媒体都已经数字化了,每日累积所产生的新闻资讯量是相当可观的,加上新闻的内容广泛丰富,作为开放领域问答系统的答案来源是最适合不过的。这样的特性使得此类系统的评估较为容易,因此稍后会提到的国际评估会议都是采用此类系统作为评估对象。
- 互联网问答系统,利用搜索引擎回传的结果网页,从中选取答案。主要挑战在于如何处理网络多异质性的资料,以及高噪声网页过滤等问题。
对于基于固定语料库的QA system,答案将从 预先建立的大规模真实文本语料库 中进行查找。尽管语料库违法涵盖用户所有类型的问题答案,但能够提供一个良好的算法评测平台,因而适用于对不同问答技术的比较研究。
常见的QA数据库如:
- 文本检索会议(Text REtrieval Conference,TREC) QA Track、
- Wiki QA等。
2.3 基本方法分类
QA 技术大致分为五种类型:
- 基于 检索 的问答技术
- 基于 模式匹配 的问答技术
- 基于 自然语言理解 的问答技术
- 基于 统计翻译模型 的问答技术
- 基于 预训练模型 的问答技术
基于检索的问答技术
利用检索算法直接搜索问题的答案,候选答案的 排序 \color{red}排序 排序 是这类技术的核心,排序的依据通常是提问处理模块生成的查询关键词。由于不同类别的关键词对排序的贡献不同,算法一般把查询关键词分为几类:
- ①普通关键词:即从提问中直接抽取的关键词;
- ②扩展关键词:从WordNet 或其他词汇知识库或Web中扩展的关键词;
- ③基本名词短语(base NP);
- ④引用词:通常是引号中的词;
- ⑤其他关键词,等等。
这种方法相对简单,容易实现,但它以基于关键词的检索技术(也可称为词袋检索技术)为重点,只考虑离散的词,不考虑词与词之间的相互关系。因此,无法从句法关系和语义关系的角度解释系统给出的答案,也无法回答需要推理的提问。
基于模式匹配的问题求解技术
对于一些 固定模式的提问,例如,提问某人的出生日期、某人的原名、某物的别称等类似的问题,可采用基于模式匹配的问题求解技术,获得尽可能多的答案表述模式是这种方法的关键技术。运用这种方法时,往往 先离线 \color{red}先离线 先离线 地获得各类提问答案的模式,在运行阶段,系统首先判断当前提问属于哪一类,然后使用这类提问的所有模式来对抽取的候选答案进行验证。
基于模式匹配的问答技术虽然对于某些类型的提问(如定义、出生日期等)具有良好的性能,但模板不能涵盖所有提问的答案模式,也不能表达长距离和复杂关系的模式,同样也无法实现推理。
基于自然语言理解的问答技术
鉴于前两种方法都存在自身的缺陷,很多专家认为,要想改进或者更大程度地提高问答系统的性 能,必须引人自然语言处理的技术。因此,很多系统将自然语言处理的相关技术引入问答系统,如句法分析技术,语义分析技术等。
不过由于现阶段的自然语言处理技术还不成熟,深层的句法、语义分析技术还不能达到实用化的效果。因此,目前的大多数系统还仅限于利用句子的浅层分析结果,作为对前两种方法的补充和改进。
基于自然语言处理的问答技术可以对提问和答案文本进行一定程度的句法分析和语义分析,并实现推理。但目前自然语言处理技术还不成熟,除一些浅层的技术(汉语分词、词性标注、命名实体识别、基本短语识别等)以外,其他技术还没有达到实用的程度。
基于统计翻译模型的问答技术
基于统计翻译模型的问答技术把提问句看作是答案句在同一语言内的一种翻译形式,答案句子中与提问句子中的疑问词对应的词即是该问句要找的答案。这种问答技术传统上一般需要经过如下几个步骤:
- 首先对检索句进行分析,保留句子中的提问词,
- 然后,搜索包含答案的候选句子,对候选句子进行分析,
- 最后,使用统计翻译模型(主要是对齐技术) 抽取提问的答案。
这种方法在很大程度上依赖于训练语料(提问和答案句子对照的平行语料)的规模和质量,而对于开放域的问答系统,这种大规模训练语料的获取非常困难,而且,目前在统计翻译中,词或短语对齐的准确率本身就没有达到一个很高的水准。因此,对齐模型用在问答系统中也很难有上乘的表现。
生成式预训练大模型
截止至2023年来看,以chatGPT为代表的预训练生成式大模型,已经能够解决大部分问题了,比较有潜力。
2.4 基于文本的问答系统构成(待完善)
一般来说,一个自动问答系统,通常由三部分组成:
- 提问处理模块(Question Processing)
- 负责对用户的提文进行预处理,包括:
- 句子分词、命名实体识别、词性标注;
- 生成查询关键词(提问关键词、扩展关键词);
- 对提问答案类型进行分类(人称, 地点、时间、数字等);
- 提问的句法、语义分析,等等。
- 负责对用户的提文进行预处理,包括:
- 检索模块(Document and Passage Retrieval)
- 据提问处理模块生成的查询关键词,使用某种检索方式,检索与提问相关的信息。
- 该模块返回的信息可以是段落,也可以是句群或者句子。
- 这是问答的核心部分,可以找到与输入问题最为相似的段落。
- 答案抽取模块(Answer Extraction)
- 利用相关的分析和推理机制从检索出的相关段落、句群或句子中抽取出与提问答案类型一致的实体,
- 根据某种原则对候选答案进行排序,
- 把概率最大的候选答案返回给用户。
结合 IR 技术我们可以看出,一个问答系统的关键技术包括如下几个方面:
- 基于海量文本的知识表示:充分利用海量网络文本资源和机器学习方法,建立面向大规模语义计算和推理的知识表示体系,自动构建知识库。
- 问句解析:
- 主要任务包括: (对于中文)自动分词、词性标注、实体标注、概念类别标注、句法分析、句子语义分析、句子逻辑结构标注、指代消解、关联关系标注等。
- 在进行上述处理的基础上,还需要对问句进行分类,确定答案类别。
- 答案生成与过滤:根据问句解析结果从大规模知识源和网页库中抽取候选答案,进行关系推演,判别搜索结果与问题的吻合程度,过滤噪声,生成答案候选,并通过推理形成最终问题解答。
基于深度学习的方法(匹配模型)
深度学习模型可以分为三类:基于表示、基于交互和混合模型。
- 基于表示的模型分别构造问题和候选答案的固定维向量表示,然后在潜在空间内进行文本匹配。
- 基于交互的模型计算问题和候选答案句子的每个词语(token)之间的交互,其中交互可以是句法/语义相似。
- 混合模型结合了交互模型和表示模型。它们由一个表示模块(将一系列单词组合成固定 d d d 维的表示)和一个交互模块组成。这些组件可以并行或串行出现。
2.5 基于知识库的问答系统构成(待完善)
随着信息技术的快速发展,一大批结构化的知识库如Freebase、Dbpedia、Probase等等如雨后春笋似的涌现出来。
相比于上述的基于文本的问答系统,利用知识库进行自然语言的问题回答可以为用户提供 更为准确、更为具体的答案。所以,基于知识库的问答系统(Question Answering over Knowledge Base, KBQA)越来越受到国内外广大学者的密切关注和深入研究。
目前基于知识库的问答技术大致可以分为两大类,第一类是基于语义解析的方法,第二类是基于信息检索的方法。
KBQA的基本框架如下:
首先将自然语言问题解析为某种语义表示,然后通过语义匹配、推理和查询在知识库中找到相应的答案并返回。
KBQA系统的传统框架大致可以分为四个模块:问题分析、短语映射、消歧和查询构造。
目前解决知识库问答的方法主要有两种:语义解析和信息检索。实际上,这两种方法并没有严格的区分,甚至可以一起使用。在接下来的小节中,将重点介绍这两种方法来分析近年来的相关研究和成果。
基于语义解析的方法
基于信息检索的方法
2.6 QA 系统评测
本小节以 TREC QA评测为例,进行介绍。
TREC QA评测的问题类型
- 事实型(Factoid)问题
- 该任务主要测试 QA 系统 对 基于事实、有简短答案的提问 的处理能力。
- 例如:韩国总统是谁?
- 列表型(List)问题
- 该任务要求 QA 系统 列出满足条件的几个答案。
- 定义型(Definition)问题
- 该任务要求 QA 系统 给出某个概念、术语或现象的定义或解释。
- 情景(Context)问题
- 该任务要求 QA 系统 对 相关联的系列提问 的处理能力,即对提问 i i i 的回答还依赖对提问 j j j ( i > j i\gt j i>j)的理解。
- 例如:佛罗伦萨的哪家博物馆在 1993 年遭到炸弹的摧毁?
- 段落型(Passage)问题
- 这类问题对答案的要求偏低,不需要 QA系统 给出精确答案,只要求给出包含答案的一个字符序列。
- 其他类型问题
TREC QA的评测指标
假设 N 为测试集中,总的提问个数,则
平均排序倒数(mean reciprocal rank,MRR)可由下式计算:
M R R = ∑ i = 1 N 1 标准答案在 Q A 系统给出的排序结果中的位置 N MRR=\frac{\sum_{i=1}^N\frac{1}{标准答案在QA系统给出的排序结果中的位置}}{N} MRR=N∑i=1N标准答案在QA系统给出的排序结果中的位置1
- MRR 备注:如果标准答案在系统给出的排序结果中的多个位置上,以排序最高的位置计算:如果标准答案不在系统给出的排序结果中,本题得0分。
CWS(confidence weighted score)可由下式计算
C W S = 1 N ∑ i = 1 N 前 i 个提问中,被正确回答的提问数 i CWS=\frac{1}{N}\sum_{i=1}^N\frac{前 i 个提问中,被正确回答的提问数}{i} CWS=N1i=1∑Ni前i个提问中,被正确回答的提问数
- CWS 指标希望系统把最确定的答案排在前面。
准确率(accuracy)可由下式计算
A c c = 正确答案的个数 N Acc = \frac{正确答案的个数}{N} Acc=N正确答案的个数
其他的还有Precision、Recall 等等
三、智能客服技术
本章参考美团技术团队分享的 美团智能客服核心技术与实践 技术文章,进行学习与总结。
- 客服是在用户服务体验不完美的情况下,尽可能帮助体验顺畅进行下去的一种解决办法,是问题发生后的一种兜底方案。
- 而智能客服能让大部分简单的问题得以快速自助解决,让复杂问题有机会被人工高效解决。
3.1 背景
- 不同场景
- 售前
- 售中
- 售后
- 办公:比如IT、人力资源、财务、法务等咨询,产运研对提供的接口产品的咨询答疑,产品对销售顾问的答疑,以及销售顾问对商家的答疑等等。
- 不同人群
- 用户
- 座席:左上的宾客,用话术推荐或者会话摘要等能力来提升人工座席的工作效率,改善人工座席的工作体验。
- 商家:打造商家助手来降低商家回复的费力度,改善消费者和商家的沟通体验。
- 员工:通过对话机器人,可以自助给员工进行答疑,从而提升办公效率。
3.2 智能客服技术
对话技术的分类
常见的对话任务可分为:
- 闲聊型:通常是 不关注某项特定任务 \color{red}不关注某项特定任务 不关注某项特定任务,它的主要的目标是 和人进行开放领域的对话 \color{red}和人进行开放领域的对话 和人进行开放领域的对话,关注点是生成 流畅、合理且自然 的回复。
- 任务型:通常是 帮助用户完成某项任务指令 \color{red}帮助用户完成某项任务指令 帮助用户完成某项任务指令,如查询订单状态、解决用户的退款申请等等。用户的需求通常比较复杂,需要通过 多轮交互 \color{red}多轮交互 多轮交互来不断收集任务所需的必要信息,进而根据信息进行决策,执行不同的动作,最终完成用户的指令。
- 问答型:侧重于 一问一答 \color{red}一问一答 一问一答,即直接根据用户的问题给出 精准 \color{red}精准 精准答案。
问答型和任务型最本质的区别在于,系统 是否需要维护一个用户目标状态的表示 \color{red}是否需要维护一个用户目标状态的表示 是否需要维护一个用户目标状态的表示和 是否需要一个决策过程 \color{red}是否需要一个决策过程 是否需要一个决策过程来完成任务。
在技术实现上,通常又可以划分为:
- 检索式:主要思路是 从对话语料库中 \color{red}从对话语料库中 从对话语料库中找出与输入语句最匹配的回复,这些回复通常是预先存储的数据。
- 生成式:主要思路是基于深度学习的
Encoder-Decoder
架构,从大量语料中习得语言能力,根据问题内容及相关实时状态信息直接生成回答话术。 - 任务式:就是任务型对话,通常要维护一个对话状态,根据不同的对话状态决策下一步动作,是查询数据库还是回复用户等等。
多轮对话
以下是关于问题:“如何联系骑手”,背后的工作原理
- 首先当用户输入“如何联系骑手”的时候,
问题理解模块
将它与知识库中的拓展问进行匹配,进而得到对应的标准问即意图“如何联系骑手”。 - 然后
对话管理模块
根据意图“如何联系骑手”触发相应的任务流程:- 先查询订单接口,获取骑手电话号码,进而输出对话状态给到
答案生成模块
,根据模板生成最终结果,如右边的红框内容所示。
- 先查询订单接口,获取骑手电话号码,进而输出对话状态给到
在这个过程中涉及到要先有意图体系、定义好Task流程,以及订单的查询接口,主要由各业务的运营团队来维护。
那么,对话系统要做的是什么呢?
- 一是将用户的输入与意图体系中的标准问进行匹配,
- 二是完成多轮交互里面的调度。
匹配(问题理解)
问题理解是将用户问题与意图体系进行匹配,匹配到的拓展问所对应的标准问即用户意图。
机器人的工作过程实际是要做 召回 和 精排 两件事情。
- 召回更多地是用现有检索引擎实现,
- 技术上更多地关注精排。
调度
理解了用户意图后,有些问题是可以直接给出答案解决的,而有些问题则需要进一步厘清。
- Task 内的调度
- 比如说“如何申请餐损”这个例子,不是直接告诉申请的方法,而是先厘清是哪一个订单,是否影响食用,进而厘清一些用户的诉求是部分退款还是想安排补送,从而给出不同的解决方案。这样的一个流程是跟业务强相关的,需要由业务的运营团队来进行定义。
- Task 间的调度(多轮话题引导)
- 在用户问完“会员能否退订”后,机器人回复的是“无法退回”,虽然回答了这个问题,但这个时候用户很容易不满意,转而去寻找人工服务。
- 如果这个时候我们除了给出答案外,还去厘清问题背后的真实原因,引导询问用户是“外卖红包无法使用”或者是“因换绑手机导致的问题”,基于顺承关系建模,用户大概率是这些情况,用户很有可能会选择,从而会话可以进一步进行,并给出更加精细的解决方案,也减少了用户直接转人工服务的行为。
答案供给
售后客服场景
通常问题较集中,且问题的解决多依赖业务内部系统数据及规则,通常是业务部门维护知识库,包括意图体系、Task流程和答案等。
但在售前场景
,知识多来自于商户或商品本身、用户体验及评价信息等,具有用户问题开放、知识密度高、人工难以整理答案等特点。
- 比如去哪个城市哪个景点游玩,附近有哪些酒店,酒店是否有浴缸,酒店地址在哪里等,都需要咨询”决策”,
- 针对这些诉求,可以通过智能问答来解决咨询以及答案供给问题。
智能问答就是从美团数据中习得答案供给,来快速回答用户的问题,基于不同的数据源,我们建设了不同的问答技术。
- 针对商家基础信息,比如问营业时间、地址、价格等,我们通过
图谱问答(KBQA)
来解决。利用商家基础信息构建图谱,通过问题理解模型来理解问题,进而查询图谱获取准确的答案。 - 针对社区数据,即商户详情页中“问大家”模块的用户问用户答的社区数据,构建
社区问答(Community QA)
能力,通过对用户问题与问大家中的”问答对”的相似度建模,选择相似度最高的作为答案,来回答用户的一些开放性问题。 - 针对UGC评论数据以及商户政策等无结构化数据,构建
文档问答(Document QA)
能力,针对用户问题利用机器阅读理解技术从文档中抽取答案,类似我们小时候语文考试中的阅读理解题,进一步回答用户的一些开放性问题。
最后,针对多个问答模块给出的答案,进行多答案来源的答案融合排序,来挑选最终的答案,此外这里还考察了答案真实性,即对“相信多数认为正确的则正确”建模。
3.3 人工辅助核心技术
话术推荐
- 背景:座席在与用户的对话聊天中经常回复相似甚至相同的话术,他们一致期望提供话术推荐的能力来 提高效率 \color{red}提高效率 提高效率。此外,除了请求客服座席帮助外,很多情况下用户与商家直接沟通会使得解决问题更高效,而沟通效率不仅影响到消费者的体验,也影响到了商家的经营。
话术推荐具体要怎么做呢?
- 可以采用了自动记忆每个座席及其同技能组的历史聊天话术,商家及其同品类商家的历史聊天话术,根据当前输入及上下文,预测接下来可能的回复话术,无需人工进行整理,大大提升了效率。
整个架构如上图所示,分为 离线
和 在线
两部分。另外上线后也加入了一层 CTR预估模型
来提升采纳率。
话术推荐特别是对新座席员工价值更大,新员工通常难以组织话术,通过采纳推荐的话术可以来缩减熟练周期。
话术摘要
- 背景
- 实现
参考
宗成庆,统计自然语言处理(第2版)[M]. 北京:清华大学出版社,2013.
https://zhuanlan.zhihu.com/p/113244063
Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]//Proceedings of the 22nd ACM international conference on Information & Knowledge Management. 2013: 2333-2338.
https://blog.csdn.net/qq_38293297/article/details/107143938
https://zh.wikipedia.org/zh-cn/%E5%95%8F%E7%AD%94%E7%B3%BB%E7%B5%B1
https://tech.meituan.com/2021/09/30/artificial-intelligence-customer-service.html