如何寫出一本中文經典CS教科書


新智元專欄 作者:鄧侃 編輯:三石

【新智元導讀】若是一本書能夠成爲某個領域的經典教科書,並且被廣泛接受,那麼被書中重點介紹的內容,便成爲事實上的業界標準。如果中國學者能寫一本人工智能或計算機的教科書,被全球引爲經典,將會極大地促進中國,引領全球人工智能的發展。復星集團首席人工智能科學家鄧侃博士力薦計算機書籍《SPEECH and LANGUAGE PROCESSING》,並由此展開,隨筆談了談教科書是如何煉成的,他認爲現今的教科書應當是以“衆包”的形式展開,每個人既是作者又是讀者。

[1]

如果說計算機的理論基礎,歸功於圖靈,計算機的工程實現,歸功於馮諾依曼設計的計算機體系。那麼商用計算機的研製,尤其是硬件,頭號功臣應該是 IBM,軟件的頭號功臣,應該是 Bell Labs,因爲 Bell Labs 發明了 Unix 操作系統和 C 語言。

IBM TJ Watson Research Center 在紐約北邊,Bell Labs 在紐約西南,兩地相距 1 個多小時車程。這兩個研究中心有很多相似之處,譬如走進正門,醒目位置都是歷史陳列室,裏面都陳列着各自的大神及其成就。

走進 Bell Labs 歷史陳列室,自然要去拜拜 Ken Thompson 和 Dennis Ritchie 兩位大神,Unix 操作系統的第一版,主要由 Ken Thompson 研發,而 C 語言,基本是 Dennis Ritchie 的作品。

說到操作系統,不能不提另一位大神,Abraham (Avi) Silberschatz。他執筆寫的《Operating System Concepts》一書,深入淺出,要言不煩,是操作系統的經典教科書。不僅如此,他還寫了 PPT,方便教學,非常貼心。這本教科書,一版再版,至今已經第十版了 [1]。

除了《Operating System Concepts》,Avi Silberschatz 還寫了另一本經典教科書《Database System Concepts》。這本書也保持了他的一貫風格,深入淺出,要言不煩,還附帶 PPT。這本書也一版再版,至今已經第五版了 [2]。

如果一本書成爲某個領域的經典教科書,被廣泛接受,那麼被書中重點介紹的內容,便成爲事實上的業界標準。如果中國學者能寫一本人工智能的教科書,被全球引爲經典,將會極大地促進中國,引領全球人工智能的發展。

Figure 1. 《Operating System Concepts》各個歷史版本的封面。

http://codex.cs.yale.edu/avi/os-book/OS10/covers-dir/index.html

Figure 2. 《Database System Concepts》各個歷史版本的封面。

http://db-book.com/

[2]

之所以一版再版,是因爲相關技術更新很快,不僅需要添加新內容,而且先前的技術,有些已經被淘汰,需要刪減。

早年的計算機使用磁帶作爲存儲介質,後來被淘汰了,於是相關的串行存儲內容,需要刪減。隨着雲計算興起,虛擬機漸熱,這部分內容需要添加。另外,移動互聯網使得安卓手機操作系統變成熱門,安卓的內容也得添上。

以特斯拉爲標杆的智能汽車,以大疆爲標杆的無人飛機,以波士頓動力爲標杆的機器人,涉及的硬件不同,需要解決的任務也不同,它們對操作系統提出了新需求。

不僅操作系統的教科書,要與時俱進,其它方向的教科書,也需要跟得上技術發展的節奏。

《Artificial Intelligence: A Modern Approach》初版於 1995,當時被學界譽爲人工智能經典教科書。2003 再版,2009 年出第三版。從 2009年到現在,快 10 年了,沒有再版。從 1995年到現在,人工智能技術取得了巨大的進步,尤其是深度學習的進展日新月異。現在深度學習幾乎成了人工智能的同義詞。如果要出版《Artificial Intelligence: AModern Approach》第四版的話,估計 2/3 的內容要重寫。

如何才能快速地撰寫並更新教科書呢?

Figure 3. 《Artificial Intelligence: A Modern Approach》第三版封面。

http://aima.cs.berkeley.edu/cover.html

[3]

自然語言處理(Natural Language Processing, NLP)是人工智能的一個分支。這個領域的經典教科書是《Speech and LanguageProcessing》。這本書的第一版,於 2000 年前後出版。其實這本書的草稿,在 1997 年前後,就已經在學界流傳,並廣受讚譽了。

Figure 4. 《SPEECH and LANGUAGE PROCESSING》第一版封面。

這本書最初是一本論文彙總,選擇了若干優秀論文,根據不同主題,編排成若干章節。當時這本論文彙總的內容,偏重於 Speech Recognition,NLP 的內容不太豐富,而且幾乎沒有深度學習的內容。

Figure 5. 《SPEECH and LANGUAGE PROCESSING》第一作者Daniel Jurafsky。

本書的主要作者,是 Daniel Jurafsky。Dan 說,這本書最初只是一個論文精選目錄,目的是讓同學們快速瞭解該領域的研究前沿。後來同學們覺得一篇一篇下載論文原文 PDFs,太麻煩。於是,Dan 把這些精選論文彙總成冊,爲懶人們提供方便。

後來懶人們又建議,讀論文全文,太費事。要是能對每篇論文,做個簡單介紹,深入淺出,要言不煩,那就更方便了。於是 Dan 又繼續做好人,寫論文介紹,逐漸形成這本書的第一版。

現在這本書的內容,已經完全變樣了。Speech Recognition 的內容,被大大縮編,而且被放進正文後的附錄中去了。傳統的 NLP 方法,舍卒保車,主流的傳統方法被保留了一些,支流幾乎消失殆盡。同時,大大強化了深度學習的最新成果的介紹。

Figure 6. 《SPEECH and LANGUAGE PROCESSING》第三版目錄。

Daniel Jurafsky 本科博士受教於加州大學伯克利分校,畢業後去 University of Colorado Boulder 任教。在這期間,他不僅做出了很多亮麗的研究成果,而且持續更新《Speech and LanguageProcessing》的內容,逐漸成爲 NLP 領域大師。隨後,Dan 轉校到斯坦福大學任教。

Dan 的成功經驗,有三點值得重視,1. 廣讀論文,並且寫讀後感,2. 把衆多讀後感,分門別類編輯成書,3. 持續更新書的內容。

[4]

單槍匹馬地更新教科書,工作負擔太重。

2018年9月9日到14日,DeepMind 主辦 Deep Learning Indaba 2018 學術會議,會上有專家梳理了 NLP 前沿進展,並發表演講 [4]。該演講廣受業界好評。

如果比較一下近年來 NLP 的前沿進展,與《Speech and Language Processing》的內容,會發現剛剛出版的經典教科書,又需要更新了。一本書從寫作到印刷出版,至少要一年。而最近深度學習的進展實在太快,一年前的話題,已經略顯老舊。

一個可能可行的辦法,是發動學者們共同協作,既是讀者,也是作者。

1. 先在 GitHub 上羅列一個精選論文清單,類似於這樣 [5]。值得特別點讚的是,這個論文清單,是中國學者羅列的。

2. 發動相關學者,給每一篇論文寫介紹,深入淺出,要言不煩。

3. 把衆多論文的介紹,根據不同主題,串連成章節,形成教科書。

4. 定期出版教科書的最新版本,並持續更新論文清單和論文介紹。

Figure 7. A review of the recent history of NLP

https://www.kamperh.com/slides/ruder+kamper_indaba2018_talk.pdf

Figure 8. 生物醫學領域的機器學習應用的論文清單

https://github.com/xuhanvsxuhan/An-Incomplete-ML-Paper-Collection-for-BioMedical-Applications

參考文獻:

1. Operating System Concepts

http://os-book.com/

2. Database System Concepts

http://db-book.com/

3. Speech and Language Processing

https://web.stanford.edu/~jurafsky/slp3/

4. Frontiers of Natural Language Processing

https://www.kamperh.com/slides/ruder+kamper_indaba2018_talk.pdf

5. An Incomplete ML Paper Collection for BioMedicalApplications

https://github.com/xuhanvsxuhan/An-Incomplete-ML-Paper-Collection-for-BioMedical-Applications

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章