韩家炜课题组重磅发文:文本分类只需标签名称,不需要任何标注数据!
文本分類的一個(gè)大型“真香現(xiàn)場”來了:昨天JayJay的推文《超強(qiáng)文本半監(jiān)督MixText》中告訴大家不要浪費(fèi)沒有標(biāo)注過的數(shù)據(jù),但還是需要標(biāo)注數(shù)據(jù)的!但今天介紹的paper,文本分類居然不需要任何標(biāo)注數(shù)據(jù)啦!哇,真香!
當(dāng)前的文本分類任務(wù)需要利用眾多標(biāo)注數(shù)據(jù),標(biāo)注成本是昂貴的。而半監(jiān)督文本分類雖然減少了對(duì)標(biāo)注數(shù)據(jù)的依賴,但還是需要領(lǐng)域?qū)<沂謩?dòng)進(jìn)行標(biāo)注,特別是在類別數(shù)目很大的情況下。
試想一下,我們?nèi)祟愂侨绾螌?duì)新聞文本進(jìn)行分類的?其實(shí),我們不要任何標(biāo)注樣本,只需要利用和分類類別相關(guān)的少數(shù)單詞就可以啦,這些單詞也就是我們常說的關(guān)鍵詞。
BUT!我們之前獲取分類關(guān)鍵詞的方式,大多還是需要人工標(biāo)注數(shù)據(jù)、或者人工積累關(guān)鍵詞的;而就算積累了某些關(guān)鍵詞,關(guān)鍵詞在不同上下文中也會(huì)代表不同類別。
那么,有沒有一種方式,可以讓文本分類不再需要任何標(biāo)注數(shù)據(jù)呢?
本文JayJay就介紹一篇來自「伊利諾伊大學(xué)香檳分校韓家煒老師課題組」的EMNLP20論文《Text Classification Using Label Names Only: A Language Model Self-Training Approach》。
這篇論文的最大亮點(diǎn)就是:不需要任何標(biāo)注數(shù)據(jù),只需利用標(biāo)簽名稱就在四個(gè)分類數(shù)據(jù)上獲得了近90%的準(zhǔn)確率!
為此,論文提出一種LOTClass模型,即Label-name-Only?Text?Classification,LOTClass模型的主要亮點(diǎn)有:
論文下載:https://arxiv.org/pdf/2010.07245.pdf
代碼開源:https://github.com/yumeng5/LOTClass
本文的組織結(jié)構(gòu)為:
LOTClass總體流程
LOTClass將BERT作為其backbone模型,其總體實(shí)施流程分為以下三個(gè)步驟:
下面我們就詳細(xì)介紹上述過程。
第一步:標(biāo)簽名稱替換
在做文本分類的時(shí)候,我們可以根據(jù)標(biāo)簽名稱聯(lián)想到與之相關(guān)聯(lián)的其他關(guān)鍵詞,這些關(guān)鍵詞代表系統(tǒng)類別。當(dāng)然,這就需要我們從一個(gè)蘊(yùn)含常識(shí)的模型去理解每個(gè)標(biāo)簽的語義。很明顯,BERT等預(yù)訓(xùn)練模型就是一個(gè)首選!
論文采取的方法很直接:對(duì)于含標(biāo)簽名稱的文本,通過MLM來預(yù)測其可以替換的其他詞匯。
如上圖,展示了AG新聞?wù)Z料中,體育新聞在不同的上下文中,標(biāo)簽名稱“sports”通過MLM預(yù)測出的可以替換「sports」的詞匯。
具體地,每一個(gè)標(biāo)簽名稱位置通過MLM預(yù)測TOP50最相似的替換詞,然后對(duì)于每一個(gè)類別的標(biāo)簽名稱(Label Name)根據(jù)詞頻大小、結(jié)合停用詞共選取TOP-100,最終構(gòu)建類型詞匯表(Category Vocabulary)。
通過上述方式找出了AG新聞?wù)Z料每一個(gè)類別-標(biāo)簽名稱對(duì)應(yīng)的類別詞匯表,如上圖所示。
第二步:類別預(yù)測
像人類如何進(jìn)行分類一樣,一種直接的方法是:利用上述得到的類型詞匯表,然后統(tǒng)計(jì)語料中類別詞匯出現(xiàn)的次數(shù)。但這種方式存在2個(gè)缺陷:
為了解決上述缺陷,論文構(gòu)建了一個(gè)新的MCP任務(wù)——基于遮蔽的類別預(yù)測任務(wù)(Masked Category Prediction,MCP),如下圖所示:
MCP任務(wù)共分為兩步:
值得注意的是:MASK類別指示詞進(jìn)行類別預(yù)測至關(guān)重要,因?yàn)檫@會(huì)迫使模型根據(jù)單詞上下文來推斷類別,而不是簡單地記住無上下文的類別關(guān)鍵字。通過MCP任務(wù),BERT將更好編碼類別判斷信息。
第三步:自訓(xùn)練
論文將通過MCP任務(wù)訓(xùn)練好的BERT模型,又對(duì)未標(biāo)注語料進(jìn)行了自訓(xùn)練。這樣做的原因?yàn)?#xff1a;
- 仍有大規(guī)模語料未被MCP任務(wù)利用,畢竟不是每一個(gè)語料樣本含有類別指示詞。
- MCP任務(wù)進(jìn)行類別預(yù)測不是在「CLS」位置,「CLS」位置更利于編碼全局信息并進(jìn)行分類任務(wù)。
論文采取的自訓(xùn)練方式很簡單,如上圖所示,每50個(gè)batch通過軟標(biāo)簽方式更新一次標(biāo)簽類別。
LOTClass表現(xiàn)如何?
為了驗(yàn)證LOTClass的效果,論文在4個(gè)分類數(shù)據(jù)集上與監(jiān)督、半監(jiān)督和弱監(jiān)督進(jìn)行了對(duì)比。
對(duì)于弱監(jiān)督方法,則將整個(gè)訓(xùn)練集作為無標(biāo)注數(shù)據(jù);對(duì)于半監(jiān)督方法,每個(gè)類別選舉10個(gè)樣本作為標(biāo)注數(shù)據(jù);對(duì)于監(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)大?我們將在接下來的推文中會(huì)進(jìn)一步介紹。
也許你還會(huì)問:LOTClass相當(dāng)于使用多少標(biāo)注數(shù)據(jù)呢?
如上圖,論文給出了答案,那就是:LOTClass效果相當(dāng)于 每個(gè)類別使用48個(gè)標(biāo)注文檔的有監(jiān)督BERT模型。
總結(jié)與展望:利用標(biāo)簽名稱,真香!
首先對(duì)本文總結(jié)一下:本文提出的LOTClass模型僅僅利用標(biāo)簽名稱,無需任務(wù)標(biāo)注數(shù)據(jù)!在四個(gè)分類數(shù)據(jù)上獲得了近90%的準(zhǔn)確率,與相關(guān)半監(jiān)督、有監(jiān)督方法相媲美!LOTClass模型總體實(shí)施流程分三個(gè)步驟:標(biāo)簽名稱替換,MASK類別預(yù)測,自訓(xùn)練。
本文提出的LOTClass模型只是基于BERT,并沒有采取更NB的LM模型,每個(gè)類別最多使用3個(gè)單詞作為標(biāo)簽名稱,沒有依賴其他工具(如回譯方式)。我們可以預(yù)測:隨著LM模型的升級(jí),數(shù)據(jù)增強(qiáng)技術(shù)的使用,指標(biāo)性能會(huì)更好!
利用標(biāo)簽名稱,我們是不是還可以暢想一些“真香現(xiàn)場”呢?例如:
- 應(yīng)用于NER任務(wù):發(fā)現(xiàn)實(shí)體類別下的更多指示詞,如「PERSON」類別;嗯嗯,再好好想象怎么把那套MCP任務(wù)嵌入到NER任務(wù)中吧。
- 與半監(jiān)督學(xué)習(xí)更好協(xié)作:1)沒有標(biāo)注數(shù)據(jù)時(shí),可以通過LOTClass構(gòu)建初始標(biāo)注數(shù)據(jù)再進(jìn)行半監(jiān)督流程;2)將MCP任務(wù)設(shè)為半監(jiān)督任務(wù)的輔助任務(wù)。
JayJay不說再見,歡迎關(guān)注我的公眾號(hào)《高能AI》,那里是首發(fā)哦~(圖片不全,可直接到微信搜一搜高能AI)
總結(jié)
以上是生活随笔為你收集整理的韩家炜课题组重磅发文:文本分类只需标签名称,不需要任何标注数据!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Axis2调用Web Service
- 下一篇: 【WPF】调用线程必须为STA,因为许多