程欽男 ,莫志強 ,曹斌* ,范菁 ,單宇翔
(1.浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,杭州,310023;2.浙江中煙工業(yè)有限責任公司信息中心,杭州,310009)
篇章級別的服務(wù)事件序列抽取是服務(wù)文本理解中的一項重要任務(wù),旨在從給定的服務(wù)文本中發(fā)現(xiàn)服務(wù)事件之間的順序序列關(guān)系,其中,以自然語言描述的形式對服務(wù)過程進行表示的文本稱為服務(wù)文本.服務(wù)文本中的服務(wù)事件由服務(wù)事件觸發(fā)詞和服務(wù)事件論元構(gòu)成[1],服務(wù)事件觸發(fā)詞標志著事件的發(fā)生,服務(wù)事件論元指的是參與者、時間、地點等服務(wù)事件屬性,本文中服務(wù)事件由服務(wù)事件觸發(fā)詞來表示.篇章級別的服務(wù)事件序列由給定服務(wù)文本中的一系列服務(wù)事件基于事件發(fā)生的先后順序排列構(gòu)成,其任務(wù)表示如圖1所示.圖1左邊是自然語言描述的服務(wù)文本,其中服務(wù)文本中的服務(wù)事件已經(jīng)得到了標注;圖1 右邊是基于人工注釋的篇章級服務(wù)事件序列:using →violating →faces →described →carry.
圖1 服務(wù)事件序列抽取任務(wù)Fig.1 The task of service event sequence extraction
服務(wù)事件序列抽取相關(guān)的研究具有一定的現(xiàn)實應(yīng)用價值.例如,事件序列可以幫助故事理解系統(tǒng)在任意的敘述背景下預(yù)測接下來會發(fā)生什么[2];醫(yī)學(xué)臨床診斷中抽取的事件序列可以幫助醫(yī)生進行病情的診斷和預(yù)測[3];從菜譜或維修手冊中抽取的事件序列可以幫助語音助手回答過程相關(guān)的問題,構(gòu)建更加智能的語音助手[4].
目前,與服務(wù)事件序列抽取相關(guān)的研究工作可以分為過程抽取和事件時序關(guān)系抽取兩類.過程抽取旨在從給定的文檔中抽取流程圖,流程圖的節(jié)點表示事件或者動作,邊表示其連接的兩個節(jié)點之間的關(guān)系,存在順序、選擇、并行三種關(guān)系[4-5].事件序列可以看作事件之間只存在順序關(guān)系的特殊流程圖.在過程抽取的相關(guān)研究中,研究重點在于節(jié)點的抽取以及節(jié)點之間選擇和并行關(guān)系的抽取,對于順序關(guān)系,其認為和文本描述的順序一致.在某些情況下這只是一個存在問題的假設(shè),如圖1 所示,基于人工注釋得到的真實服務(wù)事件序列(using→violating→faces→described→carry)與文本描述的順序(described →faces →violating →using →carry)不一致.
第二類相關(guān)工作是事件時序關(guān)系抽取,旨在判斷事件對之間的時序關(guān)系[6-7].基于事件時序關(guān)系抽取的研究可以間接獲得事件序列,其方法分兩步:第一步是事件對之間的時序關(guān)系抽取,第二步是基于事件對,對時序關(guān)系抽取的結(jié)果構(gòu)建事件序列.事件時序關(guān)系抽取研究往往關(guān)注同一個句子或者相鄰句子中事件的時序關(guān)系識別,無法建模篇章級別的事件時序關(guān)系,需要在事件時序關(guān)系抽取的基礎(chǔ)上做進一步研究.
針對以上兩類相關(guān)工作存在的問題,本文提出一種篇章級別的服務(wù)事件序列抽取方法.該方法由三個模塊構(gòu)成:(1)多粒度上下文編碼模塊;(2)聯(lián)合優(yōu)化模塊;(3)全局推理模塊.多粒度上下文編碼模塊使用基于BERT(Bidirectional Encoder Representations from Transformers)[8]和BiLSTM(Bidirectional Long Short‐Term Memo‐ry)[9]的神經(jīng)網(wǎng)絡(luò)模型和多頭注意力機制(Multi‐Head Attention Mechanism,MHA)[10]來獲得服務(wù)文本中具有豐富語義信息的服務(wù)事件向量表示.聯(lián)合優(yōu)化模塊通過聯(lián)合訓(xùn)練Pairwise 局部任務(wù)和Listwise 全局任務(wù)挖掘服務(wù)事件的順序序列關(guān)系.全局推理模塊對聯(lián)合優(yōu)化模塊輸出的服務(wù)事件序列進行事件關(guān)系沖突消解,得到無沖突的服務(wù)事件序列作為輸出.
目前尚沒有公開數(shù)據(jù)集可直接用于服務(wù)事件序列抽取任務(wù)的評估,本文從基于事件時序關(guān)系抽取公開數(shù)據(jù)集TimeBank(TB)[11],AQUAINT(AQ)[12],Platinum(PL)[13]和MATRES[14]中抽取數(shù)據(jù),構(gòu)建了可用于該任務(wù)評估的數(shù)據(jù)集.實驗結(jié)果證明了本文提出方法的有效性.
本文的貢獻:
(1)提出篇章級別的服務(wù)事件序列抽取任務(wù)并給出了該任務(wù)的形式化定義,旨在從給定的服務(wù)文本中建模所有服務(wù)事件的順序序列關(guān)系,得到一組按照服務(wù)事件發(fā)生順序排序的服務(wù)事件集合.
(2)首次引入Pairwise 和Listwise 方法用于挖掘服務(wù)事件序列.
(3)基于事件時序關(guān)系抽取公開數(shù)據(jù)集TimeBank,AQUAINT,Platinum 和MATRES,構(gòu)建了可用于服務(wù)事件序列抽取任務(wù)評估的數(shù)據(jù)集,并進行了實驗驗證和分析.實驗結(jié)果證明了本文提出方法的有效性.
與服務(wù)事件序列抽取相關(guān)的研究工作可以分兩類,過程抽取和事件時序關(guān)系抽取.下面分別對這兩類相關(guān)工作進行具體的介紹.
1.1 過程抽取過程抽取研究旨在從給定的文檔中抽取流程圖,流程圖的節(jié)點表示事件或者動作,邊表示其連結(jié)的兩個節(jié)點之間的關(guān)系,存在順序、選擇、并行三種關(guān)系.事件序列可以看作事件之間只存在順序關(guān)系的特殊流程圖.現(xiàn)有的過程抽取研究主要可以分為基于規(guī)則的過程抽取方法研究[15-16]、基于專業(yè)資源或者自然語言處理工具的過程抽取方法研究[17-20]、基于傳統(tǒng)機器學(xué)習(xí)的過程抽取方法研究[21-22]、基于神經(jīng)網(wǎng)絡(luò)或者強化學(xué)習(xí)的過程抽取方法研究[4-5,23].這些研究的重點在于節(jié)點,即動作或事件的抽取以及節(jié)點之間的選擇和并行關(guān)系的抽取,對于順序關(guān)系,其認為和文本描述的順序一致.對于過程性文本,如菜譜、維修手冊等,這種假設(shè)是成立的.但是對于非過程性文本,比如有些文本為了強調(diào)事件的結(jié)果會先描述事件的結(jié)果再描述事件的起因和經(jīng)過,顯然這種情況下事件真實發(fā)生的順序與文本描述的順序不一致.
1.2 事件時序關(guān)系抽取事件時序關(guān)系抽取研究旨在判斷事件對之間的時序關(guān)系,基于事件時序關(guān)系抽取可以間接得到事件序列,即先得到文檔中所有事件對的時序關(guān)系,然后基于事件對時序關(guān)系構(gòu)建得到事件序列.現(xiàn)有的事件時序關(guān)系抽取研究主要可以分為基于人工特征的事件時序關(guān)系抽取研究[24-26]、基于語法或者句法規(guī)則的事件時序關(guān)系抽取研究[27-28]、基于神經(jīng)網(wǎng)絡(luò)的事件時序關(guān)系抽取研究[6-7].但是這些相關(guān)研究都關(guān)注同一句子或者相鄰句子中的事件時序關(guān)系識別,無法建模篇章級別的事件時序關(guān)系,同時,也沒有考慮跨句子級別的上下文信息.由于文檔中的事件分散在各個句子中,顯然跨句子級別的上下文信息有助于事件時序關(guān)系識別.
目前只有很少的研究利用跨句子級別的上下文信息進行事件時序關(guān)系抽取.Tourille et al[29]構(gòu)建兩個獨立的分類器,一個用于句子內(nèi)時序關(guān)系的識別,一個用于句子之間的時序關(guān)系識別.Cheng and Miyao[30]在文本依賴路徑上使用BiLSTM 進行建模,并提出公共根的假設(shè)來鏈接跨句事件之間的依賴路徑來引入跨句信息處理跨句事件對.盡管這些研究引入了跨句子級別的上下文信息但不能直接用于事件序列抽取任務(wù),它們往往關(guān)注事件對之間時序關(guān)系的判斷,在此基礎(chǔ)上需要進一步研究建模文檔中所有事件的順序序列關(guān)系.
受相關(guān)工作的啟發(fā),本文提出一種篇章級別的服務(wù)事件序列抽取方法.針對過程抽取研究中事件的真實發(fā)生順序與文本描述順序不一致的問題,本文提出多粒度信息編碼來結(jié)合篇章級別的上下文信息,豐富服務(wù)事件向量的語義表示,充分建模服務(wù)事件之間的上下文依賴關(guān)系.針對事件時序關(guān)系抽取研究中無法建模所有事件的順序序列關(guān)系的問題,本文提出聯(lián)合優(yōu)化的方式,通過聯(lián)合訓(xùn)練Pairwise 局部任務(wù)和Listwise 全局任務(wù)來充分挖掘所有事件的順序序列關(guān)系.
篇章級別的服務(wù)事件序列抽取旨在發(fā)現(xiàn)給定服務(wù)文本所有服務(wù)事件的順序序列關(guān)系,具體地,本文給出服務(wù)事件序列抽取任務(wù)的形式化定義.給定服務(wù)過程文本d=(sent1,sent2,…,sentn)表示服務(wù)過程文本d包含n個句子,senti=表示第i個句子包含n個詞,基于服務(wù)文本d的上下文信息預(yù)測得到該文本對應(yīng)的服務(wù)事件序列標簽y=(event1,event2,…,eventn),其中,eventi∈E,E表示文檔d中的服務(wù)事件集合.
本文提出的篇章級服務(wù)事件序列抽取模型,稱為基于多粒度信息編碼和聯(lián)合優(yōu)化的服務(wù)事件序列抽取模型(Document‐Level Service Event Sequence Extraction Based on Multi Granularity Information Encoding and Joint Optimization),模型的架構(gòu)如圖2 所示,主要包含三部分:多粒度上下文編碼模塊、聯(lián)合優(yōu)化模塊、全局推理模塊.模型以服務(wù)文本作為基本輸入單元,多粒度上下文編碼模塊使用基于BERT 和BiLSTM 的神經(jīng)網(wǎng)絡(luò)模型與多頭注意力機制,獲得富含豐富語義信息的服務(wù)事件向量表示;聯(lián)合優(yōu)化模塊通過聯(lián)合訓(xùn)練Pairwise 局部任務(wù)和Listwise 全局任務(wù),挖掘服務(wù)事件之間的順序序列關(guān)系;全局推理模塊對聯(lián)合優(yōu)化模塊輸出的服務(wù)事件序列進行事件關(guān)系沖突消解,得到無沖突的服務(wù)事件序列作為輸出.
圖2 本文模型的架構(gòu)圖Fig.2 The overall framework of our algorithm
下面簡單介紹事件沖突關(guān)系.基于間接的方式構(gòu)建事件序列,即先對事件對之間的時序關(guān)系進行判斷,再基于事件對時序關(guān)系構(gòu)建事件序列.對于事件對時序關(guān)系,ei,ej表示服務(wù)文本中的任意兩個服務(wù)事件,before 和after 表示兩類事件順序序列關(guān)系,(ei,ej,before)表示ei在事件序列中排在ej之前,(ei,ej,after)則相反.假定模型對事件對(ei,ej)(ej,ek)(ei,ek)作出如下時序關(guān)系判斷:(ei,ej,before)(ej,ek.before)(ek,ei,before)不滿足傳遞性約束,顯然,基于時序關(guān)系(ei,ej,before)(ej,ek.before)可以推斷(ek,ei,after).使用全局推理模塊對存在沖突的事件對時序關(guān)系進行刪除,該模塊的具體實現(xiàn)方式在3.2.4 進行具體介紹.
2.1 多粒度上下文編碼模塊針對服務(wù)文本中描述的服務(wù)事件執(zhí)行順序與服務(wù)事件的真實發(fā)生順序不一致導(dǎo)致事件序列抽取效果差的問題,需要充分考慮服務(wù)事件之間的上下文依賴關(guān)系,本文提出多粒度上下文編碼模塊(Multi‐Granularity Context Encoding Module,MGCE),通過聚合不同粒度(句子級別和跨句子級別)的詞向量嵌入表示來獲得富含上下文信息的服務(wù)事件向量表示,MGCE 模塊包含下述幾個部分.
2.1.1 字符級別的嵌入層MGCE 模塊以服務(wù)文本作為基本輸入單元,首先使用BERT 預(yù)訓(xùn)練語言模型對文本進行編碼表示,使用BERT 是因為其編碼輸出能夠建模詞的語義信息,同時在各種自然語言處理下游任務(wù)中的表現(xiàn)較好,基于BERT 預(yù)訓(xùn)練語言模型可以獲得每個單詞的詞嵌入向量表示.上述編碼過程可以形式化為:
2.1.2 句子級別的嵌入層盡管基于BERT 預(yù)訓(xùn)練語言模型的輸出向量包含一定的上下文信息,模型還需要獲取特定于具體任務(wù)的上下文信息.鑒于BiLSTM 能夠捕獲句子中特定于具體任務(wù)的上下文信息,本文使用一個單層的BiLSTM模型對上一層的輸出做進一步的編碼表示.上述編碼過程可形式化為:
其中,表示第i個句子中第n個詞經(jīng)由BiLSTM模型輸出的詞向量嵌入表示.
2.1.3 跨句子級別的嵌入層為了獲得服務(wù)文本中不同句子之間服務(wù)事件的上下文依賴關(guān)系,本文使用MHA 來編碼跨句子級別的上下文特征信息,使用MHA 是因為BiLSTM 模型的編碼信息會隨著序列長度的增加而產(chǎn)生信息丟失,而MHA 不受距離限制,可以編碼長距離的序列信息.對基于BERT 預(yù)訓(xùn)練語言模型的輸出使用MHA 進行再編碼,獲得跨句子級別的上下文特征表示,上述過程可形式化為:
其中,表示第i個句子中第n個詞經(jīng)由MHA 層輸出的詞向量嵌入表示.
2.1.4 特征融合層基于上述字符級別的嵌入層、句子級別的嵌入層以及跨句子級別的嵌入層輸出,可以獲得不同粒度的詞向量表示,但是考慮到不同特征的詞嵌入向量表示對最后的服務(wù)事件時序關(guān)系判斷任務(wù)的貢獻是不同的,本文沒有采用簡單的相加或者拼接的方法,而是采用門機制對不同粒度的特征信息進行加權(quán)相加.定義門機制如下:
其中,g表示門機制的注意力權(quán)重向量;W和b表示需要學(xué)習(xí)的權(quán)重和偏置項參數(shù),用來計算得到注意力權(quán)重向量g;⊙表示元素智能相乘法;表示經(jīng)由特征融合層后第i個句子中第n個詞的詞向量嵌入表示.
2.2 聯(lián)合優(yōu)化模塊經(jīng)由多粒度上下文編碼模塊可以獲得服務(wù)文本中富含上下文特征信息的詞向量嵌入表示,本文采用和MATRES[11]一樣的處理方式,用事件觸發(fā)詞來表示事件,即將事件觸發(fā)詞對應(yīng)的詞向量表示作為事件向量表示.接下來構(gòu)建聯(lián)合優(yōu)化模塊去挖掘服務(wù)事件之間的順序序列關(guān)系,如圖2 所示,聯(lián)合優(yōu)化模塊包含兩個子任務(wù):Pairwise 局部任務(wù)和Listwise 全局任務(wù).
2.2.1 Pairwise 局部任務(wù)Pairwise 局部任務(wù)通過間接的方式構(gòu)建得到服務(wù)事件序列:首先獲得服務(wù)文本中所有兩個服務(wù)事件對的時序關(guān)系,再基于事件對時序關(guān)系構(gòu)建得到篇章級服務(wù)事件序列.本文使用Pairwise 局部任務(wù)為模型提供一個局部視角,判斷事件之間的相對順序關(guān)系.
E表示服務(wù)文本d對應(yīng)的服務(wù)事件集合,ei和ej表示服務(wù)事件集合E中的任意兩個服務(wù)事件.Pairwise 局部任務(wù)的輸入為服務(wù)文本中的任意服務(wù)事件對(ei,ej),該事件對由服務(wù)事件集合中的服務(wù)事件隨機兩兩組合得到;輸出為事件對對應(yīng)的順序序列關(guān)系(ei,ej,before)或(ei,ej,after).Pairwise 局部任務(wù)本質(zhì)上是一個分類任務(wù),所以使用兩層的多層感知機(Multi‐Layer Perceptron,MLP)神經(jīng)網(wǎng)絡(luò)作為分類模型.對于每個服務(wù)事件對,將基于MGCE 模塊輸出的事件詞向量表示進行拼接,然后將拼接得到的向量輸入MLP 模型,得到事件對順序序列關(guān)系的預(yù)測概率.上述過程可以形式化為:
其中,W1,W2和b1,b2分別表示權(quán)重矩陣和偏置向量,σ表示sigmoid 激活函數(shù),tanh 表示雙曲正切激活函數(shù).rei,rej表示服務(wù)事件ei,ej經(jīng)由MGCE模塊得到事件詞的特征向量表示,r表示事件對(ei,ej)的順序序列標簽且r∈{before,after},p(r|ei,ej)表示事件對(ei,ej)的順序序列關(guān)系的條件概率.Pairwise 局部任務(wù)的損失函數(shù)定義為:
其中,xn,yn分別表示第n個訓(xùn)練事件對以及其對應(yīng)的順序序列標簽,表示模型給出的順序序列關(guān)系的預(yù)測值,I(?),θL分別表示指示函數(shù)和參數(shù),Dn表示服務(wù)文本的數(shù)量.Pairwise 局部任務(wù)的訓(xùn)練目標是最小化損失函數(shù)L(θL).
2.2.2 Listwise 全局任務(wù)受Cao et al[31]的啟發(fā),我們意識到,雖然Pairwise 局部任務(wù)可以通過間接的方式構(gòu)建得到服務(wù)事件序列,但是該方法忽略了事件序列建模是基于服務(wù)事件列表這一事實,僅僅基于Pairwise 局部任務(wù)構(gòu)建事件序列會讓模型的學(xué)習(xí)目標變成最小化服務(wù)事件對順序序列關(guān)系分類的誤差,而不是最小化服務(wù)事件序列排序的誤差,這會導(dǎo)致模型的效果變差.為此,本文額外提出了Listwise 全局任務(wù),該任務(wù)的思想與學(xué)習(xí)排序中的ListNet[31]相似.首先,訓(xùn)練得到一個打分模型,由模型對每個服務(wù)事件進行打分,再基于模型給出的事件分數(shù)進行排序得到最終的服務(wù)事件序列.本文同樣使用兩層的感知機神經(jīng)網(wǎng)絡(luò)作為打分模型,將服務(wù)文本中的每個事件經(jīng)由MGCE 層得到的特征向量表示輸入打分模型,得到該事件對應(yīng)的分值.上述過程可以形式化為:
其中,W1,W2和b1,b2分別表示權(quán)重矩陣和偏置向量,re表示服務(wù)事件e經(jīng)由MGCE 模塊得到的特征向量表示.本文使用smoothL1損失函數(shù),其定義如下:
2.2.3 聯(lián)合訓(xùn)練在模型的訓(xùn)練階段,采用聯(lián)合訓(xùn)練的方式訓(xùn)練Pairwise 局部任務(wù)和Listwise 全局任務(wù).定義聯(lián)合損失函數(shù)如下:
其中,λ是超參數(shù),用來維持Pairwise 局部任務(wù)損失L(θL)和Listwise 全局任務(wù)損失G(θG)之間的平衡.
2.2.4 全局推理模塊在測試階段,Listwise 全局任務(wù)可以在整個事件序列中擬合事件的排序值,然后結(jié)合Pairwise 局部任務(wù)的輸出來獲得完整的事件序列.但是,基于Pairwise 的方式獲得的事件序列存在無法滿足傳遞性約束的沖突,本文使用全局推理模塊來進行事件關(guān)系沖突消解.全局推理模塊使用的是整數(shù)線性規(guī)劃(Integer Linear Programming,ILP),該方法被許多研究人員用于解決沖突,強化全局一致性[32],而本文僅用于處理傳遞性約束.
首先,設(shè)定表示一個二元指示變量,當且僅當模型對事件對(ei,ej)的順序序列關(guān)系預(yù)測為r∈R時其值為1,其中,R表示事件對順序序列標簽集合R={before,after}.例如表示ei在事件序列中排在ej之前,表示模型對事件對(ei,ej)順序序列關(guān)系預(yù)測為r的條件概率輸出.為了排除存在沖突的事件對關(guān)系預(yù)測的影響,獲得全局最優(yōu)的預(yù)測結(jié)果,本文定義如下的整數(shù)線性規(guī)劃的目標函數(shù):
需要滿足如下的約束條件:
約束條件(13)表示在所有事件對順序序列關(guān)系中只能滿足一個關(guān)系,當其中一個事件對關(guān)系的二元指示變量值為1時,其余事件對關(guān)系的二元指示變量值為0.約束條件(14)表示事件對(ei,ej)的順序序列標簽為r1且事件對(ej,ek)的順序序列標簽為r2時,事件對(ei,ek)的順序序列標簽r3必須滿足此約束條件.
3.1 實驗參數(shù)設(shè)定在模型的訓(xùn)練階段,使用BERT 預(yù)訓(xùn)練語言模型對服務(wù)文本進行編碼表示,最大序列長度設(shè)置為256,batch_size 設(shè)置為8.使用BiLSTM 模型、多頭注意力機制進一步編碼時,BiLSTM 模型的輸入維度設(shè)置為768,hidden_size 設(shè)置為64,多頭注意力機制的head 參數(shù)設(shè)置為8.訓(xùn)練過程中使用隨機梯度下降優(yōu)化算法訓(xùn)練模型,學(xué)習(xí)率設(shè)置為0.0006,為了防止過擬合引入dropout 機制,dropout 比率設(shè)置為0.5.
3.2 實驗數(shù)據(jù)集目前還沒有公開數(shù)據(jù)集可以直接用于從服務(wù)文本中提取服務(wù)事件序列,本文基于事件時序關(guān)系,抽取公開數(shù)據(jù)集TimeBank(TB),AQUAINT(AQ),Platinum(PL),MA‐TRES 中的數(shù)據(jù),構(gòu)造一個可以用于服務(wù)事件序列抽取任務(wù)評估的數(shù)據(jù)集.該數(shù)據(jù)集由三列內(nèi)容構(gòu)成,如表1 所示,分別表示文本標題、文本內(nèi)容以及該文本對應(yīng)的服務(wù)事件序列標簽.TB,AQ和PL 三個數(shù)據(jù)集中包含了許多的新聞文檔,并且文檔中包含的事件詞已經(jīng)被標注.MATRES數(shù)據(jù)集中標注了上述三個數(shù)據(jù)集每個文檔中事件對的時序關(guān)系,基于MATRES 提供的事件對時序關(guān)系標注可以構(gòu)建得到TB,AQ,PL 三個數(shù)據(jù)集中每個文檔對應(yīng)的事件序列標簽,以此作為新的數(shù)據(jù)集來評估事件序列抽取任務(wù),相關(guān)數(shù)據(jù)集的統(tǒng)計信息如表2 所示.對于該數(shù)據(jù)集的標注過程,選擇TB,AQ,PL 三個數(shù)據(jù)集中的全量數(shù)據(jù)進行人工標注,由兩組研究生分別對相同的文檔基于MATRES 數(shù)據(jù)集提供的事件對時序關(guān)系標簽標注其對應(yīng)的事件序列.如果人工標注的事件序列結(jié)果存在差異,則雙方討論得到一致的結(jié)果,此標注過程可以確保本文構(gòu)建數(shù)據(jù)集的準確性.
表1 本文構(gòu)造的數(shù)據(jù)集信息Table 1 The information of the dataset constructed in this paper
表2 相關(guān)數(shù)據(jù)集的統(tǒng)計信息Table 2 The statistics of the related dataset
實驗過程中,TB 和AQ 為訓(xùn)練數(shù)據(jù)集,PL 為測試數(shù)據(jù)集,同時,從訓(xùn)練集中隨機選取20%的數(shù)據(jù)作為驗證集用來調(diào)整超參數(shù).
3.3 評價指標為了與已有的相關(guān)研究進行對比,從兩個角度對實驗結(jié)果進行評估.具體如下.
(1)從局部角度對實驗結(jié)果進行評估,對應(yīng)Pairwise 局部任務(wù),該任務(wù)本質(zhì)上是關(guān)于事件對順序序列關(guān)系的二分類任務(wù).采用準確率(Accu‐racy)、精確率(Precision)、召回值(Recall)和F1‐score 作為Pairwise 局部任務(wù)的評價指標.
(2)從全局角度對實驗結(jié)果進行評估,對應(yīng)Listwise 全局任務(wù).傳統(tǒng)的排序模型通常根據(jù)歸一化累計折損增益(Normalized Discounted Cu‐mulative Gain,NDCG)和平均精度(Mean Aver‐age Precision,MAP)進行評估,但這兩個評價指標都關(guān)注排名前k位的文檔,這對于文檔檢索任務(wù)來說是有意義的,但不適用于事件序列抽取任務(wù),因為本文關(guān)注的是所有事件的順序序列關(guān)系[3].采用最長公共子序列(Longest Common Subsequence,LCS)作為Listwise 全局任務(wù)的評價指標,字符串的子序列指的是從原始字符串中刪除一些字符(也可以不刪除)但是不改變其他字符相對順序的新字符串.該評價指標先計算模型給出的事件序列預(yù)測結(jié)果與其真實結(jié)果的最長公共子序列,再計算最長公共子序列的長度占其真實事件序列長度的百分比.假定模型給出的預(yù)測結(jié)果為ypred,真實結(jié)果為ytrue,該評價指標對應(yīng)的計算形式如下:
3.4 基線方法選擇以下方法作為基線方法.
(1)排序模型(文本順序)[13]:該方法基于事件真實發(fā)生順序與文本描述順序一致的假設(shè),基于事件在文本中出現(xiàn)的順序來對事件進行排序.使用該基線方法是想通過對比實驗來證明進行事件序列抽取的必要性.
(2)基于BiLSTM 的Pairwise 方法[5]:在事件時序關(guān)系提取相關(guān)研究中,BiLSTM 模型被大量使用且取得了不錯的效果.選取該方法作為基線方法,且在模型實現(xiàn)上與Han et al[5]相同.
(3)學(xué)習(xí)排序模型ListNet[3]:Jeblee and Hirst[3]基于排序模型ListNet,從醫(yī)學(xué)臨床文本中生成臨床事件的時間線,即事件序列.為了對比實驗的公平性,本文沒有使用額外的語言學(xué)特征,特征表示是基于BiLSTM 模型完成的.
3.5 實驗結(jié)果分析
3.5.1 實驗1:從局部角度驗證模型的性能局部視角的對比實驗結(jié)果如表3 所示,表中黑體字表示最優(yōu)性能.由表可見,本文方法的局部評價指標均優(yōu)于基線方法:與Text order 相比,本文模型的Accuracy 提高15.64%;與ListNet 相比,本文模型的Accuracy 提高8.23%;與基于BiLSTM的pairwise 方法相比,本文模型的Accuracy,Pre‐cision,Recall,F(xiàn)1‐score 分別提高3.09%,4.47%,4.01%,4.24%.證明了本文方法的有效性.
表3 局部視角對比實驗的結(jié)果Table 3 Comparative experimental results of the local perspective
3.5.2 實驗2:從全局角度驗證模型的性能除了局部角度,本文還從全局角度驗證了模型的性能.全局視角的對比實驗結(jié)果如表4 所示,表中黑體字表示結(jié)果最優(yōu).由表可見,本文方法的全局評價指標也均優(yōu)于基線方法.
表4 全局視角對比實驗的結(jié)果Table 4 Comparative experimental results of the global perspective
3.5.3 實驗3:消融實驗為了驗證模型中不同模塊的作用,還進行了消融實驗,實驗結(jié)果如表5和表6 所示,表中黑體字表示結(jié)果最優(yōu).在多粒度上下文編碼模塊中不使用BiLSTM 模型,即不考慮句子級別的上下文信息,無論是從局部評價指標還是全局評價指標來看,模型的性能都出現(xiàn)下降.同理,在多粒度上下文編碼模塊中不使用多頭注意力機制,即不考慮跨句子級別的上下文信息,模型的性能也出現(xiàn)了下降.這兩組消融實驗的結(jié)果進一步證明了多粒度上下文編碼模塊的必要性,即在事件序列建模時結(jié)合多粒度的上下文信息能夠提高模型的性能.
表5 局部視角的消融實驗結(jié)果Table 5 Ablation experiment results from local per?spective
表6 全局視角的消融實驗結(jié)果Table 5 Ablation experiment results from global per?spective
本文還對比了多任務(wù)聯(lián)合優(yōu)化和單任務(wù)訓(xùn)練方式下的模型性能,其對應(yīng)的實驗結(jié)果也如表5和表6 所示,表中黑體字表示結(jié)果最優(yōu).在模型的訓(xùn)練階段去除Listwise 全局任務(wù),只訓(xùn)練Pairwise局部任務(wù),無論是從局部評價指標還是全局評價指標來看,模型的性能均出現(xiàn)了下降,進一步證明多任務(wù)聯(lián)合優(yōu)化的方式可以更好地建模事件之間的順序序列關(guān)系.
為了驗證全局推理模塊的有效性,本文對比了是否采用ILP 對模型性能的影響,實驗結(jié)果也如表5 和表6 所示,表中黑體字表示結(jié)果最優(yōu).由表可見,不采用ILP時,無論是從局部角度還是全局角度來看,模型性能均出現(xiàn)了不同程度的下降,可能是因為模型給出了不符合事件順序關(guān)系傳遞性約束的預(yù)測,沒有使用ILP 進行事件關(guān)系沖突消解不符合傳遞性約束的事件順序關(guān)系,使模型的性能出現(xiàn)了下降.
本文提出了篇章級別的服務(wù)事件序列抽取任務(wù)及其形式化定義,旨在從給定的服務(wù)文本中建模所有服務(wù)事件的順序序列關(guān)系,得到一組按照事件發(fā)生順序排列的服務(wù)事件集合.對于該任務(wù),本文提出一種基于多粒度信息編碼和聯(lián)合優(yōu)化的篇章級服務(wù)事件序列抽取模型.首先,使用多粒度信息編碼模塊學(xué)習(xí),得到富含上下文特征信息的服務(wù)事件向量表示,再利用聯(lián)合優(yōu)化模塊提取服務(wù)事件順序序列關(guān)系,最后,通過全局推理模塊進行事件沖突消解得到篇章級別的服務(wù)事件序列.為了評估本文提出的方法,從基于事件時序關(guān)系提取公開數(shù)據(jù)集TimeBank,AQUAINT,Platinum,MATRES 中抽取數(shù)據(jù),構(gòu)建了可用于篇章級服務(wù)事件序列抽取任務(wù)評估的數(shù)據(jù)集,實驗結(jié)果證明本文提出的方法的有效性.未來將進一步豐富服務(wù)事件序列數(shù)據(jù)集,或引入常識性知識庫來進一步提升篇章級服務(wù)事件序列抽取模型的性能.