今天介紹一個(gè)論文autoner[1],主要是為了探索如何在只有詞典的情況下,提升NER實(shí)際落地效果;
首先,如果手中含有詞典,常規(guī)操作就是遠(yuǎn)程監(jiān)督打標(biāo)數(shù)據(jù),然后做NER;
遠(yuǎn)程監(jiān)督一個(gè)比較常見的操作就是使用我們手中的字典,通過字符匹配的形式對(duì)文本中可能存在的實(shí)體打標(biāo)。
但是對(duì)于這種遠(yuǎn)程監(jiān)督的形式,存在比較多的問題,這個(gè)論文主要探討兩種:多標(biāo)簽(multi-label tokens) 和標(biāo)簽不完善的問題;
針對(duì)multi-label tokens,論文提出的是Fuzzy-LSTM-CRF,簡(jiǎn)單講就是講LSTM后面的CRF層變?yōu)榱薋uzzy CRF層,可以在處理tokens對(duì)應(yīng)多標(biāo)簽的情況下,不犧牲計(jì)算效率;
第二個(gè)問題標(biāo)簽不完善,是因?yàn)樽值洚吘故怯邢薜?,不可能把所有的?shí)體都覆蓋到,那么句子中沒有被字典打標(biāo)成功的詞組很有可能也是某種實(shí)體,但是遠(yuǎn)程監(jiān)督并沒有對(duì)此做處理。
針對(duì)這個(gè)問題,本文提出了一種比較新的標(biāo)注框架,簡(jiǎn)單來講就是在這新的框架中,不去預(yù)測(cè)單個(gè)的token的類別,而是去判斷兩個(gè)相鄰的tokens是不是在同一個(gè)實(shí)體中被tied;
上面只是我自己簡(jiǎn)單的分類,其實(shí)存在的兩個(gè)問題和兩種解決架構(gòu)是相互融合在一起的,具體的我們下面談。
0. 詞典形式簡(jiǎn)單介紹
首先定義一下詞典形式,包含兩個(gè)部分,第一部分是實(shí)體的表面名稱,這個(gè)包括規(guī)范名稱和對(duì)應(yīng)的同義詞列表;第二個(gè)部分就是實(shí)體的類型;
其次,詞典的標(biāo)注肯定是有限的,肯定存在不在詞典中的某些詞組但是也屬于某種類型的實(shí)體;
對(duì)于這部分實(shí)體,我自己的理解大體可以包含兩個(gè)大部分;第一個(gè)大部分就是比如說【科技】這個(gè)領(lǐng)域覆蓋的【科技】實(shí)體有有限的,所以有漏網(wǎng)之魚;第二部分就是詞典的實(shí)體類型是有限的,比如詞典總共包含2個(gè)實(shí)體類型,但是你真實(shí)的文本包含更多的實(shí)體類型,存在漏網(wǎng)之魚。
對(duì)于這些漏網(wǎng)之魚的實(shí)體,我們的策略是這樣的。
首先通過AutoPhrase從文中挖掘出來高質(zhì)量短語,然后統(tǒng)一賦值為unknown type,也就是未知類型。
1. Fuzzy-LSTM-CRF
1.1 標(biāo)注策略
梳理一下,我們現(xiàn)在手上有詞典;
詞典包含兩個(gè)部分,一部分是已知實(shí)體類型(假設(shè)是2個(gè),當(dāng)然可能更多或者更少);另一個(gè)部分就是我們通過某種方式挖掘出來的高質(zhì)量實(shí)體對(duì)應(yīng)的未知類型;
然后我們通過手中的詞典對(duì)原始無標(biāo)注文本進(jìn)行打標(biāo);
那么現(xiàn)在對(duì)于句子中的某個(gè)token,它存在三種可能性;第一它可能是已知實(shí)體類型中的一種或者多種;第二它屬于未知類型;第三是屬于O這種情況,就是non-entity;
基于傳統(tǒng)架構(gòu)BIlstm-CRF如何解決多標(biāo)簽的問題?
其實(shí)本質(zhì)解決的思路很簡(jiǎn)單。對(duì)于原來的每個(gè)token,只是預(yù)測(cè)一個(gè)類別,現(xiàn)在是預(yù)測(cè)多個(gè)類別就可以了。
詳細(xì)點(diǎn)講就是,首先對(duì)于遠(yuǎn)程監(jiān)督標(biāo)注的過程,我們會(huì)使用三種策略。
我們先假設(shè)我們使用{I;O;B;E;S}的標(biāo)注形式;
第一,對(duì)于某個(gè)token,如果它對(duì)應(yīng)到了已知類型中的某一個(gè)或者多個(gè)實(shí)體,那么按照對(duì)應(yīng)的位置直接標(biāo)記上,不要漏掉;也就是說{I;B;E;S}和對(duì)應(yīng)的一個(gè)或者多個(gè)實(shí)體類型對(duì)上標(biāo);
第二對(duì)于對(duì)于某個(gè)token,如果屬于未知類型,那么對(duì)應(yīng)的這個(gè)token就需要把所有已知實(shí)體類型(區(qū)別于上面的一個(gè)或者多個(gè)已知實(shí)體類型)和 {I,O, B, E, S}對(duì)應(yīng)的打標(biāo)上;
注意,這里并沒有使用未知實(shí)體類型,而是使用的所有的已知實(shí)體類型;
第三個(gè)對(duì)于既不屬于已知類型的,也不屬于未知類型的,全部打上O;
1.2 Fuzzy-LSTM-CRF 模型架構(gòu)
其實(shí)很好理解,傳統(tǒng)的CRF最大化唯一一條有效的標(biāo)注序列。在這里,我們最大化所有有可能的標(biāo)注序列。
公式如下:
Fuzzy-LSTM-CRF優(yōu)化公式
看架構(gòu)圖:
Fuzzy-LSTM-CRF
2. AutoNER
區(qū)別于Fuzzy-LSTM-CRF 模型沿用傳統(tǒng)架構(gòu),在這里論文提出一種新的標(biāo)注架構(gòu)-Tie or Break;
這個(gè)標(biāo)注框架更加關(guān)注的是當(dāng)前token和上一個(gè)token是否在同一個(gè)實(shí)體里面;如果在同一個(gè)實(shí)體里面,那么就標(biāo)注為Tie;
如果當(dāng)前單詞和上一個(gè)單詞至少有一個(gè)在unkonw類型的高質(zhì)量短語,那么標(biāo)注為unkonw,其他情況標(biāo)注為Break;
優(yōu)化過程:把實(shí)體識(shí)別和實(shí)體類型判定分離開。
原論文中描述的是先做實(shí)體識(shí)別,兩個(gè)Break之間作為一個(gè)span,然后做實(shí)體類型判定;
實(shí)體識(shí)別中,對(duì)于當(dāng)前單詞和上一個(gè)單詞之間類別的的輸出,對(duì)Tie和Break做二分類損失,如果類別是unkown類別,直接跳過,不計(jì)算損失。
概率公式如下:
tie_break_loss
tie_break_loss
第二步預(yù)測(cè)實(shí)體類型,包含None實(shí)體類型
unkonw這種,知道這屬于實(shí)體,在高質(zhì)量短語詞典中,但是不知道短語類型,所在這里我們會(huì)標(biāo)注為None實(shí)體類型。
其他的不在詞典中的,當(dāng)然也就會(huì)被標(biāo)注為None實(shí)體類型。
為了應(yīng)對(duì)多標(biāo)簽,也就是同一個(gè)實(shí)體對(duì)應(yīng)不同的類別,這里修改了最后的CE損失函數(shù):
CE_總
CE_Soft
使用的是軟標(biāo)簽的進(jìn)行的CE的計(jì)算,并沒有使用硬標(biāo)簽。
對(duì)應(yīng)的是在遠(yuǎn)程監(jiān)督中,當(dāng)前實(shí)體真實(shí)類型標(biāo)簽集合。從公式我們可以知道,尤其是看分母,在不屬于這個(gè)集合的標(biāo)簽概率我們并沒有計(jì)算在內(nèi)。
總結(jié)
多提一個(gè)小細(xì)節(jié),就是高質(zhì)量短語的挖掘使用的是AutoPhrase,大家可以去試一下;
論文提出兩種結(jié)構(gòu)解決多標(biāo)簽和標(biāo)簽不完善的問題。
首先對(duì)于標(biāo)簽不完善,使用上面提到的AutoPhrase去挖掘文本中的高質(zhì)量短語,作為詞典中的未知類型。
在Fuzzy-LSTM-CRF,需要注意的細(xì)節(jié)是,對(duì)于未知類型的標(biāo)注,我們使用的策略是標(biāo)注所有已知類型;
對(duì)于AutoNER,有兩個(gè)細(xì)節(jié)需要注意,一個(gè)是新的標(biāo)注框架tie or break,重點(diǎn)在于去看兩個(gè)相鄰單詞是否屬于同一個(gè)實(shí)體;第二個(gè)細(xì)節(jié)就是為了解決多標(biāo)簽問題,修改了損失函數(shù),使用的軟標(biāo)簽;
責(zé)任編輯:xj
原文標(biāo)題:【論文解讀】如何在只有詞典的情況下提升NER落地效果
文章出處:【微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
自然語言
+關(guān)注
關(guān)注
1文章
279瀏覽量
13295 -
nlp
+關(guān)注
關(guān)注
1文章
481瀏覽量
21935
原文標(biāo)題:【論文解讀】如何在只有詞典的情況下提升NER落地效果
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論