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

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

3天內(nèi)不再提示

基于序列標注的實體識別所存在的問題

深度學習自然語言處理 ? 來源:AI算法小喵 ? 作者:AI算法小喵 ? 2022-07-28 11:08 ? 次閱讀

寫在前面

今天要跟大家分享的是西湖大學張岳老師2018年發(fā)表在頂會ACL上的一篇中文實體識別論文Lattice LSTM。

論文名稱:《Chinese NER Using Lattice LSTM》

論文鏈接:https://arxiv.org/pdf/1805.02023.pdf

代碼地址:https://github.com/jiesutd/LatticeLSTM

分享這個工作主要原因是:這個工作本身質(zhì)量比較高,可以說是利用詞匯增強中文NER的開篇之作,并且思路清晰,創(chuàng)新有理有據(jù)。

本篇文章主要內(nèi)容將圍繞下圖中的兩點展開:

0d847630-0d9e-11ed-ba43-dac502259ad0.png

1. 基于序列標注的實體識別所存在的問題

如下圖,這部分主要包含兩個內(nèi)容,即:經(jīng)典的LSTM-CRF實體識別模型及該類模型所存在的問題。

0d99ddea-0d9e-11ed-ba43-dac502259ad0.png

1.1 經(jīng)典LSTM-CRF模型

實體識別通常被當作序列標注任務(wù)來做,序列標注模型需要對實體邊界和實體類別進行預(yù)測,從而識別和提取出相應(yīng)的命名實體。在BERT出現(xiàn)以前,實體識別的SOTA模型是LSTM+CRF,模型本身很簡單:

首先利用嵌入方法將句子中的每個token轉(zhuǎn)化為向量再輸入LSTM(或BiLSTM);

然后使用LSTM對輸入的信息進行編碼;

最后利用CRF對LSTM的輸出結(jié)果進行序列標注。

0daf8848-0d9e-11ed-ba43-dac502259ad0.png

LSTM+CRF用在中文NER上,又可進一步分為兩種:若token是詞,那么模型就屬于Word-based model;若token是字,那么模型就屬于Character-based Model。

(注:BERT+LSTM+CRF主要是將嵌入方法從Word2vec換成了BERT。)

1.2 誤差傳播與歧義問題

0dd945d4-0d9e-11ed-ba43-dac502259ad0.png

Word-based model存在誤差傳遞問題

Word-based model做實體識別需要先分詞,然后再對詞序列進行實體識別即詞序列標注。詞匯的邊界決定了實體的邊界,因此一旦出現(xiàn)分詞錯誤就會影響實體邊界的判定。比如上圖中,利用分詞工具,“東莞臺協(xié)” 和 ”會長“ 被拆分成了“東莞”、“臺”、”協(xié)會長“,最終導致 ”東莞臺“ 被識別為了GPE。換句話說,Word-based model具有和其他兩階段模型同樣的誤差傳遞問題。

Character-based model存在歧義問題

既然分詞會有問題,那就不分詞。Character-based model直接在字的粒度上進行實體識別即字序列標注。許多研究工作表明,在中文NER上基于字的方法優(yōu)于基于詞的方法。但是,相比詞單字不具備完整語義。沒有利用句子里的詞的信息,難以應(yīng)對歧義問題,識別結(jié)果可能差強人意。如上圖,“會” 字本來應(yīng)該和 “長” 一起組成 “會長” ,但是最終模型卻將 “會” 與 “東莞臺協(xié)” 視為一個語塊兒,并將 “東莞臺協(xié)會” 預(yù)測為ORG。

1.3 思考

0dedffa6-0d9e-11ed-ba43-dac502259ad0.png

既然Character-based model、Word-based model各有優(yōu)缺點,那是否可以結(jié)合二者進行互補呢?換句話說,我們在Character-based model里加入詞信息,這樣是不是就可以既利用了詞信息,又不會因為分詞錯誤影響識別結(jié)果呢?實際上,Lattice LSTM正是這樣做的。接下來我們一起跟隨文章的后續(xù)內(nèi)容來學習Lattice LSTM。

2. 模型細節(jié)

這一節(jié)我們首先會介紹最簡單的詞信息利用方方法,然后再對Lattice LSTM進行詳細介紹。

0e215504-0d9e-11ed-ba43-dac502259ad0.png

2.1 簡單直接的拼接法

0e30dede-0d9e-11ed-ba43-dac502259ad0.png

如上圖所示,最容易想到同時也是最簡單的詞信息利用方法就是直接拼接詞表征與字向量或者直接拼接詞表征與LSTM的輸出。16年的論文《A Convolution BiLSTM Neural Network Model for Chinese Event Extraction》[1]就采用了這樣的方法構(gòu)建了中文事件抽取模型,其模型結(jié)構(gòu)如下圖所示:

0e7dfd40-0d9e-11ed-ba43-dac502259ad0.png

當然這里詞表征可通過Word2Vec、Glove等詞向量模型獲得。也可以如16年的那篇事件抽取論文一樣利用CNN進一步卷積獲得更上層的Local Context features,再將其拼接到模型中:

0ebcb90e-0d9e-11ed-ba43-dac502259ad0.png

當然這不是本文的重點,我們關(guān)注的是Lattice LSTM是如何引入詞信息的。

2.2 Lattice 與潛在詞

0ee460f8-0d9e-11ed-ba43-dac502259ad0.png

Lattice LSTM模型結(jié)構(gòu)如上圖右側(cè)所示。在正式開始介紹Lattice LSTM前,我們先來看看上圖左半部分。

(1)Lattice LSTM 名字來由

我們可以發(fā)現(xiàn)在上圖左側(cè)所示網(wǎng)絡(luò)中,除主干部分基于字的LSTM外,還連接了許多「格子」,每個「格子」里各含有一個潛在的詞,這些潛在詞所含有的信息將會與主干LSTM中相應(yīng)的Cell融合,看起來像一個「網(wǎng)格(Lattice)」。所以論文模型的名字就叫做Lattice LSTM,也就是有網(wǎng)格結(jié)構(gòu)的LSTM模型。

(2)詞典匹配獲得潛在詞

網(wǎng)格中的這些潛在詞是通過匹配輸入文本與詞典獲得的。比如通過匹配詞典, “南京市長江大橋”一句中就有“南京”、“市長”,“南京市”,“長江”,“大橋“,“長江大橋”等詞。

(3)潛在詞的影響

首先,“南京市長江大橋” 一句的正確結(jié)果應(yīng)當是 “南京市-地點”、“長江大橋-地點”。如果我們直接利用Character-based model來進行實體識別,可能獲得的結(jié)果是:“南京-地點”、“市長-職務(wù)”、“江大橋-人名”。現(xiàn)在利用詞典信息獲得了文本句的潛在詞:“南京”、“市長”,“南京市”,“長江”,“大橋“,“長江大橋” 等潛在詞。其中,“長江”、“大橋” 與 “長江大橋” 等詞信息的引入有利于模型,可以幫助模型避免犯 “江大橋-人名” 這樣的錯誤;而 “市長” 這個詞的引入?yún)s可能會帶來歧義從而誤導模型,導致 “南京-地點”,“市長-職務(wù)” 這樣的錯誤。

換句話說,通過詞典引入的詞信息有的具有正向作用,有的則不然。當然,人為去篩除對模型不利的詞是不可能的,所以我們希望把潛在詞通通都丟給模型,讓模型自己去選擇有正向作用的詞,從而避免歧義。Lattice LSTM正是這么做的:它在Character-based LSTM+CRF的基礎(chǔ)上,將潛在詞匯信息融合進去,從而使得模型在獲得字信息的同時,也可以有效地利用詞的先驗信息。

2.3 Lattice LSTM 模型細節(jié)

0f0893ba-0d9e-11ed-ba43-dac502259ad0.png

如上圖所示,Lattice LSTM模型的主干部分是基于字的LSTM-CRF(Character-based LSTM+CRF):

若當前輸入的字在詞典中不存在任何以它結(jié)尾的詞時:主干上Cell之間的傳遞就和正常的LSTM一樣。也就是說,這個時候Lattice LSTM退化成了基本LSTM。

若當前輸入的字在詞典中存在以它結(jié)尾的詞時:需要通過紅色Cell (見2.2節(jié)圖右側(cè))引入相關(guān)的潛在詞信息,然后與主干上基于字的LSTM中相應(yīng)的Cell進行融合。

接下來,我們先簡單展示下LSTM的基本單元,再介紹紅色Cell,最后再介紹信息融合部分。

2.3.1 LSTM 單元

0f1f100e-0d9e-11ed-ba43-dac502259ad0.png

上圖左側(cè)展示了一個LSTM 單元(Cell)的內(nèi)部結(jié)構(gòu),右側(cè)展示了Cell的計算過程。在每個Cell中都有三個門控,即輸入門、遺忘門和輸出門。如上圖右側(cè)計算公式所示,這三個門實際上是0~1的小數(shù),其值是根據(jù)當前時刻輸入 和前一時刻Cell的輸出的hidden state計算得到的:

輸入門:決定當前輸入有多少可以加入Cell State,即 ;

遺忘門:決定Cell State要保留多少信息,即 。

輸出門:決定更新后的Cell State有多少可以被輸出,即 。

純粹的基于字的LSTM可以完全基于上述計算過程去計算,而Lattice LSTM則有所不同。

2.3.2紅色Cell

前面我們提過「如果當前字在詞典中存在以它結(jié)尾的詞時,需要通過紅色Cell引入相關(guān)潛在詞信息,與主干上基于字的LSTM中相應(yīng)Cell進行融合」。以下圖中 "市" 字為例,句子中潛在的以它結(jié)尾的詞有:"南京市"。所以,對于"市"字對應(yīng)的Cell而言,還需要考慮 “南京市” 這個詞的信息。

0f2c5f2a-0d9e-11ed-ba43-dac502259ad0.png

紅色Cell的內(nèi)部結(jié)構(gòu)與主干上LSTM的Cell很類似。接下來,我們具體來看下紅色Cell內(nèi)部計算過程。

(1) 紅色Cell 的輸入

0f43f8b0-0d9e-11ed-ba43-dac502259ad0.png

與上圖左側(cè)LSTM的Cell對比,上圖右側(cè)紅色Cell有兩種類型的輸入:

潛在詞的首字對應(yīng)的LSTM單元輸出的Hidden State以及Cell State

潛在詞的詞向量。

(2) 紅色Cell 的輸出

???????????

0f6a1554-0d9e-11ed-ba43-dac502259ad0.png

可以發(fā)現(xiàn),因為序列標記是在字級別,所以與左側(cè)LSTM的Cell相比,紅色Cell沒有輸出門,即它不輸出hidden state。

以“市”字為例,其潛在詞為“南京市“,所以、 來自于"南”字, 代表“南京市”的詞向量,紅色Cell內(nèi)部具體計算過程如下圖右側(cè)所示:

依托 “南” 字的hidden state與 “南京市” 的詞向量 計算輸入門 、遺忘門 以及狀態(tài)更新量 :

依托 “南” 字的Cell state、與 “南京市” 相關(guān)的狀態(tài)更新量 計算 “南京市“ 的Cell State:

最終紅色Cell只會向 "市" 字傳遞Cell State。

2.3.3 信息融合

(1)潛在詞的輸入門

現(xiàn)在對于主干上的Cell來說,除狀態(tài)更新量 外,還多了一個來自潛在詞的Cell State。潛在詞的信息不會全部融入當前字的 Cell,需要進行取舍,所以Lattice LSTM設(shè)計了額外的輸入門,其計算如下:

(2) 加權(quán)融合

前面我們舉的例子中都只有一個潛在詞。但實際上,對部分字來說可能會在詞典中匹配上很多詞,例如 “橋” 這個字就可以在詞典中匹配出 “大橋” 和 “長江大橋” 。為了將這些潛在詞與字信息融合,Lattice LSTM做了一個類似Attention的操作:

0f90a700-0d9e-11ed-ba43-dac502259ad0.png

簡單地說,就是當前字相應(yīng)的輸入門和所有以當前字為尾字的候選詞的輸入門做歸一計算出權(quán)重,然后利用計算出的權(quán)重進行向量加權(quán)融合。

以 “橋” 字為例,它有兩個潛在詞,即 “長江大橋” 與 “大橋” 。那么對 “橋” 字而言,它會收到三對值,分別是:“橋” 字的輸入門 與 狀態(tài) ;潛在詞 "長江大橋" 相關(guān)的輸入門 與Cell State;潛在詞 "大橋" 相關(guān)的輸入門 與Cell State,為了獲得最終 “橋” 的hidden State,需要經(jīng)過如下計算:

"長江大橋" 的權(quán)重:

“大橋” 的權(quán)重:

“橋“ 的權(quán)重:

加權(quán)融合獲得“橋“ 的Cell state:

“橋“ 的hidden state:

3. 實驗

論文在Onto Notes、MSRA、微博NER、簡歷這4個數(shù)據(jù)集上進行了實驗。從實驗結(jié)果可以看出Lattice LSTM比其他對比方法有一定的提升。本文不深入探討實驗部分,感興趣的讀者可下載論文原文進行閱讀。

0fa22548-0d9e-11ed-ba43-dac502259ad0.png

總結(jié)

今天我們分享了中文實體識別模型Lattice LSTM,這是中文NLP領(lǐng)域非常重要的人物~張岳老師他們的工作。沒記錯的話,18年跟隨導師參加NLPCC會議時,第一次見到張岳老師,深刻感覺張岳老師除了學術(shù)能力強以外,為人也非常真誠,很nice。

對NLP感興趣的讀者可以關(guān)注下張岳教授他們的其他工作。當然還有國內(nèi)NLP領(lǐng)域的其他大師的工作,比如劉知遠老師、車萬翔老師、劉挺老師、孫茂松老師、邱錫鵬老師等等。想要往科研方向深入的,也可以申請去他們那里讀博。當然每個老師研究方向各有側(cè)重點,我記得當年關(guān)注到劉知遠老師是因為他們的知識圖譜表示學習工作(TransE等)。

關(guān)注公眾號的讀者里可能有些不是NLP方向的也建議可以關(guān)注關(guān)注以上老師的工作。其實當年我們參加這些會議的時候也不是做NLP方向的,但是交叉學科的工作多聽聽多看看總是有益處的。譬如我和我的同學們,現(xiàn)在多數(shù)都轉(zhuǎn)到了NLP方向,在各個公司里從事NLP算法研究員、NLP算法工程師等工作。

好了,本文就到這里,今天比較啰嗦,哈哈哈。還是一樣,如果本文對你有幫助的話,歡迎點贊&在看&分享,這對我繼續(xù)分享&創(chuàng)作優(yōu)質(zhì)文章非常重要。感謝!

參考資料 [1]

《A Convolution BiLSTM Neural Network Model for Chinese Event Extraction》: https://eprints.lancs.ac.uk/id/eprint/83783/1/160.pdf

審核編輯 :李倩

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

    關(guān)注

    1

    文章

    3057

    瀏覽量

    48570
  • 識別
    +關(guān)注

    關(guān)注

    3

    文章

    173

    瀏覽量

    31925
  • LSTM
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    3730

原文標題:一文詳解中文實體識別模型 Lattice LSTM

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

收藏 人收藏

    評論

    相關(guān)推薦

    能否在TAS5731初始化之前識別到TAS5731存在

    能否在TAS5731初始化之前識別到TAS5731存在?我客戶要求在給TAS5731初始化之前識別TAS5731的存在,如果識別TAS57
    發(fā)表于 09-27 06:47

    【「時間序列與機器學習」閱讀體驗】時間序列的信息提取

    本章主講時間序列的信息提取,章節(jié)中有許多概念定義和數(shù)學公式,并配有Python代碼演示,細細品讀與理解動手演練,還是很開拓思維視野的。下面以筆記形式進行展開。 時間序列的信息提取是時間序列分析的一
    發(fā)表于 08-17 21:12

    【《時間序列與機器學習》閱讀體驗】+ 了解時間序列

    收到《時間序列與機器學習》一書,彩色印刷,公式代碼清晰,非常精美。感謝作者,感謝電子發(fā)燒友提供了一個讓我學習時間序列及應(yīng)用的機會! 前言第一段描述了編寫背景: 由此可知,這是一本關(guān)于時間序列進行大數(shù)
    發(fā)表于 08-11 17:55

    【「時間序列與機器學習」閱讀體驗】全書概覽與時間序列概述

    據(jù),這些數(shù)據(jù)形成了多元時間序列,可以用于系統(tǒng)性能監(jiān)控故障預(yù)測等。 ●故障預(yù)測:多維時間序列分析方法可以應(yīng)用于日志數(shù)據(jù),以預(yù)測系統(tǒng)的未來行為數(shù)據(jù)形成了多元時間序列,可以用來識別性能問題的
    發(fā)表于 08-07 23:03

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習和深度學習領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個領(lǐng)域。隨著深度學習技術(shù)
    的頭像 發(fā)表于 07-09 15:54 ?518次閱讀

    請問esp who人臉識別的臉部信息如何保存在sd卡中?

    esp who人臉識別的臉部信息如何保存在sd卡中?
    發(fā)表于 06-28 08:09

    車載語音識別系統(tǒng)語音數(shù)據(jù)采集標注案例

    的作用。一般來說,車載語音識別系統(tǒng)主要分為前端和后端兩個部分,本文將針對前端語音信號數(shù)據(jù)采集標注進行實例講解。
    的頭像 發(fā)表于 06-19 15:52 ?286次閱讀
    車載語音<b class='flag-5'>識別</b>系統(tǒng)語音數(shù)據(jù)采集<b class='flag-5'>標注</b>案例

    車載語音識別系統(tǒng)語音數(shù)據(jù)采集標注案例

    的作用。一般來說,車載語音識別系統(tǒng)主要分為前端和后端兩個部分,本文將針對前端語音信號數(shù)據(jù)采集標注進行實例講解。
    的頭像 發(fā)表于 06-19 15:49 ?398次閱讀

    數(shù)字序列信號發(fā)生器如何測量

    數(shù)字序列信號發(fā)生器(Digital Sequence Signal Generator,簡稱DSSG)是一種用于生成數(shù)字序列信號的設(shè)備。它廣泛應(yīng)用于通信、雷達、電子對抗等領(lǐng)域。本文將詳細介紹數(shù)字序列
    的頭像 發(fā)表于 06-03 14:04 ?309次閱讀

    蘋果ReALM模型在實體識別測試中超越OpenAI GPT-4.0

    “我們的模型在識別各種類型實體方面都有顯著提升,即使是小尺寸模型,在屏幕實體識別準確性上也已超過原有的系統(tǒng)5%以上。在與GPT-3.5和GPT-4.0的比較中,小型模型與GPT-4.0
    的頭像 發(fā)表于 04-02 11:23 ?376次閱讀

    led發(fā)光模塊的地線可以標注為什么

    LED發(fā)光模塊是一種常見的電子元件,用于將電能轉(zhuǎn)化為光能。地線是模塊中一個重要的接線點,起到連接模塊與地面的作用,以確保電路的正常工作。本文將詳細介紹LED發(fā)光模塊的地線標注的原因和意義,以及
    的頭像 發(fā)表于 01-24 14:53 ?627次閱讀

    陀螺儀實體和支持有什么區(qū)別

    陀螺儀實體和支持之間存在著一些區(qū)別。陀螺儀實體是指由物理材料構(gòu)成的實際設(shè)備,而支持是指陀螺儀實體所具備的技術(shù)、算法、軟件和硬件的功能和特性。下面將從不同的方面詳細討論陀螺儀
    的頭像 發(fā)表于 01-02 14:47 ?1613次閱讀

    圖像標注如何提升效率?

    圖像標注是通過一定方式對圖像進行標記分類,是對數(shù)據(jù)集的圖像進行標記以訓練機器學習模型的過程。當圖像數(shù)量可控時,用人工標注就可以很快完成任務(wù),但當有海量的圖像信息待標注時,長時間的重復(fù)動作不僅讓
    的頭像 發(fā)表于 12-19 08:29 ?406次閱讀
    圖像<b class='flag-5'>標注</b>如何提升效率?

    FPGA電路實現(xiàn):m序列及應(yīng)用

    中至的系數(shù),根據(jù)本原多項式的表達式取值成0或1,取值為1代表該條反饋支路存在。 確定反饋函數(shù)應(yīng)分為以下幾個步驟: 根據(jù)所需要的m序列長度,確定級數(shù)n; 根據(jù)級數(shù)n在圖3查找對應(yīng)的m序列本原多項式
    發(fā)表于 11-06 17:03

    時間序列的基礎(chǔ)模型像自然語言處理那樣存在

    適應(yīng)各種各樣的任務(wù),而無需進一步的訓練。 這就引出了一個問題: 時間序列的基礎(chǔ)模型能像自然語言處理那樣存在嗎? 一個預(yù)先訓練了大量時間序列數(shù)據(jù)的大型模型,是否有可能在未見過的數(shù)據(jù)上產(chǎn)生準確的預(yù)測? 通過
    的頭像 發(fā)表于 11-03 10:15 ?567次閱讀
    時間<b class='flag-5'>序列</b>的基礎(chǔ)模型像自然語言處理那樣<b class='flag-5'>存在</b>嗎