孫川钘,朱镕申,張凌云
(電子科技大學(xué)成都學(xué)院,四川 成都 611731)
當前處于網(wǎng)絡(luò)大數(shù)據(jù)時代,網(wǎng)絡(luò)中各種形式的數(shù)據(jù)、信息均以文本的形式進行存儲,且文本信息容易存儲,資源占用率低,因此有效管理文本信息是目前面臨的最大問題[1,2]。由于文本信息沒有固定的結(jié)構(gòu),從海量零散的信息中有效獲取所需信息難度較高,為此,有效地分類文本語義具有重要意義。
目前,文本語義分類方法有很多,如謝紅玲[3]等人提出的基于深度學(xué)習(xí)的語義分類方法和楊銳[4]等人提出的卷積神經(jīng)網(wǎng)絡(luò)文本分類方法,前者利用深度學(xué)習(xí)模型中的LSTM模塊實現(xiàn)文本分類,但是LSTM模塊中的優(yōu)化器運算負載強度大,優(yōu)化性能較差,導(dǎo)致該方法的語義標注準確度不高,且語義特征提取能力不佳;后者方法利用卷積算法對字符和詞展開識別從而實現(xiàn)文本分類,受大數(shù)據(jù)影響,且網(wǎng)絡(luò)文本信息更新速度較快,導(dǎo)致該方法分類查全率較低,無法滿足當前文本分類需求。
面對當前信息時代各個領(lǐng)域文本信息需求,利用Python編程語言技術(shù),結(jié)合支持向量機算法,研究基于Python技術(shù)的半監(jiān)督文本語義分類方法,以更好地解決文本語義分類問題。在眾多機器學(xué)習(xí)算法中,支持向量機算法是符合矢量網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法,可實現(xiàn)數(shù)據(jù)分析、識別、分類等,將數(shù)據(jù)信息以映射的方式映射到高緯度的空間內(nèi),通過計算高緯度空間的兩個平行超平面距離實現(xiàn)分類,該算法具有分類精度高,速度快等優(yōu)點。Python是一種編程語言,又稱為腳本語言,其擁有屬于自己的處理語言函數(shù),在分類計算方面具有較大的優(yōu)勢,語言可讀性高,處理長字符串的能力較強,因此,被應(yīng)用在獨立且大型的項目開發(fā)中,具有容易維護的特點,應(yīng)用運行流暢。同時,Python擁有豐富的擴展庫,可滿足應(yīng)用程序的各項功能。
Python軟件開發(fā)語言擴展性較強,本文利用Python調(diào)用接口、擴展庫等功能建立自動標注下的半監(jiān)督文本語義分類模型,如圖1所示。
圖1 自動標注下的半監(jiān)督文本語義分類模型
初始文本利用自動標注手段標注后分為訓(xùn)練文本和測試文本,經(jīng)過Python編程實現(xiàn)文本分詞和刪除停用詞的文本預(yù)處理后,經(jīng)過文本語義特征提取及歸一化處理后輸入到半監(jiān)督分類器內(nèi),半監(jiān)督分類器利用支持向量機算法實現(xiàn)文本語義分類。
依據(jù)自動標注手段,得到文本語義自動標注流程如下
令D、di、cj、C分別表示文本語義數(shù)據(jù)集、文本、種類名稱、種類名稱集合,各參數(shù)之間的相似度由s(di,cj)表示,且i滿足1≤i≤|D|,假設(shè)sj表示文本與種類名稱相似度的最大數(shù)值,則文本di屬于cj類的置信度計算公式如下
(1)
由于種類名稱集合內(nèi)存在多個種類名稱,單個文本置信度也會存在多個數(shù)值[5],對置信度實施標準化處理后的概率Q(cj|di)表示文本屬于種類的可能程度,其計算公式如下
(2)
式中,n表示文本數(shù)量,j=1,2,…n。
分類文本語義數(shù)據(jù)集時,假設(shè)c1、c2為兩個種類,此時文本di分別屬于c1和c2類的概率為Q(cj|di),其計算公式如下
(3)
(4)
利用上述概率計算公式標注所有文本,概率數(shù)值越大,表示該文本被分到此類的概率越大。
由于文本語義種類名稱擴展不足,導(dǎo)致文本標注出現(xiàn)錯誤概率較大,利用貝葉斯算法調(diào)整文本語義的概率值。將文本d劃分到cj類內(nèi),Q(cj|d)表示文本語義的先驗概率,C′表示聚類集合,則文本d聚類的結(jié)果被分到cj類內(nèi)的概率為后驗概率,其計算公式如下
(5)
(6)
(7)
在式(6)中,分子和分母分別表示文本語義集內(nèi)的文本被分到cj類的概率總和、文本聚類到cj類內(nèi)并被分到該類的概率總和。通過以上概率計算實現(xiàn)精準的文本語義標注。
文本語義集經(jīng)過文本分詞和刪除停用詞處理后得到文本語義特征集,將可區(qū)分文本分類的詞語組合在一起形成文本語義特征集合,即特征空間向量[6]。本文將改進的CHI算法應(yīng)用到文本語義的特征選擇中,特征選擇流程如下:
第一步:計算兩個類別的各個特征詞的CHI數(shù)值,將其平均值作為特征詞語t相對文本語義集的CHI數(shù)值,假設(shè)表示卡方值,則其平均值計算公式如下
(8)
式中,c1類的概率由Q(c1)表示,c2類的概率由Q(c2)表示。
第二步:對特征詞語卡方值的平均值實施排序,以前m個特征詞語作為初始特征詞語集合。
第三步:計算初始特征詞語的出現(xiàn)次數(shù),并按照大小排序,以前k個特征詞語作為最終集合。
通過以上步驟完成文本語義特征選擇,利用支持向量機方法將文本語義特征表示成特征向量,通過對特征向量加權(quán)可獲取該特征向量值,對特征向量空間內(nèi)的所有文本語義值按照大小排列,以歸一化的方法將特征向量空間排列好的特征值映射到區(qū)間[0,1]內(nèi),完成文本語義特征歸一化[7]。
支持向量機是二分類模型,獲取最佳超平面是支持向量機的核心所在[8,9],該算法通過核函數(shù)可處理線性與非線性問題,且無需估計文本語義可否分割的問題,利用間隔最大值并轉(zhuǎn)為凸二次規(guī)劃最佳解,獲取全局最佳解[10],從而實現(xiàn)文本語義分類。
通過核函數(shù)方式避免非線性分類問題,支持向量機算法分類流程如下:
輸入訓(xùn)練數(shù)據(jù)集合,其表達公式如下
T={(x1,y1),(x2,y2),…(xN,yN)}
(9)
式中,特征向量、類別分別由xi∈x?Rn、yi∈y={+1,-1}表示,且i=1,2,…N。
分離超平面與分類函數(shù)為支持向量機的輸出,超平面的表達公式如下
yi[(e*xi)-b]≥1
(10)
式中,e表示超平面數(shù)值,b表示支持向量機輸出值。
為使最佳超平面數(shù)值最低,可利用凸二次規(guī)劃方法實現(xiàn)[11],其表達公式如下
(11)
為最佳超平面設(shè)置約束條件,其表達公式如下
yi[(e*xi)-b]≥1
(12)
拉格朗日函數(shù)表達公式如下
L(E,B,α)=
(13)
式中,拉格朗日乘子由ai表示,通過式(13)可獲取e和b的最低數(shù)值,當ai>0時,在計算拉格朗日函數(shù)最優(yōu)值的同時將初始問題轉(zhuǎn)化成對偶問題[12,13],其符合的約束條件表達公式如下
(14)
則獲取最佳超平面的表達公式如下
(15)
(16)
式中,x*(1)、x*(-1)分別表示正類和負類支持向量。
支持向量機分類算法作為一種二分類方式,當存在多個分類時,可將其中一類作為正類,利用上述步驟完成分類,也可在某一個類中隨機抽取兩類實施組合,會存在多個分類器,通過計算分類器數(shù)值,獲取最終分類結(jié)果[14,15]。
以驗證基于Python技術(shù)的半監(jiān)督文本語義分類方法的有效性為實驗?zāi)繕?進行仿真。在實驗中,以某網(wǎng)絡(luò)語料庫內(nèi)的文化、娛樂、經(jīng)濟、建筑四個種類的文本語義信息共10000條作為本次實驗對象,取其中百分之五十的信息作為測試數(shù)據(jù)集,剩余為訓(xùn)練數(shù)據(jù)集,為突出展示本文方法實際應(yīng)用效果,添加文獻[3]方法和文獻[4]方法做對比實驗,其中文獻[3]方法表示基于深度學(xué)習(xí)語義分類方法,文獻[4]方法表示卷積神經(jīng)網(wǎng)絡(luò)文本分類方法,使用三種方法分別在文本語義標注、特征提取、文本語義分類方面展開實驗。
文本語義標注是分類的前提,測試三種方法文本語義標注準確度,結(jié)果如表1所示。
表1 三種方法文本語義標注準確度實驗結(jié)果
分析表1可知,文本語義數(shù)量的增加,三種方法的文本意義標注準確性呈現(xiàn)降低趨勢,其中文獻[4]方法在標注訓(xùn)練數(shù)據(jù)集文本語義過程中,在文本語義數(shù)量為1000~2000個時,其文本語義標注準確度高于本文方法和文獻[3]方法,但隨著文本語義量的增加,其標注準確度迅速下降,當文本語義數(shù)據(jù)量達到10000個時,其標注準確度僅為92.33%,對比文獻[3]方法高出0.06個百分點,對比本文方法低4.74個百分點,綜合對比下,本文方法的文本語義標注準確度更高。
對建筑類文本語義的詞頻進行提取,統(tǒng)計三種方法提取的詞頻與實際文本語義詞頻情況,結(jié)果如圖2所示。
圖2 三種方法詞頻提取實驗結(jié)果
分析圖2可知,三種方法的建筑類詞頻提取次數(shù)曲線與實際曲線整體趨勢相同,在文本語義數(shù)量為0~2500個之間時,三種方法的詞頻曲線與實際詞頻曲線接近度較高,隨著文本語義數(shù)量增加,文獻[3]方法與文獻[4]方法的詞頻曲線逐漸偏離實際曲線,而本文方法的詞頻曲線并未受文本語義數(shù)量的增加影響,與實際曲線重合度較高,由此可知,本文方法的文本語義特征提取能力較強。
當存在非線性問題時,以擬合誤差作為衡量擬合性能指標,測試三種方法擬合能力,結(jié)果如圖3所示。
圖3 三種方法擬合誤差
分析圖3可知,當存在非線性問題時,本文方法的擬合誤差始終在-0.2~0.25之間波動,且波動幅度較小,而文獻[3]方法和文獻[4]方法波動幅度大,擬合誤差值跨度較大,二者的擬合誤差值區(qū)間分別為-0.4~0.6和-0.35~0.5之間,綜合對比可知,本文方法受非線性問題影響較小,擬合能力較好。
以查全率作為衡量文本語義分類能力指標,測試三種方法文本語義分類情況,結(jié)果如表2所示。
表2 三種方法文本語義分類實驗結(jié)果(%)
分析表2可知,在三種方法語義文本分類過程中,本文方法在文化、娛樂和經(jīng)濟類的查全率均高于對比方法,文獻[4]方法在分類建筑類文本時的查全率雖然高于本文方法,但在分類另外三個類的文本語義的查全率均稍低,而文獻[3]方法在三種方法內(nèi)處于中間水平,統(tǒng)計三種方法的平均查全率分別為97.21%、94.93%、94.39%,由此可知,本文方法分類能力更強。
本文利用Python技術(shù)與支持向量機算法,研究基于Python技術(shù)的半監(jiān)督文本語義分類方法,通過在文本語義標注、特征提取、分類能力展開測試,驗證了本文方法具有較高優(yōu)越性,其中在文本語義標注方面,本文方法標注的準確度均超過95%,準確度較高;在特征提取方面,其詞頻曲線與實際詞頻曲線重合度較高,特征提取能力強;在文本語義分類方面,擬合誤差在-0.2~0.25之間波動,受非線性問題影響小,且查全率為97.21%,分類能力強。
雖然本文方法在文本語義分類方面性能較高,但仍存在不足之處,如在非線性問題上以及正負樣本閾值的選擇方面,都存在較大的提升空間,且本文并未在噪聲方面對文本語義分類性能展開實驗。為緊跟大數(shù)據(jù)時代步伐,需各方面研究人員共同協(xié)作,以在文本語義分類方面獲得更加優(yōu)越的成績。