利用預(yù)訓(xùn)練語言模型拓展實(shí)體集合

?? Reading Group 的 pdf 版本

今天介紹一個(gè)小眾的 Task, 實(shí)體集合拓展(Entity set expansion).

Empower Entity Set Expansion via Language Model Probing. ACL 2020.
Yunyi Zhang, Jiaming Shen, Jingbo Shang, Jiawei Han

任務(wù)的目標(biāo)是拓展原有的實(shí)體集合兔沃,向其中添加相同類別的實(shí)體嗤瞎,注意這里的實(shí)體類別一般不是傳統(tǒng)的 7 大 NER 類別,更偏向 Fine-grained 的。
舉個(gè)例子伟件,原有集合{德州,杭州弛说,青島}容客,可以拓展為{林芝,六盤水}之類的二跋。

簡(jiǎn)單的話,我們用聚類 Contextual Embedding(類似于 Word Sense Induction 中的做法)战惊, 或者用 pair-wise loss 增強(qiáng) Similarity 的計(jì)算可以給到一個(gè)結(jié)果。

但這樣操作會(huì)有兩個(gè)缺點(diǎn):

  1. 單純的相似度計(jì)算扎即,容易拓展不準(zhǔn)確的實(shí)體(非同級(jí)吞获,反義詞,High level 相似铺遂,但細(xì)粒度不同).
  2. 隨著集合的拓展衫哥,容易出現(xiàn)語義偏移等誤差累計(jì)問題.

如果能獲得實(shí)體集合的類別名稱,能減少歧義襟锐,促進(jìn)對(duì)實(shí)體集合的理解撤逢。

本文從這個(gè)角度出發(fā),通過兩個(gè) query 分別預(yù)測(cè)實(shí)體類別和實(shí)體, 試圖更好的利用預(yù)訓(xùn)練模型中的語言知識(shí)粮坞。

image

初看可能思路比較簡(jiǎn)單蚊荣,只是做一個(gè) MLM 的預(yù)測(cè)。
但如果只是這樣莫杈,最多只是讓生成的實(shí)體更符合生成的 class name互例,但很容易產(chǎn)生誤差傳遞的問題, 并沒解決語義偏移的問題。

文中使用了一些 tricks, 來試圖解決以上問題筝闹,(體現(xiàn)在閱讀觀感上媳叨,就會(huì)覺得這個(gè)模型有點(diǎn)繁瑣)腥光。

Class-guided Entity Expansion

具體來說,這是一個(gè)三階段的 pipeline 模型糊秆。

  • 集合類名生成(class name generation).
  • 集合名稱排序(class name ranking).
  • 集合指導(dǎo)下的實(shí)體選擇(class-guided entity selection).
image

Class Name Generation

這一部分是三個(gè)階段中最簡(jiǎn)單的一個(gè)武福,主體架構(gòu)就是 MLM。

這個(gè)過程類似于一個(gè)已知特定的下位詞痘番,尋找通用的上位詞這個(gè)過程捉片。

使用 Hearst(1992)年提出的,六個(gè) pattern 構(gòu)建 query汞舱。
每次隨機(jī)抽取三個(gè)實(shí)體組成一個(gè) query伍纫。
這些 query 簡(jiǎn)短,主要起到的構(gòu)建層次化語義昂芜,強(qiáng)化歸納類別信息的作用莹规,例如Country such as China, Japan, South Korea.

- NPy such as NPa
- such NPy as NPa
- NPa or other NPy
- NPa and other NPy
- NPy, including NPa
- NPy, especially NPa

通過 Mask pattern 中 class name 部分,預(yù)測(cè)出最符合當(dāng)前三個(gè)實(shí)體的 class name说铃。

但這樣操作也只能預(yù)測(cè)出 single token 的 class name访惜, 適用性較差。

這邊就采用一個(gè)迭代+beam search 的策略腻扇。依次向前填詞债热。例如先預(yù)測(cè)出來country, 然后再去預(yù)測(cè)Asia country.

每輪選取 top-k 的候選集依次向前。

最大長(zhǎng)度限制在 3幼苛,然后利用 pos tag 工具(nltk)來篩除非名詞短語窒篱。

和很多 pipeline 模型一樣,這個(gè)階段的目標(biāo)只是高 recall舶沿,通過多次 sample entity subset 來盡可能提高 recall墙杯。

Class Name Ranking

單純的做上面的 MLM 任務(wù),使用的只是 LM 學(xué)到的分布括荡,不一定符合當(dāng)前 Corpus.

在這個(gè)階段高镐,目標(biāo)是篩選出來最佳 class name(c_p) 和一些負(fù)樣本(C_N, 用于后面輔助選擇 entity).

一個(gè)簡(jiǎn)單的想法,統(tǒng)計(jì)前面一個(gè)階段每個(gè) class name 出現(xiàn)的次數(shù)畸冲,作為排序的指標(biāo)嫉髓,但是容易更偏向短 token。

M^{k}(e, c)=\frac{1}{k} \max_{X X_{e},|X|=k} \sum_{{x} \in X} \max_{{x}^{\prime} \in X_{c}} \cos \left({x}, {x}^{\prime}\right)

這邊定義一個(gè)實(shí)體-類別相似度 M邑闲,其通過兩個(gè) Max 獲取到最相關(guān)的共現(xiàn)關(guān)系算行。
X_e 表示語料集中所有 entity 的 representation,X_c 表示 Hearst pattern 用 MASK 遮掉實(shí)體詞的 representation.

內(nèi)層 Max 是尋找每一個(gè) entity representation 最吻合的 query pattern苫耸,外層本質(zhì)上是一個(gè)篩選 Top-k 的 contextual.

對(duì)于原始實(shí)體集合 E 中的每一個(gè)實(shí)體 e_i 都獲得一個(gè) class ranking list L_i.

最后的 class score 用各個(gè) ranking list 的排名倒數(shù)和州邢,s(c)=\sum_{i=1}^{|E|} \frac{1}{r_{c}^{i}}.

通過這樣操作放大不同排名 class name 之間的差距。

取 S(c)最大的作為正例c_p, 選取各個(gè) ranking list 中排名都比c_p低的作為負(fù)樣本C_N.

Class-guided Entity Selection

先用 AutoParse 從 raw text 的 Corpus 中抽取 entity 候選集褪子。

然后定義 class-entity 匹配程度量淌,從兩個(gè)角度出發(fā)骗村。

  • Local score,{score}_{i}^{l o c}=M^{k}\left(e_{i}, c_{p}\right)
  • Global score, {score}_{i}^{g l b}=\frac{1}{\left|E_{s}\right|} \sum_{e \in E_{s}} \cos \left({v}_{e_{i}}, {v}_{e}\right)

第一個(gè)式子,使用 Class Name Ranking 中定義的 M类少,來獲取 Corpus 中和 class name 中最吻合的 k 個(gè)位置作為其表示叙身。
這邊稱之為 local,感覺想表達(dá)這種 score 只蘊(yùn)含相似度頭部部分硫狞,是一種局部的評(píng)價(jià)。

第二個(gè)式子晃痴,先 mean pooling Corpus 中所有該實(shí)體的 contextual representation残吩,然后與 origin 實(shí)體集合中的實(shí)體做 cos 相似度。

注意倘核,我們計(jì)算時(shí)用的是從 E 中隨機(jī)抽取出來的子集E_S\in E泣侮,以期降低 noise 的作用,有一點(diǎn) boosting 的感覺紧唱。

這種算是追求 contextual-free 的操作活尊。

最后的 score 值,由兩者的乘積方根表示漏益。

到這里我們實(shí)際上是可以做一個(gè) Entity Ranking List(R)輸出, 但是好像還沒用到 negative class name.

回想一下蛹锰,我們前面分析的會(huì)出現(xiàn)的問題,第一個(gè)是 ambiguous 這個(gè)試圖用 class name绰疤,還有后面的一些 score 計(jì)算方式來解決铜犬;第二個(gè)語義偏移,我們好像還沒辦法解決轻庆。

這邊就用一個(gè)回溯的思想癣猾,把 entity e_i 加到 E 中再做一次 Class Name Ranking.
講道理如果沒有發(fā)生語義偏移的話,那應(yīng)該c_p還是第一余爆,c_p 應(yīng)該還是要比所有 negative sample 排名要高纷宇。

在這邊就用一個(gè)指示函數(shù)來做這件事,當(dāng)然用指示函數(shù)就相對(duì)于去截?cái)喽攴剑且粋€(gè) filter 兜底的過程像捶。

然后,重復(fù)抽取子集E_ST 次转捕,構(gòu)建出 T 個(gè) Entity Ranking List.

這邊用兩種模式作岖,匯集這 T 次的結(jié)果。

  1. 排名的倒數(shù). s^{t}\left(e_{i}\right)=\frac{1}{r_{i}^{t}}
  2. 相對(duì) score. s^{t}\left(e_{i}\right)=\frac{{score}_{i}^{t}-\min_{e_{j} \in R^{t}} {score}_{j}^{t}}{\max_{e_{j} \in R^{t}} {score}_{j}^{t}-\min_{e_{j} \in R^{t}} {score}_{j}^{t}}

實(shí)驗(yàn)解決顯示五芝,方案 1 效果會(huì)更好點(diǎn)痘儡。

值的注意的是這種模式還提供了刪除前期 expanded entity 的可能。

重復(fù)上述 pipeline 直到 set 達(dá)到預(yù)定大小(50) 或者連續(xù)三次 set 不變.

Experiments

在 Wiki 和 APR 這兩個(gè)數(shù)據(jù)集上進(jìn)行測(cè)試枢步。
Wiki 是 Wikipedia Corpus 的子集沉删,APR 則是 15 年的一個(gè)新聞數(shù)據(jù)集渐尿。
因?yàn)?BERT 在 Wikipedia 上 trained 過,在 Wiki 上測(cè)試能夠反映出來這個(gè)方法能不能把 pre-trained 學(xué)到的知識(shí)展示出來矾瑰。

image

實(shí)驗(yàn)結(jié)果相較于之前的 baselines 有顯著提升砖茸,尤其是在 MAP@50 中。

Ablation experiments 中殴穴,NoCN 是去掉 Class name 模塊直接計(jì)算 score凉夯,相對(duì)于一個(gè)只用 BERT representation 的方案。
通過對(duì)比這個(gè)強(qiáng) baseline采幌,可以發(fā)現(xiàn)加上 class name 對(duì)于整體語義理解很有幫助劲够。

NoFilter 在 Wiki 上差異不大,在 APR 上就比較大了休傍,可能是 BERT 已經(jīng)能很好控制 Wikipedia 語料中語義的情況征绎。

image

這張表可能要結(jié)合 case study 才能分析,對(duì) 55 個(gè) entity set 進(jìn)行分析磨取,MAP@10 比較穩(wěn)定人柿,到還好解釋,對(duì)于 SetExpan 應(yīng)該屬于全面優(yōu)于的佐證忙厌,對(duì)于其他 ablation 模式凫岖,更偏向于對(duì)于 Top 靠前差異不大。
但對(duì)于 MAP@20 比較穩(wěn)定就有些迷惑慰毅,大概率是微笑的偏差造成百分比的放大隘截。
這個(gè)結(jié)果也和前面的 result 比較吻合,對(duì)于 NoFilter 提升的有限(當(dāng)然感覺主要還是 Wiki 的原因汹胃,Wiki 占了 40/55)婶芭。

image

當(dāng)提供 ground truth class name 時(shí)可以發(fā)現(xiàn)在 APR 上提升明顯,在 Wiki 上差異不大着饥,反而是 CGExpan 學(xué)出來的 class name 效果更好(可能更少的噪聲)

調(diào)節(jié) M 中的 k(top-k co-occurrence), 當(dāng) k>5 的時(shí)候提升不明顯了犀农,所以實(shí)驗(yàn)中設(shè)定 k=5.

image
image

Case study 中可以看見 negative class name 很高質(zhì)量,能夠分離特別相近的語義宰掉。

Discuss

  1. CGExpan 是一種從預(yù)訓(xùn)練 LMs 中提取信息的一種模式呵哨。
  2. 不需要 train,也使得 pipeline 的誤差傳遞會(huì)比較少轨奄。
  3. class name, filter 策略效果還是比較明顯的孟害。
  4. 但目前 entity set 只有 55 個(gè),樣本量整體偏小挪拟,另外 wiki 被 BERT 訓(xùn)過挨务,泛化性需要進(jìn)一步考證。
  5. 不過這套模式,擴(kuò)展性比較強(qiáng)谎柄,可以用于主題擴(kuò)展丁侄,商品擴(kuò)展等。作者也寫了一下 future work朝巫,比如說擴(kuò)展抽象概念鸿摇,構(gòu)建語義族。
  6. 如果有 pair-wise 的對(duì)比實(shí)驗(yàn)就更好了

水平有限, 歡迎討論.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末劈猿,一起剝皮案震驚了整個(gè)濱河市拙吉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揪荣,老刑警劉巖庐镐,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異变逃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)怠堪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門揽乱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粟矿,你說我怎么就攤上這事凰棉。” “怎么了陌粹?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵撒犀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我掏秩,道長(zhǎng)或舞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任蒙幻,我火速辦了婚禮映凳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邮破。我一直安慰自己诈豌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布抒和。 她就那樣靜靜地躺著矫渔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摧莽。 梳的紋絲不亂的頭發(fā)上庙洼,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼送膳。 笑死员魏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叠聋。 我是一名探鬼主播撕阎,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼碌补!你這毒婦竟也來了虏束?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤厦章,失蹤者是張志新(化名)和其女友劉穎镇匀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袜啃,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汗侵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了群发。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晰韵。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熟妓,靈堂內(nèi)的尸體忽然破棺而出雪猪,到底是詐尸還是另有隱情,我是刑警寧澤起愈,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布只恨,位于F島的核電站,受9級(jí)特大地震影響抬虽,放射性物質(zhì)發(fā)生泄漏官觅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一斥赋、第九天 我趴在偏房一處隱蔽的房頂上張望缰猴。 院中可真熱鬧,春花似錦疤剑、人聲如沸滑绒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疑故。三九已至,卻和暖如春弯菊,著一層夾襖步出監(jiān)牢的瞬間纵势,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钦铁,地道東北人软舌。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像牛曹,于是被迫代替她去往敵國(guó)和親佛点。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353