前言
首先,做nlp不一定要很懂語言學(xué),也不一定要跟語言學(xué)扯上關(guān)系。nlp可以僅是data mining,features engineering, 也的確有很多work目前在用文本或者對(duì)話做為數(shù)據(jù)集,然后用統(tǒng)計(jì)學(xué)方法實(shí)現(xiàn)目的,比如deep learning 。在某些任務(wù)上統(tǒng)計(jì)學(xué)模型功不可沒,比如machine translation, speech recognition, question answering, etc.
大多數(shù)人對(duì)nlp和語言學(xué)聯(lián)系的了解,在于認(rèn)為rule-based的nlp就是基于語言學(xué)。的確rule-based是語言學(xué)里廣泛使用的,尤其是語法(syntax, syntactic structure)。現(xiàn)在machine learning的發(fā)展已經(jīng)可以將rules轉(zhuǎn)換為hidden states,人不用去操心提出大量rules來做exhaustive search。
但computational linguistics所包含的,遠(yuǎn)遠(yuǎn)大于rules。人類語言是漫長(zhǎng)歷史進(jìn)化的高級(jí)產(chǎn)物,遠(yuǎn)不是成千上萬個(gè)rules能描述清楚的。能被nlp利用的語言學(xué),除了枚舉rules外還有很多很多。
接下來的回答是給真正對(duì)computational linguistics和nlp本身感興趣的,對(duì)某些語言現(xiàn)象感興趣,并打算在這條路上開始鉆研的同學(xué)的一些建議。(想忽略細(xì)節(jié)的同學(xué)請(qǐng)直接拉到答案最后找reference)
人大腦工作不是靠probablistic language modeling,咱們誰的腦袋里都不會(huì)聽到一個(gè)詞然后跑一遍hidden markov,畢竟也進(jìn)化了這么多年了不是。
與nlp相關(guān),跟概率論并進(jìn)的,除了傳統(tǒng)的語言學(xué),還有l(wèi)ogic呢,Lofti Zadeh老爺爺研究了一輩子的fuzzy logic,也是在探究semantics&world knowledge (再次感謝老爺爺?shù)呢暙I(xiàn),r.i.p)。
另外,語言學(xué)自身是個(gè)很大又很寬泛,又互相交叉的學(xué)科。有很多研究是跟literatures and arts有關(guān),有的是跟cognitive science有關(guān),還有neuroscience, mathematics, education, psychology, etc。我涉獵有限,在此只能回答跟computational linguistics有關(guān)("to the best of my knowledge")。
No.1
Definition(語言學(xué)對(duì)語言任務(wù)的定義)
在研究任何問題前,都必須要想清楚你的問題是什么,怎么定義。許許多多nlp research都是基于語言學(xué)上的定義,像我下文會(huì)提到的semantics, grammar??墒侨绻麤]有從沿用語言學(xué)的定義到nlp,這個(gè)0到1的過程,最早做researchers的人該如何想明白他們的research question?
做對(duì)話系統(tǒng)的同學(xué)應(yīng)該很熟悉dialogue acts. 現(xiàn)在的對(duì)話系統(tǒng)發(fā)展迅猛,很多新應(yīng)用都基于reinforcement learning, 并且取得顯著成就。尤其是某些task-oriented dialogue generator, 早就不是十多年前的rule-based system了。但任何一個(gè)系統(tǒng)在設(shè)計(jì)之初都要采用dialouge acts定義(當(dāng)然還有其他定義),來明確該系統(tǒng)的目的。不然該系統(tǒng)如何區(qū)分wh-question, yes-no question, greetings, 還有其他?(如果覺得見到“wh-”開頭,問號(hào)結(jié)尾,就是一個(gè)wh-question rule, 那我不知道該說什么好了)
明確自己的research task并且貫徹到底是好事,如果要做language modeling,基于machine learning/deep learning, 那真的不用費(fèi)時(shí)間在語言學(xué)上。但覺得語言學(xué)是rule based已經(jīng)過時(shí)了被淘汰了,這個(gè)鍋語言學(xué)真的背的有點(diǎn)冤呀。
阿里機(jī)器翻譯能力示意圖
No.2
Grammar(語法學(xué))
Grammar是我會(huì)首先推薦的方向。Grammar分為morphology&syntax. 在這里我主要指syntax.細(xì)節(jié)可以看Chomsky, Michael Colins, Jason Eisner等人的工作?,F(xiàn)在大家用的最多的應(yīng)該是stanford的syntactic parsing吧。這方面的工作已經(jīng)很成熟,要處理語言基本是拿來就能用了。但是語法樹到底是什么,怎么構(gòu)建,syntatic parsing優(yōu)勢(shì),如何處理ambiguity, 想要做computational linguistics的話,這些很有必要知道。最基本的例子是,當(dāng)用parser來處理你的句子,你起碼要能看懂這個(gè)parser output是否make sense。
轉(zhuǎn)換生成語法理論創(chuàng)始人喬姆斯基
No.3
Semantics(語義學(xué))
這個(gè)部分是我做最多的,感覺也是被誤解最多的。尤其推薦 “Meaning in language: An introduction to Semantics and Pragmatics.” 我并沒有看完。Semantics是個(gè)很復(fù)雜的研究,可以涉及到語法,句法,world knowledge, 但最終還是回歸semantics自身。目前nlp里很火的有distributional semantic representation (word embedding, phrase embedding, sentence embedding, etc), semantic parsing (logical form, etc), 等等等等。同一句話可以表達(dá)的意思太多了,同一個(gè)意思帶來的表達(dá)形式也太多了。一個(gè)簡(jiǎn)單句子里包含的意思會(huì)涉及到當(dāng)下對(duì)話雙方的情景,以前或者以后會(huì)發(fā)生的事,等等。舉個(gè)個(gè)人很喜歡的例子:
第一層意思是直觀semantics, 能夠被目前的semantic representation捕捉到。第二層是presupposition, 代表著在說話當(dāng)下當(dāng)事人雙方默認(rèn)已經(jīng)發(fā)生的事情,是semantics研究中的難點(diǎn);第三層包含了sentiment, 做情感分析的同學(xué)應(yīng)該很了解,能否被目前的classifier捕捉到我不清楚。第四層是現(xiàn)在也很火的coreference resolution, 雖然原文里沒有明確指代每個(gè)人稱代詞,但聽眾和當(dāng)事人很直接能把每個(gè)人物代入,甚至包括Trump省略的"I will release (my taxes)". 目前的co-reference resolution,e.g. stanford corenlp, 可以解決前三個(gè)代詞,但省略的部分似乎還做不到。
對(duì)Semantic要求最高也是最難的,在nlp中應(yīng)該是在natural language understanding相關(guān)應(yīng)用了。Semantics里包含了太多太多的現(xiàn)象,如果能稍微研究并且model其中一小部分,對(duì)downstream application來說都會(huì)是一個(gè)很大的boost。前段時(shí)間有個(gè)shared task,叫 "hedge detection",目的是找出文本信息中的hedges and cues。大部分人會(huì)關(guān)注這個(gè)shared task下哪個(gè)模型做的最好,個(gè)人認(rèn)為難點(diǎn)是在定義。有“but”,"however"出現(xiàn)語意就一定轉(zhuǎn)折了么?如果被轉(zhuǎn)折,是所在句子,還是段落還是一個(gè)小phrase呢?有dependency存在么?另一個(gè)相似shared task是negation detection. 想要理解這些問題本身和其難點(diǎn)所在,computational linguistics的前期知識(shí)儲(chǔ)備是并不可少的。
No.4
Pragmatics(語用學(xué))
這里很重要的理論,是computational pragmatics范疇里的:Grice's maxims, 和Rational Speech Act(RSA). 這兩個(gè)理論其實(shí)緊密相關(guān)。前者理論關(guān)于談話雙方為了有效溝通會(huì)有意識(shí)的遵守的一些principle, (同時(shí)可見“cooperative principle”), 后者關(guān)于為了達(dá)到這種有效溝通,對(duì)話當(dāng)中存在的一種recursive process, 并且是bayesian inference. 如果你的工作跟 inference, reasoning相關(guān),請(qǐng)一定要閱讀。做對(duì)話系統(tǒng)的應(yīng)該已經(jīng)很熟悉了。
No.5
Fuzzy logic(模糊邏輯)
目前還是有researcher繼承Zadeh老爺爺?shù)囊吕?,并且用fuzzy logic做出了很多natural language generation, information extraction方面的成就的。個(gè)人經(jīng)驗(yàn)而言,我博士第一年(2014)一直在關(guān)注deep learning/machine learning方面,當(dāng)時(shí)覺得它們是萬能的。直到第二年夏天在忙一個(gè)project, 閱讀了Zadeh老爺爺?shù)拇罅抗ぷ?,才感覺自己一直在以很片面的眼光看research。當(dāng)時(shí)真的做了滿滿一本筆記。
后記
最后,如果興趣在建modeling,deep learning architecture, 語言學(xué)方面的part-of-speech也好,parsing也好,都只是你的工具;
同樣,如果興趣在computational linguistics,語言現(xiàn)象,deep learning/machine learning都是你的工具。
取決與你的任務(wù)是什么,取決于你有沒有完全dedicated的信心。畢竟巴菲特和Geff Hinton是少數(shù),大多數(shù)人都無法預(yù)測(cè)20年后火的適合什么。
感謝閱讀。希望能給在猶豫是否開始computational linguistics和nlp研究同學(xué)們一些幫助。
(任何不準(zhǔn)確的地方還請(qǐng)大家指正)
推薦
Reference(參考書目)
(大方向書籍,我要是能全部買下來就好了...并沒有全部看完,有的只是看過某一章節(jié)。Grammar和syntax知乎里面有很多問答跟這方面有關(guān),在此不重復(fù)了。)
Cruse, Alan. "Meaning in language: An introduction to semantics and pragmatics." (2011).
Karttunen, Lauri (1974) [1]. Theoretical Linguistics 1 181-94. Also in Pragmatics: A Reader, Steven Davis (ed.), pages 406-415, Oxford University Press, 1991.
Kadmon, Nirit. "Formal pragmatics semantics,pragmatics,presupposition, and focus." (2001).
Levinson, Stephen C. Pragmatics.Cambridge: Cambridge University Press, 1983, pp. 181-184.
Wardhaugh, Ronald. An introduction to sociolinguistics. John Wiley & Sons, 2010. (這本書的影響力很大,有很多跟social science的討論)
(具體其他上面提到的,每一篇我都仔細(xì)讀過的)
Monroe, Will, and Christopher Potts. "Learning in the rational speech acts model." arXiv preprint arXiv:1510.06807 (2015).(這篇是關(guān)于rsa如何被用于具體task上的)
Farkas, Richárd, et al. "The CoNLL-2010 shared task: learning to detect hedges and their scope in natural language text." Proceedings of the Fourteenth Conference on Computational Natural Language Learning---Shared Task. Association for Computational Linguistics, 2010. (上文提到的hedge and cues shared task,關(guān)于linguistics里的現(xiàn)象是如何被formulate成nlp問題的)
Morante, Roser, and Eduardo Blanco. "* SEM 2012 shared task: Resolving the scope and focus of negation." Proceedings of the First Joint Conference on Lexical and Computational Semantics-Volume 1: Proceedings of the main conference and the shared task, and Volume 2: Proceedings of the Sixth International Workshop on Semantic Evaluation. Association for Computational Linguistics, 2012. (negation 的shared task)
最后附上兩篇老爺爺對(duì)我影響最大的:
Zadeh, Lotfi Asker. "The concept of a linguistic variable and its application to approximate reasoning—I." Information sciences 8.3 (1975): 199-249.
Zadeh, Lotfi A. "The concept of a linguistic variable and its application to approximate reasoning—II." Information sciences 8.4 (1975): 301-357.( 這系列work分兩部。)
Zadeh, Lotfi A. "Toward a theory of fuzzy information granulation and its centrality in human reasoning and fuzzy logic." Fuzzy sets and systems 90.2 (1997): 111-127.
咨詢熱線
18611170056官方微信
返回頂部