「完結」 12篇文章帶你完全進入NLP領域,掌握核心技術
專欄《NLP》第一階段正式完結了。在本專欄中,我們從NLP中常用的機器學習演算法開始,介紹了NLP中常用的演算法和模型;從樸素貝葉斯講到XLnet,特徵抽取器從RNN講到transformerXL。這篇文章我們就一起回顧一下這些文章。
作者&編輯 | 小Dream哥
1 樸素貝葉斯
貝葉斯分類器在早期的自然語言處理任務中有著較多實際的應用,例如大部分的垃圾郵件處理都是用的貝葉斯分類器。
貝葉斯決策論是在統計概率框架下進行分類決策的基本方法。對於分類任務來說,在所有相關概率都已知的情況下,貝葉斯決策論考慮如何基於這些概率和誤判損失來預測分類。
2 隱馬爾科夫模型(HMM)
HMM早期在語音識別、分詞等序列標註問題中有著廣泛的應用。
HMM是非常適合用於序列標註問題的。HMM模型引入了馬爾科夫假設,即T時刻的狀態僅僅與前一時刻的狀態相關。
3 條件隨機場(CRF)
隱馬爾科夫模型引入了馬爾科夫假設,即當前時刻的狀態只與其前一時刻的狀態有關。但是,在序列標註任務中,當前時刻的狀態,應該同該時刻的前後的狀態均相關。於是,在很多序列標註任務中,引入了條件隨機場。
這裡詳細了介紹條件隨機場的理論和及其在實體識別中的應用和Tensorflow中的實現。
4 迴圈神經網路(RNN)
對於一些序列輸入的資訊,例如語音、語言等,不同時刻之間的輸入存在相互的影響,需要一種模型能夠“記憶”歷史輸入的資訊,進而對整個序列進行完整的特徵提取和表徵。
迴圈神經網路(RNN)就是面對這樣的需求提出來的,它能夠“記憶”序列輸入的歷史資訊,從而能夠較好的對整個序列進行語義建模。
RNN雖然理論上可以很漂亮的解決序列資料的訓練,但是它也像DNN一樣有梯度消失的問題,當序列很長的時候問題尤其嚴重。雖然同選擇合適的啟用函式等方法能夠一定程度的減輕該問題。但人們往往更青睞於使用RNN的變種。
5 LSTM
LSTM在原本RNN的基礎上增加了CEC的內容,CEC保證了誤差以常數的形式在網路中流動,這部分通過引入細胞狀態C來體現。
並且,為了解決輸入和輸出在引數更新時的矛盾,在CEC的基礎上新增3個門使得模型變成非線性的,就可以調整不同時序的輸出對模型後續動作的影響。
6 NLP中Attention機制
人類在對資訊進行處理的過程中,注意力不是平均分散的,而是有重點的分佈。受此啟發,做計算機視覺的朋友,開始在視覺處理過程中加入注意力機制(Attention)。隨後,做自然語言處理的朋友們,也開始引入這個機制。在NLP的很多工中,加入注意力機制後,都取得了非常好的效果。
在NLP中,Attention機制是什麼呢?從直覺上來說,與人類的注意力分配過程類似,就是 在資訊處理過程中,對不同的內容分配不同的注意力權重。
7 特徵抽取器Tranformer
Transformer中最重要的特點就是引入了Attention,特別是Multi-Head Attention。作為一個序列輸入的特徵抽取器,其編碼能力強大,沒有明顯的缺點。短期內難以看到可以匹敵的競爭對手。
「NLP」 NLP中網紅特徵抽取器Tranformer到底是什麼呢?
8 BERT
BERT,全稱是Pre-training of Deep Bidirectional Transformers for Language Understanding。注意其中的每一個詞都說明了BERT的一個特徵。
Pre-training說明BERT是一個預訓練模型,通過前期的大量語料的無監督訓練,為下游任務學習大量的先驗的語言、句法、詞義等資訊。
Bidirectional 說明BERT採用的是雙向語言模型的方式,能夠更好的融合前後文的知識。
Transformers說明BERT採用Transformers作為特徵抽取器。
Deep說明模型很深,base版本有12層,large版本有24層。
總的來說, BERT是一個用Transformers作為特徵抽取器的深度雙向預訓練語言理解模型。
9 transformerXL
TransformerXL是Transformer一種非常重要的改進,通過映入Recurrence機制和相對位置編碼,增強了Transformer在長文字輸入上的特徵抽取能力。
TransformerXL學習的依賴關係比RNN長80%,比傳統Transformer長450%,在短序列和長序列上都獲得了更好的效能,並且在評估階段比傳統Transformer快1800+倍。
10 GPT及GPT2.0
GPT,特別是GPT2.0是一個大型無監督語言模型,能夠生產連貫的文字段落,在許多語言建模基準上取得了 SOTA 表現。而且該模型在沒有任務特定訓練的情況下,能夠做到初步的閱讀理解、機器翻譯、問答和自動摘要。
「NLP」GPT:第一個引入Transformer的預訓練模型
11 XLnet
XLnet集合了目前兩大預訓練模型的優點,在結構上,XLnet採用改進後的transofmerXL作為特徵抽取器。在訓練模式上,XLnet實現了BERT的雙向語言模型,引入了PLM和雙流自注意力模型,避免了BERT MLM的缺點。
「NLP」XLnet:GPT和BERT的合體,博採眾長,所以更強
12 NLP綜述
從詞向量開始,到最新最強大的BERT等預訓練模型,梗概性的介紹了深度學習近20年在NLP中的一些重大的進展。
總結
希望經過這個專欄,想入門NLP的小夥伴們對這個領域已經有了基本的概念和了解。後續我們還會按照不同的NLP任務,深入各個任務跟大家進行介紹,敬請關注。
https://www.toutiao.com/a6729884230924370444/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2655249/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 掌握視覺化卷積神經網路模型,帶你暢遊影像識別技術領域視覺化卷積神經網路模型
- 迅速帶你入門圖計算領域,技術人才趨勢產業一應俱全產業
- Motiv將太空級機器人技術帶入工業領域機器人
- 騰訊資深Android開發帶你入門面試重點Framework,掌握更加核心的技術!Android面試Framework
- 不重視技術,何談掌握核心技術?
- 如何掌握C#的核心技術C#
- 2017年,你需要GET的9大技術領域
- 一篇文章帶你掌握效能測試工具——JmeterJMeter
- Java學完可以應用在什麼領域?這8大領域你要知道Java
- 一篇文章帶你入門Zookeeper
- SAP諮詢顧問如何掌握核心技術?
- 一篇文章帶你搞懂 etcd 3.5 的核心特性
- 你真的完全掌握了promise麼?Promise
- 一篇文章帶你掌握Flex佈局的所有用法Flex
- 思維導圖形式帶你讀完《大型網站技術架構》上網站架構
- 思維導圖形式帶你讀完《大型網站技術架構》中網站架構
- 一篇文章帶你快速入門createjsJS
- 三篇文章帶你快速入門Kotlin(上)Kotlin
- 12個例子帶你入門Electron
- 看完就能掌握的PHP核心技術 - 物件導向PHP物件
- JDBC基礎入門教程,輕鬆掌握jdbc基礎+核心技術,超全面!JDBC
- 一篇文章帶你掌握Web自動化測試工具——SeleniumWeb
- 帶你走進memcache,老牌記憶體快取技術記憶體快取
- Apache SeaTunnel技術架構演進及其在AI領域的應用Apache架構AI
- 入門web前端需要掌握的技術Web前端
- 核心領域模式 -Nick Tune模式
- 螞蟻技術專家:一篇文章帶你學習分散式事務分散式
- ACL 2022 | NLP領域最新熱門研究,你一定不能錯過!
- RocketMQ系列2:領域模型和技術概念MQ模型
- 探秘JavaScript深度領域:精通物件導向程式設計、虛擬DOM等核心技術JavaScript物件程式設計
- 帶你走進 HarmonyOS:前端如何迎接新技術的到來前端
- Elasticsearch核心技術(二):Elasticsearch入門Elasticsearch
- # 一篇文章帶你入門軟體測試
- 2020-12-10 技術總結
- java開發必須要掌握的20個核心技術Java
- Bert時代的創新:Bert在NLP各領域的應用進展
- ICLR2021對比學習(Contrastive Learning)NLP領域論文進展梳理ICLRAST
- 共建新技術,開拓新領域,OpenHarmony技術日成功舉辦