雷锋网AI科技评论按:近年来,人机对话技术受到了学术界和产业界的广泛关注。学术上,人机对话是人机交互最自然的方式之一,其发展影响及推动着语音识别与合成、自然语言理解、对话管理以及自然语言生成等研究的进展;产业上,众多产业界巨头相继推出了人机对话技术相关产品,如小冰、siri、度秘等,并将人机对话技术作为其公司的重点研发方向。
基于人机对话技术在学、产两界中的重要地位,在第六届全国社会媒体处理大会(SMP 2017)上,由中国中文信息学会社会媒体处理专委会主办,哈尔滨工业大学和科大讯飞股份有限公司承办举行了国内首次 “中文人机对话技术评测”(ECDT),为人机对话技术相关的研发人员提供了一个良好的沟通平台。
这次人机对话技术评测主要包括两个任务,分别为用户意图领域分类(根据数据集来源又分为封闭式和开放式两个任务)和特定域任务型人机对话在线评测。简单来说,任务一是判断用户的意图属于哪个领域(例如闲聊、订机票还是订酒店等),任务二是在特定领域中通过人机多轮对话完成用户的意图任务。详细内容请参考:中文对话技术评测官网
经过近五个月的筹备和角逐,共有7支队伍获得了奖项,其中华南农业大学口语对话系统研究室(scau_SIGSDS)团队获得了任务一封闭式和开放式两项的第一名,深思考人工智能(iDeepWise)获得任务二的第一名。
任务一:用户意图领域分类
1、封闭式评测
2、开放式评测
任务二:特定域任务型人机对话在线评测
在上周六的SMP 2017大会现场,7支队伍分别就他们的技术作了分享报告。雷锋网记者在现场听录了7个获奖团队的技术报告,并随后联系了华南农业大学技术团队(任务一第一名)和深思考人工智能机器人(任务二第一名),在征得两支团队的许可下,分享其技术报告内容如下。
口语语言理解(spoken language understanding, SLU)是SDS中的重要环节,而话语领域分类(domain classification)则是SLU的关键任务之一。话语领域分类的任务是把话语划分到定义好的不同领域标签,进而将话语正确地分进不同的SLU子系统。如用户提出“帮我写一封邮件”,系统则应该将其划分到“邮件”领域之中,对该话语进行专门针对“邮件”领域的语言理解。
由于口语对话具有长度短小的特点,领域分类通常会被看作是短文本分类。早期的领域分类多采用较为复杂的人工特征,如语法信息、韵律信息、词汇信息等 ,分类模型采用传统的统计学习模型,如随机森林、隐马尔科夫、条件随机场等。
深度学习流行以来,许多研究者开始用深度学习方法解决自然语言处理(natural language processing, NLP)任务,许多任务得到了长足的发展,也包括了领域分类。代表性的模型包括了深度置信网络(deep belief network, DBN)、卷积神经网络(convolutional neural networks, CNN)和长短期记忆网络(long and short-term memory, LSTM)等。
用户意图领域分类比赛数据集包含31个话语类别,包括聊天类(chat)和垂类(30个垂直领域)。任务很明确,就是正确地将用户的输入话语分类到相应的领域中,如:
【用户意图领域分类示例】
1) 你好啊,很高兴见到你! — 闲聊类
2) 我想订一张去北京的机票。 — 任务型垂类(订机票)
3) 我想找一家五道口附近便宜干净的快捷酒店 — 任务型垂类(订酒店)
主办方根据是否仅允许使用其提供的评测数据进行训练和开发分为封闭式和开放式两项评测。
说明:
基于关键词1的领域识别:对于封闭式,采用了基于数据的领域关键词提取,得到足够支持率和置信度的领域关键词,用于领域识别。
人工扩展:对于开放式,则进一步结合人工知识增加领域关键词表
31分类器:对于封闭式和开放式,都通过模型和参数优化,选择了进行31分类的多分类器。在开发阶段,采用的是训练集进行k折交叉验证;而用于测试模型,则是通过训练集加上开发集一起通过交叉验证训练得到。
s分类器:在开放式测试中,对于在前面步骤中被判定为若干个候选领域,而在31分类器中没有被正确归类的样例,则进一步通过训练得到的s分类器进行再次分类。s分类器可以有多个。
基于知识的领域识别:对若干个合适的领域构建了领域知识表,如疾病列表,将话语直接识别到对应的领域,或者判定为有限的几个候选领域。
我们采用了基于数据的领域关键词提取算法,通过对训练集和开发集进行统计,抽取足够置信度和支持率的2和3字“词”构成了领域关键词表。本系统采用的是置信度=0.95,支持率阈值根据领域类别样本数量分了0.10、0.15和0.18三个等级。并根据包含关系精简了领域关键词列表。例如,“七乐”和“七乐彩”都在抽取的到的另一关键词集时,保留了“七乐”。这样做可预期具有更好的识别能力,也在一定程度上提高了误判的风险。对于开放式评测,我们进一步结合人工知识扩展了领域关键词表。
相比于CNN,循环神经网络(Recurrent Neural Networks, RNN)有利于学习到句子中字词间的长距离依赖关系,但存在梯度消失/发散问题。目前常用的是RNN的一些变体,如LSTM、GRU(Gated Recurrent Unit)等,他们通过门控机制很大程度上缓解了RNN的梯度消失问题,并防止梯度发散。
我们在给定数据集上验证了不同RNN变体的领域分类效果,包括普通的LSTM、GRU以及带隐层的LSTM。
通过分析领域话语特点,我们针对4个领域(health、radio、epg和tvchannel),结合外部信息构建了3个领域知识表(health、radio和tv)。其中tv知识表用于识别为候选的epg或tvchannel领域,需要进一步结合epg-tvchannel二分类器进行识别。
由于时间所限,我们仅对直觉上较为有效果的几个领域做了尝试。许多领域也值得进一步研究如何收集和整理外部信息构建有效的领域知识表辅助话语的领域识别。
为了方便验证和开发采用了正确率的评价指标。我们先用训练集(Train)10折交叉验证(调节学习率、层数、节点数、卷积核大小、dropout系数等超参数)进行分类模型和词向量的选择。
我们进一步用训练集(Train)10折交叉验证对不同的RNN变体进行选择,结果如下所示。选择了带隐层的LSTM模型。
我们用开发集(Dev)进行预测方式的选择,以及领域关键词和领域知识表的检验。
在最后的评测测试中,我们采用训练集和开发集,重新构建领域关键词表,并采用10折交叉验证训练了LSTM分类器。评测结果中单项(封闭式和开放式)前三名的参赛系统以及前十名平均值评测结果如下表所示:
我们的系统取得了封闭式和开放式两项第一名,比Top10平均值的领域分类性能高了4.4%和4.7%。
比赛结果表明了深度学习方法能较好地应用于中文话语的领域分类任务
基于知识的方法对进一步提升领域分类效果有帮助。
由于比赛时间有限,开放式版本中,我们仅仅针对少数领域进行了优化,性能提升不够明显。
随着领域语料的进一步扩展,将有利于进一步提升话语领域分类性能。同时,也有机会揭示出更多的技术挑战。
图灵测试(The Turing test)由艾伦·麦席森·图灵提出,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者提问,进行多次测试。一般提问者在5分钟提问后,如果不足70%的人判对(也就是超过30%的裁判误以为在和自己说话的是人而非计算机),那么这台机器就通过了测试。图灵测试的核心就是人机多轮交互。
早在人工智能开始时,人们就开始了这方面的探索。虽然不断有新的技术涌现,人机交互的智能化程度也越来越高。但现阶段的人机交互技术还没有达到一个真正人类智能的水平,所以广泛领域的人工交互还是很难达到实用的水平。而中文的人机交互,像其他自然语言处理技术一样,受中文的特性所限,相对英文的人机交互难度更大,技术上也稍微有所差距。所以,现阶段要使人机交互达到人们实用的基本满意程度,就需要有所限制。通常,在闲聊以及特定的任务型限定领域,人机交互会有比较满意的表现。在这些领域,由于人们的交互意图基本围绕在某个任务目的的范围内,所以对人类思维话术的处理是现阶段自然语言处理技术所能做到。
本届中文人机对话技术评测的任务二就是针对酒店预订、火车票预订、机票预订这三个应用领域的多轮对话测试。酒店、火车票、机票预订这三个应用领域往往是在一问一答单轮的交互中无法完成的,需要进行多轮的交互。而在多轮交互的时候,又可能出现领域的调转,一句话中包含多领域的转接或需求。为了实现多轮人机交互,深思考人工智能ideepwise团队研发了语料预处理、意图分类、上下文处理及决策、意图理解及处理等模块,综合运用了多项人工智能深度学习技术(如图-2)。
图-2人机多轮交互系统总体框架
在中文的多轮人机交互系统中,首先需要对用户输入的话进行纠错,补全、指代消解、分词、词性标注、实体识别。由于用户的习惯、语言水平等各种原因,有时用户的输入会有错误的情况。而在集成了语音识别的人机交互系统中,还有语音识别错误、环境噪音、错误停顿等造成问题。在实际的应用中这种语音识别的错误有时是非常严重的,甚至会导致整个交互无法继续。同时,由于是多轮交互,人们会对上文已有的一些信息进行省略和指代。所以为了能更准确的理解用户的意图,需要对语音识别错误或用户的错误用词进行纠错,对省略和指代的信息根据上下文进行补全和指代消解的处理。然后进行分词、词性标注。最后还要对时间、地点以及一些领域的实体进行实体识别。
在多领域的人机交互系统中,当用户说了一句话时,首先要知道这句话是哪个领域的问题,才能交给这个领域的业务处理模块进行处理。所以首先要对用户的问题或输入进行按业务领域进行分类。这个问题类似普通的分类问题,但又稍有不同。
如果特定业务领域的数据积累足够,通常基于深度学习CNN算法来进行意图分类可以取得不错的效果,但若很难得到大量的这种标注好的分类训练语料,在中文方面,这个问题更加突出,一向处理分类问题效果比较好的深度学习方法,就比较难以使用。这种情况若只依赖问题字符串来进行意图分类是肯定不行的,因为所能提供的信息太少,所以在这里就需要结合问题域扩充数据特征维度,采用层次集成算法进行意图分类。
由于多轮交互时,有很多信息在交互的上文中已经出现,用户不会再在当前的问题中进行重复,所以需要一个上下文的记忆模块。在上下文的记忆方面,长短期记忆网络(LSTM NetWorks)要比标准递归神经网络(RNNs)出色许多,它解决了RNNs模型梯度弥散的问题。
哪句上文匹配哪句下文由一个决策器来做决策,决策器中采用了深度强化学习 Deep Reinforcement Learning中的Deep Q Learning算法来训练一个最佳上下文匹配模型。以最终能够完成该特定领域任务为目标,如果最终能够完成该任务为正反馈,最终没有完成该任务为负反馈,不断用多轮对话语料去交互获得各种反馈。一次多轮对话可以被定义为一个马尔可夫决策过程 (MDPs), 反复在会话中间节点状态S, 会话话术行为A, 回报R, 状态S ... 之间轮换直到一次多轮对话结束,最终获得最佳回报即能够正确完成任务的Q network模型,该模型来确定最佳匹配的上下文。
当上下文处理及决策将当前会话交给某个领域业务处理模块进行处理时,该模块就需要对这句话中用户的意图进行理解,然后进行处理。虽然在这些特定的任务型领域,用户的意图相对比较确定,但人们的语言却是无法限定的,所以即使同一个意图的表达,不同的人不同的场景不同的时间,所用的文字话术多少会有些不同。
建立一个用户意图话术的FAQ。然后使用基于深度学习的句子相似度的算法来计算当前会话与FAQ中话术的相似程度。在计算句子相似度时,利用的词向量、同义词、关键词的扩展,进行语义的计算,利用词性、关键词等信息为不同的赋予不同的贡献权重。同时针对一些特殊的词性和领域词,进行了特殊的语义相似度的处理。当明白当前会话的用户意图后,还需要对会话中的一些信息进行抽取解析。这些信息包括常见的时间、地点,也包括一些领域需要的始发地、目的地、机场、航班号、酒店名、价格等等。
基于上述技术研发的深思考ideepwise机器人可以在特定领域场景下达到近似于人一样流畅的交流,如图-3用户问到:“上海明天的天气怎么样?”机器人给出天气回复,用户再提出请求:“给我订一个那边的酒店”,机器人会引导用户询问用户对价格的要求,用户只需要回答价格的区间,机器人就会流畅的给出综合答案。
图-3
又例如图-4:交互流程中间被打断,机器人还能像人一样记得上一个流程,例如:可以在订票过程中,如果用户询问天气预报,则自动将用户意图分类为天气,然后继续订票流程。
图-4
人机多轮上下文理解与交互技术的突破的意义在于更进一步的提高智能客服、AI医疗问诊,车载人机交互等人机交互的场景下的交互有效性、任务完成率和体验,使得人机交互可以更像两个人之间的对话,人与人之间是习惯于有上下文的,往往“基于上文,下文是说不全的”,比如传统的智能客服是:
user:“我家机器坏了!”
robot:抱歉由于无法知道机器的型号,暂时无法回复您,请转人工客服。
能够理解上下文的技术突破后,则对话更流畅了,机器人可以真的像人一样完成某一个特定任务,下面是另一番场景:
user:“我家机器坏了!”
robot:请问您家的机器具体是什么机器啊?
user:我家电饭锅坏了
robot:请问您家电饭锅是什么型号的啊?
user:P10
robot:P10型号的电饭锅建议您去距离中关村最近的***售后维修点维修
人机对话是人与机器交互最自然的方式,实现像人与人之间自然流畅的对话是人工智能的最终目标之一。如果人机多轮对话可以在某些应用领域实现突破,那么人工智能技术在应用领域也就实现了一次飞跃,这远比AlphaGo战胜人类棋手的现实意义更为重大。
雷锋网注:以上内容由华南农业大学口语对话系统研究室scau_SIGSDS团队和深思考人工智能机器人公司(iDeepWise)提供。
scau_SIGSDS团队为华南农业大学数学与信息学院 口语对话系统研究室硕士生唐杰聪和6名本科生梁泳诗、闫江月、李杨辉、凌大未、曾真、杜泽峰组成,由黄沛杰副教授指导。
iDeepWise深思考人工智能ideepwise是一家专注于“类脑人工智能与深度学习”核心科技的高科技公司,他们在“ideepwise宫颈癌阅片筛查机器人‘大脑’这一产品也有了突破性的进展,在Herlev 数据集上测试结果:细胞类别分类精度99.3%(比美国国立卫生研究院NIH 高1%,2017.6)、 特异性高出1%、敏感性高出1.5%,是国内目前唯一能够识别腺细胞异常的宫颈癌筛查的AI产品,目前已在多家三甲医院和第三方检验机构落地使用。