精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于Prompt在NER場景的應用總結

深度學習自然語言處理 ? 來源:NLP工作站 ? 作者:NLP工作站 ? 2022-05-24 10:54 ? 次閱讀

寫在前面

大家好,我是劉聰NLP。

最近在做Prompt的相關內容,本人意識中一直覺得Prompt機制在序列標注任務上不是很好轉換,因此,很早前,組長問我時,我夸下海口,說:“誰用prompt做NER呀”。然后,調研發現大佬們真是各顯神通,是我目光短淺了。于是,決定進行一番總結,分享給大家。「有點長,大家慢慢看,記得點贊收藏轉發」

部分論文已經在自己的數據上進行了實驗,最后一趴會進行簡要概述,并且會分析每種方法的優劣。

TemplateNER

TemplateNER,原文《Template-Based Named Entity Recognition Using BART》,是第一篇將Prompt方法應用于序列標注任務的論文,核心思想是通過N-Gram方法構建候選實體,然后將其與所有手工模板進行拼接,使用BART模型對其打分,從而預測出最終實體類別。是一篇「手工模板且無答案空間映射」的Prompt論文。

paper:https://arxiv.org/abs/2106.01760
github:https://github.com/Nealcly/templateNER

模型,訓練階段如下圖(c)所示,預測階段如下圖(b)所示,下面詳細介紹。

c205ac22-da96-11ec-ba43-dac502259ad0.png

任務構造

將序列標注任務轉換成一個生成任務,在Encoder端輸入為原始文本,Decoder端輸入的是一個已填空的模板文本,輸出為已填空的模板文本。待填空的內容為候選實體片段以及實體類別。候選實體片段由原始文本進行N-Gram滑窗構建,為了防止候選實體片段過多,論文中最大進行8-gram。

模板構建

模板為手工模板,主要包括正向模板和負向模板,其中,正向模板表示一個文本片段是某種實體類型,負向文本表示一個文本片段不是實體。具體模板如下表所示,我們也可以看出,最終模型效果是與手工模板息息相關的。

c282593e-da96-11ec-ba43-dac502259ad0.png

訓練階段

在訓練階段,正樣本由實體+實體類型+正向模板構成,負樣本由非實體片段+負向模板構成;由于負樣本過多,因此對負樣本進行隨機負采樣,使其與正樣本的比例保持1.5:1。其學習目標為:

預測階段

在預測階段,將進行8-gram滑窗的所有候選實體片段與模板組合,然后使用訓練好的模型進行預測,獲取每個候選實體片段與模板組合的分數(可以理解為語義通順度PPL,但是計算公式不同),分數計算如下:

其中,表示實體片段,表示第k個實體類別,T_{y_{k},x_{i:j}}表示實體片段與模板的文本。

針對,每個實體片段,選擇分數最高的模板,判斷是否為一個實體,哪種類型的實體。

c2bbc9b2-da96-11ec-ba43-dac502259ad0.png

DemonstrationNER

DemonstrationNER,原文《Good Examples Make A Faster Learner: Simple Demonstration-based Learning for Low-resource NER》,核心思想為在原始文本的基礎上,拼接示例模板信息,提高原始序列標注模型的效果。是一篇「示例模板且無答案空間映射」的Prompt論文。

paper:https://arxiv.org/abs/2110.08454
github:https://github.com/INK-USC/fewNER

模型如下圖(b)所示,下面詳細介紹。

c2f6d124-da96-11ec-ba43-dac502259ad0.png

任務構造

依然是序列標注模型,僅將原始文本后面拼接示例模板,而示例模板的作用主要是提供額外信息(什么樣的實體屬于什么類別,與原文相似文本中哪些實體屬于哪些類別等),幫助模型可以更好地識別出原始文本中的實體。

示例模板的構建

示例分為面向實體的示例和面向句子的示例,如下圖所示,

c3272626-da96-11ec-ba43-dac502259ad0.png

面向實體的示例構造方法包括:

  • 隨機法,即,隨機從訓練集的實體列表中,抽取若干個實體,作為示例。
  • 統計法,即,選擇在訓練集中出現次數較多的實體,作為示例。
  • 網格搜索法,即,對所有實體進行網格搜索,判斷采用哪些實體作為示例時,在驗證集上的效果最優。

面向句子的示例構造方法包括:

  • SBERT法,即,使用[CLS]向量之間的余弦值作為句子相似度分數,選擇與原始句子最相似的句子作為示例。
  • BERTScore法,即,使用句子中每個token相似度之和作為句子相似度分數,選擇與原始句子最相似的句子作為示例。

模板形式主要有三種,無上下文模板、有上下文模板和詞典模板,如下圖所示,

c35d92e2-da96-11ec-ba43-dac502259ad0.png

最終實驗結果為實體-網格搜索法-有上下文模板效果最佳。分析句子級別不好可能是由于數據空間中句子間的相似度太低導致。

訓練&預測

將示例模板拼接到原始模板后面,一起進入模型,僅針對原始文本進行標簽預測與損失計算,如下:

其中,表示原始文本,表示示例模板,表示原始文本經過模型后的序列向量,表示示例模板經過模型后的序列向量。損失如下:

僅考慮原始文本部分。將需要領域遷移時,將原有模型的參數賦予新模型,進訓練標簽映射部分參數(linear或crf)即可。

c3bb6c3c-da96-11ec-ba43-dac502259ad0.png

LightNER

LightNER,原文《LightNER: A Lightweight Generative Framework with Prompt-guided Attention for Low-resource NER》,核心思想為將原始序列標注任務轉化為Seq2Seq的生成任務,通過在transformer的attetion機制中融入提示信息,在少量參數訓練下,使模型達到較好的效果。是一篇「軟模版且有答案空間映射」的Prompt論文。

paper:https://arxiv.org/abs/2109.00720
github:https://github.com/zjunlp/DeepKE/blob/main/example/ner/few-shot/README_CN.md

模型如下圖所示,下面詳細介紹。

c3f8ed46-da96-11ec-ba43-dac502259ad0.png

任務構造

將序列標注任務轉換成一個生成任務,在Encoder端輸入為原始文本,Decoder端逐字生成實體以及實體類型。模板信息融到Encoder和Decoder模型attention機制中,模板為soft-prompt,即一種可學習的自動模板。

基于提示引導的Attention

如上圖(b)所示,分別在Encoder和Decoder中加入可訓練參數,其中,為transformer的層數,,為模板長度,為隱藏節點維度,表示由key和value兩項組成。

給定輸入序列,對于每一層transformer,的原始表示如下:

變化后的attention如下:

基于提示引導的Attention可以根據提示內容重新調節注意機制,使其少參數調節。并且實驗發現,模板長度和提示信息融入的層數影響最終效果,當長度為10時,效果最佳。當層數為12層時,效果最佳。

c4432294-da96-11ec-ba43-dac502259ad0.png

訓練&預測

對于Encoder端,輸入文本,獲取表示;

對于Decoder端,輸出不僅為實體內容還可能為實體類別,即,其每個輸出內容為

標簽預測時,

其中,通過答案空間映射得來,具體為“將標簽中幾個詞語的向量加權求和,作為標簽的答案空間向量”。

c46828dc-da96-11ec-ba43-dac502259ad0.png

消融實驗發現,基于提示引導的Attention和答案空間映射對于結果的影響均較大。

EntLM

EntLM,原文《Template-free Prompt Tuning for Few-shot NER》,核心思想為將序列標注任務變成原始預訓練的LM任務,僅通過答案空間映射,實現任務轉化,消除下游任務與原始LM任務的Gap,提高模型效果。是一篇「無模板且有答案空間映射」的Prompt論文。

paper:https://arxiv.org/abs/2109.13532
github:https://github.com/rtmaww/EntLM/

模型如下圖所示,下面詳細介紹。

c4a2949a-da96-11ec-ba43-dac502259ad0.png

任務構造

將序列標注任務轉換成一個與預訓練階段一致的LM任務,消除下游任務與預訓練任務的Gap。對其輸入文本進行LM預測,當token不是實體時,預測成與輸入一致的token;當token是實體時,預測成實體類別下的token。而針對每個實體類別下的token的整合,即答案空間映射如何構造。

答案空間映射的構造

在特定領域下,往往未標注文本以及每個實體類別的實體列表是很好獲取的,通過詞表回溯構建偽標簽數據,其中,表示實體類別,表示文本數據。由于偽標簽數據會存在很多噪音數據,因此在構建答案空間映射時,使用4種方法,對每個實體類別中的候選詞語進行篩選。

  • 數據分布法,即,篩選出在語料庫中,每個實體類別出現頻率最高的幾個詞。
  • 語言模型輸出法,即,將數據輸入到語言模型中,統計每個類別中詞匯在語言模型輸出概率的總和,選擇概率最高的幾個詞。
  • 數據分布&語言模型輸出法,即將數據分布法和語言模型輸出法相結合,將每個實體類別中的某一詞的詞頻*該詞模型輸出概率作為該詞得分,選擇分數最高的幾個詞。
  • 虛擬標簽法,即,使用向量代替實體類別中的詞語,相當于類別「原型」,向量獲取辦法為將上述某一種方法獲取的高頻詞,輸入到語言模型中,獲取每個詞語的向量,然后進行加和取平均,獲取類別向量。

c4dc05a4-da96-11ec-ba43-dac502259ad0.png

  • 由于一些高頻詞可能出現在多個實體類別中,造成標簽混亂,因此采用閾值過濾方法去除沖突詞語,即(某個類別中的詞語出現的次數/詞語在所有類別中出現的次數)必須大于規定的閾值,才將該詞語作為該實體類別的標簽詞語。

c511cf68-da96-11ec-ba43-dac502259ad0.png

  • 實驗發現,絕大多少情況下,數據分布&語言模型輸出法獲取高頻詞,再使用虛擬標簽法獲取類別「原型」的方法最好。

訓練&預測

模型訓練階段采用LM任務的損失函數,如下:

其中,,為預訓練過程中LM層參數。

c5483a26-da96-11ec-ba43-dac502259ad0.png

UIE

UIE,原文《Unified Structure Generation for Universal Information Extraction》,核心思想為將序列標注任務轉化為Seq2Seq的生成任務,將手工提示模板與原始文本進行結合,通知模型待抽取的內容,再通過特定的抽取格式,進行逐字解碼生成,提高模型效果。是一篇「手工模板且無答案空間映射」的Prompt論文。不過UIE適用于所有信息抽取任務,不限于NER任務,但后面主要以NER任務為例,進行闡述。

paper:https://arxiv.org/abs/2203.12277
github:https://github.com/universal-ie/UIE

模型如下圖所示,下面詳細介紹。

c595c2aa-da96-11ec-ba43-dac502259ad0.png

值得注意的是,UIE這篇論文與百度Paddle提到到UIE框架并不一個東西(看過源碼的人都知道,不要混淆)。百度Paddle提到到UIE框架本質是一個基于提示的MRC模型,將提示模板作為query,文本作為document,使用Span抽取提示對應的內容片段。

任務構造

將序列標注任務轉換成一個生成任務,在Encoder端輸入為提示模板+原始文本,Decoder端逐字生成結構化內容。以T5為基礎,采用預訓練技術,學習從文本到結構化生成。

手工模板

在編碼端,通過待抽取schema(實體類別、關系等)構造Prompt模板,稱為SSI,同于控制生成內容。模板樣式如下圖所示,

c5da1414-da96-11ec-ba43-dac502259ad0.png

在解碼端,設計了特定的抽取結構,稱為SEL,而這種特殊的結構,也可以算作模板的一種吧,可以使解碼時,按照統一要求進行表示。抽取結構樣式如下圖所示,

c610b33e-da96-11ec-ba43-dac502259ad0.png

只需關注Entity部分即可。

訓練&測試

對于Encoder端,輸入文本以及SSI內容,獲取表示為:

對于Decoder端,逐字生成,如下:

由于訓練數據中,待生成部分的數據格式均按照SEL格式構造,因此生成內容也會遵循其結構。

而模型重點是如何構造預訓練數據,在預訓練過程中,數據來自Wikidata、Wikipedia和ConceptNet。并且構造的數據格式包含三種,分別為、和。

  • ,是通過Wikidata和Wikipedia構建的text-to-struct平行語料。
  • ,是僅包含結構化形式的數據。
  • ,是無結構化的純文本數據。

在預訓練過程中,三種語料對應不同的訓練損失,訓練的網絡結構也不一樣。訓練整個Encoder-Decoder網絡結構,僅訓練Decoder網絡結構,進訓練Encoder網絡結構,最終的損失是三者的加和。

c63f1a08-da96-11ec-ba43-dac502259ad0.png

總結

本人在自己的中文數據集上,測試了TemplateNER、LightNER和EntLM的效果,驚奇的發現當數據量增加到50-shot時,「BERT-CRF」的效果是最好的(別整哪些沒用的,加點數據啥都解決了,這也是令我比較沮喪的點。也許、可能、大概、興許、或許是數據集或者代碼復現(code下載錯誤?)的問題,無能狂怒!!!)。

當5-shot和10-shot時,EntLM方法的效果較好,但是跟答案空間映射真的是強相關,必須要找到很好的標簽詞才能獲取較好的效果。而TemplateNER方法測試時間太久了,在工業上根本無法落地。

就像之前我對prompt的評價一樣,我從來不否認Promot的價值,只是它并沒有達到我的預期。是世人皆醉我獨醒,還是世人皆醒我獨醉,路還要走,任務還要做,加油!!!

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模板
    +關注

    關注

    0

    文章

    108

    瀏覽量

    20554
  • 模型
    +關注

    關注

    1

    文章

    3172

    瀏覽量

    48714
  • 數據集
    +關注

    關注

    4

    文章

    1205

    瀏覽量

    24644

原文標題:總結 | Prompt在NER場景的應用

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于歐盟法規中測試場景的研究

    關于歐盟法規中測試場景的研究 1.引言 ? 場景是智能網聯汽車測試技術的基礎,基于場景的功能測試方法對于彌補基于里程的測試方法的局限性,提高系統開發效率、產品落地效率等方面都有重要作用
    的頭像 發表于 11-25 16:32 ?39次閱讀
    <b class='flag-5'>關于</b>歐盟法規中測試<b class='flag-5'>場景</b>的研究

    關于中斷知識學習總結筆記

    關于中斷知識學習總結筆記》 一、中斷的核心概念 中斷是計算機運行過程中的一種重要機制,它能夠使計算機執行主程序時,暫停當前任務去響應特定的事件或請求,處理完成后再返回主程序繼續執行。這就像是一個
    發表于 11-23 11:23

    系統放大器的技術原理和應用場景

    信號的某些特性如頻率和相位則可以根據設計保持不變或者適當調整。二、應用場景系統放大器多個領域都有著廣泛的應用,以下是幾個主要的應用場景: 工業自動化:自動化系統中,系統放大器能夠對
    發表于 11-18 14:46

    汽車雷達回波發生器的技術原理和應用場景

    汽車雷達回波發生器是一種新型的雷達測試設備,以下是對其技術原理和應用場景的詳細介紹:技術原理汽車雷達設備發送電磁波信號時,若遇到目標物體,該物體會反射出回波信號,隨后被雷達接收機捕獲。這些回波信號
    發表于 11-15 14:06

    AI對話魔法 Prompt Engineering 探索指南

    作者:京東物流 李雪婷 一、什么是 Prompt Engineering? 想象一下,你和一個智能助手聊天,你需要說出非常清晰和具體的要求,才能得到你想要的答案。Prompt
    的頭像 發表于 11-07 10:11 ?697次閱讀
    AI對話魔法 <b class='flag-5'>Prompt</b> Engineering 探索指南

    HarmonyOS NEXT應用元服務開發控件狀態變化場景

    例如下圖,播放暫停按鈕對應著兩種狀態,狀態切換時需要實時變化對應的標注信息。 import prompt from \'@system.prompt\' const
    發表于 10-28 15:13

    實時示波器的技術原理和應用場景

    實時示波器是一種高性能的電子測量儀器,其技術原理和應用場景對于電子工程和通信技術領域具有重要意義。以下是對實時示波器的技術原理和應用場景的詳細解釋:一、技術原理實時示波器的工作原理基于電子束熒光屏
    發表于 10-23 14:22

    RISC-V中國的發展機遇有哪些場景

    RISC-V中國的發展機遇廣泛存在于多個場景,這主要得益于其開源、開放、簡潔、靈活等特性,以及中國作為全球最大的數據大國和信息技術市場的重要地位。以下是一些RISC-V中國的主要發展機遇
    發表于 07-29 17:14

    FPGA與MCU的應用場景

    FPGA最大的作用就是來設計和驗證MCU的,現在想想,這其實只是FPGA的一個用處。這個疑問已經我的腦中疑惑很久,有時候可以想明白,但是有時候就又想不通了,所以,最近在仔細的搜集資料后進行了總結,如有
    發表于 07-29 15:45

    性能優化之路總結

    思想:批量操作數據庫,這個很好理解,我們循環插入場景的接口中,可以批處理執行完成后一次性插入或更新數據庫,避免多次IO。 //批量入庫 batchInsert(); 2.異步處理 異步思想:針對耗時比較長且不是結果必須的邏輯
    的頭像 發表于 06-17 15:00 ?288次閱讀

    NanoEdge AI的技術原理、應用場景及優勢

    硬件設計則是為了確保設備執行這些任務時能夠保持低能耗,從而提高其續航能力。 2、應用場景 NanoEdge AI 可以廣泛應用于各種物聯網設備和傳感器,如智能家居、工業自動化、智能交通、醫療健康
    發表于 03-12 08:09

    Cypress 4025 MCU touch sensor模擬測試下列場景時,遇到sensor無法響應的問題怎么解決?

    Cypress 4025 MCU touch sensor模擬測試下列場景時,有遇到sensor 無法響應的問題 當手指無限接近touch sensor button時,此時手指還未觸模到,發現
    發表于 02-01 08:11

    AG32VF-MIPI應用場景

    MIPI接口技術圖像和視頻傳輸中的應用越來越廣泛,應用場景不斷拓展,而不僅限于移動設備。MIPI接口物聯網、智能家居、智能監控、智能電視、智能汽車等領域也得到廣泛應用。 MI
    發表于 01-22 08:56

    如何從訓練集中生成候選prompt 三種生成候選prompt的方式

    這個“gradient”怎么得到的了呢,這是個啥玩意,怎么還有梯度?注意,注意。人家是帶引號的!比喻成梯度。這玩意有什么用呢。 文章指出給定一批error samples(當前prompt無法
    的頭像 發表于 01-12 11:29 ?916次閱讀
    如何從訓練集中生成候選<b class='flag-5'>prompt</b> 三種生成候選<b class='flag-5'>prompt</b>的方式

    關于編程模式的總結與思考

    淘寶創新業務的優化迭代是非常高頻且迅速的,在這過程中要求技術也必須是快且穩的,而為了適應這種快速變化的節奏,我們項目開發過程中采用了一些面向拓展以及敏捷開發的設計,本文旨在總結并思考其中一些通用的編程模式。
    的頭像 發表于 01-03 10:14 ?439次閱讀
    <b class='flag-5'>關于</b>編程模式的<b class='flag-5'>總結</b>與思考