獨家 | 自然語言處理(NLP)入門學習資源清單

作者:Melanie Tosik

翻譯:閔黎

校對:丁楠雅

本文長度為1100字,建議閱讀3分鐘

Melanie Tosik目前就職於旅遊搜索公司WayBlazer,她的工作內容是通過自然語言請求來生產個性化旅遊推薦路線。回顧她的學習歷程,她為期望入門自然語言處理的初學者列出了一份學習資源清單。

displaCy網站上的可視化依賴解析樹

demos.explosion.ai/disp

記得我曾經讀到過這樣一段話,如果你覺得有必要回答兩次同樣的問題,那就把答案發到博客上,這可能是一個好主意。根據這一原則,也為了節省回答問題的時間,我在這裡給出該問題的標準問法:「我的背景是研究**科學,我對學習NLP很有興趣。應該從哪說起呢?」

在您一頭扎進去閱讀本文之前,請注意,下面列表只是提供了非常通用的入門清單(有可能不完整)。 為了幫助讀者更好地閱讀,我在括弧內添加了簡短的描述並對難度做了估計。最好具備基本的編程技能(例如Python)。

在線課程

? Dan Jurafsky 和 Chris Manning:自然語言處理[非常棒的視頻介紹系列]

youtube.com/watch?

? 斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習演算法、深度學習和NLP的神經網路架構]

cs224d.stanford.edu/syl

? Coursera:自然語言處理簡介[由密西根大學提供的NLP課程]

coursera.org/learn/natu

圖書館和開放資源

? spaCy(網站,博客)[Python; 新興的開放源碼庫並自帶炫酷的用法示例、API文檔和演示應用程序]

網站網址:spacy.io/

博客網址:explosion.ai/blog/

演示應用網址: spacy.io/docs/usage/sho

? 自然語言工具包(NLTK)(網站,圖書)[Python; NLP實用編程介紹,主要用於教學目的]

網站網址:nltk.org

圖書網址: nltk.org/book/

? 斯坦福CoreNLP(網站)[由Java開發的高質量的自然語言分析工具包]

網站網址: stanfordnlp.github.io/C

活躍的博客

? 自然語言處理博客(HalDaumé)

博客網址:nlpers.blogspot.com/

? Google研究博客

博客網址:research.googleblog.com

? 語言日誌博客(Mark Liberman)

博客網址:languagelog.ldc.upenn.edu

書籍

? 言語和語言處理(Daniel Jurafsky和James H. Martin)[經典的NLP教科書,涵蓋了所有NLP的基礎知識,第3版即將出版]

web.stanford.edu/~juraf

? 統計自然語言處理的基礎(Chris Manning和HinrichSchütze)[更高級的統計NLP方法]

nlp.stanford.edu/fsnlp/

? 信息檢索簡介(Chris Manning,Prabhakar Raghavan和HinrichSchütze)[關於排名/搜索的優秀參考書]

nlp.stanford.edu/IR-boo

? 自然語言處理中的神經網路方法(Yoav Goldberg)[深入介紹NLP的NN方法,和相對應的入門書籍]

amazon.com/Network-Meth

入門書籍: u.cs.biu.ac.il/~yogo/nn

其它雜項

? 如何在TensorFlow中構建word2vec模型[學習指南]

tensorflow.org/versions

? NLP深度學習的資源[按主題分類的關於深度學習的頂尖資源的概述]

github.com/andrewt3000/

? 最後一句話:計算語言學和深度學習——論自然語言處理的重要性。(Chris Manning)[文章]

mitp.nautil.us/article/

? 對分散式表徵的自然語言的理解(Kyunghyun Cho)[關於NLU的ML / NN方法的獨立講義]

github.com/nyu-dl/NLP_D

? 帶淚水的貝葉斯推論(Kevin Knight)[教程工作簿]

isi.edu/natural-languag

? 國際計算語言學協會(ACL)[期刊選集]

aclanthology.info/

? 果殼問答網站(Quora):我是如何學習自然語言處理的?

quora.com/How-do-I-lear

DIY項目和數據集

資料來源:gunshowcomic.com/

? Nicolas Iderhoff已經創建了一份公開的、詳盡的NLP數據集的列表。除了這些,這裡還有一些項目,可以推薦給那些想要親自動手實踐的NLP新手們:

數據集:github.com/niderhoff/nl

? 基於隱馬爾可夫模型(HMM)實現詞性標註(POS tagging).

en.wikipedia.org/wiki/P

en.wikipedia.org/wiki/H

? 使用CYK演算法執行上下文無關的語法解析

en.wikipedia.org/wiki/C

en.wikipedia.org/wiki/C

? 在文本集合中,計算給定兩個單詞之間的語義相似度,例如點互信息(PMI,Pointwise Mutual Information)

en.wikipedia.org/wiki/S

en.wikipedia.org/wiki/P

? 使用樸素貝葉斯分類器來過濾垃圾郵件

en.wikipedia.org/wiki/N

en.wikipedia.org/wiki/N

? 根據單詞之間的編輯距離執行拼寫檢查

en.wikipedia.org/wiki/S

en.wikipedia.org/wiki/E

? 實現一個馬爾科夫鏈文本生成器

en.wikipedia.org/wiki/M

? 使用LDA實現主題模型

en.wikipedia.org/wiki/T

en.wikipedia.org/wiki/L

? 使用word2vec從大型文本語料庫,例如維基百科,生成單詞嵌入。

code.google.com/archive

en.wikipedia.org/wiki/W

NLP在社交媒體上

? Twitter:#nlproc,NLPers上的文章列表(由Jason Baldrige提供)

twitter.com/hashtag/nlp

twitter.com/jasonbaldri

? Reddit 社交新聞站點:/r/LanguageTechnology

reddit.com/r/LanguageTe

? Medium發布平台:Nlp

medium.com/tag/nlp

原文鏈接:

medium.com/towards-data


推薦閱讀:

時空大數據真的能預測未來嗎?
Storm, Spark, Hadoop三個大數據處理工具都是JVM上的語言寫成的,這件事是否能說明什麼?
MapReduce如何解決數據傾斜?
數據接入 | 如何快速提升數據分析的效率?(上)
國內圖計算研究哪裡比較強?

TAG:自然语言处理 | 大数据 | 大数据处理 |