免費的NLP學習資源,瞭解一下
自然語言處理表示計算機系統理解人類語言的能力,它是人工智慧的一部分。網上有很多種資源可以幫助你從零開始學習NLP。本文列出了適用於初學者和從業者的一些相關資源。
給初學者的自然語言資源
對於初學者,可以採用兩種傳統的方法—機器學習和深度學習來開始自然語言處理。這兩種方法是不同的,你可以點選這裡來檢視它們之間的區別。
傳統機器學習
傳統的機器學習演算法比較複雜,不太容易理解。個人建議使用深度學習來做NLP更快捷。
深度學習(Deep Learning)
深度學習是機器學習的一個分支領域,由於人工神經網路的引入,深度學習比傳統機器學習的表現要好得多。可以通過深度學習來學習NLP,對於初學者可以檢視以下的資源:
· CS224n:這是從零開始通過深度學習來學習NLP的最佳課程。本課程由史丹佛大學主辦,可以點選這裡訪問;
· YoavGolberg的免費和付費的書,是在NLP中開始深度學習的好資源。免費書籍可以在這裡訪問;
· 在Jacob Einsenstein的關於GATECH的NLP類的筆記中,覆蓋了所有NLP的演算法,而NLP類幾乎能處理所有的NLP方法,點選這裡可以訪問他的筆記;
給從業者的自然語言處理的學習資源
如果你是一個資料專家,可能需要如下三種型別的資源:
1、快速入門指南
2、特定問題的檢查方法
3、時常閱讀文章
快速入門指南
· 對於NLP的概述,可以從Daniel W. Otter等人的深度學習報告開始,點選這裡訪問。
· Tom Young等人的一篇調查報告總結了基於深度學習的NLP中的所有最新內容,建議從業者開始使用NLP,點選這裡檢視報告。
· 這有一篇不錯的論文,讓我們瞭解瞭如何隱藏迴圈神經網路(Recurrent Neural Networks,RNNs)的狀態。我還推薦如下兩篇博文:
o瞭解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/,這是一個關於快速翻譯的C++語言框架,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和注意機制的結合已經給出了可以用在實際生活中的成果。這裡是相關技術的調查報告。
本文由北郵@愛可可-愛生活 老師推薦,阿里云云棲社群組織翻譯。
文章原標題《List of free resources to learn Natural Language Processing
》
譯者:奧特曼,審校:袁虎。
文章為簡譯,更為詳細的內容,請檢視原文
相關文章
- 學習資料科學的五大免費資源資料科學
- 來學習!五個免費充電資源
- 分享兩個不錯的django免費入門學習資源Django
- 前端,java,mysql,nginx,簡歷 獲取免費學習資源!!!前端JavaMySqlNginx
- 免費資源網站網站
- heic檔案如何轉換成jpg?免費heic轉換器瞭解一下
- 自適應學習率排程器瞭解一下?
- 關於學習Web前端所需要的學習資料(免費送)Web前端
- 熱門好用的免費API資源API
- 全球頂尖大學的UX課程資源,全部免費!UX
- 圖解BERT(NLP中的遷移學習)圖解遷移學習
- NLP系列學習:資料平滑
- Github 最新 AI 開源專案瞭解一下?GithubAI
- 你還在尋找Navicat的破解版本?你應該瞭解開源免費的DBeaver
- 據我瞭解免費OA系統是這樣的
- 免費API介面資源推薦API
- 您對免費OA系統到底瞭解多少?
- 開源=免費?
- 漲姿勢瞭解一下Kafka消費位移可好?Kafka
- 那些我們不知道的 Python 免費學習資料Python
- 免費資源列表:想學自然語言處理的打包帶走!自然語言處理
- 【資源分享】免費好用的API介面彙總API
- NLP學習1
- 國內免費漢語語料庫-NLP
- 瞭解一下Bootstrapboot
- CSS 瞭解一下CSS
- koa,瞭解一下?
- JSX,瞭解一下?JS
- 【NLP學習其三】在學習什麼是嵌入之前,你應該瞭解什麼是詞語表徵
- 你瞭解免費OA辦公系統有多少?
- ChatGPT 一文全瞭解-免費賬號分享ChatGPT
- HTTP 學習瞭解(二)HTTP
- HTTP 學習瞭解(三)HTTP
- HTTP 學習瞭解四HTTP
- HTTP 學習瞭解 (一)HTTP
- 學習瞭解使用dockerDocker
- 【資源分享】各類免費API大全API
- 免費的大資料學習資料及學習路線、這一份就足夠了大資料