《自然語言處理入門》不是 NLP 學習路上的萬能藥

2021-03-02 圖靈教育

《自然語言處理入門》是圖靈 2019 年 10 月出版的一本 NLP 領域的入門圖書,作者是何晗(網名 hankcs,HanLP 作者、「碼農場」博客博主)。圖書上架之後得到了廣大的讀者的喜愛,在短短半年內,已經印刷了 6 次,總印數為 14 000。與此同時,這本書目前已經被三十多所學校的教師或者研究團隊作為參考教材,或者大公司的 NLP 團隊作為交流參考資料。不誇張地說,這本書在某種程度上滿足了一大批讀者的訴求,而此前圖書市場上並沒有圖書做到這一點。

我們收到過很多朋友的致謝,非常榮幸這本書對這部分讀者幫助如此之大。我們也收到過一些朋友三三兩兩的意見,反饋這本書在某些方面並沒有達到他們的期望,非常感謝這些反饋和建議。大家的需求如此多樣,而我們的書只能定位解決其中的一兩個問題,更多問題,只能寄希望於出版更多圖書。

但是,還有一小撮讀者對這本書有一定的誤解,甚至有讀者買來圖書都沒有好好閱讀就跑去豆瓣評了一星(這本書目前在豆瓣的評分是 8.8 分),大家知道,對於辛苦寫作的作者和認真出版的出版方來說,這樣的評論很扎心,也很無奈,因為你沒辦法跟做出這種行為的讀者講理——你想通過大家的意見認真提升圖書品質,而他只不過是靠膚淺的認知隨意過把嘴癮。我能這麼提這個問題是因為我試著按圖索驥找到過其中兩位讀者諮詢他們的意見,結果,你可能猜到了,他們甚至沒有認真讀過書,對於自己的「惡毒」評論也沒說出個所以然來。

我也想藉此提醒諸君,在豆瓣或者大眾點評等網站上,儘量客觀表達你的使用體驗,如果能夠做到有理有據那就更好了,這是為數不多能體現我們普通人影響力的地方。

書無完書,也不可能滿足所有讀者的閱讀需求,只希望真正需要這這本書人都能找到這本書。

好了,說這麼多,其實這篇文章的核心是為部分對《自然語言處理入門》有些許誤解或者過度期待的讀者簡單解釋一下,我原文轉載了作者何晗的說明,請見如下。

各位讀者大家好:

在大家的支持下,拙作《自然語言處理入門》 取得了些許成績,包括印數、繁體中文版企劃等,謝謝你們。

在讀者群壯大的同時,我也收到了許多反饋。勘誤類的反饋我在 《自然語言處理入門》勘誤表 中一一答覆並致謝。但一些兩極化的評論也引發了我的一些擔憂,在此我做一個統一的澄清。取決於讀者自身的基礎,產生了如下幾種觀點,我認為是不妥當的。搞NLP只需看《自然語言處理入門》 就夠了,比某某教材好只看一本書肯定是不夠的,拿《自然語言處理入門》 跟經典教材比也是不恰當的,拙作無意也無法取代經典教材。拙作定位是面向零基礎讀者的入門讀物,相當於科普而非專著。專著中的定義、理論、推導證明等對零基礎讀者而言太難了。就入門而言,最重要的是興趣而不是難度,所以讀者看到的是一個通俗易懂的定位。同時,對有難度的部分,書裡也有對專著的引用,請有志於深造的讀者遞歸學習。這一點還是取決於讀者自身的基礎。事實上,關於拙作究竟是太難了還是太簡單了這一點,我聽到了許多截然相反的評價。有ML或數理基礎的讀者傾向於認為拙作太簡單,而部分一點數學都接受不了的讀者則認為拙作太難。我誠懇地建議,NLP是ML的應用層,既不要過高地期待NLP入門書會深入ML理論的核心,也不要連ML的皮毛都畏難抗拒。正如介紹語所言,拙作僅允許必需的公式出現。拙作既沒有寫成ML和NLP的併集,也沒有寫成NLP與ML的差集,個人認為是符合入門的定位的。慚愧,第十三章一定沒有滿足這部分讀者。然而,深度學習是無論如何都不可能通過一章就講清楚。數一數的話,線性代數基礎需要一章、優化理論需要一章、詞的分布表示需要一章、CNN/RNN/Transformer各需要一章、《自然語言處理入門》 1中涉及到的各種NLP任務各需要一章。基本上,CS224n有多少節課相應就需要多少章,這些章節加起來又是一本書了。另一方面,將這些內容加入到入門書裡並不恰當。正如我在第一章所說,深度學習不是所有場景都適用,也不是所有企業都用得起深度學習,掌握傳統機器學習有助於理解深度學習。深度學習有泡沫成分,本身也是一個理論不完備的領域,初學者不必急於求成。這在部分讀者看來是好事,在另一部分讀者看來是缺點。理論是通用的,實現只選取一種。作為入門書,我覺得有責任提供正確實現還能用到生產項目裡的代碼。我在前言和試讀中都有提到,自己寫的代碼自己講得清楚,所以書裡講到HanLP的設計和實現是理所當然的事情。總之,讀者自我定位和本書的定位是否匹配非常重要,不必跟風購買。千言萬語,總結為一句話,定位就是入門,不要抱有過度的期待。有任何批評和建議,儘管留言或私信。同時,方便的話,歡迎讀者朋友去豆瓣留下公正的書評。如果你正在入門自然語言處理,或者對 NLP 很感興趣,不如先來了解下~

本書作者是自然語言處理類庫 HanLP 作者何晗。截至 2019 年 10 月初,該項目在 GitHub 上 Star 數已達 15 K,超過了賓夕法尼亞大學的 NLTK、史丹福大學的 CoreNLP、哈爾濱工業大學的 LTP。作者匯集多年經驗,從基本概念出發,逐步介紹中文分詞、詞性標註、命名實體識別、信息抽取、文本聚類、文本分類、句法分析這幾個熱門問題的算法原理與工程實現。書中通過對多種算法的講解,比較了它們的優缺點和適用場景,同時詳細演示生產級成熟代碼,助你真正將自然語言處理應用在生產環境中。

相關焦點

  • 【獨家】自然語言處理(NLP)入門指南
    v=nfoudtpBV68&list=PL6397E4B26D00A269 •  斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習算法、深度學習和NLP的神經網絡架構]http://cs224d.stanford.edu/syllabus.html •  Coursera:自然語言處理簡介[由密西根大學提供的NLP
  • 自然語言處理NLP快速入門
    【導讀】自然語言處理已經成為人工智慧領域一個重要的分支,它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 帶新手走進自然語言處理,7本NLP專業書
    自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟體系統。因而它是計算機科學的一部分。        自然語言處理(NLP)是計算機科學,人工智慧,語言學關注計算機和人類(自然)語言之間的相互作用的領域。1. 統計自然語言處理(第2版)評價:★★★☆ 3.5/5.0星
  • 國內自然語言處理(NLP)研究組
    /natural-language-computing/www.microsoft.com百度自然語言處理百度自然語言處理 - 理解語言,擁有智能,改變世界nlp.baidu.com阿里巴巴達摩院語言技術實驗室
  • 史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用
    眾所周知,史丹福大學自然語言處理組出品了一系列NLP工具包,但是大多數都是用Java寫得,對於Python用戶不是很友好。
  • 斯坦福NLP團隊發布最新自然語言處理Python庫
    【導讀】斯坦福NLP團隊,於1月29日發布了新版的自然語言處理Python庫:StandfordNLP,不同於以前java系的CoreNLP,
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。為什麼要寫這篇文章?
  • Awesome-Chinese-NLP:中文自然語言處理相關資料
    "閱讀原文"可直達:https://github.com/crownpku/Awesome-Chinese-NLPawesome-chinese-nlpA curated list of resources for NLP (Natural Language Processing) for Chinese中文自然語言處理相關資料圖片來自復旦大學邱錫鵬教授
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術(附代碼)
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。在它的幫助下,我們從文本中提煉出適用於計算機算法的信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。
  • NLP自然語言處理組
    黃書劍 副教授、博士生導師、江蘇省優青主頁:http://nlp.nju.edu.cn/huangsj/        分析理解人類語言是人工智慧的重要問題之一。南京大學自然語言處理課題組從事NLP領域研究工作近40年,國內最早從事該領域研究的科研團體之⼀,先後承擔過該領域的國家科技攻關項目、863項目、國家自然科學基金和江蘇省自然科學基金以及對外合作項目的研製,積累了大量的該領域研究工作所涉及到的理論、技術和經驗。
  • 一本開源的NLP入門書籍
    自然語言處理,即所謂的NLP是重要的支撐技術。許多明顯的與工作和生活無關的垃圾郵件,人一樣就可以看出來,但是基於規則的垃圾郵件網關處理起來卻總是差強人意。越來越多的電商、論壇甚至是視頻網站的彈幕,總是可以看到明顯的人身攻擊或者違法違規信息,但是基於規則的過濾機制總是被繞過。人類可以很輕鬆的理解二十四口交換機,知道蘋果是水果還是手機,但是機器如何做到呢?答案就是NLP。
  • NLP研究入門之道:自然語言處理簡介
    沒有語言,人類的思維也就無從談起,所以自然語言處理體現了人工智慧的最高任務與境界,也就是說,只有當計算機具備了處理自然語言的能力時,機器才算實現了真正的智能。從研究內容來看,自然語言處理包括語法分析、語義分析、篇章理解等。從應用角度來看,自然語言處理具有廣泛的應用前景。
  • Python自然語言處理工具NLTK學習導引及相關資料
    NLTK 大概是最知名的Python自然語言處理工具了,全稱"Natural Language Toolkit", 誕生於賓夕法尼亞大學,以研究和教學為目的而生
  • CMU2018春季課程:神經網絡自然語言處理課程(附PPT和代碼)
    ,主要內容是教學生如何用神經網絡做自然語言處理。專知內容組附上上一次CMU2018和CMU2017年課程:深度學習的內容:Neural Networks for NLP神經網絡自然語言處理課程▌課程描述神經網絡為語言建模提供了強大的工具
  • 中文NLP福利!大規模中文自然語言處理語料
    新智元推薦來源:AINLP作者:徐亮【新智元導讀】本文介紹一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料,可直接下載使用。
  • 【NLP】自然語言處理基礎微課程|語言學午餐
    小編痛下決心,同黑龍江大學自然語言處理實驗室(微信公眾號ID:hlju_nlp,在今天的另一則推送中專文介紹)的小夥伴們合作,計劃在本學期完成一門介紹自然語言處理的「微課程」。該課程將於下周三(9月17日)正式上線。下文是課程大綱,歡迎大家按時「上課」!
  • 不是你無法入門自然語言處理(NLP),而是你沒找到正確的打開方式
    當常規的機器學習Machine Learning升級發展到了一定的階段後,慢慢的被後起的深度學習Deep Learning奪勢而去,並如火如荼地引領了一波新高潮,因為Deep Learning有machinelearning過而不及之處!那當 Deep Learning 進入 NLP 領域,自然是要橫掃 ACL 一批 paper 才是。事實也是這樣的。
  • Python自然語言處理(NLP)入門教程
    (點擊上方公眾號,可快速關注一起學Python)作者:j_hao104   來源:http://www.spiderpy.cn/blog/detail/30本文簡要介紹Python自然語言處理NLTK是Python的自然語言處理工具包,在NLP領域中,最常使用的一個Python庫。什麼是NLP?簡單來說,自然語言處理(NLP)就是開發能夠理解人類語言的應用程式或服務。這裡討論一些自然語言處理(NLP)的實際應用例子,如語音識別、語音翻譯、理解完整的句子、理解匹配詞的同義詞,以及生成語法正確完整句子和段落。
  • NLP學習新資料:舊金山大學2019夏季自然語言處理課程
    推薦一份NLP學習新資料:舊金山大學自然語言處理課程,這門課程將於2019年夏季在舊金山大學數據科學碩士課程中講授。