論文連接配接
文本分類通常分為兩個階段
- 文本特征提取
- 文本分類
在标準化形式中,類别僅代表了标簽詞彙表中的索引,模型缺乏關于分類内容的描述。
論文方法概述
論文提出了一個新的文本分類架構,其中每個類别标簽都與一個類别描述相關聯。描述是由手工制作的模闆或使用強化學習的抽象/提取模型生成的。描述和文本的連接配接被提供給分類器,以決定是否應該将目前标簽配置設定給文本。
文本分類任務: 将一個或多個類别标簽配置設定給一個文本标記序列(情感分類、主題分類、垃圾郵件檢測等)文本分類任務的這種标準形式化有一個内在的缺點:類别僅僅表示為标簽詞彙表中的索引,缺乏關于分類内容的明确說明。标簽隻能在監督信号反向傳播到特征提取步驟提取的特征向量時影響訓練過程。
文本中的類訓示符,可能隻是一兩個關鍵詞,可能被深埋在巨大的文本塊中,使得模型很難從谷殼中分離出來。此外,不同類的信号可能會糾纏在文本中。
例如情感分類,一篇評論中可以包含對不同方面的情感表示,如clean updated room. friendly efficient staff . rate was too high.
論文提出了一個新的文本分類架構: 其關鍵點是将每個類與一個類描述關聯起來,以便明确地告訴模型要分類什麼。
例如:分類對一個酒店的描述内容是積極還是消極的,定義一個評價為 x = { x 1 , x 2 , . . . , x n } x=\left \{x_1, x_2, ... ,x_n \right \} x={x1,x2,...,xn} ,論文方法将對酒店的描述和内容的評價進行結合 [ C L S ] p o s i t i v e l o c a t i o n [ S E P ] x [CLS]positive location[SEP]x [CLS]positivelocation[SEP]x
通過明确描述的分類内容(标簽),迫使模型關注與标簽相關的最顯著的文本,這也可以被視為注意力。
該方法存在的難點與解決方案
這種方法的一個關鍵問題是如何獲得類别描述,同時傳統的方法存在一定缺點:
(1)預先定義每個類别的描述的人工量較大,特别是當類别數量較大時;
(2)模型性能對描述的建構方式很敏感,人工生成的模闆可能不是最優的。
為了解決這個問題,我們提出使用強化學習來自動生成描述。描述可以以提取的方式生成,提取輸入文本的子字元串并将其作為描述,或者以抽象的方式,使用生成模型生成标記字元串并将其作為描述。該模型以端到端方式進行訓練,共同學習生成适當的類描述,并為文本配置設定正确的類标簽。
文本分類任務
考慮一個文本序列 x = { x 1 , x 2 , . . . , x L } x=\left \{x_1, x_2, ... ,x_L \right \} x={x1,x2,...,xL},其中L是文本序列的長度,每個x與一個類标簽 y ∈ [ 1 , N ] y\in [1, N] y∈[1,N]相關聯,單标簽分類任務時y隻取一個值,多标簽分類任務y取多個值.
基于描述的文本分類形式化中,每個類y都有一個獨特的自然語言描述 q y = { q y 1 , . . . , q y L } q_y = \left \{q_{y_1}, ... ,q_{y_L} \right \} qy={qy1,...,qyL}
訓練一個二分類器來決定該标簽描述y,是否應該配置設定給執行個體x,标簽描述集合 q y q_y qy
方法:
将标簽描述 q y q_y qy與文本進行結合, { [ C L S ] ; q y ; [ S E P ] ; x } \left \{[CLS]; q_y; [SEP]; x \right \} {[CLS];qy;[SEP];x}然後送入BERT,得到上下文表示 h [ C L S ] h[CLS] h[CLS], 然後通過sigmoid函數将 h [ C L S ] h[CLS] h[CLS]轉換程0~1之間的數值,表示标簽描述y被配置設定給文本x的機率;
- 對于将多個标簽配置設定給一個執行個體x的任務,得到标簽集
- 對于N标簽描述的分類任務,一個執行個體x需要N個标簽描述
建立标簽描述
論文中建構了三種标簽描述政策:模闆政策、提取政策、抽象政策
使用不同政策建構的描述示例:
- 模闆政策
參考文獻: Entity-relation extraction as multi-turn ques-tion answering;Zero-shot relation extraction via reading comprehension
-
提取政策
因為模闆政策存在(1)預先定義每個類别的描述的人工量較大,特别是當類别數量較大時;(2)模型性能對描述的建構方式很敏感,人工生成的模闆可能不是最優的,這兩大缺點,是以論文方法希望模型能夠自己學會生成最合适的描述。
提取模型
對于輸入的本文 x = { x 1 ; . . . ; x T } x=\left \{x_1; ... ; x_T \right \} x={x1;...;xT}為每一個标簽q生成一個描述 q y x q_{yx} qyx, 其中 q y x q_{yx} qyx是x的子串。對于輸入的不同x,相同的類可以生成的不同的描述。同時對于生成的可比對類别y的描述是x的字串,對于文本x中沒有能比對的類别y的子集時,論文設定了一個N虛拟token,如果提取模型輸出的虛拟token,它将使用不同類别的手工制作的模闆作為描述。
為了反向傳播表明哪個字串對分類性能的貢獻,論文使用強化學習的方法來擷取更合适的字串作為類的描述。
強化學習模型
動作
對于每個标簽y,action表示在x中選擇一個字串 { x i s ; . . . ; x i e } \left \{x_{i_s}; ... ; x_{i_e} \right \} {xis;...;xie}作為描述 q y x q_{yx} qyx,由于描述 q y x q_{yx} qyx是x的連續标記序列,是以僅需要選擇起始索引 i s i_{s} is和終止索引 i e i_e ie
對于每一個标簽y,選擇其描述的起始索引 i s i_{s} is的機率 π \pi π, 對于x中的每一個子集 x k x_k xk, 将輸入到BERT映射到一個表示 h k h_k hk, 然後給出 x i x_i xi作為描述 q y x q_{yx} qyx的起始描述:
最終子集 x k x_k xk作為描述 q y x q_yx qyx的機率表示為:獎勵函數:
這裡的獎勵值由前面章節中的分類模型給出
n表示x的最佳标簽選擇
REINFORCE
為了找到最優政策,我們使用了加強算法, 這是一種使期望報酬最大化的政策梯度方法。對于每個生成的描述 q y x q_{yx} qyx對應的x,定義其損失函數為:
其中b為基線值,設定為之前所有獎勵的平均值。初始化提取政策以生成虛拟token作為描述。然後基于獎勵對提取模型和分類模型進行聯合訓練。 -
抽象政策
生成模型使用seq2seq的方式,以x作為輸入,為不同的x生成不同的描述 q y x q_{yx} qyx。
action and policy
對于每個類标簽y,動作是生成的描述 q y x = { q 1 , . . . , q L } q_{yx}= \left \{q_{1}, ..., q_{L} \right \} qyx={q1,...,qL}, 政策 P s e q 2 s e q P_{seq2seq} Pseq2seq定義了給定x生成描述的整個字元串的機率。
論文使用Sequence level training with recurrent neural networks.方法訓練抽象政策模型。 然後基于獎勵對描述生成模型和分類模型進行聯合訓練。