自然語言處理
自然語言處理已成為 2020 年深度學(xué)習(xí)領(lǐng)域中研究最多的領(lǐng)域之一,這主要是由于其日益普及,未來的潛力以及對各種應(yīng)用程序的支持。
如果你以前玩過深度學(xué)習(xí),那么可能知道傳統(tǒng)的深度學(xué)習(xí)框架,例如 Tensorflow,Keras 和 Pytorch。 假定你了解這些基本框架,本文將專門簡要介紹很多有用的 NLP 庫,2020 年把這些庫都用起來吧!
通用框架
1.AllenNLP
人氣指數(shù):????(四星)
官網(wǎng)網(wǎng)站:https://allennlp.org/
GitHub:https://github.com/allenai/allennlp
簡要說明:AllenNLP 是由世界著名的艾倫人工智能實(shí)驗(yàn)室(Allen Institute for AI Lab)建立的 NLP 深度學(xué)習(xí)通用框架,不僅包含了最先進(jìn)的參考模型,可以進(jìn)行快速部署,而且支持多種任務(wù)和數(shù)據(jù)集,還包含了很多很酷的演示案例,看完案例,你就知道自己是否想學(xué)習(xí)和使用這個框架了!
2.Fast.ai
人氣指數(shù):????(四星)
官方網(wǎng)站: http://docs.fast.ai/
Github: https://github.com/fastai/fastai
簡要說明:Fast.ai 的構(gòu)建旨在通過其免費(fèi)的在線課程和易于使用的軟件庫,為沒有技術(shù)背景的人們提供深度學(xué)習(xí)的機(jī)會。 實(shí)際上,它的共同創(chuàng)始人杰里米·霍華德(Jeremy Howard)剛剛出版(2020年8月)一本全新的書,名為《面向程序員的 fastai 和 PyTorch 深度學(xué)習(xí):不需要博士學(xué)位的AI應(yīng)用》,其標(biāo)題不言而喻。在 Fast.ai 庫中,它們具有指定的 Text 節(jié),該節(jié)用于與 NLP 相關(guān)的所有內(nèi)容。它們具有具有超高層次的抽象和易于實(shí)現(xiàn)的 NLP 數(shù)據(jù)預(yù)處理、模型構(gòu)建、培訓(xùn)和評估。 在這里,推薦那些偏愛實(shí)踐而不是理論,并希望快速解決問題的人使用 Fast.ai。
預(yù)處理
1.Spacy
人氣指數(shù):?????(五星)
官方網(wǎng)站:https://spacy.io/
GitHub:https://github.com/explosion/spaCy
簡要說明:Spacy是最受歡迎的文本預(yù)處理庫,也是你能找到最方便的庫。它包含許多易于使用的函數(shù),可以用于標(biāo)記化、詞性標(biāo)記、命名實(shí)體識別等。它還支持59種以上的語言和幾種預(yù)訓(xùn)練的單詞向量,你很容易就可以快速入門!
2.NLTK
人氣指數(shù):?????(五星)
官方網(wǎng)站:https://www.nltk.org/
GitHub:https://github.com/nltk/nltk
簡要說明:與 Spacy 相似,它是 NLP 的另一個流行的預(yù)處理庫。它的功能包括標(biāo)記化、詞干提取、標(biāo)記、句法分析和語義推理。就我個人而言,NLTK 是我最喜歡的預(yù)處理庫,因?yàn)?NLTK 足夠簡單,而且能幫助我們快速完成工作。
3.TorchText
人氣指數(shù):????(四星)
官方網(wǎng)站:https://torchtext.readthedocs.io/en/latest/
GitHub:https://github.com/pytorch/text
簡要說明:TorchText 因?yàn)榈玫?Pytorch 的支持,所以越來越受歡迎。它包含便利的數(shù)據(jù)處理實(shí)用程序,可在批量處理和準(zhǔn)備之前將其輸入到深度學(xué)習(xí)框架中。我經(jīng)常使用 TorchText 來加載訓(xùn)練、驗(yàn)證和測試數(shù)據(jù)集,來進(jìn)行標(biāo)記化、vocab 構(gòu)造和創(chuàng)建迭代器,這些迭代器稍后可被 dataloader 使用。它不僅是一個非常方便的工具,僅用幾行簡單的代碼就能處理所有繁重的工作,還可以輕松地為數(shù)據(jù)集使用經(jīng)過預(yù)訓(xùn)練的單詞嵌入,例如 word2Vec 或 FastText。
使用 Pytorch 進(jìn)行的 BERT 文本分類示例:
https://towardsdatascience.com/bert-text-classification-using-pytorch-723dfb8b6b5b
Transformers
Huggingface
人氣指數(shù):?????(五星)
官方網(wǎng)站:https://huggingface.co/
GitHub:https://github.com/huggingface/transformers
簡要說明:這是最流行的庫,它實(shí)現(xiàn)了從 BERT 和 GPT-2 到 BART 和 Reformer 的各種轉(zhuǎn)換。huggingface 的代碼可讀性強(qiáng)和文檔也是清晰易讀。在官方github的存儲庫中,甚至通過不同的任務(wù)來組織 Python 腳本,例如語言建模、文本生成、問題回答、多項(xiàng)選擇等。他們具有內(nèi)置的腳本,用于為每個任務(wù)運(yùn)行基線轉(zhuǎn)換,真的很方便!
具體任務(wù)
1.Gensim
人氣指數(shù):???(三星)
官方網(wǎng)站:https://radimrehurek.com/gensim/
GitHub:https://github.com/RaRe-Technologies/gensim
任務(wù):主題建模,文本摘要,語義相似度
簡要說明:Gensim 是用于特定文本主題建模的高端行業(yè)級軟件。它的功能非常強(qiáng)大,獨(dú)立于平臺,并且具有可擴(kuò)展性。不僅可以用來判斷兩個報(bào)紙文章之間的語義相似性,而且可以利用簡單的函數(shù)調(diào)用來執(zhí)行此操作并返回其相似度分?jǐn)?shù),非常方便!
2.OpenNMT
人氣指數(shù):???(三星)
官方網(wǎng)站:https://opennmt.net/
GitHub:https://github.com/OpenNMT/OpenNMT-py
任務(wù):機(jī)器翻譯
簡要說明:OpenNMT 是用于機(jī)器翻譯和序列學(xué)習(xí)任務(wù)的便捷而強(qiáng)大的工具。其包含的高度可配置的模型和培訓(xùn)過程,讓它成為了一個非常簡單的框架。因其開源且簡單的特性,建議大家使用 OpenNMT 進(jìn)行各種類型的序列學(xué)習(xí)任務(wù)。
3.ParlAI
人氣指數(shù):???(三星)
官方網(wǎng)站:https://parl.ai/
GitHub:https://github.com/facebookresearch/ParlAI
任務(wù):面向任務(wù)的對話,聊天對話,視覺問答
說明:ParlAI 是 Facebook 的#1 框架,用于共享、訓(xùn)練和測試用于各種對話任務(wù)的對話模型。其提供了一個支持多種參考模型、預(yù)訓(xùn)練模型、數(shù)據(jù)集等的多合一環(huán)境。與本文中的其他大多數(shù)工具不同,如果你想自行定制內(nèi)容,ParlAI 需要一定的編碼水平和機(jī)器學(xué)習(xí)專業(yè)知識。換句話說,就是用起來有點(diǎn)復(fù)雜,但是如果你要是用于對話,它還是一個很好的工具。
4.DeepPavlov
人氣指數(shù):???(三星)
官方網(wǎng)站:http://deeppavlov.ai/
GitHub:https://github.com/deepmipt/DeepPavlov
任務(wù):面向任務(wù)的對話,聊天對話
簡要說明:除了 ParlAI 之外,我想說 DeepPavlov 更適合于應(yīng)用程序和部署,而不是用于研究,盡管我們?nèi)匀豢梢杂?DeepPavlov 來進(jìn)行很多自定義。 我認(rèn)為,DeepPavlov 到 ParlAI 就像 Tensorflow 到 Pytorch。DeepPavlov 是主要用于聊天機(jī)器人和虛擬助手開發(fā)的框架,因?yàn)樗峁┝松a(chǎn)就緒和行業(yè)級對話代理所需的所有環(huán)境工具。
--END--
喜歡本文的同學(xué)記得收藏+點(diǎn)贊~
更多內(nèi)容,歡迎大家關(guān)注我們的公眾號:為AI吶喊(weainahan)