NLP应用之智能会话机器人(BOT)技术综述

导读

这几年BOT的应用越来越普遍,前阵子打移动和平安的客服电话,已经能支持语音对话。李飞飞教授在Google Cloud Next 18上发布了Contract Center AI,根据现场的视频演示,在接到 eBay 买家的来电后,Contact Center AI 会调取订单并理解用户意图,就买家因鞋码不合适要办理退货事宜进行顺畅的沟通,并在信息逐一得到确认后表示会将处理结果以 email 的形式发送至用户邮箱。还有大家熟知的微软小冰、小娜,苹果的siri等等。

国内也有很多团队做的很不错,比如阿里的小蜜,以前和他们交流过,技术上做的比较前沿,估计是最有可能在整个业界做出有效创新的国内团队了。还有一些创业公司,比如追一科技的Yibot,滴滴应该和他们合作了很久。

BOT的技术价值是显而易见的,从应用场景上又分为三个方向:
1. QA bot:即大家比较容易理解的智能客服,日常也能接触到,比如阿里的小蜜,中国移动、平安等提供的智能语音客服。
2. Task bot:智能助手类,典型的即苹果Siri,微软的小娜,经常用辅助订机票这个一个烂大街的例子来演示能力。
3. chat bot:闲聊机器人,典型的如微软小冰。

简单提下Automatic Speech Recognition,语音转文本,人类的语言输入分语音和文本,大部分系统在接收大语音后,会先转成文本。这部分工作,有些公司已经做得很好了,比如讯飞,一般大家都是直接用他们的。

铺垫了这么多,其实要完成一个基本可用的QA bot并不是很难,蘑菇街在去年上线了一个QA bot,用于处理线上客服问题,方案简单粗暴,但实际反馈还不错。大概的使用场景是这样的:

《NLP应用之智能会话机器人(BOT)技术综述》
《NLP应用之智能会话机器人(BOT)技术综述》

感谢组里小伙伴多比的贡献,本文将尝试去概述下该领域内的经典技术和论文,由于工作和chat bot比较远,该部分内容不涉及。

QA bot

QA bot从技术上可以分为三种领域:
1. Information Retrieval
2. Knowledge graph
3. Machine Compression

让我们来理下QA bot的常见场景,当用户使用客服系统时,大概率是遇到问题了,而且这个问题很有可能是普遍存在的,即80%的咨询量集中在20%的问题上,符合二八原则,也是只能客服系统能work的核心逻辑。以拨打中国移到的客服系统为例,你可能是想查个话费,由于这个需求是普遍存在的,所以移动会事先提供好这个问题的答案。同理,必然存在很多这种普遍的需求,公司可以事先准备好很多标准答案,剩下来就是需要识别用户的需求是哪一类问题。

Information Retrieval

最粗暴的方案,即基于规则,用户需要输入自己的问题是哪一个,比如移动、银行常用的自动客服系统。其次是用搜索的思路做,很多做过搜索的同学,第一反应就是将用户的输入当做query,切好词后做召回,做点TFIDF,再做个ranking就可以了。再然后是基于机器学习的,传统的比如SVM,将用户的输入,分类到某一个事先定义好的问题分类,即建模成一个多分类问题。

在深度学习火起来后,word Embedding、seq2seq,天然使用bot的场景。其中比较典型的是textcnn这篇论文,可以说,现在主流的QA bot基础模型就是它。

论文:Convolutional Neural Networks for Sentence Classification[10]
来源:纽约大学
点评:CNN文本分类,结构简单,效果不错
结构:

《NLP应用之智能会话机器人(BOT)技术综述》
《NLP应用之智能会话机器人(BOT)技术综述》

解析:注意为了保持语义,卷积的宽度是embedding的size,并且max pooling针对的是整个句子。

Knowledge Graph

知识图谱一直是nlp一个非常重要的应用领域,特别是在工业界,很有良好的用户体验要靠知识图谱解决,而知识图谱构建的高成本,可以建立技术壁垒。

KG应用到QA bot中,还需要结合实体识别,也是nlp的经典应用,举例来讲,识别用户输入中的实体,结合知识图谱的model去给出答案。

Relation Classification via Convolutional Deep Neural Network,知识图谱边的构建,简单效果好,应用价值高;Significantly outperforms the state-of-the-art methods.

Entity Linking with a Knowledge Base: Issues, Techniques, and Solutions。Entity linking综述,入门良品

S-MART: Novel Tree-based Structured Learning Algorithms Applied to Tweet Entity Linking。效果较好的entity linking论文,需要较多的背景知识,资料较少,但值得一看;带来的效果让我们重新审视tree-based models,outperforms state-of-the-art tweet entity linking systems

Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base:主流方法有三种:语义解析、信息提取、向量建模;属于语义解析论文,Outstanding paper, KB-QA效果最好的paper之一

Machine compression

阿里小蜜利用机器阅读理解解决活动相关问题,在10%+的回答率情况下,准确率90%+

论文:R-Net: Machine Reading Comprehension with Self-Matching Networks。ACL2017,谷歌工程师Sachin Joglekar:“人工智能的阅读能力在某些方面已经超越了人类,微软的R-Net就是达到了这一里程碑的人工智能之一。

Task Bot

QA bot还是相对简单一些,而task bot的应用场景更让人心动。下面这张图,概括了改领域涉及到的一些技术领域。

《NLP应用之智能会话机器人(BOT)技术综述》
《NLP应用之智能会话机器人(BOT)技术综述》

NLU

Domain Identification和User Intent Detection都可以转化成分类问题,这里重点聊下Slot Filling(槽位填充)。举个定机票的例子,如下图,我们对show flights from Boston to New York today整句进行序列标注,对其中的实体词设置槽位。在定机票的领域,槽位基本上是出发地、目的地、时间、乘客信息等。

《NLP应用之智能会话机器人(BOT)技术综述》
《NLP应用之智能会话机器人(BOT)技术综述》

转化成一个序列标注问题。

NLU推荐论文如下:
Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding,经典网络,早于attention,效果比RCRF差;解决ASR Error问题的思路。

A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding,是个joint model,性能良好,相对简单;为什么joint,因为其一在SLU两个任务通常都是必须的,其二两个任务的信息可以相互提升。

Joint syntactic and semantic analysis with a multitask Deep Learning Framework for Spoken Language Understanding
Domain Adaptation of Recurrent Neural Networks for Natural Language Understanding

Exploring the limits of language modeling
Character-Aware Neural Language Models

Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling

Dialog Management

Dialog Management,会话管理,这块更偏工程了。

Dialog State Tracking

想做多轮会话,这块功能必不可少,但业界其实做的一般,自己也懂得不多,推荐一些论文吧。

Machine Learning for Dialog State Tracking: A Review,DST综述文章,指出判别式机器学习方法比生成式和规则式要好;简单说了基于规则和基于生成的方法以后重点介绍了基于判别方法

Deep Neural Network Approach for the Dialog State Tracking Challenge, 解决slot value不固定的问题

Multi-domain Dialog State Tracking using Recurrent Neural Networks,主要贡献在于multi-domain在DST问题上的可行性验证

Dialog Policy

会话策略(Action、State、Reward),懂得不多,略过了。

NLG

task bot里面,很多是可以用模板去替代生成,因此不是核心模块,略过。

近期的趋势

Transfer Learning

主要集中在domain间的迁移,因为语法、结构、词性等语言共性的存在,使得迁移学习成为可能

End to End

A Network-based End-to-End Trainable Task-oriented Dialogue System,端到端的,减少很多工作量,并且去掉了强化学习,在小数据量上就达到了极具竞争力的效果

E2E Joint NLU and DM (Yang et al., 2017)
E2E Supervised Dialogue System (Wen et al., 2016)
E2E MemNN for Dialogues (Bordes et al., 2016)
E2E RL-Based Info-Bot (Dhingra et al., 2016)
E2E RL-Based System (Zhao and Eskenazi, 2016)
E2E LSTM-Based Dialogue Control (Williams and Zweig, 2016)
E2E Task-Completion Bot (TC-Bot) (Li et al., 2017)

参考文献:

【1】 阿里小蜜-电商领域的智能助理技术实践

【2】 One Day For Bot

【3】 阿里小蜜机器阅读理解技术大揭秘

【4】 阿里小蜜论文

【5】 Relation Classification via Convolutional Deep Neural Network

【6】 Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base

【7】 AliMe Chat: A Sequence to Sequence and Rerank based Chatbot Engine

【8】 S-MART: Novel Tree-based Structured Learning Algorithms Applied to Tweet Entity Linking

【9】 Entity Linking with a Knowledge Base: Issues, Techniques, and Solutions

【10】 Convolutional Neural Networks for Sentence Classification

【11】 R-Net: Machine Reading Comprehension with Self-Matching Networks

【12】 Using Recurrent Neural Networks for Slot Filling in Spoken Language Understanding

【13】 A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding

【14】 Joint syntactic and semantic analysis with a multitask Deep Learning Framework for Spoken Language Understanding

【15】 Domain Adaptation of Recurrent Neural Networks for Natural Language Understanding

【16】 Exploring the limits of language modeling

【17】 Character-Aware Neural Language Models

【18】 Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling

【19】 Machine Learning for Dialog State Tracking: A Review

【20】 Deep Neural Network Approach for the Dialog State Tracking Challenge

【21】 Multi-domain Dialog State Tracking using Recurrent Neural Networks

【22】 A Network-based End-to-End Trainable Task-oriented Dialogue System

    原文作者:吴海波
    原文地址: https://zhuanlan.zhihu.com/p/46244363
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞