歡迎光臨
每天分享高質量文章

朋友,千萬不能錯過!13個自然語言處理的深度學習框架

    本文主要介紹一些基於Python,用於自然語言處理( NLP )的常用的神經網路框架和庫。


Chainer

    Chainer是由日本公司Preferrence Networks於2014年建立的,是一個功能強大、靈活、直觀的基於Python語言的神經網路框架,採用一種“define-by-run”方案[ 1 )。它儲存計算的歷史而不是程式設計邏輯。Chainer支援CUDA計算和multi-GPU計算。該框架是在達到MIT許可條件下釋出,並且已經應用於情感分析、機器翻譯、語音識別、問答等,使用不同型別的神經網路,例如摺積網路、遞迴網路和序列到序列的模型。

 

Deeplearning4j

    Deep learning 4j是一個由Java語言編寫深度學習程式設計庫,但也有一個Python API,Keras,下麵將對此進行介紹。分散式CPU和GPU、迭代約簡(iterative reduce)的並行訓練和微服務體系結構自適應(micro-service architecture adaptation)是其主要特點。向量空間建模(Vector space modeling)使該工具能夠解決文字挖掘問題,用於詞性( PoS )標記、依存性解析和word2vec用於訓練詞向量。

 

Deepnl

    Deepnl是由Giusppe Attardi開發的一款為自然語言處理而專門建立的神經網路Python庫。它提供了用於詞性標註、命名物體識別、語意角色標註(使用摺積神經網路)和詞向量訓練的工具。


Dynet

    Dynet是卡內基梅隆大學和很多其他許多大學聯合開發的工具。它支援c++和Python語言,可以在CPU或GPU上執行。dynet是基於網路結構的dynamic declaration。該工具用於為NLP問題建立優秀的系統,包括句法分析、機器翻譯、形態變化(morphological inflection)等。

 

Keras

    Keras是一個基於高階神經網路的Python API,執行在CPU或GPU上。它支援摺積和遞迴網路,並且可以在Tensorflow、CNTK或Theano之上執行。主要關註點是使使用者能夠快速進行實驗。實際中有許多Keras用法的示例:分類、文字生成和摘要、標記、解析、機器翻譯、語音識別等。


Nlpnet

    Erick Rocha Fonseca的nlpnet也是一個基於神經網路的用於NLP任務的Python庫。摺積網路使使用者能夠進行詞性標註、語意角色標註和依賴性解析。大多數架構都是語言獨立的。

 

OpenNMT

    Openmt是一個基於Python的機器翻譯工具,符合MIT license,並依賴PyTorch庫。該系統展示了效率和最先進的翻譯準確性,並被許多翻譯提供商所使用。它還可以用於文字摘要生成、語音識別和影象到文字轉換等。

 

PyTorch

    PyTorch是一個快速靈活的神經網路框架,具有一種勢在必行的架勢。它在tape-based自體移植系統上搭建神經網路,並提供具有超強GPU加速度的tensor computation。遞迴神經網路主要用於機器翻譯、分類、文字生成、標記和其他NLP任務。

 

SpaCy

    開發人員稱SpaCy是世界上最快的系統。他們還稱SpaCy是為深度學習準備文字語料的最佳方式。SpaCy在gensim、Keras、TensorFlow和scikit – learning等知名Python庫上執行良好。其作者馬修·洪尼巴爾說,SpaCy的使命是使最先進的自然語言處理技術實用化,並得到廣泛應用,比如用於文字分類、命名物體識別、詞性標註、依存句法分析等。

 

Stanford’s CoreNLP

    斯坦福大學的CoreNLP是一個靈活、快速、現代化的語法分析工具,為包括Python在內的大多數常見程式語言提供了APIs。它還可以為簡單web應用提供服務。正如官方網站上提到的,該框架具有詞性( POS )標記器、命名物體識別器( NER )、解析器、coreference resolution system、情感分析、自舉樣式學習和開放資訊提取工具。

 

Tensorflow

    谷歌大腦團隊開發了TensorFlow,並於2015年釋出,主要用於研究。現在許多公司如Airbus、英特爾、IBM、Twitter等都在工業生成中都使用Tensorflow。系統架構靈活,因此可以在CPU或GPU上高效執行。主要概念是流圖(flow graph)。圖的節點反映數學運算次數,而邊表示結點之間通訊的多維資料陣(張量)。TensorFlow最著名的NLP應用程式之一是谷歌翻譯。其他應用包括文字分類和摘要生成、語音識別、標註等。

 

TFLearn

    由於是Tensorflow的一個低階API,因此建立了許多高階API來執行在它上面,以使使用者體驗更快、更容易理解。TFLearn是在CPU和GPU上執行的主要工具之一。它有一個特殊的圖形視覺化工具,詳細展示了權重,梯度,啟用等模型訓練情況。該庫已經用於情感分析、文字生成和命名物體識別。它允許使用者使用摺積神經網路和遞迴神經網路( LSTM )。

 

Theano

    Theano是一個數字計算Python庫,使用者可以建立自己的機器學習模型。像Keras這樣的許多框架都是建立在Theano之上。用於機器翻譯、語音識別、詞向量計算和文字分類的工具。

 

Summary

    在本文中,我們介紹了基於Python編寫的,用於進行自然語言處理的主流的神經網路庫。這些工具是Chainer、Deeplearning 4j、Deepnl、Dynet、Keras、Nlpnet、Openmt、PyTorch、SpaCy、斯坦福大學的CoreNLP、Tensorflow、TFLearn和Theano。


相關資源

    1. https://chainer.org/

    2. http://learningsys.org/papers/LearningSys_2015_paper_33.pdf

    3. https://deeplearning4j.org/

    4. http://www.aclweb.org/anthology/W15-1515

    5. https://github.com/attardi/deepnl

    6. https://github.com/clab/dynet

    7. https://arxiv.org/pdf/1701.03980.pdf

    8. https://keras.io/

    9. https://github.com/erickrf/nlpnet

    10. http://nilc.icmc.usp.br/nlpnet/

    11. http://opennmt.net/

    12. http://opennmt.net/OpenNMT/applications/

    13. http://pytorch.org/about/

    14. https://spacy.io/

    15. https://stanfordnlp.github.io/CoreNLP/

    16. https://www.tensorflow.org/

    17. http://tflearn.org/

    18. https://github.com/Theano/Theano

    19. https://github.com/odashi/chainer_nmt

往期精彩內容推薦

千萬不要錯過!ICLR-2018精品論文解析

歷史最全GAN網路及其各種變體整理(附論文及程式碼實現)

斯坦福大學2017年春季_基於摺積神經網路的視覺識別課程影片教程及ppt分享

深度學習傑出人物專訪系列(Andrew Ng)分享(一)

深度學習與NLP 深度學習|機器學習|人工智慧 精品影片教程合集分享

純乾貨15 48個深度學習相關的平臺和開源工具包,一定有很多你不知道的!!!

純乾貨14 2017年-李宏毅-最新深度學習/機器學習中文影片教程分享_後篇

模型彙總19 強化學習(Reinforcement Learning)演演算法基礎及分類

模型彙總17 基於Depthwise Separable Convolutions的Seq2Seq模型_SliceNet原理解析

11純乾貨7 Domain Adaptation影片教程(附PPT)及經典論文分享

深度學習模型-13 遷移學習(Transfer Learning)技術概述

掃描下方二維碼可以訂閱哦!

DeepLearning_NLP

深度學習與NLP

       商務合作請聯絡微訊號:lqfarmerlq

贊(0)

分享創造快樂