关于《自然语言处理入门》的反馈意见与澄清

各位读者大家好,

在大家的支持下,拙作《自然语言处理入门》取得了些许成绩,包括印数、繁体中文版企划等等,谢谢你们。

在读者群壮大的同时,我也收到了许多反馈。勘误类的反馈我在 《自然语言处理入门》勘误表 中一一答复并致谢,但一些两极化的评论也引发了我的一些担忧,在此我做一个统一的澄清。取决于读者自身的基础,产生了如下几种观点,我认为是不妥当的。

搞NLP只需看《自然语言处理入门》就够了,比某某教材好

只看一本书肯定是不够的,拿《自然语言处理入门》跟经典教材比也是不恰当的,拙作无意也无法取代经典教材。拙作定位是面向零基础读者的入门读物,相当于科普而非专著。专著中的定义、理论、推导证明等对零基础读者而言太难了。就入门而言,最重要的是兴趣而不是难度,所以读者看到的是一个通俗易懂的定位。同时,对有难度的部分,书里也有对专著的引用,请有志于深造的读者递归学习。

《自然语言处理入门》不够深入,理论性不强

这一点还是取决于读者自身的基础。事实上,关于拙作究竟是太难了还是太简单了这一点,我听到了许多截然相反的评价。有ML或数理基础的读者倾向于认为拙作太简单,而部分一点数学都接受不了的读者则认为拙作太难。我诚恳地建议,NLP是ML的应用层,既不要过高地期待NLP入门书会深入ML理论的核心,也不要连ML的皮毛都畏难抗拒。正如介绍语所言,拙作仅允许必需的公式出现。拙作既没有写成ML和NLP的并集,也没有写成NLP与ML的差集,个人认为是符合入门的定位的。

《自然语言处理入门》没怎么讲深度学习

惭愧,第十三章一定没有满足这部分读者。然而,深度学习是无论如何都不可能通过一章就讲清楚。数一数的话,线性代数基础需要一章、优化理论需要一章、词的分布表示需要一章、CNN/RNN/Transformer各需要一章、《自然语言处理入门》中涉及到的各种NLP任务各需要一章。基本上,CS224n有多少节课相应就需要多少章,这些章节加起来又是一本书了。另一方面,将这些内容加入到入门书里并不恰当。正如我在第一章所说,深度学习不是所有场景都适用,也不是所有企业都用得起深度学习,掌握传统机器学习有助于理解深度学习。深度学习有泡沫成分,本身也是一个理论不完备的领域,初学者不必急于求成。

《自然语言处理入门》讲了很多HanLP的内容

这在部分读者看来是好事,在另一部分读者看来是缺点。理论是通用的,实现只选取一种。作为入门书,我觉得有责任提供正确实现还能用到生产项目里的代码。我在前言和试读中都有提到,自己写的代码自己讲得清楚,所以书里讲到HanLP的设计和实现是理所当然的事情。

总之,读者自我定位和本书的定位是否匹配非常重要,不必跟风购买。千言万语,总结为一句话,定位就是入门,不要抱有过度的期待。有任何批评和建议,尽管留言或私信。同时,方便的话,欢迎读者朋友去豆瓣留下公正的书评。

其实有丰富的需求挺好啊,下次再出一本《深入自然语言处理》:smile:

1 Like

对,也从侧面反映出来NLP书籍的缺口是很大的。可能NLP的变化太快了,连期刊都赶不上前沿进展,更不用说经典教材了。我听说某经典NLP著作第三版修订了5年,每年都得重写好几个章节,出版遥遥无期。等我水平够了再说吧。

2 Likes

hankcs老师的这本书对我帮助满大的,作为初学者,我觉得有生产级别的相关代码实现可以弥补只有理论的不足,那些算法的公式,我觉得对于一个初学者来说,需要花时间去理解才能掌握,对于感兴趣的实现方法了话,还能直接去看hanlp的源码其实也满爽的,哈哈。

最近在用hanlp2.0,对于深度学习的领域的一些基础知识还是比较欠缺,还是需要恶补一波

1 Like

作为想入门学习者,这是一本非常好的书。只有经过实践,才能获得更深的理解。

1 Like

17年自学自然语言处理时就是看码农厂的文章,原理通俗易懂,后来随工作需要,使用 HanLP,在不同的算法上都借鉴了很多思想,算是站在了巨人的肩膀上,赞!:+1::+1::+1:

2 Likes