文本分類的一個大型“真香現(xiàn)場”來了:JayJay的推文《超強文本半監(jiān)督MixText》中告訴大家不要浪費沒有標注過的數(shù)據(jù),但還是需要有標注數(shù)據(jù)的!但今天介紹的這篇paper,文本分類居然不需要任何標注數(shù)據(jù)啦!哇,真香!
當前的文本分類任務(wù)需要利用眾多標注數(shù)據(jù),標注成本是昂貴的。而半監(jiān)督文本分類雖然減少了對標注數(shù)據(jù)的依賴,但還是需要領(lǐng)域?qū)<沂謩舆M行標注,特別是在類別數(shù)目很大的情況下。
試想一下,我們?nèi)祟愂侨绾螌π侣勎谋具M行分類的?其實,我們不要任何標注樣本,只需要利用和分類類別相關(guān)的少數(shù)詞匯就可以啦,這些詞匯也就是我們常說的關(guān)鍵詞。
BUT!我們之前獲取分類關(guān)鍵詞的方式,大多還是需要靠人工標注數(shù)據(jù)、或者人工積累關(guān)鍵詞表的;而就算積累了某些關(guān)鍵詞,關(guān)鍵詞在不同上下文中也會代表不同類別。
那么,有沒有一種方式,可以讓文本分類不再需要任何標注數(shù)據(jù)呢?
本文JayJay就介紹一篇來自「伊利諾伊大學香檳分校韓家煒老師課題組」的EMNLP20論文《Text Classification Using Label Names Only: A Language Model Self-Training Approach》。
這篇論文的最大亮點就是:不需要任何標注數(shù)據(jù),只需利用標簽名稱,就在四個分類數(shù)據(jù)上獲得了近90%的準確率!
為此,論文提出一種LOTClass模型,即Label-name-OnlyTextClassification,LOTClass模型的主要亮點有:
不需要任何標注數(shù)據(jù),只需要標簽名稱!只依賴預(yù)訓練語言模型(LM),不需要其他依賴!
提出了類別指示詞匯獲取方法和基于上下文的單詞類別預(yù)測任務(wù),經(jīng)過如此訓練的LM進一步對未標注語料進行自訓練后,可以很好泛化!
在四個分類數(shù)據(jù)集上,LOTClass明顯優(yōu)于各弱監(jiān)督模型,并具有與強半監(jiān)督和監(jiān)督模型相當?shù)男阅堋?/p>
本文的組織結(jié)構(gòu)為:
LOTClass總體流程
LOTClass將BERT作為其backbone模型,其總體實施流程分為以下三個步驟:
標簽名稱替換:利用并理解標簽名稱,通過MLM生成類別詞匯;
類別預(yù)測:通過MLM獲取類別指示詞匯集合,并構(gòu)建基于上下文的單詞類別預(yù)測任務(wù),訓練LM模型;
自訓練:基于上述LM模型,進一步對未標注語料進行自訓練后,以更好泛化!
下面我們就詳細介紹上述過程。
第一步:標簽名稱替換
在做文本分類的時候,我們可以根據(jù)標簽名稱聯(lián)想到與之相關(guān)聯(lián)的其他關(guān)鍵詞,這些關(guān)鍵詞代表其類別。當然,這就需要我們從一個蘊含常識的模型去理解每個標簽的語義。很明顯,BERT等預(yù)訓練LM模型就是一個首選!
論文采取的方法很直接:對于含標簽名稱的文本,通過MLM來預(yù)測其可以替換的其他相似詞匯。
如上圖展示了AG新聞?wù)Z料(體育新聞)中,對于標簽名稱“sports”,可通過MLM預(yù)測出替換「sports」的相似詞匯。
具體地,每一個標簽名稱位置通過MLM預(yù)測出TOP-50最相似的替換詞,然后再整體對每一個類別的標簽名稱(Label Name)根據(jù)詞頻大小、結(jié)合停用詞共選取TOP-100,最終構(gòu)建類型詞匯表(Category Vocabulary)。
通過上述方式找出了AG新聞?wù)Z料每一個類別-標簽名稱對應(yīng)的類別詞匯表,如上圖所示。
第二步:類別預(yù)測
像人類如何進行分類一樣,一種直接的方法是:利用上述得到的類型詞匯表,然后統(tǒng)計語料中類別詞匯出現(xiàn)的次數(shù)。但這種方式存在2個缺陷:
不同詞匯在不同的上下文中代表不同意思,不是所有在語料中出現(xiàn)的類型詞匯都指示該類型。在第一幅圖中,我們就可以清晰發(fā)現(xiàn):單詞「sports」在第2個句子并不代表體育主題。
類型詞匯表的覆蓋范圍有限:在特定上下文中,某些詞匯與類別關(guān)鍵詞具有相似的含義,但不包含在類別詞匯表中。
為了解決上述缺陷,論文構(gòu)建了一個新的MCP任務(wù)——基于MASK的類別預(yù)測任務(wù)(Masked Category Prediction,MCP),如下圖所示:
MCP任務(wù)共分為兩步:
獲取類別指示詞:上述已經(jīng)提到,類別詞匯表中不同的詞匯在不同上下文會指代不同類別。論文建立了一種獲取類別詞匯指示的方法(如上圖左邊所示):對于當前詞匯,首先通過BERT的MLM任務(wù)預(yù)測當前詞匯可替代的TOP50相似詞,然后TOP50相似詞與每個類別詞匯表進行比對,如果有超過20個詞在當前類別詞匯表中,則選取當前詞匯作為該類別下的「類別指示詞」。
進行遮蔽類別預(yù)測:通過上一步,遍歷語料中的每一個詞匯,我們就可得到類別指示詞集合和詞匯所對應(yīng)的標簽。對于類別指示詞集合中每一個的單詞,我們將其替換為「MASK」然后對當前位置進行標簽分類訓練。
值得注意的是:MASK類別指示詞、進行類別預(yù)測至關(guān)重要,因為這會迫使模型根據(jù)單詞上下文來推斷類別,而不是簡單地記住無上下文的類別關(guān)鍵字。通過MCP任務(wù),BERT將更好編碼類別判斷信息。
第三步:自訓練
論文將通過MCP任務(wù)訓練好的BERT模型,又對未標注語料進行了自訓練。這樣做的原因為:
仍有大規(guī)模語料未被MCP任務(wù)利用,畢竟不是每一個語料樣本含有類別指示詞。
MCP任務(wù)進行類別預(yù)測不是在「CLS」位置,「CLS」位置更利于編碼全局信息并進行分類任務(wù)。
論文采取的自訓練方式很簡單,如上圖所示,每50個batch通過軟標簽方式更新一次標簽類別。
LOTClass表現(xiàn)如何?
為了驗證LOTClass的效果,論文在4個分類數(shù)據(jù)集上與監(jiān)督、半監(jiān)督和弱監(jiān)督進行了對比。
對于弱監(jiān)督方法,則將整個訓練集作為未標注數(shù)據(jù);對于半監(jiān)督方法,每個類別選舉10個樣本作為標注數(shù)據(jù);對于監(jiān)督方法,則全部訓練集就是標注數(shù)據(jù)。
如上圖所示,沒有自訓練的LOTClass方法就超過了一眾弱監(jiān)督方法,而利用自訓練方法后LOTClass甚至在AG-News上可以與半監(jiān)督學習的SOTA——谷歌提出的UDA相媲美了,與有監(jiān)督的char-CNN方法也相差不多啦!自訓練self-trainng為何如此強大?我們將在接下來的推文中會進一步介紹。
也許你還會問:LOTClass相當于使用多少標注數(shù)據(jù)呢?
如上圖,論文給出了答案,那就是:LOTClass效果相當于 每個類別使用48個標注文檔的有監(jiān)督BERT模型!
總結(jié)與展望:利用標簽名稱,真香!
首先對本文總結(jié)一下:本文提出的LOTClass模型僅僅利用標簽名稱,無需任務(wù)標注數(shù)據(jù)!在四個分類數(shù)據(jù)上獲得了近90%的準確率,與相關(guān)半監(jiān)督、有監(jiān)督方法相媲美!LOTClass模型總體實施流程分三個步驟:標簽名稱替換,MASK類別預(yù)測,自訓練。
本文提出的LOTClass模型只是基于BERT,并沒有采取更NB的LM模型,每個類別最多使用3個單詞作為標簽名稱,沒有依賴其他工具(如回譯方式)。我們可以預(yù)測:隨著LM模型的升級,數(shù)據(jù)增強技術(shù)的使用,指標性能會更好!
利用標簽名稱,我們是不是還可以暢想一些“真香現(xiàn)場”呢?例如:
應(yīng)用于NER任務(wù):發(fā)現(xiàn)實體類別下的更多指示詞,如「PERSON」類別;嗯嗯,再好好想象怎么把那套MCP任務(wù)嵌入到NER任務(wù)中吧~
與半監(jiān)督學習更好協(xié)作:1)沒有標注數(shù)據(jù)時,可以通過LOTClass構(gòu)建初始標注數(shù)據(jù)再進行半監(jiān)督流程;2)將MCP任務(wù)設(shè)為半監(jiān)督學習的輔助任務(wù)。
原文標題:韓家煒課題組重磅發(fā)文:文本分類只需標簽名稱,不需要任何標注數(shù)據(jù)!
文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6814瀏覽量
88743 -
人工智能
+關(guān)注
關(guān)注
1789文章
46656瀏覽量
237093
原文標題:韓家煒課題組重磅發(fā)文:文本分類只需標簽名稱,不需要任何標注數(shù)據(jù)!
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論