摘要:隨著信息技術(shù)的發(fā)展,政務(wù)服務(wù)的水平也得到了提升,各級政府部門都開通了網(wǎng)上問政服務(wù),留下了大量的群眾留言,只通過后臺人工對留言進(jìn)行分類,效率低下,費(fèi)時費(fèi)力。本文提出基于機(jī)器學(xué)習(xí)的方法,對網(wǎng)上問政的文本進(jìn)行分類,利用自然語言處理的技術(shù)對文本進(jìn)行合理的預(yù)處理操作,利用詞向量工具Word2vec將文本表示成向量的形式,通過機(jī)器學(xué)習(xí)算法支持向量機(jī)(SVM)的方法進(jìn)行文本分類。實(shí)驗(yàn)表明,在基于機(jī)器學(xué)習(xí)的文本分類中,經(jīng)過預(yù)處理和詞向量模型表示后的文本,使用SVM分類方法對網(wǎng)上問政文本進(jìn)行所屬機(jī)構(gòu)類別取得了90%以上的準(zhǔn)確率。
關(guān)鍵詞:自然語言處理;機(jī)器學(xué)習(xí);網(wǎng)上問政;文本分類;SVM
中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2023)06-0022-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0引言
智慧政府的建設(shè)為群眾提供了更多樣的政務(wù)服務(wù)途徑,開通網(wǎng)上問政方便群眾可以通過互聯(lián)網(wǎng)完成對相關(guān)問題和政策的咨詢,不受時間地點(diǎn)限制,方便群眾辦事,拓寬了政府服務(wù)渠道。對于網(wǎng)上問政的問題和留言,需要根據(jù)問題的類型分類以便歸口到對應(yīng)的政府機(jī)構(gòu)進(jìn)行回復(fù)與處理,而有不少群眾對于自己所需要咨詢的問題并不能準(zhǔn)確劃分歸口部門,導(dǎo)致問題不能及時得到有效處理[1]。通過自然語言處理對網(wǎng)上問政的留言文本進(jìn)行分類可以更加高效地對留言進(jìn)行分類,對群眾關(guān)切的問題進(jìn)行及時回應(yīng),提高政務(wù)服務(wù)的水平。
自然語言處理就是將人類語言轉(zhuǎn)換成計算機(jī)可以理解和處理的語言,利用計算機(jī)技術(shù)實(shí)現(xiàn)更加智能的機(jī)器理解與后續(xù)處理。自然語言就是人類溝通交流所使用的語言,根據(jù)地域和種族的不同,不同國家和民族都會有自己的語言,主要有英語、漢語、俄語、法語等。不同的語言類型也有不同的語法結(jié)構(gòu),需要采用不同的處理才能達(dá)到理想的效果,針對中文的文本預(yù)處理,目前主要有中文分詞、去除停用詞、詞性標(biāo)注、向量表示等,根據(jù)不同的文本特征進(jìn)行預(yù)處理可以大大提高文本處理的準(zhǔn)確率。支持向量機(jī)模型在多個自然語言處理問題中都取得了較好的實(shí)驗(yàn)結(jié)果,本文利用SVM的算法對網(wǎng)上問政文本分類,采集網(wǎng)絡(luò)上公開的、實(shí)際的網(wǎng)上問政文本,通過文本預(yù)處理對網(wǎng)絡(luò)文本進(jìn)行分詞,去除停用詞得到更加規(guī)整的文本形式,采用詞向量模型Word2vec將文本轉(zhuǎn)換成計算機(jī)更容易處理的向量形式,最后采用SVM分類方法對文本向量進(jìn)行分類,并驗(yàn)證分類的準(zhǔn)確率,同時還驗(yàn)證了采用不同的預(yù)處理操作,以及詞向量模型對于分類準(zhǔn)確率的影響。
1 文本采集與預(yù)處理
1.1數(shù)據(jù)采集與清洗
從某市政府網(wǎng)上問政平臺公開的政務(wù)留言數(shù)據(jù)中,采集網(wǎng)上問政留言數(shù)據(jù),并按群眾留言數(shù)量排序得到問政數(shù)量最多的前五個政府機(jī)構(gòu),分別為:人社、醫(yī)保、市場監(jiān)管、公安、教育。由于采集到的網(wǎng)絡(luò)文本存在著網(wǎng)絡(luò)符號,重復(fù)文字,需要對采集后的原始網(wǎng)上留言數(shù)據(jù)進(jìn)行清洗、規(guī)整、補(bǔ)錄和統(tǒng)計。第一,針對采集到的留言數(shù)據(jù)進(jìn)行清洗,刪除針對研究沒有意義的符號、重復(fù)和缺失留言數(shù)據(jù);第二,對采集到的部分半格式化的信息進(jìn)行格式化,如將包含中文的留言數(shù)據(jù)字段規(guī)整為整型字段。數(shù)據(jù)清洗流程為之后的數(shù)據(jù)分析和分類提供優(yōu)質(zhì)的基礎(chǔ)數(shù)據(jù)。最終清洗后得到共計127000條留言數(shù)據(jù),5個留言數(shù)量較高的機(jī)構(gòu)數(shù)據(jù)數(shù)量如圖1所示。
1.2 中文分詞
中文句子的最小單位是字,而詞才是具有語義的最小單位,并且具有非常豐富的語義及結(jié)構(gòu)特征。在對文本進(jìn)行文本分類,對文本語句進(jìn)行按詞的劃分具有決定性作用,因此分詞的準(zhǔn)確性是保證分類結(jié)果準(zhǔn)確的基礎(chǔ)。相比英文每個單詞都以空格結(jié)尾,對句子進(jìn)行了天然的切分,所以中文文本不具有良好的切分標(biāo)志,所以需要對句子按照詞語進(jìn)行切分,只有正確地按照詞句進(jìn)行切分才能對句子進(jìn)行分析。對句子的正確切分就是自然語言處理領(lǐng)域的分詞,準(zhǔn)確的中文分詞也是目前的研究難點(diǎn)。
目前針對中文的分詞工具有很多種,國內(nèi)比較常用的分詞系統(tǒng)包括:jieba分詞、中科院的 NLPIR中文分詞系統(tǒng),哈爾濱工業(yè)大學(xué)語言技術(shù)平臺(LTP)分詞系統(tǒng)等。jieba分詞是一種常用的開源分詞庫。它提供了一種非常適合文本細(xì)分的分析模式-精確模式[2]。主要是因?yàn)樗軌蚋鶕?jù)分割模型以最精確的方式分離句子。同時,jieba 還支持用戶自定義的詞庫,可以有效地提高準(zhǔn)確率。本文采用比較常用的jieba分詞來進(jìn)行分詞處理。
1.3 去除停用詞
停用詞(Stop Words)是指在自然語言處理中可以過濾掉的一些沒有實(shí)際意義的功能詞,這些詞在文本中出現(xiàn)的頻率較高,但對文本表達(dá)沒有實(shí)際意義,中文常用的停用詞有代詞“這”“那”,助詞“的”“了”,介詞“在”,語氣助詞“呢”“啊”等[3]。去除這些無實(shí)義的高頻停用詞可以降低特征向量的空間維度,提高分類的準(zhǔn)確率,本文使用哈工大的停用詞表來對文本中的停用詞進(jìn)行處理。
1.4 詞向量表示
網(wǎng)上留言屬于非結(jié)構(gòu)化文本,不便于使用計算機(jī)處理和理解,需要將其按一定的規(guī)則把文本轉(zhuǎn)換成數(shù)值模型的詞向量,使計算機(jī)能理解并加以處理。這也是文本處理的一個重要問題,如果可以準(zhǔn)確合理地將文本表示成數(shù)值類型,將會大大提高計算機(jī)的處理和分析難度。利用最簡單的想法,對每個詞語進(jìn)行賦值,句子就是每個詞語數(shù)值的集合,但是這些散亂的數(shù)值便不能有效地表示出語義信息,因此采用一種神經(jīng)網(wǎng)絡(luò)的語言模型,CBOW(Continuous Bag-of-Words)模型是一種經(jīng)過改進(jìn)的神經(jīng)網(wǎng)絡(luò)語言模型,主要通過映射層替代隱層,實(shí)現(xiàn)了輸入層詞向量的相加,從而降低了模型的計算量。CBOW模型是由預(yù)知的上下文來得出單詞出現(xiàn)的概率。主要結(jié)構(gòu)是由輸入層、投影層和輸出層三層結(jié)構(gòu)組成,模型的學(xué)習(xí)目標(biāo)是根據(jù)輸入層輸入的信息和輸出層輸出的條件概率最大化對數(shù)似然函數(shù):
[L=w∈Cl))]? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中,[W]是從語料庫[C]輸入的詞語。 CBOW 模型的原理可以解釋為,假設(shè)已知上下文,通過上下文來預(yù)測中間最可能出現(xiàn)的詞。因此模型的輸入是上下文詞向量,經(jīng)過投影層簡單求和,再輸入輸出層,輸出出現(xiàn)概率最大的詞[W]。
本文將使用 Word2vec訓(xùn)練詞向量,Word2vec詞向量模型包含了 CBOW 模型,用高維向量表示詞語,并把相近意思的詞語放在相近的位置,并且使用實(shí)數(shù)向量(不局限于整數(shù))只需要用大量的某種語言的語料,就可以用它來訓(xùn)練模型,獲得詞向量。在本文的實(shí)驗(yàn)中,對采用不同的預(yù)處理進(jìn)行實(shí)驗(yàn)對比,驗(yàn)證預(yù)處理操作對文本分類結(jié)果的影響。
2 SVM 文本分類
支持向量機(jī)是一種監(jiān)督學(xué)習(xí)算法,是一種廣泛使用的機(jī)器學(xué)習(xí)方法,SVM算法具有泛化能力強(qiáng),能夠很好地處理高維數(shù)據(jù),無局部極小值問題。SVM算法利用核函數(shù)將詞向量映射到高維的空間中,使在低維空間中不可分的特征在高維空間中變得可分,從而完成分類的任務(wù),利用 SVM 分類模型對詞向量提供的數(shù)據(jù)特征進(jìn)行文本分類,根據(jù)訓(xùn)練集數(shù)據(jù)將模型參數(shù)學(xué)習(xí)到最優(yōu),然后利用訓(xùn)練好的模型對測試集數(shù)據(jù)中文本類型作出預(yù)測,最后根據(jù)預(yù)測結(jié)果判斷訓(xùn)練模型的好壞[4]。針對文本二分類任務(wù),SVM模型分類的原理是將通過預(yù)處理階段生成的文本詞向量經(jīng)過核函數(shù)的映射作用,分布到更高維度的空間中,然后將問題轉(zhuǎn)化為在高維空間中的線性分類問題,找到可以分隔的最大區(qū)間超平面,并且兩個最大的超平面中的每一個超平面在每一側(cè)都有兩個其他超平面。兩個超平面彼此平行,并且最大化兩個超平面的間距就是最優(yōu)的分隔超平面。支持向量機(jī)模型如圖 2所示。最大間隔超平面表示為:
[Wx+b=0]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
兩個平行的超平面為:
[Wx+b=1]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
[Wx+b=-1]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
y表示數(shù)據(jù)的分類標(biāo)簽,-1表示屬于機(jī)構(gòu)1的數(shù)據(jù),+1表示屬于機(jī)構(gòu)2的數(shù)據(jù)。令:
[f(x)=Wx+b]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
將兩個相互平行的超平面上的點(diǎn)稱為支持向量,滿足:
[|Wx+b|=1]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
因此,從支持向量到最大間隔超平面的距離為:
[Wx+bW=1W]? ? ? ? ? ? ? ? ? ? ?(6)
設(shè)間隔的大小為[M],那么:
[M=1W]? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
最大化[M]等價于:
[max1W→minW2]? ? ? ? ? ? ? (8)
因此,滿足最大間隔超平面所需的條件是:
[minW2]? ? ? ? ? ? ? ? ? ? ? ? ? (9)
滿足于:
[yiWxi+b≥1;i=1,2,...,N]? ? ? ? ? ?(10)
轉(zhuǎn)化為拉格朗日優(yōu)化問題,利用拉格朗日乘數(shù)法進(jìn)行計算得到式(11):
[LW2,b,α=12W2-i=1NαiyiWTxi+b-1](11)
其中,[αi]是拉格朗日乘子。
SVM算法的特性對于二分類問題可以較好地處理,而對于多分類問題就要對SVM算法進(jìn)行改進(jìn),目前針對多分類的問題,SVM算法的改進(jìn)方法主要有兩種,第一種是對每兩個類別之間都構(gòu)造一個SVM 二分類器,對每一個分類器判別出的所屬類別計數(shù),最終計數(shù)最大的那個類別就是該文本所屬的類別;第二種是對于M個分類,對一個類別和剩余的M-1個類別之間構(gòu)造一個二分類進(jìn)行分類判別,如果不屬于第一個類別,就繼續(xù)在剩余的M-1個類別中繼續(xù)構(gòu)造分類器進(jìn)行判別。由于第二種方法中M-1個類別的數(shù)據(jù)量會明顯大于某個單一類別的數(shù)據(jù)量,造成數(shù)據(jù)失衡,導(dǎo)致一個樣本可能屬于多個類,因此本文中采用第一種方法構(gòu)建多分類的SVM分類器。
本文對需要分類的五個樣本類別,每兩個分類之間構(gòu)造一個SVM分類器模型,共需要訓(xùn)練出10個SVM二分類器。在進(jìn)行測試時,將測試樣例分別輸入每個分類器中,分別進(jìn)行二分類,最終的分類類別取計數(shù)最大那個類別作為最終分類結(jié)果。機(jī)器學(xué)習(xí)工具包scikit-learn 包中已經(jīng)集成了SVM算法模型,因此可以直接導(dǎo)入工具包來完成文本分類,本文的SVM算法中的核函數(shù)選用線性核函數(shù)來進(jìn)行實(shí)驗(yàn)。
基于機(jī)器學(xué)習(xí)的SVM算法搭建網(wǎng)上問政文本分類模型如圖3所示。
3實(shí)驗(yàn)分析
本文利用SVM算法對網(wǎng)上問政的留言文本分屬機(jī)構(gòu)分類進(jìn)行實(shí)驗(yàn),并對不同的預(yù)處理操作進(jìn)行對比實(shí)驗(yàn)。先對采集的網(wǎng)上問政留言文本數(shù)據(jù)使用jieba 分詞工具做中文分詞處理后,將數(shù)據(jù)隨機(jī)切分為測試集和訓(xùn)練集,測試集和訓(xùn)練集的占比為 2:8,訓(xùn)練集用于訓(xùn)練SVM 模型,測試集用于測試分類模型的分類效果。針對實(shí)驗(yàn)結(jié)果的評價也是實(shí)驗(yàn)中非常關(guān)鍵的一步。因此在本章的實(shí)驗(yàn)中,采用統(tǒng)一的評價指標(biāo)來描述分類模型的效果。主要有兩個評價指標(biāo),即準(zhǔn)確率和召回率。
準(zhǔn)確率(Precision)可以簡記為P。就是評價模型的準(zhǔn)確率,對于分類算法模型來說,準(zhǔn)確率是最直觀的評價標(biāo)準(zhǔn),簡單明了地展示出模型的效果,計算標(biāo)準(zhǔn)就是分類正確的比例。計算公式如式(12)所示:
[準(zhǔn)確率=判斷正確的類別數(shù)目該類別所有評論文本的數(shù)目]? ? ? ? (12)
召回率( Recall):簡記為 R,作為對模型準(zhǔn)確率的補(bǔ)充,考查分類結(jié)果是否完備??梢灾甘境龇诸愔笜?biāo)指定的效果,不能單從準(zhǔn)確性就判斷模型的好壞,模型是否完善也是一個重要因素,召回率就是為人們在評價模型時提供一個更加完善的指標(biāo)??梢酝ㄟ^式(13)計算得到:
[召回率=判斷正確的類別數(shù)目該類別實(shí)際應(yīng)包含的評論文本數(shù)目] ? (13)
對于一個文本分類數(shù)據(jù)集D,屬于類別1且被正確分類到該類別的留言數(shù)量記為RR,分類為類別1但不屬于該類別的文本的數(shù)量被標(biāo)記為 RN,并且屬于類別1但未被分類到該類別的文本的數(shù)量被標(biāo)記為NR,其他不相關(guān)并且也沒有任何分類的文本數(shù)量標(biāo)記為NN。此時,準(zhǔn)確率和召回率可分別按照式(14)和式(15)計算:
[Precision=RRRR+RN]? ? ? ? ? ? ? ? ? ? (14)
[Recall=RRRR+NR]? ? ? ? ? ? ? ? ? ? ?(15)
相關(guān)研究表明,準(zhǔn)確率和召回率兩項(xiàng)指標(biāo)在某種程度上存在著相互制約的關(guān)系,兩者之間的相互制約使得在選擇模型時無法取舍。因此需要綜合度量兩項(xiàng)指標(biāo)的變化情況。F-Measure就是可以同時關(guān)注準(zhǔn)確性和召回率的一個指標(biāo), F-Measure均衡地制約著準(zhǔn)確率和召回率,可以綜合這兩個指標(biāo)的影響效果,其計算公式如式(16)所示:
[F-Measure=2*Recall*PrecisionRecall+Precision] ? (16)
F-Measure也稱為 F1 值,常作為評價指標(biāo)用于衡量情感分類的整體效果,表明準(zhǔn)確率和召回率對于模型的評價具有相同的參考價值。F1 的取值在 0 到 1 之間,最好的情況就是當(dāng)F1值取1時表明準(zhǔn)確率和召回率都為1,此時的模型才是最為理想的模型。
實(shí)驗(yàn)一對分詞后的文本數(shù)據(jù)直接輸入SVM算法模型進(jìn)行文本分類,實(shí)驗(yàn)取得了84.3%準(zhǔn)確率;實(shí)驗(yàn)二將中文分詞后的文本數(shù)據(jù)利用停用詞表進(jìn)行去除停用詞處理后輸入SVM算法模型,實(shí)驗(yàn)取得了86.5% 的準(zhǔn)確率;實(shí)驗(yàn)三將經(jīng)過分詞和去除停用詞處理的文
本數(shù)據(jù),再通過Word2vec詞向量模型生成詞向量表達(dá)后,輸入SVM模型中,取得了91.2%的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果如表1所示,實(shí)驗(yàn)結(jié)果表明,SVM 算法可以較好地完成網(wǎng)上問政文本分類任務(wù),采用合理的文本預(yù)處理操作比單純的使用SVM算法可以取得更高文本分類的準(zhǔn)確率。本文采用的經(jīng)過分詞及去除停用詞處理后的Word2vec+SVM算法文本分類模型取得了最高的準(zhǔn)確率,由此可以說明,本文提出的方法可以較好地完成網(wǎng)上問政文本分類任務(wù)。
4結(jié)束語
本文提出了采用機(jī)器學(xué)習(xí)SVM算法模型對網(wǎng)上問政群眾留言的文本按機(jī)構(gòu)部門分類,并采用了中文分詞和去除停用詞的文本預(yù)處理操作,同時利用了Word2vec詞向量表達(dá)模型取得了較高的分類準(zhǔn)確率,相比于人工后臺分類更加高效省時,也解決了群眾在問題咨詢中不確定問題歸屬部門的問題。后續(xù)工作中可以加入更多的機(jī)器學(xué)習(xí)算法來進(jìn)一步提高分類模型的各項(xiàng)指標(biāo)[6]。
參考文獻(xiàn):
[1] 朱文峰.基于支持向量機(jī)與神經(jīng)網(wǎng)絡(luò)的文本分類算法研究[D].南京:南京郵電大學(xué),2019.
[2] 胡玉蘭,趙青杉,陳莉,等.面向中文新聞文本分類的融合網(wǎng)絡(luò)模型[J].中文信息學(xué)報,2021,35(3):107-114.
[3] 何鎧,管有慶,龔銳.基于深度學(xué)習(xí)和支持向量機(jī)的文本分類模型[J].計算機(jī)技術(shù)與發(fā)展,2022,32(7):22-27.
[4] 於雯,周武能.基于LSTM的商品評論情感分析[J].計算機(jī)系統(tǒng)應(yīng)用,2018,27(8):159-163.
[5] 趙延平,王芳,夏楊.基于支持向量機(jī)的短文本分類方法[J].計算機(jī)與現(xiàn)代化,2022(2):92-96.
[6] 劉婧,姜文波,邵野.基于機(jī)器學(xué)習(xí)的文本分類技術(shù)研究進(jìn)展[J].電腦迷,2018(6):26.
【通聯(lián)編輯:唐一東】