《Dialogue Act Sequence Labeling using Hierarchical encoder with CRF》閱讀筆記
論文來源:AAAI2018
原文鏈接 轉載請註明出處:學習ML的皮皮蝦
本文要解決的問題主要是對話動作的識別問題,對話動作(Dialogue Acts ,簡稱DA)是指在對話中說話人在說這些話語時的意圖。 DA的識別簡化了對話語的解釋,能夠幫助機器理解對話。DAs的主要應用之一是用來構建一個自然語言對話系統,了解DA過去的話語有助於對當前的話語預測走向,從而當前回合生成的話語添加了限制條件。例如,如果之前的話語是問候類型,那麼下一個話語最有可能是相同類型的,即問候語。下圖展示的一個會話片段,顯示了這些DA之間的依賴關係。
本文將DA識別的問題看做為一個序列標註的問題,通過採用bi-lstm作為基礎單元的層級RNN網路提取特徵(詞級別,話語級別,會話級別,個人認為這裡因為多輪對話本身相對豐富的原因無字元級別),頂層通過CRF層將每個話語識別為對應的DA。採用CRF作為輸出層的原因是不僅能夠捕捉到語句之間的依存關係,還能夠兼顧到DA之間的依存關係(作者論文的立足點)。實驗證明在Switchboard和Meeting Recorder Dialogue Act數據及上分別比SoTA提高了2.2%,4.1%。
本文的主要貢獻:
- 採用了一個層級的Bi-LSTM-CRF模型,同時捕捉DA和話語之間的依存關係;
- 在兩個數據及上做了對比,其中一個數據集上已經很接近人工標註了;
- 分別做了加入語言特徵和intra-attention加入原始文本的方法,實驗結果顯示除了收斂速度加快對模型提升並沒有什麼用。
Models
整個回話可以被看做一個非常長的詞鏈,這樣會帶來在極限長度下的題圖消失/爆炸問題。為了消除這個問題,本文採用了層級的遞歸編碼。編碼器第一層採用Bi-LSTM對話語中的每個單詞進行編碼,通過一個LastPooling(最後一個節點的隱層神經元狀態理論上編碼了完全的的句子語義),輸入第二個Bi-LSTM層作為對話層級的編碼,並將其輸出作為CRF層的輸入,以捕捉標籤間的依賴關係,同時捕捉話語和DA標籤間的依存關係。
Hierarchical Recurrent Encoder
對於每個話語 中包含的單詞 ,進行如下操作:
其中, 表示embedding層,用每個時間步雙向的RNN拼接而成, 表示層級編碼器的utterance-level 層,作者提到理想情況下embedding層能夠獲得更細粒度的表示,所以在此就沒有加入字元級別或者詞根級別的信息。
每個話語 的表示 獲得的方式有很多種,例如average-pooling, max-pooling等。這裡採用的是last-pooling,如上文提到的原因,最後一個節點的隱層神經元狀態理論上編碼了完全的的句子語義。
得到 之後,再將他通過另一個bi-LSTM層獲得每個話語的另一個表示 ,並將其輸入到最後的分類層:
Linear Chain CRF
為了捕捉DA標籤之間的依存關係,採用了線性鏈CRF,給出標籤預測的概率:
其中, 是之前第二層獲得的向量表示, 是特徵方程,提供unary and pairwise potential。對數似然函數:
Experiments
Datasets:MRDA SwDA5
Hyperparameter Tuning
從模型對比可以看出,比SoTA提高了2.2%。
上圖中,行表示真正的標籤,列表示預測的標籤。文中提到通過上圖的標籤分析,一部分原因是ground truth 中的bias,一部分是標註者的主觀判斷。
Effect of Hierarchy and Label Dependency
從上表中可以清晰地看出每一層對最終結果的貢獻。
Effect of Linguistic Features and Context
語言特徵和文本信息在之前的一些研究中都對模型效果的提升產生了一定的貢獻。但在這個實驗中加入之後並沒有產生預期的效果,作者認為本文中的模型已經學到了大多數需要的信息。
Conclusion
本文顯示了模型遷移在不同問題上的強大作用,通過豐富的對比試驗來證明模型有效性的方法也值得我們學習。
推薦閱讀:
※數據集大全:25個深度學習的開放數據集
※Model, model告訴我,她到底在想什麼?
※第四章 自然語言處理的功能實現
※【機器閱讀理解】Fast and Accurate Reading Comprehension by Combining Self-Attention and Convolution
※關於神經網路參數初始化為全0的思考
TAG:自然語言處理 |