田俐
(湖北汽車工業(yè)學(xué)院 湖北省十堰市 442002)
服務(wù)型政府并不是一個(gè)新提出的概念,其社會(huì)管理功能大于政治統(tǒng)治性功能,該服務(wù)性受到了我國(guó)行政學(xué)界的青睞,有關(guān)理論也成為了多個(gè)學(xué)者的研究熱點(diǎn)。同時(shí)政務(wù)服務(wù)也被越來(lái)越多的公民所關(guān)注, 即人們不斷關(guān)注政府功能與作用[1]。
我國(guó)政府一直是服務(wù)性政府, 但要想充分地發(fā)揮政府的服務(wù)性質(zhì), 還需要以群眾為依托,注重從群眾角度,反饋社會(huì)各類問題。近年來(lái),12345 熱線已被廣泛認(rèn)可[2],它不僅可以解決公共的多種需要,還可以幫助政府更好地實(shí)現(xiàn)服務(wù)型政府的目標(biāo)。該熱線利用多種渠道,如12345、縣長(zhǎng)郵箱、手機(jī)短信、手機(jī)客戶端、微博、微信,可以解決不同的需要,包含但不限于:有關(guān)行政、社區(qū)管理工作、公務(wù)的咨詢,針對(duì)不屬于緊急情況的求助,針對(duì)可疑的刑事犯罪活動(dòng),如侵害社會(huì)公民、企業(yè)法人或是任何機(jī)構(gòu)的權(quán)益,以及有關(guān)部門的監(jiān)督,以促使更多的企業(yè)實(shí)現(xiàn)可持續(xù)的發(fā)展。2021年1月6日,《國(guó)務(wù)院辦公廳有關(guān)繼續(xù)改善地方政務(wù)服務(wù)的指導(dǎo)意見》正式出臺(tái),旨在加強(qiáng)對(duì)地方政務(wù)服務(wù)的支持[3],以更好地解決公共的需求,促進(jìn)經(jīng)濟(jì)社會(huì)的可持續(xù)發(fā)展。
面對(duì)群眾通過(guò)12345 熱線反饋的問題,如何準(zhǔn)確地刻畫城市問題是值得探索的。傳統(tǒng)的方法成本高、時(shí)效性不強(qiáng),難以快速反映整個(gè)城市的問題所在。面對(duì)群眾反饋的各種數(shù)據(jù),使用機(jī)器學(xué)習(xí)算法快速挖掘各類問題,準(zhǔn)確提取出當(dāng)前熱點(diǎn)問題是值得探討的事情。
本文采用文本向量化、聚類等知識(shí)內(nèi)容,對(duì)北京大學(xué)開放研究數(shù)據(jù)平臺(tái)上的“三亞市‘12345’市民服務(wù)熱線記錄數(shù)據(jù)”展開分析[4]。
文本不能直接使用機(jī)器學(xué)習(xí)算法,需要將其轉(zhuǎn)化為機(jī)器了解的數(shù)據(jù)語(yǔ)言。例如:常見的文本向量化方式詞袋模型,它通過(guò)計(jì)算每個(gè)數(shù)據(jù)的頻次來(lái)提取數(shù)據(jù)信息,并將其轉(zhuǎn)換成一個(gè)較大維度的向量形式數(shù)據(jù)。但這種計(jì)算不考慮數(shù)據(jù)的語(yǔ)法和意思,而是通過(guò)計(jì)算頻次來(lái)提取信息。另一種常見的方式是TF-IDF 算法,其計(jì)算方法為:TF-IDF=詞頻(TF)*逆文檔頻率(IDF),其中TF 代表文件中某個(gè)單詞的出現(xiàn)的次數(shù),而IDF 則取決于文件總數(shù)/每個(gè)單詞所占文件的比例。當(dāng)包含單詞的文件數(shù)較少時(shí),IDF 的數(shù)值會(huì)較大。通過(guò)TF-IDF 計(jì)算,可以將文本轉(zhuǎn)換為向量形式,從而直接使用算法分析。然而,TF-IDF 計(jì)算依賴于一種假定,即某一文件中的重點(diǎn)單詞在其他文件所占比例較小。此處使用TextRank進(jìn)行處理后,降低信息維度,再使用詞袋模型對(duì)其進(jìn)行向量化處理。TextRank[5]算法是延用PageRank[6]算法的思想創(chuàng)建的基于圖模型的關(guān)鍵詞提取算法。TextRank 算法將文本轉(zhuǎn)化為以詞為節(jié)點(diǎn),語(yǔ)義為邊的詞語(yǔ)網(wǎng)絡(luò)圖,較LDA 等算法而言,其無(wú)需引入外部語(yǔ)料進(jìn)行訓(xùn)練,便可實(shí)現(xiàn)關(guān)鍵詞的抽取。其主要計(jì)算各個(gè)詞與其他詞的關(guān)聯(lián),即邊的權(quán)重,公式如下所示:
其中,ws(vi)表示句子i 的權(quán)重,wij表示兩個(gè)句子的相似度。其流程為:首先對(duì)詞進(jìn)行分詞處理,而后僅保留部分帶有詞性標(biāo)簽的詞語(yǔ),構(gòu)建 N 個(gè)大小的窗口內(nèi),若滑動(dòng)窗口,詞v1 與詞v2 在同一個(gè)窗口內(nèi),則它們與一條邊相連。每個(gè)頂點(diǎn)的分?jǐn)?shù)設(shè)置為1,頂點(diǎn) Vi 的權(quán)重由連接到 Vi 的點(diǎn)In(Vi)、Out(Vj) 的權(quán)重來(lái)計(jì)算。從而根據(jù)其權(quán)重可以得到單詞的排序。
該算法對(duì)每個(gè)文檔單獨(dú)執(zhí)行,不需要一個(gè)文檔語(yǔ)料庫(kù)來(lái)進(jìn)行關(guān)鍵字提取[7]。
主成分分析(PCA)作一種非監(jiān)督的學(xué)習(xí)算法,具有節(jié)省時(shí)間、降低維度的優(yōu)勢(shì),因此被應(yīng)用于各種特征值提取的場(chǎng)合。pca 采用正交變換,把一個(gè)高維度的數(shù)據(jù)轉(zhuǎn)換成一個(gè)低緯度的數(shù)據(jù),同時(shí)最大限度地保留原有的信息,使得我們的分析更加快速。具體而言,我們經(jīng)過(guò)計(jì)算協(xié)方差矩陣,得出它的特征值,并且建立它們的特征向量,具體的計(jì)算公式如下所示:
(λiE-A)x=0
其中λi 和x 分別表示矩陣A 的特征值和特征向量,將特征向量組合成一個(gè)新的矩陣,然后通過(guò)矩陣乘法的方式,就可以獲得經(jīng)過(guò)降維處理的數(shù)據(jù)。例如求得的特征向量矩陣為x',原數(shù)據(jù)為x,則降維后的數(shù)據(jù)為x'x。
KMeans 算法是一種典型的聚類算法,它是無(wú)監(jiān)督學(xué)習(xí)算法,可以根據(jù)樣本之間的相似度關(guān)系分為不同的簇。KMeans 算法是一種基于距離計(jì)算相似度的方法,其一般采用歐氏距離來(lái)表示樣本之間的相似度關(guān)系。距離公式如下所示:
du,v=∑|ui-v|
ui表示數(shù)據(jù)成員,v 表示k 個(gè)簇的中心。若計(jì)算得到兩個(gè)對(duì)象的距離越近,其相似度就越大,則可將其視作一類。Kmeans 算法的基本原理是:對(duì)于一群數(shù)據(jù),確定k 個(gè)中心點(diǎn),此處可使用肘部法確定,先假設(shè)分別將k 值設(shè)置為1、2、3 等等一系列值,計(jì)算樣本點(diǎn)到各個(gè)質(zhì)心的距離,而后根據(jù)距離繪制折線圖,找出圖中變化最大的點(diǎn)的k 值,即為此處選定的k 值。而后根據(jù)k個(gè)中心點(diǎn)的特征值和樣本點(diǎn)的特征值,計(jì)算各個(gè)樣本點(diǎn)到中心點(diǎn)之間的距離,選擇距離最近的中心點(diǎn),將其歸為一類。計(jì)算完所有樣本點(diǎn),分至不同簇中,而后得到了k 個(gè)簇。對(duì)于這k 個(gè)簇而言,顯然之前給定的質(zhì)心不再是現(xiàn)在簇的中心點(diǎn)了,因而需要重新計(jì)算每個(gè)簇的質(zhì)心,即該簇中各個(gè)樣本點(diǎn)的平均值,更新質(zhì)心點(diǎn)后,再次計(jì)算各個(gè)樣本點(diǎn)到質(zhì)心之間的距離,繼續(xù)分簇,并再次更新質(zhì)心。不斷重復(fù)這一過(guò)程,直到質(zhì)心不再改變,或各個(gè)聚類中的樣本點(diǎn)保持不變或誤差平方和局部最小,即得到kmeans 算法最終的分簇結(jié)果。
數(shù)據(jù)預(yù)處理是進(jìn)行后續(xù)數(shù)據(jù)分析、數(shù)據(jù)挖掘的基礎(chǔ)步驟,需要將數(shù)據(jù)處理成不含異常值,重復(fù)值,空值等的形式,同時(shí)根據(jù)具體要求提取相應(yīng)屬性列或進(jìn)行標(biāo)準(zhǔn)化。此處需要首先將文本文件轉(zhuǎn)換成機(jī)器可以識(shí)別的數(shù)據(jù)形式,此處主要先進(jìn)行中文分詞、去停用詞等操作[8],而后對(duì)上述處理后的數(shù)據(jù)取關(guān)鍵字,再進(jìn)行向量化處理。
2.1.1 分詞
本文選擇了三亞市二月份的15327 條數(shù)據(jù)作為研究對(duì)象,每個(gè)樣本含有orderAll、order、工單編號(hào)、工單分類、工單來(lái)源、來(lái)電時(shí)間、來(lái)電類型、工單標(biāo)題、工單內(nèi)容、工單狀態(tài)、是否延期、序號(hào)、處理時(shí)間、處理環(huán)節(jié)、處理單位、處理描述、extractAddress、lon84、lat84、cluster 等20 個(gè)特征值,即共有20 個(gè)特征列。此處僅使用oder、工單標(biāo)題、工單內(nèi)容、工單分類、extractAddress 等數(shù)據(jù),例如表1 為其中一個(gè)樣本值。
表1:數(shù)據(jù)集示例
從“工單標(biāo)題”的數(shù)據(jù)來(lái)看,其中已經(jīng)包含了市民反映的核心問題,與“工單內(nèi)容”相比,其僅缺少反饋方式,因此,直接使用“工單標(biāo)題”的數(shù)據(jù),并進(jìn)行相關(guān)的處理,將其轉(zhuǎn)化為向量形式,具體步驟如下:
(1)刪除“續(xù)”、數(shù)字、地址等部分內(nèi)容,同時(shí)處理‘再次來(lái)電’等重復(fù)數(shù)據(jù)等問題。此處,續(xù)后面為工單編號(hào),此處未找到與之對(duì)應(yīng)的工單編號(hào),直接刪除。數(shù)字部分一般為某個(gè)小區(qū)所在位置,或是時(shí)間等,不是問題信息,同樣地址也不是具體反映的中心部分,可進(jìn)行適當(dāng)刪除。
(2)分詞處理。此處使用jieba 工具進(jìn)行分詞。jieba是一種常用的分詞方式,它通過(guò)利用 Trie 樹的架構(gòu),將句子中的所有可能的單詞排列形成一個(gè)有向無(wú)環(huán)圖,而后通過(guò)動(dòng)態(tài)規(guī)劃來(lái)尋求最大概率路徑,從而得到分詞。jieba 擁有三種分詞模式:精確模式;全模式;搜索引擎模式。jieba 是一種非常有效的分詞工具,它容易獲取,且精度高,無(wú)須事先搜集有關(guān)語(yǔ)料進(jìn)行訓(xùn)練,極大地減少了時(shí)間成本。此處使用其精確模式,將“工單標(biāo)題”劃分成一個(gè)僅包含單詞的字符串,為下一步關(guān)鍵詞提取、向量化提供了基礎(chǔ)詞語(yǔ)。
(3)使用正則表達(dá)式,刪除停用詞等無(wú)意義詞,提取問題描述數(shù)據(jù)。通過(guò)分詞,我們能夠更好地識(shí)別出句子的主題。然而,我們也會(huì)發(fā)現(xiàn),許多例如表達(dá)語(yǔ)氣的單詞、標(biāo)點(diǎn)符號(hào)或者連接詞,而“關(guān)以及”、“問題”、“一棟”、“一巷”則完全等不具有任何分析的意義,我們必須先可以在此步中這些已使用才能更這樣好地識(shí)別出重點(diǎn)。此處刪除停用詞使用的是中文停用表“cn_stopwords.txt”文件。
2.1.2 文本向量化
使用one-hot 獨(dú)熱碼編碼方式處理上述“工單分類”這項(xiàng)離散數(shù)據(jù),將其轉(zhuǎn)換成僅含有0 和1 的矩陣形式,對(duì)上述分詞后的工單標(biāo)題詞組,使用詞袋模型,進(jìn)行向量化處理[9],轉(zhuǎn)換成一個(gè)稀疏矩陣,具體操作為將處理后的不同關(guān)鍵字作為columns 值,當(dāng)該單詞在這個(gè)樣本‘工單標(biāo)題“中存在時(shí),將其置為1,反之置為0。其公式可簡(jiǎn)寫為下列形式:
對(duì)上述關(guān)鍵詞向量化后,與工單分類矩陣數(shù)據(jù)拼接。此時(shí)若直接使用該數(shù)據(jù),其維度太高,運(yùn)行成本過(guò)大。此處使用PCA 主成分分析法進(jìn)行降維處理,處理過(guò)程為計(jì)算矩陣的特征值和特征向量,組合特征向量得到特征矩陣,與原數(shù)據(jù)矩陣作乘法,即可得到降維之后的數(shù)據(jù)。本文將上述矩陣維度降至二維。這樣處理使得原本的數(shù)據(jù)信息得以保留,同時(shí)降低了處理成本。
在上述二維數(shù)據(jù)的基礎(chǔ)上,本文繼續(xù)使用KMeans算法對(duì)其進(jìn)行聚類分析[10]。此處選用kmeans 算法主要是由于在此之前數(shù)據(jù)集中并沒有一個(gè)明確的label 標(biāo)志著各個(gè)工單問題分別屬于哪個(gè)核心問題,不知道目標(biāo)變量是什么,主要目的是將相似的樣本自動(dòng)歸到一個(gè)類別中,因而此處使用非監(jiān)督學(xué)習(xí)算法,而KMeans 算法顯然是非監(jiān)督學(xué)習(xí)算法中用于聚類的典型代表,因而此處使用KMeans 算法計(jì)算各個(gè)數(shù)據(jù)相似度并進(jìn)行聚類處理。面對(duì)預(yù)處理后的數(shù)據(jù)首先需要確定k 值,使用肘部法,畫出肘部圖,發(fā)現(xiàn)當(dāng)k=3 時(shí),畸變程度變化最明顯。為了避免過(guò)擬合或達(dá)不到分類的目的,我們選擇k 的值為3,并從圖像中隨機(jī)選擇3 個(gè)聚類的質(zhì)心及中心點(diǎn),然后計(jì)算上述各個(gè)樣本點(diǎn)與質(zhì)心之間的距離或相似度,并按照相似度大小將其劃分到相似度較小的類中,同時(shí)更新3 個(gè)質(zhì)心的值,重復(fù)這個(gè)步驟,直到達(dá)到質(zhì)心不再發(fā)生改變。聚類結(jié)果如圖1 所示。
圖1:kmeans 算法分簇圖
從以上圖像可以看出,根據(jù)kmeans 算法,就“工單標(biāo)題”、“工單分類”而言可以將問題大體分為三個(gè)簇,此處分別用綠色點(diǎn)、藍(lán)色點(diǎn)、橙色點(diǎn)表示,每個(gè)簇的質(zhì)心使用相同顏色的星型圖案顯示在圖中。此處分簇效果比較好,簇間距離較大,簇內(nèi)距離較小,分類比較明顯。
將上述每個(gè)簇的“工單標(biāo)題”拼接成一個(gè)數(shù)據(jù),對(duì)該數(shù)據(jù)使用TestRank 算法,計(jì)算出每一類的關(guān)鍵詞。最終得到集中突出的問題為噪音和違停的問題。觀察原始數(shù)據(jù)有771 條數(shù)據(jù)涉及到“噪音”問題,450 條數(shù)據(jù)涉及到違停問題。
本文通過(guò)對(duì)北京大學(xué)開放研究數(shù)據(jù)平臺(tái)“三亞市‘12345’市民服務(wù)熱線記錄數(shù)據(jù)”2019年2月數(shù)據(jù)處理并展開分析,得到海南省三亞市群眾于二月份反映的主要問題可以劃分為三類,反映了噪聲和違停等問題。從這些數(shù)據(jù)可以看出在2019年2月,三亞市民對(duì)這一類問題比較困擾,市政府等相關(guān)單位應(yīng)著手于此,從集中反應(yīng)的問題出發(fā),逐步解決群眾反饋的問題。通過(guò)有效利用和深入挖掘這一類政務(wù)數(shù)據(jù),我們不僅能夠更好地了解當(dāng)前的社會(huì)狀況,還能夠有效地幫助我們構(gòu)筑起一個(gè)具有高效率、高質(zhì)量的服務(wù)型政府,從而極大地改善和優(yōu)化我們的社會(huì)環(huán)境,實(shí)現(xiàn)城市的高效運(yùn)轉(zhuǎn)。
但顯然,使用本文中提到的算法內(nèi)容對(duì)大規(guī)模數(shù)據(jù)進(jìn)行分析速度較慢,而且單單使用這幾列數(shù)據(jù),以及以上算法對(duì)此進(jìn)行分析,其分析效果還是是不夠的,需要進(jìn)一步處理數(shù)據(jù),給定相應(yīng)場(chǎng)景的分詞,停用詞,進(jìn)行數(shù)據(jù)分詞以及提取數(shù)據(jù)關(guān)鍵詞,同時(shí)提升算法,才能得到一個(gè)更好的效果。在未來(lái),我將從更多的維度進(jìn)行展開分析,而不單單局限于上述提到的這幾個(gè)部分,進(jìn)一步改進(jìn)數(shù)據(jù)預(yù)處理部分,以及分類計(jì)算方法,從而使得分析結(jié)果能夠更加清楚地反映市民生活過(guò)程中的集中問題。