站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  在NLP世界里

  有一支很重要的家族

  英文叫做LARK(LAnguage Representations Kit),

  翻譯成中文是語言表示工具箱

  目前LARK家族最新最重要的三種算法

  分別叫做是ELMo,BERT和ERNIE

  你一定不知道

  這三個普通的名字

  竟然包含著一個有趣的秘密

  真相,即將揭開!

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  我們先從算法模型的名字尋找一些蛛絲馬跡

  第一位,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。

  看完了

  是不是

  還是一頭霧水

  哪里有什么秘密?

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

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

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  What??

  再回頭看看

  你還記得那三個算法的名字么

  ELMo,BERT,ERNIE

  竟然都是美國經(jīng)典動畫片

  《Sesame Street(芝麻街)》里面的卡通人物!!!

  好吧,如果你說

  沒看過這個動畫片,沒感覺啊

  那我舉個例子

  如果把《芝麻街》類比成中文《舒克和貝塔》

  那么

  第一篇論文把模型取做“舒克”

  第二篇很有愛的就叫做“貝塔”

  第三篇就硬把模型叫做“皮皮魯”

  也許不久的下一個模型就命名為“魯西西”啦

  誰說科學家們很無聊

  是不是也很童趣

  好了,扯遠了

  今天

  我們先給大家介紹LARK家族的ELMo!

  提出它的論文獲得2018年NAACL最佳paper,

  它在NLP領(lǐng)域可是有著響當當?shù)拿^,讓我們來認識它!

ELMo模型簡介

  ELMo(Embeddings from Language Models) 是重要的通用語義表示模型之一,以雙向 LSTM 為網(wǎng)路基本組件,以 Language Model 為訓練目標,通過預訓練得到通用的語義表示,將通用的語義表示作為 Feature 遷移到下游 NLP 任務(wù)中,會顯著提升下游任務(wù)的模型性能。

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型
飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  ELMo模型核心是一個雙層雙向的LSTM網(wǎng)絡(luò),與傳統(tǒng)的word2vec算法中詞向量一成不變相比,ELMo會根據(jù)上下文改變語義embedding。

  一個簡單的例子就是 “蘋果”的詞向量

  句子1:“我 買了 1斤 蘋果”

  句子2:“我 新 買了 1個 蘋果 X”

  在word2vec算法中,“蘋果”的詞向量固定,無法區(qū)分這兩句話的區(qū)別,而ELMo可以解決語言中的二義性問題,可以帶來性能的顯著提升。

ELMo項目的飛槳(PaddlePaddle)實現(xiàn)

  為了方便廣大的開發(fā)者, 飛槳(PaddlePaddle) 完成了ELMo的開源實現(xiàn)(依賴于 PaddlePaddle 1.4.0),發(fā)布要點如下。

  注意啦,下面劃重點!!!

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  接下來

  我們看看怎么可以快速

  把ELMo用到我們的項目中來吧!

  ELMo訓練過程介紹

  (1)數(shù)據(jù)預處理

  將文檔按照句號、問號、感嘆以及內(nèi)容分詞預處理。預處理后的數(shù)據(jù)文件,每行為一個分詞后的句子。給出了訓練數(shù)據(jù) data/train 和測試數(shù)據(jù) data/dev的數(shù)據(jù)示例如下:

  本書介紹了中國經(jīng)濟發(fā)展的內(nèi)外平衡問題 、 亞洲金融危機十周年回顧與反思、實踐中的 城鄉(xiāng)統(tǒng)籌發(fā)展、未來十年中國需要研究的重大課題、科學發(fā)展與新型工業(yè)化等方面。

  吳敬璉曾經(jīng)提出中國股市“ 賭場論 ”, 主張維護市場規(guī)則,保護草根階層生計,被譽為 “中國經(jīng)濟學界良心”,是媒體和公眾眼中的學術(shù)明星。

  (2)模型訓練

  利用提供的示例訓練數(shù)據(jù)和測試數(shù)據(jù),進行單機多卡預訓練。在開始預訓練之前,需要把 CUDA、cuDNN、NCCL2 等動態(tài)庫路徑加入到環(huán)境變量 LD_LIBRARY_PATH 之中,然后執(zhí)行run.sh即可開始單機多卡預訓練,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)計出來的tokens總量,訓練過程中,默認每個epoch后,將模型參數(shù)寫入到 checkpoints 路徑下,可以用于遷移到下游NLP任務(wù)。

  (3)ELMo模型遷移

  以 LAC 任務(wù)為示例, 將 ELMo 預訓練模型的語義表示遷移到 LAC 任務(wù)的主要步驟如下:

  #step 1: 在已經(jīng)搭建好的LAC 網(wǎng)絡(luò)結(jié)構(gòu)之后,加載 ELMo 預訓練模型參數(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后對性能的提升,

  心動不如行動

  趕緊用起來吧!

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

ERNIE模型簡介

  學習完了ELMo,我們再來了解一下LARK家族的學習成績最好的重磅成員ERNIE,在多項NLP中文任務(wù)上表現(xiàn)非凡。

  ERNIE通過建模海量數(shù)據(jù)中的實體概念等先驗語義知識,學習真實世界的語義關(guān)系。具體來說,ERNIE 模型通過對詞、實體等語義單元的掩碼,使得模型學習完整概念的語義表示。相較于 BERT 學習原始語言信號,ERNIE 直接對先驗語義知識單元進行建模,增強了模型語義表示能力。

  ERNIE在多個公開的中文數(shù)據(jù)集上進行了效果驗證,包括語言推斷、語義相似度、命名實體識別、情感分析、問答匹配等自然語言處理各類任務(wù)上,均超越了語義表示模型 BERT 的效果。

飛槳帶你了解:基于百科類數(shù)據(jù)訓練的 ELMo 中文預訓練模型

  更多詳細內(nèi)容可以參見:

  https://github.com/PaddlePaddle/LARK

特別提醒:本網(wǎng)信息來自于互聯(lián)網(wǎng),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關(guān)內(nèi)容。本站不承擔此類作品侵權(quán)行為的直接責任及連帶責任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系我們,本站將會在24小時內(nèi)處理完畢。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
亚洲国产精品国自产拍AV| 精品国产91久久久久久久a| 亚洲国产精品成人AV在线| 78成人精品电影在线播放 | 久久国产视频精品| 精品一区二区久久| assbbwbbwbbwbbwbw精品| 精品无码久久久久久久久久| 精品99在线观看| 日韩电影中文字幕| 日韩人妻无码精品久久免费一| 国产精品无码MV在线观看| 思思99re66在线精品免费观看| 亚洲精品123区在线观看| 国产精品一久久香蕉国产线看| 亚洲精品视频久久| 69p69国产精品| 亚洲精品中文字幕乱码影院| 91精品91久久久久久| 精品综合久久久久久888蜜芽| 99久久99久久免费精品小说| 99热这里有精品| 久久99精品久久只有精品| 99ri精品国产亚洲| 麻豆文化传媒精品一区二区| 亚洲欧洲精品久久| 精品久久久久中文字幕日本| 2021国产成人精品国产| 亚洲精品无码永久在线观看男男| 成人区精品一区二区不卡亚洲| 亚洲国产日韩精品| 人妻精品久久无码区| 精品国产精品久久一区免费式| 精品国产一区二区三区在线| 牛牛本精品99久久精品| 国产精品一区二区无线| 四虎成人国产精品视频| 亚洲日韩小电影在线观看| 美日韩一区二区三区| 国产999精品2卡3卡4卡| 久久久久人妻一区精品|