html标签 对word2vec,基于Word2Vec的中文短文本分类问题研究
1 引言
移動終端的智能化和互聯網技術的高速發展促使人們在移動互聯網上交流的越來越頻繁, 由此產生了大量的信息數據[, 這些數據多以短文本的形式作為信息傳遞的載體, 例如微博和即時推送新聞等, 其內容通常都是簡潔精煉并且含義概括, 具有很高的研究價值. 因此, 如何通過機器對這些短文本內容進行自動分類以及對短文本所具有的豐富含義進行有效的理解鑒別已經成為自然語言處理和機器學習領域研究的熱點和難點[.
短文本自動分類首先需要將文本轉化為計算機能理解處理的形式, 即文本數據的表示, 其對文本分類至關重要, 可直接影響分類效果. 傳統的文本表示方法主要基于空間向量模型(Vector Space Model, VSM), 俗稱詞袋模型[, 該方法認為文檔是無序詞項的集合, 丟棄了詞序、語法等文檔結構信息, 忽略了詞語間的語義關系, 存在數據高維稀疏問題, 對分類效果的提升存在瓶頸. 于是一些學者引入外部的知識庫(如搜索引擎、維基百科等)對文本進行特征擴展, 豐富詞語間語義關系[, 但其嚴重依賴外部知識庫的質量, 對于知識庫中未收錄的概念無能為力且計算量大、耗時長. 另有部分學者挖掘文本潛在的語義結構[, 生成主題模型如LSA, pLSI和LDA[, 但模型構建屬于“文本”層面, 缺少細節性研究. 因此短文本的表示方法還有待研究.
Bengio在2003年首次提出了神經網絡語言模型(Neural Network Language Model, NNLM), 但由于其神經網絡結構相對較復雜, 許多學者在其基礎上進行改進優化, 最具代表性之一的當屬T. Mikolov等人在2013年基于神經網絡提出的Word2Vec模型[. Word2Vec模型通過對詞語的上下文及詞語與上下文的語義關系進行建模, 將詞語映射到一個抽象的低維實數空間, 生成對應的詞向量. Word2vec詞向量的維度通常在100~300維之間, 每一維都代表了詞的淺層語義特征[, 通過向量之間的距離反映詞語之間的相似度, 這使得Word2Vec模型生成的詞向量廣泛應用于自然語言處理(Natural Language Processing, NLP)的各類任務中, 如中文分詞[, POS標注[, 文本分類[等.與傳統的空間向量文本表示模型相比, 使用詞向量表示文本, 既能解決傳統向量空間模型的特征高維稀疏問題, 還能引入傳統模型不具有的語義特征解決“詞匯鴻溝”問題, 有助于短文本分類[. 但如何利用詞向量有效表示短文本是當前的一個難點, 目前在這方面的研究進展緩慢, 常見的方法有對短文本所包含的所有詞向量求平均值[, 但卻忽略了單個詞向量對文本表示的重要程度不同, 對短文本向量的表示并不準確. Quoc Le和Tomas Mikolov[在2014年提出的Doc2Vec方法在句子訓練過程中加入段落ID, 在句子的訓練過程中共享同一個段落向量, 但其效果與Word2Vec模型的效果相當, 甚至有時訓練效果不如Word2Vec模型. 唐明等人[注重單個單詞對整篇文檔的影響力, 利用TF-IDF算法計算文檔中詞的權重, 結合Word2Vec詞向量生成文檔向量, 但其單純以詞頻作為權重考慮因素太單一, 生成文本向量精確度不夠, 未考慮文本中所含有的利于文本分類的因素的重要性, 比如名詞、動詞等不同詞性的詞對于文本內容的反映程度是不同的, 詞性對于特征詞語的權重應該也是有影響的. 在上述研究的基礎上, 考慮到不同詞性的詞語對短文本分類的貢獻度不同, 引入基于詞性的貢獻因子與TF-IDF算法結合作為詞向量的權重對短文本中的詞向量進行加權求和, 并在復旦大學中文文本分類語料庫上進行測試, 測試結果驗證了改進方法的有效性.
2 相關工作
短文本自動分類是在預定義的分類體系下, 讓計算機根據短文本的特征(詞條或短語)確定與它關聯的類別, 是一個有監督的學習過程. 在自動文本分類領域常用的技術有樸素貝葉斯分類器(Navie Bayes Classifier)、支持向量機(Support Vector Machine, SVM)、K進鄰算法(KNN)等. 本文提出的短文本分類算法結合Word2Vec和改進的TF-IDF兩種模型.
2.1 Word2Vec模型
Word2Vec模型包含了Continuous Bag of Word (CBOW)和Skip-gram兩種訓練模型, 這兩種模型類似于NNLM, 區別在于NNLM是為了訓練語言模型, 詞向量只是作為一個副產品同時得到, 而CBOW和Skip-gram模型的直接目的就是得到高質量的詞向量, 且簡化訓練步驟優化合成方式, 直接降低了運算復雜度. 兩種模型都包括輸入層、投影層、輸出層, 其中CBOW模型利用詞wt的上下文wct去預測給定詞wt, 而Skip-gram模型是在已知給定詞wt的前提下預測該詞的上下文wct. 上下文wct的定義如公式(1)所示:
$w_t = w_{t - c}, \cdots ,\;w_{t - 1},\;w_{t + 1}, \cdots ,\;w_{t + c}$
(1)
其中c是給定詞wt的前后詞語數目. CBOW模型和Skip-gram模型的優化目標函數分別為公式(2)和公式(3)的對數似然函數:
$L_{\rm CBOW} = \sum\limits_{wt \in C} {\log p(w_t{\rm{|}}w_{ct})} $
(2)
$L_{\rm Skip - gram} = \sum\limits_{wt \in C} {\sum\limits_{ - k \le c \le k} {\log p(w_{t + c}|w_t)} } $
(3)
其中C代表包含所有詞語的語料庫, k代表當前詞wt的窗口大小, 即取當前詞的前后各k個詞語. 針對NNLM輸出層采用Softmax函數進行歸一化處理計算復雜度較大的問題, Word2Vec模型結合赫夫曼編碼的Hierachical Softmax算法和負采樣(Negative Sampling)技術對式中的條件概率函數
$p(w_t|w_{ct})$及
$p(w_{t + c}|w_t)$的構造進行優化, 處理如公式(4)所示, vw和vw'分別代表詞w的輸入輸出詞向量, W代表詞典大小. 之后采用隨機梯度下降算法對模型的最優參數進行求解.
$p({w_O}|{w_I}) = \frac{{\exp ({{v'}}_{wO}^{\rm{T}}{v_{wI}})}}{{\sum\limits_{w \in W} {\exp ({{v'}}_{wO}^{\rm{T}}{v_{wI}})} }}$
(4)
當模型訓練完成時即可得到所有詞語對應的詞向量, 發現詞向量間往往存在類似的規律:
$v_{\rm king} - v_{\rm man} + $
$v_{\rm woman} = v_{\rm queen}$, 由此可以看出Word2Vec模型對語義特征的有效表達.
2.2 TF-IDF模型
詞頻與逆文檔頻率(Term Frequency-inverse Document Frequency, TF-IDF)是一種統計方法, 用以評估詞語對于一份文件或者一個文件集的重要程度. 字詞的重要性隨著它在文件中出現的次數成正比增加, 但同時會隨著它在語料庫中出現的頻率成反比下降. 通俗表達的意思是如果某個詞或短語在一個類別中出現的頻率較高, 并且在其他類別中很少出現, 則認為此詞或者短語具有很好的類別區分能力, 適合用來分類[. TF-IDF由詞頻和逆文檔頻率兩部分統計數據組合而成, 即TF×IDF. 詞頻(Term Frequency, TF)指的是某一個給定的詞語在該文檔中出現的頻率, 計算公式如(5)所示:
$tf_{i,j} = \frac{{n_{i,j}}}{{\sum\nolimits_k {n_{k,j}} }}$
(5)
其中ni, j表示詞語ti在文檔dj中的出現次數, 分母則是在文檔dj中所有字詞的出現次數之和, k代表文檔dj中的總詞數. 已知語料庫中的文檔總數, 一個詞語的逆向文件頻率(Inverse Document Frequency, IDF)可由總文檔數目除以包含有該詞語的文檔的數目得到, 計算公式如(6)所示:
$idf_i = \log \frac{{{\rm{|}}D|}}{{|\{ j:t_i \in d_j\} |}}$
(6)
其中
$|D|$表示語料庫中的文檔總數,
$|\{ j:t_i \in d_j\} |$代表包含詞語ti的文檔數目(即
$n_{i,j} \ne 0$的文檔數目), 如果該詞語不在語料庫中會導致分母為零, 因此一般情況下使用
$|1 + \{ j:t_i \in d_j\} |$. 由此可得出詞語ti的TF-IDF權重歸一化后的計算公式如(7)所示:
$tf - idf_i = \frac{{tf_{i,j} \times idf_i}}{{\sqrt {{{\sum\nolimits_{t_i \in d_j} {[tf_{i,j} \times idf_i]} }^2}} }}$
(7)
3 基于改進的TF-IDF算法的加權Word2Vec分類模型
短文本分類的關鍵在于短文本的表示, 一般的做法是利用向量空間模型將文檔表示為TF-IDF的加權向量, 但這樣得到的短文本向量往往有特征高維稀疏等問題. Word2Vec模型提供了一種獨特的方法解決特征稀疏問題, 而且引入了語義特征, 能訓練出更加豐富準確的詞向量, 短文本向量即可由這些包含語義關系的詞向量表示.
在Word2Vec詞向量的基礎上, 結合改進的TF-IDF算法即PTF-IDF算法提出了短文本向量的表示方法及短文本分類模型.
3.1 PTF-IDF
傳統的TF-IDF權重計算方法用于短文本分類時是將文檔集作為整體考慮的, 未體現出詞性對短文本分類的影響程度, 但在實際的分類過程中, 不同詞性的詞語對短文本分類的貢獻度和影響力是不同的. 因此, 本文考慮在TF-IDF基礎上根據詞語的詞性引入一個貢獻因子, 通過調整詞性的特征權重, 減少噪音項的干擾, 凸顯特征詞的重要程度, 使得不同類的短文本差別更明顯.
通過已有的研究可以了解到, 名詞、動詞對文本內容的反映程度更強, 更能表征文本的主題, 而形容詞、副詞次之, 其他詞性的詞對于短文本分類的貢獻更小. 文獻[
$\begin{array}{l}PTF - IDF_i = tf - idf_i \cdot e\\[5pt]e = \left\{ {\begin{array}{*{20}{l}}{\alpha ,\text{當}t_i\text{為名詞或者動詞} }\\[5pt]{\beta ,\text{當}t_i\text{為形容詞或者副詞}}\\[5pt]{\gamma ,\text{當}t_i\text{為其他詞性的詞項}}\end{array}} \right.\end{array}$
(8)
式中, ti表示短文本中的當前詞, e即為根據當前詞的詞性所分配的權重系數, 且滿足
$1 > \alpha > \beta > \gamma > 0$,
$tf - idf_i$即為公式(7).
3.2 Word2Vec模型結合PTF-IDF算法表示短文本
將Word2Vec模型應用于文本分類解決了傳統空間向量模型的特征高維稀疏問題和“詞匯鴻溝”問題, 但鑒于短文本具有篇幅短小、組成文本的特征詞少等不同于長文本的特點, 單個詞語的重要程度顯得尤為重要, 因此與引入了詞性貢獻因子的PTF-IDF算法結合, 借助PTF-IDF算法從詞頻和詞性兩方面計算短文本中詞匯的權重.
Mikolov在文獻[$Dj(j = 1,2,3,\cdots,m)$, 其短文本向量可以表示為如(9)所示的形式:
$d_j = \sum\limits_{t \in D_j} {w_t \cdot PTF - IDF_i} $
(9)
其中, wi表示分詞ti經過Word2Vec模型訓練出來的詞向量, 通常將詞向量的維數定為200, 因此短文本向量同樣是200維, 大大減少了分類過程中的計算量.
$PTF - IDF_i$即為詞語ti引入了詞性貢獻因子的PTF-IDF權重, Word2Vec詞向量乘以對應的PTF-IDF權重得到加權Word2Vec詞向量. 累加短文本中詞語的加權Word2Vec詞向量, 得到短文本向量dj.
3.3 短文本分類的工作流程
對未知短文本的分類過程如
很多研究表明, 與其他分類系統相比, SVM在分類性能上和系統健壯性上表現出很大優勢[, 因此實驗選用SVM作為分類工具, 根據短文本向量及其對應的標簽訓練出分類器. 測試過程與訓練過程相似, 只是最后通過已訓練好的分類器預測測試短文本的標簽.
圖 1
Fig. 1
圖 1 短文本分類的工作流程
4 實驗
4.1 實驗數據
實驗數據集來自于由復旦大學計算機信息與技術系國際數據庫中心自然語言處理小組收集發布的文本分類數據集. 原始數據集共20個分類, 包含文本9804篇文檔, 每個類別中所包含的文檔數量不等. 本文選取其中文檔數量大于500的類別參與實驗, 一共包含3435篇文檔, 分別是藝術類、農業類、經濟類和政治類, 每個分類下的文檔數量如
表 1(Table 1)
表 1 數據集各類別文檔數量
藝術類
農業類
經濟類
政治類
文檔數量
688
544
1487
716
表 1 數據集各類別文檔數量
4.2 分類性能評價指標
分類任務的常用評價指標有準確率(Precision), 召回率(Recall)和調和平均值F1. 其中準確率P是指分類結果中被正確分類的樣本個數與所有分類樣本數的比例. 召回率R是指分類結果中被正確分類的樣本個數與該類的實際文本數的比例. F1是綜合考慮準確率與召回率的一種評價標準. 計算公式分別如下所示:
$P = \frac{A}{{A + B}}$
(9)
$R = \frac{A}{{A + C}}$
(10)
$F1 = \frac{{2PR}}{{P + R}}$
(11)
各參數含義如
表 2(Table 2)
表 2 分類評價指標參數含義表
分類為c類
分類非c類
實際為c類
A
C
實際非c類
B
D
表 2 分類評價指標參數含義表
4.3 PTF-IDF算法的權重系數確定
本文提出的分類模型在短文本分類問題上的準確率受PTF-IDF權重系數的影響較大. 為得到較好的分類效果, 需要確定PTF-IDF算法中的最優權重系數. 當設置不同權重系數時, 基于Word2Vec模型與PTF-IDF算法結合表示的短文本向量在SVM分類器中的分類效果不同, 選取分類效果最好即F1值最大時的系數值作為PTF-IDF算法的權重系數.
由于動詞和名詞對短文本內容的表征能力最強, 因此實驗中將名詞或者動詞的權重系數α從0.5開始取值, 按
${\rm{1}} > \alpha > \beta > \gamma $的規則, 采用三重循環依次以0.1的步長增大
$\alpha ,\; \beta ,\;\gamma $的值. 部分實驗結果如
表 3(Table 3)
表 3 F1值與權重系數關系
α
β
γ
F1(%)
α
β
γ
F1(%)
0.5
0.4
0.3
92.15
0.7
0.6
0.5
92.03
0.5
0.4
0.1
90.12
0.7
0.6
0.1
89.39
0.5
0.3
0.2
91.52
0.7
0.5
0.2
91.26
0.5
0.2
0.1
89.98
0.7
0.4
0.3
91.99
0.6
0.5
0.3
90.03
0.7
0.3
0.1
89.79
0.6
0.5
0.1
89.96
0.8
0.7
0.5
90.38
0.6
0.4
0.1
91.72
0.8
0.6
0.4
91.70
0.6
0.3
0.2
93.01
0.8
0.4
0.2
92.79
0.6
0.2
0.1
90.08
0.8
0.2
0.1
88.98
表 3 F1值與權重系數關系
實驗結果顯示當
$\alpha,\;\beta,\;\gamma $分別取0.6、0.3、0.2時, 分類效果最好, F1值可達93.01%. 當
$\alpha ,\;\beta ,\; \gamma $取0.8、0.4、0.2時其次, F1值也達到92.79%, 而當
$\alpha ,\; \beta, \; \gamma $三者系數相近時, 如
$\alpha , \; \beta , \; \gamma $分別取0.5、0.4、0.3和0.7、0.6、0.5時類似于原TF-IDF算法與Word2Vec詞向量加權求和, 分類效果適中, 由此也驗證了引入詞性貢獻因子改進TF-IDF算法對短文本分類的有效性. 但并不是所有的詞性貢獻因子的組合都能取得不錯的效果, 當過分看重名詞和動詞的權重而忽略其他詞性的貢獻度時結果反而差強人意. 因此通過合理調整詞性貢獻因子組合, 獲得最優的詞向量權重系數, 可以提升短文本的分類效果.
4.4 實驗對比與分析
本文將分別使用TF-IDF、均值Word2Vec、TF-IDF加權Word2Vec以及PTF-IDF加權Word2Vec四種模型對實驗數據集中的新聞標題進行分類.
對于TF-IDF分類模型, 使用Scikit-learn提供的TfidfVectorizer模塊提取文本特征并將短文本向量化. 均值Word2Vec模型是計算一篇短文本中所有通過Word2Vec模型訓練出的Word2Vec詞向量的均值. TF-IDF加權Word2Vec模型是將短文本中詞向量和對應詞匯的TF-IDF權重相乘得到的加權Word2Vec詞向量, 累加加權詞向量得到加權短文本向量化表示. PTF-IDF加權Word2Vec模型與TF-IDF加權Word2Vec模型類似, 只是引入詞性貢獻因子改進TF-IDF算法, 綜合考慮詞性與詞頻為詞向量賦予不同的權重, 根據4.3小節中權重系數確定的實驗, 將
$\alpha,\; \beta,\; \gamma $分別設置為0.6、0.3、0.2.
實驗中分類算法均使用Scikit-learn提供的LinearSVM算法, 所有實驗采用五分交叉驗證, 測試結果用準確率(P)、召回率(R)、F1指標進行測評, 測試結果如
表 4(Table 4)
表 4 TF-IDF模型(單位: %)
類別
P
R
F1
C1
88.00
88.89
88.44
C2
90.65
93.03
91.82
C3
94.24
86.75
90.34
C4
86.35
92.11
89.14
avg
89.81
90.20
89.94
表 4 TF-IDF模型(單位: %)
表 5(Table 5)
表 5 均值Word2Vec模型(單位: %)
類別
P
R
F1
C1
86.49
91.43
88.89
C2
95.95
89.44
92.58
C3
88.54
92.98
90.71
C4
96.18
89.36
92.64
avg
91.79
90.80
91.21
表 5 均值Word2Vec模型(單位: %)
表 6(Table 6)
表 6 TF-IDF加權Word2Vec模型(單位: %)
類別
P
R
F1
C1
94.78
87.20
90.83
C2
91.67
94.78
93.20
C3
89.84
96.14
92.88
C4
99.19
85.92
92.08
avg
93.87
91.01
92.25
表 6 TF-IDF加權Word2Vec模型(單位: %)
表 7(Table 7)
表 7 PTF-IDF加權Word2Vec模型(單位: %)
類別
P
R
F1
C1
91.76
93.91
92.82
C2
91.43
94.12
92.76
C3
94.04
92.73
93.38
C4
95.29
92.30
93.77
avg
93.13
93.27
93.18
表 7 PTF-IDF加權Word2Vec模型(單位: %)
由F1值比TF-IDF模型稍有提升, 由此也驗證了Word2Vec模型應用于短文本分類的可行性以及Word2Vec模型所生成的詞向量比傳統模型所生成的詞向量更能有效地表示文檔特征.
基于TF-IDF加權的Word2Vec模型相比均值Word2Vec模型又有所提高, 在SVM分類器上所有類別的平均準確率、召回率、F1值分別提升了2.08%, 0.21%, 1.04%. 這歸因于TF-IDF權重可以權衡Word2Vec模型生成的每個詞向量在短文本中的重要性, TF-IDF加權的Word2Vec詞向量使用于文本分類的短文本表示更合理準確.
本文提出的引入詞性貢獻因子的PTF-IDF加權Word2Vec模型較對比的分類模型效果最好, 由F1值驗證了所提出的基于Word2Vec的PTF-IDF加權求和計算短文本向量表示方法在短文本分類方面的有效性.
圖 2
Fig. 2
圖 2 4種短文本向量表示模型分類效果比較
5 結束語
針對當前短文本向量表示方法的不足, 借助Word2Vec模型的優點, 將Word2Vec模型與引入詞性貢獻因子的改進TF-IDF算法結合, 綜合考慮詞頻和詞性特征, 提出了一種基于Word2Vec的PTF-IDF加權求和計算短文本向量算法, 并應用于短文本分類問題, 在復旦大學中文文本分類語料庫上的實驗表明, 相較于傳統的TF-IDF模型、均值Word2Vec模型以及TD-IDF加權Word2Vec模型, 本算法模型有更好的短文本分類效果. 但文章也有一些不足之處, 數據集較少, 實驗中采用的類別不夠豐富, 后續可在多個數據集上進行驗證, 加強所提算法模型的可移植性; 在進行短文本向量表示時只是簡單加權求和, 未考慮詞與詞之間的順序及位置關系, 有待后續進一步的研究和實驗.
總結
以上是生活随笔為你收集整理的html标签 对word2vec,基于Word2Vec的中文短文本分类问题研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式存储与传统存储架构
- 下一篇: C++11右值引用