前言
为什么要写这本书
2015年我跳出一家传统的软件公司,重新做回文本挖掘的相关工作。那个时候心中的执念是想把自己读硕士时的研究方向继续下去。跳出人生的舒适区,发现周围的技术真的是日新月异,从而感叹自己的落伍和脱节。于是开始从最简单的分词做起,职业生涯起起伏伏,在那段岁月中依然保持着心中的执念和对求知的渴望。有幸的是,在这个过程中结识了一些业内的好友,在他们的不断指引下,感觉每天都小有进步。在学习的过程中,我正好也赶上了自然语言处理技术的浪潮,在AI技术深入人心的阶段入行实是我人生的一大幸事!
对话系统是自然语言处理(NLP)领域的一颗璀璨明珠,它源于专家库系统。从技术的角度讲,它集结了自然语言理解(NLU)技术和自然语言生成(NLG)技术,而自然语言处理又恰恰是人工智能(AI)最难破解的领域。就是在那段时间里,我萌发了要做对话系统的想法。万事开头难,在这个过程中翻阅了不少参考资料,但是发现一个问题,市场上专门写对话系统的书寥寥无几,介绍自然语言处理的专业书籍也特别少。所以只能翻看一些论文,但论文的理论性很强,实操性又太差,对初学者和基础薄弱者来讲很不友好。当时市场上流行的自然语言处理的书籍可以分以下几种类型:第一,经典的教材,如宗成庆老师的《统计自然语言处理》;第二,经典实操教材,如《Python自然语言处理》;第三,经典的翻译教材,如《统计自然语言处理基础》。而讲解中文自然语言处理的实操性的书籍着实太少了。
2018年冬天的一个午后,我和郭师光几个人一起吃饭,茶余饭后聊起聊天机器人,大家有很多共同的想法。在自然语言处理、深度学习以及人工智能领域,大家都积累了一些经验,所以我就提议:大家能不能围绕自然语言处理和对话系统写一本书,写写大家对自然语言处理技术以及对话系统的认识,帮初学者归纳总结一些在中文文本挖掘方面的知识点和成功经验。我的提议很快得到了崔燕红博士的响应和支持,就这样,本书的创作团队正式成立。不过,在创作过程中也遇到了很多问题。对话系统本身要求技术人员对算法和工程都要有一个清晰和完整的认识,而且需要有很强的工程实践能力。我在书中这部分的讲解过程中提到,在不同公司的应用场景和数据集上做优化就会诞生不同的对话系统。但是,对话系统也有一些共同的部分,比如通用的自然语言处理方法、通用的架构,以及针对不同业务场景所采用的相同的解决方法。所以本书旨在帮助读者梳理相关知识点和思考问题的方式。许多个不眠之夜的奋笔疾书,许多个节假日的思考和资料的查阅,将我们的分享像涓涓细流,浇灌在每一个读者心间,我想我们的这些努力就是最大的价值。
读者对象
·自然语言处理入门者和爱好者
·初中级自然语言处理工程师
·AI技术入门者和爱好者
·开设相关课程的大专院校的师生
如何阅读本书
本书按内容可分为三大部分。
第一部分(第1章)为基础篇,简单地介绍数学和统计的基本相关理论,帮助读者了解一些基础背景知识,并熟悉一些基础的数学理论知识。
第二部分(第2~9章)为自然语言处理的技术篇,着重讲解自然语言处理的模型和技术。它们是构成对话系统的基础。一些模型可以用在自然语言理解模块(NLU)和自然语言生成模块(NLG)。同时帮助读者整理对话系统的工程和架构知识。
第三部分(第10~12章)为实例篇,通过对三个对话系统典型案例的讲解,让读者完整了解一个架构、设计和实现对话系统的流程。
勘误和支持
由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。你可以将书中的错误或宝贵意见发送至邮箱yfc@hzbook.com,期待能够得到你们的真挚反馈。
致谢
首先要感谢伟大的人工智能之父艾伦·麦席森·图灵,是他开创了整个AI领域。
感谢清华大学对我的培养。
感谢崔燕红、郭师光、党习歌对本书付出的巨大努力。
感谢机械工业出版社华章分社的编辑杨福川,在这一年的时间中始终支持着我的写作,你的鼓励和帮助引导我顺利完成全部书稿。
感谢唯品会的黄惠燕女士对我的支持和帮助。
最后感谢我的老婆和两位可爱的女儿,感谢你们时时刻刻为我灌输着信心和力量!
谨以此书献给我最亲爱的家人,以及众多热爱人工智能和自然语言处理的朋友们!
刘宇