一、寫在前面的話
命名實體識別(NER)是許多自然語言處理任務(wù)的基本組成部分植榕。該領(lǐng)域現(xiàn)有的監(jiān)督方法往往需要大量的標記數(shù)據(jù)幻馁,而這通常非常昂貴且耗時渣锦。在這篇論文中顽决,作者探索了僅使用未標記數(shù)據(jù)和收集的與數(shù)據(jù)集相關(guān)的實體字典的半監(jiān)督的命名實體方法砍的。文中將任務(wù)定義為一個正未標記(PU, Positive-Unlabeled)學(xué)習(xí)問題(簡單理解就是存在一定的正標簽但數(shù)據(jù)集未進行標記的任務(wù))汛聚,并據(jù)此提出了一種新的PU學(xué)習(xí)算法來執(zhí)行該任務(wù)仓坞。該論文證明了該算法可以像有完全標記的數(shù)據(jù)一樣,無約束地顷扩、一致地估計任務(wù)損失火邓。該方法的一個關(guān)鍵創(chuàng)新在于它不要求詞典標記句子中的每個實體,甚至不要求詞典覆蓋實體烂叔,大大降低了對詞典質(zhì)量的要求谨胞,是非常有意義的命名實體算法。
二蒜鸡、論文模型
該模型首先使用最大匹配算法進行數(shù)據(jù)標注(這里直接對詞進行正負類的標定胯努,而不是BIO等形式),再通過拼接字符級別詞嵌入逢防、詞級別詞嵌入和人工設(shè)計的特征叶沛,構(gòu)建BiLSTM模型并對文本的詞進行預(yù)測,最后使用AdaSampling的方法進行詞典擴充胞四。
1. 數(shù)據(jù)標注
由于詞典并能包含一句話中的所有實體恬汁,故作者使用二分類對每個詞進行標記,通過最大匹配算法使得實體單詞被標記為正類辜伟,非實體單詞被標記為負類氓侧。
2. 模型構(gòu)建
作者主要使用三種詞向量:
字符級別詞向量
正常的詞向量,使用的是GloVe的詞嵌入方法
人工特征向量(這是一個0|1向量导狡,即滿足任一條件即置為1):allCaps(是否全部為大寫)约巷、upperInitial(首字母大寫)、lowercase(是否為小寫)旱捧、mixedCaps和noinfo独郎。
將三種詞向量拼接輸入BiLSTM中:
最后經(jīng)過sigmoid函數(shù)進行分類:
3. 損失函數(shù)
其中
作者在文中對PU學(xué)習(xí)這一特殊任務(wù)做了推導(dǎo),推出了無偏損失函數(shù)枚赡,具體過程可以參考作者github給出的更詳細的推導(dǎo)補充氓癌。
4. 標簽推理和詞典擴充
經(jīng)過訓(xùn)練的PU分類器可以用來進行標簽預(yù)測。因為每個實體類型有著不同的分類器贫橙,所以同一個實體單詞可能被分類為不同的正類贪婉。所以作者選取概率最大的正類作為該單詞的類別,同時其他類型分類器的預(yù)測歸零卢肃。解決正類沖突之后疲迂,作者使用最大匹配的原則對連續(xù)實體單詞進行分類,得到最終的實體單詞標簽預(yù)測莫湘,并且使用AdaSampling對詞典進行擴充尤蒿。此方法為不斷迭代PU學(xué)習(xí)算法,并把每一次標注出的結(jié)果加入到字典中幅垮,直到字典的大小不在變化腰池。
三、實驗結(jié)果
作者選取了幾個基線模型,分別是直接用詞典預(yù)測(Matching)示弓,使用完全標注數(shù)據(jù)演怎,BIOES和神經(jīng)網(wǎng)絡(luò)模型進行預(yù)測(BiLSTM),使用交叉熵作為損失函數(shù)的PU模型(uPU)避乏,沒有使用非負約束并且實行字典擴大的PU模型(buPU)爷耀,僅僅沒使用字典擴大的PU模型(bnPU),和完整PU模型(adaPU)拍皮。除此之外還對比了斯坦福NER的基于最大熵的馬爾可夫模型方法(MEMM)歹叮,斯坦福條件隨機場方法(CRF)還有基于神經(jīng)網(wǎng)絡(luò)的模型(BiLSTM+CRF)。具體結(jié)果如下:
可以看出铆帽,作者在文中提出的損失函數(shù)對PU學(xué)習(xí)有相當大的幫助咆耿,同時也證明論文提出的算法能在有限的詞典的基礎(chǔ)上做到相當不錯的結(jié)果,哪怕與監(jiān)督算法相比也并沒有遜色太多爹橱。
該論文算法相當具有實踐價值萨螺,在實際做命名實體任務(wù)時,我們經(jīng)常會遇到有一定的詞典愧驱,但是沒有專門標注的數(shù)據(jù)集這一棘手的問題慰技。該論文的算法為我們在遇到這種問題時提供了一個有效的方案。