阿里巴巴AI Labs 将在7月5日发布第一款智能音箱设备的消息引发了国内极大的关注,但读者们不仅不熟悉阿里巴巴AI Labs,对阿里自然语言处理方面的成果是不是也不理解?这篇文章介绍了阿里巴巴被国际数据挖掘顶会KDD2017收录的一篇自然语言处理(NLP)的相关论文《一种新的语义编码模型及其在智能问答及分类中的应用》。
上周,关于阿里巴巴成立 AI Labs 的消息不胫而走。事实上,该机构在 2016 年低调成立,主要负责阿里巴巴集团旗下消费级 AI 产品研发,与 iDST 的定位有所区别。从机器之心收到的发布会邀请函及其他公开消息看,7 月 5 日,该机构将发布第一款实体产品智能音箱设备,它能够理解中文语音指令,还能让阿里巴巴的用户在淘宝上购物,短期内仅面向中国市场发售。
与此同时,这次为阿里巴巴智能音箱提供技术支持的团队也首次曝光了其自然语言处理成果。一篇自然语言处理(NLP)的相关论文《一种新的语义编码模型及其在智能问答及分类中的应用》被国际数据挖掘顶会 KDD2017 收录。在自然语言处理的两个核心应用场景------文本分类和智能问答上,阿里巴巴这套「即刻唤醒,即刻识别」神经网络模型的智能问答准确率相比微软的 wikiqa 数据集和 IBM 的 insuranceqa 数据集提升了 2-4%,是目前业内最高水准。
该论文的作者、阿里巴巴人工智能实验室资深算法工程师王成龙对机器之心谈到这项技术的挑战,「初期相关模型训练所需的语料较缺乏,在开发的同时,我们积累起来一批独有、海量的中文语料,有力支持了我们的模型训练。神经网络模型的计算复杂度比较高,性能问题是线上应用的一个主要瓶颈,这一方面,我们针对神经网络模型的线上部署做了很多的优化工作,保证在大并发请求下依赖能有较好的性能。」
另一方面,基于神经网络的 NLP 方法都依赖分词,英文的分词是天然的,而中文是以「字」为单位,这也使新品技术开发的难度有所提高。王成龙说:「英文的句子结构则更加清晰,而汉语重意合而不重形式,句子结构比较松散,中文相关标准语料集的缺失也是一大瓶颈。」
KDD 2017 将于今年 8 月 13 日召开
阿里巴巴收到 KDD2017 的邀请邮件
论文显示,阿里巴巴研发了一款名为 conv-RNN 的通用推理混合框架,用于文本的语义建模,无缝集成了从卷积和循环神经网络结构中提取语言信息的不同方面的优点从而加强新框架的理解力。可有效甄别用户的对话意图,自主决策对话中的策略,实现「自然语言无缝理解,跨领域自由切换」。
阿里巴巴首创的 conv-RNN 混合框架
业界普遍认为,自然语言处理是人工智能中最难的部分,也是决定 AI 是否「智能」的关键因素。王成龙在接受机器之心采访时说,「阿里巴巴在语音交互技术方面已经深耕多年,并已在多类产品中应用。」
针对这篇论文,该团队向机器之心发布了独家技术解读:
语义编码的意义
自然语言这一被人类发明的信号系统,通常被我们归为一种「非结构化数据」。其原因在于,自然语言文本是由一堆符号(token)顺序拼接而成的不定长序列,很难直接转变为计算机所能理解的数值型数据,因而无法直接进行进一步的计算处理。语义编码的目标即在于如何对这种符号序列进行数值化编码,以便于进一步地提取和应用其中所蕴含的丰富信息。语义编码是所有自然语言处理(Natural Language Processing,NLP)工作的「第一步「,同时也很大程度地决定了后续应用的效果。
传统的文本编码方式通常将其当作离散型数据,即将每个单词(符号)作为一个独立的离散型数值,如 Bag-of-Words (BOW)、TF-IDF 等。但是这类方法忽略了单词与单词之间的语义关联性,同时也难以对单词的顺序及上下文依赖信息进行有效编码。近几年,深度学习技术被广泛的应用于 NLP 领域,并在众多算法命题上取得了突破。其本质在于,深度神经网络在特征提取(语义编码)上具有极大的优势。
已有方法的瓶颈
当前,较为常用的文本语义编码模型包括循环神经网络(Recurrent Neural Network,RNN)以及卷积神经网络(Convolution Neural Network,CNN)。
循环神经网络是应用最为广泛的序列数据神经网络建模方法。相对于传统的前向神经网络,循环神经网络的主要特点在于,在每个时刻,其输出不仅要依赖于当前时刻的输入,还要考虑上一时刻的模型「状态」。通过对历史状态的依赖,RNN 模型能够有效的表征文本数据的上下文依存信息。但是,RNN 的「宏伟目标」-有效管理任意跨度的信息传递-往往使得其难以有效的训练,进而也限制了其在具体应用中的效果。
另一被广泛应用的语义编码模型是 CNN 模型。传统的 CNN 建模通常用于解决图像的特征提取。但近年来,众多学者尝试将其应用到文本处理领域。CNN 的模型结构来源于对人类视觉神经信号处理机制的模拟。与文本数据不同的是,图像数据通常被看做一个二维数据结构,而相应的 CNN 模型也更适于提取其中的「局部」特征。但与图像数据相似的是,文本数据中的上下文依赖通常可以被简化为一种「局部」信息,即传统 NLP 领域中的 N-gram 语言模型:文本中一个词的具体含义,通常只和上文有限距离内的几个词相关。因此,CNN 中的「局部卷积」信息处理机制同样可以应用于文本数据中,用于提取文本中的 N-gram 特征。但是,与图像信息不同的是,文本数据中的上下文依赖关系有可能会经历一个很长的跨度。而 CNN 只能对固定范围内的局部依存关系进行建模。因此,CNN 语义编码方法也存在一定的缺陷。
Conv-RNN
近期,我们团队与数据技术及产品部兄弟团队共同投稿一篇 KDD 文章,其中我们提出了一种新的文本语义编码算法 conv-RNN(如图 2 所示)。该模型在参考了循环神经网络与卷积神经网络的同时,进行了进一步的文本语义编码优化。conv-RNN 不仅保留了 RNN 模型对不定长跨度的上下文依赖的编码能力,还利用了 CNN 模型中常用的最大池化机制,用以更加简洁地从文本数据所蕴含的丰富信息中抽离出不同的信息表征。此外,在 conv-RNN 的基础上,我们还提出了一种新的智能问答(answer selection)模型以及文本分类(sentence classification)模型。为了充分验证所提出的模型的效果,我们分别选取了智能问答及文本分类领域的一批标准数据集,与当前业界的最新成果进行了对比验证。
智能问答
智能问答是当前比较火的一个 NLP 应用领域,也被认为是 NLP 研究最有可能于近期实现商业化落地的一个领域。在 conv-RNN 语义编码算法基础之上,我们进一步提出了一种新的问答匹配模型。此外,在该模型中,我们还引入了一种「权值共享」机制以及 attention 方法,用以进一步提升 question-answer 匹配效果。
我们选用了微软发布的 WikiQA 数据集以及 IBM 发布的 InsuranceQA 数据集用来对比所提出的模型与业界的 state-of-the-art 方法,以验证该模型的有效性。由结果可知,在 WikiQA 数据集上,conv-RNN 击败了所有 state-of-the-art 方法,并且在 MAP(mean average precision)和 MRR(mean reciprocal rank)两个指标上均取得了较大的提升。在 InsuranceQA 数据集上,conv-RNN 在 dev 和 test2 两个测试集上均取得了较大的提升,仅在 test1 上略低于 AP-BILSTM。
文本分类
在 conv-RNN 的基础上,我们进一步提出了一种新的文本分类模型(如图 4 所示)。为了验证该模型的有效性,我们选取了业界常用的 5 个标准的分类数据集:Movie Review(MR);Stanford Sentiment Treebank-1(SST-1);Stanford Sentiment Treebank-2(SST-2);Subj;IMDB。由对比结果可知,conv-RNN 在前 4 个数据集上均超越了各类 state-of-the-art 方法。
总结
语义编码技术是所有 NLP 工作的基础,也是当前 NLP 技术进一步发展的主要「瓶颈」所在。我们在语义理解以及更上层的智能问答、多轮人机交互方向已经有了一定的技术积累,后续还会继续在这一方向发力,以期能够尽快做出为大众服务的人工智能产品。