
在NLP世界里
有一支很重要的家族
英文叫做LARK(LAnguage Representations Kit),
翻譯成中文是語言表示工具箱
目前LARK家族最新最重要的三種算法
分別叫做是ELMo,BERT和ERNIE
你一定不知道
這三個(gè)普通的名字
竟然包含著一個(gè)有趣的秘密
真相,即將揭開!

我們先從算法模型的名字尋找一些蛛絲馬跡
第一位,ELMo:
來自英文Embedding from Language Models 的縮寫
來自論文名為Deep contextualized word representation
第二位,BERT:
來自英文Bidirectional Encoder Representations from Transformers的縮寫
來自論文名為Pre-training of Deep Bidirectional Transformers for Language Understanding。
第三位,ERNIE:
來自英文Enhanced Representation through kNowledge IntEgration) 的縮寫
來自論文名為Enhanced Representation through Knowledge Integration。
看完了
是不是
還是一頭霧水
哪里有什么秘密?

不賣關(guān)子了,直接上圖!

What??
再回頭看看
你還記得那三個(gè)算法的名字么
ELMo,BERT,ERNIE
竟然都是美國經(jīng)典動(dòng)畫片
《Sesame Street(芝麻街)》里面的卡通人物!!!
好吧,如果你說
沒看過這個(gè)動(dòng)畫片,沒感覺啊
那我舉個(gè)例子
如果把《芝麻街》類比成中文《舒克和貝塔》
那么
第一篇論文把模型取做“舒克”
第二篇很有愛的就叫做“貝塔”
第三篇就硬把模型叫做“皮皮魯”
也許不久的下一個(gè)模型就命名為“魯西西”啦
誰說科學(xué)家們很無聊
是不是也很童趣
好了,扯遠(yuǎn)了
今天
我們先給大家介紹LARK家族的ELMo!
提出它的論文獲得2018年NAACL最佳paper,
它在NLP領(lǐng)域可是有著響當(dāng)當(dāng)?shù)拿^,讓我們來認(rèn)識(shí)它!
ELMo模型簡介
ELMo(Embeddings from Language Models) 是重要的通用語義表示模型之一,以雙向 LSTM 為網(wǎng)路基本組件,以 Language Model 為訓(xùn)練目標(biāo),通過預(yù)訓(xùn)練得到通用的語義表示,將通用的語義表示作為 Feature 遷移到下游 NLP 任務(wù)中,會(huì)顯著提升下游任務(wù)的模型性能。


ELMo模型核心是一個(gè)雙層雙向的LSTM網(wǎng)絡(luò),與傳統(tǒng)的word2vec算法中詞向量一成不變相比,ELMo會(huì)根據(jù)上下文改變語義embedding。
一個(gè)簡單的例子就是 “蘋果”的詞向量
句子1:“我 買了 1斤 蘋果”
句子2:“我 新 買了 1個(gè) 蘋果 X”
在word2vec算法中,“蘋果”的詞向量固定,無法區(qū)分這兩句話的區(qū)別,而ELMo可以解決語言中的二義性問題,可以帶來性能的顯著提升。
ELMo項(xiàng)目的飛槳(PaddlePaddle)實(shí)現(xiàn)
為了方便廣大的開發(fā)者, 飛槳(PaddlePaddle) 完成了ELMo的開源實(shí)現(xiàn)(依賴于 PaddlePaddle 1.4.0),發(fā)布要點(diǎn)如下。
注意啦,下面劃重點(diǎn)!!!
接下來
我們看看怎么可以快速
把ELMo用到我們的項(xiàng)目中來吧!
ELMo訓(xùn)練過程介紹
(1)數(shù)據(jù)預(yù)處理
將文檔按照句號(hào)、問號(hào)、感嘆以及內(nèi)容分詞預(yù)處理。預(yù)處理后的數(shù)據(jù)文件,每行為一個(gè)分詞后的句子。給出了訓(xùn)練數(shù)據(jù) data/train 和測試數(shù)據(jù) data/dev的數(shù)據(jù)示例如下:
本書介紹了中國經(jīng)濟(jì)發(fā)展的內(nèi)外平衡問題 、 亞洲金融危機(jī)十周年回顧與反思、實(shí)踐中的 城鄉(xiāng)統(tǒng)籌發(fā)展、未來十年中國需要研究的重大課題、科學(xué)發(fā)展與新型工業(yè)化等方面。
吳敬璉曾經(jīng)提出中國股市“ 賭場論 ”, 主張維護(hù)市場規(guī)則,保護(hù)草根階層生計(jì),被譽(yù)為 “中國經(jīng)濟(jì)學(xué)界良心”,是媒體和公眾眼中的學(xué)術(shù)明星。
(2)模型訓(xùn)練
利用提供的示例訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),進(jìn)行單機(jī)多卡預(yù)訓(xùn)練。在開始預(yù)訓(xùn)練之前,需要把 CUDA、cuDNN、NCCL2 等動(dòng)態(tài)庫路徑加入到環(huán)境變量 LD_LIBRARY_PATH 之中,然后執(zhí)行run.sh即可開始單機(jī)多卡預(yù)訓(xùn)練,run.sh文件內(nèi)容如下:
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python train.py
–train_path=’data/train/sentence_file_*’
–test_path=’data/dev/sentence_file_*’
–vocab_path data/vocabulary_min5k.txt
–learning_rate 0.2
–use_gpu True
–all_train_tokens 35479
–local True $@
其中, all_train_tokens為train和dev統(tǒng)計(jì)出來的tokens總量,訓(xùn)練過程中,默認(rèn)每個(gè)epoch后,將模型參數(shù)寫入到 checkpoints 路徑下,可以用于遷移到下游NLP任務(wù)。
(3)ELMo模型遷移
以 LAC 任務(wù)為示例, 將 ELMo 預(yù)訓(xùn)練模型的語義表示遷移到 LAC 任務(wù)的主要步驟如下:
#step 1: 在已經(jīng)搭建好的LAC 網(wǎng)絡(luò)結(jié)構(gòu)之后,加載 ELMo 預(yù)訓(xùn)練模型參數(shù)
from bilm import init_pretraining_params
init_pretraining_params(exe, args.pretrain_elmo_model_path, fluid.default_main_program())
#step 2: 基于 ELMo 字典 將輸入數(shù)據(jù)轉(zhuǎn)化為 word_ids,利用 elmo_encoder 接口獲取 ELMo embedding
from bilm import elmo_encoder
elmo_embedding = elmo_encoder(word_ids)
#step 3: ELMo embedding 與 LAC 原有 word_embedding 拼接得到最終的 embedding
word_embedding=fluid.layers.concat(input=[elmo_embedding, word_embedding], axis=1)
好的,到這里,模型的遷移就完成了,
再來回顧一下加入ELMo后對性能的提升,
心動(dòng)不如行動(dòng)
趕緊用起來吧!
ERNIE模型簡介
學(xué)習(xí)完了ELMo,我們再來了解一下LARK家族的學(xué)習(xí)成績最好的重磅成員ERNIE,在多項(xiàng)NLP中文任務(wù)上表現(xiàn)非凡。
ERNIE通過建模海量數(shù)據(jù)中的實(shí)體概念等先驗(yàn)語義知識(shí),學(xué)習(xí)真實(shí)世界的語義關(guān)系。具體來說,ERNIE 模型通過對詞、實(shí)體等語義單元的掩碼,使得模型學(xué)習(xí)完整概念的語義表示。相較于 BERT 學(xué)習(xí)原始語言信號(hào),ERNIE 直接對先驗(yàn)語義知識(shí)單元進(jìn)行建模,增強(qiáng)了模型語義表示能力。
ERNIE在多個(gè)公開的中文數(shù)據(jù)集上進(jìn)行了效果驗(yàn)證,包括語言推斷、語義相似度、命名實(shí)體識(shí)別、情感分析、問答匹配等自然語言處理各類任務(wù)上,均超越了語義表示模型 BERT 的效果。

更多詳細(xì)內(nèi)容可以參見:
https://github.com/PaddlePaddle/LARK
特別提醒:本網(wǎng)信息來自于互聯(lián)網(wǎng),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。
相關(guān)推薦
- 華納云香港高防服務(wù)器150G防御4.6折促銷,低至6888元/月,CN2大帶寬直連清洗,終身循環(huán)折扣
- 2025年國內(nèi)免費(fèi)AI工具推薦:文章生成與圖像創(chuàng)作全攻略
- 自媒體推廣實(shí)時(shí)監(jiān)控從服務(wù)器帶寬到用戶行為解決方法
- 站長必讀:從“流量思維”到“IP思維”的品牌升級(jí)之路
- 從流量變現(xiàn)到信任變現(xiàn):個(gè)人站長的私域運(yùn)營方法論
- 傳統(tǒng)網(wǎng)站如何借力短視頻?從SEO到“內(nèi)容種草”的轉(zhuǎn)型策略
- AI時(shí)代,個(gè)人站長如何用AI工具實(shí)現(xiàn)“一人公司”
- 個(gè)人站長消亡論?從“消失”到“重生”的三大破局路徑