來自一個計算語言學的不完全指南
今天我們來嘗試做一個簡潔又有內容的 計算語言學不完全指南 ~
入門篇
一、什麼是計算語言學?
有些讀者糾結於「計算語言學(Computational Linguistics, CL)」、「自然語言處理(Natural Language Processing)」「語料庫語言學(Corpus Linguistics, CL)」這幾個術語或學科的關係。
其實這完全是沒有必要的。你只需要掌握相關的知識和技能來解決實際的語言學或應用問題即可,不必要糾結這些概念。計算語言學下面還細分語音處理、文本分析、機器翻譯、知識圖譜等具體方向。
因為這三個術語或學科緊密相連,大致的區分按字面就能區分;但深入之後,它們有很多重合的部分。很多學者在理解上也是很有爭議的。甚至有人認為,計算語言學和自然語言處理只是在語言學和計算機科學的不同稱呼,實質相同。
二、計算語言學有哪些書籍可以推薦?
這是很多讀者都關心的問題。下面簡單列舉基本入門的著作:
1.計算語言學,翁富良、 王野翊,中國社會科學出版社,2016
這本書很薄,寫作時間較早。包含數學等基礎,可以入門。2.計算語言學(修訂版),劉穎,清華大學出版社,2014這本書很簡單,介紹較全面。可以入門。3.統計自然語言處理(第2版),宗成慶,清華大學出版社,2013內容非常全面,包含相關學科基礎,適合基礎入門。4.Speech and Language Processing: An Introduction to Natural Language Processing,. Computational Linguistics, and Speech Recognition (Second Edition),Daniel Jurafsky, James H. Martin,Pearson,2014內容非常全面,包含相關學科基礎,適合基礎入門。
簡單說,前兩本比較簡單,而後兩本比較厚重。如果只是想了解下計算語言學,前兩本任意一本即可。但若是想深入了解,請認真鑽研後兩本,你翻翻該書的目錄就會驚嘆!
此外,要指出的是,Speech and Language https://web.stanford.edu/~jurafsky/slp3/。
進階篇
三、計算語言學要學一門編程語言嗎?
一般來講,掌握一門編程語言對學科的理解會加深許多,也會更容易理解之後模型、演算法的設計和原理。
如果打算掌握一門編程語言,對語言學讀者而言,Python是比較友好的高級編程語言,它的語法簡單,容易掌握,但是功能特別豐富!從1+1的數字運算,到當下最火的機器學習,Python都能承擔。如果你非常側重語言統計,也許有些教師也會用R語言、SPSS等。
相比而言,R的自由度比SPSS高,命令行界面,可能需要編程和數據結構基礎;但SPSS是圖形界面,操作簡單。
對於Python語言的學習,我們之前推送過北京理工大學的系列課程,適合初學者掌握。
課程資源 | Python語言系列專題MOOC
從基礎語言到相關應用,一應俱全。
四、入門之後如何進階?
可能有些讀者追求卓越,這非常勵志。
此時,你需要一些相關學科的基礎,具體來講就是語言學基礎(或其他應用領域),數學基礎,英語基礎,實踐基礎,趕潮流的基礎。
語言學基礎(或其他應用領域)。你要解決語言學問題(或其他應用領域),就要語言學(或其他應用領域)的基礎,不然找不到題目展示你無與倫比才華的舞台。
數學基礎。無論是最新的各種神經網路演算法,還是入門級的因馬爾科夫模型,都需要數學來幫助理解,只是程度要求不同。一般來講,微積分、概率統計、線性代數最好掌握一些。英語基礎。因為漢語世界不太容易產生新的理論、演算法和技術,所以最新的前言研究大多用外語,特別是英語寫就。如果你想了解前沿,掌握英語顯得很必要。實踐基礎。簡單說,就是多動手練習。雖然現在很多應用,大多都是站在別人的肩膀上,不自己從頭開始造輪子。但還是建議多練練,理解和應用起來才得心應手,萬一能改進下呢。趕潮流的基礎。眾所周知,當下新理論、新演算法、新技術層出不窮,日新月異。上個世紀還是基於規則的方法佔主流,而現在早已是基於統計的天下,或者規則與統計結合的方法,但更側重統計。所以要應時而動,及時趕趕潮流,結合一下3D、VR什麼的,蹭蹭熱點啥的。
一般來講,進階要找到自己感興趣的方向,然後自己深入下去。方向不同,路徑各異,很難有通用的。
如何做到,往下看 ↓ 。
五、聽說最近機器學習有一統天下之勢,有哪些書籍可以推薦?
在這方面漢語世界有兩本比較經典:
1.統計學習方法,李航,清華大學出版社,2012
這本書將精華濃縮,可能不太容易理解。2.機器學習,周志華,清華大學出版社,2016最新寶書,經典教材請認真閱讀。
同時也可以去edx,coursera上學習在線課程,有很多頂級院校、頂級大牛的課程,此處作者有些懶~
院校篇
六、有哪些院系招收計算語言學碩博士生呢?
很多讀者都非常關心這個問題,多次詢問。
國內招收計算語言學的學校非常少很多都是在計算機學科下招生。據我所知的文科院系如下(可能有疏漏,僅供參考),大多同時招收碩博士,請到具體的網站查詢。
北京大學中文系,清華大學中文系,北京師範大學漢語文化學院,北京語言大學信息科學學院,中國傳媒大學文學院,上海師範大學人文與傳播學院,南京師範大學文學院,江蘇師範大學語言科學與藝術學院……
國外的項目相比而言會多一些,之前我們推送了美國前20的計算語言學項目,大多同時招收碩博士,可參看。
The 20 Best Computational Linguistics Graduate Programs in the U.S.
美國的計算語言學同樣是有的在語言學系,比如斯坦福大學、麻省理工學院,也有一些在計算機系。
七、計算語言學培養方案的有什麼問題嗎?
有的。一個問題就是在語言學系的學生要學一些看似沒有用、或許以後也不會用的理論語言學的內容。不可以不學,因為它們很可能是必修課。
八、計算語言學如何追蹤前沿研究?
非常好的問題,對於這個問題,劉知遠有篇文章介紹,請認真閱讀。
初學者如何查閱自然語言處理(NLP)領域學術資料,
http://blog.sina.com.cn/s/blog_574a437f01019poo.html
撮要如下:
1.關注兩個組織,ACL和CCL,分別是國際語言學學會(https://aclweb.org,有wiki https://aclweb.org/aclwiki,有期刊Computational Linguistics、Transactions of ACL)和中國計算語言學學會(http://cips-cl.org).
2.關注一個博客,美國Hal Daumé III維護了一個natural language processing的博客(http://nlpers.blogspot.com),經常評論最新學術動態。3.善用搜索引擎,包括學術搜索引擎、通用搜索引擎。
其他篇
九、純語言學學生能學計算語言學嗎?
可以,只要你願意努力一下下。
而且,浸淫久了,就會發現很多東西換湯不換藥,換藥不換湯,太陽底下並沒有多少新鮮事。
十、語言學學生學計算語言學和NLP競爭有優勢嗎?
看你學得怎樣。普遍情況是沒有。
十一、語言學學生學習計算語言學有什麼好處嗎?
有。掌握一種有關計算的新方法,用量化的方式認識世界。
相比而言,此領域起步較晚,文獻資料有限,不必像理論語言學那樣需要大量而深入的閱讀和基礎。
提升自己自主解決學術和生活中問題的能力。
十二、我還能問其他相關不相關的問題嗎?
可以,請留言。但我們會選擇簡單的回答~
推薦閱讀:
※KBQA: 基於開放域知識庫上的QA系統 | 每周一起讀
※記憶網路之在對話系統中的應用
※Neural Responding Machine for Short-Text Conversation
※再談bot
※斯坦福CS224N深度學習自然語言處理(三)