<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          多標簽文本分類介紹,以及對比訓練

          共 2267字,需瀏覽 5分鐘

           ·

          2022-02-09 17:36

          今天我為大家主要介紹幾種多標簽文本分類的方法。


          一、文本分類介紹

          首先,我介紹下多元文本分類多標簽文本分類的的區(qū)別。

          1、Multi-Class:多分類/多元分類(二分類、三分類、多分類等)

          • 二分類:判斷郵件屬于哪個類別,垃圾或者非垃圾
          • 二分類:判斷新聞屬于哪個類別,機器寫的或者人寫的
          • 三分類:判斷文本情感屬于{正面,中立,負面}中的哪一類
          • 多分類:判斷新聞屬于哪個類別,如財經(jīng)、體育、娛樂等

          2、Multi-Label:多標簽分類

          • 文本可能同時涉及任何宗教,政治,金融或教育,也可能不屬于任何一種。
          • 電影可以根據(jù)其摘要內(nèi)容分為動作,喜劇和浪漫類型。有可能電影屬于romcoms [浪漫與喜劇]等多種類型。

          3、二者區(qū)別

          • 多分類任務中一條數(shù)據(jù)只有一個標簽,但這個標簽可能有多種類別。比如判定某個人的性別,只能歸類為"男性"、"女性"其中一個。再比如判斷一個文本的情感只能歸類為"正面"、"中面"或者"負面"其中一個。
          • 多標簽分類任務中一條數(shù)據(jù)可能有多個標簽,每個標簽可能有兩個或者多個類別(一般兩個)。例如,一篇新聞可能同時歸類為"娛樂"和"運動",也可能只屬于"娛樂"或者其它類別。

          例子:

          假設個人愛好的集合一共有6個元素:運動、旅游、讀書、工作、睡覺、美食

          二、多標簽文本分類

          下面,我會介紹3種文本多標簽分類的方法。

          1、改變輸出概率(probabilities)的計算方式和交叉熵的計算方式

          • tf.nn.sigmoid_cross_entropy_with_logits測量離散分類任務中的概率誤差,其中每個類是獨立的而不是互斥的。這適用于多標簽分類問題。
          • tf.nn.softmax_cross_entropy_with_logits測量離散分類任務中的概率誤差,其中類之間是互斥的(每個條目恰好在一個類中)。這適用多分類問題。
          • 在簡單的二進制分類中,sigmoid和softmax沒有太大的區(qū)別,但是在多分類的情況下,sigmoid允許處理非獨占標簽(也稱為多標簽),而softmax處理獨占類。


          2、改變輸出的全連接層。

          • 在輸出層設置多個全連接層,每一個全連接層對應一個標簽。
          • 損失函數(shù)為所有標簽損失函數(shù)的平均值。

          3、使用框架:Attention + seq2seq(Beam Search)

          • 上下文語義信息 -> 多標簽之間的關系。多標簽一般去看下并非獨立。
          • 將多標簽當作一個序列(類似一句話)。
          Attention 結構圖

          三、實踐

          以上3種方法,都有自己的優(yōu)缺點??赡懿煌娜藭胁煌南敕ǎ械娜藭X得第1種方法最好,有的人會覺得第2種會更種好,還有剩下一部分人會覺得第3種方法最好。我們有自己不同的理解,是因為我們都有自己的想法。(有想法可以留言評論)

          至于哪一種方法最好呢,實踐出真理。所以,之后,我會在同一個Pretraining LM的基礎上,通過修改下游任務的框架,按照以上3種方法逐一實現(xiàn)(附代碼)。


          四、文章

          1、改變輸出概率(probabilities)的計算方式和交叉熵的計算方式

          • 下游任務使用全連接層:
          HelloNLP:多標簽文本分類 [ALBERT](附代碼)
          • 下游任務使用TextCNN:
          HelloNLP:多標簽文本分類 [ALBERT+TextCNN](附代碼)


          2、改變輸出的全連接層

          HelloNLP:多標簽文本分類 [ALBERT+Denses](附代碼)


          3、基于Seq2Seq+Attention框架

          HelloNLP:多標簽文本分類 [ALBERT+Seq2Seq+Attention]

          四、模型對比

          接下來的實驗結果是基于一個多標簽的文本分類,其中標簽數(shù)量為96個。

          1、損失函數(shù)圖

          一共訓練了4個模型,分別是ALBERT、ALBERT+TextCNN、ALBERT+Seq2Seq+Attention和ALBERT+Denses,他們在上圖中的對應關系分別為:CML、CML_TextCNN、CML_SeqSeq和CML_Denses。訓練過程中,每一個框架使用的同樣的batch_size、learning_rate。

          在上圖中,從表面上看,基于ALBERT、ALBERT+TextCNN和ALBERT+Denses這三種框架下的Loss收斂的很快,這個是因為計算loss時,會考慮到標簽為0的情況,即標簽為空的情況(在項目中,很多樣本為空標簽)。


          2、精確率、召回率和F1值

          2.1、 評估方法

          這里的精確率、召回率和F1值都是針對有標簽的。

          在TP的情況下,存在兩種情況,一種是預測標簽和真實標簽完全一致,另一種是預測標簽和真實標簽只有部分一致。這兩種情況下我們計算的方式為:

          # 第一種情況
          TP = TP + 1
          # 第二種情況
          TP = TP + 0.5
          FN = FN + 0.5

          這樣做的目前主要是因為多標簽分類中,存在標簽部分召回或者過多召回(某一個樣本)。


          2.2、評估值

          從上表中可以看到,基于ALBERT+Denses的效果遠遠好于基于ALBERT的。另外,基于ALBERT+TextCNN較好于的ALBERT+Denses的效果。

          • ALBERT+TextCNN和ALBERT+Seq2Seq_Attention的效果接近。
          • 在推理速度上面,前面三個框架基本接近,ALBERT+Seq2Seq_Attention的速度比他們慢3倍。


          3、結論

          • 如果對推理速度的要求不是非常高,基于ALBERT+Seq2Seq_Attention框架的多標簽文本分類效果最好。
          • 如果對推理速度和模型效果要求都非常高,基于ALBERT+TextCNN會是一個不錯的選擇。
          瀏覽 23
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天堂网男人 | 高清无码h | 圆产精品久久久久久久久久久新郎 | 日韩伦理色片一区二区 | 亚洲黄色电影免费 |