999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多類別文本分類方法比較研究

2022-02-22 12:20:28于衛紅
計算機技術與發展 2022年1期
關鍵詞:分類特征文本

于衛紅

(大連海事大學 航運經濟與管理學院,遼寧 大連 116026)

0 引 言

文本分類是指對于一個特定的文檔,判斷其是否屬于某個類別。根據目標類別的不同,通常將文本分類問題分為三種類型:

(1)二分類:表示分類任務中有兩個類別(0或者1),如垃圾郵件分類。

(2)多類別分類:表示分類任務中有多個類別,如客戶的評論情感可分為5個類別:非常滿意、滿意、一般、不滿意、非常不滿意。

(3)多標簽分類:表示給每個樣本分配一個標簽集。如,一個文本可能被同時認為是與宗教、政治或教育都相關的話題,或全部無關。

在文本挖掘的實際應用中,多類別分類問題更加常見,并且,多標簽分類問題也可以轉化為多類別分類問題來加以解決。多類別分類問題較之二分類問題更加復雜,如何選擇合適的算法,構建出性能較優的多類別分類模型至關重要。

決策樹、隨機森林、樸素貝葉斯等算法都可用于多類別分類問題,但每個算法都是基于某些特定的假設的,都具有各自的優缺點,沒有任何一種分類算法可以在所有的問題解決中都有良好的表現。因此,只有比較了多種算法的性能才能為具體的問題選擇出較佳的模型。

1 文本分類的流程、方法與性能評價指標

1.1 文本分類的流程

如圖1所示,無論何種類型的文本分類問題,其處理過程大都包括文本預處理、文本特征表示、分類模型構建、模型評估幾個步驟。其中,文本特征表示和分類模型的構建是文本分類問題的核心。

圖1 文本分類的流程

1.2 文本特征表示的幾種方法

1.2.1 詞袋模型

詞袋模型是一種基于詞頻的對文檔進行特征提取的方法,即將文檔看作詞的集合,對文檔中出現的所有詞進行詞頻統計,用詞頻向量來表示文檔。詞袋模型忽略了文本的語法和語序等要素,只考慮詞在文檔中出現的次數。

1.2.2 TF-IDF模型

TF-IDF模型在考慮詞頻的基礎上考慮了詞對于一篇文章的重要性。TF(term frequency)指的是一個單詞在某個文檔中出現的頻率。通常,一個詞在一篇文檔中出現的頻率越高,這個詞對于該文檔越重要。IDF(inverse document frequency)指的是逆向文檔頻率,代表了詞對于文檔的區分度,如果一個詞在一篇文檔中多次出現,但在其他文檔中很少出現,則認為這個詞對于該文檔的區分能力較強。一個詞的TF-IDF值的計算公式為:

TF-IDF=TF*IDF;

(1)

1.2.3 詞嵌入模型

基于詞嵌入的文本特征表示是一種文本深度表示模型,其主要思想是將文本轉換為較低維度空間的矢量表示。首先基于大量的語料庫訓練出詞嵌入模型,即將每個詞映射成

K

維實數向量(通常

K

=50~200),并且使得這些向量能較好地表達不同詞之間的相似和類比關系,以引入一定的語義信息。常用的詞嵌入算法有Word2Vec和Glove。本研究使用Word2Vec算法,Word2Vec有兩種實現詞嵌入的方式,即CBOW(連續詞袋)和SKIP-GRAM(跳字模型)。CBOW方法以上下文單詞作為輸入,預測目標單詞;而SKIP-GRAM方法以目標單詞作為輸入,預測單詞周圍的上下文。最后,基于訓練好的詞嵌入模型,使用Doc2Vec算法生成文本的向量表示模型,即將每個文本映射成

K

維實數向量。

1.3 構建文本分類模型的常用算法

構建文本分類模型的算法有很多,如傳統算法:決策樹、多層感知器、樸素貝葉斯、邏輯回歸和SVM;集成學習算法:隨機森林、AdaBoost、lightGBM和xgBoost;以及深度學習算法:前饋神經網絡和LSTM。對所有算法進行比較,工作量巨大,本研究只比較常用的5種算法:決策樹、KNN、樸素貝葉斯、SVM和隨機森林。

1.3.1 決策樹

決策樹是一種以樹形結構來展示決策規則和分類結果的模型,其思想是通過ID3、C4.5、CART等算法將看似無序、雜亂的訓練數據轉化成可以預測未知實例的樹狀模型。決策樹中每一條從根節點(對最終分類結果貢獻最大的屬性)到葉子節點(最終分類結果)的路徑都代表一條決策規則。

1.3.2 KNN

KNN算法又稱

K

鄰近算法、

K

最近鄰算法,其核心思想是如果一個樣本在特征空間中的

K

個最相鄰的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。

1.3.3 樸素貝葉斯

樸素貝葉斯算法的核心思想非常樸素:對于給出的待分類項,求解在此項出現的條件下各個類別出現的概率,哪個最大,就認為此待分類項屬于哪個類別。

1.3.4 SVM

SVM即支持向量機算法,最初提出是為了解決二分類問題,核心思想是基于訓練集在樣本空間中找到最優的一條線(超平面),將不同類別的樣本分開。所謂的“支持向量”就是那些落在分離超平面邊緣的數據點形成的線。SVM算法也可以用于解決多類別分類問題,此時,支持向量機仍將問題視為二分類問題,但會引入多個支持向量機用來兩兩區分每一個類,直到所有的類之間都有區別。

1.3.5 隨機森林

隨機森林是一種集成學習算法,通過構建并結合多個學習器來完成學習任務。隨機森林的出現主要是為了解決單一決策樹可能出現的很大誤差和過擬合的問題,其核心思想是將多個不同的決策樹進行組合,利用這種組合降低單一決策樹有可能帶來的片面性和判斷不準確性。隨機森林中的每一棵決策樹都是獨立、無關聯的,當對一個新的樣本進行判斷或預測時,讓森林中的每一棵決策樹分別進行判斷,看看這個樣本應該屬于哪一類,然后統計哪一類被選擇最多,就預測這個樣本為哪一類。

1.4 分類模型的評估指標

二分類問題常用準確率、查準率、召回率等指標評估模型的優劣,而對于多類別分類問題,有些二分類的評價指標則不適用。

通常使用Kappa系數對多類別分類模型進行評估。Kappa系數是統計學中用于評估一致性的一種方法,分類問題的一致性就是模型的預測結果與實際分類結果是否一致。Kappa系數的取值范圍是[-1,1],值越大,則表示模型的分類性能越好。

Kappa系數的計算公式為:

(2)

其中,

p

是每一類正確分類的樣本數量之和除以總樣本數,也就是總體分類精度。假設每一類的真實樣本個數分別為

a

a

,…,

a

;而預測出來的每一類的樣本個數分別為

b

,

b

,…,

b

;總樣本個數為

n

,則有:

(3)

2 多類別文本分類方法比較方案的設計

2.1 比較對象

本研究在比較對象上考慮了文本特征表示方法和分類算法兩個維度。其中,文本特征表示選取了TF-IDF、詞嵌入CBOW和詞嵌入SKIP-GRAM三種方法;分類算法包括5種:決策樹、SVM、KNN、樸素貝葉斯和隨機森林。對不同的文本特征表示方法和分類算法進行組合,構成15種分類模型,以這15種分類模型為比較對象。

2.2 比較指標

在比較指標上考慮了時間和分類效果。分類效果使用Kappa系數來衡量,時間方面包括:(1)文本特征表示的處理時間;(2)分類模型的構建時間與測試樣本的預測時間之和。時間均以秒為單位。

2.3 比較流程

在比較流程上考慮了數據規模與比較次數。基本思路是:

(1)在原始數據集中隨機采樣

N

條數據;(2)分別使用TF-IDF、詞嵌入CBOW、詞嵌入SKIP-GRAM方法構建這

N

條數據的文本特征矩陣,將這

N

條數據按照一定的比例(如8∶2)拆分成訓練集和測試集;

(3)分別使用SVM、KNN等不同的分類算法基于不同的文本特征表示構建分類模型,并對測試集進行預測,統計各模型的Kappa系數、運行時間等指標;

(4)重復步驟(1)~(3)

M

次(如

M

=50)后,計算在數據規模為

N

條數據時,

M

次比較后各比較指標的平均值;(5)增加數據規模后繼續執行步驟(1)~步驟(4),如設定每次增加200條數據,即

N

=

N

+200,得到新的數據規模下

M

次比較后各比較指標的平均值;

(6)當數據規模超過了原始數據集的條數后停止比較,綜合評估不同數據規模下不同模型的性能。

3 多類別文本分類方法比較實例

3.1 數據集

3.1.1 原始數據集

使用八爪魚采集器從好奇心日報、新浪網、網易等媒體閱讀網站爬取了3 000條不同類別的資訊文本,整理成研究所需要的原始數據集,保存到CSV格式的文件中。該數據集由分類、標題、正文三個字段組成,如圖2所示。

圖2 原始數據集示例

其中,文本類別有6個:商業、娛樂、游戲、文化、智能和時尚,各類別文本的數據量在原始數據集中大致呈平均分布,數據集適合做多類別文本分類研究。

3.1.2 訓練數據集與測試數據集

本實例只研究文本標題的自動分類,因此訓練集和測試集只涉及到類別和標題兩個字段。如前文所述,在比較過程中,每次從原始數據集中采樣一定規模的數據,將這些數據按照8∶2的比例拆分成訓練集和測試集。采樣規模從400條逐漸遞增到3 000條,步長為200,并且,同一規模的訓練集和測試集進行50次建模比較。

3.1.3 原始數據集中“正文”字段的作用

原始數據集中每一條數據的正文都是一個長文本,正文總字數達到了7 854 428,完全可以將正文內容作為訓練詞嵌入模型的語料庫。

3.2 標題文本的特征表示

3.2.1 TF-IDF文本特征表示

在R語言環境下使用quanteda包中的corpus()、tokens()、dfm()、dfm_tfidf等函數構建標題的TF-IDF文本特征表示模型,主要語法如下:

原始文件<-read.csv(文件名.csv)

標題內容<-corpus(原始文件$標題)

分詞<-tokens(標題內容)

分詞<-tokens_remove(分詞, stopwords(language="zh",source="misc"))

文檔詞條矩陣<-dfm(分詞)

TF-IDF文本特征表示<-dfm_tfidf(文檔詞條矩陣)

以采樣400條數據為例,得到的標題文本的TF-IDF文本特征矩陣如圖3所示。

圖3 標題文本的TF-IDF表示矩陣示例

很顯然,使用TF-IDF進行文本特征表示文檔詞條矩陣過于龐大并高度稀疏。

3.2.2 基于詞嵌入的文本特征表示

使用R語言的word2vec包構建基于詞嵌入的文本表示,主要步驟如下:

步驟1:詞嵌入模型訓練文本的分詞、去停用詞等處理。

如前文所述,本實例將原始數據集中“正文”字段的所有文本作為訓練詞嵌入模型的語料庫。由于word2vec算法的輸入是詞語列表而不是整篇文章,因此首先需要對訓練語料庫進行分詞、去停用詞、去符號、去數字等處理,并將分詞后的語料文件保存成CSV格式文件以備后續訓練詞嵌入模型使用。

步驟2:使用語料文件訓練詞嵌入模型。

使用步驟1形成的語料文件和word2vec函數生成詞嵌入模型。主要語法如下:

詞嵌入語料<-read.csv(語料文件.csv)

CBOW詞嵌入模型<- word2vec(x=詞嵌入語料$語料庫詞條,type="cbow",dim=50,iter=20,split=" ")

將word2vec函數中的參數type設定為“skip-gram”則可以訓練出SKIP-GRAM詞嵌入模型,即:

SKIPGRAM詞嵌入模型<- word2vec(x=詞嵌入語料$語料庫詞條, type="skip-gram",dim=50,iter=20,split=" ")

步驟3:使用詞嵌入模型對標題文本進行特征表示。

基于步驟2訓練出的詞向量模型,使用doc2vec函數將分詞后的標題內容表示成向量模型,即將每個標題內容映射成50維實數向量。主要語法如下:

文檔ID<-seq(1:采樣條數))

數據框<- data.frame(doc_id=文檔ID,text=標題文本分詞后的詞表, stringsAsFactors=FALSE)

基于CBOW詞嵌入的文本特征表示<-doc2vec(CBOW詞嵌入模型,數據框,type="embedding")

基于SKIP-GRAM詞嵌入的文本特征表示<-doc2vec(SKIPGRAM詞嵌入模型, 數據框, type="embedding")

通過上述過程,將每一個標題文本映射成50維的實數向量。

3.3 文本分類模型的構建及性能評估

對于本研究所涉及的SVM、KNN、決策樹、樸素貝葉斯、隨機森林五種分類算法,在R語言環境下,使用party、e1071、randomForest等包中提供的函數進行文本分類模型的構建。

以使用randomForest包中的隨機森林算法構建基于不同特征表示的分類模型為例:

(1)基于TF-IDF的文本特征表示。

TFIDF分類模型<-randomForest(類別~.,TFIDF特征表示的訓練數據集,ntree=30,na.action=na.roughfix)

TFIDF預測結果<-predict(TFIDF分類模型,TFIDF特征表示的測試數據集,proximity=TRUE)

(2)基于詞嵌入CBOW的文本特征表示。

CBOW分類模型<-randomForest(類別~.,CBOW特征表示的訓練數據集,ntree=30,na.action=na.roughfix )

CBOW預測結果<- predict(CBOW分類模型,CBOW特征表示的測試數據集,proximity=TRUE)

(3)基于詞嵌入SKIP-GRAM的文本特征表示。

SKIP-GRAM分類模型<-randomForest(類別~.,SKIP-GRAM特征表示的訓練數據集,ntree=30,na.action=na.roughfix )

SKIP-GRAM預測結果<- predict(SKIP-GRAM分類模型,SKIP-GRAM特征表示的測試數據集,proximity=TRUE)

在模型構建及對測試數據集進行預測的過程中統計運行時間,并且在預測之后構建預測值與真實值的混淆矩陣,使用VCD包中的Kappa函數基于混淆矩陣計算模型的Kappa系數,衡量模型的分類效果。

3.4 模型的比較結果

3.4.1 文本特征表示處理時間的比較

在不同的數據規模下,使用TF-IDF、詞嵌入CBOW和詞嵌入SKIP-GRAM三種方法對文本進行特征表示的處理時間變化如圖4所示。

圖4 不同數據規模下使用不同方法進行 文本特征表示的處理時間

從圖4可以看出:

在相同的數據規模下,詞嵌入的文本特征表示處理時間都遠遠超過TF-IDF,這是因為詞嵌入需要對大量的語料庫進行訓練,而在兩種詞嵌入方法中,SKIP-GRAM比CBOW的訓練時間更長(大約是2.5倍)。

三種特征表示的處理時間與數據規模的相關系數如表1所示。

表1 文本表示處理時間與數據規模的相關性

從表1可以看出:

(1)TF-IDF文本特征表示的處理時間與數據規模高度正相關,采樣數據越多,處理的詞條數越多,TF-IDF文本特征表示的處理時間越長;

(2)兩種詞嵌入特征表示的處理時間與所處理數據的數據規模之間的相關性不強。

3.4.2 模型構建與預測時間比較

15種模型在不同數據規模下運行時間的變化如圖5所示。由于使用TF-IDF進行文本特征表示的模型與使用詞嵌入進行文本特征表示的模型在運行時間上數值范圍相差極大,所以在圖5中用上下兩幅圖來闡釋,上圖表示使用TF-IDF進行文本特征表示的模型,下圖表示使用詞嵌入進行文本特征表示的模型。

圖5 不同數據規模下不同模型的分類建模與預測時間

從圖5可以看出:

(1)15種模型的運行時間均與數據規模高度正相關,相關系數如表2所示。

表2 模型的運行時間與數據規模的相關性

(2)在相同數據規模、相同的文本分類算法下,文本特征表示使用TF-IDF的模型運行時間遠遠超過文本特征表示使用詞嵌入模型的運行時間。

(3)綜合來看,在相同的數據規模下,隨機森林+CBOW模型的運行時間最短;而決策樹+TF-IDF模型的運行時間最長。最短時間與最長時間的線性擬合關系如圖6所示。

圖6 隨機森林+CBOW及決策樹+TF-IDF模型 運行時間的線性擬合

3.4.3 模型的分類效果比較

文本多分類模型的分類效果使用Kappa系數來衡量,15種模型在不同數據規模下Kappa系數的變化如圖7所示。

圖7 不同數據規模下不同模型的分類效果

從圖7可以看出:

(1)在本研究的任何一種數據規模下,SVM+CBOW模型的分類效果都是最好的;而樸素貝葉斯+TF-IDF模型的分類效果則最差。

(2)在相同的數據規模、相同的分類算法下,文本表示使用TF-IDF方法的模型分類效果都是最差的;使用詞嵌入方法的分類模型的Kappa系數要比使用TF-IDF的模型的Kappa系數大很多;兩種詞嵌入模型的Kappa系數相差不大,總體來說,CBOW模型的分類效果略優于SKIP-GRAM模型。

(3)隨機森林作為集成算法,容易給人造成的誤解是:其性能一定比單一算法要好。但比較結果發現,在本研究中,當使用詞嵌入進行文本特征表示時,隨機森林的分類效果雖然比單一決策樹的分類效果要好,但卻比SVM、KNN、樸素貝葉斯的分類效果差;當使用TF-IDF進行文本特征表示時,隨機森林的分類效果最好,然后依次是決策樹、KNN、SVM和樸素貝葉斯。這說明:隨機森林在高維度、大規模數據集的分類處理上具有一定的優勢,但對于少量和低維數據集的分類不一定可以得到很好的分類效果。

15種模型的分類效果與數據規模的相關性如表3所示。

表3 模型的分類效果與數據規模的相關性

從表3可以看出:

(1)KNN算法和隨機森林算法與高維的TF-IDF文本表示方法組合時,數據規模越大分類效果越好,說明這兩種算法適合對數據量大、高維的數據集進行分類處理。

(2)決策樹算法與低維的詞嵌入文本表示方法組合時,分類數據量越大分類效果越好,說明決策樹方法適合對大量的低維數據進行分類處理。

(3)樸素貝葉斯和SVM算法明顯不適合對高維數據進行處理,當使用TF-IDF進行文本表示時,分類數據量越大,這兩種算法的分類效果越差。

4 結束語

本研究綜合考慮了數據規模、數據維度(文本表示方法)、分類算法三方面,設計了多類別文本分類方法比較方案,從時間和分類效果兩個維度評估分類模型的性能。綜合評估后認為,對于多類別文本分類問題:

(1)文本特征表示不建議使用TF-IDF方法。使用TF-IDF方法,盡管在前期文本特征表示的處理時間上有一定的優勢,但是由于文本特征矩陣過于稀疏和龐大,導致分類模型的運行時間過長、分類效果亦極不理想。

(2)在兩種word2vec詞嵌入算法中,建議選擇CBOW方法,該方法不僅在文本特征表示階段具有明顯的時間優勢,而且在建模階段,CBOW與樸素貝葉斯、SVM、KNN算法組合的模型分類效果均非常理想。

(3)在分類算法的選擇上,當數據規模不是很大時,不建議選擇隨機森林等集成算法,隨機森林算法的優勢體現在對高維數據的處理上,其與詞嵌入文本表示方法組合未必能達到非常理想的分類效果。

猜你喜歡
分類特征文本
分類算一算
如何表達“特征”
在808DA上文本顯示的改善
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
主站蜘蛛池模板: 免费无遮挡AV| 国产香蕉在线| 欧美h在线观看| 国产91九色在线播放| h视频在线观看网站| 亚洲人成网18禁| 亚洲毛片一级带毛片基地| 国产精品污视频| 日本高清免费一本在线观看| 国产黄网永久免费| 国产精品成人久久| 亚洲第一成人在线| 亚洲一级毛片在线观| 亚洲av综合网| 另类欧美日韩| 国产又粗又猛又爽视频| 一级毛片免费观看久| 一级福利视频| 亚洲不卡av中文在线| 成人在线天堂| 影音先锋丝袜制服| 91无码视频在线观看| 亚洲成a人片77777在线播放| 毛片在线播放网址| 久久网欧美| 日韩免费视频播播| 精品1区2区3区| 伊人久久大香线蕉综合影视| 奇米影视狠狠精品7777| 999国产精品永久免费视频精品久久 | 久久婷婷五月综合色一区二区| WWW丫丫国产成人精品| 国产乱人乱偷精品视频a人人澡| 成人午夜网址| 亚洲第一国产综合| 欧美 国产 人人视频| 在线看片国产| 免费一级毛片在线播放傲雪网| 久久情精品国产品免费| 欧美精品三级在线| 三上悠亚在线精品二区| 亚洲天堂网视频| 中文字幕 日韩 欧美| 色综合中文字幕| a毛片基地免费大全| 国产精品久久久久婷婷五月| 亚洲香蕉久久| 国产精品一区二区在线播放| 成人午夜在线播放| 91精品日韩人妻无码久久| 久久网综合| 99热这里只有精品免费国产| 女人一级毛片| 丁香婷婷久久| 国产精品尹人在线观看| 亚洲愉拍一区二区精品| 亚洲成A人V欧美综合| 欧美精品亚洲精品日韩专区va| 欧美中文字幕一区| 97青青青国产在线播放| 国产精品福利尤物youwu| 香蕉国产精品视频| 视频在线观看一区二区| 无码人妻免费| 99热国产这里只有精品无卡顿"| 97人人模人人爽人人喊小说| 国内精品久久久久鸭| 女人天堂av免费| 国产理论一区| jizz国产在线| 日本欧美中文字幕精品亚洲| 成人免费午间影院在线观看| 91视频精品| 国产女主播一区| 亚洲欧洲日本在线| 国产精品亚洲а∨天堂免下载| 婷婷激情五月网| 男人天堂伊人网| 日本午夜影院| 免费国产一级 片内射老| 美女被操91视频| 欧美亚洲激情|