在NLP的基礎(chǔ)任務(wù)中,NER無疑很難做,但是做好了,會提升下游的很多效果。那么如何提升NER的效果呢?數(shù)據(jù)增強無疑是一種簡單粗暴的方式。船長這次帶著大家簡單過一下,本文無公式!
首先我們的著重考慮對象是有詞庫的,在工業(yè)界詞庫是必備的,沒有標(biāo)注詞庫,這個NER的任務(wù)可能會做的很不好。我們從以下的三種數(shù)據(jù)增強trick來逐步介紹。
實體替換
如果我們有一個訓(xùn)練數(shù)據(jù)集,比方說一個case:“海底撈的主要食物是火鍋”,在NER的任務(wù)中,標(biāo)注成為“{海底撈^飯店}的主要食物是{火鍋^食物}”,其中海底撈的實體為飯店,而火鍋的為食物。
那么為了擴大我們的訓(xùn)練數(shù)據(jù)集,我們會隨機的對同類型的實體進行替換,例如“海底撈”替換成為“肯德基”,也即“肯德基的主要食物是火鍋”。有意思的地方來了,很明顯我們都知道肯德基是沒有火鍋的,那么這樣造的case會有問題嗎?答案是從常識的角度是有問題的,所以我們盡量要挑出和火鍋相關(guān)的實體,利用知識圖譜的方式,搭建出更合理的訓(xùn)練集。
邊界噪聲
比方說文本“這家飯店的爆品是火鍋啦”,結(jié)果模型把火鍋啦整體識別成為食物實體,那就很不對勁了。在這種情況下,屬于NER的一個悠久遺留問題,邊界預(yù)測問題,NER很難識別到實體的真正邊界,解決這種的方法也是利用人工造的一些噪聲。
比較簡單的方式,是可以從字表里面隨機的抽樣字,再隨機的加到邊界處。變成,讓模型自主的去學(xué)習(xí)到實體的邊界,這種方式簡單但是效果一般,為什么這么講?因為這種隨機的采樣對于模型來說,很好學(xué)習(xí),我們應(yīng)該嘗試去構(gòu)造再難一點的數(shù)據(jù)。
這家飯店的爆品是火鍋嘿
比較可行的方式,是在模版數(shù)據(jù)中利用N-Gram挖掘到噪聲詞語/字,再利用頻率的高低構(gòu)建出現(xiàn)的概率,以這種概率進行替換,舉例來說,飯店類的模版有很多是圍繞著詞語“食物”展開,那么這時候我們可以把“食物”插入到實體的邊界,成為:
這家飯店的爆品是火鍋食物
對于模型來講,再難一點的方式,可以從訓(xùn)練數(shù)據(jù)中,挖掘到和火鍋相關(guān)的噪聲,再把它插入進去。例如,根據(jù)詞語火鍋進行展開,利用5-Gram搜索到附近的詞語,找到一些和火鍋相關(guān),但是不是強相關(guān)的詞語,比方說辣椒,那這時候就會形成:
這家飯店的爆品是火鍋辣椒
不得不說,這種文本對于機器來講已經(jīng)很難識別了,但是這種方式的時間開銷很大,需要提前離線找到和每個實體相關(guān)的詞語,再進行噪聲的插入。
模版構(gòu)造樣本
什么意思呢?我們先利用實體,在線上的日志中挖掘到很多模版,再利用這批模版隨機的進行填充,形成最后的訓(xùn)練數(shù)據(jù),這批訓(xùn)練的數(shù)據(jù)量會很大,但是樣本的質(zhì)量是一般的。例如我們可以對模版“這家飯店的爆品是{食物}”進行隨機的食物實體填充,成為:
這家飯店的爆品是榴蓮
但是當(dāng)一個模版有多個實體槽位的時候,隨機的進行實體填充往往有很大的問題,比方說模版“這家{飯店}的爆品是{食物}”,如果我們填充成為“這家海底撈的爆品是榴蓮”,雖然對于NER的任務(wù)來講沒有太大的問題,但是從常識角度來說,未免也太差了些。
這種情況下,我們需要批判性的思考,這種數(shù)據(jù)是否有利于提升我線上的效果,如果線上的要求并不包含常識,那這就是個好模型,反之亦然。我們也可以根據(jù)知識圖譜來進行填充,增加常識信息。
這次船長主要帶大家過了一些簡單高效的NER數(shù)據(jù)增強Trick,有什么問題就寫下你的疑惑,我們討論一下~
審核編輯 :李倩
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1200瀏覽量
24621 -
NER
+關(guān)注
關(guān)注
0文章
7瀏覽量
6201 -
nlp
+關(guān)注
關(guān)注
1文章
486瀏覽量
21987
原文標(biāo)題:如何簡單粗暴的提升NER效果?一文告訴你如何用詞庫來做NER數(shù)據(jù)增強
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論