• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法

      2021-11-10 07:20:34梁永明楊小雨邱莉榕
      信息安全學(xué)報(bào) 2021年5期
      關(guān)鍵詞:群組消息向量

      梁永明, 田 恬, 楊小雨, 張 熙, 邱莉榕

      1 北京郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 中國 100876

      2 北京郵電大學(xué)可信分布式計(jì)算與服務(wù)教育部重點(diǎn)實(shí)驗(yàn)室 北京 中國 100876

      3 北京郵電大學(xué)計(jì)算機(jī)學(xué)院(國家示范性軟件學(xué)院) 北京 中國 100876

      1 引言

      微信、QQ、釘釘?shù)壬缃幻襟w已經(jīng)成為人們交流的主要渠道, 在這些媒體的聊天群組中, 群組用戶頻繁地發(fā)送消息互相回復(fù)進(jìn)行交流。群組聊天是一個(gè)多方多輪的對(duì)話場景, 群組用戶作為對(duì)話的參與者, 群組消息作為對(duì)話元素, 一段時(shí)間內(nèi)發(fā)送的群組消息構(gòu)成一個(gè)完整會(huì)話。不同于微博、Twitter、Facebook 等平臺(tái)明確限定評(píng)論間的回復(fù)關(guān)系, 群組成員在通過發(fā)送群組消息進(jìn)行交流時(shí), 消息間回復(fù)關(guān)系通常是隱式和非連續(xù)的, 即沒有指定的回復(fù)關(guān)系, 而且當(dāng)前消息不一定是上一條臨近消息的回復(fù),回復(fù)關(guān)系要根據(jù)具體的聊天場景確定。由于單條消息很難表達(dá)會(huì)話完整語義, 阻礙對(duì)會(huì)話內(nèi)容的整體理解, 識(shí)別消息間的回復(fù)關(guān)系成為深入理解群組內(nèi)容的關(guān)鍵。

      針對(duì)群組消息間的回復(fù)關(guān)系識(shí)別任務(wù)具有很大的挑戰(zhàn)。與之相關(guān)的是文本匹配任務(wù), 比如自然語言推理(Natural Language Inference, NLI)[1]、問答任務(wù)(Question Answering, QA)[2]。在以往的文本匹配任務(wù)中, 自然語言推理的前提和問答任務(wù)的問題通常作為句子A, 自然語言推理的假設(shè)和問答任務(wù)的答案作為句子B, 將句子A 和B 合并組成長序列, 輸入到模型中進(jìn)行分類, NLI、QA 只考慮句子A 和句子B中的信息來判斷句子對(duì)的句子間的關(guān)系。而群組消息間關(guān)系判斷更加困難, 不僅需要考慮當(dāng)前消息的文本信息, 并且需要考慮發(fā)送消息的用戶信息和當(dāng)前消息的上下文信息, 如何有效融合上述信息, 更加精準(zhǔn)的判斷群組消息間的回復(fù)關(guān)系, 成為本論文要解決的重要問題。

      群組消息間回復(fù)關(guān)系判斷任務(wù)已經(jīng)有了一些初步的研究工作, Li Y[3]提出增強(qiáng)的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)[4]的自然語言推理算法(Enhanced LSTM for Natural Language Inference,ESIM)[5]通過消息匹配將對(duì)話轉(zhuǎn)換為自然語言推理任務(wù)進(jìn)行消息預(yù)測(cè)。Gu J C[6]提出應(yīng)用BERT[7]捕獲消息間的交叉語義, 進(jìn)一步學(xué)習(xí)消息間的關(guān)系。Henghui Zhu H[8]提出掩碼Transformer[9]結(jié)構(gòu)學(xué)習(xí)消息間的回復(fù)關(guān)系。這些方法只使用消息的文本和上下文信息或其中部分信息, 未能充分建模消息回復(fù)場景下蘊(yùn)含的豐富的圖結(jié)構(gòu)信息。

      群組內(nèi)容主要由用戶、消息和消息中包含的單詞三種實(shí)體組成, 如何利用群組中實(shí)體以及實(shí)體間的關(guān)系是本文要解決的主要問題。圖結(jié)構(gòu)可以保存節(jié)點(diǎn)和節(jié)點(diǎn)間的關(guān)系, 可以基于群組內(nèi)容處理獲得群組實(shí)體和實(shí)體間的關(guān)系, 轉(zhuǎn)換為圖結(jié)構(gòu)節(jié)點(diǎn)和邊保存信息, 群組用戶、消息和單詞作為圖結(jié)構(gòu)中的節(jié)點(diǎn), 它們之間的關(guān)系作為圖結(jié)構(gòu)中的邊。圖模型可以很好地處理圖結(jié)構(gòu)中實(shí)體間的空間依賴關(guān)系, 如圖卷積網(wǎng)絡(luò)[10](Graph Convolutional Networks, GCN)和異質(zhì)圖注意力網(wǎng)絡(luò)(Heterogeneous Graph Attention Networks, HGAT)[11]等, 在很多領(lǐng)域都得到了很好的應(yīng)用效果。GCN 在同質(zhì)圖結(jié)構(gòu)上進(jìn)行圖卷積操作同時(shí)編碼局部圖的結(jié)構(gòu)特征和節(jié)點(diǎn)特征。HGAT 通過采用節(jié)點(diǎn)層和類型層組成的雙層注意力機(jī)制, 學(xué)習(xí)異質(zhì)圖結(jié)構(gòu)中不同相鄰節(jié)點(diǎn)的重要性以及不同類型節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的重要性進(jìn)行節(jié)點(diǎn)表示學(xué)習(xí)。圖模型在任務(wù)學(xué)習(xí)過程中融合節(jié)點(diǎn)特征和空間依賴關(guān)系,優(yōu)化并更新圖結(jié)構(gòu)中的任務(wù)節(jié)點(diǎn)與任務(wù)節(jié)點(diǎn)相關(guān)的其他節(jié)點(diǎn)的向量表示進(jìn)行表示學(xué)習(xí)。針對(duì)深度挖掘群組內(nèi)容判斷消息回復(fù)關(guān)系的難題, 可以將群組內(nèi)容轉(zhuǎn)換為由群組實(shí)體和實(shí)體間關(guān)系組成的圖結(jié)構(gòu),輸入圖模型進(jìn)行表示學(xué)習(xí), 進(jìn)一步預(yù)測(cè)消息間回復(fù)關(guān)系。

      針對(duì)群組消息回復(fù)關(guān)系判斷任務(wù), 本論文提出了基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法。首先,基于群組內(nèi)容構(gòu)建全局群組圖和生成自適應(yīng)消息圖,得到群組用戶、消息和單詞和它們間的關(guān)系并保存到圖結(jié)構(gòu)。全局群組圖包括群組用戶、消息和單詞三種實(shí)體以及它們之間的四種關(guān)系信息, 基于群組內(nèi)容的全局信息統(tǒng)計(jì)并計(jì)算得到實(shí)體間關(guān)系, 實(shí)體間關(guān)系包括: 用戶-用戶、用戶-消息、消息-單詞、單詞-單詞。自適應(yīng)消息圖由消息和消息間關(guān)系組成。群組消息間具有一定的局部相關(guān)性, 消息序列中消息通常只與當(dāng)前序列中的消息相關(guān)。不同消息序列中的消息間存在不同關(guān)系, 消息間關(guān)系難以直接計(jì)算得到。采用基于目標(biāo)任務(wù)自適應(yīng)消息圖生成方法,通過處理消息序列自適應(yīng)地生成消息間關(guān)系組成的消息圖。然后, 從全局群組圖中抽取與當(dāng)前消息序列相關(guān)的節(jié)點(diǎn)和節(jié)點(diǎn)間關(guān)系得到局部圖, 將局部圖和自適應(yīng)消息圖合并得到合并子圖, 作為圖模型的輸入。圖模型在輸入的合并子圖上進(jìn)行表示學(xué)習(xí), 輸出優(yōu)化后的融合圖結(jié)構(gòu)信息的節(jié)點(diǎn)向量表示。從輸出的節(jié)點(diǎn)向量表示中抽取消息對(duì)的向量表示, 輸入到孿生網(wǎng)絡(luò)(Siamese network)[12]預(yù)測(cè)消息對(duì)中消息間的回復(fù)關(guān)系, 完成群組消息間回復(fù)關(guān)系判斷任務(wù)。

      在公開數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上實(shí)驗(yàn)驗(yàn)證了, 本論文提出的模型在多個(gè)評(píng)估指標(biāo)上大幅優(yōu)于對(duì)比模型, 包括基于BERT 的句子對(duì)分類模型和短文本匹配通用模型ESIM。經(jīng)過用戶向量分析實(shí)驗(yàn), 表明該圖模型輸出的用戶向量表示能夠有效融合文本信息和回復(fù)結(jié)構(gòu)信息。

      本論文的主要貢獻(xiàn)包括以下三點(diǎn):

      (1) 提出了一個(gè)基于圖模型表示學(xué)習(xí)的群組消息回復(fù)關(guān)系判斷方法, 是首個(gè)嘗試使用圖模型解決群組消息回復(fù)關(guān)系判斷任務(wù)的方法。

      (2) 提出了自適應(yīng)生成消息圖的優(yōu)化, 處理不同的輸入消息序列生成任務(wù)相關(guān)的局部消息圖, 用于捕捉消息之間的隱式關(guān)聯(lián), 彌補(bǔ)人工構(gòu)圖的不足。

      (3) 實(shí)驗(yàn)驗(yàn)證了所提方法的有效性, 而且驗(yàn)證了所獲得的用戶向量有效融合了文本信息和回復(fù)結(jié)構(gòu)信息。

      2 相關(guān)工作

      2.1 會(huì)話消息分析

      會(huì)話消息分析一直是會(huì)話研究的熱點(diǎn), 會(huì)話消息研究從一開始的短文本對(duì)話(Short text conversation, STC)研究, 經(jīng)過了多輪兩方對(duì)話研究, 到現(xiàn)在的多輪多方對(duì)話研究, 經(jīng)過長期的發(fā)展。

      STC 是給定一條輸入消息, 預(yù)測(cè)合適的消息作為回復(fù)消息[13-14], 是單輪兩方對(duì)話的形式, 預(yù)測(cè)的過程中只單純考慮文本語義, 沒有給定和考慮對(duì)話兩方用戶信息和歷史會(huì)話信息。Li Y[3]提出的Res-ESIM 通過文本匹配方法將對(duì)話轉(zhuǎn)換為自然語言推理問題進(jìn)行消息預(yù)測(cè), 解決短文本消息對(duì)話關(guān)系預(yù)測(cè)問題。相比對(duì)完整對(duì)話進(jìn)行建模, 對(duì)短文本對(duì)話建模更加簡單直接, 應(yīng)用場景也更廣泛, 訓(xùn)練得到的短文本對(duì)話預(yù)測(cè)模型可以直接應(yīng)用在聊天機(jī)器人[15]和自動(dòng)回復(fù)場景[16]上。

      兩方多輪對(duì)話任務(wù)是給定兩個(gè)用戶和他們的歷史會(huì)話消息, 生成或選擇合適的消息作為當(dāng)前消息的回復(fù)消息?;貜?fù)消息生成任務(wù)大多數(shù)使用統(tǒng)計(jì)機(jī)器翻譯方法[17]或序列到序列(sequence-to -sequence,seq2seq)[18-19]模型生成合適消息?;貜?fù)消息選擇任務(wù)通常是基于檢索的方法使用排序模型[20-21]從候選消息中選擇得分最高的響應(yīng)消息作為回復(fù)消息。兩方多輪會(huì)話任務(wù)場景只限于兩個(gè)用戶之間比較短的對(duì)話序列, 沒有考慮對(duì)話雙方的用戶信息, 參考的上下文對(duì)話消息序列比較短, 消息生成或選擇模型適用于機(jī)器回復(fù)的實(shí)際場景。

      多方多輪對(duì)話是多個(gè)用戶進(jìn)行多次消息交互的會(huì)話, 是多個(gè)線程的會(huì)話相互交叉和糾纏的形式,貼合實(shí)際聊天群組場景。多方多輪對(duì)話的對(duì)話序列中隱藏著會(huì)話結(jié)構(gòu), 群組消息之間的回復(fù)關(guān)系屬于其中一部分結(jié)構(gòu)。多方多輪對(duì)話任務(wù)通過建模會(huì)話結(jié)構(gòu), 將多個(gè)不相關(guān)的會(huì)話區(qū)分開是一個(gè)解糾纏[22-23]的過程。Kummerfeld J K[24]提出通過實(shí)現(xiàn)一個(gè)前饋神經(jīng)網(wǎng)絡(luò)構(gòu)建一個(gè)由大量消息回復(fù)標(biāo)記組成的會(huì)話解糾纏數(shù)據(jù)集, 促進(jìn)聊天群組消息回復(fù)研究方法的發(fā)展,本方法也將使用會(huì)話解糾纏數(shù)據(jù)集進(jìn)行群組消息回復(fù)分析。最近, Gu J C[6]提出將BERT 應(yīng)用到會(huì)話解糾纏任務(wù), 捕獲消息間的交叉的語義, 挖掘深度語義判斷消息間的關(guān)系。Zhu H[8]提出掩碼Transformer結(jié)構(gòu)學(xué)習(xí)消息間的回復(fù)關(guān)系。上述會(huì)話結(jié)構(gòu)解糾纏的實(shí)現(xiàn)方法中通常只考慮局部消息序列關(guān)系區(qū)分多個(gè)會(huì)話, 很少考慮用戶信息和全局用戶關(guān)系信息。

      不同于上述工作, 本論文采用基于圖模型的群組元素及關(guān)系的表示學(xué)習(xí)方法挖掘群組內(nèi)容信息,學(xué)習(xí)群組消息間的回復(fù)關(guān)系。

      2.2 圖模型

      圖模型在處理圖結(jié)構(gòu)中實(shí)體之間的空間依賴性方面經(jīng)歷了很長時(shí)間的發(fā)展。圖模型假設(shè)實(shí)體之間的空間依賴性是節(jié)點(diǎn)狀態(tài)依賴于其鄰居節(jié)點(diǎn)狀態(tài),為了捕捉這種類型的空間依賴性, 通過信息傳遞、信息傳播和圖卷積等方面的研究, 研發(fā)得到各種類型的圖模型。圖卷積網(wǎng)絡(luò)在捕獲圖結(jié)構(gòu)局部空間依賴性方面取得了巨大的成功, 通過卷積操作將節(jié)點(diǎn)鄰居的信息傳遞給當(dāng)前節(jié)點(diǎn)來優(yōu)化節(jié)點(diǎn)的向量表示。圖卷積網(wǎng)絡(luò)適用于處理同質(zhì)圖結(jié)構(gòu), 前期工作已有實(shí)驗(yàn)數(shù)據(jù)表明[11], 圖卷積網(wǎng)絡(luò)的卷積操作學(xué)習(xí)異質(zhì)圖結(jié)構(gòu)的節(jié)點(diǎn)表示效果不太理想。最近, 處理異質(zhì)圖結(jié)構(gòu)的異質(zhì)圖注意力網(wǎng)絡(luò)出現(xiàn), 異質(zhì)圖注意力網(wǎng)絡(luò)的設(shè)計(jì)是為了學(xué)習(xí)文本語料庫中主題、文本和實(shí)體信息以及它們之間關(guān)系信息進(jìn)行文本分類。HAGT學(xué)習(xí)異質(zhì)圖結(jié)構(gòu)中信息, 通過采用節(jié)點(diǎn)層和類型層組成的雙層注意力機(jī)制, 學(xué)習(xí)異質(zhì)圖結(jié)構(gòu)中不同相鄰節(jié)點(diǎn)以及不同類型節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的重要性優(yōu)化節(jié)點(diǎn)的向量表示。異質(zhì)圖注意力網(wǎng)絡(luò)在處理異質(zhì)圖結(jié)構(gòu)方面相比于圖卷積網(wǎng)絡(luò)有了很大的提升, 但是異質(zhì)圖注意力網(wǎng)絡(luò)處理的圖結(jié)構(gòu)是預(yù)定義的、靜態(tài)的和全局的, 在一些節(jié)點(diǎn)關(guān)系未知和節(jié)點(diǎn)局部相關(guān)的圖結(jié)構(gòu)中, 異質(zhì)圖注意力網(wǎng)絡(luò)缺少對(duì)應(yīng)的處理方法和通用框架。

      3 消息回復(fù)關(guān)系判斷任務(wù)定義

      聊天群組中用戶間交互是群組實(shí)現(xiàn)的主要功能,用戶間消息回復(fù)是用戶間交互實(shí)現(xiàn)的方式, 消息間的回復(fù)行為下隱藏著消息間和用戶間的關(guān)系。本方法可以通過學(xué)習(xí)消息間的回復(fù)行為, 挖掘回復(fù)行為下消息間和用戶間的關(guān)系, 預(yù)測(cè)消息間的回復(fù)關(guān)系,同時(shí)優(yōu)化圖中節(jié)點(diǎn)的向量表示, 得到副產(chǎn)品優(yōu)化后的消息和用戶向量表示。下面對(duì)消息間回復(fù)關(guān)系判斷任務(wù)進(jìn)行詳細(xì)介紹。

      消息間回復(fù)關(guān)系判斷任務(wù)是判斷群組中的消息間是否存在回復(fù)關(guān)系, 如果存在回復(fù)關(guān)系則為正例,不存在則為負(fù)例。給定群組中的一個(gè)對(duì)話序列, 序列為 S1, S2, …, SN,SN+1, 消息SN+1為當(dāng)前消息, 本方法解決從序列中找出當(dāng)前消息SN+1的父消息 Si的問題。從序列中抽取當(dāng)前消息回復(fù)的消息和當(dāng)前消息未回復(fù)的消息與當(dāng)前消息組成消息對(duì), 作為正負(fù)樣本, 例如( Si,SN+1)和( Sj,SN+1), 其中 Si是SN+1回復(fù)的消息, Sj是SN+1未回復(fù)的消息中隨機(jī)抽取的一條。

      圖1 為構(gòu)建正負(fù)樣本的樣例, 圖中右側(cè)消息數(shù)據(jù)是從IRC ubuntu log[25]中隨機(jī)截取的連續(xù)N+1條消息, 1,2,3, …, N ,N+1是消息的序號(hào), 消息序列中只展示了部分消息, 中間部分消息省略沒有展示, 圖中每條消息是“<用戶名>:消息內(nèi)容”的格式。N+1 條消息中的第N+1 條為當(dāng)前消息, 第1 條消息到第N條消息為當(dāng)前消息的上下文消息。圖中線段形狀的箭頭曲線表示第N+1 條消息是第N–1 條消息的回復(fù),上下文消息中的其他消息是當(dāng)前消息的未回復(fù)消息。當(dāng)前消息和第 N–1 條消息組成正樣本( N- 1, N+ 1), 如圖1 中點(diǎn)狀箭頭所示。從未回復(fù)消息中隨機(jī)抽取一條消息與當(dāng)前消息組成負(fù)樣本( N- 3,N + 1), 圖中隨機(jī)抽取的是第N–3 條消息, 如圖1 中實(shí)線箭頭所示。

      圖1 正負(fù)樣本構(gòu)建樣例圖Figure 1 Positive and negative samples build sample graph

      將構(gòu)建得到的正負(fù)樣本消息對(duì)輸入到本模型中,判斷消息對(duì)是否存在回復(fù)關(guān)系并輸出預(yù)測(cè)結(jié)果, 預(yù)測(cè)結(jié)果為1, 證明組成消息對(duì)的兩條消息間存在回復(fù)關(guān)系, 否則組成消息對(duì)的兩條消息間不存在回復(fù)關(guān)系。

      4 消息回復(fù)關(guān)系判斷方法

      如何學(xué)習(xí)群組消息的交互行為是本文提出方法的核心內(nèi)容, 基于群組內(nèi)容特性, 本算法提出以下方法優(yōu)化群組消息交互行為學(xué)習(xí)方法。1)針對(duì)群組內(nèi)容特性將群組內(nèi)容轉(zhuǎn)換為靜態(tài)和動(dòng)態(tài)兩種類型圖結(jié)構(gòu), 實(shí)現(xiàn)了聊天群組圖結(jié)構(gòu)的針對(duì)性構(gòu)建方法。2)根據(jù)群組消息的局部性, 采用局部圖抽取和自適應(yīng)消息圖生成方法構(gòu)建, 得到局部會(huì)話的圖結(jié)構(gòu)。3)提出了圖模型框架, 挖掘局部會(huì)話的異質(zhì)圖結(jié)構(gòu), 學(xué)習(xí)消息間的回復(fù)關(guān)系。接下來對(duì)本方法以及方法中實(shí)現(xiàn)以上優(yōu)化方法的模塊進(jìn)行詳細(xì)介紹。

      圖結(jié)構(gòu)首先通過處理群組內(nèi)容構(gòu)建全局群組圖和生成自適應(yīng)消息圖, 從全局群組圖中抽取與需要判斷回復(fù)關(guān)系的消息對(duì)相關(guān)的節(jié)點(diǎn)和節(jié)點(diǎn)間關(guān)系得到局部圖, 將局部圖和自適應(yīng)消息圖合并作為圖模型的輸入, 圖模型在輸入的合并子圖上進(jìn)行表示學(xué)習(xí)并輸出節(jié)點(diǎn)的向量表示, 并從得到的節(jié)點(diǎn)向量表示中抽取消息對(duì)的向量表示, 輸入到孿生網(wǎng)絡(luò)模塊預(yù)測(cè)消息對(duì)間的回復(fù)關(guān)系。本方法包括圖的構(gòu)建和生成、局部圖獲取和合并、異質(zhì)圖注意力網(wǎng)絡(luò)(HGAT)、孿生網(wǎng)絡(luò)(Siamese network)四個(gè)模塊。

      (1)圖的構(gòu)建和生成模塊包括兩個(gè)子模塊: 全局群組圖構(gòu)建子模塊、自適應(yīng)消息圖生成子模塊。一方面, 全局群組圖構(gòu)建子模塊基于群組內(nèi)容的全局信息統(tǒng)計(jì)處理得到全局群組圖。另一方面, 群組消息的消息間具有一定的局部相關(guān)性, 消息序列中消息通常只與當(dāng)前序列中的消息相關(guān), 具有一定的局部性, 不同消息序列中的消息間關(guān)系難以直接得到。自適應(yīng)消息圖生成子模塊采用任務(wù)相關(guān)自適應(yīng)的圖學(xué)習(xí)方法, 基于目標(biāo)任務(wù)通過處理輸入的消息序列自適應(yīng)地生成消息間關(guān)系組成的消息圖。當(dāng)輸入群組消息時(shí), 自適應(yīng)消息圖生成子模塊只考慮當(dāng)前消息和當(dāng)前消息前N 條連續(xù)的歷史消息組成N+1 條消息,前N 條連續(xù)的歷史消息中包含當(dāng)前消息的回復(fù)消息和未回復(fù)消息, 將N+1 條消息輸入到自適應(yīng)消息圖生成模塊, 模塊輸出大小為( N+ 1) ·( N+ 1)自適應(yīng)消息圖。(2)局部圖獲取和合并模塊由兩個(gè)子模塊組成,分別為局部圖獲取子模塊、局部圖和自適應(yīng)消息圖合并子模塊。消息序列具有一定的局部相關(guān)性, 當(dāng)前消息通常只與當(dāng)前消息序列中的消息、發(fā)送消息的用戶和消息中的單詞3 種實(shí)體相關(guān), 只考慮與當(dāng)前消息相關(guān)的信息能大大減少噪聲信息, 提高當(dāng)前消息相關(guān)的任務(wù)效果。當(dāng)群組消息輸入時(shí), 全局群組圖中只有部分消息、用戶和單詞與當(dāng)前消息相關(guān), 當(dāng)前消息和當(dāng)前消息前N 條連續(xù)的歷史消息組成N+1 條消息是當(dāng)前消息的相關(guān)消息, 發(fā)送相關(guān)消息的用戶組成的用戶集是相關(guān)用戶, 相關(guān)消息中出現(xiàn)的單詞組成單詞集是相關(guān)單詞。從全局圖中抽取相關(guān)消息、相關(guān)用戶和相關(guān)單詞組成的節(jié)點(diǎn)和節(jié)點(diǎn)間的邊構(gòu)成局部圖, 局部圖的節(jié)點(diǎn)集由相關(guān)消息、相關(guān)用戶和相關(guān)單詞組成, 局部圖的邊集由節(jié)點(diǎn)集中節(jié)點(diǎn)間存在的邊組成。局部圖獲取子模塊從全局群組圖抽取與當(dāng)前消息相關(guān)的消息、用戶和單詞組成當(dāng)前消息的局部圖。局部圖和自適應(yīng)消息圖分別包含不同的節(jié)點(diǎn)關(guān)系信息, 局部圖和自適應(yīng)消息圖合并子模塊合并局部圖和自適應(yīng)消息圖得到最終的合并子圖, 作為異質(zhì)圖注意力網(wǎng)絡(luò)模塊的輸入。(3)異質(zhì)圖注意力網(wǎng)絡(luò)模塊在輸入的合并子圖上進(jìn)行表示學(xué)習(xí), 利用節(jié)點(diǎn)層和類型層組成的雙層注意力機(jī)制學(xué)習(xí)合并子圖中的信息并輸出更新后的節(jié)點(diǎn)向量表示。(4)孿生網(wǎng)絡(luò)模塊采用網(wǎng)絡(luò)參數(shù)共享權(quán)值方式, 從前N 條歷史消息中抽取當(dāng)前消息的回復(fù)消息或未回復(fù)消息,與當(dāng)前消息組成消息對(duì)作為輸入, 消息對(duì)的向量表示從異質(zhì)圖注意力網(wǎng)絡(luò)模塊輸出的節(jié)點(diǎn)向量表示中抽取得到。(5)孿生網(wǎng)絡(luò)模塊將兩個(gè)不同的輸入映射到相同的向量空間, 預(yù)測(cè)消息對(duì)的回復(fù)關(guān)系。最終將孿生網(wǎng)絡(luò)的輸出合并輸入到全連接層中, 經(jīng)過soft max 處理, 得到消息對(duì)的預(yù)測(cè)結(jié)果。

      圖2 為基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法框架圖, 圖中簡明地顯示了該方法的整體結(jié)構(gòu)和各模塊之間的連接情況。

      圖2 基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法框架圖Figure 2 Framework graph of the method for identifying the conversation responding relationships using graph representation learning

      接下來按順序?qū)D的構(gòu)建和生成、局部圖獲取和合并、異質(zhì)圖注意力網(wǎng)絡(luò)(HGAT)、孿生網(wǎng)絡(luò)(Siamese network)4 個(gè)模塊分別進(jìn)行詳細(xì)介紹。

      4.1 圖的構(gòu)建和生成模塊

      圖的構(gòu)建和生成由兩個(gè)子模塊組成: 全局群組圖構(gòu)建子模塊、自適應(yīng)消息圖生成子模塊。全局群組圖構(gòu)建子模塊基于群組內(nèi)容構(gòu)建全局群組圖, 自適應(yīng)消息圖生成子模塊基于目標(biāo)任務(wù)處理消息序列自適應(yīng)地生成消息間關(guān)系組成的消息圖。

      4.1.1 全局群組圖構(gòu)建子模塊

      該模塊是基于群組內(nèi)容的全局信息統(tǒng)計(jì)并計(jì)算得到全局群組圖。圖中有3 種類型的節(jié)點(diǎn): 用戶節(jié)點(diǎn)、消息節(jié)點(diǎn)、單詞節(jié)點(diǎn)。群組中的所有用戶構(gòu)成用戶節(jié)點(diǎn)集, 群組用戶發(fā)送的所有消息構(gòu)成消息節(jié)點(diǎn)集, 所有消息中出現(xiàn)的全部單詞構(gòu)成單詞節(jié)點(diǎn)集。圖中有4 種類型的邊: 用戶和用戶之間的邊、用戶和消息之間的邊、消息和單詞之間的邊、單詞和單詞之間的邊。用戶和用戶之間采用基于時(shí)間窗口的全局用戶點(diǎn)互信息方法(Pointwise Mutual Information,PMI)[26]計(jì)算用戶間的共現(xiàn)權(quán)重作為邊權(quán)重; 根據(jù)用戶發(fā)送消息, 在用戶和用戶發(fā)送的消息之間添加邊;消息和單詞之間采用單詞的全局TF-IDF(Term Frequency-Inverse Document Frequency, TF-IDF)[27]計(jì)算單詞的重要性權(quán)重作為邊權(quán)重; 單詞和單詞之采用基于滑動(dòng)窗口的全局單詞PMI 方法計(jì)算單詞間的共現(xiàn)權(quán)重作為邊權(quán)重。全局群組圖如圖3 所示, 圖中有3 種類型的節(jié)點(diǎn)和4 種類型的邊, 分別使用不同類型的圖形和線表示, 單詞節(jié)點(diǎn)、消息節(jié)點(diǎn)和用戶節(jié)點(diǎn)分別使用圓形、三角形和正方形表示, 用戶與用戶、用戶與消息、消息與單詞和單詞與單詞之間的邊分別使用實(shí)線、點(diǎn)與線段、線段和點(diǎn)組成的直線表示對(duì)應(yīng)節(jié)點(diǎn)對(duì)的節(jié)點(diǎn)間的邊。

      圖3 群組圖Figure 3 Group graph

      通過計(jì)算節(jié)點(diǎn)和節(jié)點(diǎn)之間的邊權(quán)重得到圖G 的鄰接矩陣A, 鄰接矩陣A 中的 Aij元素計(jì)算公式為:

      1) 成對(duì)單詞節(jié)點(diǎn)間的權(quán)重計(jì)算

      成對(duì)單詞節(jié)點(diǎn)間的權(quán)重計(jì)算公式 PMI (i, j )為:

      Q 是群組消息中所有滑動(dòng)窗口的總數(shù)量, Q ( i)表示滑動(dòng)窗口中包括單詞i 滑動(dòng)窗口的數(shù)量, Q (i , j)表示滑動(dòng)窗口中同時(shí)包含單詞i 和單詞j 的滑動(dòng)窗口的數(shù)量。

      2) 消息和單詞節(jié)點(diǎn)之間的權(quán)重計(jì)算

      消息和單詞節(jié)點(diǎn)之間的單詞重要性權(quán)重計(jì)算公式TF - IDF (i , j )為:

      3) 成對(duì)用戶節(jié)點(diǎn)間的權(quán)重計(jì)算

      成對(duì)用戶節(jié)點(diǎn)間的共現(xiàn)權(quán)重計(jì)算公式PMItime_window(i, j)為:

      Qu是群組消息序列對(duì)應(yīng)的用戶序列中時(shí)間維度上滑動(dòng)窗口的總數(shù)量, Qu(i )表示滑動(dòng)窗口中包括用戶i 滑動(dòng)窗口的數(shù)量, Qu(i , j )表示滑動(dòng)窗口中同時(shí)包含用戶i 和用戶j 的滑動(dòng)窗口數(shù)量。

      4.1.2 自適應(yīng)消息圖生成子模塊

      自適應(yīng)消息圖生成子模塊是基于目標(biāo)任務(wù)通過處理輸入的消息序列自適應(yīng)地生成消息間關(guān)系組成的消息圖, 保存捕捉到的消息序列中消息間關(guān)系。自適應(yīng)消息圖由消息和消息之間的關(guān)系構(gòu)成, 消息圖中的節(jié)點(diǎn)為消息, 消息圖中的邊表示消息和消息之間的相關(guān)性強(qiáng)弱?,F(xiàn)有的研究方法在構(gòu)建圖結(jié)構(gòu)方面, 大部分是通過距離度量來計(jì)算節(jié)點(diǎn)對(duì)的節(jié)點(diǎn)間的相似性或相關(guān)性[1-2],例如點(diǎn)積、余弦距離或歐幾里得距離。這種計(jì)算圖的方式, 一方面需求花費(fèi)O( N2)級(jí)別的高時(shí)間和空間復(fù)雜度, 計(jì)算時(shí)間和內(nèi)存成本隨著圖中節(jié)點(diǎn)數(shù)量的增加呈二次增長, 限制模型處理大圖的能力[28]。另一方面, 點(diǎn)積、余弦距離或歐幾里得距離這些距離度量方法并不適用于所有問題, 不同任務(wù)需要提取節(jié)點(diǎn)間不同的關(guān)系, 面向任務(wù)的節(jié)點(diǎn)對(duì)關(guān)系的生成方法更具有適用性和通用性。

      自適應(yīng)消息圖生成子模塊根據(jù)下游任務(wù)生成消息節(jié)點(diǎn)間關(guān)系組成的消息圖結(jié)構(gòu)。自適應(yīng)消息圖生成子模塊的輸入為群組的一個(gè)消息序列, 消息序列為 S1, S2, …, SN,SN+1, 序列長度為N+ 1, Si表示序列中的第i 條消息, 為了學(xué)習(xí)序列中消息之間的前后位置關(guān)系以及消息間的語義關(guān)系, 采用雙向長短期記憶網(wǎng)絡(luò)(Bi-directionalLong-ShortTermMemory,Bi-LSTM)[29]從正序和反序兩個(gè)方向?qū)W習(xí)得到所有位置的隱藏表示和最后的輸出, 通過一個(gè)全連接層將Bi-LSTM 的全部輸出進(jìn)行矩陣運(yùn)算得到 (N+ 1)2維度的輸出矩陣, 作為消息序列的自適應(yīng)消息圖對(duì)應(yīng)的鄰接矩陣 Aada。

      4.2 局部圖獲取和合并模塊

      局部圖的獲取和合并模塊由兩個(gè)子模塊組成:局部圖獲取子模塊、局部圖和自適應(yīng)消息圖合并子模塊。局部圖獲取子模塊從全局群組圖抽取與當(dāng)前消息序列相關(guān)的節(jié)點(diǎn)和節(jié)點(diǎn)間關(guān)系組成局部圖, 局部圖和自適應(yīng)消息圖合并子模塊合并局部圖信息和自適應(yīng)消息圖信息得到合并子圖, 接下來對(duì)兩個(gè)子模塊分別進(jìn)行詳細(xì)介紹。

      4.2.1 局部圖獲取子模塊

      聊天群組從被創(chuàng)建開始, 群組中每天都可能產(chǎn)生大量消息, 每條消息都有對(duì)應(yīng)的時(shí)間戳和發(fā)送該消息的群組用戶。分析群組消息時(shí), 當(dāng)前消息并不與所有群組消息都相關(guān), 當(dāng)前消息回復(fù)的消息只存在于當(dāng)前消息的上文中(當(dāng)前消息為會(huì)話的起始消息時(shí),上文中不存在當(dāng)前消息回復(fù)的消息), 并且是與當(dāng)前消息語義相關(guān)的消息, 群組消息關(guān)系具有空間相近性和語義相關(guān)性。通過考慮指定數(shù)量可能性大的上文范圍, 縮小考慮的消息數(shù)量, 可以大大減少噪聲信息, 提高當(dāng)前消息回復(fù)關(guān)系判斷的任務(wù)效果。從全局圖中提取與當(dāng)前消息序列相關(guān)的消息、用戶和單詞構(gòu)成局部圖。當(dāng)前消息序列的局部圖由以下節(jié)點(diǎn)組成:

      · 消息節(jié)點(diǎn): 當(dāng)前消息及上文連續(xù)N 條消息組成的大小為N+1 的窗口內(nèi)的消息。

      · 用戶節(jié)點(diǎn): 與消息節(jié)點(diǎn)的相關(guān)發(fā)送消息的用戶。

      · 單詞節(jié)點(diǎn): 出現(xiàn)在消息節(jié)點(diǎn)中的單詞。

      局部圖相比于全局圖, 有效地減少干擾消息,降低計(jì)算時(shí)間和內(nèi)存消耗。對(duì)大規(guī)模圖結(jié)構(gòu)的任務(wù)場景有更強(qiáng)的適用性。

      4.2.2 局部圖和自適應(yīng)消息圖合并子模塊

      局部圖和自適應(yīng)消息圖分別包含不同的節(jié)點(diǎn)關(guān)系信息, 兩種信息互相補(bǔ)充, 合并兩種圖結(jié)構(gòu)信息作為異質(zhì)圖注意力網(wǎng)絡(luò)模塊輸入的圖結(jié)構(gòu)。局部圖獲取子模塊從全局群組圖中抽取得到相關(guān)消息、用戶和單詞的節(jié)點(diǎn)和它們之間的關(guān)系組成局部圖。采用滑動(dòng)窗口的方式遍歷群組消息, 當(dāng)前消息及上文N 條消息組成的大小為N+1 的滑動(dòng)窗口得到消息序列 S1, S2, …, SN,SN+1, 自適應(yīng)消息圖生成子模塊基于該消息序列生成任務(wù)相關(guān)的自適應(yīng)消息圖。局部圖和自適應(yīng)消息圖合并子模塊合并自適應(yīng)消息圖和局部圖得到最終的合并子圖A~ , 作為異質(zhì)圖注意力網(wǎng)絡(luò)模塊的輸入。

      4.3 異質(zhì)圖注意力網(wǎng)絡(luò)(HGAT)模塊

      本部分使用HGAT 模塊來學(xué)習(xí)合并得到的合并子圖信息, HGAT 采用節(jié)點(diǎn)層和類型層組成的雙層注意力機(jī)制, 學(xué)習(xí)群組合并子圖結(jié)構(gòu)中不同相鄰節(jié)點(diǎn)的重要性以及不同類型節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的重要性進(jìn)行節(jié)點(diǎn)表示學(xué)習(xí)。

      合并子圖由不同類型的節(jié)點(diǎn)組成, 異質(zhì)圖注意力網(wǎng)絡(luò)采用異質(zhì)圖卷積方式處理異質(zhì)合并子圖。異質(zhì)合并子圖中不同類型節(jié)點(diǎn)擁有不同的向量表示,利用對(duì)應(yīng)的變換矩陣將不同類型的向量表示映射到公共向量表示空間。異質(zhì)圖卷積公式如下所示:

      給定一個(gè)特定類型的節(jié)點(diǎn), 不同類型的相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)產(chǎn)生不同程度的影響。相同類型的相鄰節(jié)點(diǎn)可能會(huì)攜帶更多有用的信息, 同一類型的不同相鄰節(jié)點(diǎn)也可能具有不同的重要程度。HGAT 使用一種的雙層注意機(jī)制獲取節(jié)點(diǎn)級(jí)和類型級(jí)的不同重要性。接下來分別對(duì)類型級(jí)和節(jié)點(diǎn)級(jí)的注意力權(quán)重計(jì)算方法介紹。

      1) 類型級(jí)的注意力權(quán)重計(jì)算

      2) 節(jié)點(diǎn)級(jí)的注意力權(quán)重計(jì)算

      節(jié)點(diǎn)級(jí)的注意力權(quán)重計(jì)算獲得不同相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的重要性, 降低噪聲節(jié)點(diǎn)的干擾。給定類型τ 的節(jié)點(diǎn)i 和類型τ′的相鄰節(jié)點(diǎn) i i ′?N , 基于節(jié)點(diǎn)i的向量表示ih 和鄰居節(jié)點(diǎn)的向量表示ih′計(jì)算節(jié)點(diǎn)級(jí)注意力得分, 節(jié)點(diǎn)ih′類型級(jí)的注意力權(quán)重為τα′:

      上式中Tδ 是節(jié)點(diǎn)級(jí)的注意力權(quán)重向量。最后使用softmax函數(shù)對(duì)節(jié)點(diǎn)級(jí)注意力得分進(jìn)行歸一化得到節(jié)點(diǎn)級(jí)的注意力權(quán)重:

      最后將包括類型級(jí)和節(jié)點(diǎn)級(jí)的雙層注意力機(jī)制融合到異質(zhì)圖卷積公式中, 得到以下公式:

      上式中τB 表示注意力權(quán)重矩陣,τB 的第i 行第i′列的元素為 bii′。

      4.4 孿生網(wǎng)絡(luò)(Siamese network)模塊

      孿生網(wǎng)絡(luò)采用網(wǎng)絡(luò)參數(shù)共享權(quán)值方式將兩個(gè)不同的輸入映射到同一向量空間, 進(jìn)行向量轉(zhuǎn)換、非線性處理和拼接操作, 最終輸入到目標(biāo)函數(shù)中判斷兩條消息的相關(guān)性。

      為了獲取數(shù)據(jù)對(duì)更多的交互信息, 目標(biāo)函數(shù)的輸入為進(jìn)行多種拼接操作處理后的數(shù)據(jù)對(duì), 將消息向量表示u 和v 與向量元素差u -v 拼接起來, 最終的目標(biāo)函數(shù)公式如下所示:

      上式 Wo?R3nxk為權(quán)重矩陣, 其中n 是消息向量表示的嵌入維數(shù), 3n 是拼接操作后向量的最終維度,k 是標(biāo)記數(shù)據(jù)的類別數(shù)量。將目標(biāo)函數(shù)的輸出和真實(shí)標(biāo)簽通過交叉熵?fù)p失函數(shù)優(yōu)化和訓(xùn)練模型, 交叉熵?fù)p失函數(shù)如下所示:

      上式中Npair為消息對(duì)的數(shù)量, yi為第i 對(duì)消息的真實(shí)標(biāo)簽, 真實(shí)標(biāo)簽為1 表示第i 對(duì)消息間存在回復(fù)關(guān)系, 為0 表示第i 對(duì)消息間不存在回復(fù)關(guān)系。?iy表示本模型輸出的第i 對(duì)消息間的回復(fù)關(guān)系預(yù)測(cè)值。

      5 實(shí)驗(yàn)

      本節(jié)是在IRC(Internet Relay Chat)數(shù)據(jù)集[24]和標(biāo)注數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn), 評(píng)估本模型在消息回復(fù)關(guān)系判斷任務(wù)上的實(shí)驗(yàn)效果, 與對(duì)比模型和消融實(shí)驗(yàn)數(shù)據(jù)對(duì)比分析實(shí)驗(yàn)結(jié)果。本模型在IRC 數(shù)據(jù)集上單詞節(jié)點(diǎn)的向量表示使用IRC 數(shù)據(jù)集glove-ubuntu.txt 文件GloVe-vectors 初始化, 消息節(jié)點(diǎn)的初始化向量表示通過累加該消息中所有單詞節(jié)點(diǎn)向量表示求平均得到, 用戶節(jié)點(diǎn)的初始化向量通過累加該用戶發(fā)布的所有消息向量表示求平均得到。在標(biāo)注數(shù)據(jù)集的微信、QQ 數(shù)據(jù)集上, 數(shù)據(jù)集中消息主要為中文形式,單詞節(jié)點(diǎn)向量表示使用 BERT 中文預(yù)訓(xùn)練模型bert-base-chinese[7]初始化。為了保證與IRC 數(shù)據(jù)集處理保持一致性, 消息節(jié)點(diǎn)和用戶節(jié)點(diǎn)的向量表示采用與IRC 數(shù)據(jù)集相同的處理方法初始化。接下來按順序從實(shí)驗(yàn)數(shù)據(jù)、評(píng)價(jià)指標(biāo)、對(duì)比實(shí)驗(yàn)和消融實(shí)驗(yàn)、實(shí)驗(yàn)結(jié)果、消息對(duì)向量距離分析、用戶向量分析六部分進(jìn)行詳細(xì)介紹。

      5.1 實(shí)驗(yàn)數(shù)據(jù)

      5.1.1 IRC 數(shù)據(jù)集

      本方法使用了IRC 數(shù)據(jù)集評(píng)估實(shí)驗(yàn)效果, IRC 數(shù)據(jù)集是從Linux 和Ubuntu 的Internet Relay Chat Log[25]收集的數(shù)據(jù)。IRC 數(shù)據(jù)集包含多個(gè)日期的聊天數(shù)據(jù), 每個(gè)日期聊天數(shù)據(jù)由1500 條左右消息數(shù)據(jù)組成。IRC 數(shù)據(jù)集的訓(xùn)練數(shù)據(jù)是由153 個(gè)日期的數(shù)據(jù)組成, 日期之間是不連續(xù)的, 每個(gè)日期的數(shù)據(jù)包含四種類型的數(shù)據(jù)文件, 四種數(shù)據(jù)文件分別為.trainc.raw.txt、.train-c.ascii.txt、.train-c.tok.txt、.train-c.an notation.txt。.train-c.raw.txt 是從IRC 聊天室中爬取特定日期連續(xù)消息數(shù)據(jù)組成的原始文件, .train-c.ascii.txt 是將.train-c.raw.txt 文件中的內(nèi)容轉(zhuǎn)換為ascii格式處理后的文件, .train-c.tok.txt文件是使用自動(dòng)標(biāo)記符和占位符替換.train-c.ascii.txt 文件中的稀有單詞處理后的文件, .train-c.annotation.txt 是標(biāo)注數(shù)據(jù)文件。標(biāo)注數(shù)據(jù)文件中每一行表示兩條消息間的回復(fù)關(guān)系, 例如: “1002 1003 -”表示日志中消息1003 是消息1002 的回復(fù)。每個(gè)日期文件中的消息數(shù)據(jù)都是從0 開始計(jì)數(shù), 每條消息都是.train-c.raw.txt文件中數(shù)據(jù)的一行。一條消息可以鏈接到它之前一條或多條消息, 每個(gè)鏈接關(guān)系分別在標(biāo)注數(shù)據(jù)文件中給出。當(dāng)消息鏈接到自身時(shí), 表示它是一個(gè)新對(duì)話的開始, 系統(tǒng)消息也被計(jì)數(shù)和標(biāo)注, 系統(tǒng)消息的標(biāo)注也是鏈接到系統(tǒng)消息本身。標(biāo)注數(shù)據(jù)文件從1000開始標(biāo)注消息間的回復(fù)關(guān)系, 前1000 條消息(包括第1000 消息)沒有標(biāo)注回復(fù)關(guān)系, 只為標(biāo)注數(shù)據(jù)提供上下文信息。IRC 數(shù)據(jù)集中提供glove-ubuntu.txt 文件,文件是在所有已爬取的Ubuntu IRC 日志.tok.txt 文件上訓(xùn)練得到Glove-vectors。

      IRC 數(shù)據(jù)集中的數(shù)據(jù)是從Internet Relay Chat 聊天室中爬取得到的, 聊天室中的用戶可以不斷加入和退出, 用戶數(shù)量和參與用戶是變化的。圖模型輸入的圖結(jié)構(gòu)是靜態(tài)、全局的, 模型開始訓(xùn)練前需要將群組內(nèi)容轉(zhuǎn)換為圖結(jié)構(gòu)并保存下來, 圖結(jié)構(gòu)在模型訓(xùn)練過程中不變化。為了滿足本方法圖結(jié)構(gòu)數(shù)據(jù)組成,本部分合并多個(gè)日期文件數(shù)據(jù)組成包含訓(xùn)練集和驗(yàn)證集的數(shù)據(jù)集。

      本方法旨在學(xué)習(xí)聊天群組中消息間的回復(fù)關(guān)系,然而數(shù)據(jù)中系統(tǒng)消息和鏈接到自身的消息(一個(gè)新對(duì)話的開始)不存在回復(fù)關(guān)系, 系統(tǒng)消息提供的信息有限, 還會(huì)帶來噪聲。在數(shù)據(jù)處理的過程中, 將數(shù)據(jù)中的系統(tǒng)消息刪除, 并將標(biāo)注數(shù)據(jù)中鏈接到自身的非系統(tǒng)消息(一個(gè)新對(duì)話的開始)歸為上下文消息, 為其他標(biāo)注數(shù)據(jù)提供上下文信息, 不作為訓(xùn)練和驗(yàn)證標(biāo)注數(shù)據(jù)使用。

      實(shí)驗(yàn)數(shù)據(jù)來自于IRC 數(shù)據(jù)集的訓(xùn)練集, 從IRC數(shù)據(jù)集的訓(xùn)練集中抽取兩個(gè)子數(shù)據(jù)集: 子數(shù)據(jù)集a和子數(shù)據(jù)集b, 實(shí)驗(yàn)數(shù)據(jù)的統(tǒng)計(jì)結(jié)果如表1 所示。

      表1 IRC 數(shù)據(jù)集統(tǒng)計(jì)結(jié)果Table 1 Statistics results of IRC dataset

      數(shù)據(jù)集a 數(shù)據(jù)集由訓(xùn)練集中前10 個(gè)連續(xù)日期的聊天數(shù)據(jù)組成, 10 個(gè)日期中的前8 個(gè)日期數(shù)據(jù)文件作為訓(xùn)練數(shù)據(jù), 后2 個(gè)數(shù)據(jù)文件作為驗(yàn)證數(shù)據(jù)。

      數(shù)據(jù)集b 數(shù)據(jù)集由5 個(gè)連續(xù)日期的聊天數(shù)據(jù)組成, 5 個(gè)日期中的前4 個(gè)日期數(shù)據(jù)文件作為訓(xùn)練數(shù)據(jù),最后1 個(gè)日期數(shù)據(jù)文件作為驗(yàn)證數(shù)據(jù)。

      2 個(gè)數(shù)據(jù)集中包含的聊天數(shù)據(jù)不交叉, 數(shù)據(jù)集間不存在重復(fù)數(shù)據(jù)。

      5.1.2 標(biāo)注數(shù)據(jù)集

      標(biāo)注數(shù)據(jù)集包括微信和QQ 兩個(gè)子標(biāo)注數(shù)據(jù)集。微信和QQ 兩個(gè)子標(biāo)注數(shù)據(jù)集是分別從社交工具微信和QQ中爬取的聊天群組歷史數(shù)據(jù), 通過人工標(biāo)注群組消息間的回復(fù)關(guān)系構(gòu)建得到。為了保證人工標(biāo)注群組消息間回復(fù)關(guān)系的準(zhǔn)確性, 每個(gè)標(biāo)注子數(shù)據(jù)集的標(biāo)注工作由兩位標(biāo)注人員標(biāo)注, 在標(biāo)注過程中,產(chǎn)生不一致的標(biāo)注結(jié)果時(shí), 交予第三位標(biāo)注者確定最終的標(biāo)注標(biāo)簽。標(biāo)注人員標(biāo)注過程中參考IRC 數(shù)據(jù)集的標(biāo)注規(guī)則進(jìn)行標(biāo)注, 標(biāo)注規(guī)則如下所示:

      · 如果當(dāng)前消息沒有回復(fù)任何消息, 是一個(gè)新對(duì)話的開始時(shí), 將當(dāng)前消息鏈接到消息本身, 回復(fù)關(guān)系標(biāo)注為–1。

      · 如果當(dāng)前消息是感嘆詞、噪音消息, 將當(dāng)前消息不鏈接到任何消息, 不作為實(shí)驗(yàn)數(shù)據(jù), 回復(fù)關(guān)系標(biāo)注為–2。

      · 如果當(dāng)前消息回復(fù)前面多條消息, 將當(dāng)前消息鏈接到前面多條消息, 回復(fù)關(guān)系標(biāo)注為前面多條消息的ID。

      · 如果當(dāng)前用戶發(fā)送多條消息回復(fù)前面的消息,包括以下兩種情況:

      · 當(dāng)前用戶發(fā)送的每條消息獨(dú)立回復(fù)前面消息,將每條消息鏈接到前面被回復(fù)的消息, 回復(fù)關(guān)系標(biāo)注為被回復(fù)消息的ID。

      · 當(dāng)前用戶發(fā)送每條消息是連續(xù)相關(guān)的, 后一條消息回復(fù)當(dāng)前用戶前一條消息, 將每條消息鏈接到當(dāng)前用戶的前一條消息, 回復(fù)關(guān)系標(biāo)注為前一條消息的ID。

      · 當(dāng)前用戶發(fā)送多條一樣的消息時(shí), 將重復(fù)消息鏈接到第一條原始消息, 回復(fù)關(guān)系標(biāo)注為第一條消息的消息ID。(比如: 一個(gè)問題被問了3次, 第2 次和第3 次連接到第1 次)

      按照上述標(biāo)注規(guī)則對(duì)群組數(shù)據(jù)標(biāo)注, 得到兩個(gè)標(biāo)注子數(shù)據(jù)集: 微信標(biāo)注子數(shù)據(jù)集、QQ 標(biāo)注子數(shù)據(jù)集, 標(biāo)注數(shù)據(jù)集的統(tǒng)計(jì)結(jié)果如表2 所示。

      表2 標(biāo)注數(shù)據(jù)集統(tǒng)計(jì)結(jié)果Table 2 Label results of IRC dataset

      5.1.3 正負(fù)樣本構(gòu)建

      5.2 評(píng)價(jià)指標(biāo)

      基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法是一種對(duì)消息間回復(fù)關(guān)系判斷的二分類方法, 選擇分類評(píng)價(jià)指標(biāo)召回率(Recall)、精準(zhǔn)率(Precision)、F1、準(zhǔn)確率(ACC)四種方法作為本實(shí)驗(yàn)的評(píng)價(jià)指標(biāo), 下面對(duì)Recall、Precision、F1、ACC 4 種方法詳細(xì)介紹。

      召回率(Recall): 召回率(Recall)為正確預(yù)測(cè)為1樣本數(shù)量占真實(shí)為1 樣本數(shù)量的比率。

      上式中TP 是預(yù)測(cè)為1 預(yù)測(cè)正確的樣本數(shù)量,FN 是預(yù)測(cè)為0 預(yù)測(cè)錯(cuò)誤的樣本數(shù)量。

      精確率(Precision):精確率(Precision)為正確預(yù)測(cè)為1 樣本數(shù)量占預(yù)測(cè)為1 樣本數(shù)量的比率。

      上式中FP 是預(yù)測(cè)為1 預(yù)測(cè)錯(cuò)誤的樣本數(shù)量。

      F1: F1 是由召回率(Recall)和精確率(Precision)計(jì)算得到, 同時(shí)考慮召回率和精確率, 相當(dāng)于Recall 和Precision 的調(diào)和平均值。F1 的公式如下:

      準(zhǔn)確率(ACC): ACC 是預(yù)測(cè)正確樣本數(shù)量占預(yù)測(cè)樣本的比率。ACC 計(jì)算公式如下:

      上式中TN 是預(yù)測(cè)為0 正確的樣本數(shù)量。

      5.3 對(duì)比實(shí)驗(yàn)和消融實(shí)驗(yàn)

      本部分在IRC 數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上評(píng)估本模型、對(duì)比模型和消融實(shí)驗(yàn)在消息間回復(fù)關(guān)系判斷任務(wù)上的實(shí)驗(yàn)效果。本方法屬于自然語言推理(NLI)任務(wù)實(shí)現(xiàn)的一種, 為了比較在NLI 任務(wù)上的實(shí)驗(yàn)效果,選擇NLI 方向的ESIM 作為對(duì)比算法。本模型在IRC數(shù)據(jù)集上使用 glove-ubuntu.txt 文件中的 GloVevectors 初始化輸入的向量表示, 在標(biāo)注數(shù)據(jù)集上使用BERT 中文預(yù)訓(xùn)練模型bert-base-chinese 初始化輸入的向量表示, 基于初始化的向量表示HGAT 模塊對(duì)節(jié)點(diǎn)表示進(jìn)一步更新。為了驗(yàn)證本方法的表示學(xué)習(xí)能力, 選擇表示學(xué)習(xí)算法TextCNN(Convolutional Neural Networks for Sentence Classification,TextCNN)[30]和BERT 作為對(duì)比算法, TextCNN 采用和本方法的節(jié)點(diǎn)相同初始化方式, BERT 使用預(yù)訓(xùn)練模型初始化向量表示。對(duì)比算法包括 BERT、TextCNN、ESIM 3 種, BERT、TextCNN 屬于向量表示學(xué)習(xí)算法, ESIM 是為自然語言推理設(shè)計(jì)的序列式推理算法。

      為了驗(yàn)證提出的優(yōu)化模塊有效性, 進(jìn)一步實(shí)現(xiàn)了本方法的多個(gè)消融實(shí)驗(yàn)。消融實(shí)驗(yàn)是去掉模型中部分優(yōu)化模塊后的實(shí)驗(yàn), 最后通過與本模型和其他消融實(shí)驗(yàn)對(duì)比實(shí)驗(yàn)數(shù)據(jù), 驗(yàn)證優(yōu)化模塊的有效性。本模型的消融實(shí)驗(yàn)包括去掉自適應(yīng)消息矩陣、去掉孿生網(wǎng)絡(luò)、同時(shí)去掉自適應(yīng)消息矩陣和孿生網(wǎng)絡(luò)三種消融實(shí)驗(yàn)。

      下面對(duì)上述對(duì)比算法和消融實(shí)驗(yàn)進(jìn)行詳細(xì)介紹。

      BERT: 使用預(yù)訓(xùn)練模型初始化的BERT 作為對(duì)比模型, 在NSP(Next Sentence Prediction)任務(wù)上使用數(shù)據(jù)集的訓(xùn)練集微調(diào)BERT 預(yù)訓(xùn)練模型N 輪, 統(tǒng)計(jì)模型在驗(yàn)證集上的評(píng)估數(shù)據(jù)作為實(shí)驗(yàn)結(jié)果。

      TextCNN: TextCNN 是一種利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本進(jìn)行分類的算法, 可以獲取文本的局部相關(guān)性特征。使用TextCNN 分別獲取消息對(duì)兩條消息的特征向量, 拼接兩條消息的特征向量轉(zhuǎn)換后輸入目標(biāo)函數(shù), 判斷消息對(duì)兩條消息間的回復(fù)關(guān)系。

      ESIM: ESIM 是一種專為自然語言推理設(shè)計(jì)的綜合Bi-LSTM 和注意力機(jī)制實(shí)現(xiàn)局部推理和全局推理相結(jié)合的序列式推理算法。ESIM 采用和本模型相同的初始化方式。

      消融實(shí)驗(yàn)介紹:

      -自適應(yīng)消息圖:去掉自適應(yīng)消息圖生成子模塊后的實(shí)驗(yàn)。

      -孿生網(wǎng)絡(luò):去掉孿生網(wǎng)絡(luò)模塊后的實(shí)驗(yàn)。

      -自適應(yīng)消息圖-孿生網(wǎng)絡(luò):同時(shí)去掉自適應(yīng)消息圖生成子模塊和孿生網(wǎng)絡(luò)模塊后的實(shí)驗(yàn)。

      5.4 實(shí)驗(yàn)結(jié)果

      接下來介紹本模型、對(duì)比模型和消融實(shí)驗(yàn)的參數(shù)設(shè)置: 學(xué)習(xí)率(Learning rate, lr)=1e-5; BERT、TextCNN、ESIM 模型中的其他參數(shù)設(shè)置為該模型的默認(rèn)值。為了避免極端情況發(fā)生, 所有模型和實(shí)驗(yàn)運(yùn)行10 次, 窗口大小N 設(shè)置為40, 每次運(yùn)行40 個(gè)Epoch, 計(jì)算10 次平均結(jié)果作為實(shí)驗(yàn)的最終結(jié)果。

      5.4.1 對(duì)比實(shí)驗(yàn)結(jié)果

      本部分是在IRC 數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上評(píng)估本模型與多個(gè)對(duì)比模型在消息間回復(fù)關(guān)系判斷任務(wù)上的實(shí)驗(yàn)效果, 分別在兩個(gè)數(shù)據(jù)集的驗(yàn)證集上統(tǒng)計(jì)評(píng)估數(shù)據(jù)作為實(shí)驗(yàn)結(jié)果, 并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析, 比較在消息間回復(fù)關(guān)系判斷任務(wù)上的效果。

      1) IRC 數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)

      本部分是驗(yàn)證本模型和對(duì)比模型在IRC 數(shù)據(jù)集上的實(shí)驗(yàn)效果, 統(tǒng)計(jì)所有模型在4 個(gè)評(píng)估指標(biāo)上的實(shí)驗(yàn)數(shù)據(jù), 并將實(shí)驗(yàn)數(shù)據(jù)以表格的形式呈現(xiàn)。為了更直觀地顯示各模型的實(shí)驗(yàn)數(shù)據(jù), 將IRC 數(shù)據(jù)集的2個(gè)子數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的最優(yōu)結(jié)果進(jìn)行加粗處理, 方便查看。本模型和對(duì)比模型在IRC 數(shù)據(jù)集4個(gè)評(píng)估指標(biāo)上的統(tǒng)計(jì)結(jié)果如表3 所示。

      表3 IRC 數(shù)據(jù)集評(píng)估結(jié)果Table 3 Evaluation results of IRC dataset

      為了驗(yàn)證模型的顯著性, 在數(shù)據(jù)集a 和數(shù)據(jù)集b上實(shí)現(xiàn)了10-fold 交叉驗(yàn)證實(shí)驗(yàn), 得到了所有模型在ACC、F1 指標(biāo)上的10 次實(shí)驗(yàn)結(jié)果。在ACC 和F1指標(biāo)上, 基于得到的10 次實(shí)驗(yàn)結(jié)果, 對(duì)我們模型和對(duì)比模型進(jìn)行了顯著性檢驗(yàn)實(shí)驗(yàn), P 值小于0.05, 結(jié)果表明我們的模型是顯著的。

      2) 標(biāo)注數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)

      本部分是驗(yàn)證本模型和對(duì)比模型在標(biāo)注數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果, 統(tǒng)計(jì)所有模型在4 個(gè)評(píng)估指標(biāo)上的實(shí)驗(yàn)數(shù)據(jù), 并將實(shí)驗(yàn)數(shù)據(jù)以表格的形式呈現(xiàn)。為了更直觀地顯示各模型的實(shí)驗(yàn)結(jié)果, 將標(biāo)注數(shù)據(jù)集的微信和QQ標(biāo)注子數(shù)據(jù)集4個(gè)評(píng)估指標(biāo)上的最優(yōu)結(jié)果進(jìn)行加粗處理, 方便查看。本模型和對(duì)比模型在標(biāo)注數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的統(tǒng)計(jì)結(jié)果如表4 所示。

      表4 標(biāo)注數(shù)據(jù)集評(píng)估結(jié)果Table 4 Evaluation results of Label dataset

      為了驗(yàn)證模型的顯著性, 在數(shù)據(jù)集a 和數(shù)據(jù)集b上實(shí)現(xiàn)了10-fold 交叉驗(yàn)證實(shí)驗(yàn), 得到了所有模型在ACC、F1 指標(biāo)上的10 次實(shí)驗(yàn)結(jié)果。在ACC 和F1指標(biāo)上, 基于得到的10 次實(shí)驗(yàn)結(jié)果, 對(duì)我們模型和對(duì)比模型進(jìn)行了顯著性檢驗(yàn)實(shí)驗(yàn), P 值小于0.05, 結(jié)果表明我們的模型是顯著的。

      3) 實(shí)驗(yàn)分析

      表3~表4 分別展示了本模型和對(duì)比模型在IRC數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上消息間回復(fù)關(guān)系判斷任務(wù)的實(shí)驗(yàn)結(jié)果, 從表中可以看到本模型在兩個(gè)數(shù)據(jù)集上都取得最優(yōu)的實(shí)驗(yàn)結(jié)果, 證明了本方法在群組消息間回復(fù)關(guān)系判斷任務(wù)上的有效性。BERT、TextCNN、ESIM 3 個(gè)對(duì)比模型中, 在兩個(gè)數(shù)據(jù)集上的四個(gè)評(píng)估指標(biāo)大部分表明BERT 性能最好, BERT 模型參數(shù)使用預(yù)訓(xùn)練模型初始化, TextCNN、ESIM 模型參數(shù)隨機(jī)初始化, 實(shí)驗(yàn)結(jié)果證明預(yù)訓(xùn)練模型在編碼文本語義信息方面的優(yōu)勢(shì)。本模型、TextCNN 和ESIM 的輸入初始化方式相同, 兩個(gè)數(shù)據(jù)集上分別采用IRC提供的 Glove-ubuntu 和 BERT 中文預(yù)訓(xùn)練模型bert-base-chinese 初始化向量表示。其中TextCNN 和ESIM 相比, ESIM 模型的實(shí)驗(yàn)結(jié)果優(yōu)于TextCNN 模型, TextCNN 使用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)單條消息的局部相關(guān)性特征; ESIM 綜合Bi-LSTM 和注意力機(jī)制實(shí)現(xiàn)局部推理和全局推理的結(jié)合, 深度挖掘消息對(duì)的交互關(guān)系信息。實(shí)驗(yàn)結(jié)果證明ESIM 的局部推理和全局推理的綜合推理在消息間關(guān)系判斷方面的有效性。本模型相比于TextCNN 和ESIM 模型在兩個(gè)數(shù)據(jù)集上都有較大提升, TextCNN 和ESIM 模型只是簡單使用了消息對(duì)中兩條消息的文本和它們之間的關(guān)系信息, 本模型不僅使用了消息對(duì)的文本信息, 也融合了用戶信息和上下文信息, 證明綜合使用群組內(nèi)容信息能有效提升判別消息回復(fù)關(guān)系能力。

      5.4.2 消融實(shí)驗(yàn)結(jié)果

      消融實(shí)驗(yàn)是本方法去掉部分優(yōu)化模塊后的實(shí)驗(yàn),在IRC 數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上實(shí)現(xiàn)消融實(shí)驗(yàn)并對(duì)比實(shí)驗(yàn)結(jié)果, 驗(yàn)證優(yōu)化模塊的有效性以及對(duì)回復(fù)判斷任務(wù)的提升效果。

      1) IRC 數(shù)據(jù)集上的消融實(shí)驗(yàn)

      本部分是驗(yàn)證消融實(shí)驗(yàn)在IRC 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果, 統(tǒng)計(jì)所有模型在4 個(gè)評(píng)估指標(biāo)上的實(shí)驗(yàn)數(shù)據(jù),并將實(shí)驗(yàn)數(shù)據(jù)以表格的形式呈現(xiàn)。為了更直觀地顯示各模型的實(shí)驗(yàn)結(jié)果, 將IRC數(shù)據(jù)集的2個(gè)子數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的最優(yōu)結(jié)果進(jìn)行加粗處理, 方便查看。消融實(shí)驗(yàn)在IRC 數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的統(tǒng)計(jì)結(jié)果如表5 所示。

      2) 標(biāo)注數(shù)據(jù)集上的消融實(shí)驗(yàn)

      本部分是驗(yàn)證消融實(shí)驗(yàn)在標(biāo)注數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果, 統(tǒng)計(jì)所有模型在4 個(gè)評(píng)估指標(biāo)上的實(shí)驗(yàn)數(shù)據(jù),并將實(shí)驗(yàn)數(shù)據(jù)以表格的形式呈現(xiàn)。為了更直觀地顯示各模型的實(shí)驗(yàn)結(jié)果, 將標(biāo)注數(shù)據(jù)集的微信和QQ標(biāo)注子數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的最優(yōu)結(jié)果進(jìn)行加粗處理, 方便查看。消融實(shí)驗(yàn)在標(biāo)注數(shù)據(jù)集4 個(gè)評(píng)估指標(biāo)上的統(tǒng)計(jì)結(jié)果如表6 所示。

      3) 實(shí)驗(yàn)分析

      本部分將進(jìn)一步分析各優(yōu)化模塊在回復(fù)關(guān)系判斷任務(wù)上的提升效果, 表5~表6 分別展示消融實(shí)驗(yàn)在2 個(gè)數(shù)據(jù)集上4 個(gè)評(píng)估指標(biāo)的實(shí)驗(yàn)結(jié)果。從表5-6中可以看到原模型在兩個(gè)數(shù)據(jù)集上幾乎都取得最優(yōu)的實(shí)驗(yàn)結(jié)果, 證明了提出的兩種優(yōu)化有效地提升了本方法的消息回復(fù)關(guān)系判斷能力。從表5 觀察得到,3 個(gè)消融實(shí)驗(yàn)相比于原模型, 在數(shù)據(jù)集a 的F1 指標(biāo)上分別下降14.97%、14.63%、0.37%, 在數(shù)據(jù)集b 的F1 指標(biāo)上分別下降28.76%、24.76%、0.39%, 去掉自適應(yīng)消息圖模塊兩個(gè)消融實(shí)驗(yàn)F1 指標(biāo)下降的最多,證明通過添加自適應(yīng)消息圖生成子模塊可以有效提升本方法的消息回復(fù)關(guān)系判斷能力。去掉孿生網(wǎng)絡(luò)模塊的消融實(shí)驗(yàn)和原模型相比, F1 值在兩個(gè)子數(shù)據(jù)集上下降均不到1%, 證明孿生網(wǎng)絡(luò)模塊可以提升本方法的消息回復(fù)關(guān)系判斷能力, 只是提升效果有限,F1 評(píng)估指標(biāo)上的提升效果不大。同理可分析表6 實(shí)驗(yàn)結(jié)果, 消融實(shí)驗(yàn)在微信和QQ 標(biāo)注子數(shù)據(jù)集F1 評(píng)估指標(biāo)上的實(shí)驗(yàn)數(shù)據(jù), 驗(yàn)證了提出的優(yōu)化模塊在消息回復(fù)關(guān)系判斷任務(wù)上有不同提升效果, 證明了自適應(yīng)消息圖生成子模塊可以有效提升本方法在消息回復(fù)關(guān)系判斷任務(wù)上的能力。

      表5 IRC 數(shù)據(jù)集消融實(shí)驗(yàn)評(píng)估結(jié)果Table 5 Evaluation results of IRC dataset ablation experiment

      表6 標(biāo)注數(shù)據(jù)集消融實(shí)驗(yàn)評(píng)估結(jié)果Table 6 Evaluation results of Label dataset ablation experiment

      表5 中, 數(shù)據(jù)集a 中, 去掉自適應(yīng)消息圖生成子模塊的消融實(shí)驗(yàn)在Recall 指標(biāo)上取得最好的結(jié)果,比原模型高出7.39%, 可是原模型比該消融實(shí)驗(yàn)在Precision 指標(biāo)上提升20.08%。原因是由于原模型添加自適應(yīng)消息圖生成子模塊學(xué)習(xí)消息序列的局部消息間的關(guān)系, 忽略局部區(qū)間外的一些無關(guān)消息, 同時(shí)可能忽略一些存在關(guān)系的消息對(duì), 導(dǎo)致實(shí)驗(yàn)結(jié)果在Precision 指標(biāo)上有巨大提升, 在Recall 指標(biāo)上數(shù)值有些許下降。去掉自適應(yīng)消息圖生成子模塊的消融實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果在Recall 指標(biāo)上數(shù)值提升比例小于在Precision 指標(biāo)上下降的比例, 完全可以彌補(bǔ)在Recall 指標(biāo)上的數(shù)值下降, 證明添加自適應(yīng)消息圖子模塊的有效性。同理可分析, 表6 微信數(shù)據(jù)集中Recall 評(píng)估指標(biāo)取得最優(yōu)結(jié)果, 其他指標(biāo)遠(yuǎn)低于原模型的現(xiàn)象。

      在表6 中, QQ 數(shù)據(jù)集中去掉孿生網(wǎng)絡(luò)模塊的消融實(shí)驗(yàn)取得ACC 評(píng)估指標(biāo)上的最優(yōu)結(jié)果, 在ACC 評(píng)估指標(biāo)上相比于原模型多出0.68%。在Recall、Precision、F1 3 個(gè)指標(biāo)上, 原模型相比于去掉孿生網(wǎng)絡(luò)模塊的消融實(shí)驗(yàn), 分別高出1.04%、0.38%、0.6%。實(shí)驗(yàn)結(jié)果表明去掉孿生網(wǎng)絡(luò)模塊的消融實(shí)驗(yàn)在ACC評(píng)估指標(biāo)上有些許提升, 添加孿生網(wǎng)絡(luò)模塊有助于提升原模型在消息回復(fù)關(guān)系判斷任務(wù)的Recall、Precision 和F1 3 個(gè)指標(biāo)上實(shí)驗(yàn)效果。

      5.5 消息對(duì)向量距離分析

      本部分對(duì)本方法的HGAT 模塊輸出的消息向量進(jìn)行分析, 比較真實(shí)標(biāo)簽中存在回復(fù)關(guān)系消息對(duì)和不存在回復(fù)關(guān)系消息對(duì)的兩條消息間的向量距離,分析HGAT 模塊輸出的消息向量表示和任務(wù)相關(guān)性,進(jìn)一步評(píng)估本方法的表示學(xué)習(xí)效果。圖4 消息對(duì)向量距離分析圖以箱線圖的形式展示了存在回復(fù)關(guān)系消息對(duì)和未回復(fù)消息對(duì)的向量距離統(tǒng)計(jì)結(jié)果, 圖中分別標(biāo)明兩種情況下第一四分位數(shù)(Q1)、中位數(shù)(M)、第三四分位數(shù)(Q3)、均值(Mean)、最大值(Max)等評(píng)估值, 直觀地比較兩種情況下的消息對(duì)向量距離。從圖中可以觀察兩種情況下的均值(Mean), 回復(fù)消息對(duì)比未回復(fù)消息對(duì)的平均向量距離短, 說明在任務(wù)學(xué)習(xí)的過程中HGAT 模塊更新節(jié)點(diǎn)向量表示過程中,消息節(jié)點(diǎn)向量表示可以學(xué)習(xí)消息對(duì)的回復(fù)關(guān)系信息,使得存在回復(fù)關(guān)系消息對(duì)比未回復(fù)消息對(duì)的空間距離更接近。從Q3 和均值的距離來看, 回復(fù)消息對(duì)向量距離的Q3 和均值小于未回復(fù)消息對(duì)向量距離的Q3 和均值, 說明回復(fù)的消息對(duì)向量距離的異常值數(shù)量較少和異常值異常程度小。經(jīng)過統(tǒng)計(jì)得到回復(fù)消息對(duì)中異常值個(gè)數(shù)為237, 占全部回復(fù)消息對(duì)的比例為0.09172。未回復(fù)消息對(duì)異常值個(gè)數(shù)為10560, 占未回復(fù)消息對(duì)的比例為0.09367, 滿足從圖中得到的分析結(jié)果。

      圖4 消息對(duì)向量距離分析圖Figure 4 Message pair vector distance analysis graph

      5.6 用戶向量分析

      接下來對(duì)本方法的HGAT 模塊輸出的用戶向量表示進(jìn)行分析, 分析統(tǒng)計(jì)真實(shí)標(biāo)簽得到用戶間回復(fù)次數(shù)和用戶間向量距離的關(guān)系, 評(píng)估HGAT 模塊輸出的用戶向量表示與任務(wù)相關(guān)性, 進(jìn)一步驗(yàn)證本方法的表示學(xué)習(xí)能力。相比于IRC 數(shù)據(jù)集, 標(biāo)注數(shù)據(jù)集中的微信和QQ 標(biāo)注子數(shù)據(jù)集分別來自一個(gè)單獨(dú)聊天群組, 數(shù)據(jù)集中的用戶流入流出不頻繁, 群組用戶大部分都是固定的, 可以作為群組用戶向量表示的分析對(duì)象。通過統(tǒng)計(jì)得到QQ 標(biāo)注子數(shù)據(jù)集參與群組聊天的用戶有76 位, 微信標(biāo)注子數(shù)據(jù)集中參與群組聊天的用戶有193 位, 微信標(biāo)注子數(shù)據(jù)集中參與用戶數(shù)量更多。為了減小群組用戶數(shù)量少導(dǎo)致用戶分析不全面、不充分的影響, 接下來使用得到的微信標(biāo)注子數(shù)據(jù)集用戶向量表示進(jìn)行用戶向量表示分析。

      為了分析HGAT 模塊輸出的用戶向量表示, 將用戶間向量距離和用戶間回復(fù)次數(shù)結(jié)合, 驗(yàn)證隨著用戶間回復(fù)次數(shù)增加用戶向量間距離的呈現(xiàn)趨勢(shì)。首先, 對(duì)用戶間回復(fù)次數(shù)數(shù)量和用戶間向量距離進(jìn)行統(tǒng)計(jì), 計(jì)算兩個(gè)用戶間相互回復(fù)次數(shù)總和作為兩個(gè)用戶間的總回復(fù)次數(shù), 將用戶間的總回復(fù)次數(shù)作為橫坐標(biāo); 計(jì)算特定回復(fù)次數(shù)的所有用戶間向量距離, 并計(jì)算向量距離累加和的平均值, 作為當(dāng)前回復(fù)次數(shù)的用戶間向量距離(縱坐標(biāo)), 其中回復(fù)次數(shù)為0 的向量距離是計(jì)算不存在回復(fù)的所有用戶間向量距離累加和的平均值。用戶間向量距離和回復(fù)次數(shù)的關(guān)系如圖5 所示。

      圖5 用戶向量分析圖Figure 5 User vector analysis graph

      從圖5 觀察得到, 隨著用戶間回復(fù)次數(shù)的增加,用戶間向量距離整體呈現(xiàn)下降的趨勢(shì), 即用戶間消息回復(fù)次數(shù)越多, 用戶間距離越相近。由于本模型訓(xùn)練過程中用戶數(shù)量和群組消息數(shù)量相對(duì)較少, 模型訓(xùn)練不充分, 少數(shù)回復(fù)次數(shù)較多的大于回復(fù)次數(shù)較少的用戶間向量距離。圖中呈現(xiàn)用戶間向量距離整體趨勢(shì)是下降的, 滿足最初的方法預(yù)期。

      6 總結(jié)和下一步展望

      本論文提出了基于圖表示學(xué)習(xí)的消息回復(fù)關(guān)系判斷方法, 該方法處理群組內(nèi)容轉(zhuǎn)換為圖結(jié)構(gòu), 通過圖模型綜合學(xué)習(xí)消息的文本信息、發(fā)送消息的用戶信息和上下文信息判斷消息間的回復(fù)關(guān)系。首先針對(duì)群組特性基于群組內(nèi)容構(gòu)建了全局群組圖和生成自適應(yīng)消息圖, 保存群組消息、用戶、消息中單詞三種實(shí)體信息和它們之間的關(guān)系?;谌航M聊天的局部性, 從全局群組圖中抽取與當(dāng)前消息序列相關(guān)的消息、用戶和單詞構(gòu)成局部圖, 局部圖與自適應(yīng)消息圖合并得到合并子圖作為當(dāng)前消息對(duì)輸入的圖結(jié)構(gòu)。將合并子圖輸入到HGAT 模塊進(jìn)行表示學(xué)習(xí), 輸出融合圖結(jié)構(gòu)信息的節(jié)點(diǎn)向量表示, 最后通過孿生網(wǎng)絡(luò)轉(zhuǎn)換消息對(duì)的向量空間并預(yù)測(cè)消息間的回復(fù)關(guān)系。在消息回復(fù)關(guān)系的學(xué)習(xí)過程中得到副產(chǎn)品——優(yōu)化后的用戶向量, 用戶向量有效融合了文本信息和回復(fù)結(jié)構(gòu)信息, 經(jīng)過用戶向量分析實(shí)驗(yàn)驗(yàn)證了用戶向量的有效性和合理性。在公開數(shù)據(jù)集和標(biāo)注數(shù)據(jù)集上通過對(duì)比實(shí)驗(yàn)驗(yàn)證本方法的有效性, 通過消融實(shí)驗(yàn)驗(yàn)證各優(yōu)化模塊提升本方法預(yù)測(cè)消息間回復(fù)關(guān)系的能力。

      本方法是預(yù)測(cè)群組消息間的回復(fù)關(guān)系, 預(yù)測(cè)過程中只考慮消息所屬會(huì)話部分消息間的局部語義,沒有考慮當(dāng)前消息所屬會(huì)話的整體語義, 忽略會(huì)話語義的完整性。后續(xù)研究會(huì)考慮會(huì)話語義的完整性,進(jìn)一步提升消息間回復(fù)關(guān)系的判斷能力。

      猜你喜歡
      群組消息向量
      向量的分解
      聚焦“向量與三角”創(chuàng)新題
      一張圖看5G消息
      關(guān)系圖特征在敏感群組挖掘中的應(yīng)用研究
      向量垂直在解析幾何中的應(yīng)用
      基于統(tǒng)計(jì)模型的空間群組目標(biāo)空間位置計(jì)算研究
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      消息
      消息
      消息
      特克斯县| 腾冲县| 分宜县| 大庆市| 新泰市| 禹城市| 德格县| 阿合奇县| 涞水县| 正定县| 凤城市| 桐城市| 霍邱县| 额尔古纳市| 砀山县| 瑞昌市| 吴江市| 五大连池市| 泰顺县| 七台河市| 武乡县| 哈密市| 黑水县| 通榆县| 曲阳县| 青神县| 泰宁县| 青龙| 卢氏县| 满洲里市| 兴海县| 安阳市| 嘉黎县| 武义县| 防城港市| 大安市| 赫章县| 响水县| 平武县| 永州市| 达日县|