自然語言處理怎麼最快入門? |

【吳俁的回答(64票)】:

推薦《數學之美》,這個書寫得特別科普且生動形象,我相信你不會覺得枯燥。這個我極力推薦,我相信科研的真正原因是因為興趣,而不是因為功力的一些東西。

接下來說,《統計自然語言處理》這本書,這書實在是太老了,但是也很經典,看不看隨意了。

現在自然語言處理都要靠統計學知識,所以我十分十分推薦《統計學習方法》,李航的。李航老師用自己課餘時間7年寫的,而且有博士生Review的。自然語言處理和機器學習不同,機器學習依靠的更多是嚴謹的數學知識以及推倒,去創造一個又一個機器學習演算法。而自然語言處理是把那些機器學習大牛們創造出來的東西當Tool使用。所以入門也只是需要涉獵而已,把每個模型原理看看,不一定細緻到推倒。

然後就是Stanford公開課了,Stanford公開課要求一定的英語水平。| Coursera 我覺得講的比大量的中國老師好~

舉例:

http://www.ark.cs.cmu.edu/LS2/in...

或者

http://www.stanford.edu/class/cs...

如果做工程前先搜索有沒有已經做好的工具,不要自己從頭來。做學術前也要好好的Survey!

開始推薦工具包:

中文的顯然是哈工大開源的那個工具包 LTP (Language Technology Platform) developed by HIT-SCIR(哈爾濱工業大學社會計算與信息檢索研究中心).

英文的(python):

  • pattern - simpler to get started than NLTK
  • chardet - character encoding detection
  • pyenchant - easy access to dictionaries
  • scikit-learn - has support for text classification
  • unidecode - because ascii is much easier to deal with
  • 必讀論文(摘自Quora 我過一陣會翻譯括弧裡面的解釋):

    Parsing(句法結構分析~語言學知識多,會比較枯燥)

  • Klein & Manning: "Accurate Unlexicalized Parsing" ( )
  • Klein & Manning: "Corpus-Based Induction of Syntactic Structure: Models of Dependency and Constituency" (革命性的用非監督學習的方法做了parser)
  • Nivre "Deterministic Dependency Parsing of English Text" (shows that deterministic parsing actually works quite well)
  • McDonald et al. "Non-Projective Dependency Parsing using Spanning-Tree Algorithms" (the other main method of dependency parsing, MST parsing)
  • Machine Translation

  • Knight "A statistical MT tutorial workbook" (easy to understand, use instead of the original Brown paper)
  • Och "The Alignment-Template Approach to Statistical Machine Translation" (foundations of phrase based systems)
  • Wu "Inversion Transduction Grammars and the Bilingual Parsing of Parallel Corpora" (arguably the first realistic method for biparsing, which is used in many systems)
  • Chiang "Hierarchical Phrase-Based Translation" (significantly improves accuracy by allowing for gappy phrases)
  • Language Modeling (語言模型)

  • Goodman "A bit of progress in language modeling" (describes just about everything related to n-gram language models 這是一個survey,這個survey寫了幾乎所有和n-gram有關的東西,包括平滑 聚類)
  • Teh "A Bayesian interpretation of Interpolated Kneser-Ney" (shows how to get state-of-the art accuracy in a Bayesian framework, opening the path for other applications)
  • Machine Learning for NLP

  • Sutton & McCallum "An introduction to conditional random fields for relational learning" (everyone should know CRFs, and this paper is the easiest to understand)
  • Knight "Bayesian Inference with Tears" (explains the general idea of bayesian techniques quite well)
  • Berg-Kirkpatrick et al. "Painless Unsupervised Learning with Features" (this is from this year and thus a bit of a gamble, but this has the potential to bring the power of discriminative methods to unsupervised learning)
  • Information Extraction

  • Hearst. Automatic Acquisition of Hyponyms from Large Text Corpora. COLING 1992. (The very first paper for all the bootstrapping methods for NLP. It is a hypothetical work in a sense that it doesn"t give experimental results, but it influenced it"s followers a lot.)
  • Collins and Singer. Unsupervised Models for Named Entity Classification. EMNLP 1999. (It applies several variants of co-training like IE methods to NER task and gives the motivation why they did so. Students can learn the logic from this work for writing a good research paper in NLP.)
  • Computational Semantics

  • Gildea and Jurafsky. Automatic Labeling of Semantic Roles. Computational Linguistics 2002. (It opened up the trends in NLP for semantic role labeling, followed by several CoNLL shared tasks dedicated for SRL. It shows how linguistics and engineering can collaborate with each other. It has a shorter version in ACL 2000.)
  • Pantel and Lin. Discovering Word Senses from Text. KDD 2002. (Supervised WSD has been explored a lot in the early 00"s thanks to the senseval workshop, but a few system actually benefits from WSD because manually crafted sense mappings are hard to obtain. These days we see a lot of evidence that unsupervised clustering improves NLP tasks such as NER, parsing, SRL, etc,
  • 【潯雨的回答(29票)】:

    1、 《自然語言處理綜論》(Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition)

    這本書的權威自不用說,譯者是馮志偉老師和孫樂老師,當年讀這本書的時候,還不知道馮老師是誰,但是讀起來感覺非常好,想想如果沒有在這個領域積攢多年的實力,是不可能翻譯的這麼順暢的。這本書在國內外的評價都比較好,對自然語言處理的兩個學派(語言學派和統計學派)所關注的內容都有所包含,但因此也失去一些側重點。從我的角度來說更偏向於統計部分,所以需要了解統計自然語言處理的讀者下面兩本書更適合做基礎閱讀。不過這本書的N-gram語言模型部分寫得非常不錯,是SRILM的推薦閱讀參考。

    2、《統計自然語言處理基礎》(Foundations of Statistical Natural Language Processing)

    我比較喜歡這本書,這兩年的學習過程中也經常拿這本書作為參考,可能與我做統計機器翻譯有關吧。看china pub上的評論說這本書的翻譯比較差,自己的感覺是還行。當然,這是國內翻譯圖書的一個通病:除了很難有翻譯的非常好的書外,另外一個原因就是滯後性。如果e文足夠好的壞,就及時看英文版吧。這本書在統計基本部分的介紹很不錯,另外n元語法部分講得也比較好,也是SRILM的推薦閱讀。

    3、《統計自然語言處理》

    這是北京自動化所宗成慶老師今年5月出版的一本專著,我有幸較早的閱讀了這本書的很多章節。一個很強的感覺是:如果你想了解相關領域的國內外最新進展,這本書非常值得一讀。上面兩本書在由於出版稍早的緣故,很多領域最新的方法都沒有介紹。而這本書剛剛出版,宗老師對國內外現狀把握的也比較好,因此書中充分體現了這方面的信息。另外統計機器翻譯這一部分寫得很詳細很不錯,這可能與宗老師亦是這個領域的研究者有關吧。

    4、《計算機自然語言處理》

    這是我最早看的一部自然語言處理方面的書籍,和上面幾部大部頭的書籍相比,這本書很薄,可以很快的看完。書的內容我都有點忘了,但是印象中可以在每個章節看到國內這個領域的研究歷史和相關單位。這時才發現母校HIT在這個領域的超強實力,只是可惜這時候已經離開冰城了。

    這些書籍怎麼讀都行,泛覽也罷,精讀也行,只要有時間,多讀書是沒壞處的。我自己的經驗是,先泛泛的瀏覽或閱讀一篇,對於比較晦澀的部分可以先跳過去,然後對自己感興趣的領域或者將要從事的領域的相關章節進行精讀,當然,書籍一般在開始的幾個章節講些基礎性的知識,這部分最好也仔細揣摩一下。真正要對自己研究的領域深刻了解,還得好好讀一下本領域的相關論文。

    【知乎用戶的回答(7票)】:

    曾經寫過一篇小文,初學者如何查閱自然語言處理(NLP)領域學術資料_zibuyu_新浪博客,也許可以供你參考。

    【走刀口的回答(0票)】:

    推薦看《數學之美》。

    【知乎用戶的回答(2票)】:

    順便推薦課程 coursera上michael collins 的課程Coursera.org

    和他寫的一系列文檔。Michael Collins

    【陳科偉的回答(1票)】:

    數學之美這書不錯,入門的話可以看,感覺通俗易懂啊

    【向熠的回答(0票)】:

    《統計自然語言處理基礎》這本書不錯

    【caius的回答(0票)】:

    看1L建議的書。不過自然語言處理若干年內都發展不起來的。

    【黃樹嘉的回答(0票)】:

    這個問題讓我想起前些時候在知乎上所看到的這個問題,有哪些經典的Machine Learning的教材? 雖然不太恰合題主的問題,但覺得@肖智博 的回答題主可以參考一下,值得推崇的一點是他在回答中對該領域的經典書籍做了一個排序,這對於吾等初學者來說,看了起碼會有種該往哪裡走的感覺。

    【知乎用戶的回答(4票)】:

    從開源入手:StanfordNLP和HIT-LTP

    原文地址:知乎


    推薦閱讀:

    「自然療法」大師楊奕教您從手掌治療身體疾病
    純以意行,應物自然(趙幼斌)
    順其自然,人舒坦,心舒坦-今日頭條
    2016年最有腔調的自然生活方式小眾雜誌,你錯過了哪些?
    什麼是功到自然成

    TAG:自然 | 語言 | 自然語言處理 | 自然語言 | 怎麼 | 處理 | 入門 |