日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

史上最详尽的NLP预处理模型汇总

發(fā)布時(shí)間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 史上最详尽的NLP预处理模型汇总 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

文章發(fā)布于公號(hào)【數(shù)智物語】 (ID:decision_engine),關(guān)注公號(hào)不錯(cuò)過每一篇干貨。

?

?

?

轉(zhuǎn)自 | 磐創(chuàng)AI(公眾號(hào)ID:xunixs)

作者 | AI小昕

?

編者按:近年來,自然語言處理(NLP)的應(yīng)用程序已經(jīng)無處不在。NLP使用率的快速增長(zhǎng)主要?dú)w功于通過預(yù)訓(xùn)練模型實(shí)現(xiàn)的遷移學(xué)習(xí)概念,遷移學(xué)習(xí)本質(zhì)上是在一個(gè)數(shù)據(jù)集上訓(xùn)練模型,然后使該模型能夠適應(yīng)在不同的數(shù)據(jù)集上執(zhí)行不同的NLP操作。這一突破使得每個(gè)人都能輕松地開啟NLP任務(wù),尤其是那些沒有時(shí)間和資源從頭開始構(gòu)建NLP模型的人。所以,使用預(yù)訓(xùn)練模型處理NLP任務(wù)是目前非常熱門的研究方向,本文將重點(diǎn)介紹八個(gè)預(yù)訓(xùn)練的NLP模型以及每個(gè)模型的相關(guān)資源。

?

01為什么要使用預(yù)訓(xùn)練模型?

?

先前的研究者已經(jīng)為我們?cè)O(shè)計(jì)了一個(gè)基準(zhǔn)模型,我們可以很方便地在自己的NLP數(shù)據(jù)集上使用該預(yù)訓(xùn)練模型,而不是從頭開始構(gòu)建模型來解決類似的NLP問題。此外,使用這些最先進(jìn)的預(yù)訓(xùn)練模型,可以幫助我們節(jié)省大量的時(shí)間和計(jì)算資源。

?

02預(yù)訓(xùn)練模型的分類

?

根據(jù)預(yù)訓(xùn)練模型的應(yīng)用,我們可以將其分為三類:

?

Multi-Purpose NLP Models

ULMFiT

Transformer

Google’s BERT

Transformer-XL

OpenAI’s GPT-2

?

Word Embeddings

ELMo

Flair

?

Other Pretrained Models

StanfordNLP

?

下面我們來一一看下這三個(gè)分類:

?

03

多用途NLP模型(Multi-Purpose NLP Models)

?

多用途模型是NLP領(lǐng)域的熱門話題。這些模型為我們所關(guān)注的NLP應(yīng)用提供了動(dòng)力——機(jī)器翻譯、問答系統(tǒng)、聊天機(jī)器人、情感分析等。這些多用途NLP模型的核心是語言建模的概念。簡(jiǎn)單來說,語言模型的目的是預(yù)測(cè)序列中的下一個(gè)單詞或字符。我們接下來會(huì)通過以下五個(gè)預(yù)處理模型來理解這一概念,我們已經(jīng)為每個(gè)模型提供了研究論文和項(xiàng)目鏈接。

?

01ULMFiT

【項(xiàng)目地址:https://github.com/fastai/fastai/tree/master/courses/dl2/imdb_scripts】

?

ULMFiT是由JeremyHoward和DeepMind的Sebastian Ruder三位科學(xué)家提出并設(shè)計(jì)的。在文本分類任務(wù)方面,ULMFiT要優(yōu)于許多最先進(jìn)的技術(shù),這個(gè)方法涉及到將一個(gè)在wikitex103數(shù)據(jù)集上訓(xùn)練的預(yù)處理語言模型微調(diào)為一個(gè)新的數(shù)據(jù)集,使其不會(huì)忘記它以前學(xué)到的東西。另一方面,ULMFiT需要很少的例子就能產(chǎn)生這些令人印象深刻的結(jié)果,這使得它更容易讓人理解和實(shí)現(xiàn)。

?

?

此外,如果我們想了解更多的關(guān)于ULMFiT的信息,請(qǐng)參閱:

?

Tutorial on Text Classification (NLP)using ULMFiT and fastai Library in Python

【https://www.analyticsvidhya.com/blog/2018/11/tutorial-text-classification-ulmfit-fastai-library/?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

Pretrained models for ULMFiT

【https://www.paperswithcode.com/paper/universal-language-model-fine-tuning-for-text】

?

Research Paper

【https://arxiv.org/abs/1801.06146[1]】

?

02Transformer

【項(xiàng)目地址:https://github.com/tensorflow/models/tree/master/official/transformer】

?

Transformer結(jié)構(gòu)是近幾年來NLP主要發(fā)展的核心。它在2017年由谷歌推出。當(dāng)時(shí),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)被用于語言任務(wù),如機(jī)器翻譯和問答系統(tǒng)等。而這種Transformer結(jié)構(gòu)要優(yōu)于RNN和CNN,且訓(xùn)練模型所需的計(jì)算資源也減少了。我們可以參考以下的比較:

?

?

谷歌官方解釋說:“transformer應(yīng)用了一種自我關(guān)注機(jī)制,它可以直接模擬句子中所有單詞之間的關(guān)系,而不用考慮它們的位置如何。”它使用了固定大小的上下文(也就是前面的單詞)來實(shí)現(xiàn)這一點(diǎn)。例如:She found the shells on the bank of the river。transformer模型可以一步理解“bank”在這里指的是海岸,而不是金融機(jī)構(gòu)。

?

通過以下資料可以學(xué)習(xí)更多有關(guān)Transformer的資源:

?

1. Google’sofficial blog post

【https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html】

?

2.?Pretrained models for Transformer

【https://www.paperswithcode.com/paper/attention-is-all-you-need】

?

3. Research Paper

【https://arxiv.org/abs/1706.03762】

?

03Google’s BERT

【項(xiàng)目地址:https://github.com/google-research/bert】

?

自谷歌發(fā)布結(jié)果以來,Bert框架就掀起了一股波瀾,并且還開放了源代碼背后的代碼。Bert也許不能標(biāo)志著一個(gè)新的NLP時(shí)代,但毫無疑問,Bert是一個(gè)非常有用的框架,可以很好的適用于各種NLP任務(wù)。

?

?

BERT是雙向編碼器的縮寫,它考慮單詞兩側(cè)的上下文。以前的方法都是一次性考慮一個(gè)詞的一側(cè),左側(cè)或是右側(cè)。這種雙向性的方法可以有助于模型更好地理解使用單詞的上下文。此外,BERT還可以進(jìn)行多任務(wù)學(xué)習(xí),即可以同時(shí)執(zhí)行不同的NLP任務(wù)。

?

BERT是第一個(gè)用于預(yù)訓(xùn)練NLP模型的無監(jiān)督方法、深度雙向系統(tǒng),但它只能使用純文本語料庫(kù)進(jìn)行訓(xùn)練。在發(fā)布時(shí),BERT正在為11項(xiàng)自然語言處理任務(wù)生成最新的結(jié)果,可以支持用戶在短短幾個(gè)小時(shí)內(nèi)(在單個(gè)GPU上)使用BERT訓(xùn)練自己的NLP模型(如:問答系統(tǒng))。

?

更多關(guān)于Google’s BERT的學(xué)習(xí)資料:

?

1. Google’sofficial blog post

【https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html】

?

2. Pretrained models for BERT

【https://www.paperswithcode.com/paper/bert-pre-training-of-deep-bidirectional#code】

?

3. Research Paper

【https://arxiv.org/pdf/1810.04805.pdf】

?

04Google’s Transformer-XL

【項(xiàng)目地址:https://github.com/kimiyoung/transformer-xl】

從長(zhǎng)遠(yuǎn)來看谷歌發(fā)布的這一版本的Transformer模型可能是NLP中一個(gè)非常重要的版本。想象一下,當(dāng)你正在讀書時(shí),突然出現(xiàn)一個(gè)單詞或句子,而這個(gè)單詞和句子在書的開頭已經(jīng)提到過來。也許我們有時(shí)可以回想起來它是什么,但計(jì)算機(jī)很難建立這種長(zhǎng)期的依賴關(guān)系模型。正如我們上邊降到的Transformers可以很容易的做到這一點(diǎn),但它是用固定長(zhǎng)度的上下文實(shí)現(xiàn)的,也就導(dǎo)致了這種方式最大的缺點(diǎn)是沒有太多的靈活性。

?

Transformer-XL很好的彌補(bǔ)了這個(gè)差距,它由谷歌人工智能團(tuán)隊(duì)研發(fā)的一種新型的NLP架構(gòu),可以幫助計(jì)算機(jī)理解超出固定長(zhǎng)度限制的上下文。此外,Transformer-XL比一般的Transformers速度要快1800倍。

?

Transformer-XL在和各種語言建模的對(duì)比上,取得了不錯(cuò)的結(jié)果。下圖是和其中一種模型在各類數(shù)據(jù)上的對(duì)比結(jié)果:

?

?

有關(guān)Transformer-XL的更多學(xué)習(xí)資源:

?

1. Google’s official blog post

【https://ai.googleblog.com/2019/01/transformer-xl-unleashing-potential-of.html】

?

2. Pretrained models forTransformer-XL

【https://www.paperswithcode.com/paper/transformer-xl-attentive-language-models】

?

3. Research Paper

【https://arxiv.org/abs/1901.02860】

?

05OpenAI’s GPT-2

【項(xiàng)目地址:https://github.com/openai/gpt-2】

?

這算是一個(gè)比較有爭(zhēng)議的項(xiàng)目,因?yàn)橐恍┤擞X得GPT-2的發(fā)布是OpenAI的一個(gè)營(yíng)銷噱頭。不過,我們至少要嘗試一下OpenAI發(fā)布的代碼,這是很重要的。

?

先交代一個(gè)背景:OpenAI在2月份的時(shí)候?qū)懥艘黄┪?/p>

【鏈接為:https://openai.com/blog/better-language-models/】,聲稱他們?cè)O(shè)計(jì)了一個(gè)名為GPT-2的NLP模型,這個(gè)模型非常好,以至于他們擔(dān)心惡意使用而沒有發(fā)布完整版本的費(fèi)用。這件事一下子引起了社會(huì)各界的關(guān)注。

?

GPT-2經(jīng)過訓(xùn)練,可以預(yù)測(cè)40GB互聯(lián)網(wǎng)文本數(shù)據(jù)中的下一個(gè)詞。這個(gè)模型其實(shí)也是一個(gè)基于transformer訓(xùn)練的模型,它訓(xùn)練了一個(gè)800萬網(wǎng)頁的數(shù)據(jù)集。他們?cè)谧约旱木W(wǎng)站上發(fā)布的結(jié)果令人震驚:這個(gè)模型能夠根據(jù)我們輸入的幾個(gè)句子編織出一個(gè)完全清晰的故事。查看此示例:

?

?

這個(gè)結(jié)果讓人很難以置信。后來,開發(fā)人員已經(jīng)發(fā)布了一個(gè)小得多的GPT-2版本供研究人員和工程師測(cè)試。 原始模型有15億個(gè)參數(shù),開源樣本模型有1.17億個(gè)。

?

有關(guān)GPT-2的更多學(xué)習(xí)資源:

?

1. OpenAI’sofficial blog post

【https://openai.com/blog/better-language-models/】

?

2. Pretrained models for GPT-2

【https://github.com/openai/gpt-2】

?

3. Research paper

【https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf】

?

04詞嵌入向量模型(Word Embeddings)

?

我們使用的大多數(shù)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法都無法直接處理字符串和純文本。這些技術(shù)要求我們?cè)谖谋緮?shù)據(jù)執(zhí)行任何任務(wù)(如回歸或分類)之前將其轉(zhuǎn)換為數(shù)字。簡(jiǎn)單來說,Word Embeddings是將文本塊轉(zhuǎn)換為用于執(zhí)行NLP任務(wù)的數(shù)字。Word Embeddings格式通常嘗試使用字典將單詞映射到向量。

?

在本節(jié)中,我們將介紹兩個(gè)最先進(jìn)的NLP單詞嵌入。我還提供了項(xiàng)目鏈接,這樣您就可以實(shí)際了解每個(gè)主題。

?

01ELMO

【項(xiàng)目地址:https://github.com/allenai/allennlp/blob/master/tutorials/how_to/elmo.md】

?

ELMo是語言模型嵌入(Embeddings from Language Models)的縮寫,在構(gòu)建NLP模型的環(huán)境中非常有用。具體來看,ELMo是一種在向量和Embeddings中表示單詞的新方法,這些ELMo Embeddings有助于我們?cè)诙鄠€(gè)NLP任務(wù)上獲得最棒的結(jié)果,如下所示:

?

?

讓我們來了解一下ELMo的工作原理: 回想一下我們之前討論過的雙向語言模型,從中我們可以得到啟示,ELMo單詞向量是在雙層雙向語言模型(biLM)之上計(jì)算的, 這個(gè)biLM模型有兩層堆疊在一起,每層都有2次傳遞(前傳和后傳)。而ELMo單詞表示考慮用于計(jì)算單詞Emebeddings的完整輸入句子。

?

有關(guān)ELMo的更多學(xué)習(xí)資源:

?

?1.?Step-by-Step NLP Guide to Learn ELMo for ExtractingFeatures from Text

【https://www.analyticsvidhya.com/blog/2019/03/learn-to-use-elmo-to-extract-features-from-text/?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

2. GitHub repository for pretrained models

【https://github.com/allenai/allennlp/blob/master/tutorials/how_to/elmo.md】

?

3. Research Paper

【https://arxiv.org/pdf/1802.05365.pdf】

?

02FLair

【項(xiàng)目地址:https://www.datalearner.com/blog/1051553314593568】

?

Flair不完全是一個(gè)Word Embeddings,而是一個(gè)Word Embeddings的組合。我們可以將Flair稱為NLP庫(kù),它結(jié)合了諸如GloVe,BERT,ELMo等WordEmbeddings的內(nèi)容。由Zalando Research的優(yōu)秀人員開發(fā)并開源了代碼Flair。

?

?

此外,該團(tuán)隊(duì)已經(jīng)為以下NLP任務(wù)發(fā)布了幾個(gè)預(yù)訓(xùn)練模型:

1. Name-Entity Recognition (NER)

2. Parts-of-Speech Tagging (PoS)

3. Text Classification

4. Training Custom Models

?

下表格展示了其效果:

?

?

有關(guān)Flair更多的學(xué)習(xí)資源:

?

1. Introductionto Flair for NLP: A Simple yet Powerful State-of-the-Art NLP Library

【https://www.analyticsvidhya.com/blog/2019/02/flair-nlp-library-python/?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

2. Pretrainedmodels for Flair

【https://github.com/zalandoresearch/flair】

?

05其它預(yù)訓(xùn)練模型(Other Pretrained Models)

?

01Stanford NLP

【項(xiàng)目地址:https://github.com/stanfordnlp/stanfordnlp】

該作者聲明 作者聲稱StanfordNLP支持超過53種語言,真正開辟了很多在非英語語言中應(yīng)用NLP技術(shù)的可能性。如:印度語、中文和日語。這對(duì)于NLP往非英語領(lǐng)域的拓展有極大的幫助。

?

?

StanfordNLP是由一系列經(jīng)過預(yù)先訓(xùn)練的NLP模型組成的集合。這些模型不僅經(jīng)過實(shí)驗(yàn)室的測(cè)試,還被作者用于2017年和2018年康奈爾大學(xué)的競(jìng)賽。在StanfordNLP中打包的所有預(yù)訓(xùn)練的NLP模型都是基于PyTorch構(gòu)建的,我們可以在自己的注釋數(shù)據(jù)上進(jìn)行訓(xùn)練和評(píng)估。

?

此外,我們還應(yīng)該關(guān)注StanfordNLP的兩個(gè)主要原因是:

?

1. 用于執(zhí)行文本分析的完整神經(jīng)網(wǎng)絡(luò)pipeline,包括:

符號(hào)化(Tokenization)

Multi-word token (MWT)擴(kuò)展

詞形還原

詞性標(biāo)注(POS)和形態(tài)特征標(biāo)記

依賴性解析(Dependency Parsing)

?

2. 一個(gè)穩(wěn)定的官方維護(hù)的CoreNLP Python接口

?

下面為大家提供更多的關(guān)于STanfordNLP的學(xué)習(xí)資源:

?

1. Introduction to StanfordNLP: An IncredibleState-of-the-Art NLP Library for 53 Languages (with Python code)

【https://www.analyticsvidhya.com/blog/2019/02/stanfordnlp-nlp-library-python/?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

2. Pretrained models for StanfordNLP

【https://github.com/stanfordnlp/stanfordnlp】

?

【總結(jié)】:本文為大家詳細(xì)總結(jié)、概述了八個(gè)NLP的預(yù)處理模型。但現(xiàn)有的預(yù)處理模型不僅有這些,我們可以訪問:https://paperswithcode.com/,學(xué)習(xí)更多的NLP預(yù)處理模型。

?

此外,以下是學(xué)習(xí)NLP的一些有用資源:

?

1. Natural Language Processing using Python course

【https://courses.analyticsvidhya.com/courses/natural-language-processing-nlp?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

2. Certified Program: NLP for Beginners

【https://courses.analyticsvidhya.com/bundles/nlp-combo?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

3. Collection of articles on Natural Language Processing(NLP)

【https://www.analyticsvidhya.com/blog/category/nlp/?utm_source=blog&utm_medium=top-pretrained-models-nlp-article】

?

推薦閱讀:

?

?

?

星標(biāo)我,每天多一點(diǎn)智慧

?

轉(zhuǎn)載于:https://www.cnblogs.com/shuzhiwuyu/p/10730305.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的史上最详尽的NLP预处理模型汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。