albert-chinese-ner使用預訓練語言模型ALBERT做中文NER

2021-02-28 機器學習AI算法工程


向AI轉型的程式設計師都關注了這個號👇👇👇

機器學習AI算法工程   公眾號:datayx

這次的albert某種程度上可能比bert本身更具有意義,恰逢中文預訓練模型出來,還是按照之前的數據來做NER方面的fine-tune

項目相關代碼獲取:

關注微信公眾號 datayx  然後回復  命名識別  即可獲取。

AI項目體驗地址 https://loveai.tech

albert_zh

海量中文語料上預訓練ALBERT模型:參數更少,效果更好。預訓練小模型也能拿下13項NLP任務,ALBERT三大改造登頂GLUE基準

一鍵運行10個數據集、9個基線模型、不同任務上模型效果的詳細對比

模型性能與對比(英文) Performance and Comparision


albert-chinese-ner

下載albert中文模型,這裡使用的是base

將模型文件夾重命名為albert_base_zh,放入項目中

運行

python albert_ner.py 

--task_name ner --do_train true --do_eval true --data_dir data --vocab_file ./albert_config/vocab.txt --bert_config_file ./albert_base_zh/albert_config_base.json --max_seq_length 128 --train_batch_size 64 --learning_rate 2e-5 --num_train_epochs 3 --output_dir albert_base_ner_checkpoints

4.最好使用tensorflow > 1.13, 這裡運行的是1.15,不支持tf2.0

結果

Base模型下訓練3個epoch後:

INFO:tensorflow: eval_f = 0.9280548
INFO:tensorflow: eval_precision = 0.923054
INFO:tensorflow: eval_recall = 0.9331808
INFO:tensorflow: global_step = 2374
INFO:tensorflow: loss = 13.210413

測試結果同樣:

[CLS]
B-LOC
I-LOC
O
B-LOC
I-LOC
I-PER
O
O
O
O
O
O
O
O
O
[SEP]
[CLS]

比起Bert本體,模型確實小了很多,效果卻基本相當甚至領先bert,訓練時間大幅縮小.

BERT-BiLSTM-CRF基於BERT預訓練的中文命名實體識別TensorFlow實現

基於Bert-NER構建特定領域中文信息抽取框架

閱讀過本文的人還看了以下文章:

【全套視頻課】最全的目標檢測算法系列講解,通俗易懂!

《美團機器學習實踐》_美團算法團隊.pdf

《深度學習入門:基於Python的理論與實現》高清中文PDF+源碼

特徵提取與圖像處理(第二版).pdf

python就業班學習視頻,從入門到實戰項目

2019最新《PyTorch自然語言處理》英、中文版PDF+源碼

《21個項目玩轉深度學習:基於TensorFlow的實踐詳解》完整版PDF+附書代碼

《深度學習之pytorch》pdf+附書源碼

PyTorch深度學習快速實戰入門《pytorch-handbook》

【下載】豆瓣評分8.1,《機器學習實戰:基於Scikit-Learn和TensorFlow》

《Python數據分析與挖掘實戰》PDF+完整源碼

汽車行業完整知識圖譜項目實戰視頻(全23課)

李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材

筆記、代碼清晰易懂!李航《統計學習方法》最新資源全套!

《神經網絡與深度學習》最新2018版中英PDF+源碼

將機器學習模型部署為REST API

FashionAI服裝屬性標籤圖像識別Top1-5方案分享

重要開源!CNN-RNN-CTC 實現手寫漢字識別

yolo3 檢測出圖像中的不規則漢字

同樣是機器學習算法工程師,你的面試為什麼過不了?

前海徵信大數據算法:風險概率預測

【Keras】完整實現『交通標誌』分類、『票據』分類兩個項目,讓你掌握深度學習圖像分類

VGG16遷移學習,實現醫學圖像識別分類工程項目

特徵工程(一)

特徵工程(二) :文本數據的展開、過濾和分塊

特徵工程(三):特徵縮放,從詞袋到 TF-IDF

特徵工程(四): 類別特徵

特徵工程(五): PCA 降維

特徵工程(六): 非線性特徵提取和模型堆疊

特徵工程(七):圖像特徵提取和深度學習

如何利用全新的決策樹集成級聯結構gcForest做特徵工程並打分?

Machine Learning Yearning 中文翻譯稿

螞蟻金服2018秋招-算法工程師(共四面)通過

全球AI挑戰-場景分類的比賽源碼(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(列印收藏)

python+flask搭建CNN在線識別手寫中文網站

中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特徵工程

不斷更新資源

深度學習、機器學習、數據分析、python

 搜索公眾號添加: datayx  

QQ群 

333972581

相關焦點

  • Keras-BERT-NER albert、roberta、bert、wwm四個模型如何去做命名實體識別任務
    GitHub項目地址:https://github.com/liushaoweihua/keras-bert-ner中文命名實體識別任務下的Keras解決方案,下遊模型支持BiLSTM-CRF/BiGRU-CRF/IDCNN-CRF/single-CRF,預訓練語言模型採用BERT系列(谷歌的預訓練語言模型:支持BERT
  • 【BERT中文改進版】預訓練ALBERT模型:參數更少,效果更好,拿下13項NLP任務
    海量中文語料上預訓練ALBERT模型:參數更少,效果更好Chinese version of ALBERT pre-trained modelALBERT模型介紹ALBERT模型是BERT的改進版,與最近其他State of the art的模型不同的是
  • 中文命名實體識別有困難?在Amazon SageMaker上看如何基於TensorFlow來解決~
    我們知道,預訓練模型可以大幅提升計算機視覺的深度學習算法表現,而在 NLP 領域也是同理,預訓練語言模型可以有效提升文本分類、機器翻譯、命名實體識別等任務的效果。預訓練語言模型經歷了從詞嵌入(Word Embedding),到 BERT ,再到 ALBERT 的演進。
  • 谷歌ALBERT模型V2+中文版來了:之前刷新NLP各大基準,現在GitHub熱榜第二
    這就是谷歌前不久發布的輕量級BERT模型——ALBERT。不僅如此,還橫掃各大「性能榜」,在SQuAD和RACE測試上創造了新的SOTA。而最近,谷歌開源了中文版本和Version 2,項目還登上了GitHub熱榜第二。
  • NLP - 基於 BERT 的中文命名實體識別(NER)
    作者:艾力亞爾(微博 @艾力亞爾),暴風大腦研究院研發工程師,現負責電視端的語音助手相關工作。
  • 預訓練永不止步,遊戲問答語言模型實操
    在這種背景下,預訓練應運而生,該技術可以從大量無標註數據中進行預訓使許多 NLP 任務獲得顯著的性能提升,大批的預訓練模型也相繼開源了。本文將介紹我們在這方面所做的系列工作,通過這篇文章你將了解到如何快速上手模型預訓練,以及如何結合業務知識進一步提升垂直預訓的效果。(我們所有的實驗都是在騰訊雲智能鈦上進行的,感謝為我們提供算力資源!)
  • 【NLP】Pytorch中文語言模型bert預訓練代碼
    這篇論文做了很多語言模型預訓練的實驗,系統的分析了語言模型預訓練對子任務的效果提升情況。有幾個主要結論:在目標領域的數據集上繼續預訓練(DAPT)可以提升效果;目標領域的語料與RoBERTa的原始預訓練語料越不相關,DAPT效果則提升更明顯。在具體任務的數據集上繼續預訓練(TAPT)可以十分「廉價」地提升效果。
  • 使用CRF++實現命名實體識別(NER)
    CRF與NER簡介   CRF,英文全稱為conditional random field, 中文名為條件隨機場,是給定一組輸入隨機變量條件下另一組輸出隨機變量的條件概率分布模型,其特點是假設輸出隨機變量構成馬爾可夫(Markov)隨機場。
  • 「瘦身成功」的ALBERT,能取代BERT嗎?
    BERT與ALBERTBERT模型是大家比較所熟知的。2018年由谷歌提出,訓練的語料庫規模非常龐大,包含33億個詞語。模型的創新點集中在了預訓練過程,採用Masked LM和Next Sentence Prediction兩種方法,分別捕捉詞語和句子級別的表示。
  • 運用多源分詞信息助力中文NER 邱震宇
    事實上,我之前還真實驗過這種操作,從結果上來說這種方法只能在很小的程度上提升效果,幾乎可以忽略不計(詳見我的中文NER相關文章),有時候還會有反效果。從原理上看,這種方法有兩個弊端:1、使用的是現成的分詞工具,對於當前語料來說,會有一定的誤差,這種誤差會在模型的學習過程中被不斷傳遞,導致模型的學習被影響。
  • BERT-BiLSTM-CRF基於BERT預訓練的中文命名實體識別TensorFlow實現
    軟體包現在支持的功能命名實體識別的訓練命名實體識別的服務C/S繼承優秀開源軟體:bert_as_service(hanxiao)的BERT所有服務基於bert命名行訓練命名實體識別模型:安裝完bert-base後,會生成兩個基於命名行的工具,其中bert-base-ner-train支持命名實體識別模型的訓練,你只需要指定訓練數據的目錄,BERT
  • NLP入門(八)使用CRF++實現命名實體識別(NER)
    CRF與NER簡介   CRF,英文全稱為conditional random field, 中文名為條件隨機場,是給定一組輸入隨機變量條件下另一組輸出隨機變量的條件概率分布模型,其特點是假設輸出隨機變量構成馬爾可夫(Markov)隨機場。
  • NLP 詳解教程:使用 Spacy 和 Python 實現命名實體識別 (NER)
    在這篇hand-on文章中,我們將使用Spacy庫訓練基於神經網絡的深度學習模型,以從文本數據中檢測實體。我們還將展示的一件事是如何標記數據,並且在許多文章中經常被忽略。我們還將使用更強力的模式匹配將深度學習進行比較。
  • 用Rasa NLU構建自己的中文NLU系統
    更加重要的是,這樣的開源工具可以本地部署,自己針對實際需求訓練和調整模型,據說對一些特定領域的需求效果要比那些通用的在線NLU服務還要好很多。我們在這裡就簡單介紹使用Rasa NLU構建一個本地部署的特定領域的中文NLU系統。Rasa NLU本身是只支持英文和德文的。中文因為其特殊性需要加入特定的tokenizer作為整個流水線的一部分。
  • NER殺器集結:五個難點與解決方法匯總
    對於類如「三六零」這樣的中文,我們可以把大寫中文漢字不放入核心詞典中,這樣就可以將其作為未知字符用正則進行匹配。雖然我們需要耗費大量人力去設計規則。但好處是,比起訓練玄學的機器學習模型,這裡努力性價比更高,都能帶來直接有效的回報。對於較短的命名實體,如人名,完全可以用分詞方法去確定邊界,用詞性標註去確定類別。這樣就無需再專門準備命名實體模塊及語料庫,只需要用分詞語料庫就可以做到。
  • 哈工大訊飛聯合實驗室發布法律領域ELECTRA預訓練模型
    哈工大訊飛聯合實驗室發布的中文ELECTRA系列預訓練模型再迎新成員。我們基於大規模法律文本訓練出中文法律領域ELECTRA系列模型,並且在法律領域自然語言處理任務中獲得了顯著性能提升。歡迎各位讀者下載試用相關模型。
  • Keras入門(七)使用Flask+Keras-bert構建模型預測服務
    在文章NLP(三十四)使用keras-bert實現序列標註任務中,我們介紹了如何使用keras-bert模塊,利用BERT中文預訓練模型來實現序列標註任務的模型訓練、模型評估和模型預測。其中,模型預測是通過加載生成的h5文件來實現的。  本文將會介紹如何使用Flask構建模型預測的HTTP服務。
  • 按照時間線幫你梳理10種預訓練模型
    用語言模型進行預訓練ERNIE是基於BERT做的優化,主要針對中文任務。,模型可獲得更可靠的語言表示)用大量中文數據集、異質數據集為適應多輪的貼吧數據,引入對話語言模型(DLM ,Dialogue Language Model)的任務(ERNIE對mask機制的改進,為BERT-wwm、SpanBERT等提供了思路)連續用大量的數據與先驗知識連續構建不同的預訓練任務(詞法級別,語法級別,語義級別
  • 一些NER的英文數據集
    1   MUC Data Setshttps://www-nlpir.nist.gov/related_projects/muc/https://www.clips.uantwerpen.be/conll2002/n