摘要
本文簡述了多人對話(3人及以上)中的語篇解析任務,主要包括任務和已有工作的介紹,最後給出了相關資料、論文和程式碼連結。
關鍵詞:Multi-party Dialogues, Discourse Parsing
1 前言
語篇解析(Discourse Parsing,又譯篇章分析)是自然語言處理中的一個基礎任務,旨在自動分析出文字中的語篇結構(Discourse Structure)和篇章語義關係(Discourse Relations,又譯篇章關係、句間關係等)。語篇解析技術已成功應用於問答、文字分類、情感分類和語言建模等任務。
目前大多數語篇解析技術主要關注於賓州篇章樹庫(Penn Discourse Treebank,PDTB)[1]和修辭結構理論樹庫(Rhetorical Structure Theory Discourse Treebank,RST-DT)[2]等資料集,或與之類似的其他語言的篇章語義關係語料庫。RST-DT與PDTB的釋出促進了語篇關係及篇章語義分析技術的進步,而這兩個語料的共同之處在於其原始資料均源自華爾街日報——典型的由單一作者完成的正規書面文字。
然而,書面文字資料上訓練得到的模型並不適用於口語資料。因此,針對口語資料的標註計劃緊接著被提出,作者嘗試採用PDTB 3.0和CCR的標註體系對電話對話資料和廣播採訪資料進行標註[3]。在標註過程中,作者探索了書面語與口語中篇章語義關係的區別。在英文書面文字中,顯式語篇關係與隱式語篇關係的比例非常接近,而在口語資料中,顯式關係的比例約是隱式關係比例的2倍。另一方面,PDTB 3.0和CCR中超過70%的關係可以互相對映。
不同於之前在新聞等獨白書面語資料集上的語篇解析,目前已有學者關注於資料偏口語化的多人對話中的語篇解析,主要有基於人工構建特徵的方法[4][5]和基於深度學習的方法[6]。在本文接下來的部分中,我首先會介紹本任務的相關工作,然後給出多人對話語篇解析的任務定義,以及已有工作,最後我將提出我對於本任務的分析和想法。
2 任務定義
我們可以將多人對話語篇解析任務形式化定義為:
輸入:,其中D 是一個多人對話的EDU序列,包含共n個EDU,而為人工指定的一個節點,便於後續處理。
輸出:,輸出為一個有向無環圖G。
V:頂點集,由EDU組成的頂點集且;
E:邊集,2個EDU之間存在邊當且僅當這2個EDU具備篇章語義關係,並且每條邊上僅有一類篇章語義關係;
R:篇章語義關係集合,包含對話 D 中的全部篇章語義關係。
注意:由若干個EDU可以組合形成CDU(複雜語義單元),由於CDU的識別以及CDU之間語義關係的識別均較為困難,目前的研究均不作考慮,僅考慮EDU之間的關係。
類似於PDTB和RST-DT,多人對話中的語篇解析任務中也需要識別篇章語義關係,例如對比關係(Contrast)。但是,不同於單一作者的書面文字,多人對話語篇解析需要去預測不相鄰EDU之間的語義關係。此外,由於多人對話中的EDU存在多父節點等問題,任務的輸出為一個圖結構,而非樹結構。相比於兩人對話資料,多人對話的主題更加分散,不同EDU之間的語義關係型別也更加多樣。
多人對話語篇解析旨在分析一個對話中的篇章語義關係,與依存句法分析和語義依存分析的區別主要有以下兩方面:
分析粒度不同。多人對話語篇解析中的基本單元是EDU,通常為一條訊息或一個句子,分析EDU與EDU之間的語義關係;而依存句法分析或語義依存分析旨在分析一個句子之中各詞語之間的語義關係。
邊的方向。在多人對話語篇解析任務中,大多數情況時一個EDU僅依賴於較早出現的EDU,即邊的指向從前向後。只有在少數情況時較晚的EDU連邊到較早EDU(佔比非常小),發生於同一個講者連續說的多句EDU之間。但是,依存句法或語義依存中依賴的方向更具有不確定的。
3 資料集
目前已有的多人對話語篇解析語料是STAC資料集[7]。該語料源自線上遊戲The Setters of Catan,該遊戲是一款多人蔘與的輸贏遊戲,玩家在遊戲的過程中可以隨時發言。
表1中列出了STAC語料的資料概況。從表1中我們可以看出該資料集中有10,677個EDU和11,348個關係例項,STAC資料集中的EDU通常為玩家傳送的一條訊息,或訊息中的一個句子。表1還說明EDU之間的篇章語義關係相對稀疏,平均每個EDU僅有1.06個關係。
表1 STAC 資料集概況
圖1中顯示了STAC中的一個對話例項。圖1的左側為原始的多人對話文字,其中包括A、B、C共3名參與者。圖1的右側顯示了對該對話進行語篇解析後的標準標註結果,其中的代表(1)~(6)的6條訊息,每條訊息作為一個基本語義單元(EDU),在輸出的有向圖中作為一個頂點。圖中的有向邊代表了篇章語義關係,例如的邊代表語義依賴於,而具體的篇章語義關係型別為Elab(Elaboration),即詳述關係。除了相鄰節點之間的關係,圖中存在著不相鄰節點的篇章語義關係,例如以及。
圖1 STAC樣例
在STAC資料集中共有16類語義關係,如表2所示。從表2可見,STAC中各類關係十分不均衡。例如,Comment(評論意見)、Acknowledgement(致謝)和Question-answer_pair(問答對)等關係共佔了資料集中的48%,而其餘13類關係所佔比例均較小。
表2 STAC中各類關係的分佈情況[7].
4 現有方法
關於多人對話語篇解析目前主要有3篇工作。第一篇論文由法國圖盧茲大學提出於EMNLP 2015[4],作者在文中詳細介紹了任務定義和STAC資料集。如前文所述,該任務旨在解析出多人對話中的語篇結構和篇章語義關係。作者採用了基於最大熵的人工構建特徵的方法來學習任意2個EDU之間的區域性資訊,通過最大熵獲取到的概率未直接應用於預測邊和關係,而是進一步使用了最大生成樹(MST)的方法用於解碼。該模型將任務簡化為樹結構的預測任務,這導致語料中9%的例項無法應用該模型。
由於基於MST的方法僅能預測樹結構的篇章依存關係,為了構建圖結構的篇章語義關係分析器,法國圖盧茲大學在前一篇論文的最大熵模型的基礎上融入了整數線性規劃(ILP),不僅考慮了兩個EDU之間的內部資訊,也融合了整個對話的全域性資訊[5]。
前兩篇論文均由同一單位提出,特點是採用了基於最大熵的人工構造特徵的方法,並分別採用MST和ILP進行解碼。與前人工作不同,清華大學黃民烈老師團隊於AAAI 2019發表了基於深度序列模型的多人對話語篇解析模型[6],模型結構如圖2所示。該模型的創新性主要在於三方面:首先,採用了深度神經網路自動學習特徵,摒棄了人工構建特徵的方法;其次,該模型在確定EDU父節點的同時學習到了包含路徑資訊的結構化表示,例如圖1中的;最後,作者首先引入了講者資訊。
圖2 基於深度序列模型的多人對話語篇解析[6].
STAC資料集上現有模型的F1值結果如表3所示(更多基線結果可檢視[4][5][6])。表中的Link代表邊預測任務,即判斷2個EDU之間是否存在篇章語義關係,是一個二分類任務;而Link & Rel 代表預測邊和關係,在預測邊的基礎上,還需要進行16-分類的篇章語義關係分類以確定具體的語義關係型別。從表3我們可以發現,融合結構化表示和講者資訊的深度序列模型效果明顯優於基於MST和ILP的方法,且省去了人工設計特徵的工作。
表3 STAC資料集上現有論文結果 (F1值).
5 結論
多人對話中的語篇解析是一個很有意義的研究工作,可以為其他NLP任務提供基礎。不過目前同時預測正確EDU之間的邊和關係的F1值僅有55.7,仍有很大的改進空間,同時也存在一些挑戰。首先,與句法依存和語義依存類似,該任務是一個non-projective 結構預測問題,即存在非相鄰節點之間的語義關係。其次,STAC中的篇章語義關係是一個嚴重不均衡的16類多分類資料集,不利於充分訓練模型。此外,STAC資料集僅有1萬多的例項,對訓練深度神經網路造成了一定的侷限性,不利於使用稍複雜的神經網路結構。
參考文獻
[1] Prasad, R., Dinesh, N., Lee, A., Miltsakaki, E., Robaldo, L., Joshi, A. K., & Webber, B. L. (2008, May). The Penn Discourse TreeBank 2.0. In LREC.
[2] Lynn Carlson, Daniel Marcu, and Mary EllenOkurowski. 2003. Building a discourse-tagged corpus in the framework of rhetorical structure theory. Springer.
[3] Ines Rehbein, Merel Scholman, and Vera Demberg. 2016. Annotating discourse relations in spoken language: A comparison of the pdtb and ccr frameworks. In LREC.
[4] Stergos Afantenos, Eric Kow, Nicholas Asher, and Jeremy Perret. 2015. Discourse parsing for multi-party chat dialogues. In Proceedings of the 2015Conference on Empirical Methods in Natural Language Processing, pages 928–937.Association for Computational Linguistics.
[5] Jeremy Perret, Stergos Afantenos, Nicholas Asher, and Mathieu Morey. 2016. Integer linear programming for discourse parsing. In Proceedings of the 2016Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pages 99–109. Association for Computational Linguistics.
[6] Zhouxing Shi and Minlie Huang. 2019. A deep sequential model for discourse parsing on multi-party dialogues. In Thirty-Third AAAI Conference on ArtificialIntelligence.
[7] Nicholas Asher, Julie Hunter, Mathieu Morey, Farah Benamara, and Stergos D Afantenos. 2016. Discourse structure and dialogue acts in multiparty dialogue: the staccorpus. In LREC.
附錄:相關連結整理
STAC資料集:https://www.irit.fr/STAC/corpus.html
Afantenos et al. EMNLP 2015(參考文獻[4]):
論文:https://aclanthology.info/papers/D15-1109/d15-1109
程式碼:https://github.com/irit-melodi/irit-stac
Perret et al. NAACL 2016(參考文獻[5]):
論文:https://aclanthology.info/papers/N16-1013/n16-1013
程式碼:https://github.com/irit-melodi/irit-stac
Shi and Huang. AAAI 2019(參考文獻[6])
論文:https://arxiv.org/abs/1812.00176
程式碼:https://github.com/shizhouxing/DialogueDiscourseParsing