1. 程式人生 > >自然語言處理(NLP)入門學習資源清單

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


致謝

鍾崇光博士參與了資料派THU於6月5日、THU資料派於6月8日釋出的《循序漸進提升Kaggle競賽模型精確度,以美國好事達保險公司理賠為例》一文的校對工作,並且給出了許多有建設性的意見,在此資料派翻譯組對鍾博士表達誠摯的感謝!

作者:Melanie Tosik

翻譯:閔黎

校對:丁楠雅

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

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

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

https://demos.explosion.ai/displacy/?text=Great%2C%20this%20is%20just%20what%20I%20needed!&model=en&cpu=1&cph=0

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

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

線上課程

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

https://www.youtube.com/watch?v=nfoudtpBV68&list=PL6397E4B26D00A269

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

http://cs224d.stanford.edu/syllabus.html

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

https://www.coursera.org/learn/natural-language-processing

圖書館和開放資源

•  spaCy(網站部落格)[Python; 新興的開放原始碼庫並自帶炫酷的用法示例、API文件和演示應用程式]

網站網址:https://spacy.io/

部落格網址:https://explosion.ai/blog/

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

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

網站網址:http://www.nltk.org

圖書網址: http://www.nltk.org/book/

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

網站網址: https://stanfordnlp.github.io/CoreNLP/

活躍的部落格

•  自然語言處理部落格(HalDaumé)

部落格網址:https://nlpers.blogspot.com/

•  Google研究部落格

部落格網址:https://research.googleblog.com/

•  語言日誌部落格(Mark Liberman)

部落格網址:http://languagelog.ldc.upenn.edu/nll/

書籍

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

https://web.stanford.edu/~jurafsky/slp3/

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

https://nlp.stanford.edu/fsnlp/

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

https://nlp.stanford.edu/IR-book/

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

https://www.amazon.com/Network-Methods-Natural-Language-Processing/dp/1627052984

入門書籍: http://u.cs.biu.ac.il/~yogo/nnlp.pdf

其它雜項

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

https://www.tensorflow.org/versions/master/tutorials/word2vec/index.html

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

https://github.com/andrewt3000/dl4nlp

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

http://mitp.nautil.us/article/170/last-words-computational-linguistics-and-deep-learning

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

https://github.com/nyu-dl/NLP_DL_Lecture_Note/blob/master/lecture_note.pdf

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

http://www.isi.edu/natural-language/people/bayes-with-tears.pdf

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

http://aclanthology.info/

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

https://www.quora.com/How-do-I-learn-Natural-Language-Processing

DIY專案和資料集

資料來源:http://gunshowcomic.com/

•  Nicolas Iderhoff已經建立了一份公開的、詳盡的NLP資料集的列表。除了這些,這裡還有一些專案,可以推薦給那些想要親自動手實踐的NLP新手們:

資料集:https://github.com/niderhoff/nlp-datasets

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

https://en.wikipedia.org/wiki/Part-of-speech_tagging

https://en.wikipedia.org/wiki/Hidden_Markov_model

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

https://en.wikipedia.org/wiki/CYK_algorithm

https://en.wikipedia.org/wiki/Context-free_grammar

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

https://en.wikipedia.org/wiki/Semantic_similarity

https://en.wikipedia.org/wiki/Pointwise_mutual_information

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

https://en.wikipedia.org/wiki/Naive_Bayes_classifier

https://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering

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

https://en.wikipedia.org/wiki/Spell_checker

https://en.wikipedia.org/wiki/Edit_distance

•  實現一個馬爾科夫鏈文字生成器

https://en.wikipedia.org/wiki/Markov_chain

•  使用LDA實現主題模型

https://en.wikipedia.org/wiki/Topic_model

https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation

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

https://code.google.com/archive/p/word2vec/

https://en.wikipedia.org/wiki/Wikipedia:Database_download

NLP在社交媒體上

•  Twitter:#nlprocNLPers上的文章列表(由Jason Baldrige提供)

https://twitter.com/hashtag/nlproc

https://twitter.com/jasonbaldridge/lists/nlpers

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

https://www.reddit.com/r/LanguageTechnology

•  Medium釋出平臺:Nlp

https://medium.com/tag/nlp

原文連結:

https://medium.com/towards-data-science/how-to-get-started-in-nlp-6a62aa4eaeff

相關推薦

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

致謝 鍾崇光博士參與了資料派THU於6月5日、THU資料派於6月8日釋出的《循序漸進提升Kaggle競賽模型精確度,以美國好事達保險公司理賠為例》一文的校對工作,並且給出了許多有建設性的意見,在此資料派翻譯組對鍾博士表達誠摯的感謝! 作者:Melanie Tosik

斯坦福CS224N_自然語言處理NLP深度學習DL課程筆記(一)

Lecture 1: Introduction pdf 本節課是對自然語言處理的定義介紹和應用介紹,還順帶說了NLP的難點; 本節課使用深度學習作為NLP的主要處理工具。 傳統的機器學習技術,需要人為地去做特徵工程,將這些的特徵餵給機器學期演算法;然後機器學習演

自然語言處理(NLP)入門

本文簡要介紹Python自然語言處理(NLP),使用Python的NLTK庫。NLTK是Python的自然語言處理工具包,在NLP領域中,最常使用的一個Python庫。 什麼是NLP? 簡單來說,自然語言處理(NLP)就是開發能夠理解人類語言的應用程式或服務

自然語言處理(NLP)入門指南資料

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

自然語言處理NLP快速入門

真的 mat unit rod visit ctrl may let 深入 自然語言處理NLP快速入門 https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA 【導讀】自然語言處理已經成為人工智能領域一個重要的分支,它

NLP--自然語言處理與機器學習會議

整理至11月中旬在重慶參加的自然語言處理與機器學習會議,第一講為自然語言處理。 由基本理論到實際運用,整理了基本的框架。 1.      自然語言處理基礎 詞性標註(POS): 為句子中的每個詞語標註詞性,可看做是句法分析的關鍵任務,也可以看做是句法分析的最低層次.對後

自然語言處理如何入門

意義 更新 枯燥 最大的 處理 計算 關聯分析 教育 詞典 ps:筆者會持續更新~ 領域分支概括 俗話說得好: 做research或者學習某個技能最重要的是要對自己的research要非常熟悉(3mins讓別人聽懂你做的這玩意兒是個啥,contribution在哪裏,讓別

自然語言處理NLP(一)

rac 控制臺 分析 arm ont 正則表達 stop python none NLP 自然語言:指一種隨著社會發展而自然演化的語言,即人們日常交流所使用的語言; 自然語言處理:通過技術手段,使用計算機對自然語言進行各種操作的一個學科; NLP研究的內容

自然語言處理NLP(二)

哪些 一個 圖片 ali cor res https 的區別 進行 詞性標註 標註語料庫; 各詞性標註及其含義 自動標註器; 默認標註器; 正則表達式標註器; 查詢標註器; N-gram標註器; 一元標註器; 分離訓練和測試數據; 一般的N-gram的標註

自然語言處理》的相關資源

  特別推薦系列: 1、HMM學習最佳範例全文文件,百度網盤連結: http://pan.baidu.com/s/1pJoMA2B 密碼: f7az 2、無約束最優化全文文件 -by @朱鑑 ,百度網盤連結:連結: http://pan.baidu.com/s/1hqEJ

自然語言處理(nlp)比計算機視覺(cv)發展緩慢,而且更難!

https://mp.weixin.qq.com/s/kWw0xce4kdCx62AflY6AzQ   1.  搶跑的nlp   nlp發展的歷史非常早,因為人從計算機發明開始,就有對語言處理的需求。各種字串演算法都貫穿於計算機的發展歷史中。偉大的喬姆斯基提出了

斯坦福大學-自然語言處理與深度學習(CS224n) 筆記 第三課 詞向量(2)

一、word2vec 1、回顧:skip-grams word2vec的主要步驟是遍歷整個語料庫,利用每個視窗的中心詞來預測上下文的單詞,然後對每個這樣的視窗利用SGD來進行引數的更新。 對於每一個視窗而言,我們只有2m+1個單詞(其中m表示視窗的半徑),因此我們計算出來的梯度向量是

斯坦福大學-自然語言處理與深度學習(CS224n) 筆記 第二課 詞向量(word vector)

課程概要 1、單詞含義 2、word2vec介紹 3、word2vec目標函式的梯度推導 4、目標函式優化:梯度下降法 一、單詞含義 含義(meaning)指的是由單詞表達的觀點。我們一般使用單詞含義的方法是,使用像WordNet那樣的分類詞典,給每個單詞對應的上下義關係以及同義

自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(公號回覆“NLP總結”下載彩標PDF典藏版資料)

自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(公號回覆“NLP總結”下載彩標PDF典藏版資料) 原創: 秦隴紀 資料簡化DataSimp 今天 資料簡化DataSimp導讀:自然語言處理髮展史上的十大里程碑、NLP知識結構,以及NLP國內研究方向、機構、導師。祝大家學習

人工智慧,深度學習,計算機視覺,自然語言處理,機器學習,百度網盤視訊教程

人工智慧,深度學習,計算機視覺,自然語言處理,機器學習視訊教程下載: 1. CS224D 2. NLP到Word2vec 3. Opencv3影象處理 4. Tensorflow 5. 機器學習 6. 人工智慧課程 7. 聊天機器人視訊教程 8. 自然語言處理 獲取檔案下載連結

CS224n-自然語言處理與深度學習簡介1

CS224n-自然語言處理與深度學習簡介1 自然語言處理 自然語言處理 自然語言處理的目標是讓計算機能夠“理解”自然語言,代替人去做一些有意義的事,比如,聊天機器人,機器翻譯等。 想要理解自然語言很難,人類語言是離散的、明確的符號系統,但又有

自然語言處理NLP(三)

樣本點中的關鍵度量指標:距離 定義: 常用距離: 歐氏距離,euclidean–通常意義下的距離; 馬氏距離,manhattan–考慮到變數間的相關性,且與變數單位無關; 餘弦距離,cosi

自然語言處理NLP(四)

實體識別 實體識別–分塊型別: 名詞短語分塊; 標記模式分塊; 正則表示式分塊; 分塊的表示方法:標記和樹狀圖; 分塊器評估; 命名實體識別; 命名實體定義:指特定型別的個體,是一些確切的名詞短語

斯坦福大學-自然語言處理與深度學習(CS224n)筆記 第八課 迴圈神經網路

課程概要 1、傳統語言模型 2、迴圈神經網路 3、例項(python) 4、RNN處理的一些技巧 5、針對其他任務的序列模型 6、總結 一、傳統語言模型 語言模型可以計算一些系列的單詞的概率P(w1,…,wT) 可以用來進行機器翻譯 單詞順序:p(the