對文本分類算法選擇和數據標注的研究
來源:用戶上傳
作者:
摘要:本文針對層出不窮的文本分類需求,重點針對基礎算法和數據標注進行了研究。
[關鍵詞]自然語言處理 文本分類 主動學習
1 文本分類引擎
對于一個文本分類項目,在架構上分為數據處理、文本分類、文本挖掘和結果展現四個部分。本文著重在分類引擎的設計上。
引擎需要考慮的因素很多,基于目前的技術發展,以下幾點需要重點考慮并解決:
(1)分類效果如何評價。
(2)如何選擇基礎算法。
(3)如何減少標簽數據量。
?。?)如何處理訓練數據的不均衡。
?。?)如何處理多達幾十上百的類別。
篇幅所限,本文重點關注算法選擇和數據標注
2 自然語言處理算法選擇
從2013年Word2Vec開始,可以選擇的常用基礎算法有GloVe,FastText,ELMo,GPT1.0,BERT,Bert as a service,MT-DNN,GPT2.0等等,最近一段時間發展的速度令人咋舌。具體如何進行選擇呢?
首先要選擇句子級別的算法,因為詞級別算法沒有考慮詞之間的關系和語序,不僅處理不了語義組合、多義詞、轉折、依賴等各種語言學上的語法現象,連簡單的語序也處理不了,我欠你一百萬和你欠我一百萬這種在語義上/現實社會中巨大的差異被忽視,語言處理能力較低。
其次要選擇預訓練模型,而不是從零開始構建。動輒幾億參數的預訓練模型以多層的神經網絡結構和巨大的訓練數據量,已經學會了大量的語言知識,具有了超凡的語言理解能力。而且這類模型很多公司從成本角度是無法自己訓練的,站在巨人的肩膀上會是明智的選擇。
再次,從實際應用的角度,算法是否易用,網絡資料是否齊全,也是要考慮的因素。因此上述的各種選擇中,基于Transformer/Self一Attention,并能提供下游任務接口的BERT就成為不讓之選。
3 高成本的數據標注
AI目前整體上還是處于弱人工智能階段,簡單說就是有人工才有智能,只有人類教會機器/算法如何工作,機器/算法才能分辨出不同的類別。這個教的具體動作,就是提供打好標簽的數據來訓練模型。大家常說的數據是基礎,數據是燃料,數據是動力都是這個意思。
而給數據打標簽的工作,也是目前人工智能領域的痛點之一,還催生了專門做數據標注的公司。常有人抱怨人工智能的項目一半以上的時間和費用都投入到了做數據標注上。
那么有沒有技術上的方法來減少這種痛苦呢?有,那就是主動學習(Active Learning),其目的不是不再標注數據,而是大大減少標注的數據量。其基本的原理是,通過人工智能的方法來主動選擇出標注意義更大的數據,以達到用一半的數據標注就能訓練出滿意效果的目的。
此方法的理論依據是標注數據量和模型正確率之間的關系。人們往往以為隨著數據量的增長,準確率會持續提升,其關系是向右上方升起的一根直線,即線性關系。而根據實際試驗,兩者的關系是一條弧線,在初始階段隨著標注數據量的增長,多次訓練的準確率會大幅提升,之后增幅就逐漸減小,效果越來越不明顯。
如何主動學習呢?方法很多,使用算法和信息熵迭代操作會大大提升效率。具體步驟說明如下:
第一個啟動模型采用遷移學習的思路,選擇其它項目的成熟模型作為啟動點。由于每個項目的具體分類不同,模型不能重用,但舉例來說,對洗衣機的負面評價判別模型,用在冰箱評價上也是一個好的起點,比起從零開始構造模型,會大大減輕工作量和縮短項目時間。
以遷移過來的模型作為初始模型,對全部沒有標注的數據直接分類。由于沒有標注,分類結果無法判斷對錯,但是每一行數據的分類結果可以生成總和為一的概率分布,而排在第一位的概率數字代表了模型對于分類的信心。概率越高,確定性越大,則信息熵越小,而我們需要挑選出來的是信息熵最大的那一批數據,對其進行標注。如果最難分類的數據都被成功歸屬到了正確的類別,那么其它數據就更容易分類了。這樣標注的數據就不再是隨機進行選擇,而是被精準定位,從而大大降低標注量。
用第一批標注的數據來訓練出第一個真實模型,而用此模型來挑選出下一批需要標注的數據,多次重復此過程,直至準確率曲線不再升高,或升高的幅度不值得再投入人員和時間進行標注,就結束模型訓練,完成分類任務。
參考文獻
[1]AshishVaswani et al.Attention is All You Need. arXiv 1706.03762.
[2]Jonas Gehring et al.Convolutional sequence to sequence learning.arXiv:1705.03122.
[3]Yonghui Wu et al. Google’s neural machine translation system:Bridging the gap between human and machine translation. arXiv:1609.08144.
[4]Christian Szegedy et al.Rethinking the inception architecture for computer vision.CoRR,abs/1512.00567.
[5]Jacob Dev1in et al.BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv 1810.04805.
[6]Denny Britz et al. Massive exploration of neural machine translation architectures.CoRR,abs/1703.03906.
轉載注明來源:http://www.hailuomaifang.com/1/view-14928111.htm