美國計算機專業申請自然語言處理專業上面該如何準備?
首先,我們需要知道自然語言處理是美國計算機專業的一個細分支人工智能與機器學習底下的一個產品,也是一個細的研究方向。因此,我們需要了解人工智能與機器學習這個分支。
人工智能Artificial Intelligence and Machine Learning其實是很綜合的學科,他的目的就是把人類的智能擴展到信息處理的機器的上。人工智能里面涵蓋了計算機專業的很多小方向。比如機器學習系統,計算機語言,圖像處理,語音識別,機器人,人機交互等等。
對于申請者的計算機科學背景要求較高,包括數據結構算法之類純計算機專業的課程,都有一定要求。人工智能的產品包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。這個方向最近很熱,招收的名額也比較多,也有從主要招收PhD向Master轉移的趨勢。完全對口的工作是純研發的性質,找起來有一些難度,不過退一步海闊天空,在各類電子設備商處都有大批學習此類專業可以涉足的工作。
唯一需要注意的是AI的某些部分在美國也一定程度上應用于國防,所以如果自己要進入的program涉及此類就不推薦了。
那么我們進一步來說一下什么是自然語言處理?
Natural Language Processing,簡稱NLP
自然語言處理橫跨:計算機科學、語言學、人工智能等學科,是計算機科學與語言學的交叉學科,又常被稱為計算語言學。
自然語言處理的目標是讓電腦用人類語言做一些聰明的事情和利用人類語言進行自我表達。比如安排約會、買東西、或更高級的目標——理解世界。
每天你都在使用各種各樣的自然語言處理軟件,例如輸入法的輸入補全、搜索引擎的搜索建議、推斷某條推文是正面還是負面、機器翻譯等。目前集中的研究方向是智能問答,我們希望生產出使用自然語言與用戶交流的產品,例如蘋果siri——把人類語言變成了消費級產品。
自然語言處理的過程:對于文本(text),依次經歷了以下幾個過程:
分詞(Tokenization)
形態分析(Morphological analysis)
句法分析(syntactic analysis)
語義理解(semantic interpretation)
篇章處理(discourse processing)
簡單來說,就是把一大段文本,切成各種各樣的詞,然后區分出主謂賓、定狀補等句式,最后理解這段話指代的真實意思。
一段文本——> 分詞——> 詞性——>句法——>語義
Natural Language Generation,簡稱NLG:
自然語言生成,從知識庫或邏輯形式等等機器表述系統去生成自然語言。我們也是分幾點去闡述這個生成的過程。
一. 人腦如何從底層的聯結計算向上自動形成出可推理的符號計算?
人腦的基礎構成是數億萬神經元及其形成的聯結結構,信息輸入是連續數值形式的,然而通過人腦的層層高級加工最終卻可以將信息概念化,進而形成高效的符號計算與推理。新的知識可以通過概念組合或者推理獲得,而無需再通過大規模的數據驅動得到。例如,如果人腦從大量文本素材中學習得到句子的“主(noun)+謂(verb)+賓(noun)”模式,那么當看到一句話“a1a2b1b2c1”,已知“b1b2”是動詞,“c1”是名詞,很有可能推理出“a1a2”是名詞也是句子的主語。進一步的,如果已知“b1b2”是個體才能實施的動作,那么可以推斷出“a1a2”很有可能是命名實體,即使我們不預先知道“a1a2”的內部用詞構成。在圖像處理領域,目前的深度學習技術可以將圖像信息逐層抽象,自發地學習出高層特征,形成高級語義模式。這對自動化的模擬自然語言理解具有借鑒意義,然而實際上處理自然語言則困難得多。目前,如何利用底層的文本輸入,讓機器像人腦一樣通過逐層信息加工自動生成高級的語言學離散符號及其模式規則,其形成機制并不清晰。
二. 如何讓機器像人腦一樣實現反饋式的自然語言理解?NLP研究的主流做法是將單個自然語言任務封裝成一個模塊,模塊之間按照自然語言任務的高低級之分次序串聯起來。例如,對于句子的句法分析,通常的做法是先分詞、詞性標注、命名實體識別、組塊識別等,這些信息可以作為高層句法分析的特征。然而,低級語言分析的錯誤也會傳導到高級語言分析任務上來。如果分詞有錯誤,也會影響到最終句法分析的性能。與之相反的是,人腦在進行自然語言理解時,并非總是按照各個語言分析模塊以串行相接的方式進行。例如前面給出的句子“a1a2b1b2c1”,當我們暫時無法辨別“a1a2”是否是命名實體時,暫且將這個任務放一放,轉而考慮句子后面的信息。當我們逐漸分析出來整個句子可能是“主(noun)+謂(verb)+賓(noun)”的句法模式時,這種更高層的信息作為正面反饋有利于反過來推測“a1a2”是命名實體。這個例子中,命名實體的識別反而采用了更高層的句法信息作為線索。現有的人工智能的自然語言處理流程是固定的,而人腦對自然語言處理的流程則可以根據實際情況做出改變。
三. 語義流變的自動學習。大量的詞匯在社會的不同歷史時期會有不同的語義,形成語義流變。例如,“小姐”一詞的內涵從古至今就一直發生著變化。“小姐”在中國封建社會通常是指大戶人家有著良好教養的未婚年輕女子;新中國建立后,隨著傳統封建社會中“小姐”對應的人物角色在社會中逐漸消失,“小姐”一詞的使用也越來越少;然而,當人們對從事色情行業的女子冠以“小姐”的稱呼時,“小姐”一詞又產生了相應的新詞義。因此,出于詞匯語義流變的客觀存在性,不可能一次性設計出一個完整而全面的機讀詞義辭典來支持自然語言的語義理解。當社會上出現詞匯的新解時,一般就需要手動維護和更新語義辭典。如果對機器概念和知識的更新只停留在人工輸入階段,那么機器就永遠無法實現像人一樣的自動學習與進化。
一方面,人們對人腦的語言與思維的研究尚且并不充分。另一方面,現有的人工智能在理解自然語言的處理機制方面與人腦存在巨大的差異,那么是否意味著人工智能在自然語言理解的發展存在著難以克服的瓶頸呢?答案未必這樣悲觀。如果我們審視人類自身,會發現語言與思維的產生不僅與人腦基礎的神經連接結構有關,也受到外界語言環境激勵的影響。如果將聯結主義和行為主義的思想結合起來,以仿生模擬的方式來“調教”機器智能體,就像教育兒童習得語言那樣以交互激勵的方式學習語言,那么經過很多代的更新和迭代后,機器智能體可能會進化出自己的語言習得裝置,產生特異化的語言模式,而這些語言模式在表征上以分布式的形式存儲于神經權值網絡之中,使得人類理解起來異常困難。就像AlphaGo戰勝了世界圍棋高手,但是它的出棋策略已經很難被制造者所理解。采用仿生學模擬的方式讓機器進化,意味著創造者對機器放棄了一定的控制權。正如凱文·凱利在《失控》中所說,一旦讓機器進化出了智能,那么其代價是人類終將失去對機器的控制。人類可能最終不僅不理解人腦中語言與思維的產生機制,也難以理解機器智能體中的語言和思維是如何形成的。
自然語言處理如何快速入門呢(轉載)?
國際學術組織、學術會議與學術論文自然語言處理(natural language processing,NLP)在很大程度上與計算語言學(computational linguistics,CL)重合。與其他計算機學科類似,NLP/CL有一個屬于自己的最權威的國際專業學會,叫做The Association for Computational Linguistics(ACL,URL:ACL Home Page),這個協會主辦了NLP/CL領域最權威的國際會議,即ACL年會,ACL學會還會在北美和歐洲召開分年會,分別稱為NAACL和EACL。除此之外,ACL學會下設多個特殊興趣小組(special interest groups,SIGs),聚集了NLP/CL不同子領域的學者,性質類似一個大學校園的興趣社團。其中比較有名的諸如SIGDAT(Linguistic data and corpus-based approaches to NLP)、SIGNLL(Natural Language Learning)等。這些SIGs也會召開一些國際學術會議,其中比較有名的就是SIGDAT組織的EMNLP(Conference on Empirical Methods on Natural Language Processing)和SIGNLL組織的CoNLL(Conference on Natural Language Learning)。此外還有一個International Committee on Computational Linguistics的老牌NLP/CL學術組織,它每兩年組織一個稱為International Conference on Computational Linguistics (COLING)的國際會議,也是NLP/CL的重要學術會議。NLP/CL的主要學術論文就分布在這些會議上。
作為NLP/CL領域的學者最大的幸福在于,ACL學會網站建立了稱作ACL Anthology的頁面(URL:ACL Anthology),支持該領域絕大部分國際學術會議論文的免費下載,甚至包含了其他組織主辦的學術會議,例如COLING、IJCNLP等,并支持基于Google的全文檢索功能,可謂一站在手,NLP論文我有。由于這個論文集合非常龐大,并且可以開放獲取,很多學者也基于它開展研究,提供了更豐富的檢索支持,具體入口可以參考ACL Anthology頁面上方搜索框右側的不同檢索按鈕。
與大部分計算機學科類似,由于技術發展迅速,NLP/CL領域更重視發表學術會議論文,原因是發表周期短,并可以通過會議進行交流。當然NLP/CL也有自己的旗艦學術期刊,發表過很多經典學術論文,那就是Computational Linguistics(URL:MIT Press Journals)。該期刊每期只有幾篇文章,平均質量高于會議論文,時間允許的話值得及時追蹤。此外,ACL學會為了提高學術影響力,也剛剛創辦了Transactions of ACL(TACL,URL:Transactions of the Association for Computational Linguistics (ISSN: 2307-387X)),值得關注。值得一提的是這兩份期刊也都是開放獲取的。
此外也有一些與NLP/CL有關的期刊,如ACM Transactions on Speech and Language Processing,ACM Transactions on Asian Language Information Processing,Journal of Quantitative Linguistics等等。根據Google Scholar Metrics 2013年對NLP/CL學術期刊和會議的評價,ACL、EMNLP、NAACL、COLING、LREC、Computational Linguistics位于前5位,基本反映了本領域學者的關注程度。
NLP/CL作為交叉學科,其相關領域也值得關注。主要包括以下幾個方面:(1)信息檢索和數據挖掘領域。相關學術會議主要由美國計算機學會(ACM)主辦,包括SIGIR、WWW、WSDM等;(2)人工智能領域。相關學術會議主要包括AAAI和IJCAI等,相關學術期刊主要包括Artificial Intelligence和Journal of AI Research;(3)機器學習領域,相關學術會議主要包括ICML,NIPS,AISTATS,UAI等,相關學術期刊主要包括Journal of Machine Learning Research(JMLR)和Machine Learning(ML)等。例如最近興起的knowledge graph研究論文,就有相當一部分發表在人工智能和信息檢索領域的會議和期刊上。實際上國內計算機學會(CCF)制定了“中國計算機學會推薦國際學術會議和期刊目錄”(CCF推薦排名),通過這個列表,可以迅速了解每個領域的主要期刊與學術會議。
最后,值得一提的是,美國Hal Daumé III維護了一個natural language processing的博客(natural language processing blog),經常評論最新學術動態,值得關注。我經常看他關于ACL、NAACL等學術會議的參會感想和對論文的點評,很有啟發。另外,ACL學會維護了一個Wiki頁面(ACL Wiki),包含了大量NLP/CL的相關信息,如著名研究機構、歷屆會議錄用率,等等,都是居家必備之良品,值得深挖。
國內學術組織、學術會議與學術論文與國際上相似,國內也有一個與NLP/CL相關的學會,叫做中國中文信息學會(URL:中國中文信息學會)。通過學會的理事名單(中國中文信息學會)基本可以了解國內從事NLP/CL的主要單位和學者。學會每年組織很多學術會議,例如全國計算語言學學術會議(CCL)、全國青年計算語言學研討會(YCCL)、全國信息檢索學術會議(CCIR)、全國機器翻譯研討會(CWMT),等等,是國內NLP/CL學者進行學術交流的重要平臺。尤其值得一提的是,全國青年計算語言學研討會是專門面向國內NLP/CL研究生的學術會議,從組織到審稿都由該領域研究生擔任,非常有特色,也是NLP/CL同學們學術交流、快速成長的好去處。值得一提的是,2010年在北京召開的COLING以及2015年即將在北京召開的ACL,學會都是主要承辦者,這也一定程度上反映了學會在國內NLP/CL領域的重要地位。此外,計算機學會中文信息技術專委會組織的自然語言處理與中文計算會議(NLP&CC)也是最近崛起的重要學術會議。中文信息學會主編了一份歷史悠久的《中文信息學報》,是國內該領域的重要學術期刊,發表過很多篇重量級論文。此外,國內著名的《計算機學報》、《軟件學報》等期刊上也經常有NLP/CL論文發表,值得關注。
過去幾年,在水木社區BBS上開設的AI、NLP版面曾經是國內NLP/CL領域在線交流討論的重要平臺。這幾年隨著社會媒體的發展,越來越多學者轉戰新浪微博,有濃厚的交流氛圍。如何找到這些學者呢,一個簡單的方法就是在新浪微博搜索的“找人”功能中檢索“自然語言處理”、 “計算語言學”、“信息檢索”、“機器學習”等字樣,馬上就能跟過去只在論文中看到名字的老師同學們近距離交流了。還有一種辦法,清華大學梁斌開發的“微博尋人”系統(清華大學信息檢索組)可以檢索每個領域的有影響力人士,因此也可以用來尋找NLP/CL領域的重要學者。值得一提的是,很多在國外任教的老師和求學的同學也活躍在新浪微博上,例如王威廉(Sina Visitor System)、李沐(Sina Visitor System)等,經常爆料業內新聞,值得關注。還有,國內NLP/CL的著名博客是52nlp(我愛自然語言處理),影響力比較大。總之,學術研究既需要苦練內功,也需要與人交流。所謂言者無意、聽者有心,也許其他人的一句話就能點醒你苦思良久的問題。無疑,博客微博等提供了很好的交流平臺,當然也注意不要沉迷哦。
如何快速了解某個領域研究進展最后簡單說一下快速了解某領域研究進展的經驗。你會發現,搜索引擎是查閱文獻的重要工具,尤其是谷歌提供的Google Scholar,由于其龐大的索引量,將是我們披荊斬棘的利器。當需要了解某個領域,如果能找到一篇該領域的最新研究綜述,就省勁多了。最方便的方法還是在Google Scholar中搜索“領域名稱 + survey / review / tutorial / 綜述”來查找。也有一些出版社專門出版各領域的綜述文章,例如NOW Publisher出版的Foundations and Trends系列,Morgan & Claypool Publisher出版的Synthesis Lectures on Human Language Technologies系列等。它們發表了很多熱門方向的綜述,如文檔摘要、情感分析和意見挖掘、學習排序、語言模型等。
計算機領域是一個越學越深的領域,打基礎很重要,找到適合自己的方向也非常重要。在本科階段一定不要懈怠,要利用更多的機會去參與項目,或者研究的課題當中,相對的實習要弱于項目對申請的幫助。
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。