NLP之文本分类方法之基础知识
一:文本分類(lèi)的處理大致分為文本預(yù)處理、文本特征提取、分類(lèi)模型構(gòu)建等。和英文文本處理分類(lèi)相比,
中文文本的預(yù)處理是關(guān)鍵技術(shù)。
1:文本預(yù)處理(解決特征空間高維性、語(yǔ)義相關(guān)性和特征分布稀疏)
1.1中文分詞技術(shù)
為什么分詞處理?因?yàn)檠芯勘砻魈卣髁6葹樵~粒度遠(yuǎn)遠(yuǎn)好于字粒度,其大部分分類(lèi)算法不考慮詞序信息,基于字粒度的損失了過(guò)多的n-gram信息。
中文分詞主要分為兩類(lèi)方法:基于詞典的中文分詞和基于統(tǒng)計(jì)的中文分詞。
1.1.1:基于詞典的中文分詞:核心是首先建立統(tǒng)一的詞典表,當(dāng)需要對(duì)一個(gè)句子進(jìn)行分詞時(shí),首先將句子
拆分成多個(gè)部分,將每一個(gè)部分與字典一一對(duì)應(yīng),如果該詞語(yǔ)在詞典中,分詞成功,否則繼續(xù)拆分匹配直到成功
所以:字典,切分規(guī)則和匹配順序是核心。
1.12:基于統(tǒng)計(jì)的中文分詞方法:
統(tǒng)計(jì)學(xué)認(rèn)為分詞是一個(gè)概率最大化問(wèn)題,即拆分句子,基于語(yǔ)料庫(kù),統(tǒng)計(jì)相鄰的字組成的詞語(yǔ)出現(xiàn)的概率,相鄰的詞出現(xiàn)的
次數(shù)多,就出現(xiàn)的概率大,按照概率值進(jìn)行分詞,所以一個(gè)完整的語(yǔ)料庫(kù)很重要。
1.2:去除停用詞
建立停用詞字典,目前停用詞字典有2000個(gè)左右,停用詞主要包括一些副詞、形容詞及其一些連接詞。通過(guò)維護(hù)一個(gè)停用詞表,實(shí)際上是一個(gè)特征提取的過(guò)程,本質(zhì) 上是特征選擇的一部分。
1.3:文本特征提取
1.3.1:詞袋模型:
思想:建立一個(gè)詞典庫(kù),該詞典庫(kù)包含訓(xùn)練語(yǔ)料庫(kù)的所有詞語(yǔ),每個(gè)詞語(yǔ)對(duì)應(yīng)一個(gè)唯一識(shí)別的編號(hào),利用one-hot文本表示。
文檔的詞向量維度與單詞向量的維度相同,每個(gè)位置的值是對(duì)應(yīng)位置詞語(yǔ)在文檔中出現(xiàn)的次數(shù),即詞袋模型(BOW))
問(wèn)題:1:容易引起維度災(zāi)難問(wèn)題,語(yǔ)料庫(kù)太大,字典的大小為每個(gè)詞的維度,高維度導(dǎo)致計(jì)算困難,每個(gè)文檔包含的詞語(yǔ)數(shù)少于詞典的總詞語(yǔ)數(shù),導(dǎo)致文檔稀疏。2:僅僅考慮詞語(yǔ)出現(xiàn)的次數(shù),沒(méi)有考慮句子詞語(yǔ)之間的順序信息,即語(yǔ)義信息未考慮
1.3.2:TF-IDF文本特征提取
前面的博客整理過(guò),這里再提一下吧,加強(qiáng)記憶:
利用TF和IDF兩個(gè)參數(shù)來(lái)表示詞語(yǔ)在文本中的重要程度
TF是詞頻:指的是一個(gè)詞語(yǔ)在一個(gè)文檔中出現(xiàn)的頻率,一般情況下,每一個(gè)文檔中出現(xiàn)的詞語(yǔ)的次數(shù)越多詞語(yǔ)的重要性更大,例如BOW模型一樣用出現(xiàn)次數(shù)來(lái)表示特征值,即出現(xiàn)文檔中的詞語(yǔ)次數(shù)越多,其權(quán)重就越大,問(wèn)題就是在長(zhǎng)文檔中 的詞語(yǔ)次數(shù)普遍比短文檔中的次數(shù)多,導(dǎo)致特征值偏向差異情況。
TF體現(xiàn)的是詞語(yǔ)在文檔內(nèi)部文檔內(nèi)部文檔內(nèi)部的重要性(重要的話(huà)說(shuō)三遍)
IDF是體現(xiàn)詞語(yǔ)在文檔間文檔間文檔間的重要性(還是三遍),即如果某個(gè)詞語(yǔ)出現(xiàn)在極少數(shù)的文檔中,說(shuō)明該詞語(yǔ)對(duì)于文檔的區(qū)別性強(qiáng),對(duì)應(yīng)的特征值高,IDF值高,IDFi=log(|D|/Ni),D指的是文檔總數(shù),Ni指的是出現(xiàn)詞語(yǔ)i的文檔個(gè)數(shù),很明顯Ni越小,IDF的值越大。
最終TF-IDF的特征值的表達(dá)式為:TF-IDF(i,j)=TFij*IDFi
1.3.3:基于詞向量的特征提取模型:
想基于大量的文本語(yǔ)料庫(kù),通過(guò)類(lèi)似神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,將每個(gè)詞語(yǔ)映射成一個(gè)定維度的向量,送個(gè)維度在幾十到化百維之間,每個(gè)向量就代表著這個(gè)詞語(yǔ),詞語(yǔ)的語(yǔ)義和語(yǔ)法相似性和通過(guò)向量之間的相似度來(lái)判斷。
常用的word2vec主要是CBOW和skip-gram兩種模型,由于這兩個(gè)模型實(shí)際上就是一個(gè)三層的深度神經(jīng)網(wǎng)絡(luò),其實(shí)NNLM的升級(jí),去掉了隱藏層,由輸入層、投影層、輸出層三層構(gòu)成,簡(jiǎn)化了模型和提升了模型的訓(xùn)練速度,其在時(shí)間效率上、語(yǔ)法語(yǔ)義表達(dá)上效果明顯都變好。word2vec通過(guò)訓(xùn)練大量的語(yǔ)料最終用定維度的向量來(lái)表示每個(gè)詞語(yǔ),詞語(yǔ)之間語(yǔ)義和語(yǔ)法相似度都可以通過(guò)向量的相似度來(lái)表示。
1.3.4:特征提取:
文本表示的特征提取對(duì)應(yīng)特征項(xiàng)的選擇和特征權(quán)重計(jì)算兩部分,特征選擇的思想是根據(jù)某個(gè)評(píng)價(jià)指標(biāo)獨(dú)立的對(duì)原始特征項(xiàng)(詞項(xiàng))進(jìn)行評(píng)分排序,從而選擇得分最高的一些特征項(xiàng),過(guò)濾掉其余的特征項(xiàng),常用的評(píng)價(jià)有文檔頻率、互信息、信息增益、X……2統(tǒng)計(jì)劑量的那個(gè)。特征權(quán)重主要是經(jīng)典的TF-IDF方法及其擴(kuò)展方法,主要思路是一個(gè)詞的重要度與在類(lèi)別內(nèi)的詞頻成正比,與所有類(lèi)別出現(xiàn)的次數(shù)成反比。
2:分類(lèi)模型
2.1:NB模型
這里NB模型前面的博客詳細(xì)說(shuō)過(guò),這里略過(guò);
2.2:隨機(jī)森林模型(RF)
隨機(jī)森林是一種集成學(xué)習(xí)方法,這里主要說(shuō)一下RF的構(gòu)造過(guò)程:
(1)假設(shè)數(shù)據(jù)樣本集共有N個(gè)數(shù)據(jù),數(shù)據(jù)的特征維度為M,采用有放回的隨機(jī)抽取n個(gè)數(shù)據(jù)樣本,并隨機(jī)選擇m個(gè)特征,形成單棵樹(shù)的訓(xùn)練數(shù)據(jù)集和特征集。
(2)根據(jù)(1)中的數(shù)據(jù)集和m個(gè)特征,基于信息增益或者互信息等規(guī)則建立決策樹(shù),每棵樹(shù)盡量生成且不做剪枝操作。
(3)根據(jù)設(shè)置的決策樹(shù)個(gè)數(shù)K,循環(huán)重復(fù)步驟(1)和(2),直至生成K棵決策樹(shù)。
RF通過(guò)隨機(jī)選擇樣本和特征來(lái)構(gòu)建多棵決策樹(shù),所以決策樹(shù)的構(gòu)建是關(guān)鍵步驟,構(gòu)造決策樹(shù)的根節(jié)點(diǎn)的分裂標(biāo)準(zhǔn)或者度量標(biāo)準(zhǔn)來(lái)作為判斷屬性分類(lèi)樣例的能力的大小,然后根據(jù)根節(jié)點(diǎn)的每個(gè)可能的屬性值進(jìn)行遞歸操作,直至最后回歸樹(shù)完成。
ID3決策樹(shù)算法選擇根節(jié)點(diǎn)的依據(jù)是信息增益;C4.5是根據(jù)信息增益率;還有的是根據(jù)基尼指數(shù)。
總結(jié)一句話(huà)就是:根據(jù)節(jié)點(diǎn)選擇指標(biāo)選擇最優(yōu)屬性作為分類(lèi)屬性后遞歸的擴(kuò)展決策樹(shù)的分支構(gòu)造一顆完整決策樹(shù)
2.3:SVM分類(lèi)模型
思想:任何一個(gè)分類(lèi)問(wèn)題可以認(rèn)為求解數(shù)據(jù)集劃分超平面問(wèn)題,即使該問(wèn)題非線性,也可以利用核函數(shù)將其轉(zhuǎn)化為線性劃分的問(wèn)題,SVM算法最終優(yōu)化目標(biāo)就是極大化最大分類(lèi)間隔;
大部分SVM都是基于拉格朗日變換和二元優(yōu)化得到參數(shù)的解,從而得到SVM分類(lèi)模型。
但是現(xiàn)實(shí)分類(lèi)問(wèn)題一般都是非線性可分的,對(duì)于這類(lèi)問(wèn)題我們需要利用SVM中核函數(shù)來(lái)解決。核函數(shù)就是將低維度數(shù)據(jù)空間映射到高維度數(shù)據(jù)空間,這樣之后就使得其線性可分了,高維度的向量?jī)?nèi)積運(yùn)算通過(guò)核函數(shù)來(lái)直接得到,避免在高維度數(shù)據(jù)空間的計(jì)算帶來(lái)時(shí)間成本的增高。
SVM近些年在研究其應(yīng)用以及多分類(lèi)問(wèn)題,比如SVM模型研究信用評(píng)估模型,基于SVM模型提高圖形檢索關(guān)聯(lián)度,新型的多分類(lèi)SVM模型Twin-KSVC,進(jìn)一步提高多類(lèi)別SVM模型的泛化能力。
2.4:KNN分類(lèi)模型
思想:類(lèi)別相似的樣本距離也較為靠近,從訓(xùn)練集中找到和特定樣本距離最近的k個(gè)樣本,統(tǒng)計(jì)k個(gè)樣本的類(lèi)別,通過(guò)投票得到特定樣本的類(lèi)別。具體流程太簡(jiǎn)單了我就不在說(shuō)了;KNN就一個(gè)模型參數(shù)K,k的大小影響文本分類(lèi)的結(jié)果,一般情況較大的k值能夠減小噪聲的影響,一個(gè)較好的K值可以通過(guò)交叉驗(yàn)證來(lái)獲得防止過(guò)擬合,研究結(jié)合決策樹(shù)思想將每個(gè)訓(xùn)練樣本和測(cè)試樣本結(jié)合起來(lái),提出一種搞擴(kuò)展的KNN算法,還有基于參數(shù)自動(dòng)參數(shù)調(diào)節(jié)來(lái)解決錯(cuò)誤數(shù)據(jù)問(wèn)題的高容錯(cuò)率KNN算法。
2.5:神經(jīng)網(wǎng)絡(luò)分類(lèi)模型
這里主要有BP神經(jīng)網(wǎng)絡(luò)算法,輸入層為原始的文本特征項(xiàng),隱藏層為原始特征的映射,輸出層為類(lèi)別層與層之間通過(guò)權(quán)值相連,然后利用梯度下降法得到權(quán)值的更新法則。
CNN也可以用于文本分類(lèi),需要先將原始的文本進(jìn)行預(yù)處理,得到其詞向量作為CNN的輸入。
總結(jié)
以上是生活随笔為你收集整理的NLP之文本分类方法之基础知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论文浏览(45) MiCT: Mixed
- 下一篇: 【华为面试手撕代码】