一個計算機系的學生想學一點語言學知識,從哪裡入手比較好?
鏡像問題:一個主修語言學的女生想要學一些計算機語言和編程,學什麼比較好?
不過這不是跟風提問,而是自己本來就想問這個問題。個人表示對自然語言處理感興趣,也聽過Frederick Jelinek說的「Every time I fire a linguist, the performance of the speech recognizer goes up.」這句話。不過我還是覺得語言學的知識會對自然語言處理有幫助,這也是NLP進一步發展的必然出路(儘管現在統計學派佔上風)。不知道從哪裡入手比較好?順便包括相應的教材/公開課推薦,謝謝!
【後記:剛才才發現這個問題是3年前提出的,所以估計題主已經成了NLP專家了吧。】
========
「一點」是一個比較模糊的概念。我先預設您沒有接觸過任何專業的語言學著作和教材。
假設您可以抽出10個小時的時間,我推薦
(a:語音、音系)快速閱讀Introductory-to-Phonology 這本書的1-4章,涉及到語音學基本概念和特徵理論,特徵理論是音系學的基礎。
(b:句法、語義)快速閱讀Speech and Language Processing 這本書的11、12、14和22章:
11章:英語的形式語法
12章:句法分析
14章:依存語法
22章:語義角色和論元結構
假設您可以抽出20個小時,除了上述章節外,我推薦您快速瀏覽An Introduction to Language 全書(如果時間有限,可以側重看1-6章(語言學核心基礎),10和11章(人腦和計算機的語言處理))。 但這本書預設了正統喬姆斯基流派的立場,閱讀的時候要注意甄別。
如果您除此以外,您對自然語言的語義學感興趣,可以關註:
Elements-Formal-Semantics 語義學教材,作者Winter教授從沒上過語義學課,他的語義學知識都是作為一個計算機科學家自己自學而來的
intensional semantics 語義學進階教材,可以對照Modal logic的著作來看,有計算機背景的推薦這本:Modal Logic (Cambridge Tracts in Theoretical Computer Science)。
L. T. F. Gamut - Wikipedia 上下兩冊,邏輯和語義的經典教材
Publications by Z. Luo (類型論在自然語言語義學中的應用,類型論算是自然語言語義學的一個重要的理論基礎)
Logics of Conversation (側重篇章語義學)
- 關於自然語言形式語義學發展的脈絡,可以看http://semanticsarchive.net/sub2015/SeparateArticles/Partee-SuB20.pdf
如果您對形式句法感興趣,可以關註:
Head-Driven Phrase Structure Grammar (中心語驅動短語結構語法)
Lexical Functional Grammar (辭彙功能/函數語法)
categorial grammar in nLab (範疇語法)
The Xtag Project (TAG語法)
- 關於形式句法發展的脈絡和批評,可以看Chomsky in retrospect,作者Seuren教授非常仇視Chomsky,但有些觀點還是很有價值的。 還有Chomsky的學生和仇人Joan Bresnan的一個演講Linguistics: A Voyage into Uncertainty,談了自己和喬姆斯基分道揚鑣的心路歷程。
如果您對大數據感興趣(不過看提問您的重點應該不在這方面),可以關註:
Speech and Language Processing 的4-9和第13章
Natural Language Annotation for Machine Learning 機器學習
除此以外,還有多種功能句法理論:Functional theories of grammar,以及認知語法理論Cognitive linguistics。功能語法其實也挺有用的,很多真正應用比較廣的東西例如WordNet(Related projects - WordNet - Related projects)和Martha Palmer | Projects | Verb Net都是偏功能的語言學家搞出來的。
syntax;
phonetics;semantics;
morphology;phonology;discoursepragmatics都是語言學的核心領域我也不是太清楚哪個和計算機聯繫更為緊密我個人會覺得是syntax吧。
而且syntax在語言學中真的算是很基礎的學科以下附上推薦的reading list
Kroeger, Paul (2005) Analyzing Grammar: An Introducton. Cambridge: Cambridge UniversityPress. (這是我們的教科書,我記得網上有下載)
Key additonal reference booksBrown, Keith Miller, Jim. (1991) Syntax: a linguistc introducton to sentence structure. (2nd ed.)London: Routledge. Burton-Roberts, Noel. (1997) Analysing sentences. (2nd ed.) London: Longman. Comrie, Bernard. (1989) Language universals and linguistc typology. (2nd ed.) Chicago: Universityof Chicago Press.Huddleston, Rodney Pullum, Geof. (2002) The Cambridge Grammar of the English Language.Cambridge: Cambridge University Press. [For reference only]Huddleston, Rodney Pullum, Geof. (2005) A Student』s Introducton to English Grammar.Cambridge: Cambridge University Press.
Payne, Thomas. (2006) Exploring Language Structure: A Student』s Guide. Cambridge: CambridgeUniversity Press.Radford, Andrew. (1988) Transformatonal grammar: a frst course. Cambridge University Press.Shopen, Tim. (ed.) (1985) Language typology and syntactc descripton. Vols. I-III Cambridge:Cambridge University Press.Van Valin, Robert. (2001) An Introducton to Syntax. Cambridge University Press. 還有一些其他科目的教科書- Understanding Semantics (S Lobner) Arnold Second Edition 2013
- Introductory Phonology (Hayes, Bruce) Wiley-Blackwell.
- 「A course in phonetics」 Peter Ladefoged and Keith Johnson 2015
- Lieber, Rochelle. 2010. Intoducing Morphology. CUP.
- Introductory Phonology (Hayes, Bruce) Wiley-Blackwell.
- Working with spoken discourse (D Cameron) SAGE publications 2001
希望對你有所幫助~
我個人的感受, 目前做NLP不需要太深刻的語言學知識。
比較有用的有parse tree,dependency parse。但是用的也越來越少了。
目前基本所有的NLP任務的state of the art都是各種稀奇古怪的神經網路得到的,比如QA的memory network(R-net), machine translation的neural machine translation,等等。
而神經網路面前,不管你是文字也好圖像也好數字也好,最終都會被轉換成數字。文字用word embedding,圖像轉成RBG之類的。而且神經網路也能自己去找數據間的結構關係,比如文字之間的dependencies,因此現在往往都是直接把文字轉成embedding(向量),沒有其他預處理的要求(比如parse tree)。
用語言學做NLP的邏輯學派基於喬姆斯基的理論希望把一個語言所有可能的表達用一個標準模型表示出來,現在也有人堅持(比如愛丁堡大學現在還有一大幫做這個的),我印象中現在他們主要努力的方向是能夠找到所謂的完美parser,能給出準確率很高的syntactic structure,然後基於這個做邏輯推理之類的。但目前最好的parser也是神經網路 :),而且差距還很大。
用邏輯做NLP最大的問題是語言不標準,也就是ambiguity。你的邏輯語言模型再完善,定義了再多的rule或者pattern,你也不可能定義完所有的可能的語言表達,更別說不合語法或是有錯的表達了。
我也相信神經網路不是NLP的終極手段,畢竟說到底這只是一個分類器罷了。我也相信實現 Natural language understanding 必須需要邏輯層面的東西,但我相信那是NLP接近成熟的時候的事情了,封裝上邏輯層就實現強人工智慧那種。打個比方,目前的NLP離強人工智慧完成度有30%,那麼到完成度80%的時候邏輯方法可能才能使用。目前神經網路在NLP的潛力還遠遠沒有被完全挖掘,最近比較火的memory,attention 都還在初起發展階段,RL跟NLP的結合也值得期待,所以還是踏踏實實調(搬)參(磚)吧。
另外:學語言學當然會有幫助,尤其推薦語言哲學這門課(好像算是哲學系的課),對理解語言的本質很有幫助。嗯,就類似用machine vision做癌症檢測的去學病理學差不多吧~~
看nlp的論文。
裡面提了什麼語言概念,名詞,就去查他們的意思。
如果引用了語言學的研究,那可以找引文來看。我的建議就是,既然題主喜歡NLP,就已NLP為核心去閱讀和學習,不要脫離太遠。這樣比較清晰和實用,能從一個交叉和應用的角度看問題。推薦閱讀:
※有哪些高質量的中文分詞api?
※條件隨機場(CRF)和隱馬爾科夫模型(HMM)最大區別在哪裡?CRF的全局最優體現在哪裡?
※如何判斷分類特徵值選取是否有效?
※文本摘要的寫作機器人目前有哪些應用?效果如何?能否代替一定的人力?
※[資訊理論基礎]互信息計算公式如何推導的?