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