四亿电影BERT模型究竟何以封神?

时间 • 2020-05-13 14:16:57
全文共3880字,預計學習時長20分鐘或更長在世界數據科學界, BERT模型的公佈無疑是自然語言處理領域最激動人心的大事件。鑒於BERT還未廣為人知,特此做出以下解釋:BERT是一種以轉換器為基礎,進行上下文詞語預測,從而得出最優結果的語言表征模型。計算語言學協會北美分會將BERT論文評為年度最佳長篇論文。谷歌研究發佈瞭經過預訓練的BERT模型,包括多語言、中文和英文BERT。會話人工智能框架Deeppavlov是基於iPavlov開發的,它包含構建對話系統所需的所有組件。BERT發佈之後,其處理多種任務的能力令人驚異。BERT可以集成到三個常用NLP任務的解決方案中:文本分類、標記和問題回答。本文將將詳細闡釋如何在DeepPavlov中使用基於BERT的命名實體識別(NER)。NER介紹命名實體識別(NER)是NLP中最常見的任務之一,可以將其表述為:給定一個標記序列(單詞和可能的標點符號),為序列中的每個標記提供一個來自預定義標記集的標記。下圖標示句是NER在演示中的輸出,其中藍色代表人物標簽,綠色代表位置,黃色代表地理位置,灰色代表日期時間。Deeppavlov ner模型支持19個標簽:org(組織)、gpe(國傢、城市、州)、loc(位置)、事件(命名為颶風、戰鬥、戰爭、體育活動)、日期、基數、金額、人物等。Deeppavlov的NER模型在命令行中處理的語句如下所示。>> Amtech , which also provides technical temporary employment services to aerospace , defense , computer and high - tech companies in the Southwest and Baltimore - Washington areas , said its final audited results are due in late November .['B-ORG', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'B-LOC', 'O', 'B-GPE', 'O', 'B-GPE', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'B-DATE', 'I-DATE', 'O']>> Am四亿电影te四亿电影Ch還為西南部和華盛頓巴爾的摩地區的航空航天、國防、計算機和高科技公司提供臨時技術就業服務,該公司表示,其最終審計結果將於11月底公佈。BIO標記方案用於區分具有相同標記的相鄰實體,其中“B”表示實體的開頭,“I”表示“中間”,它用於除第一個實體外的所有組成實體的單詞,“O”則表示不是實體。四亿电影nER有多種業務應用程序。例如,NER可通過從簡歷中提取重要信息來幫助人力資源部門簡歷的評估。此外,NER還可用於識別客戶請求中的相關實體——如產品規格、部門或公司分支機構的詳細信息,以便對請求進行相應分類並轉發給相關部門。如何在Deeppavlov中使用基於Bert的NER模型 任何預處理的模型都可以通過命令行界面和Python進行推理。在使用模型之前,請確保使用以下命令安裝瞭所有必需的軟件包:python -m deeppavlov install ner_ontonotes_bert_multpython -m deeppavlov interact ner_ontonotes_bert_mult [-d]其中ner_ontonotes_bert_mult表示配置文件的名稱。可以通過Python代碼與模型進行交互。from deeppavlov import configs, build_modelner_model = build_model(configs.ner.ner_ontonotes_bert_mult, download=True)ner_model(['World Curling Championship will be held in Antananarivo'])此外,DeepPavlov包含一個基於RuBERT的處理俄語數據的模型。總體而言,比起基於雙LSTM-通用報告格式的模型,基於BERT的模型有瞭實質性的改進。通過下表可以看到基於英語和俄語的模型的性能。多語種Zero-Shot轉移多語言BERT模型支持執行從一種語言到另一種語言的零距離傳輸。ner_ontonotes_bert_mult模型是在OntoNotes語料庫上訓練的,該語料庫在標記模式中有19種類型。你可以在不同的語言上測試模型。from deeppavlov import configs, build_modelner_model = build_model(configs.ner.ner_ontonotes_bert_mult, download=True)ner_model(['Meteorologist Lachlan Stone said the snowfall in Queensland was an unusual occurrence '+'in a state with a sub-tropical to tropical climate.','Церемония награждения пройдет 27 октября в развлекательном комплексе Hollywood and '+'Highland Center в Лос-Анджелесе (штат Калифорния, США).','Das Orchester der Philharmonie Poznań widmet sich jetzt bereits zum zweiten '+'Mal der Musik dieses aus Deutschland vertriebenen Komponisten. Waghalter '+'stammte aus einer jüdischen Warschauer Familie.'])在俄語語料庫3上對模型性能進行瞭評價。以下是轉移的結果。多語言模型在第3集俄語語料庫上的性能如何為NER配置BERTConfig/fag文件夾下單獨配置文件對deeppavlov nlp 進行定義。配置文件由四個主要部分組成:dataset_reader、dataset_iterator、chainer和train。所有基於BERT的模型的公共元素都是配置文件chainer部分中的BERT預處理器(對於NER,是bert_ner_preprocessor類)塊。未經加工的文本(即,“Alex goes to Atlanta”)應該傳遞給bert_ner_preprocessor,以便將記號化為子記號,用它們的索引編碼子記號,並創建記號和段掩碼。token參數本身包含一個句子標志列表([' Alex ', ' goes ', ' to ', ' Atlanta ']), subword_token帶有特殊的標志。([' [CLS], ' Alex ', ' goes ', ' to ', ' Atlanta ', ' [SEP]])。subword_tok_id包含令牌id,而subword_mask是一個列表,其中0表示特殊的令牌,1表示句子的令牌([0 1 1 1 1 1 0])。{"class_name": "bert_ner_preprocessor","vocab_file": "{BERT_PATH}/vocab.txt","do_lower_case": false,"max_seq_length": 512,"max_subword_length": 15,"token_maksing_prob": 0.0,"in": ["x"],"out": ["x_tokens", "x_subword_tokens","x_subword_tok_ids", "pred_subword_mask"]}以上是本文想介紹的關於以多語種BERT模型為基礎的NER的全部內容。留言 點贊 關註我們一起分享AI學習與發展的幹貨歡迎關註全平臺AI垂類自媒體 “讀芯術”