SGM:Sequence Generation Model for Multi-Label Classification(SGM)
SGM歷史意義:
? ? ? ?1、提出一種新奇的模型SGM
? ? ? ?2、給多標簽文本分類提供一種新的解決思路
? ? ? ?3、在兩個多標簽分類的數據集上取得了很好的結果
?
論文主要結構:
?
一、Abstract
? ? ? 多標簽文本分類因為標簽之間的相關性所以是一個非常有挑戰性的工作,并且文本不同部分對于標簽的預測的重要性不同,基于這兩點,這篇論文提出一種基于注意力機制的序列生成模型來做多標簽文本分類
二、Introduction
? ? ? (任務重要性 -> 前人缺點 -> 本文提出相關模型 -> 實驗)
? ? ? 1、多標簽文本分類是自然語言處理的重要任務,多標簽文本分類可以用到文本分類、推薦領域以及信息檢索任務中
? ? ? 2、目前的多標簽文本分類模型存在兩個問題:沒有注意到標簽之間的相關性以及不同文本對于不同標簽分類的重要性不同
? ? ? 3、為了解決這兩個問題,這篇論文使用SeqSeq模型模型學習標簽之間的相關性,使用注意力機制學習不同文本的重要性
? ? ?4、實驗證明-模型能夠在兩個多標簽文本分類數據集上大幅度領先基準模型并且實驗結果表明可以解決上述問題
三、Proposed Model
? ? ? 本文提出SGM模型
? ? ? 本文首先總體概括一下主要做了什么工作
? ? ??
?
主要介紹了一句話是多標簽,會有一個標簽序列L,會根據訓練集按照label出現的次數進行統計,然后每一個文本對應的標簽序列,出現頻率比較高的標簽放在標簽序列的前面,“bos”、“eos”分別表示標簽序列的開始和結束,整體流程主要是首先輸入文本序列x,然后編碼獲取隱藏層狀態,利用注意力機制獲得向量ct,解碼部分是根據向量ct、上一層的隱藏狀態st-1以及解碼向量g(yt-1)獲得t時刻的隱藏層狀態st,最后通過一個mask softmax獲得輸出yt的概率分布。
模型整體結構圖:
具體結構細分包括: Encoder部分、Attention部分、Decoder部分、global embedding部分
1)Encoder部分
?
Encoder部分主要是輸入一個句子,把每一個詞embedding化,然后把每一個詞的embedding輸入到雙向LSTM網絡中,并將正向和反向的隱藏層狀態做concat作為該詞的最后隱藏層狀態表示(也就是上圖中的hi)
?
2)?Attention部分
?每個詞對標簽的貢獻不一樣,所以在隱藏層狀態表示部分添加一個注意力機制獲取每一個編碼隱藏層的權重(對應圖中ati),va相當于注意力機制中的query在這里也是一個動態的可學習的參數矩陣,wa、ua也是參數矩陣,ct表示attention value
3)?Decoder部分
?
g(yt-1)表示在yt-1的最大概率分布label的embedding,yt-1是在時間t-1的時刻標簽序列的概率分布,并且為了在標簽序列中防止相同的標簽被多次預測,在softmax部分添加一個It
?
4)global embedding部分
? ? ?
?
說的主要目的是當前時刻的標簽部分依賴于這個標簽序列上一時刻的標簽,如果上一時刻預測標簽有問題,那么這個標簽序列下一時刻也有很大的問題,相當于一錯再錯下去,提出的global embedding表示不在僅僅依賴與上一時刻而是依賴于全局,具體做法是對embeding進行加權求和也就是上述圖中的e',e表示上一時刻的embedding
?
四、Experiment
? ? ? 兩個數據集上實驗及實驗結果
?
介紹了兩個數據集以及多標簽評價指標以及后續介紹相關實驗設置、對比模型-baseline、主要實驗結果、實驗分析(不同參數取值對結果的影響、attention可視化等內容)
五、Related Work
? ? ? 介紹了前人在多標簽分類的相關論文以及內容
六、Conclusion and Feature work
? ? ?全文總結并對未來展望
? ? 關鍵點:
? ? ? ? 1、之前的模型沒有注意到標簽之間的相關性以及不同標簽分類的文本重要性不同
? ? ? ? 2、本文通過SeqSeq 學習標簽之間的相關性,通過注意力機制學習不同標簽得到重要相關文本
? ? ? ? 3、SGM模型
? ?創新點:
? ? ? ?1、將多標簽分類任務看成文本生成任務,可以學習標簽之間的相關性
? ? ? ?2、本文提出一種新的decoder結構,不僅可以獲取標簽之間的關系,并且可以自適應選擇不同的文本去分類不同的標簽
? ? ? ?3、實驗結果表明SGM模型能夠大幅度提高多標簽文本分類的效果
? ?啟發點:
? ? ? ?1、前人忽略標簽之間的相關性,并且沒有注意不同文本對于預測不同標簽的重要性不同
? ? ? ?2、beam search不能從根本上解決曝光誤差問題,因為這一誤差可能會出現在每一條可能的路徑上,而beam search只是選擇幾條最好的路徑
?
七、代碼實現
? ? 論文中公開了源碼:https://github.com/lancopku/SGM
?
?
?
?
總結
以上是生活随笔為你收集整理的SGM:Sequence Generation Model for Multi-Label Classification(SGM)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hierarchical Attenti
- 下一篇: Attention Is All You