關鍵字: 基於詞性的特徵提取方法
上一節所介紹的這些方法 ,在英文特徵提取方面都有各自的優勢 ,但用於中文文字 ,並沒有很高的效率。
主要有 2 個方面的原因 :1) 特徵提取的計算量太大 ,特徵提取效率太低 ,而特徵提取的效率直接影響到整個
文字分類系統的效率。2) 經過特徵提取後生成的特徵向量維數太高 ,而且不能直接計算出特徵向量中各個
特徵詞的權重。特徵向量維數太高對於文字分類來說是個致命的缺陷 ,維數過高的特徵向量不僅帶來了巨
大的計算量 ,而且在這些特徵向量中 ,很多的特徵詞對於文字的分類毫無意義 ,這樣既影響了文字分類的效
率 ,也影響了分類的準確率 ,因此 ,在中文文字分類中 ,如何提取特徵詞以及如何控制特徵向量的維數 ,成為
乙個亟待解決的難題。
考慮到漢語言中 ,能標識文字特性的往往是文字中的實詞 ,如名詞、動詞、形容詞等。而文字中的一些虛
詞 ,如感嘆詞、介詞、連詞等 ,對於標識文字的類別特性並沒有貢獻 ,也就是對確定文字類別沒有意義的詞。
如果把這些對文字分類沒有意思的虛詞作為文字特徵詞 ,將會帶來很大噪音 ,從而直接降低文字分類的效率
和準確率。因此 ,在提取文字特徵時 ,應首先考慮剔除這些對文字分類沒有用處的虛詞 ,而在實詞中 ,又以名
詞和動詞對於文字的類別特性的表現力最強 ,所以可以只提取文字中的名詞和動詞作為文字的一級特徵詞。
2. 1 基於詞性的特徵提取演算法流程
基於詞性的特徵提取方法 ,其主要思想是 ,提取中文文字中的名詞和動詞作為文字的一級特徵詞 ,再通
過計算這些一級特徵詞的文字頻數( tf) 和文件頻數(df) 來計算其權重 ,最後根據各個特徵詞的權重 ,對這
些一級特徵詞進行排序 ,給定乙個閾值
k,在這些一級特徵詞中 ,根據其權重大小 ,選取
k個一級特徵詞 ,作
為文字的核心特徵詞組成表示文字的特徵向量。這裡的文字頻數 tf 是指特徵詞ti
在文字t
i中的頻數 ,文
檔頻數 df 指的是在訓練庫中 ,特徵詞ti
在其中至少出現一次的文件的數目。演算法流程見圖 1。
1) 網頁預處理 剔除網頁中的各種標記和符號 ,將
中文網頁轉化為對應內容的文字檔案。
2) 統計詞頻 用正規表示式匹配文件中的詞 ,對於
每個匹配出的詞進行計數。
3) 統計文件頻數 (1) 對文字的每個一級特徵詞 ,設
置文字頻數計數器 df。(2) 訓練庫中的訓練文字進行比
較並計數。
2. 2 關鍵技術
1) 中文分詞及詞性標註 常用的分詞方法有 :向前、
向後以及前後相結合的最大匹配法、最短路徑方法、全切分方法以及最大概率方法。本**中的分詞採用中
科院的分詞系統 ictclas。首先 ,進行粗分詞採用 n2最短路徑方法將最短路徑方法和全切分的有機結合。
然後對粗分詞的結果按照標準字典進行詞性的標註。在進行了 ne 識別以後 ,重新分詞找出聯合概率最大
的分詞結果。最後對分詞結果重新標註詞性。其過程見圖 2。
2) 降低特徵向量的維數 在基於詞性的特徵提取方法中 ,因為只提取文字中的名詞和動詞作為特徵詞 ,
這樣需要大量剔除文字中的虛詞和部分實詞 ,傳統的方法是構造停用詞表 ,把要從文字中剔除的詞收集整理
成停用詞表 ,但這種方法在基於詞性的特徵提取中並沒有效率 ,因為需要剔除的詞太多 ,考慮到漢語言詞彙
的豐富性 ,要收集所有不需要的詞來建立停用詞表 ,工作量之大是不可估量的 ,甚至可以說是無法實現的。
而且 ,即使建立了如此龐大的停用詞表 ,那麼在特徵提取時 ,因為停用詞表裡的詞太多 ,查詢停用詞的搜尋算
法會變得複雜而低效。
因此 ,在基於詞性的特徵提取方法中 ,引入正規表示式 ,構造乙個能匹配出文字中所有名詞和動詞的正
則表示式 ,直接提取分詞後的文字中的名詞和動詞作為文字的特徵詞。例如對「索引可以加快資料庫的檢索
速度」這句話進行分詞的結果為 :「索引/ n 可以/ a 加快/ v 資料庫/ n 的/ b 檢索/ v 速度/ a 」。要提取這句話中
的名詞和動詞 ,就要構造乙個只匹配字串「3 3 / n」或者「3 3 / v」的正規表示式。
在正規表示式中 ,「x| y」表示匹配「x」或者「y」。「+ 」表示匹配至少前面的乙個字元例如「ab + 」可以
匹配「abb」、「abbb」等。「[^m - n ]」表示某個範圍之外的字元 ,匹配除 m 到 n 之間的任何字元。「/ s」匹
配任何白字元。包括空格、製表符、分頁符等。因此正規表示式([^ / / s ! @# $% & 3 』a - za - z0 - 9 ])
+ / (n| v| vn)就可以在分詞後的中文文字中匹配出詞性標註為/ n 或者詞性標註為/ v 的詞。這樣利用正則表
達式直接匹配出所需要的詞 ,不僅有效降低了特徵向量的維數 ,而且演算法效率高得多。
3) 計算特徵詞的權重值 權重的計算則採用 tfidf 計算公式。其指導思想是 :在乙個文字中出現次
數越多的單詞 ,在另乙個同類文字中出現的次數也會很多 ,反之亦然。該方法是根據特徵詞的重要性與特徵
詞的文件內頻數成正比 ,與訓練文件中出現該詞條的文件頻數成反比的原理構造的。常用頻率因子和文件
集因子的乘積表示 :wik
=tfik3
idfk
tfik
表示特徵詞tk
在文件d
i中出現的頻率
; idf
k表示該特徵的反比文字頻數。
對於它們的計算方法
,目前有很多種
,較為常見的公式wik
= tf
ik3 log
( n/ nk+
0.01)
其中tf
ik同上
, n表示全部訓練庫中的文字數量
, nk
表示訓練文字中出現tk
的文字數。例如:
訓練庫文字總數為 7 432 篇。在一篇文字中出現「資料庫」有 2 次
,因此它的
tf值為 2
;在所有訓
練庫中有 2 847 篇文件中出現了「資料庫」
,因此資料庫在這篇文件中的權重值
w= 2 3 log
(7 432
/2 847 + 0.01
)= 0
.84。如果特徵詞在所有訓練庫中出現的頻率很高
,則其權重值會較小
,如果特徵詞出現比較集中,只
在部分文字中集中出現
,則它的權重值就大。
3測 試
隨機抽取了訓練庫中的分別屬於資料庫、資料結構、人工智慧等類別的 248 個網頁進行特徵提取 ,再利
用 knn 分類演算法對其進行分類。為了說明基於詞性的特徵提取方法提取特徵詞的效率以及降低特徵向量
的維數的結果。定義乙個變數
g來表示一級特徵詞的個數與文字中所有詞的個數之間的比值。
g =一級特徵詞的個數
文字中所有詞的個數
實驗結果如表 1 所示。從表 1 可以看出 ,g=
0. 085 6 ,即基於詞性的特徵提取方法所得到的一級特
徵詞只佔文字詞數的百分之八點多 ,但對分類結果卻
沒有太大的影響 ,這樣就大大縮減了特徵詞的個數 ,有
利於降低特徵向量的維數。表1
實驗測試結果
特徵詞個數
knn演算法
召回率/ %
knn演算法
準確率/ %
文字分詞
409 836
94. 76
93. 95
基於詞性的
特徵詞提取
35 096
93. 46
92. 74
在實際分類過程中 ,並不是把所有的一級特徵詞全部作為特徵向量的項。為了對特徵向量規範化處理 ,
需要根據第 3 節中的演算法給出的方法 ,根據這些一級特徵詞的權重 ,給定閾值
k,取權重高的
k個一級特徵
詞作為核心特徵詞組成文字的特徵向量。從實驗結果可以看出 ,基於詞性的特徵提取方法不失為一種簡單
高效特徵提取方法。
4結 語
所提出的基於詞性的文字特徵提取方法 ,提取特徵詞的效率較傳統方法有了明顯改善 ,由特徵詞所形成
的特徵向量的維數也有明顯降低 ,在計算量和演算法的複雜度方面 ,都遠遠小於傳統方法。在乙個演算法中同時
實現提取文字特徵詞和計算其權值 ,為文字分類的下一步即文字相似度計算做好了準備。
當然 ,基於詞性的文字特徵提取方法還存在需要改進的地方 ,比如說本系統中採取提取名詞和動詞來作
為文字的一級特徵詞 ,忽略了其他一些實詞 ,比如形容詞、量詞等 ,不排除被忽略的這些詞中 ,也有部分詞對
於標識文字類別有作用 ;還有閾值
k的取值 ,並沒有乙個統一的標準 ,只能靠實驗結果的反饋來決定。這些
問題 ,都有待進一步的研究。
基於熵的特徵提取
基於熵的特徵提取 一 引言 最近一直在研究自然語言處理 文字分析相關的問題,看了不少 資料分析是乙個非常有意思的東西,故準備寫一些博文來分享近來的一點心得。研究的問題明確一下,通過前面7條資料來判斷最後一條資料的性別?一眼掃過,直覺告訴我 2 安裝美柚和網易彩票,貌似很有區分度,這兩個因子 資訊量 ...
基於顏色的特徵提取
內容及要求 一 設計說明 基於內容的影象檢索 content based image retrieval,cbir 技術由機器自動提取包含影象內容的視覺化特徵,如顏色 形狀 紋理等,對資料庫中的影象和查詢樣本影象在特徵空間進行匹配,檢索出與樣本相似的影象。其原理框圖如圖1所示。圖1 基於內容的影象檢...
基於顏色特徵提取數字
最近因為畢業課題的需要,初學opencv,鑽研一周,終於有一點點小小的收穫。編譯環境 vs2013 opencv.4.9 任務 攝像頭識別電梯中已亮的按鈕數字 目的 框選圖中已亮的3和5號按鈕。話不多說,上 rgb直方圖 把r通道分為32個bin int rbins 32 int histsize ...