2018年,其实是自然语言处理领域收获颇丰的一年,尤其是以Google公司在2018年11月份发布的BERT模型最为世人所瞩目,可以说是最近AI研究领域最为火爆的历史性突破。最近几年,无论从媒体报道还是切身感受,我们都看到人工智能目前的发展势头非常迅猛。如果我们简单回顾一下人工智能发展历程,不难发现其轨迹有三个发展阶段:第一个阶段是计算智能阶段,其典型表现在于计算机和人类相比是能存会算,其超大存储量、超高计算速度方面均可完胜我们人类;第二个阶段是感知智能阶段,具体表现在以语音识别和图像识别技术为代表的迅猛发展,如综艺电视节目中的“机智过人”“最强大脑”就是其很好的呈现形式;第三个阶段是认知智能阶段,这个阶段需要机器能够思考并具有情感。正因为人工智能与我们日常生活的联系越来越紧密,且自然语言处理技术是推动机器实现认知的关键性研究领域,所以我们有必要对自然语言处理应用进行深入探索。本书将利用目前流行的Google技术框架(TensorFlow)来实现自然语言处理方面的应用。
由于我们生活的方方面面被赋予了越来越多的数字化内容,因此相应的数据量也在呈指数级增长,并且大多数数据是与语言相关的数据,如电子邮件、社交媒体帖子、电话和网络文章,自然语言处理(NaturaILanguageProcessing,NLP)能够有效地利用这些数据帮助人们完成日常业务工作。NLP已经彻底改变了我们使用数据改善业务和生活的方式,并将在我们未来的日常生活中发挥更大的作用。
NLP最普遍的使用案例之一是虚拟助手(Virtual Assistants,VA),如百度小度助手、Apple的Siri、谷歌助手(Google Assistant)和亚马逊Alexa。当我向VA询问“附近最便宜的火锅”时(笔者利用手机上百度地图小度时,它会把附近最便宜的火锅店排在第一位),就会触发一系列复杂的NLP任务。首先VA需要了解(解析)我的请求(了解它需要检索火锅的价格,而不是停车位计时的价格),VA做出的决定是“什么是便宜的?”;然后VA需要对附近火锅的价格进行排名(也有可能基于我过去吃过的火锅店);最后VA抓取相关数据获取附近火锅的价格,并通过分析每家火锅店的价格和评论对它们进行排名。其实,我们在几秒钟内看到的结果是执行一系列非常复杂NLP任务的结果。
正是NLP在我们日常生活中呈现出越来越多的便利性,笔者才更想对NLP背后的模型原理和具体应用进行深入的探讨,以便我们对NLP有更多的认知。另外,笔者查看了近些年来的相关文献,发现单独讲解NLP方面的理论文献国内外都有,单独撰写NLP任务实现的技术工具(如TensorFlow)的图书也很多,而将二者结合起来的图书,目前在国内还没有发现(也许有,只是笔者没有发现而已)。于是,2018年4月,笔者就想对关于利用TensorFlow技术框架来实现NLP任务应用方面进行成体系地探索,以便对今后的工作有所积累。本书在创作过程中参考了《NaturalLanguage Processing with TensorFlow》(Thushan Ganegedara著)中的一些内容,在此向Thushan Ganegedara表达个人的敬意!
通过阅读本书,你将学会如何利用深度学习来实现许多有意义的NLP任务。对于本书中涉及的NLP任务,我们都有具体的代码实现(含实现过程),使用的技术框架为TensorFlow(1.8版本),编程语言为Python(3.6版本)。