作者:

JayLou婁傑

,本文首發於我的公眾號《

高能AI

》,大家一定要關注哦~

文字分類的一個大型“真香現場”來了:昨天JayJay的推文《

超強文字半監督MixText

》中告訴大家不要浪費沒有標註過的資料,但還是需要標註資料的!但今天介紹的paper,文字分類居然不需要任何標註資料啦!哇,真香!

當前的文字分類任務需要利用眾多標註資料,標註成本是昂貴的。而半監督文字分類雖然減少了對標註資料的依賴,但還是需要領域專家手動進行標註,特別是在類別數目很大的情況下。

試想一下,我們人類是如何對新聞文字進行分類的?其實,我們不要任何標註樣本,只需要利用和分類類別相關的少數單詞就可以啦,這些單詞也就是我們常說的關鍵詞。

BUT!我們之前獲取分類關鍵詞的方式,大多還是需要人工標註資料、或者人工積累關鍵詞的;而就算積累了某些關鍵詞,關鍵詞在不同上下文中也會代表不同類別。

那麼,有沒有一種方式,可以

讓文字分類不再需要任何標註資料呢

本文JayJay就介紹一篇來自「伊利諾伊大學香檳分校韓家煒老師課題組」的EMNLP20論文《

Text Classification Using Label Names Only: A Language Model Self-Training Approach

》。

這篇論文的最大亮點就是:

不需要任何標註資料,只需利用標籤名稱就在四個分類資料上獲得了近90%的準確率!

為此,論文提出一種

LOTClass

模型,即

L

abel-name-

O

nly

T

ext

Class

ification,

LOTClass

模型的主要亮點有:

不需要任何標註資料,只需要標籤名稱!

只依賴預訓練語言模型(

LM

),不需要其他依賴!

提出了

類別指示詞彙獲取方法

基於上下文的單詞類別預測任務

,經過如此訓練的LM進一步對未標註語料進行自訓練後,可以很好泛化!

在四個分類資料集上,

LOTClass明顯優於各弱監督模型

,並具有與強半監督和監督模型相當的效能。

論文下載:

https://

arxiv。org/pdf/2010。0724

5。pdf

程式碼開源:

https://

github。com/yumeng5/LOTC

lass

本文的組織結構為:

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

LOTClass總體流程

LOTClass

將BERT作為其backbone模型,其總體實施流程分為以下三個步驟:

標籤名稱替換

:利用並理解標籤名稱,透過MLM生成類別詞彙;

類別預測

:透過MLM獲取類別指示詞彙集合,並構建基於上下文的單詞類別預測任務,訓練LM模型;

自訓練

:基於上述LM模型,進一步對未標註語料進行自訓練後,以更好泛化!

下面我們就詳細介紹上述過程。

第一步:標籤名稱替換

在做文字分類的時候,我們可以根據

標籤名稱

聯想到與之相關聯的其他關鍵詞,這些關鍵詞代表系統類別。當然,這就需要我們從一個蘊含常識的模型去理解每個標籤的語義。很明顯,BERT等預訓練模型就是一個首選!

論文采取的方法很直接:對於含標籤名稱的文字,透過MLM來預測其可以替換的其他詞彙。

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

如上圖,展示了AG新聞語料中,體育新聞在不同的上下文中,標籤名稱“sports”透過MLM預測出的可以替換「sports」的詞彙。

具體地,每一個

標籤名稱位置

透過MLM預測TOP50最相似的替換詞,然後對於每一個類別的

標籤名稱

(Label Name)根據詞頻大小、結合停用詞共選取TOP-100,最終構建

型別詞彙表

(Category Vocabulary)。

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

透過上述方式找出了AG新聞語料每一個

類別-標籤名稱

對應的

類別詞彙表

,如上圖所示。

第二步:類別預測

像人類如何進行分類一樣,一種直接的方法是:利用上述得到的

型別詞彙表

,然後統計語料中類別詞彙出現的次數。但這種方式存在2個缺陷:

不同詞彙在不同的上下文中代表不同意思,不是所有在語料中出現的

型別詞彙

都指示該型別。在第一幅圖中,我們就可以清晰發現:單詞「sports」在第2個句子並不代表體育主題。

型別詞彙表

的覆蓋範圍有限:在特定上下文中,某些詞彙與類別關鍵字具有相似的含義,但不包含在類別詞彙表中。

為了解決上述缺陷,論文構建了一個新的

MCP任務

——

基於遮蔽的類別預測任務

(Masked Category Prediction,

MCP

),如下圖所示:

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

MCP任務共分為兩步:

獲取類別指示詞

:上述已經提到,

類別詞彙表中

不同的詞彙在不同上下文會指代不同類別。論文建立了一種查詢詞彙指示類別的方法(如上圖左邊所示):對於當前詞彙,首先透過BERT的MLM任務預測當前詞彙可替代的TOP50相似詞,然後TOP50相似詞與每個

類別詞彙表

進行比對,如果有超過20個詞在當前

類別詞彙表

中,則選取

當前詞彙

作為該類別下的「

類別指示詞

」。

進行遮蔽類別預測

:透過上一步,遍歷語料中的每一個詞彙,我們就可得到

類別指示詞

集合和詞彙所對應的標籤。對於

類別指示詞

集合中每一個單詞,我們將其替換為「MASK」然後對當前位置進行標籤分類訓練。

值得注意的是:MASK類別指示詞進行類別預測至關重要,因為這會迫使模型根據單詞上下文來推斷類別,而不是簡單地記住無上下文的類別關鍵字。透過MCP任務,BERT將更好編碼類別判斷資訊。

第三步:自訓練

論文將透過MCP任務訓練好的BERT模型,又對未標註語料進行了自訓練。這樣做的原因為:

仍有大規模語料未被MCP任務利用,畢竟不是每一個語料樣本含有類別指示詞。

MCP任務進行類別預測不是在「CLS」位置,「CLS」位置更利於編碼全域性資訊並進行分類任務。

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

論文采取的自訓練方式很簡單,如上圖所示,每50個batch透過軟標籤方式更新一次標籤類別。

LOTClass表現如何?

為了驗證LOTClass的效果,論文在4個分類資料集上與監督、半監督和弱監督進行了對比。

對於弱監督方法,則將整個訓練集作為無標註資料;對於半監督方法,每個類別選舉10個樣本作為標註資料;對於監督方法,則全部訓練集就是標註資料。

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

如上圖所示,

沒有自訓練的LOTClass方法就超過了一眾弱監督方法

,而利用自訓練方法後LOTClass甚至在AG-News上可以與半監督學習的SOTA——谷歌提出的UDA相媲美了,與有監督的char-CNN方法也相差不多啦!自訓練self-trainng為何如此強大?我們將在接下來的推文中會進一步介紹。

也許你還會問:

LOTClass相當於使用多少標註資料呢

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!

如上圖,論文給出了答案,那就是:

LOTClass效果相當於 每個類別使用48個標註文件的有監督BERT模型

總結與展望:利用標籤名稱,真香!

首先對本文總結一下:本文提出的LOTClass模型僅僅利用標籤名稱,無需任務標註資料!在四個分類資料上獲得了近90%的準確率,與相關半監督、有監督方法相媲美!LOTClass模型總體實施流程分三個步驟:

標籤名稱替換

MASK類別預測

自訓練

本文提出的LOTClass模型只是基於BERT,並沒有採取更NB的LM模型,每個類別最多使用3個單詞作為標籤名稱,沒有依賴其他工具(如回譯方式)。我們可以預測:隨著LM模型的升級,資料增強技術的使用,指標效能會更好!

利用標籤名稱,我們是不是還可以暢想一些“真香現場”呢?例如:

應用於NER任務

:發現實體類別下的更多指示詞,如「PERSON」類別;嗯嗯,再好好想象怎麼把那套MCP任務嵌入到NER任務中吧。

與半監督學習更好協作

:1)沒有標註資料時,可以透過LOTClass構建初始標註資料再進行半監督流程;2)將MCP任務設為半監督任務的輔助任務。

JayJay不說再見,歡迎關注我的公眾號《

高能AI

》,那裡是首發哦~(圖片不全,可直接到微信搜一搜高能AI)

韓家煒課題組重磅發文:文字分類只需標籤名稱,不需要任何標註資料!