周孟佳,李 霏,姬東鴻
(武漢大學(xué) 國家網(wǎng)絡(luò)安全學(xué)院,湖北 武漢 430072)
隨著互聯(lián)網(wǎng)的繁榮發(fā)展,網(wǎng)絡(luò)上涌現(xiàn)了大量的非結(jié)構(gòu)化文本,對(duì)這些文本進(jìn)行信息抽取具有重要意義。關(guān)系抽取是信息抽取的一個(gè)關(guān)鍵問題,其目標(biāo)是從文本中判斷給定實(shí)體之間的關(guān)系,得到(實(shí)體1,關(guān)系,實(shí)體2)三元組。關(guān)系抽取在自然語言處理的許多領(lǐng)域中發(fā)揮著重要作用[1-2]。
傳統(tǒng)的關(guān)系抽取通常為句內(nèi)關(guān)系抽取,即兩個(gè)實(shí)體來自同一個(gè)句子。Hendrickx等[3]構(gòu)建的人工注釋的關(guān)系抽取語料庫,是句內(nèi)關(guān)系抽取方面的經(jīng)典數(shù)據(jù)集。然而,在現(xiàn)實(shí)場景中,實(shí)體通常是跨句子的,需要利用多個(gè)句子的信息進(jìn)行句間或文檔級(jí)關(guān)系抽取[4]。近年來,文檔級(jí)關(guān)系抽取已成為自然語言處理領(lǐng)域的一個(gè)熱點(diǎn)問題[5-6]。
對(duì)話級(jí)關(guān)系抽取也具有文檔級(jí)關(guān)系抽取的特點(diǎn),并且還具有自身獨(dú)特的因素。最近,Yu等[7]構(gòu)建了一個(gè)基于對(duì)話的關(guān)系抽取語料庫DialogRE,用于提取對(duì)話中出現(xiàn)的兩個(gè)實(shí)體之間的關(guān)系。如圖1所示,與傳統(tǒng)的關(guān)系抽取不同,DialogRE中的句子是以不同說話者的交替發(fā)言展現(xiàn)的??梢钥吹?對(duì)話中出現(xiàn)了大量的人稱代詞,如I、you、her等。以(Speaker 2, per: negative_impression, Speaker 4)關(guān)系三元組為例,模型需要識(shí)別出最后一句話中的“you”指向“Speaker 4”,從而通過后續(xù)發(fā)言“spend half your… bloody window!”識(shí)別出消極的情感傾向,提取出“per: negative_impression”關(guān)系。這說明在對(duì)話級(jí)關(guān)系抽取任務(wù)中,與人稱代詞相關(guān)的同指信息非常重要。
圖1 DialogRE數(shù)據(jù)示例
此外,大部分關(guān)系是跨句的,需要從多個(gè)句子中提取有益信息。例如,對(duì)于實(shí)體對(duì)(Speaker 3, Emily),我們只需要從第三句話“Speaker 3: Now…”中,通過觸發(fā)詞“l(fā)ove”、“honeymoon”,推斷出“Speaker 3”對(duì)“Emily”存在積極的情感傾向,并判斷出他們之間是“per: girl/boyfriend”的關(guān)系。而其他句子,以及這句話中的其他單詞,對(duì)判斷關(guān)系類型的作用很小??紤]到不同類型關(guān)系關(guān)注的信息可能不同,本文添加了注意力機(jī)制,用于區(qū)分不同單詞對(duì)不同關(guān)系的貢獻(xiàn),來增強(qiáng)模型性能。
基于以上觀察,本文提出了一種基于注意力機(jī)制與同指信息的關(guān)系抽取模型。模型自底向上分為三個(gè)部分: 上下文編碼層,詞-關(guān)系注意力層,關(guān)系分類層。首先,將整篇對(duì)話的單詞序列輸入上下文編碼器,融合BERT[8]與TOD-BERT(Task-Oriented Dialogue BERT)[9]預(yù)訓(xùn)練語言模型的輸出得到單詞表征。然后通過詞-關(guān)系注意力層,計(jì)算不同詞與關(guān)系之間的注意力系數(shù),以評(píng)估不同單詞與不同關(guān)系之間的相互影響。接下來,通過融合實(shí)體提及與人稱代詞的同指信息,得到實(shí)體表示,并將其輸入到一個(gè)雙線性分類器中,預(yù)測最終的關(guān)系類型。
本文的貢獻(xiàn)主要有三個(gè)方面:
(1) 提出了一種端到端的對(duì)話級(jí)關(guān)系抽取模型。該模型主要從對(duì)話文本的特點(diǎn)出發(fā),采用TOD-BERT預(yù)訓(xùn)練語言模型豐富對(duì)話文本表征,并提出了詞-關(guān)系注意力、同指信息融合兩個(gè)模塊來增強(qiáng)模型性能。
(2) 該模型在對(duì)話級(jí)關(guān)系抽取數(shù)據(jù)集DialogRE上,比幾個(gè)常見的基線模型,F1值獲得了明顯提升。
(3) 通過對(duì)模型各部分進(jìn)行消融實(shí)驗(yàn),驗(yàn)證了TOD-BERT預(yù)訓(xùn)練語言模型、詞-關(guān)系注意力機(jī)制,同指信息等部分對(duì)對(duì)話級(jí)關(guān)系抽取的有效性。
關(guān)系抽取是自然語言處理領(lǐng)域的一項(xiàng)基本任務(wù),按照實(shí)體對(duì)出現(xiàn)的位置不同,可分為句內(nèi)關(guān)系抽取與句間關(guān)系抽取。其中,句間關(guān)系抽取的研究對(duì)象通常為整篇文檔,因此又稱為文檔級(jí)關(guān)系抽取。
常見的句內(nèi)關(guān)系抽取數(shù)據(jù)集有SemEval-2010 Task 8[3]、ACE 2004[10]、ACE 2005[11]。Zeng等[12]利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)提取詞匯和句子層次特征,并將其用于關(guān)系預(yù)測。Miwa等[13]提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的關(guān)系抽取模型,捕獲單詞序列和依存樹子結(jié)構(gòu)信息。這些研究忽略了句間關(guān)系類型,即兩個(gè)實(shí)體不在同一個(gè)句子中。
對(duì)于句間關(guān)系抽取,Li等[14],Wu等[15]構(gòu)建了生物領(lǐng)域兩個(gè)流行數(shù)據(jù)集。Yao等[4]基于維基百科構(gòu)建了最大的人工注釋數(shù)據(jù)集DocRED,用于文檔級(jí)關(guān)系抽取,并提供了大規(guī)模遠(yuǎn)程監(jiān)督數(shù)據(jù),使DocRED可同時(shí)應(yīng)用于有監(jiān)督和弱監(jiān)督的場景。最近,Yu等[7]從《老友記》中構(gòu)建了人類注釋的對(duì)話級(jí)關(guān)系抽取數(shù)據(jù)集DialogRE。為了捕獲文本的篇章級(jí)特征,Peng等[16]提出了graph-LSTM網(wǎng)絡(luò)來提取跨句n元關(guān)系。Sahu等[17]構(gòu)建一個(gè)文檔級(jí)圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Neural network, GCN)來同時(shí)捕獲句內(nèi)和句間關(guān)系。Tang等[18]認(rèn)為文檔級(jí)關(guān)系抽取必須考慮多粒度信息,提出了一種層次推理網(wǎng)絡(luò),以充分利用實(shí)體級(jí)、句子級(jí)和文檔級(jí)信息。Christopoulou等[5]提出了第一個(gè)面向邊的圖模型(Edge-Oriented Graph model, EOG)來預(yù)測文檔級(jí)關(guān)系。Nan等[19]構(gòu)建了一個(gè)包含實(shí)體(Entity)、提及(Mention)、最短依存路徑(Meta Dependency Path, MDP)節(jié)點(diǎn)的文檔級(jí)圖,通過潛在結(jié)構(gòu)細(xì)化推理來捕獲有益信息,并忽略無關(guān)信息。Xue等[20]構(gòu)造了一個(gè)潛在的多視圖來捕獲令牌之間各種可能的關(guān)系,并在DialogRE與TACRED[21]數(shù)據(jù)集上實(shí)現(xiàn)了最佳性能。針對(duì)DialogRE數(shù)據(jù)集的特點(diǎn),Chen等[22]構(gòu)建了一個(gè)包含說話者(Speaker)、實(shí)體(Entity)、實(shí)體類型(Entity-type)、話語(Utterance)節(jié)點(diǎn)的圖,并將其輸入圖注意網(wǎng)絡(luò),有效捕捉對(duì)話級(jí)上下文信息。Li等[23]提出了一個(gè)圖增強(qiáng)雙注意力網(wǎng)絡(luò)來刻畫句子和潛在關(guān)系實(shí)例之間的復(fù)雜互動(dòng),以改善句子之間的推理。
本文主要從對(duì)話級(jí)關(guān)系抽取的特征出發(fā),針對(duì)其文本量大、信息密度低、人稱代詞豐富的特點(diǎn),構(gòu)建了基于注意力機(jī)制與同指信息的關(guān)系抽取模型,并應(yīng)用于最新的對(duì)話級(jí)關(guān)系抽取數(shù)據(jù)集DialogRE。
本文提出了端到端的對(duì)話級(jí)關(guān)系抽取模型,圖2展示了模型的整體架構(gòu)。模型自底向上共分為三個(gè)部分: 上下文編碼層、詞-關(guān)系注意力層和關(guān)系預(yù)測層。本節(jié)將介紹各個(gè)模塊的結(jié)構(gòu)設(shè)置,以及任務(wù)定義、預(yù)測和訓(xùn)練細(xì)節(jié)。
圖2 模型架構(gòu)
給定一篇文檔d,由m個(gè)句子{d1,d2,…,di,…,dm}組成。對(duì)話級(jí)關(guān)系抽取的目標(biāo)是從文檔d中判斷兩個(gè)實(shí)體(ei,ej)之間可能存在的關(guān)系r。實(shí)體(ei,ej)∈E,由任務(wù)預(yù)先給出。關(guān)系r={r1,r2,…,ri,…}是一個(gè)集合,存在一個(gè)或一個(gè)以上的關(guān)系類型。ri∈R,R是DialogRE數(shù)據(jù)集中預(yù)定義的關(guān)系列表,包含36種關(guān)系與一個(gè)“unanswerable”關(guān)系類型。
本文聯(lián)合采用BERT[8]與TOD-BERT[9]預(yù)訓(xùn)練語言模型作為上下文編碼器。BERT模型采用多層雙向Transformer抽取文本特征,只需要一個(gè)額外的輸出層就可以對(duì)其進(jìn)行微調(diào),應(yīng)用于其他NLP下游任務(wù),如對(duì)話系統(tǒng)[24]、命名實(shí)體識(shí)別[25]等。BERT模型已經(jīng)幫助許多關(guān)系抽取任務(wù)獲得了最先進(jìn)的結(jié)果[19]。TOD-BERT是由Wu等提出的任務(wù)導(dǎo)向型對(duì)話的預(yù)訓(xùn)練語言模型,同樣使用多層雙向Transformer作為編碼器,區(qū)別在于添加了用戶([USR])和系統(tǒng)([SYS])標(biāo)記,用以模擬人類和系統(tǒng)的對(duì)話響應(yīng)。TOD-BERT模型在多個(gè)任務(wù)導(dǎo)向型下游對(duì)話任務(wù)上都獲得了相對(duì)于BERT模型更好的結(jié)果。
針對(duì)BERT模型,本文將d0中的每個(gè)句子di拼接起來,在句子集合的頭尾分別加上BERT模型分隔符“[CLS]”“[SEP]”,組成一個(gè)單詞序列{[CLS],w1,w2,…,wn,[SEP]},其中n是對(duì)話文本的單詞個(gè)數(shù)。圖1中的對(duì)話對(duì)應(yīng)的單詞序列為{[CLS] Speaker 1: Hey-hey… window!.[SEP]}。BERT模型的編碼過程如式(1)所示。
(1)
其中,wp為單詞序列對(duì)應(yīng)的word-pieces,即更小的單詞片。ps、sg分別為相應(yīng)的位置(Positions)嵌入、片段(Segments)嵌入。Tk為第k層隱藏表示,Trmk為第k層Transformer塊,包含一個(gè)自注意力(Self-attention)層和一個(gè)前饋網(wǎng)絡(luò)(Position-wise Feed-forward Network)層。
針對(duì)TOD-BERT模型,我們?cè)诿枯哠peaker對(duì)話之前加上標(biāo)記[USR],表示該句話是人類發(fā)言。輸入單詞序列為{[CLS],[USR],w1,w2,…,[USR],wi,wi+1,…,wn,[SEP]},圖1中的例子對(duì)應(yīng)為{[CLS] [USR] Speaker 1: Hey-hey…[USR] Speaker 2… window!.[SEP]}。TOD-BERT模型的編碼過程與BERT相同。
最后,我們將BERT與TOD-BERT模型的頂層輸出拼接,并輸入一個(gè)線性層,得到單詞的上下文表示。
(2)
其中,Wc、bc為權(quán)重矩陣及偏置。
由于跨句關(guān)系抽取的研究對(duì)象為長文本,備選的關(guān)系類型多樣,本文認(rèn)為不同的單詞對(duì)不同的關(guān)系類型貢獻(xiàn)不同,而不同的關(guān)系類型對(duì)不同的單詞敏感程度也不同。識(shí)別這種關(guān)注傾向性,將有益于模型性能提升。以圖1為例,單詞“honeymoon”對(duì)關(guān)系“per: girl/boyfriend”的貢獻(xiàn)會(huì)更高,而其他單詞,如“tell”“that”等,對(duì)該關(guān)系的貢獻(xiàn)是微乎其微的。
受Vaswani等[26]提出的注意力機(jī)制的啟發(fā),本文提出詞-關(guān)系注意力模塊,用以評(píng)估單詞和關(guān)系之間的相互影響。該模型將DialogRE中的每個(gè)關(guān)系映射為一個(gè)向量rj,所有的關(guān)系向量組合在一起表示為矩陣R。另外,該模型通過上下文編碼層得到每個(gè)單詞的表示ui,整個(gè)上下文文本被表示為矩陣U。然后,該模塊模擬注意力過程,計(jì)算每一個(gè)單詞ui和每一個(gè)關(guān)系rj之間的注意力分?jǐn)?shù)αij,可使用該注意力分?jǐn)?shù)更新單詞表示,使得每個(gè)單詞表示都嵌入了關(guān)系信息。
A=Softmax(Q,KT),
H=AV
(3)
其中,A表示由αij組成的注意力矩陣,下標(biāo)i和j分別表示該分?jǐn)?shù)在矩陣A中的行和列。Q=UWQ,K=RWK,V=RWV是來自矩陣U和矩陣R的線性映射。
本文采用多頭(Multi-head)注意力機(jī)制,所有頭的隱層表示連接起來形成最終的輸出。
H=H1⊕H2⊕…⊕Hm
(4)
其中,Hm為第m個(gè)頭的隱藏表示,m為超參數(shù)。hi∈H作為單詞ui更新后的表示。圖3展示了該模塊的主要結(jié)構(gòu)。
圖3 詞-關(guān)系注意力層
關(guān)系預(yù)測層包含兩個(gè)部分,首先從詞-關(guān)系注意力層輸出的單詞表示中匯聚信息,得到實(shí)體表示,然后將實(shí)體表示輸入到一個(gè)雙線性層,得到最終的關(guān)系類型。
2.4.1 實(shí)體表示與同指信息的融合
本文將同指信息與實(shí)體提及(Entity Mentions)融合,生成實(shí)體表示。
其中實(shí)體是指每一個(gè)關(guān)系示例的頭尾實(shí)體,是一個(gè)抽象概念,也是需要預(yù)測關(guān)系的目標(biāo)對(duì)象。提及為每一個(gè)實(shí)體在對(duì)話中的具體表達(dá),與實(shí)體的抽象表示可能存在差異。例如,實(shí)體“apple”可能同時(shí)對(duì)應(yīng)其單數(shù)(apple)、復(fù)數(shù)(apples)等形式。一個(gè)提及(mj)的表示形式是該提及所包含的單詞(hi)的平均值。
(5)
其中,|h|表示提及中包含單詞的數(shù)量。
對(duì)于實(shí)體對(duì)(ei,ej),如果有一個(gè)實(shí)體形式為“Speaker N”,其中“N”為一個(gè)數(shù)字,表示說話者發(fā)言的次序,本文采用兩種啟發(fā)式規(guī)則將人稱代詞“I”“you”與實(shí)體提及鏈接:
(1)以“Speaker N”開頭的每個(gè)句子中的“I”都與“Speaker N”存在同指關(guān)系。
(2)對(duì)“Speaker N”所在句子的前后相鄰句子進(jìn)行搜索,將其中的“you”視為“Speaker N”的一個(gè)提及。
此外,本文采用基于spaCy工具的NeuralCoref模型[27]解析對(duì)話中出現(xiàn)的其他同指信息,作為對(duì)上述啟發(fā)式規(guī)則的補(bǔ)充。人工試驗(yàn)表明,NeuralCoref在跨句指代消解中的表現(xiàn)效果不好,會(huì)將兩個(gè)句子中的“I”解析為同指關(guān)系。因此,針對(duì)對(duì)話中出現(xiàn)的“him”“her”等其他代詞與其他名詞之間的同指關(guān)系,本文將單個(gè)句子輸入NeuralCoref工具獲取同指信息,并將其鏈接。圖4為NeuralCoref解析同指信息的一個(gè)例子。
圖4 NeuralCoref解析同指信息示例
一個(gè)實(shí)體(ei)的表示形式為該實(shí)體所包含的所有提及(mj)與同指人稱代詞(ck)的平均值。
mj∈m,ck∈c
(6)
其中,|m|表示實(shí)體中包含提及的數(shù)量,|c|表示與相應(yīng)實(shí)體存在同指關(guān)系的人稱代詞數(shù)量。
圖5展示了同指信息融合的一個(gè)例子。具有相同輪廓的詞組信息匯聚,形成相應(yīng)的實(shí)體表示。
圖5 同指信息融合示例
2.4.2 關(guān)系分類
經(jīng)過同指信息融合,模型得到所有實(shí)體的表示。根據(jù)Yao等[4]的工作,對(duì)于每一個(gè)實(shí)體對(duì)(ei,ej),該模塊通過一個(gè)雙線性函數(shù)來計(jì)算其匹配每個(gè)關(guān)系類型的概率如式(7)所示。
P(r|ei,ej)=ReLU(eiTWrej+br)
(7)
其中,Wr、br是與關(guān)系類型r相關(guān)的權(quán)重矩陣及偏置。
根據(jù)Yu等[7]的設(shè)置,本文選取k個(gè)具有最高分?jǐn)?shù)的關(guān)系類型作為最終預(yù)測的關(guān)系集合。k的取值依賴于閾值T,是通過在開發(fā)集上的調(diào)優(yōu)獲得的。如果一個(gè)實(shí)體對(duì)的所有關(guān)系類型得分都低于T,模型認(rèn)為該實(shí)體對(duì)之間的關(guān)系是“unanswerable”。
模型從關(guān)系預(yù)測層得到實(shí)體對(duì)(ei,ej)在36種關(guān)系類型上的概率得分,接下來,本文采用二元交叉熵(Binary Cross Entropy, BCE)作為損失函數(shù)(Loss Function),如式(8)所示。
(8)
其中,pn是模型預(yù)測出的每個(gè)關(guān)系類型的概率,yn∈{0,1}是關(guān)系的真實(shí)標(biāo)簽。
本文采用Adam算法[28]作為優(yōu)化器,初始的學(xué)習(xí)速率(learning rate)為1e-5,并采用小批量(mini-batch)梯度下降來更新模型。參考Christopoulou等[5]的工作,實(shí)驗(yàn)采用早期停止策略來確定最佳的訓(xùn)練周期,也就是說,如果開發(fā)集的F1分?jǐn)?shù)在幾個(gè)訓(xùn)練周期內(nèi)沒有提升,訓(xùn)練就會(huì)停止。
本文采用最新的對(duì)話級(jí)關(guān)系抽取數(shù)據(jù)集DialogRE[7]來評(píng)估提出的模型。該數(shù)據(jù)集從美國電視情景喜劇《老友記》共10季(263集)的文本中構(gòu)建了1 788篇對(duì)話,涵蓋了各種各樣的話題,包括36種關(guān)系類型。數(shù)據(jù)集包括中文和英文兩個(gè)版本,是關(guān)系抽取領(lǐng)域第一個(gè)面向?qū)υ捨谋镜臄?shù)據(jù)集。與傳統(tǒng)的文檔級(jí)關(guān)系抽取數(shù)據(jù)相比,DialogRE數(shù)據(jù)具有語言隨意、信息密度低、人稱代詞豐富、互動(dòng)性強(qiáng)的特點(diǎn)。本文所構(gòu)建的端到端關(guān)系抽取模型,包含TOD-BERT預(yù)訓(xùn)練模型、詞-關(guān)系注意力機(jī)制、同指信息融合幾個(gè)模塊,正是針對(duì)上述特點(diǎn)提出的。表1展示了該數(shù)據(jù)集在訓(xùn)練集、開發(fā)集和測試集上的統(tǒng)計(jì)信息。
表1 DialogRE數(shù)據(jù)集統(tǒng)計(jì)信息
可以看到,數(shù)據(jù)集中存在大量人稱代詞,因此,識(shí)別對(duì)話中人稱代詞的指向信息對(duì)提升模型性能是有益的。
本文將每個(gè)關(guān)系三元組(ei,r,ej)視為一個(gè)實(shí)例,如(Speaker 3,{per: girl/boyfriend,per: positive_impression}, Emily)。由于實(shí)體的具體名稱直接出現(xiàn)在三元組中,我們采用暴力搜索的方式得到每個(gè)實(shí)體在對(duì)話上下文中的所有提及。
根據(jù)Wang等[29]、Wu等[9]的工作,本文使用BERT與TOD-BERT作為上下文編碼器,當(dāng)輸入序列長度大于512時(shí),模型對(duì)輸入文本做截?cái)嘁赃m應(yīng)BERT。由于TOD-BERT論文作者沒有提供預(yù)訓(xùn)練模型的中文版本,我們使用RiSAWOZ數(shù)據(jù)集[30]在BERT模型上Fine-tune得到TOD-BERT中文預(yù)訓(xùn)練模型,以豐富上下文編碼器輸出的對(duì)話特征。
本文的超參數(shù)設(shè)置如表2 所示。其中,Batch Size為實(shí)驗(yàn)的批處理大小,取決于硬件配置。BERT/TOD-BERT Output Size為上下文編碼器的輸出維度。MLP Hidden Size表示模型中所有線性層的隱層大小。WR.att表示詞-關(guān)系注意力層的相關(guān)指標(biāo)。Greedyness是指在獲取實(shí)體提及同指信息的階段,傳入NeuralCoref解析器的超參數(shù),其值越大,能解析出來的同指實(shí)體越多,但準(zhǔn)確度越低。T為關(guān)系預(yù)測層采用的閾值,其值決定了模型最終預(yù)測的關(guān)系集合。
表2 超參數(shù)設(shè)置
我們分別使用兩種模型作為基線:
(1)基于BERT的模型:第一種類型的基線是由數(shù)據(jù)集構(gòu)建者Yu等[7]建立的模型,稱為BERT和BERTs。其中,給定的對(duì)話d和實(shí)體(ei,ej)與標(biāo)記“[CLS]”和“[SEP]”連接,以便將實(shí)體信息融合到輸入序列中。此外,在BERTs中,它們將實(shí)體對(duì)中“Speaker N”形式的說話者修改為特定標(biāo)記“[unused1]”或“[unused2]”,并在整個(gè)對(duì)話文本中替換,以定位相關(guān)輪次的起始位置,同時(shí)防止過擬合。
本文同樣在Wang等[29]的模型上運(yùn)行了DialogRE數(shù)據(jù)集,我們把該方法稱為BERT Bilinear。與Yu等[7]的BERT模型相比,二者的區(qū)別在于,Yu等是將輸入文本d與實(shí)體對(duì)拼接,得到“[CLS]d[SEP]ei[SEP]ej[SEP]”的序列,輸入BERT編碼器進(jìn)行分類預(yù)測。而Wang等只將文本d與“[CLS]”、“[SEP]”連接輸入BERT,得到每個(gè)單詞的表征,然后通過平均匯集每個(gè)實(shí)體的提及表示來得到關(guān)系中的頭尾實(shí)體表示,最后接一個(gè)雙線性分類層預(yù)測相應(yīng)的關(guān)系類型。
(2)基于圖的模型: 根據(jù)Nan等[19]的工作,本文在LSR(Latent Structure Refifinement)模型上運(yùn)行DialogRE數(shù)據(jù)集。他們構(gòu)建了結(jié)構(gòu)歸納(Structure Induction)模塊來學(xué)習(xí)文檔級(jí)圖的潛在結(jié)構(gòu),然后使用多跳推理模塊對(duì)誘導(dǎo)的潛在結(jié)構(gòu)進(jìn)行推理,根據(jù)信息聚合方案更新每個(gè)節(jié)點(diǎn)的表示。
根據(jù)Yu等[7]的設(shè)置,本文使用F1得分作為性能評(píng)估指標(biāo)。F1得分計(jì)算如式(9)所示。
(9)
如果一個(gè)預(yù)測的關(guān)系和一個(gè)真實(shí)標(biāo)簽匹配,它將被計(jì)算為真正例(True-Positive,TP);如果一個(gè)預(yù)測的關(guān)系不匹配任何真實(shí)標(biāo)簽,它將被計(jì)算為假正例(False-Positive,FP);如果一個(gè)真實(shí)標(biāo)簽不匹配任何預(yù)測出的關(guān)系,它將被計(jì)算為假負(fù)例(False-Negative,FN)。例如,給定一個(gè)預(yù)測關(guān)系實(shí)例(e1,{r1,r2},e2)及其對(duì)應(yīng)的真實(shí)關(guān)系實(shí)例(e1,{r2,r3},e2),r2,r1和r3分別算作TP,FP和FN。
本文在DialogRE中英文數(shù)據(jù)集上驗(yàn)證提出的端到端關(guān)系抽取模型,并將其在開發(fā)集與測試集上的結(jié)果與現(xiàn)有的基線模型比較。相關(guān)結(jié)果如表3所示??梢钥吹?基線模型中LSR模型表現(xiàn)最好,在英文測試集上的F1分?jǐn)?shù)達(dá)到了62.89%。需要注意的是,LSR模型是基于圖的模型,而本文模型在沒有使用圖推理的情況下,就取得了比圖模型更好的結(jié)果。
表3 實(shí)驗(yàn)結(jié)果 (單位: %)
本文提出的模型在DialogRE的中英文數(shù)據(jù)集上都達(dá)到了最優(yōu)的結(jié)果,在測試集上的F1分?jǐn)?shù)相較于LSR模型分別提升了0.88%和0.86%。與數(shù)據(jù)集開發(fā)者提出的BERTs模型相比,本文模型在英文開發(fā)集與測試集上的結(jié)果分別提升1.56%與2.57%,在中文數(shù)據(jù)集上分別提升4.71%和7.68%。這充分說明了本文采用的TOD-BERT編碼器、詞-關(guān)系注意力模塊與同指信息融合是有益于模型性能的。
本文在DialogRE英文數(shù)據(jù)集上進(jìn)行了消融實(shí)驗(yàn)來驗(yàn)證提出模塊的有效性,具體結(jié)果如表4所示。
表4 消融研究 (單位: %)
4.2.1 詞-關(guān)系注意力
根據(jù)不同關(guān)系關(guān)注不同單詞的假設(shè),本文提出了詞-關(guān)系注意力機(jī)制,用以評(píng)估關(guān)系類型與單詞之間的相互影響。表4中的結(jié)果表明,去掉詞-關(guān)系注意力模塊之后,模型在開發(fā)集和測試集上的F1分?jǐn)?shù)分別下降了1.05%和0.53%。
如圖6所示,本小節(jié)選取了對(duì)話中單詞與不同關(guān)系之間注意力權(quán)重分布的一個(gè)例子。橫軸表示單詞文本,縱軸是所選的四個(gè)關(guān)系類型??梢钥吹?在表示關(guān)系“per: children”的第二行中,單詞“dad”取得了最高的注意力分?jǐn)?shù),這就意味著單詞“dad”對(duì)這種關(guān)系的貢獻(xiàn)程度最大。相反,其他三種關(guān)系對(duì)單詞的注意力權(quán)重分布呈現(xiàn)隨機(jī)性,因?yàn)檫@個(gè)例子中并沒有包含這三種關(guān)系。
圖6 詞-關(guān)系注意力矩陣
4.2.2 同指信息融合
如表4所示,在缺少同指信息融合的情況下,模型在測試集與開發(fā)集上的F1分?jǐn)?shù)分別下降了1.37%和0.81%。由于對(duì)話文本的特點(diǎn),人稱代詞在對(duì)話中普遍存在,尤其是“I”和“you”。根據(jù)表1中的統(tǒng)計(jì)數(shù)據(jù)以及我們對(duì)數(shù)據(jù)集的觀察,許多代詞都指向某一個(gè)實(shí)體。因此,識(shí)別人稱代詞與說話人之間的同指關(guān)系,可以增強(qiáng)說話人與對(duì)話文本的聯(lián)結(jié),進(jìn)而提升模型性能。
在圖7的第一個(gè)例子中,我們可以從第三句話的“I love you”中推斷出“I”與“you”之間存在積極的情感傾向,而只有進(jìn)一步判斷“I”指向“Speaker 1”“you”指向“Speaker 2”,我們才能將“per: positive_impression”關(guān)系類型映射到真正的說話人身上,而不是其他說話人。
圖7 同指信息實(shí)例
類似地,在圖7的第二個(gè)例子中,我們只能從第一句話中判斷出“you”與“Joey Tribbiani”是同一個(gè)人,只有將人稱代詞“you”與“Speaker 2”鏈接,才能推斷出“Speaker 2”與“Joey Tribbiani”之間存在“per: alter_names”的關(guān)系,即兩個(gè)實(shí)體互為別稱,指向同一個(gè)實(shí)體對(duì)象。需要注意的是,在DialogRE數(shù)據(jù)集中,關(guān)系類型“per: alter_names”所占比例極高,達(dá)到了所有實(shí)例的21.9%??梢灾庇^看出,識(shí)別人稱代詞與說話人之間的同指信息,對(duì)預(yù)測這種類型的關(guān)系非常有用。我們推測這也是同指信息融合模塊對(duì)模型性能提升最大的原因之一。
此外,我們還對(duì)啟發(fā)式規(guī)則與NeuralCoref指代消解做了消融實(shí)驗(yàn),分析它們對(duì)模型的貢獻(xiàn)。從表4中可以看出,前者對(duì)模型的貢獻(xiàn)更大,而在使用了啟發(fā)式規(guī)則的情況下,NeuralCoref指代消解工具反而對(duì)測試集的F1分?jǐn)?shù)有負(fù)面作用。我們分析是因?yàn)樵趯?duì)話文本中,NeuralCoref識(shí)別出的同指信息不多,且準(zhǔn)確率不高,可能與啟發(fā)式規(guī)則存在沖突。在超參數(shù)Greedyness設(shè)為0.5的情況下,只有21.24%的實(shí)例識(shí)別出了與兩個(gè)實(shí)體相關(guān)的同指信息。
4.2.3 TOD-BERT
我們還對(duì)TOD-BERT預(yù)訓(xùn)練模型在對(duì)話任務(wù)上的提升效果做了消融實(shí)驗(yàn),表4中結(jié)果表明,相較于只采用BERT作為上下文編碼器,融合TOD-BERT預(yù)訓(xùn)練語言模型的輸出特征,在開發(fā)集和測試集上分別可以貢獻(xiàn)0.93%和0.86%。
本文還實(shí)驗(yàn)了只使用TOD-BERT在英文數(shù)據(jù)集上的效果,如表4所示,在去掉BERT作為上下文編碼器的情況下,模型在開發(fā)集和測試集上的F1分?jǐn)?shù)分別下降到60.08%和59.56%。我們認(rèn)為,這是由于TOD-BERT預(yù)訓(xùn)練的數(shù)據(jù)是任務(wù)導(dǎo)向型對(duì)話,多存在于人和機(jī)器之間,而本文所采用的DialogRE數(shù)據(jù)集構(gòu)建于《老友記》,是人與人之間的日常對(duì)話。因此TOD-BERT的編碼特征并不能完全取代BERT預(yù)訓(xùn)練語言模型。但其針對(duì)對(duì)話中特有的人稱指代、互動(dòng)性等特點(diǎn),又可以作為對(duì)BERT模型輸出特征的補(bǔ)充。
本文提出了端到端的對(duì)話級(jí)關(guān)系抽取模型,針對(duì)對(duì)話文本的特點(diǎn),采用TOD-BERT預(yù)訓(xùn)練語言模型增強(qiáng)單詞表征,并提出了詞-關(guān)系注意力層、同指信息融合兩個(gè)模塊來提升模型性能。實(shí)驗(yàn)驗(yàn)證了不同單詞與不同關(guān)系之間相互作用對(duì)關(guān)系抽取的影響,并詳細(xì)分析了同指信息在對(duì)話級(jí)關(guān)系抽取中有效的原因。與現(xiàn)有模型相比,本文提出的模型在DialogRE數(shù)據(jù)集上的F1分?jǐn)?shù)得到顯著提升,達(dá)到最優(yōu)。并通過消融實(shí)驗(yàn),證明提出的每個(gè)模塊都是有效的。
在今后的工作中,主要從以下三個(gè)方面來進(jìn)一步優(yōu)化模型: ①嘗試將同指信息融合作為輔助任務(wù),與對(duì)話級(jí)關(guān)系抽取任務(wù)聯(lián)合訓(xùn)練,增強(qiáng)模型性能; ②針對(duì)數(shù)據(jù)集DialogRE,增加對(duì)文本中說話人信息等的考慮,構(gòu)建更適合對(duì)話級(jí)關(guān)系抽取的模型; ③增加圖推理模塊,更好地輔助文檔級(jí)信息推理。