Py学习  »  Python

只要会 Java 或 Python,普通程序员也能入门自然语言处理

图灵教育 • 4 年前 • 422 次点击  

1. NLP 如火如荼

皇冠上的明珠涌入大批粉丝

语言,对,就是我们每个正常人类每天说的话,写的字,以及其他各种以语言形式记录的内容,理解这些玩意,对于我们人类似乎是自然而然的,甚至不费吹灰之力。然而,目前对于 “万能”的计算机系统来说是个老大难问题。

例如,"晒下我被子,我感觉很潮",这个晒到底是晒太阳还是晒朋友圈呢?这个潮到底是潮湿还是新潮呢?这句话的理解不仅涉及词义消歧,还涉及到有关人类社会的背景知识和常识推断,计算机很难理解。

计算机处理或 “理解”自然语言的学科被称为自然语言处理(Natural Language Processing,NLP),是目前人工智能领域非常火热的分支。盖茨老师有句话叫“自然语言理解是人工智能皇冠上的明珠”,广为人知。

实际上,说“皇冠上的明珠”可能略微有些抽象了,咱们随便举几个例子你就知道自然语言处理“妥妥”地无处不在了。

例子一

你有个问题,要去某搜索引擎搜答案。你在搜索框中输入问题,搜索框可不是你的人类朋友,瞬间 Get 你的意思——搜索引擎要在暗地里疯狂分析你想表达什么意思,这期间就会用到 NLP 的各种技术:中文分词、命名实体识别、实体链接、指代消解、知识图谱等。

例子二

大家买东西或者寄快递的时候经常会把自己的“姓名手机号地址”一股脑粘贴到一个方框里,系统就会自动分开,用的也是 NLP。

例子三

你是个英语或日语渣渣,看学术文章(ba gua xin wen)的时候你得找机器帮你翻译,这活儿也得靠 NLP。

例子四

目前给你提供服务的各种人工智能客服,虽然经常被你调戏,但是你得承认,人家基本任务完成得不错。

好吧,茫茫多的例子就不举了......

实际上,自然语言处理和机器学习是研究人工智能的基础。基础是什么意思呢,就是干这行你得先学会它俩。机器学习大家听得更多,了解的也多,自然语言处理呢,基础性被低估了——目前正在飞速爆炸发展。

君不见,进入 NLP 领域的初学者越来越多——然而,入门难的问题折磨着大批 AI 新人。

2.入门 NLP

是否存在一种更轻松的方式?

外行入门 NLP 的圈子不容易,即使科班出身的人,在最初入门自然语言处理的过程中也屡屡受阻。要知道,自然语言处理涉及计算机科学、语言学、数学等多个领域的专业知识。

国内外问答网站上关注诸如「自然语言处理怎么最快入门?」「How do I learn Natural Language Processing? 」这类问题的读者非常多。汇集经典图书、资料、线上课程的答案很容易脱颖而出,比如屡屡被提到的国内经典之作宗成庆老师的《统计自然语言处理》、李航老师的《统计学习方法》。

寻一个答案容易,把问题真正解决难。经典书固然高屋建瓴,但吃透内容和落地代码并不容易,而工程类书籍则往往侧重对开源项目的接口介绍,缺乏深度与宏观系统性。如果你是个零基础初学者,一开始自学这类经典之作确实很容易受挫,甚至放弃。线上课程呢,存在同样的问题,不说国外优秀资源的语言障碍,大部分线上课程也是讲给科班出身的读者的,并且主要聚焦基础理论。

对于普通程序员,如果你也想进入 NLP 这个领域,边学习基础理论边实践代码,在你尝试学习网上推荐的各种经典图书和资料之前,我们诚挚地为你推荐这本《自然语言处理入门》。

这本书的作者何晗(@hankcs),曾经是上外一名日语专业的学生,如今是美国埃默里大学计算机博士生,研究方向是句法分析、语义分析与问答系统。

何晗写的自然语言处理类库 HanLP,截至 2019 年 10 月初,GitHub Star 数已达 15 K,超过了宾夕法尼亚大学的 NLTK、斯坦福大学的 CoreNLP、哈尔滨工业大学的 LTP。何晗的 “码农场”播客也是很多 NLP 领域朋友参考的学习资料。

何晗曾经跟你一样,在入门 NLP 的路上彷徨,跟天书般的术语与公式斗争,在迷宫般的教学代码中挣扎。幸运的是,他一路披荆斩棘走过来了。从门外汉到领域专业人士,他是如何做到的?《自然语言处理入门》一书汇集了他的学习经验与学习心得。

如果有更轻松的方式,作为一名普通入门 NLP 的学习者,你大可不必去走何晗走过的那些弯路。《自然语言处理入门》就是这些更轻松的方式中的一种,何晗在这本书的前言中讲到:

在我的开源自然语言处理项目 HanLP 流行起来后,我接触了大量 NLP 初学者,我看到不少人碰到了我当初苦苦思索的问题。许多用户不理解“统计自然语言处理”的设计理念,对 “语料”“训练”“模型”等概念十分陌生。同时,如果你缺乏自然语言处理基础的话,也无法掌握 HanLP 中的高级功能。还有部分学习热情高涨的用户尝试阅读 HanLP 的代码,却反应即便代码有注释,也看不懂为什么要这么写......
用户的问题和困惑越积越多,有些朋友建议我写一 本 HanLP 的书。然而我认为一本书不应当局限于代码,而应当让读者知其所以然,而彼时我觉得自己才疏学浅,写不出满意之作。后来经过几年的完善,HanLP 成为 GitHub 上最受欢迎的自然语言处理项目,我对自然语言处理的理解也系统化了一些。正巧图灵的王军花老师跟我约稿, 我想是时候将这些年的收获总结一下了。并且,最终,这是一本通用的 NLP 入门书,HanLP 只是作为案例展现。
我曾经也是一无所知的外行,自学时走过不少弯路,深知数学语言的艰深晦涩,并且痛恨罗列公式故作高深的文章,也不喜欢大而全的综述书籍。因此,我写了这本不太一样的入门书,将阅读体验排在学术规范之前。尽量用自然的语调讲几个具体算法,把每个算法讲清楚,力争做到让你在地铁上也能把书读完读懂。


3.工业界和学术界人士评价

《自然语言处理入门》一书在印刷之前,邀请了业内一些专业人士审阅,很感谢工业界的周明、李航、刘群、王斌、杨攀老师,学术界的宗成庆、刘知远、张华平老师,给出了阅读之后的评价,你可以从各位老师的评价中一窥这本书的特色。

工业界

最近几年NLP的研究进入高潮。很多人都想学习NLP但是不知道如何开始,目前国内NLP领域急需更多入门好书,HanLP作者何晗即将出版的这本《自然语言处理入门》值得一读。这本书比较系统地介绍了NLP的基础技术,深入浅出、容易理解,对初学者很有帮助。

——周明,微软亚洲研究院副院长,国际计算语言学会会长

自然语言处理是人工智能最核心也最具挑战的领域,我衷心希望有更多的人能加入这个领域的技术研究、开发、应用之中。相信何晗的这本《自然语言处理入门》会对大家有很大的帮助。本书以GitHub开源项目HanLP的代码实现为基础,介绍了从分词到句法分析再到深度学习的自然语言处理最基本的技术。本书叙述简洁清晰,讲解透彻深入,非常适合初学者。强烈推荐!

——李航,字节跳动人工智能实验室总监,《统计学习方法》作者

本书作者何晗原来也是一个自然语言的爱好者,现在已成为自然语言处理的专业人士,美国埃默里大学计算机科学专业的博士生。他自主开发了一套完全开放源代码的自然语言处理工具包HanLP,受到使用者的好评。这本书依托于HanLP工具包,从基本的概念和原理出发,讲解了自然语言处理中一些常用的问题和算法。我相信这本书融入了作者对这个领域各项技术的深刻理解和切身体会,一定会是一本非常好的入门书。

——刘群,华为诺亚方舟实验室语音语义首席科学家

这本书不仅介绍了NLP的任务及算法,也提供了可以实际运行的生产级代码,非常适合NLP初学者入门并快速布置到生产环境。本书的文字十分流畅,连标点符号都鲜有错误,展示了作者严谨的写作态度和极强的文字能力。虽然本书深度学习相关的篇幅不多,但是了解传统的NLP方法能够大大提升对问题的理解能力,推荐阅读!

——王斌,小米人工智能实验室主任、NLP首席科学家

几年前,第一次得知HanLP的作者何晗是上外一名非科班同学时,我很吃惊。要知道,即使科班出身,要开发一个如此完备的NLP工具都相当有挑战,更不用说HanLP在中文NLP开源领域还相当成功了。而今,何晗在美国就读CS领域的博士,他在课余时间坚持写作,结合自己的学习历程和和HanLP的开发经验给大家呈现了一本不太一样的NLP入门书。我很乐意把这本书推荐给大家。

——杨攀,我爱自然语言处理(52nlp)博主,公众号AINLP主理人


学术界

作者从实践的角度用通俗易懂的语言解释自然语言处理的概念,用应用实例和类程序语言描述算法,有鲜明的特色和很强的实用性,我相信这本书会深受读者的欢迎。

——宗成庆,中国科学院自动化研究所研究员、博士生导师,《统计自然语言处理》作者

近年来人工智能技术应用日益广泛深入,自然语言处理(NLP)也随之成为一门“显学”。作为教计算机学习理解和使用人类语言的学科,NLP在搜索引擎、推荐系统、社会计算、智能 音箱、机器翻译等几乎所有与“语言”有关的方向发挥着重要作用。由于人类语言的复杂特点, NLP所涉及的基础知识和技术非常多,虽然国内外有一些经典的教材,但与实际应用密切结合深入浅出讲授的著作凤毛麟角。本书作者是著名的中文NLP工具包HanLP的开发者,本书结合HanLP细致讲解NLP的关键技术,是上手NLP的优秀读物。我非常高兴将这本书推荐给对NLP感兴趣的朋友们。

——刘知远,清华大学副教授,MIT“35 岁以下科技创新35人”中国区榜单获得者

大数据与人工智能已经成为当今世界各国的战略必争之地,自然语言处理是人工智能科学皇冠上的明珠,大数据为自然语言处理的跨越式发展提供了算源与算力基础。HanLP吸收了我所开源的汉语分词系统ICTCLAS的精髓,何晗跟我深入讨论过我发表的论文,其学习能力与勤奋严谨给我留下了深刻印象。何晗结合HanLP宝贵的开发经验与NLP领域最新研究成果所写的这本书,是一部难得的NLP启蒙之作,推荐阅读。

——张华平,北京理工大学副教授、NLPIR-ICTCLAS创始人, 钱伟长中文信息处理科学技术奖一等奖获得者




4.更棒的一本书:其他特色

一本你一定能看懂的 NLP 图书:
  • 内容务实,图文并茂,算法、公式、代码相互印证,Java 与 Python 双实现
  • 学习路径清晰,尊重初学者认知规律,简单易懂好上手,双色印刷阅读体验佳

你有这些疑问吗?

随书附赠双生树思维导图。

双色印刷,排版精致。

作者何晗在 HanLP GitHub 问题区每周一次答疑。

最后,引用作者何晗的一段话,谨以此书献给即将进入 NLP 领域的读者:

历经 5 年的持续开发以及 1 年多的撰稿,我很自豪地将 HanLP v1.7.5 以及《自然语言处理入门》献给每一位用户、每一位读者。这本书封面上的图案是一只蝴蝶形状的词云,由全书 60 个关键术语构成。蝴蝶同时也是码农场与 HanLP 的标志,为业内人士熟知。蝴蝶象征着蝴蝶效应、非线性与混沌理论——虽然微小,但足以改变世界。希望这个项目和这本书能成为大家工程和学习上的“蝴蝶效应”,帮助大家在NLP之路上蜕变成蝶。

愿你在持续学习新知识的路上快速蝶变。

Java 与 Python 双实现

助你零起点上手自然语言处理

(扫一扫,抢先拥有)

HanLP 作者何晗汇集多年经验,从基本概念出发,逐步介绍中文分词、词性标注、命名实体识别、信 息抽取、文本聚类、文本分类、句法分析这几个热门问题的算法原理与工程实现。书中通过对多种算法的讲解,比较了它们的优缺点和适用场景,同时详细演示生产级成熟代码,助你真正将自然语言处理应用在生产环境中。

文末畅聊
小伙伴留言说说你对自然语言处理有哪些了解?或者你也可以在留言中给作者提问,写下你想知道的有关自然语言处理的一切,说不定还会得到作者的回复哦!精选留言选出 5 位获得赠书一本。截至2019.10.21。

题图来源:https://www.freepik.com

推荐阅读:
热度直逼TensorFlow的深度学习框架,我用它画下女朋友最美的脸
后悔没早知道这些Python特性
9本新书上市

☟ 更多好书
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47279
 
422 次点击