自然语言处理:持续探索,稳中前行
2015年,借助移动互联网技术、机器学习领域深度学习技术的发展,以及大数据语料的积累,自然语言处理(Natural Language Processing,简称NLP)技术发生了突飞猛进的变化。越来越多的科技巨头开始看到了这块潜在的“大蛋糕”中蕴藏的价值,通过招兵买马、合作、并购的方式、拓展自己在自然语言处理研究领域的业务范围,进一步提升自然语言处理在整个公司中的主导地位。与此同时,也不断有新兴的科技公司涌现,提出自己的在智能交互、语音识别、机器翻译等方面的解决方案,试图在自然语言处理这片广阔的蓝海上划分自己的领土、树立自己的标杆。
本文通过回顾自然语言处理的发展历史,解读2015年整个自然语言处理行业的重大变化,进而提出新的时代下自然语言处理技术的发展瓶颈、以及对于自然语言处理所提出的挑战、自然语言处理未来的发展方向。
回顾
自人工智能在1956年达特茅斯会议上首次提出,让机器完成更多的智力工作成为科学家努力的方向。其中一个重要的目标就是希望机器能够与人类进行更加自然高效的交流,希望机器读懂人类深奥的语言,同时以一种我们习惯的方式进行交互,而解决这个问题的关键技术就是自然语言处理。
尤其是近20年来,随着互联网的发展引发了对这一技术的强劲需求,这一技术在得到长足发展的同时,也在有力地促进互联网核心能力的增强。比如,目前互联网提供的一个基础性能力是信息检索。人们在搜索引擎中输入关键词,就可以获得相关信息。在20年前,互联网刚开始发展的初期,给搜索引擎输入“和服”,返回的结果中很可能包含不少生产、销售“鞋子和服装”的公司的信息。现在这种错误已经比较少了,而促进其质量不断提升的一个核心就是采用了不断改进的自然语言理解技术。“互联网”自然语言理解已经成为互联网发展的一个共识,并在不断深化。
最近几年,众多科技巨头正在这方面进行布局。2013年谷歌以超过3000万美元收购了新闻阅读应用开发商Wavii。Wavii擅长自然语言处理技术,可以通过扫描互联网发现新闻,并给出一句话摘要;微软将自然语言处理技术应用在了智能助手小冰、Cortana上,取得了不错的效果,通过机器翻译使Skype具备了实时翻译功能;自然语言处理技术是Facebook智能助手M背后的核心技术之一,其产品负责人称“我们对M做的事情可以让我们更好地理解自然语言处理。”
国内的科大讯飞在去年年底发布了自然语言处理云平台,很早推出语音合成产品,在中文领域的自然语言处理和语音合成方面有着深厚积累。可见,早在前几年,众多科技巨头和国内IT厂商就已对自然语言处理这篇潜在的广阔市场觊觎已久,纷纷开始摩拳擦掌,准备将自然语言处理技术向公司的核心业务方向进行转移,针对业务线转型、新产品提出来酝酿更大的动作。
发展
2015年是自然语言处理技术进一步发展的一年。由于自然语言处理的主流技术主要是以统计机器学习为基础的,因此这些技术的性能就依赖两个因素:一是针对不同任务的统计模型和优化算法,二是相应的大规模语料库。2015年得益于深度学习算法的快速进展和大规模社交文本数据以及语料数据的不断积累,自然语言处理技术有了飞跃式的发展。在这一年,各大厂商致力于解决语音识别、语义理解、智能交互、搜索优化等领域更加复杂、困难的问题,持续不断地对原有产品的算法、模型进行优化与革新。
在新产品方面,2015年带给了我们太多的惊喜。高考期间,百度推出了小度机器人,无独有偶,十月底,Rokid团队推出的Rokid机器人也与公众见面。这些实体机器人不仅能用拟人的思维识别语义,尝试与用户建立起更深层、连续的沟通,还能模仿人的“思考”,先从海量互联网内容中提取信息,然后按人的思维逻辑对信息进行推理分析和筛选,再得到答案。不仅如此,优秀的实体机器人还能与智能家居设备深度融合,并接入音乐、新闻等内容,还能给予摄像头进行手势唤醒与远场识别。
2015年,远场语音识别技术突破了5米的瓶颈,大幅度改进了语音交互的自由度,再次刷新业界期待。利用麦克风阵列、回声消除等技术将目标说话人的声音增强,并抑制/消除噪声和回声,由此进行语音前端处理;在语音识别引擎,则针对麦克风阵列处理后的数据进行收集、训练,以使远场效果最优化。目前国内集成全新的4麦克风阵列方案,利用麦克风阵列的空域滤波特性——在目标说话人方向形成拾音波束(BeamForming),抑制波束之外的噪声;结合独特的去混响算法,最大程度的吸收反射声,达到去除混响的目的。
其中,汉语语音识别技术也取得了重大突破:识别相对错误率比现有技术降低15%以上,使汉语安静环境普通话语音识别的识别率接近97%。通过基于多层单向LSTM的汉语声韵母整体建模技术,成功地把连接时序分类(CTC)训练技术嵌入到传统的语音识别建模框架中,再结合语音识别领域的决策树聚类、跨词解码和区分度训练等技术,大幅度提升线上语音识别产品性能,是一次框架式的创新。
2015年,“字根嵌入”的提出,将“字根作为中文语言处置惩罚的最小单位进行研究”,机器在处置惩罚中文分词、短文本分类及网页排序方面的效果大幅提升,可以有效促进机器对用户中文表意进行深度学习,让搜索引擎更加智慧、更“懂“用户。
随着大数据技术和深度学习算法的不断发展,2015年,基于数据驱动的自然语言对话系统也为我们打开了新的思路:通过提出Deep Match CNN和Deep Match Tree两种匹配模型以及Neural Responding Machine(NRM)对话生成模型,并深入挖掘大规模对话数据,很容易地构建一个自动生成对话系统,其准确率相比传统的机器翻译模型由26%提高到76%,而且对话十分自然流畅。
2015年,许多厂商也纷纷开源了自己用于自然语言处理、机器学习的工具包和技术专利。Facebook人工智能研究院(FAIR)宣布开源了一组深度学习工具,这些工具主要是针对Torch机器学习框架的插件,包括iTorch、fbcunn、fbnn、fbcuda和fblualib。这些插件能够在很大程度上提升深度学习的速度,并可用于计算机视觉和自然语言处理等场景。Torch已被Google、Twitter、Intel、AMD、NVIDIA等公司采用。
Google、Microsoft和IBM分别发布并开源了自己的机器学习工具包TensorFlow、DMTK和SystemML。Google已将TensorFlow用于GMail(SmartReply)、搜索(RankBrain)、图片(生成图像分类模型–Inception Image Classification Model)、翻译器(字符识别)等产品。DMTK其功能特点以及定位更倾向于自然语言处理方面,例如文本分类与聚类、话题识别以及情感分析等。
SystemML则是IBM研发了超过十年的机器学习技术,沃森(Watson)在几年前的大型活动里就整合了很多SystemML的机器学习功能。语音识别知名厂商SoundHound.inc年底也开放了自己的“Houndify”平台,通过与各大传统行业厂商深入合作,集成各个方面的行业数据:如与Expedia.com合作,集成酒店、航班方面的语料数据;与Xignite合作,集成金融市场语料数据,意在通过语音“识别一切”,构建更广阔的识别平台。
瓶颈
目前自然语言处理技术的两大瓶颈就是大规模语料数据的建设,以及语义分析的进一步完善。
主流的自然语言处理技术是以统计机器学习为基础的,这就需要大规模的语料库。在很多任务中,这些语料库是需要人工构建的,这是非常费力的工作。因此,数据共享是一个可以促进研究发展的必不可少的因素。可以说,自然语言处理的快速发展离不开一些开源的语料库,比如WordNet、PennTreebank等。
第二,任何语料库无论大小类型,都难以囊括某个领域的全部案例;而且,语料库的标注体系往往难以把握,类别划分过粗,则无法全面、细致地描述语言,类别划分过细,则标注信息过于庞大、降低标注效率,统计数据的稀疏问题严重,训练出来的模型健壮性差。
第三,因为人工标注的语料库毕竟是费时费力的工作,因此还需要从模型和算法方面去研究如何利用大量的无人工标注或部分标注的数据,也就是半监督学习,但这方面的研究还不是特别成熟。
自然语言处理技术的另一大瓶颈就是如何精确地表现自然语言的语义,比如在人机交互过程中,首先就要理解用户的意图,而这里“用户的意图”就是语义。目前业界常用的方法有两种:基于知识或语义学规则的语义分析方法和基于统计学的语义分析方法。
尽管两类方法都能在一定程度上进行自然语言语义的推导以及信息之间关联的判别,但是基于知识与语义学规则的方法无法覆盖全部语言现象、推理过程复杂,无法处理不确定性事件,规则间的相容性和适用层次范围存在缺陷和限制,知识和语义规则的建立是瓶颈问题;而基于统计学的方法则过多地依赖于大规模语料库的支持,性能依赖语料库的优劣,易受数据稀疏和数据噪声的干扰,正如之前提到,大规模语料库的建立和语料质量的保证仍是瓶颈问题。
可喜的是,如火如荼的云计算为复杂模型计算以及大规模语料库的收集与建立提供了基础设施上的支撑。例如,借助Microsoft Azure,用户可以在几分钟内完成NLP on Azure站点的部署,并立即开始对NLP开源工具的使用,或者以REST API的形式调用开源工具的语言分析功能,而无需关注基础结构,只需专注于应用程序的业务逻辑。PaaS(平台即服务)的特性隐藏了基础设施的细节,让用户无须关心操作系统、运行环境、安全补丁、错误恢复等问题,这使得用户进行NLP语料库建设以及应用程序使用的门槛大大降低。
挑战
随着智能硬件技术与移动技术的蓬勃爆发,自然语言处理技术的应用趋势也发生了变化。一方面用户要求自然语言处理技术可以精准地理解自己的需求,而且直接给出最匹配的答案,而非简单地给出Url让用户自己去找答案(起码目前代表业内较高水平的小度机器人还是这样做的)。
另一方面是需要自然语言处理技术可以与用户进行对话式搜索与智能交互,例如针对“我到哪里可以买到漂亮衣服?”互联网针对衣服款式的定位、价钱的定位等条件与用户进行对话与交互,通过基于自然语言处理技术的搜索引擎来步步引导用户,帮助用户逐渐发现自己的真实需求,进而给出最优答案。
第三方面,需要自然语言处理技术对用户进行“画像”,提供“主动推荐、不问即得”的个性化推荐服务。由于每个人各个方面的生活需求(尤其是娱乐方面的需求)不尽相同,自然语言处理技术可以根据用户的浏览历史来挖掘用户的喜好,进而针对用户的喜好进行精准式推荐。
在这样的需求下面,对于自然语言处理技术的未来发展提出了很大的挑战。它要求未来的自然语言处理技术能够做到:
需求识别。通过用户提出了多种多样的、复杂的、基于情感式的、语意模糊的需求进行深刻分析,精确地理解用户的需求。
知识挖掘。经过海量的网络数据与知识的挖掘分析,将各种结构化、非结构化、半结构化的知识进行组织与梳理,最终以结构化、清晰化的知识形式完整地呈现给用户。
用户引导。这与对话式智能交互相关,不仅根据用户的需求来提供“建议”,还能“猜测”用户可能会有什么未想到、未提出的需求,从而“先人一步”为用户提供相关的扩展信息。
结果组织和展现。由于用户更加青睐直接的答案,答案的形式可以是唯一答案、聚合答案、图片、多媒体的形式,这就要求自然语言处理技术能够将挖掘出的信息进行有效地组织与整理,以条理化、简洁化、直接化的形式呈现给用户。
展望2016
在电影《Her》里,语音交互成为普遍的交互方式:孤独的作家西奥多,有语音操控的随身计算设备,用语音撰写感人的书信安抚受伤人,还找到了“机器人女友”莎曼萨。我想,拥有一个贴心的“莎曼萨”,能做到“知我心、懂我意”,仿佛看到第二个自己,应该是很多人都会憧憬的事情。
展望2016年,自然语言处理技术还将沿着致力于实现智能化、人性化的搜索推荐、语音交互、语义理解的道路继续前行。相信不仅会有更多技术难题被攻克,也会有越来越多类似于“莎曼萨”的产品问世。
随着大数据技术的不断发展,大规模语料样本数据以惊人的数量不断积累以及自然语言处理在深度学习方面的不断深耕,目前业界已经开始使用上万小时的样本进行模型训练。
不难预测,不久,自然语言处理技术发展将很快进入10万小时数据样本训练阶段,只有这样,才能覆盖千差万别的用户口音差异、多领域歧义语料数据以及复杂的语法规则。再考虑环境变化的影响,未来训练语料量可能会突破100万小时。未来,基于统计学的语义分析方法研究将会继续深化,会随着大规模语料样本数据的不断积累以及大数据挖掘技术、深度模型算法的不断发展呈现质的飞跃。
随着训练数据量的迅速增加,如何实现大规模LSTM(长短时记忆模型)建模和CTC(连接时序分类)的有效训练,会成为一个核心的技术难题。未来语音识别领域的深度学习将进入数百GPU并行训练的状态,理论创新和算法技术创新都将围绕大数据展开。语音识别技术的研发方法,相对于现在必将发生深刻的变革。此外,CTC建模技术进一步降低了语音识别应用的解码成本,随着适合深度模型计算的专业硬件的大量涌现,语音识别云服务的成本将大量降低,从而推动语言处理与语音交互技术的更大范围的普及。
微信名:
HadoopSummit
微信ID:
hadoopinchina
中国Hadoop技术峰会是亚太地区举办最早、规模最大、影响力最广阔的大数据盛会。
Chinahadoop.com是China Hadoop Summit的内容网站。
HadoopSummit是Chinahadoop.com的微信发布平台。