免費的NLP學習資源,瞭解一下

摘要: 本文列出了一些適用於初學者和從業者學習天然語言處理的相關資源。

天然語言處理表示計算機系統理解人類語言的能力,它是人工智能的一部分。網上有不少種資源能夠幫助你從零開始學習NLP。本文列出了適用於初學者和從業者的一些相關資源。git

clipboard.png

給初學者的天然語言資源github

對於初學者,能夠採用兩種傳統的方法—機器學習和深度學習來開始天然語言處理。這兩種方法是不一樣的,你能夠點擊這裏來查看它們之間的區別。web

傳統機器學習算法

傳統的機器學習算法比較複雜,不太容易理解。我的建議使用深度學習來作NLP更快捷。網絡

深度學習(Deep Learning)框架

深度學習是機器學習的一個分支領域,因爲人工神經網絡的引入,深度學習比傳統機器學習的表現要好得多。能夠經過深度學習來學習NLP,對於初學者能夠查看如下的資源:機器學習

• CS224n:這是從零開始經過深度學習來學習NLP的最佳課程。本課程由斯坦福大學主辦,能夠點擊這裏訪問;學習

• YoavGolberg的免費和付費的書,是在NLP中開始深度學習的好資源。免費書籍能夠在這裏訪問;測試

• 在Jacob Einsenstein的關於GATECH的NLP類的筆記中,覆蓋了全部NLP的算法,而NLP類幾乎能處理全部的NLP方法,點擊這裏能夠訪問他的筆記;網站

給從業者的天然語言處理的學習資源

clipboard.png

若是你是一個數據專家,可能須要以下三種類型的資源:

一、快速入門指南

二、特定問題的檢查方法

三、時常閱讀文章

快速入門指南

• 對於NLP的概述,能夠從Daniel W. Otter等人的深度學習報告開始,點擊這裏訪問。

• Tom Young等人的一篇調查報告總結了基於深度學習的NLP中的全部最新內容,建議從業者開始使用NLP,點擊這裏查看報告。

• 這有一篇不錯的論文,讓咱們瞭解瞭如何隱藏循環神經網絡(Recurrent Neural Networks,RNNs)的狀態。我還推薦以下兩篇博文:

• 瞭解LSTM(Long Short-Term Memory)網絡

• 擴展的遞歸神經網絡

• 卷積神經網絡(Convolutional Neural Networks,CNNs/ConvNets)也能夠被用來理解天然語言處理。經過閱讀這篇論文,你能夠想象CNNs如何在NLP中進行應用;

• ShaojieBai等人在一篇論文中強調了如何將CNNs和RNNs進行比較。PyTorch張量庫全部的代碼是開放的,點擊這裏能夠查看。

特定問題的處理方法

從業者須要的另外一種類型的資源是,若是要選擇一個算法來執行任務,那麼可以應用的最好的方法有哪些呢?

文本分類

文本分類方面的種類居多,能夠是將文本分紅不一樣的類別或檢測文本中的觀點/情感的形式。

我想介紹一個容易理解的咱們前些時候在ParallelDots博客上作的情感分析技術的調查報告。雖然這項調查是關於情感分析技術的,可是它包含了大多數的文本分類問題。

咱們的調查技術性沒有那麼強,但頗有趣,而且可以指導你利用更好的資源來理解概念。有一些Arxiv調查報告技術性很是強,這就須要你閱讀其它的一些論文來深刻理解主題。我建議的方法是使用本文中的連接來熟悉,並享受其中的樂趣,但以後建議閱讀我提供的指南。記住,雖然興趣很重要,但技巧有時也很重要,不然很難在新的環境中應用概念。另外一個情感分析算法的調查報告能夠在這裏訪問。

若是你還沒據說過遷移學習,其實它正在快速地深刻到深度學習領域之中。就像在圖片裏利用ImageNet分類來訓練模型,還能夠針對任何分類任務進行微調,在Wikipedia網站上訓練NLP模型,用於語言建模,目前能夠在相對較少的數據量上傳輸學習文本分類。如今咱們尚未關於這個問題的調查報告,可是我能夠告訴你在OpenAI上Reuder和Howard的兩篇論文,它們涉及下面所提到的技術:

• 面向文本分類的通用語言模型的微調

• 生成性預訓練提升語言理解能力

在Fast.ai上有詳細的方法使用文檔。

若是你正在進行兩個不一樣任務的遷移學習,這裏將介紹使用Convnets的技巧。恕我直言,這些技術將逐漸地採用其它的分類方法。咱們還發布了Zero Shot文本分類上的工做成果,並獲得了不錯的準確性,沒有任何數據集上的訓練,並且正在致力於後面深刻的工做。咱們已經建了一個一般稱爲自定義分類器的文本分類API,你能夠在其中定義本身的類別,能夠點擊查看demo。

序列標註

序列標註是一個給字詞加屬性的工做,其中包括詞性標註、命名的實體識別、關鍵詞標註等。咱們寫了一個有趣的任務檢驗方法,請點擊查看這裏。

關於這些問題,你能夠查看今年COLING大會上的一篇論文,它給出了訓練序列標註算法的最優準則,能夠點擊這裏查看。

機器翻譯

• 近來NLP最大的進步是提供了將文本從一種語言翻譯成另外一種語言的算法。Google的系統是一個16層的LSTM,並給出了最優翻譯結果;

• 關於機器翻譯的更多教程,你能夠參考Philip Koehn的論文。點擊這裏能夠查看有關利用深度學習來進行機器翻譯的詳細資料。

這裏有兩篇我很是喜歡的論文:

• 當你有足夠多的數據時,Google論文會告訴你如何全面完整地解決問題;

• Facebook的卷積機器翻譯系統和相關代碼做爲一個庫發佈在這裏;

https://marian-nmt.github.io/...,http://www.aclweb.org/anthology/P18-4020;

http://opennmt.net/,使每一個人...

常見問題

• SQuAD數據集是一個問答數據集,它用來測試算法閱讀理解和回答問題的能力。微軟今年早些時候發佈了一篇論文,聲稱他們在這一領域的NLP成果已經達到了至關於人類水平的準確性,能夠在這裏查看論文。另外一個重要的算法是Allen AI的BiDAF(Bi-Directional Attention Flow);

• 另外一個重要算法是關於視覺問答的,給出了關於圖像問題的答案。在2017年的VQA挑戰賽上,Teney等人發表的論文是一個很好的基礎入門資料,能夠在GITHUB上找到相關的實現代碼。

• 在現實生活中,對大型文檔的提取式問答能夠利用遷移學習來實現,點擊這裏能夠查到相關論文。這裏有一篇很是好的論文駁斥了問答算法的「理解」,若是你正從事相關的工做,強烈建議閱讀。

釋義、語句類似度或推理

語句對比的工做,NLP有三個不一樣的任務: 語句類似度, 釋義檢測和天然語言推理(Natural Language Inference,NLI),爲此,每個任務都須要有比之前更多的語義理解。MultiNLI及其子集Stanford NLI是最著名的基準數據集,而且在最近成爲了研究的熱點。還有用於釋義檢測的MS Paraphrase Corpus和Quora Corpus以及用於STS(語義文本類似性)的SemEval數據集。在這個領域關於高級模型的調查報告點擊這裏能夠訪問到。

在這個領域中,我很是喜歡的論文有如下幾篇:

• Omar Levy小組的一篇論文代表了即便是簡單的算法也可以執行操做,這是由於算法沒有學習「推理」。

• BiMPM(雙邊多角度句子匹配)是一個預測釋義的好模型,能夠點擊這裏查看。

• 還有一項用於釋義檢測的新工做,它把關係網絡應用到語句表示上面了,並在今年的AINL會議上獲得了承認,能夠點擊這裏閱讀相關信息。

其它領域

語言建模(LM)—語言建模是關於學習一種語言的無監督表示的過程,這是經過給出一個語句中前n個詞來預測第(n+1)個詞完成的。這些模型有兩個重要的實際環境應用,一個是自動完成建模,另一個是做爲上文中提到的用於文本分類的遷移學習基礎模型。點擊這裏能夠查看一個比較長的調查報告。若是你對如何在手機或者搜索引擎中根據搜索歷史記錄自動完成LSTMs感興趣,這裏推薦一篇很好的論文。

關係提取—關係提取是指在一個句子中抽取實體之間關係的行爲。所以,所給句子中「A是做爲r到B的關聯」,你會獲得三重關係(A,r,B)。在該領域中研究工做的調查報告能夠點擊這裏查看。我還發現了一篇論文很是不錯,是使用BiDAF進行Zero Shot關係提取的。

對話系統—隨着聊天機器人的出現,對話系統如今很是流行。許多人將對話系統做爲意圖檢測、關鍵詞檢測、問題回答等模型的實現,而一些人則試着進行全面建模。我也順便提一下Parl.ai,這是Facebook AI的一我的工智能對話技術框架。

文本摘要—文本摘要是從文檔中獲取濃縮的文本。有兩種方法能夠完成這個工做:提取摘要和抽象歸納。提取摘要是從文章中抽取出最具信息含量的句子,而抽象歸納的目的是像人同樣寫摘要。這個來自Eintein AI的demo將抽象歸納帶進了主流研究。

天然語言生成(NLG)—天然語言生成是關於計算機旨在像人類同樣寫做的研究,這能夠是寫故事、詩歌、圖片的標題等等。其中,目前的研究已經可以在圖片標題上作的很好,LSTM和注意機制的結合已經給出了能夠用在實際生活中的成果。這裏是相關技術的調查報告。

本文做者:【方向】

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索