对话系统设计思路

对话系统的设计思路大致如下:(以下内容摘自贾熹滨, 李让, 胡长建,等. 智能对话系统研究综述[J]. 北京工业大学学报, 2017(9).)

对话系统设计思路_第1张图片

自然语言理解(NLU)部分

自然语言理解(NLU)部分的关键可以这样理解:文本分类(text classification)和序列标注(sequence labeling)。

文本分类:

文本分类的目的是根据预先定义的主题类别,按照一定的规则为未知类别的文本自动确定一个类别.

对话系统中,通过文本分类的方法,将用户的自然语言根据涉及领域的不同分为几类,以判断用户的意图.

目前应用在文本分类领域传统的机器学习模型有

k近邻(k-nearest neighbor,kNN)

朴素贝叶斯(naive Bayesian)

支 持 向 量 机(support vector machines,SVM)等.

神经网络兴起后,一些基于深度学习模型的研究也取得了不俗的效果,

主要是运用了卷积神经网络(convolutional neural networks,CNN)模型,以及CNN和循环神经网络(recurrent neural networks,RNN)相结合的模型.

序列标注

序列标注模型被广泛应用于文本处理相关领域,以得到自然语言序列对应的标签序列.

对话系统中利用序列标注的方法对自然语言序列进行

分词(word segmentation)

词 性 标 注(part-of-speechtagging)

命 名 实 体 识 别(named entity recognition,NER)等工作

得到标签序列后生成结构化的数据,便于对整个句子进行理解.

序列标注领域中常用的模型有隐马尔科夫(hidden Markov model,HMM)、最大熵马尔科夫(maximum entropy Markov model,MEMM)[15]、条件随机场(conditionalrandomfields,CRF)等.

与传统的方法相比,深度学习中常用的长短期记忆网络(long-short term memory,LSTM)模型也取得了相近的效果.另外,将神经网络模型自动提取特征的优点与机器学习模型计算联合概率的方式结合在一起,得到了LSTM + CRF模型,这也是目前学术界常用的做法.口语对话中句式灵活多变,且用户有不同的语言习惯,再加上语音识别本身出现的错误,语言理解模块同样面临着重大挑战.

对话状态跟踪

对话状态跟踪的作用在于通过语言理解生成的结构化数据理解或者捕捉用户的意图或目标,目前应用在这个领域的模型很多,包括有限状态机、填槽法、基于实例方法、基于规划方法、贝叶斯网络等,文献对其中一部分方法进行了分析和比较.

对话状态跟踪的思想是将系统和用户交互时的行为看作是在填写一张记录用户当前对话状态的表格.以订机票为例,将这张表格预先设定好状态,比如 目 的 地、出 发 地、出 发 时 间 等,与 系 统 背 后 的 业 务数据表中的属性相关联,不断地从对话中抽取相应的值来填充这个表格.这是一个利用监督学习(supervised learning)完成的多分类任务,根据对话的分类结果判断这句话中包括哪些状态和值.往往从一句对话中获取所有的状态只是理想情况,当状态表中的信息存在空白时,系统会根据空白的状态来提问并获取对应的值,直到获取到足够的状态,给出对用户的建议,或者进行相应的服务.对话状态 .跟踪如图2所示.


对话系统设计思路_第2张图片

自然语言生成

自然语言生成的作用是组织适当的应答语句,将系统的答复转换成用户能够理解的自然语言,通常有3种解决方案:基于人工模板(rule-based)、基于知识库检索(query-based)和基于深度学习的序列到序列(Sequence-to-Sequence)生成模型.语言生成方案的优缺点和适用场景总结如表1所示.自然语言生成是对话系统的核心内容,本文将在第3节中对其中不同的解决方法进行详细介绍.


对话系统设计思路_第3张图片

你可能感兴趣的:(对话系统设计思路)