过去20多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,“连接”这个词再合适不过了。这个时代主要建立了四种连接:第一,人和商品的连接;第二,人和人的连接;第三,人和信息的连接;第四,人和设备的连接。


1 智能对话交互框架
典型的智能对话交互框架如图1所示。其中,语音识别模块和文本转语音模块为可选模块,比如在某些场景下用户用文本输入,系统也用文本回复。自然语言理解和对话管理是其中的核心模块,广义的自然语言理解模块包括对任务类、问答类和闲聊类用户输入的理解,但在深度学习兴起后,大量端到端(End-to-End)的方法涌现出来,问答和聊天的很多模型都是端到端训练和部署的,所以本文中的自然语言理解狭义的单指任务类用户输入的语义理解。在图2所示的智能对话交互核心功能模块中,自然语言理解和对话管理之外,智能问答用来完成问答类任务,智能聊天用来完成闲聊类任务。在对外输出层,我们提供了SaaS平台、PaaS平台和BotFramework三种方式,其中Bot Framework为用户提供了定制智能助理的平台。

图1 智能对话交互框架
2 智能对话交互核心技术
智能对话交互中的核心功能模块如图2所示,本部分详细介绍智能对话交互中除输出层外的自然语言理解、智能问答、智能聊天和对话管理四个核心模块。

图2 智能对话交互中的核心功能模块

2.1.1自然语言理解语义表示
自然语言理解的语义表示主要有三种方式[2]。
(1)分布语义表示(Distributional semantics)
(2)框架语义表示(Frame semantics)
(3)模型论语义表示(Model-theoretic semantics)
在智能对话交互中,自然语言理解一般采用的是framesemantics表示的一种变形,即采用领域(domain)、意图(intent)和属性槽(slots)来表示语义结果,如图3所示。

图3domain ongology示意图
在定义了上述的domain ontology结构后,整个算法流程如图4所示。

图4 自然语言理解流程简图
2.1.2意图分类
意图分类是一种文本分类,主要分为基于规则的方法、基于传统机器学习的方法和基于深度学习的方法,如CNN [3]、LSTM [4]、RCNN [5]、C-LSTM [6]及FastText[7]等。针对CNN、LSTM、RCNN、C-LSTM四种典型的模型框架,我们在14个领域的数据集上进行训练,在4万左右规模的测试集上进行测试,采用Micro F1作为度量指标(注:此处的训练和测试中,神经网络的输入只包含word embedding,没有融合符号表示),结果如图5所示,其中Yoon Kim在2014年提出的基于CNN[3]的分类算法效果最好。

图5 四种模型的分类效果对比
单纯以word vector为输入的CNN分类效果,在某些领域上无法超越复杂特征工程的SVM分类器。如何进一步提升深度学习的效果,其中一个探索方向就是试图把分布式表示和符号表示进行融合。比如对于“刘德华的忘情水”这句话,通过知识库可以标注刘德华为singer、忘情水为song,期望能把singer和song这样的符号表示融入到网络中去。具体融合方法,既可以把符号标签进行embedding,然后把embedding后的vector拼接到wordvector后进行分类,也可以直接用multi-hot的方式拼接到word vector后面。分布式表示和符号表示融合后的CNN结构如图6所示。

图6 分布式表示和符号表示融合后的CNN分类网络结构
经过融合后,在14个领域约4万条测试数据集上,对比融合前后的F1值(如图7所示),从中可以看出,像餐厅、酒店、音乐等命名实体多且命名形式自由的领域,效果提升非常明显。

图7 在CNN中分布式表示融合符号表示前后效果对比
在以词为输入单位的CNN中,经常会遇到OOV(Out-Of-Vocabulary)问题,一般情况下会使用一个特殊向量(比如固定的随机向量或者已知词向量的平均值)来表示所有的OOV,这样做的效果肯定不够好。在我们的实现中,引入了FastText [8]来训练word vector,对于OOV,可以用其subword向量计算得到,有效地解决了OOV的问题。
在效果优化方面,除了本文中所述的word vector的动态训练和dropout之外,通过对训练数据进行数据增强(data augmentation),效果会有较大的提升。
2.1.3属性抽取
属性抽取问题可以抽象为一个序列标注问题,可以以字为单位进行序列标注,也可以以词为单位进行序列标注,如图8所示为以词为单位进行序列标注的示例。在这个例子中包含departure、destination和time三个待标注标签;B表示一个待标注标签的起始词;I表示一个待标注标签的非起始词,O表示非待标注标签词。

图8 序列标注示例
属性抽取的方法,包括基于规则的方法,基于传统统计模型的方法,经典的如CRF[9],以及基于深度学习模型的方法。2014年,在ARTIS数据集上,RNN[10]模型的效果超过了CRF。此后,R-CRF [11]、LSTM[12]、Bi-RNN[13]、 Bi-LSTM-CRF[14]等各种模型陆续出来。
在属性抽取这个任务中,我们采用了如图9的网络结构,该结构具有以下优点。

图9 属性抽取网络结构
(1)输入层
在输入层,我们做了三部分工作:① 采用了分布式表示(word vector)和符号表示(symbol vector)融合的方式,有效利用了分布式的上下文学习能力和符号的抽象知识表示能力;②采用了局部上下文窗口(local context window),将窗口内的词的表示拼接在一起送入一个非线性映射层,非线性映射具有特征学习和特征降维的作用;③采用了FastText [8]进行word embedding的学习,可以有效解决OOV(Out-Of-Vocabulary)的问题。
(2)Bi-LSTM层
在中间的隐藏层,采用Bi-LSTM进行特征学习,既能捕捉上文特征,也能捕捉下文特征。
(3)输出层
在输出层有几种典型的做法,比如Bi-LSTM+Softmax、Bi-LSTM+CRF等,Bi-LSTM+Softmax是把属性抽取在输出层当成了一个分类问题,得到的标注结果是局部最优,Bi-LSTM+CRF在输出层会综合句子层面的信息得到全局最优结果。
2.1.4意图排序
在表1中,我们展示了一个例子,如果不看上下文,无法确定“后天呢”的意图。为了解决这个问题,在系统中我们设计了意图排序模块,其流程如图10所示。对于用户输入的utterance,一方面先利用分类抽取模型去判定意图并做抽取;另一方面,直接继承上文的意图,然后根据这个意图做属性抽取。这两个结果通过特征抽取后一起送入一个LR分类器,以判定当前utterance是应该继承上文的意图,还是遵循分类器分类的意图。如果是继承上文意图,那么可以把这个意图及其属性抽取结果作为最终结果输出;如果是遵循分类器分类的结果,那么可以把各个结果按照分类器分类的置信度排序输出。

图10 基于上下文的意图延续判定
2.2智能问答
在具体的业务场景中有三种典型的问答任务,一是用户提供QA-Pairs,一问一答;二是建立结构化的知识图谱,进行基于知识图谱的问答;三是针对非结构化的文本,进行基于阅读理解的问答。本文重点介绍我们在阅读理解方面做的工作,比如利用阅读理解解决淘宝活动规则的问答。
在阅读理解的方法上,目前针对斯坦福大学的数据集SquAD,有大量优秀的方法不断涌现,比如match-LSTM [15]、BiDAF [16]、DCN [17]、 FastQA [18]等。文献[18]给出了目前的通用框架,如图11所示,主要分为4层:① Word Embedder,对问题和文档中的词进行embedding;② Encoder,对问题和文档进行编码,一般采用RNN/LSTM/BiLSTM;③ Interaction Layer(交互层),在问题和文档之间逐词进行交互,这是目前研究的热点,主流方法是采用注意力机制(attention);④ Answer Layer(答案层),预测答案的起始位置和结束位置。

图11 阅读理解的通用框架

2.3智能聊天
面向open domain的聊天机器人目前无论在学术界还是在工业界都是一大难题,目前有两种典型的方法:一是基于检索的模型,比如文献[19-20],其基本思路是利用搜索引擎通过计算相关性来给出答案;二是基于Seq2Seq的生成式模型,典型的方法如文献[21-22],其网络结构如图12所示。

图12 Seq2Seq典型网络结构


图13AliMe Chat流程图

图14 带注意力的Seq2Seq网络结构示例

图15 IR、Generation、Rerank、IR+Rerank+Generation效果对比
此模型在阿里小蜜中上线后,示例如图16所示。在阿里小蜜中,针对之前的IR模型和AliMe Chat模型,利用线上流量做了A/B Test,结果如图17所示。从用户日志中随机选择2 136条数据,其中1 089是采用IR模型回答,另外1 047是采用AliMe Chat回答,AliMe Chat Top1答案的准确率(accuracy)是60.36%,远远好于IR的40.86%。

图16AliMe Chat在阿里小蜜中上线后的聊天示例

图17 阿里小蜜中IR方法与AliMe Chat方法A/BTest结果



图18 对话管理框架图
3.1智能服务——小蜜家族
2015年7月,阿里巴巴推出了自己的智能服务助理-阿里小蜜,一个围绕着电子商务领域中的服务、导购,以及任务助理为核心的智能对话交互产品。通过电子商务领域与智能对话交互领域的结合,带来传统服务行业模式的变革与体验的提升。在2016年的双“十一”期间,阿里小蜜整体智能服务量达到643万,其中智能解决率达到95%,智能服务在整个服务量(总服务量=智能服务量+在线人工服务量+电话服务量)占比也达到95%,成为了双“十一”期间服务的绝对主力。阿里小蜜主要服务阿里国内业务和阿里国际化业务,国内业务如淘宝、天猫、飞猪、健康、闲鱼、菜鸟等,国际化业务如Lazada、PayTM、AE等。
随着阿里小蜜的成功,将智能服务能力赋能给阿里生态圈商家及阿里生态之外的企业和政府部门,便成了必然的路径。店小蜜主要赋能阿里生态中的商家,云小蜜则面向阿里之外的大中小企业、政府等。整个小蜜家族如图19所示。

图19 小蜜家族



参考文献
[1] https://en.wikipedia.org/wiki/Natural_language_understanding.
[2]Percy Liang, Natural Language Understanding:Foundations and State-of-the-Art,ICML, 2015.
[3]Yoon Kim, Neural Networks for Sentence Classification, EMNLP, 2014.
[4] Suman Ravuri, and Andreas Stolcke, Recurrent Neural Network and LSTM Modelsfor Lexical Utterance Classification, InterSpecch, 2015.
[5] Siwei Lai, Liheng Xu, Kang Liu, and Jun Zhao, Recurrent ConvolutionalNeural Networks for Text Classification, AAAI, 2015.
[6] Chunting Zhou, Chonglin Sun, Zhiyuan Liu, and Francis C.M. Lau, A C-LSTMNeural Network for Text Classification, arXiv, 2015.
[7]Armand Joulin, Edouard Grave, Piotr Bojanowski, and Tomas Mikolov, Bag ofTricks for Efficient Text Classification, EACL, 2017.
[8] Piotr Bojanowski,Edouard Grave, Armand Joulin and Tomas Mikolov, EnrichingWord Vectors withSubword Information, TACL, 2017.
[9] C. Raymond, and G.Riccardi, Generative and discriminative algorithms for spoken languageunderstanding, Interspeech, 2007.
[10] Kaisheng Yao,Geoffrey Zweig, Mei-Yuh Hwang, Yangyang Shi, and Dong Yu, Recurrent neural networksfor language understanding, InterSpeech, 2013.
[11] Kaisheng Yao,Baolin Peng, Geoffrey Zweig, Dong Yu, Xiaolong Li, and Feng Gao, Recurrent conditionalrandom field for language understanding, ICASSP, 2014.
[12] Kaisheng Yao,Baolin Peng, Yu Zhang, Dong Yu, Geoffrey Zweig, and Yangyang Shi, Spokenlanguage understanding using long short-term memory neural networks, 2014 IEEESpoken Language Technology Workshop (SLT), 2014.
[13] Grégoire Mesnil,Yann Dauphin, Kaisheng Yao, Yoshua Bengio, Li Deng, Dilek Hakkani-Tur, XiaodongHe, Larry Heck, Gokhan Tur, Dong Yu, and Geoffrey Zweig, Using Recurrent NeuralNetworks for Slot Filling in Spoken Language Understanding, TASLP, 2015
[14] Guillaume Lample,Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Chris Dyer,Neural architectures for named entity recognition, NAACL, 2016.
[15]Shuohang Wang, and Jing Jiang, Machine comprehension using match-lstm andanswer pointer, ICLR, 2017.
[16]Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hananneh Hajishirzi,Bidirectional attention flow for machine comprehension, ICLR, 2017.
[17]Caiming Xiong, Victor Zhong, and Richard Socher, Dynamic coattention networksfor question answering, ICLR, 2017.
[18]Dirk Weissenborn, Georg Wiese, and Laura Seiffe, Making Neural QA as Simple asPossible but not Simpler, arXiv, 2017.
[19] Zongcheng Ji,Zhengdong Lu, and Hang Li, An information retrieval approach to short textconversation, arXiv, 2014.
[20] Zhao Yan, NanDuan, Jun-Wei Bao, Peng Chen, Ming Zhou, Zhoujun Li, and Jianshe Zhou, Docchat:An information retrieval approach for chatbot engines using unstructureddocuments, ACL, 2016.
[21] Dzmitry Bahdanau,Kyunghyun Cho, and Yoshua Bengio, Neural machine translation by jointly learningto align and translate, ICLR, 2015.
[22] Oriol Vinyals, andQuoc V. Le., A neural conversational model, ICML Deep Learning Workshop, 2015.
[23] Minghui Qiu,Feng-Lin Li, Siyu Wang, et al., AliMe Chat: A Sequence to Sequence and Rerankbased Chatbot Engine, ACL, 2017.