国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

自然語言處理—文本分類綜述/什么是文本分類

這篇具有很好參考價(jià)值的文章主要介紹了自然語言處理—文本分類綜述/什么是文本分類。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近在學(xué)習(xí)文本分類,讀了很多博主的文章,要么已經(jīng)嚴(yán)重過時(shí)(還在一個(gè)勁介紹SVM、貝葉斯),要么就是機(jī)器翻譯的別人的英文論文,幾乎看遍全文,竟然沒有一篇能看的綜述,花了一個(gè)月時(shí)間,參考了很多文獻(xiàn),特此寫下此文。

思維導(dǎo)圖

https://www.processon.com/mindmap/61888043e401fd453a21e978

文本分類簡(jiǎn)介

文本分類(Text Classification 或 Text Categorization,TC),又稱自動(dòng)文本分類(Automatic Text Categorization),是指計(jì)算機(jī)將載有信息的一篇文本映射到預(yù)先給定的某一類別或某幾類別主題的過程,實(shí)現(xiàn)這一過程的算法模型叫做分類器。文本分類問題算是自然語言處理領(lǐng)域中一個(gè)非常經(jīng)典的問題。

根據(jù)預(yù)定義的類別不同,文本分類分兩種:二分類多分類,多分類可以通過二分類來實(shí)現(xiàn)。
從文本的標(biāo)注類別上來講,文本分類又可以分為單標(biāo)簽多標(biāo)簽,因?yàn)楹芏辔谋就瑫r(shí)可以關(guān)聯(lián)到多個(gè)類別。

文本分類詞云一覽

這張圖真的是太棒了:

自然語言處理—文本分類綜述/什么是文本分類

文本分類歷史

文本分類最初是通過專家規(guī)則(Pattern)進(jìn)行分類,利用知識(shí)工程建立專家系統(tǒng),這樣做的好處是比較直觀地解決了問題,但費(fèi)時(shí)費(fèi)力,覆蓋的范圍和準(zhǔn)確率都有限。
后來伴隨著統(tǒng)計(jì)學(xué)習(xí)方法的發(fā)展,特別是 90 年代后互聯(lián)網(wǎng)在線文本數(shù)量增長(zhǎng)和機(jī)器學(xué)習(xí)學(xué)科的興起,逐漸形成了一套解決大規(guī)模文本分類問題的經(jīng)典做法,也即特征工程 + 淺層分類模型。又分為傳統(tǒng)機(jī)器學(xué)習(xí)方法深度學(xué)習(xí)文本分類方法。

文本分類應(yīng)用場(chǎng)景

文本分類的主流應(yīng)用場(chǎng)景有:

  • 情感分析:sentiment analysis ( SA)
  • 話題標(biāo)記:topic labeling(TL)
  • 新聞分類:news classification (NC)
  • 問答系統(tǒng):question answering(QA)
  • 對(duì)話行為分類:dialog act classification (DAC)
  • 自然語言推理:natural language inference (NLD),
  • 關(guān)系分類:relation classification (RC)
  • 事件預(yù)測(cè):event prediction (EP)

?? 文本分類流程

這里討論的文本分類流程指的是基于機(jī)器學(xué)習(xí)/深度學(xué)習(xí)的文本分類,專家系統(tǒng)已經(jīng)基本上淘汰了。

文本分類系統(tǒng)流程如下圖所示:

自然語言處理—文本分類綜述/什么是文本分類

其中,先具體來看淺層學(xué)習(xí)(Shallow Learning)的具體過程,如下:

自然語言處理—文本分類綜述/什么是文本分類

如果不考慮訓(xùn)練集,整個(gè)文本分類問題就拆分成了特征工程分類器兩部分。其實(shí)最后還應(yīng)該有一個(gè)性能檢驗(yàn)的步驟來評(píng)估模型。

獲取訓(xùn)練集

數(shù)據(jù)采集是文本挖掘的基礎(chǔ),主要包括爬蟲技術(shù)和頁面處理兩種方法。先通過網(wǎng)絡(luò)爬蟲獲取到原始 web 網(wǎng)頁數(shù)據(jù),然后通過頁面處理去除掉多余的頁面噪聲,將 Web 頁面轉(zhuǎn)化成為純凈統(tǒng)一的文本格式和元數(shù)據(jù)格式。

文本特征工程(針對(duì)淺層學(xué)習(xí))

文本預(yù)處理

文本要轉(zhuǎn)化成計(jì)算機(jī)可以處理的數(shù)據(jù)結(jié)構(gòu),就需要將文本切分成構(gòu)成文本的語義單元。這些語義單元可以是句子、短語、詞語或單個(gè)的字。
通常無論對(duì)于中文還是英文文本,統(tǒng)一將最小語義單元稱為“詞組”。

英文文本預(yù)處理

英文文本的處理相對(duì)簡(jiǎn)單,因?yàn)閱卧~之間有空格或標(biāo)點(diǎn)符號(hào)隔開。如果不考慮短語,僅以單詞作為唯一的語義單元的話,只需要分割單詞,去除標(biāo)點(diǎn)符號(hào)、空格等。

英文還需要考慮的一個(gè)問題是大小寫轉(zhuǎn)換,一般認(rèn)為大小寫意義是相同的,這就要求將所有單詞都轉(zhuǎn)換成小寫/大寫。

英文文本預(yù)處理更為重要的問題是詞根的還原,或稱詞干提取。詞根還原的任務(wù)就是將屬于同一個(gè)詞干(Stem)的派生詞進(jìn)行歸類轉(zhuǎn)化為統(tǒng)一形式
例如,把“computed”, “computer”, “computing”可以轉(zhuǎn)化為其詞干 “compute”。通過詞干還原實(shí)現(xiàn)使用一個(gè)詞來代替一類中其他派生詞,可以進(jìn)一步增加類別與文檔中的詞之間匹配度。詞根還原可以針對(duì)所有詞進(jìn)行,也可以針對(duì)少部分詞進(jìn)行。

因?yàn)榇蠹叶际侵袊?guó)人,所以主要討論的還是中文文本預(yù)處理方法。

中文文本預(yù)處理

和英文文本處理分類相比,中文文本預(yù)處理是更為重要和關(guān)鍵,相對(duì)于英文來說,中文的文本處理相對(duì)復(fù)雜。中文的字與字之間沒有間隔,并且單個(gè)漢字具有的意義弱于詞組。一般認(rèn)為中文詞語為最小的語義單元,詞語可以由一個(gè)或多個(gè)漢字組成。所以中文文本處理的第一步就是分詞。
中文文本處理中主要包括文本分詞和去停用詞兩個(gè)階段。

分詞

研究表明中文文本特征粒度為詞粒度遠(yuǎn)遠(yuǎn)好于字粒度,因?yàn)榇蟛糠址诸愃惴ú豢紤]詞序信息,如果基于字粒度就會(huì)損失了過多的 n-gram 信息。

目前常用的中文分詞算法可分為三大類:基于詞典的分詞方法、基于理解的分詞方法和基于統(tǒng)計(jì)的分詞方法。

  • 基于詞典的中文分詞(字符串匹配)
    核心是首先建立統(tǒng)一的詞典表,當(dāng)需要對(duì)一個(gè)句子進(jìn)行分詞時(shí),首先將句子拆分成多個(gè)部分,將每一個(gè)部分與字典一一對(duì)應(yīng),如果該詞語在詞典中,分詞成功,否則繼續(xù)拆分匹配直到成功。字典,切分規(guī)則和匹配順序是核心。

  • 基于統(tǒng)計(jì)的中文分詞方法
    統(tǒng)計(jì)學(xué)認(rèn)為分詞是一個(gè)概率最大化問題,即拆分句子,基于語料庫,統(tǒng)計(jì)相鄰的字組成的詞語出現(xiàn)的概率,相鄰的詞出現(xiàn)的次數(shù)多,就出現(xiàn)的概率大,按照概率值進(jìn)行分詞,所以一個(gè)完整的語料庫很重要。

  • 基于理解的分詞方法
    基于理解的分詞方法是通過讓計(jì)算機(jī)模擬人對(duì)句子的理解,達(dá)到識(shí)別詞的效果。其基本思想就是在分詞的同時(shí)進(jìn)行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。
    它通常包括三個(gè)部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對(duì)分詞歧義進(jìn)行判斷,即它模擬了人對(duì)句子的理解過程。
    這種分詞方法需要使用大量的語言知識(shí)和信息。由于漢語語言知識(shí)的籠統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機(jī)器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在試驗(yàn)階段。

自然語言處理—文本分類綜述/什么是文本分類

去停用詞

“在自然語言中,很多字詞是沒有實(shí)際意義的,比如:【的】【了】【得】等,因此要將其剔除。”

停用詞(Stop Word)是一類既普遍存在又不具有明顯的意義的詞,在英文中例如:“the”、“of”、“for”、“with”、“to”等,在中文中例如:“啊”、“了”、“并且”、“因此”等。
由于這些詞的用處太普遍,去除這些詞,對(duì)于文本分類來說沒有什么不利影響,相反可能改善機(jī)器學(xué)習(xí)效果。停用詞去除組件的任務(wù)比較簡(jiǎn)單,只需從停用詞表中剔除定義為停用詞的常用詞就可以了。

文本特征提?。ㄌ卣鬟x擇)

nlp 任務(wù)非常重要的一步就是特征提?。▽?duì)應(yīng)機(jī)器學(xué)習(xí)中的特征工程步驟,也叫做降維),在向量空間模型中,文本的特征包括字、詞組、短語等多種元素表示 。在文本數(shù)據(jù)集上一般含有數(shù)萬甚至數(shù)十萬個(gè)不同的詞組,如此龐大的詞組構(gòu)成的向量規(guī)模驚人,計(jì)算機(jī)運(yùn)算非常困難。

進(jìn)行特征選擇,對(duì)文本分類具有重要的意義。特征選擇就是要想辦法選出那些最能表征文本含義的詞組元素 。特征選擇不僅可以降低問題的規(guī)模,還有助于分類性能的改善,選取不同的特征對(duì)文本分類系統(tǒng)的性能有非常重要的影響。

向量空間模型文本表示方法的特征提取分為特征項(xiàng)選擇和特征權(quán)重計(jì)算兩部分。但實(shí)際中區(qū)分的并沒有那么嚴(yán)格。

特征選擇的基本思路是根據(jù)某個(gè)評(píng)價(jià)指標(biāo)獨(dú)立地對(duì)原始特征項(xiàng)(詞項(xiàng))進(jìn)行評(píng)分排序,從中選擇得分最高的一些特征項(xiàng),過濾掉其余的特征項(xiàng)。常用的評(píng)價(jià)有文檔頻率、互信息、信息增益、 X 2 X^2 X2 統(tǒng)計(jì)量等。

“特征工程詳細(xì)介紹及 sklearn 實(shí)戰(zhàn)”

#詞袋模型#

詞袋模型是最原始的一類特征集,忽略掉了文本的語法和語序,用一組無序的單詞序列來表達(dá)一段文字或者一個(gè)文檔 ??梢赃@樣理解,把整個(gè)文檔集的所有出現(xiàn)的詞都丟進(jìn)袋子里面,然后 無序去重 地排出來(去掉重復(fù)的)。對(duì)每一個(gè)文檔,按照詞語出現(xiàn)的次數(shù)來表示文檔 。例如:

句子1:我/有/一個(gè)/蘋果

句子2:我/明天/去/一個(gè)/地方

句子3:你/到/一個(gè)/地方

句子4:我/有/我/最愛的/你

把所有詞丟進(jìn)一個(gè)袋子:我,有,一個(gè),蘋果,明天,去,地方,你,到,最愛的。這 4 句話中總共出現(xiàn)了這 10 個(gè)詞。

現(xiàn)在我們建立一個(gè)無序列表:我,有,一個(gè),蘋果,明天,去,地方,你,到,最愛的。并根據(jù)每個(gè)句子中詞語出現(xiàn)的次數(shù)來表示每個(gè)句子。

自然語言處理—文本分類綜述/什么是文本分類

總結(jié)一下特征:

  • 句子 1 特征: ( 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 )
  • 句子 2 特征: ( 1 , 0 , 1 , 0 , 1 , 1 , 1 , 0 , 0 , 0 )
  • 句子 3 特征: ( 0 , 0 , 1 , 0 , 0 , 0 , 1 , 1 , 1 , 0 )
  • 句子 4 特征: ( 2 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 1 )

詞袋模型生成的特征叫做詞袋特征,該特征的缺點(diǎn)是詞的維度太大,導(dǎo)致計(jì)算困難,且每個(gè)文檔包含的詞語遠(yuǎn)遠(yuǎn)數(shù)少于詞典的總詞語數(shù),導(dǎo)致文檔稀疏。僅僅考慮詞語出現(xiàn)的次數(shù),沒有考慮句子詞語之間的順序信息,即語義信息未考慮。

#TF-IDF 模型#

這種模型主要是用詞匯的統(tǒng)計(jì)特征來作為特征集,TF-IDF 由兩部分組成:TF(Term frequency,詞頻),**IDF(Inverse document frequency,逆文檔頻率)**兩部分組成,利用 TF 和 IDF 兩個(gè)參數(shù)來表示詞語在文本中的重要程度。TF 和 IDF 都很好理解,我們直接來說一下他們的計(jì)算公式:

1. TF

TF 是詞頻,指的是一個(gè)詞語在一個(gè)文檔中出現(xiàn)的頻率,一般情況下,每一個(gè)文檔中出現(xiàn)的詞語的次數(shù)越多詞語的重要性更大(當(dāng)然要先去除停用詞),例如 BOW 模型直接用出現(xiàn)次數(shù)來表示特征值。
問題在于在 長(zhǎng)文檔中的詞語次數(shù)普遍比短文檔中的次數(shù)多,導(dǎo)致特征值偏向差異情況,所以不能僅僅使用詞頻作為特征。

TF 體現(xiàn)的是詞語在文檔內(nèi)部的重要性。

t f i j = n i j ∑ k n k j tf_{ij} = \frac{n_{ij}}{\sum_{k}n_{kj}} tfij?=k?nkj?nij??

其中分子 n i j n_{ij} nij? 表示詞 i i i 在文檔 j j j 中出現(xiàn)的頻次。分母則是文檔 j j j 中所有詞頻次的總和,也就是文檔 j j j 中所有詞的個(gè)數(shù)。舉個(gè)例子:

句子1:上帝/是/一個(gè)/女孩

句子2:桌子/上/有/一個(gè)/蘋果

句子3:小明/是/老師

句子4:我/有/我/最喜歡/的/

每個(gè)句子中詞語的 TF :

自然語言處理—文本分類綜述/什么是文本分類

2. IDF

i d f i = l o g ( ∣ D ∣ 1 + ∣ D i ∣ ) idf_{i} = log\left ( \frac{\left | D \right |}{1+\left | D_{i} \right |} \right ) idfi?=log(1+Di?D?)

其中 ∣ D ∣ \left | D \right | D 代表文檔的總數(shù),分母部分 ∣ D i ∣ \left | D_{i} \right | Di? 則是代表文檔集中含有 i i i 詞的文檔數(shù)。
原始公式是分母沒有 + 1 +1 +1 的,這里 + 1 +1 +1 是采用了拉普拉斯平滑,避免了有部分新的詞沒有在語料庫中出現(xiàn)而導(dǎo)致分母為零的情況出現(xiàn)。

IDF 是體現(xiàn)詞語在文檔間的重要性。如果某個(gè)詞語僅出現(xiàn)在極少數(shù)的文檔中,說明該詞語對(duì)于文檔的區(qū)別性強(qiáng),對(duì)應(yīng)的特征值高,很明顯 ∣ D i ∣ \left | D_{i} \right | Di? 值越小,IDF 的值越大。

用 IDF 計(jì)算公式計(jì)算上面句子中每個(gè)詞的 IDF 值:

自然語言處理—文本分類綜述/什么是文本分類

TF-IDF 方法的主要思路是一個(gè)詞在當(dāng)前類別的重要度與在當(dāng)前類別內(nèi)的詞頻成正比,與所有類別出現(xiàn)的次數(shù)成反比。可見 TF 和 IDF 一個(gè)關(guān)注文檔內(nèi)部的重要性,一個(gè)關(guān)注文檔外部的重要性,最后結(jié)合兩者,把 TF 和 IDF 兩個(gè)值相乘就可以得到 TF-IDF 的值。即:

t f ? i d f ( i , j ) = t f i j ? i d f i = n i j ∑ k n k j ? l o g ( ∣ D ∣ 1 + ∣ D i ∣ ) tf*idf(i,j)=tf_{ij}*idf_{i}= \frac{n_{ij}}{\sum_{k}n_{kj}} *log\left ( \frac{\left | D \right |}{1+\left | D_{i} \right |} \right ) tf?idf(i,j)=tfij??idfi?=k?nkj?nij???log(1+Di?D?)

上面每個(gè)句子中,詞語的 TF-IDF 值:

自然語言處理—文本分類綜述/什么是文本分類

把每個(gè)句子中每個(gè)詞的 TF-IDF 值 添加到向量表示出來就是每個(gè)句子的 TF-IDF 特征。

例如句子 1 的特征:
( 0.25 ? l o g ( 2 ) , 0.25 ? l o g ( 1.33 ) , 0.25 ? l o g ( 1.33 ) , 0.25 ? l o g ( 2 ) , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ( 0.25 * log(2) , 0.25 * log(1.33) , 0.25 * log(1.33) , 0.25 * log(2) , 0 ,0 ,0 ,0 , 0 , 0 , 0 , 0 , 0 ) (0.25?log(2),0.25?log(1.33),0.25?log(1.33),0.25?log(2),0,0,0,0,0,0,0,0,0)

卡方特征選擇(基于卡方檢驗(yàn)的特征選擇)

對(duì)于文本分類的詞向量中許多常用單詞對(duì)分類決策的幫助不大,比如漢語的一些虛詞和標(biāo)點(diǎn)符號(hào)等,也可能有一些單詞在所有類別的文檔中均勻出現(xiàn)。
為了消除這些單詞的影響,一方面可以用停用詞表,另一方面可以用卡方非參數(shù)檢驗(yàn)(Chi-squaredtest,X2)來過濾掉與類別相關(guān)程度不高的詞語。

卡方檢驗(yàn)(χ2 test),是一種常用的特征選擇方法,尤其是在生物和金融領(lǐng)域。χ2 用來描述兩個(gè)事件的獨(dú)立性或者說描述實(shí)際觀察值與期望值的偏離程度。χ2 值越大,則表明實(shí)際觀察值與期望值偏離越大,也說明兩個(gè)事件的相互獨(dú)立性越弱。

特征選擇之卡方檢驗(yàn)

基于詞向量的特征提取模型

該模型通?;诖罅康奈谋菊Z料庫,通過類似神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,將每個(gè)詞語映射成一個(gè)定維度的向量,維度在幾十維到百維之間,每個(gè)向量就代表著這個(gè)詞語,詞語的語義和語法相似性和通過向量之間的相似度來判斷。

常用的 word2vec 主要是 CBOW 和 skip-gram 兩種模型,由于這兩個(gè)模型實(shí)際上就是一個(gè)三層的深度神經(jīng)網(wǎng)絡(luò),其實(shí) NNLM 的升級(jí),去掉了隱藏層,由輸入層、投影層、輸出層三層構(gòu)成,簡(jiǎn)化了模型和提升了模型的訓(xùn)練速度,其在時(shí)間效率上、語法語義表達(dá)上效果明顯都變好。word2vec 通過訓(xùn)練大量的語料最終用定維度的向量來表示每個(gè)詞語,詞語之間語義和語法相似度都可以通過向量的相似度來表示。
[NLP] 秒懂詞向量 Word2vec 的本質(zhì)

一文看懂 word2vec

文本表示

文本是一種非結(jié)構(gòu)化的數(shù)據(jù)信息,是不可以直接被計(jì)算的。文本表示的作用就是將這些非結(jié)構(gòu)化的信息轉(zhuǎn)化為計(jì)算機(jī)可以理解的結(jié)構(gòu)化的信息 ,這樣就可以針對(duì)文本信息做計(jì)算,來完成后面的任務(wù)。

自然語言處理—文本分類綜述/什么是文本分類

文本表示的方法有很多種,傳統(tǒng)做法常用上面提到詞袋模型(BOW, Bag Of Words)或向量空間模型(CSM, Vector Space Model),除此之外還有基于詞嵌入的的獨(dú)熱編碼(one-hot representation)、整數(shù)編碼、詞嵌入(wordembeding)等方法,我們簡(jiǎn)單說幾種重要的:

  • 詞袋模型
    上面已經(jīng)提到過,就是把所有文本的詞匯都放在一個(gè)特別特別大的向量中,一個(gè)文本有該詞就標(biāo)為 1,非常原始且缺點(diǎn)很多,已經(jīng)基本淘汰。

  • 向量空間模型
    是目前文本處理應(yīng)用領(lǐng)域使用最多且效果較好的文本表示法,簡(jiǎn)單說就是在詞向量中給每個(gè)詞一定的權(quán)重(這個(gè)權(quán)重可以是簡(jiǎn)單的詞頻,也可以是 TF-IDF 等等,非常靈活)。
    定義

    • 給定文檔 D = ( t 1 , w 1 ; t 2 , w 2 ; . . . ; t n , w n ) D=(t_1,w_1;t2,w_2;...;t_n,w_n) D=(t1?,w1?;t2,w2?;...;tn?,wn?) ,其中 t k ( 1 ? k ? n ) t_k(1\leqslant k\leqslant n) tk?(1?k?n) 是組成文本的詞元素, w k w_k wk? 是詞元素 t k t_k tk? 的權(quán)重,可以理解為在文本中的某種重要程度。

    性質(zhì),向量空間模型滿足以下兩條性質(zhì)::

    • 互異性:各詞組元素間屬于集合元素關(guān)系,即若 i ≠ j i≠j i?=j ,則 t i ? ≠ t j t_i~ ≠t_j ti???=tj?
    • 無關(guān)性:各詞組元素間無順序關(guān)系和相互聯(lián)系,即對(duì)于文本 D D D,若 i ≠ j i≠j i?=j ,交換 t i t_i ti? t j t_j tj? 的位置,仍表示文檔 D D D。詞組與詞組之間不含任何關(guān)系。

    可以把詞組 t 1 , t 2 , … , t n t_1 , t_2 ,…,t_n t1?,t2?,,tn? 看成 n 維坐標(biāo)空間,而權(quán)重 w 1 , w 2 , … , w n w_1 , w_2 ,…,w_n w1?,w2?,,wn? 為相應(yīng)坐標(biāo)值。因此,一個(gè)文本可以表示為一個(gè) n 維向量。

文本表示這一步往往同上一步(文本特征提?。┞?lián)系非常緊密,實(shí)際應(yīng)用中往往一并完成了,所以你會(huì)看到有些方法同時(shí)并屬于兩者。

分類器(分類算法模型)

文本分類方法模型主要分為兩個(gè)大類,一類是傳統(tǒng)的機(jī)器學(xué)習(xí)方法(具體可以再分為四類),另一類是新興的深度學(xué)習(xí)模型。由于每個(gè)算法其實(shí)都非常復(fù)雜,在此我們僅做簡(jiǎn)單介紹,建議需要使用時(shí)一定要再深入學(xué)習(xí)理解。

文本分類算法歷史

從 1961 到 2020 文本分類算法的發(fā)展歷史:

自然語言處理—文本分類綜述/什么是文本分類

圖上黃色代表淺層學(xué)習(xí)模型,綠色代表深層學(xué)習(xí)模型。可以看到,從 1960 年代到 2010 年代,基于淺層學(xué)習(xí)的文本分類模型占主導(dǎo)地位。自 2010 年代以來,文本分類已逐漸從淺層學(xué)習(xí)模型變?yōu)樯顚訉W(xué)習(xí)模型。

傳統(tǒng)機(jī)器學(xué)習(xí)方法(淺層學(xué)習(xí)模型)
  1. 基于規(guī)則的模型
    基于規(guī)則的分類模型相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn)。它在特定領(lǐng)域的分類往往能夠取得較好的效果。相對(duì)于其它分類模型來說,基于規(guī)則的分類模型的優(yōu)點(diǎn)就是時(shí)間復(fù)雜度低、運(yùn)算速度快。在基于規(guī)則的分類模型中,使用許多條規(guī)則來表述類別。類別規(guī)則可以通過領(lǐng)域?qū)<叶x,也可以通過計(jì)算機(jī)學(xué)習(xí)獲得。
    決策樹就是一種基于訓(xùn)練學(xué)習(xí)方法獲取分類規(guī)則的常見分類模型,它建立對(duì)象屬性與對(duì)象值之間的一種映射。通過構(gòu)造決策樹來對(duì)未標(biāo)注文本進(jìn)行分類判別。常用的決策樹方法包括 CART 算法、ID3、C4.5、CHAID 等。
    決策樹的構(gòu)建過程一般是自上而下的,決策樹可以是二叉樹也可以是多叉樹,剪枝的方法也有多種,但是具有一致目標(biāo),即對(duì)目標(biāo)文本集進(jìn)行最優(yōu)分割。
    自然語言處理—文本分類綜述/什么是文本分類

  2. 基于概率的模型
    假設(shè)未標(biāo)注文檔為 d d d ,類別集合為 C = { c 1 , c 2 , … , c m } C=\{c_1 ,c_2 ,…,c_m\} C={c1?,c2?,,cm?} ,概率模型分類是對(duì) 1 ≤ i ≤ n 1≤i≤n 1in 求條件概率模型 P ( c i ∣ d ) P(c_i |d) P(ci?d)(即 d d d 屬于 c i c_i ci? 類別的概率) ,將與文檔 d d d 條件概率最大的那個(gè)類別作為該文檔的輸出類別。其中樸素貝葉斯分類器(naive Bayes)是應(yīng)用最為廣泛且最簡(jiǎn)單常用的一種概率分類模型。樸素貝葉斯法基于貝葉斯定理將聯(lián)合概率轉(zhuǎn)化為條件概率,然后利用特征條件獨(dú)立假設(shè)簡(jiǎn)化條件概率的計(jì)算。
    自然語言處理—文本分類綜述/什么是文本分類
    樸素貝葉斯分類的基本思想是利用詞組與類別的聯(lián)合概率來估計(jì)給定文檔的類別概率。概率 P ( d ∣ c i ) P(d|c_i) P(dci?) 計(jì)算相對(duì)復(fù)雜,它首先基于一個(gè)貝葉斯假設(shè):文檔 d d d 為詞組元素的集合,集合中詞組(元素)之間相互獨(dú)立。由于前面的步驟使得文檔表示簡(jiǎn)化了,所以這也就是樸素的由來之一。事實(shí)上,詞組之間并不是相互獨(dú)立的。雖然這是一種假設(shè)獨(dú)立性,但是樸素貝葉斯還是能夠在分類任務(wù)中表現(xiàn)出很好的分類效果和魯棒性。這一假設(shè)簡(jiǎn)化了聯(lián)合概率的計(jì)算,它允許條件概率的乘積來表示聯(lián)合概率。 P ( d ∣ c i ) P(d|c_i) P(dci?) 的計(jì)算式:
    P ( d ∣ c i ) = Π k = 1 n P ( t k ∣ c i ) P\left( d|c_{i}\right) =\Pi^{n}_{k=1} P\left( t_{k}|c_{i}\right) P(dci?)=Πk=1n?P(tk?ci?)

    其中, t k t_k tk? 表示含有 n n n 項(xiàng)詞組的詞組表 v i v_i vi? 中的一個(gè)詞組。因此,估計(jì)概率 P ( d ∣ c i ) P(d|c_i) P(dci?) 轉(zhuǎn)化為了估計(jì)詞組表 v v v 中的每一個(gè)詞組在每一個(gè)類別下的概率 P ( t k ∣ c i ) P(t_k|c_i) P(tk?ci?) 。
    概率的估計(jì)與分類結(jié)果非常依賴于事件空間的選擇,下面簡(jiǎn)單介紹兩種事件空間模型,并說明相應(yīng)的 P ( t k ∣ c i ) P(t_k |c_i) P(tk?ci?) 是如何估計(jì)的。

    1. 多重伯努利(Multiple-Bernoulli)事件空間是一種布爾獨(dú)立模型的事件空間,為每一個(gè)詞組 tk 建立一個(gè)二值隨機(jī)變量,最簡(jiǎn)單的方式就是使用最大似然估計(jì)來估計(jì)概率。但缺點(diǎn)在于多重伯努利模型僅僅考慮詞組是否出現(xiàn),而沒有考慮出現(xiàn)的多少,而詞頻也是一個(gè)重要分類信息。下面介紹加入詞頻信息的多項(xiàng)式模型。
    2. 多項(xiàng)式(Multinomial)事件空間與多重伯努利事件空間類似,但是多項(xiàng)式事件空間假設(shè)詞組的出現(xiàn)次數(shù)是零次或多次,而不是出現(xiàn)與否。實(shí)際應(yīng)用中,多項(xiàng)式模型已經(jīng)表明優(yōu)于多重伯努利模型。
  3. 基于幾何學(xué)的模型
    使用向量空間模型表示文本,文本就被表示為一個(gè)多維的向量,那么它就是多維空間的一個(gè)點(diǎn)。通過幾何學(xué)原理構(gòu)建一個(gè)超平面將不屬于同一個(gè)類別的文本區(qū)分開。最典型的基于幾何學(xué)原理的分類器是"支持向量機(jī)"(SVM),其分類效果較為不錯(cuò),幾乎可以說是傳統(tǒng)機(jī)器學(xué)習(xí)算法中最好的了。
    自然語言處理—文本分類綜述/什么是文本分類
    SVM 之所以能夠取得比較好的分類效果,其優(yōu)點(diǎn)在于:

    • SVM 是一種針對(duì)有限樣本條件下的分類算法,其目標(biāo)是得到當(dāng)前訓(xùn)練集下的最優(yōu)解而不是樣本數(shù)趨于無窮大時(shí)的最優(yōu)值,該算法最終將問題轉(zhuǎn)化成二次線性規(guī)劃尋求最優(yōu)解問題。從理論上來講,它得到的是全局最優(yōu)解,能夠避免局部極值問題。
    • 該方法將實(shí)際問題通過核函數(shù)技巧將線性不可分空間映射到高維線性可分空間,在高維空間中構(gòu)造線性決策函數(shù)來實(shí)現(xiàn)原線性不可分空間的決策函數(shù)。這保證了 SVM 具有較好的推廣能力,計(jì)算的復(fù)雜度不再取決于空間維數(shù),而是取決于訓(xùn)練集樣本數(shù)量。
    • SVM 方法能夠很好的處理稀疏數(shù)據(jù),更好的捕捉了數(shù)據(jù)的內(nèi)在特征,準(zhǔn)確率較高。

    SVM 雖然有許多優(yōu)點(diǎn),但是固有的缺點(diǎn)是不可避免的。其缺點(diǎn)包括:

    • SVM 算法時(shí)間和空間復(fù)雜度較高,隨著訓(xùn)練樣本數(shù)和類別的增加,分類時(shí)間和空間代價(jià)很高。
    • 核函數(shù)空間變換會(huì)增加訓(xùn)練集空間的維數(shù),使得 SVM 對(duì)時(shí)間和空間需求加大,又進(jìn)一步降低了分類的效率。
    • SVM 算法一般含有較多參數(shù),并且參數(shù)隨著訓(xùn)練樣本的不同,呈現(xiàn)較大的差異,調(diào)整參數(shù)以獲得最優(yōu)分類效果相對(duì)困難。而且參數(shù)的不同對(duì)分類結(jié)果的顯示出較大的差異性。
  4. 基于統(tǒng)計(jì)的模型
    基于統(tǒng)計(jì)的機(jī)器學(xué)習(xí)方法已經(jīng)成為自然語言研究領(lǐng)域里面的一個(gè)主流研究方法。事實(shí)上無論是樸素貝葉斯分類模型,還是支持向量機(jī)分類模型,也都采用了統(tǒng)計(jì)的方式。文本分類算法中一種最典型的基于統(tǒng)計(jì)的分類模型就是 k 近鄰(k-Nearest Neighbor,kNN)模型,是比較好的文本分類算法之一。
    自然語言處理—文本分類綜述/什么是文本分類
    kNN 分類模型的主要思想:通過給定一個(gè)未標(biāo)注文檔 d d d,分類系統(tǒng)在訓(xùn)練集中查找與它距離最接近的 k k k 篇相鄰(相似或相同)標(biāo)注文檔,然后根據(jù)這 k k k 篇鄰近文檔的分類標(biāo)注來確定文檔 d d d 的類別。分類實(shí)現(xiàn)過程:

    1. 將訓(xùn)練集樣本轉(zhuǎn)化為向量空間模型表示形式并計(jì)算每一特征的權(quán)重
    2. 采用類似步驟 1 的方式轉(zhuǎn)化未標(biāo)注文檔 d d d 并計(jì)算相應(yīng)詞組元素的權(quán)重
    3. 計(jì)算文檔 d d d 與訓(xùn)練集樣本中每一樣本的距離(或相似度);
    4. 找出與文檔 d d d 距離最?。ɑ蛳嗨贫茸畲螅┑? k k k 篇訓(xùn)練集文本;
    5. 統(tǒng)計(jì)這個(gè) k k k 篇訓(xùn)練集文本的類別屬性,一般將文檔 d d d 的類歸為 k k k 中最多的樣本類別。

    KNN 分類模型是一種“懶學(xué)習(xí)”算法,實(shí)質(zhì)上它沒有具體的訓(xùn)練學(xué)習(xí)過程。分類過程只是將未標(biāo)注文本與每一篇訓(xùn)練集樣本進(jìn)行相似度計(jì)算, kNN 算法的時(shí)間和空間復(fù)雜度較高。因而隨著訓(xùn)練集樣本的增加,分類的存儲(chǔ)資源消耗大,時(shí)間代價(jià)高。一般不適合處理訓(xùn)練樣本較大的分類應(yīng)用。

關(guān)于上面這些模型的具體原理性質(zhì)參見:文本分類——常見分類模型。

?? 深度學(xué)習(xí)方法

上文介紹了傳統(tǒng)的機(jī)器學(xué)習(xí)文本分類,后起的神經(jīng)網(wǎng)絡(luò)雖然可以橫掃一切,但其實(shí)一開始卻不擅長(zhǎng)對(duì)文本數(shù)據(jù)的處理(其實(shí)神經(jīng)網(wǎng)絡(luò)雖然在各種 NLP 任務(wù)中雖然準(zhǔn)確率非常好看,但實(shí)際應(yīng)用中并不明顯)。主要問題是,文本本表示高維度高稀疏,但特征表達(dá)能力卻很弱,神經(jīng)網(wǎng)絡(luò)還需要人工進(jìn)行特征工程,成本高昂。

自 2010 年代以來,文本分類逐漸從淺層學(xué)習(xí)模式向深度學(xué)習(xí)模式轉(zhuǎn)變。與基于淺層學(xué)習(xí)的方法相比,深度學(xué)習(xí)方法避免了人工設(shè)計(jì)規(guī)則和特征,并自動(dòng)提供文本挖掘的語義意義表示。與淺層模型不同,深度學(xué)習(xí)通過學(xué)習(xí)一組直接將特征映射到輸出的非線性轉(zhuǎn)換,將特征工程集成到模型擬合過程中。目前的幾乎所有研究都是基于 DNN。

下面是目前文本分類算法在最近的一些主流任務(wù)上的排行榜:

自然語言處理—文本分類綜述/什么是文本分類

可以看到已經(jīng)不見了傳統(tǒng)算法的影子,目前的主流研究方向也都是神經(jīng)網(wǎng)絡(luò)的方向,但是對(duì)于一些小數(shù)據(jù)量、低成本的任務(wù)還是推薦使用傳統(tǒng)算法。

而深度學(xué)習(xí)最初之所以在圖像和語音取得巨大成功,一個(gè)很重要的原因是圖像和語音原始數(shù)據(jù)是連續(xù)和稠密的,有局部相關(guān)性。應(yīng)用深度學(xué)習(xí)解決大規(guī)模文本分類問題最重要的是解決文本表示,再利用 CNN/RNN 等網(wǎng)絡(luò)結(jié)構(gòu)自動(dòng)獲取特征表達(dá)能力,去掉繁雜的人工特征工程,端到端的解決問題。例如新提出的 BERT 模型。

文本分類深度學(xué)習(xí)概述

前饋神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)是用于文本分類任務(wù)的前兩種深度學(xué)習(xí)方法,與淺層學(xué)習(xí)模型相比,它們可以提高性能。然后,將 CNN,RNN 和注意力機(jī)制用于文本分類。許多研究人員通過改進(jìn) CNN,RNN 和注意力,或模型融合和多任務(wù)方法,提高了針對(duì)不同任務(wù)的文本分類性能。

可以生成上下文化詞向量的 BERT 的出現(xiàn),是文本分類和其他 NLP 技術(shù)發(fā)展的重要轉(zhuǎn)折點(diǎn),該模型在包括文本分類在內(nèi)的多個(gè) NLP 任務(wù)具有更好的性能。此外,一些研究人員研究了基于 GNN 的文本分類技術(shù),以捕獲文本中的結(jié)構(gòu)信息,這是其他方法無法替代的。

根據(jù)結(jié)構(gòu)對(duì)文本分類的 DNN 算法可分為幾大類:

自然語言處理—文本分類綜述/什么是文本分類

1. 基于遞歸神經(jīng)網(wǎng)絡(luò)的方法(ReNN-based methods)

遞歸神經(jīng)網(wǎng)絡(luò)(ReNN)可以自動(dòng)遞歸學(xué)習(xí)文本的語義和語法樹結(jié)構(gòu),無需特征設(shè)計(jì)。遞歸自動(dòng)編碼器(RAE)用來預(yù)測(cè)每個(gè)輸入句子的情感標(biāo)簽分布,并學(xué)習(xí)多詞短語的表示。為了學(xué)習(xí)每個(gè)輸入文本的成分向量表示,矩陣向量遞歸神經(jīng)網(wǎng)絡(luò)(MV-RNN)引入了 ReNN 模型來學(xué)習(xí)短語和句子的表示。

自然語言處理—文本分類綜述/什么是文本分類

看圖中的例子。首先,將輸入文本中的每個(gè)單詞作為模型結(jié)構(gòu)的葉節(jié)點(diǎn),然后通過權(quán)重矩陣將所有節(jié)點(diǎn)合并為父節(jié)點(diǎn)。權(quán)重矩陣在整個(gè)模型中共享。每個(gè)父節(jié)點(diǎn)與所有葉節(jié)點(diǎn)具有相同的維度。最后,將所有節(jié)點(diǎn)遞歸聚合為根節(jié)點(diǎn),以表示預(yù)測(cè)標(biāo)簽的輸入文本

2. 基于多層感知機(jī)的方法(MLP-based methods)

多層感知器(MLP, multilayer perceptron),俗稱”vanilla”神經(jīng)網(wǎng)絡(luò),是一種用于自動(dòng)捕獲特征的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

自然語言處理—文本分類綜述/什么是文本分類

看圖中例子,我們給出了一個(gè)三層 MLP 模型。它包含一個(gè)輸入層、一個(gè)對(duì)應(yīng)所有節(jié)點(diǎn)帶有激活函數(shù)隱藏層,一個(gè)輸出層。每個(gè)節(jié)點(diǎn)都連接一個(gè)具有一定權(quán)重的 wi。它將每個(gè)輸入文本視為一個(gè)詞袋(bagsofword)

一些研究小組提出了一些基于 MLP 的文本分類方法。段落向量(Paragraph-vec)是最流行和使用最廣泛的方法,它類似于 CBOW。采用無監(jiān)督算法得到不同輸入長(zhǎng)度文本的固定長(zhǎng)度特征表示。

3. 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法(RNN-based methods)

循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。相比一般的神經(jīng)網(wǎng)絡(luò)來說,他能夠處理序列變化的數(shù)據(jù)。比如某個(gè)單詞的意思會(huì)因?yàn)樯衔奶岬降膬?nèi)容不同而有不同的含義,RNN 就能夠很好地解決這類問題。

自然語言處理—文本分類綜述/什么是文本分類

看圖中例子。首先,利用詞嵌入技術(shù)(word embedding),將輸入的每個(gè)詞用一個(gè)特定的向量表示。然后,將嵌入詞向量逐個(gè)輸入 RNN 單元。RNN 單元的輸出與輸入向量的維數(shù)相同,并饋入下一隱含層。RNN 在模型的不同部分共享參數(shù),并且對(duì)每個(gè)輸入詞具有相同的權(quán)重。最后,隱藏層的最后一層輸出可以預(yù)測(cè)輸入文本的標(biāo)簽。

基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法:長(zhǎng)短期記憶(LSTM)

在 RNN 的反向傳播過程中,權(quán)值是通過導(dǎo)數(shù)的連續(xù)乘法來計(jì)算的梯度來調(diào)整的。如果導(dǎo)數(shù)非常小,連續(xù)乘法可能會(huì)導(dǎo)致梯度消失問題。長(zhǎng)短期記憶(Long short-term memory, LSTM)是一種特殊的 RNN,主要是為了解決長(zhǎng)序列訓(xùn)練過程中的梯度消失和梯度爆炸問題。簡(jiǎn)單來說,就是相比普通的 RNN,LSTM 能夠在更長(zhǎng)的序列中有更好的表現(xiàn)。

它由記憶任意時(shí)間間隔值的單元和控制信息流的三個(gè)門結(jié)構(gòu)組成。門結(jié)構(gòu)包括輸入門(input gate)、遺忘門(forget gates)和輸出門(ouput gates)。LSTM 分類方法可以更好地捕獲上下文特征詞之間的連接,利用遺忘門結(jié)構(gòu)過濾無用信息,有利于提高分類器的總體捕獲能力。

LSTM 結(jié)構(gòu)(圖右)和普通 RNN 的主要輸入輸出區(qū)別如下所示。

自然語言處理—文本分類綜述/什么是文本分類

具體參見:人人都能看懂的 LSTM

4. 基于卷積神經(jīng)網(wǎng)絡(luò)的方法(CNN-based methods)

卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks, CNNs)起初用于圖像分類,卷積濾波器(convolving filters)可以提取圖像的特征。與 RNN 不同,CNN 可以同時(shí)將不同核定義的卷積應(yīng)用于序列的多個(gè)塊。因此,CNN 用于許多自然語言處理任務(wù),包括文本分類。對(duì)于文本分類,需要將文本表示為類似于圖像表示的向量,可以從多個(gè)角度對(duì)文本特征進(jìn)行過濾。

自然語言處理—文本分類綜述/什么是文本分類

看圖中例子。首先,將輸入文本的詞向量拼接成一個(gè)矩陣。然后將矩陣輸入卷積層(Conv),卷積層包含幾個(gè)不同維度的濾波器。最后,卷積層的結(jié)果經(jīng)過池化層(Pooling),并將池化結(jié)果連接起來(Concat),得到文本的最終向量表示。類別由最終輸出向量預(yù)測(cè)。

5. 基于注意力機(jī)制的方法(Attention-based methods)

CNN 和 RNN 在文本分類相關(guān)的任務(wù)上提供了很好的結(jié)果,但缺點(diǎn)在于,這些模型不夠直觀,可解釋性較差,特別是對(duì)于一些分類錯(cuò)誤,由于隱藏?cái)?shù)據(jù)的不可讀性,無法解釋。因此提出了注意力模型。

注意力模型(Attentional mechanism, AM)最初被用于機(jī)器翻譯,現(xiàn)在已成為神經(jīng)網(wǎng)絡(luò)領(lǐng)域的一個(gè)重要概念。注意力機(jī)制借鑒了人類的注意力機(jī)制。

例如,視覺注意力機(jī)制是人類視覺所特有的大腦信號(hào)處理機(jī)制。我們的視覺系統(tǒng)傾向于關(guān)注圖像中輔助判斷的部分信息,并忽略掉不相關(guān)的信息。人類視覺通過快速掃描全局圖像,獲得需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域,也就是一般所說的注意力焦點(diǎn),而后對(duì)這一區(qū)域投入更多注意力資源,以獲取更多所需要關(guān)注目標(biāo)的細(xì)節(jié)信息,而抑制其他無用信息。這是人類利用有限的注意力資源從大量信息中快速篩選出高價(jià)值信息的手段,是人類在長(zhǎng)期進(jìn)化中形成的一種生存機(jī)制,人類視覺注意力機(jī)制極大地提高了視覺信息處理的效率與準(zhǔn)確性。

圖中例子形象化展示了人類在看到一副圖像時(shí)是如何高效分配有限的注意力資源的,其中紅色區(qū)域表明視覺系統(tǒng)更關(guān)注的目標(biāo)。很明顯人們會(huì)把注意力更多投入到人的臉部、文本的標(biāo)題、文章首句以及更具有感情色彩的詞匯等位置。

自然語言處理—文本分類綜述/什么是文本分類

深度學(xué)習(xí)中的注意力機(jī)制從本質(zhì)上講和人類的選擇性視覺注意力機(jī)制類似,核心目標(biāo)也是從眾多信息中選擇出對(duì)當(dāng)前任務(wù)目標(biāo)更關(guān)鍵的信息。同樣,在涉及語言或視覺的問題中,輸入的某些部分可能會(huì)比其他部分對(duì)決策更有幫助。例如,在翻譯和總結(jié)任務(wù)中,輸入序列中只有某些單詞可能與預(yù)測(cè)下一個(gè)單詞相關(guān)。

在人工智能領(lǐng)域,注意力已成為神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的重要組成部分,并在自然語言處理、統(tǒng)計(jì)學(xué)習(xí)、語音和計(jì)算機(jī)等領(lǐng)域有著大量的應(yīng)用。

基于注意力機(jī)制的方法:HAN

HAN 包括兩個(gè)編碼器(encoders)和兩個(gè)層次的注意層(attention layers)。注意機(jī)制讓模型對(duì)特定的輸入給予不同的注意。它先將關(guān)鍵詞聚合成句子向量,再將關(guān)鍵句子向量聚合成文本向量。通過這兩個(gè)層次的注意,可以了解每個(gè)單詞和句子對(duì)分類判斷貢獻(xiàn)多少,有利于應(yīng)用和分析。

自然語言處理—文本分類綜述/什么是文本分類

6. 基于 Transformer 的方法(Transformer-based methods)

Transformer 是一種預(yù)訓(xùn)練的語言模型,可以有效地學(xué)習(xí)全局語義表示,并顯著提高包括文本分類在內(nèi)的 NLP 任務(wù)。通常使用無監(jiān)督的方法自動(dòng)挖掘語義知識(shí),然后構(gòu)造預(yù)訓(xùn)練目標(biāo),使機(jī)器能夠?qū)W習(xí)理解語義。Transformer 可以在不考慮連續(xù)信息(sequential information)的情況下并行計(jì)算,適用于大規(guī)模數(shù)據(jù)集,因此在 NLP 任務(wù)中很受歡迎。

基于 Transformer 的方法最著名的有以下三個(gè)模型:

自然語言處理—文本分類綜述/什么是文本分類

ELMo 是一個(gè)深度上下文化的詞表示模型,它很容易集成到模型中。 它可以模擬詞匯的復(fù)雜特征,學(xué)習(xí)不同語境下的不同表征。該算法利用雙向 LSTM 算法,根據(jù)上下文單詞學(xué)習(xí)每個(gè)單詞的嵌入。

GPT 的核心思想是先通過無標(biāo)簽的文本去訓(xùn)練生成語言模型,再根據(jù)具體的 NLP 任務(wù)(如文本蘊(yùn)涵、QA、文本分類等),來通過有標(biāo)簽的數(shù)據(jù)對(duì)模型進(jìn)行 fine-tuning。

BERT(Bidirectional Encoder Representation from Transformers),是一個(gè)預(yù)訓(xùn)練的語言表征模型。它強(qiáng)調(diào)了不再像以往一樣采用傳統(tǒng)的單向語言模型或者把兩個(gè)單向語言模型進(jìn)行淺層拼接的方法進(jìn)行預(yù)訓(xùn)練,而是采用新的 masked language model(MLM),以致能生成深度的雙向語言表征。

具體參考:什么是 BERT?

基于圖神經(jīng)網(wǎng)絡(luò)的方法(GNN-based methods)

盡管傳統(tǒng)的深度學(xué)習(xí)方法在提取結(jié)構(gòu)空間(歐式空間)數(shù)據(jù)的特征方面取得了巨大的成功,但許多實(shí)際應(yīng)用場(chǎng)景中的數(shù)據(jù)是從非結(jié)構(gòu)空間生成的,傳統(tǒng)的深度學(xué)習(xí)方法在處理非結(jié)構(gòu)空間數(shù)據(jù)上的表現(xiàn)難以令人滿意。例如,在推薦系統(tǒng)中,一個(gè)基于圖的學(xué)習(xí)系統(tǒng)能夠利用用戶和產(chǎn)品之間的交互來做出非常準(zhǔn)確的推薦。

圖神經(jīng)網(wǎng)絡(luò)(GNN,Graph Neural Network),是一個(gè)可用于學(xué)習(xí)大規(guī)模相互連接的圖結(jié)構(gòu)信息數(shù)據(jù)的模型?;?GNN 的模型可以學(xué)習(xí)句子的句法結(jié)構(gòu),也可以進(jìn)行文本分類。

自然語言處理—文本分類綜述/什么是文本分類

如圖中例子所示。首先,將四個(gè)輸入文本和文本中的單詞定義為節(jié)點(diǎn),構(gòu)造成圖結(jié)構(gòu)。圖節(jié)點(diǎn)由黑體邊連接,黑體邊表示文檔—單詞邊和單詞—單詞邊。每個(gè)詞的權(quán)重通常是指它們?cè)谡Z料庫中的共現(xiàn)頻率。然后,通過隱藏層表示單詞和文本。最后,可以用圖預(yù)測(cè)所有輸入文本的標(biāo)簽。


文本分類技術(shù)挑戰(zhàn)

眾所周知,在 DNN 中輸入的有益信息越多,其性能越好。因此,增加外部知識(shí)(知識(shí)庫或知識(shí)圖)是提高模型性能的有效途徑,由于投入規(guī)模的限制,仍然是一個(gè)挑戰(zhàn)。

算法模型:如何權(quán)衡數(shù)據(jù)和計(jì)算資源以及預(yù)測(cè)性能。

雖然一些新的文本分類模型不斷地提高了大多數(shù)分類任務(wù)的準(zhǔn)確性指標(biāo),但并不能像人類一樣從語義層面“理解”文本。此外,對(duì)于噪聲樣本,小樣本噪聲可能導(dǎo)致決策置信度發(fā)生較大變化,甚至導(dǎo)致決策逆轉(zhuǎn)。以詞向量為代表的預(yù)先訓(xùn)練的語義表示模型通??梢蕴岣呦掠?NLP 任務(wù)的性能。現(xiàn)有的關(guān)于無語境詞向量(context-free
word vectors)遷移策略的研究還處于相對(duì)初級(jí)的階段。從數(shù)據(jù),模型和性能的角度得出結(jié)論,文本分類主要面臨以下挑戰(zhàn):

自然語言處理—文本分類綜述/什么是文本分類

數(shù)據(jù)層面

對(duì)于文本分類任務(wù),無論是淺層學(xué)習(xí)還是深度學(xué)習(xí)方法,數(shù)據(jù)對(duì)于模型性能都是必不可少的。研究的文本數(shù)據(jù)主要包括多章,短文本,跨語言,多標(biāo)簽,少樣本文本。對(duì)于這些數(shù)據(jù)的特征,現(xiàn)有的技術(shù)挑戰(zhàn)如下:

  • 零次學(xué)習(xí)/少量學(xué)習(xí)(zero-shot/Few-shot learning)
    是指對(duì)無標(biāo)注、或很少標(biāo)注的文本進(jìn)行分類。然而,目前的模型過于依賴大量的標(biāo)記數(shù)據(jù)。
  • 外部知識(shí)。
    深度學(xué)習(xí)模型是大數(shù)據(jù)喂出來的,輸入的信息越多,DNN 的性能就越好。所以,添加外部知識(shí)(知識(shí)庫或知識(shí)圖)是提高模型性能的有效途徑。然而,如何添加以及添加什么仍然是一個(gè)問題。
  • 多標(biāo)簽文本分類任務(wù)
    多標(biāo)簽文本分類需要充分考慮標(biāo)簽之間的語義關(guān)系,并且模型的嵌入和編碼是有損壓縮的過程。因此,如何減少訓(xùn)練過程中層次語義的丟失以及如何保留豐富而復(fù)雜的文檔語義信息仍然是一個(gè)亟待解決的問題。
  • 具有許多術(shù)語詞匯的特殊領(lǐng)域
    特定領(lǐng)域的文本(例如金融和醫(yī)學(xué)文本)包含許多特定的單詞或領(lǐng)域?qū)<?,可理解的語,縮寫等,這使現(xiàn)有的預(yù)訓(xùn)練單詞向量難以使用。

模型層面

現(xiàn)有的算法模型,淺層和深度學(xué)習(xí)已經(jīng)都嘗試應(yīng)用于文本分類,包括集成方法(integration methods)。橫空出世的 BERT 學(xué)習(xí)了一種語言表示法,可以用來對(duì)許多 NLP 任務(wù)進(jìn)行 fine-tune。但想提高模型準(zhǔn)確率,最主要的方法是仍然是增加數(shù)據(jù),如何在增加數(shù)據(jù)和計(jì)算資源,和預(yù)測(cè)性能之間權(quán)衡是值得研究的。

性能評(píng)估層面

淺層模型和深層模型可以在大多數(shù)文本分類任務(wù)中取得良好的性能,但是需要提高其結(jié)果的抗噪聲能力。如何實(shí)現(xiàn)對(duì)深度模型的合理評(píng)估也是一個(gè)技術(shù)挑戰(zhàn)。

  • 模型的語義魯棒性
    近年來,研究人員設(shè)計(jì)了許多模型來增強(qiáng)文本分類模型的準(zhǔn)確性。但是,如果數(shù)據(jù)集中有一些對(duì)抗性樣本,則模型的性能會(huì)大大降低。因此,如何提高模型的魯棒性是當(dāng)前研究的熱點(diǎn)和挑戰(zhàn)。
  • 模型的可解釋性
    DNN 在特征提取和語義挖掘方面具有獨(dú)特的優(yōu)勢(shì),并且已經(jīng)完成了出色的文本分類任務(wù)。但是,深度學(xué)習(xí)是一個(gè)黑盒模型,訓(xùn)練過程難以重現(xiàn),隱式語義和輸出可解釋性很差。它對(duì)模型進(jìn)行了改進(jìn)和優(yōu)化,丟失了明確的準(zhǔn)則。此外,我們無法準(zhǔn)確解釋為什么該模型可以提高性能。

總結(jié)

本文主要介紹了現(xiàn)有的從淺學(xué)習(xí)到深學(xué)習(xí)的文本分類任務(wù)模型。首先,介紹了一些主要的淺學(xué)習(xí)模型和深度學(xué)習(xí)模型,并給出了總結(jié)表。淺層模型主要通過改進(jìn)特征提取方案和分類器設(shè)計(jì)來提高文本分類性能。

相比之下,深度學(xué)習(xí)模型通過改進(jìn)表示學(xué)習(xí)方法、模型結(jié)構(gòu)以及增加數(shù)據(jù)和知識(shí)來提高性能。然后,我們引入了帶有摘要表和評(píng)價(jià)指標(biāo)的數(shù)據(jù)集,用于單標(biāo)簽和多標(biāo)簽任務(wù)。在此基礎(chǔ)上,給出了經(jīng)典文本分類數(shù)據(jù)集在不同應(yīng)用的摘要表中領(lǐng)先模型的定量結(jié)果。

最后,總結(jié)了文本分類未來可能面臨的研究挑戰(zhàn)。

自然語言處理—文本分類綜述/什么是文本分類

參考文章

參考博文

中文文本挖掘預(yù)處理流程總結(jié)

自然語言處理(NLP)語義分析–文本分類、情感分析、意圖識(shí)別

自然語言處理 4:文本分類

自然語言處理——文本分類概述

文本分類——常見分類模型

《文本分類大綜述:從淺層到深度學(xué)習(xí)》

最新文本分類綜述 2020-《A Survey on Text Classification: From Shallow to Deep Learning》

參考文獻(xiàn)

[1] X. Zhu, P. Sobhani, and H. Guo, " Long short-term memory over recursive structures, in Proc. ICML, 2015, pp. 1604-1612, 201
[2] K. S. Tai, R. Socher, and C. D. Manning, "Improved semantic representations from tree-structured long short-term memory networks, in Proc.ACL,2015,pp.1556-1566,2015.
[3]K. Kowsari, K. J. Meimandi, M. Heidarysafa, S. Mendu, L. E. Barnes, and D. E. Brown, “Text classifification algorithms: A survey,” Information, vol. 10, no. 4, p. 150, 2019.
[4]K. Schneider, “A new feature selection score for multinomial naive bayes text classifification based on kl-divergence,” in Proc. ACL, 2004,2004.
[5]W. Dai, G. Xue, Q. Yang, and Y. Yu, “Transferring naive bayesclassifiers for text classification,” in Proc. AAAI, 2007, pp. 540–545,2007.
[6]K. Yi and J. Beheshti. A hidden markov model-based text classification of medical documents, “J. Inf. Sci., vol.35, no. 1, pp.67-81, 2009
[7]T. M. Cover and P. E. Hart, “Nearest neighbor pattern classifification,” IEEE Trans. Inf. Theory, vol. 13, no. 1, pp. 21–27, 1967.
[8]P. Soucy and G. W. Mineau, “A simple KNN algorithm for text categorization,” in Proc. ICDM, 2001, pp. 647–648, 2001.
[9]S. Tan, “Neighbor-weighted k-nearest neighbor for unbalanced text corpus,” Expert Syst. Appl., vol. 28, no. 4, pp. 667–671, 2005.
[10]C. Cortes and V. Vapnik, “Support-vector networks,” Mach. Learn., vol. 20, no. 3, pp. 273–297, 1995.
[11]T. Joachims, “Text categorization with support vector machines: Learning with many relevant features,” in Proc. ECML, 1998, pp. 137–142, 1998.
[12]T. Joachims, “A statistical learning model of text classification for support vector machines,” in Proc. SIGIR, 2001, pp. 128–136, 2001.
[13]P. Vateekul and M. Kubat, “Fast induction of multiple decision trees in text categorization from large scale, imbalanced, and multi-label data,”in Proc. ICDM Workshops, 2009, pp. 320–325, 2009.
[14]R. Socher, J. Pennington, E. H. Huang, A. Y. Ng, and C. D. Manning, “Semi-supervised recursive autoencoders for predicting sentiment distributions,” in Proc. EMNLP, 2011, pp. 151–161, 2011.
[15]R. Socher, B. Huval, C. D. Manning, and A. Y. Ng, “Semantic compositionality through recursive matrix-vector spaces,” in Proc.EMNLP, 2012, pp. 1201–1211, 2012.
[16]M. k. Alsmadi, K. B. Omar, S. A. Noah, and I. Almarashdah, “Performance comparison of multi-layer perceptron (back propagation, delta rule and perceptron) algorithms in neural networks,” in 2009 IEEE International Advance Computing Conference, pp. 296–299, 2009.
[17]Q. V. Le and T. Mikolov, “Distributed representations of sentences and documents,” in Proc. ICML, 2014, pp. 1188–1196, 2014.
[18]B. Felbo, A. Mislove, A. S?gaard, I. Rahwan, and S. Lehmann, “Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm,” in Proc. EMNLP, 2017, pp. 1615–1625, 2017.
[19]T. Miyato, S. Maeda, M. Koyama, and S. Ishii, “Virtual adversarial training: a regularization method for supervised and semi-supervised learning,” CoRR, vol. abs/1704.03976, 2017.
[20]T. Miyato, A. M. Dai, and I. J. Goodfellow, “Adversarial training methods for semi-supervised text classification,” in Proc. ICLR, 2017, 2017. [21]Li Q, Peng H, Li J, et al. A survey on text classification: From shallow to deep learning[J]. arXiv preprint arXiv:2008.00364, 2020.文章來源地址http://www.zghlxwxcb.cn/news/detail-402238.html

到了這里,關(guān)于自然語言處理—文本分類綜述/什么是文本分類的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 自然語言處理基本任務(wù)綜述

    自然語言處理基本任務(wù)綜述

    ? 在自然語言處理中,分詞(Tokenization)是指將自然語言文本中的連續(xù)字符序列劃分為一個(gè)個(gè)有意義的符號(hào)(token)的過程。分詞是文本預(yù)處理中的一項(xiàng)基礎(chǔ)任務(wù),它是自然語言處理中的一環(huán),而且是非常重要的一環(huán)。 ? 在英文中,單詞之間通常由空格隔開,因此英文單詞

    2024年02月02日
    瀏覽(20)
  • 自然語言文本分類模型代碼

    ????????以下是一個(gè)基于PyTorch的文本分類模型的示例代碼,用于將給定的文本分為多個(gè)預(yù)定義類別: ????????該模型將輸入的文本作為整數(shù)序列傳遞給嵌入層,然后通過多層LSTM層進(jìn)行處理,最終輸出每個(gè)類別的預(yù)測(cè)概率。 ????????在訓(xùn)練模型之前,需要將文本序列

    2024年02月14日
    瀏覽(25)
  • 自然語言之文本預(yù)處理

    自然語言之文本預(yù)處理

    概念 分詞就是將連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程。在英文的行文中,單詞之間是以空格作為自然分界符的,而中文只是字、句和段能通過明顯的分界符來簡(jiǎn)單劃界,唯獨(dú)詞沒有一個(gè)形式上的分界符。分詞過程就是找到這樣分界符的過程. 作用 詞作為語言

    2024年02月06日
    瀏覽(27)
  • 自然語言處理-文本表示: Embedding技術(shù)

    目錄 I. 引言 A. 文本表示介紹 B. 引入Embedding技術(shù)的重要性和應(yīng)用領(lǐng)域 II. 傳統(tǒng)文本表示方法 A. One-Hot編碼 B. 詞袋模型 C. TF-IDF III. 什么是文本表示-Embedding A. 定義和概念 B. Embedding的目標(biāo)和作用 IV. 常見Embedding技術(shù) A. Word2Vec 1. CBOW模型 2. Skip-gram模型 3. 結(jié)構(gòu)與訓(xùn)練方法 B. GloVe 1. 全局

    2024年02月16日
    瀏覽(94)
  • 【自然語言處理】實(shí)驗(yàn)3,文本情感分析

    【自然語言處理】實(shí)驗(yàn)3,文本情感分析

    清華大學(xué)馭風(fēng)計(jì)劃課程鏈接? 學(xué)堂在線 - 精品在線課程學(xué)習(xí)平臺(tái) (xuetangx.com) 代碼和報(bào)告均為本人自己實(shí)現(xiàn)(實(shí)驗(yàn)滿分),只展示主要任務(wù)實(shí)驗(yàn)結(jié)果,如果需要詳細(xì)的實(shí)驗(yàn)報(bào)告或者代碼可以私聊博主 有任何疑問或者問題,也歡迎私信博主,大家可以相互討論交流喲~~ 情感分析

    2024年02月19日
    瀏覽(23)
  • 自然語言處理實(shí)戰(zhàn)9-大語言模型的訓(xùn)練與文本生成過程

    大家好,我是微學(xué)AI,今天給大家介紹一下自然語言處理實(shí)戰(zhàn)項(xiàng)目9-大語言模型的訓(xùn)練與文本生成過程,詳細(xì)步驟介紹。大語言模型的訓(xùn)練是通過深度學(xué)習(xí)技術(shù)實(shí)現(xiàn)的。首先,需要準(zhǔn)備一個(gè)龐大的文本數(shù)據(jù)集作為訓(xùn)練樣本,這些文本可以是網(wǎng)頁、書籍、新聞等大量的非結(jié)構(gòu)化文

    2024年02月07日
    瀏覽(29)
  • 【自然語言處理(NLP)】基于ERNIE語言模型的文本語義匹配

    【自然語言處理(NLP)】基于ERNIE語言模型的文本語義匹配

    作者簡(jiǎn)介 :在校大學(xué)生一枚,華為云享專家,阿里云專家博主,騰云先鋒(TDP)成員,云曦智劃項(xiàng)目總負(fù)責(zé)人,全國(guó)高等學(xué)校計(jì)算機(jī)教學(xué)與產(chǎn)業(yè)實(shí)踐資源建設(shè)專家委員會(huì)(TIPCC)志愿者,以及編程愛好者,期待和大家一起學(xué)習(xí),一起進(jìn)步~ . 博客主頁 : ぃ靈彧が的學(xué)習(xí)日志

    2024年02月10日
    瀏覽(29)
  • 自然語言處理 Paddle NLP - 檢索式文本問答-理論

    自然語言處理 Paddle NLP - 檢索式文本問答-理論

    基礎(chǔ) 自然語言處理(NLP) 自然語言處理PaddleNLP-詞向量應(yīng)用展示 自然語言處理(NLP)-前預(yù)訓(xùn)練時(shí)代的自監(jiān)督學(xué)習(xí) 自然語言處理PaddleNLP-預(yù)訓(xùn)練語言模型及應(yīng)用 自然語言處理PaddleNLP-文本語義相似度計(jì)算(ERNIE-Gram) 自然語言處理PaddleNLP-詞法分析技術(shù)及其應(yīng)用 自然語言處理Pa

    2024年02月11日
    瀏覽(26)
  • 自然語言處理入門:使用Python和NLTK進(jìn)行文本預(yù)處理

    文章標(biāo)題:自然語言處理入門:使用Python和NLTK進(jìn)行文本預(yù)處理 簡(jiǎn)介 自然語言處理(NLP)是人工智能領(lǐng)域的一個(gè)重要分支,它致力于使計(jì)算機(jī)能夠理解、分析和生成人類語言。本文將介紹如何使用Python編程語言和NLTK(Natural Language Toolkit)庫進(jìn)行文本預(yù)處理,為后續(xù)的文本分析

    2024年02月19日
    瀏覽(22)
  • 自然語言處理 Paddle NLP - 文本翻譯技術(shù)及應(yīng)用-理論

    自然語言處理 Paddle NLP - 文本翻譯技術(shù)及應(yīng)用-理論

    基礎(chǔ) 自然語言處理(NLP) 自然語言處理PaddleNLP-詞向量應(yīng)用展示 自然語言處理(NLP)-前預(yù)訓(xùn)練時(shí)代的自監(jiān)督學(xué)習(xí) 自然語言處理PaddleNLP-預(yù)訓(xùn)練語言模型及應(yīng)用 自然語言處理PaddleNLP-文本語義相似度計(jì)算(ERNIE-Gram) 自然語言處理PaddleNLP-詞法分析技術(shù)及其應(yīng)用 自然語言處理Pa

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包