黃春梅 王松磊



摘? 要:自然語言處理是人工智能領域中的一個熱門方向,而文本分類作為自然語言處理中的關鍵技術受到專家學者的廣泛關注。隨著計算機網絡的發展,海量的文本踴躍出來。文本越來越多,通過人工對文本進行分類的成本越來越高。本文針對短文本分類問題,使用詞袋模型從詞向量中提取詞頻矩陣,刪除停止詞與低頻詞。再使用TF-IDF算法提取文本特征,進行文本分類研究,最終可以使短文本以較高的正確率歸類。
關鍵詞:自然語言處理;短文本分類;詞袋模型;TF-IDF
中圖分類號:TP391.1? ? ?文獻標識碼:A
Abstract:Natural language processing (NLP) is a hot field in the field of artificial intelligence.Text categorization,as a key technology in NLP,has attracted extensive attention from experts and scholars.With the development of computer networks,massive texts have come out enthusiastically.As there are more and more texts,it becomes more and more expensive to classify them manually.In this paper,we use the bag of words model to extract the word frequency matrix from the word vectors and delete the stop words and low-frequency words.Then TF-IDF algorithm is used to extract text features and conduct text classification research so that the short text can be classified with high accuracy.
Keywords:natural language processing;short text classification;bag of words;TF-IDF
1? ?引言(Introduction)
近年來,受到計算機技術高速發展,以及大量文本在互聯網領域出現的影響,網絡文本資源呈指數級增長。面對這些規模甚為龐大,并且類型極為多樣的文本數據,如何精準劃分文本類型,已直接關系到信息檢索系統的性能,其發揮著關鍵性影響。
文本分類技術在自然語言處理中所占比重成分越來越高,許多研究人員對文本分類技術的研究變得尤為重視。文本分類任務可以拆分為特征工程和分類器,完成數據到信息和信息到知識的過程[1]。詞袋模型不考慮文本內各詞間的上下文關系,只考慮所有詞所占的權重,權重則與文本內詞的出現頻率相關[2]。文本特征選擇方法較多,其中TF-IDF可以有效評估特定字詞對于一個文本集或一個語料庫中的重要程度[3,4]。
本文研究基于句子的詞頻特性和tf-idf特征,使用一種基于詞袋模型和TF-IDF的短文本分類方法。該方法使用詞袋模型從詞向量中提取詞頻矩陣,將tf-idf特征作為短文本分類的一個重要特征,用以解決現有短文本分類問題。
2? ?詞袋模型(Bag of words)
Bag of Words,也稱作“詞袋”。它用于描述文本的一個簡單數學模型,也是常用的一種文本特征提取方式[5]。在信息檢索中,詞袋模型假定對于一個文本,忽略其次序和語法,僅僅當作是該文本中若干個詞匯的集合。該文本中,每個詞匯都是互不相關的,每個詞匯的出現都不依賴于其他詞匯。也就是說,文本中任意一個單詞不管出現在任意哪個位置,都不會受到其他因素的影響[6]。
文本分析的主要目標之一是將文本轉換成數值形式,這樣就可以在上面使用機器學習算法進行訓練。機器學習算法需要處理數值形式的數據,以便它們能夠分析數據并且提取有用的信息。詞袋模型從文檔的所有單詞中提取特征單詞,并且用這些特征項矩陣建模。這就使得每一份文檔可以描述成一個詞袋。而且只需要記錄單詞的數量,語法和單詞的順序都可以忽略。
一個文檔的單詞矩陣是一個記錄出現在文檔中的所有單詞的次數。因此,一份文檔能被描述成各種單詞權重的組合體。通過設置條件,可以篩選出更有意義的單詞。順帶,還可以構建出現在文檔中所有單詞的頻率直方圖,這就是一個特征向量。這個特征向量被用于文本分類[7]。
3? ?TF-IDF模型(TF-IDF models)
TF-IDF模型是一類應用廣泛的加權技術,經常被用來進行信息檢索和數據挖掘。TF(Term Frequency)是詞頻的簡稱,可理解為文本內詞匯出現的頻率,逆文本頻率的縮寫為IDF,即一個詞語普遍關鍵性的度量[8]。
此模型的核心思想為:若某短語(或詞)于一篇文章內多次出現,即TF較高,同時甚少出現于其他文章內,那么判定該短語(或詞)具備良好類別區分性能,在分類方面具備適用性。實際上,TF-IDF為TF*IDF。其中,TF代表文檔內詞條出現的頻率。后者IDF的核心思想為:若包含詞條t的文檔愈少,即n愈小,IDF則愈大,那么表示,詞條t在分類區分方面能力突出。若某一類文檔C內有m個文檔均內含詞條t,而非此類文檔內所含t的文檔量合計是k,很明顯,n(包含t的全部文檔量)為上述m、k之和。當m大的時候,n也大,按照IDF公式得到的IDF的值會小,就說明該詞條t類別區分能力不強。然而客觀情況是,若一個詞條頻繁出現于一個類的文檔內,那么表示此詞條可很好體現這個類的文本屬性,對于此類詞條,應賦予其較高權重,同時可將其當作此類文本的特征詞,用來和其他類文檔作鑒別[9]。
在某指定文件內,可將TF理解為某給定詞語于此文件內出現的頻率。此數值為詞數歸一化處理的結果,即對向量長度實施縮放處理,全部元素的合計值等于1,由此避免它偏向長文件(相較短文件,同一詞語在長文件內的詞數可能更高,而與此詞語是否重要無關)。就在某一特定文件內的詞語ti而言,可通過下式來體現其重要性:
在式(1)內,符號ni,j代表ti此詞在dj此文件內出現的次數,那么上式分母表示dj內全部字詞出現次數的合計值[10]。
IDF為逆文本頻率的簡稱,將其作為度量來評估一個詞語是否具有普遍重要性。計算詞頻時,假定所有的單詞都是同等重要的。但是不能只依賴每個單詞出現的頻率,因為像and和the這樣的詞出現很多次。為了平衡這些常見詞語的頻率,需要減少他們的權重并衡量這些罕見詞匯。這有助于識別出對每個文檔都獨一無二的單詞,從而制定一個獨特的特征向量。某一特定詞語IDF的求解途徑為,總文件數量÷包含此詞語的文件數量,然后把兩者相除所得值取對數即為IDF,具體公式為:
式(2)中:|D|代表語料庫內文件總量;|{j:ti∈dj}|代表包含ti此詞語的文件數量(也可理解為ni,不等于零的文件數量)。若此詞語ti未在語料庫內,就會出現除數等于零的結果,所以,通常使用1+|{j:ti∈dj}|。
最后,TF-IDF的值是這兩個值的乘積值:
某特定文件中的高詞語頻率,結合此詞語于文件集合內的低文件頻率,能夠生成高權重的TF-IDF[11]。故而,TF-IDF傾向于將常用的詞語過濾掉,將重要詞語保留下來。
4? ?實驗分析(Experiment analysis)
4.1? ?實驗數據集
本文基于詞袋模型和TF-IDF的短文本分類研究使用20newsgroups數據集當作訓練數據集。此數據集是用來進行信息檢索研究、文本挖掘與文本分類的國際標準數據集的其中之一,其所含的新聞組文檔數量大約為20 000,被均勻劃分成20個主題各異的新聞組集合,部分集合如表1所示。
表1中的key值對應Scikit-learn庫中數據集的名字,value為分類名稱。
測試數據集如表2所示。
4.2? ?實驗過程
本文實驗使用基于Python的機器學習庫Scikit-learn,采用20newsgroups數據集作為訓練集,具體過程如圖1所示。
(1)首先導入20newsgroups數據集作為訓練使用,對其進行分詞處理。
(2)使用詞袋模型對詞向量進行計數處理,將其轉為詞頻矩陣。
(3)刪除停止詞(不攜帶任何主題信息的高頻詞)與低頻詞(出現次數極低的詞匯,通常是一些不常用的專有名詞)。
(4)統計詞頻,得到詞頻特征。
(5)計算tf-idf特征。
4.3? ?實驗結果
本文中的實驗,先用20newsgroups訓練數據集對分類器進行訓練,通過對訓練數據集使用詞袋模型和TF-IDF模型,得到訓練后的分類器。接著用測試數據集對此分類器進行實驗,得出的實驗結果如表3所示。
通過表3可以看出,經過訓練的分類器對于每個用于測試的句子都做出了正確的分類。
5? ?結論(Conclusion)
隨著計算機硬件、大數據和人工智能的不斷發展,海量的文本數據會越來越多,對于文本分類的研究也就越來越重要。使用詞袋模型和TF-IDF算法模型能夠精確地對短文本進行分類,極大地簡化了人力勞動。因此可為文本的分類提供更為可靠的數據和方法支持。
下一步工作將在改進的TF-IDF算法基礎上建立一個效率更高的文本分類預測模型。
參考文獻(References)
[1] Bicalho P,Pita M,Pedrosa G,et al.A general framework to expand short text for topic modeling[J].Information Sciences,2017(393):66-81.
[2] Yan DF,Ke N,Gu C,et al.Multi-label text classification model based on semantic embedding[J].The Journal of China Universities of Posts and Telecommunications,2019,2(1):95-104.
[3] Ma H,Zhou R,Liu F,et al.Effectively classifying short texts via improved lexical category and semantic features[C].Proc of International Conference on Intelligent Computing,2016:163-174.
[4] 錢愛兵,江嵐.基于改進TF-IDF的中文網頁關鍵詞抽取——以新聞網頁為例[J].情報理論與實踐,2008,31(6):945-950.
[5] 胡學鋼.基于詞匯鏈的中文新聞網頁關鍵詞抽取方法[J].模式識別與人工智能,2010,123(1):45-51.
[6] 趙鵬.一種基于復雜網絡特征的中文文檔關鍵詞抽取算法[J].模式識別與人工智能,2007,20(6):827-831.
[7] 郭詩瑤.融合上下文信息的文本分類算法的研究及應用[D].北京郵電大學,2019:21-43.
[8] 施聰鶯.TFIDF算法研究綜述[J].計算機應用,2009,29(6):167-180.
[9] Purda L,Skillicorn D.Accounting variables,deception,and a bag of words: Assessing the tools of fraud detection[J].Contemporary Accounting Research,2015,32(3):1193-1223.
[10] 劉嬌.基于深度學習的多語種短文本分類方法研究[D].延邊大學,2018:23-44.
[11] 孟濤,王誠.基于擴展短文本詞特征向量的分類研究[J].計算機技術與發展,2019,29(4):57-62.
作者簡介:
黃春梅(1973-),女,碩士,副教授.研究領域:云存儲,智能教育.
王松磊(1992-),男,碩士生.研究領域:自然語言處理.