?

基于kmeans的12345問題熱點分析

2023-05-29 09:24田俐
電子技術與軟件工程 2023年7期
關鍵詞:工單分詞質心

田俐

(湖北汽車工業學院 湖北省十堰市 442002)

服務型政府并不是一個新提出的概念,其社會管理功能大于政治統治性功能,該服務性受到了我國行政學界的青睞,有關理論也成為了多個學者的研究熱點。同時政務服務也被越來越多的公民所關注, 即人們不斷關注政府功能與作用[1]。

我國政府一直是服務性政府, 但要想充分地發揮政府的服務性質, 還需要以群眾為依托,注重從群眾角度,反饋社會各類問題。近年來,12345 熱線已被廣泛認可[2],它不僅可以解決公共的多種需要,還可以幫助政府更好地實現服務型政府的目標。該熱線利用多種渠道,如12345、縣長郵箱、手機短信、手機客戶端、微博、微信,可以解決不同的需要,包含但不限于:有關行政、社區管理工作、公務的咨詢,針對不屬于緊急情況的求助,針對可疑的刑事犯罪活動,如侵害社會公民、企業法人或是任何機構的權益,以及有關部門的監督,以促使更多的企業實現可持續的發展。2021年1月6日,《國務院辦公廳有關繼續改善地方政務服務的指導意見》正式出臺,旨在加強對地方政務服務的支持[3],以更好地解決公共的需求,促進經濟社會的可持續發展。

面對群眾通過12345 熱線反饋的問題,如何準確地刻畫城市問題是值得探索的。傳統的方法成本高、時效性不強,難以快速反映整個城市的問題所在。面對群眾反饋的各種數據,使用機器學習算法快速挖掘各類問題,準確提取出當前熱點問題是值得探討的事情。

本文采用文本向量化、聚類等知識內容,對北京大學開放研究數據平臺上的“三亞市‘12345’市民服務熱線記錄數據”展開分析[4]。

1 相關技術

1.1 文本向量化

文本不能直接使用機器學習算法,需要將其轉化為機器了解的數據語言。例如:常見的文本向量化方式詞袋模型,它通過計算每個數據的頻次來提取數據信息,并將其轉換成一個較大維度的向量形式數據。但這種計算不考慮數據的語法和意思,而是通過計算頻次來提取信息。另一種常見的方式是TF-IDF 算法,其計算方法為:TF-IDF=詞頻(TF)*逆文檔頻率(IDF),其中TF 代表文件中某個單詞的出現的次數,而IDF 則取決于文件總數/每個單詞所占文件的比例。當包含單詞的文件數較少時,IDF 的數值會較大。通過TF-IDF 計算,可以將文本轉換為向量形式,從而直接使用算法分析。然而,TF-IDF 計算依賴于一種假定,即某一文件中的重點單詞在其他文件所占比例較小。此處使用TextRank進行處理后,降低信息維度,再使用詞袋模型對其進行向量化處理。TextRank[5]算法是延用PageRank[6]算法的思想創建的基于圖模型的關鍵詞提取算法。TextRank 算法將文本轉化為以詞為節點,語義為邊的詞語網絡圖,較LDA 等算法而言,其無需引入外部語料進行訓練,便可實現關鍵詞的抽取。其主要計算各個詞與其他詞的關聯,即邊的權重,公式如下所示:

其中,ws(vi)表示句子i 的權重,wij表示兩個句子的相似度。其流程為:首先對詞進行分詞處理,而后僅保留部分帶有詞性標簽的詞語,構建 N 個大小的窗口內,若滑動窗口,詞v1 與詞v2 在同一個窗口內,則它們與一條邊相連。每個頂點的分數設置為1,頂點 Vi 的權重由連接到 Vi 的點In(Vi)、Out(Vj) 的權重來計算。從而根據其權重可以得到單詞的排序。

該算法對每個文檔單獨執行,不需要一個文檔語料庫來進行關鍵字提取[7]。

1.2 PCA算法

主成分分析(PCA)作一種非監督的學習算法,具有節省時間、降低維度的優勢,因此被應用于各種特征值提取的場合。pca 采用正交變換,把一個高維度的數據轉換成一個低緯度的數據,同時最大限度地保留原有的信息,使得我們的分析更加快速。具體而言,我們經過計算協方差矩陣,得出它的特征值,并且建立它們的特征向量,具體的計算公式如下所示:

(λiE-A)x=0

其中λi 和x 分別表示矩陣A 的特征值和特征向量,將特征向量組合成一個新的矩陣,然后通過矩陣乘法的方式,就可以獲得經過降維處理的數據。例如求得的特征向量矩陣為x',原數據為x,則降維后的數據為x'x。

1.3 聚類算法

KMeans 算法是一種典型的聚類算法,它是無監督學習算法,可以根據樣本之間的相似度關系分為不同的簇。KMeans 算法是一種基于距離計算相似度的方法,其一般采用歐氏距離來表示樣本之間的相似度關系。距離公式如下所示:

du,v=∑|ui-v|

ui表示數據成員,v 表示k 個簇的中心。若計算得到兩個對象的距離越近,其相似度就越大,則可將其視作一類。Kmeans 算法的基本原理是:對于一群數據,確定k 個中心點,此處可使用肘部法確定,先假設分別將k 值設置為1、2、3 等等一系列值,計算樣本點到各個質心的距離,而后根據距離繪制折線圖,找出圖中變化最大的點的k 值,即為此處選定的k 值。而后根據k個中心點的特征值和樣本點的特征值,計算各個樣本點到中心點之間的距離,選擇距離最近的中心點,將其歸為一類。計算完所有樣本點,分至不同簇中,而后得到了k 個簇。對于這k 個簇而言,顯然之前給定的質心不再是現在簇的中心點了,因而需要重新計算每個簇的質心,即該簇中各個樣本點的平均值,更新質心點后,再次計算各個樣本點到質心之間的距離,繼續分簇,并再次更新質心。不斷重復這一過程,直到質心不再改變,或各個聚類中的樣本點保持不變或誤差平方和局部最小,即得到kmeans 算法最終的分簇結果。

2 實驗

2.1 數據預處理

數據預處理是進行后續數據分析、數據挖掘的基礎步驟,需要將數據處理成不含異常值,重復值,空值等的形式,同時根據具體要求提取相應屬性列或進行標準化。此處需要首先將文本文件轉換成機器可以識別的數據形式,此處主要先進行中文分詞、去停用詞等操作[8],而后對上述處理后的數據取關鍵字,再進行向量化處理。

2.1.1 分詞

本文選擇了三亞市二月份的15327 條數據作為研究對象,每個樣本含有orderAll、order、工單編號、工單分類、工單來源、來電時間、來電類型、工單標題、工單內容、工單狀態、是否延期、序號、處理時間、處理環節、處理單位、處理描述、extractAddress、lon84、lat84、cluster 等20 個特征值,即共有20 個特征列。此處僅使用oder、工單標題、工單內容、工單分類、extractAddress 等數據,例如表1 為其中一個樣本值。

表1:數據集示例

從“工單標題”的數據來看,其中已經包含了市民反映的核心問題,與“工單內容”相比,其僅缺少反饋方式,因此,直接使用“工單標題”的數據,并進行相關的處理,將其轉化為向量形式,具體步驟如下:

(1)刪除“續”、數字、地址等部分內容,同時處理‘再次來電’等重復數據等問題。此處,續后面為工單編號,此處未找到與之對應的工單編號,直接刪除。數字部分一般為某個小區所在位置,或是時間等,不是問題信息,同樣地址也不是具體反映的中心部分,可進行適當刪除。

(2)分詞處理。此處使用jieba 工具進行分詞。jieba是一種常用的分詞方式,它通過利用 Trie 樹的架構,將句子中的所有可能的單詞排列形成一個有向無環圖,而后通過動態規劃來尋求最大概率路徑,從而得到分詞。jieba 擁有三種分詞模式:精確模式;全模式;搜索引擎模式。jieba 是一種非常有效的分詞工具,它容易獲取,且精度高,無須事先搜集有關語料進行訓練,極大地減少了時間成本。此處使用其精確模式,將“工單標題”劃分成一個僅包含單詞的字符串,為下一步關鍵詞提取、向量化提供了基礎詞語。

(3)使用正則表達式,刪除停用詞等無意義詞,提取問題描述數據。通過分詞,我們能夠更好地識別出句子的主題。然而,我們也會發現,許多例如表達語氣的單詞、標點符號或者連接詞,而“關以及”、“問題”、“一棟”、“一巷”則完全等不具有任何分析的意義,我們必須先可以在此步中這些已使用才能更這樣好地識別出重點。此處刪除停用詞使用的是中文停用表“cn_stopwords.txt”文件。

2.1.2 文本向量化

使用one-hot 獨熱碼編碼方式處理上述“工單分類”這項離散數據,將其轉換成僅含有0 和1 的矩陣形式,對上述分詞后的工單標題詞組,使用詞袋模型,進行向量化處理[9],轉換成一個稀疏矩陣,具體操作為將處理后的不同關鍵字作為columns 值,當該單詞在這個樣本‘工單標題“中存在時,將其置為1,反之置為0。其公式可簡寫為下列形式:

對上述關鍵詞向量化后,與工單分類矩陣數據拼接。此時若直接使用該數據,其維度太高,運行成本過大。此處使用PCA 主成分分析法進行降維處理,處理過程為計算矩陣的特征值和特征向量,組合特征向量得到特征矩陣,與原數據矩陣作乘法,即可得到降維之后的數據。本文將上述矩陣維度降至二維。這樣處理使得原本的數據信息得以保留,同時降低了處理成本。

2.2 特征提取

在上述二維數據的基礎上,本文繼續使用KMeans算法對其進行聚類分析[10]。此處選用kmeans 算法主要是由于在此之前數據集中并沒有一個明確的label 標志著各個工單問題分別屬于哪個核心問題,不知道目標變量是什么,主要目的是將相似的樣本自動歸到一個類別中,因而此處使用非監督學習算法,而KMeans 算法顯然是非監督學習算法中用于聚類的典型代表,因而此處使用KMeans 算法計算各個數據相似度并進行聚類處理。面對預處理后的數據首先需要確定k 值,使用肘部法,畫出肘部圖,發現當k=3 時,畸變程度變化最明顯。為了避免過擬合或達不到分類的目的,我們選擇k 的值為3,并從圖像中隨機選擇3 個聚類的質心及中心點,然后計算上述各個樣本點與質心之間的距離或相似度,并按照相似度大小將其劃分到相似度較小的類中,同時更新3 個質心的值,重復這個步驟,直到達到質心不再發生改變。聚類結果如圖1 所示。

圖1:kmeans 算法分簇圖

從以上圖像可以看出,根據kmeans 算法,就“工單標題”、“工單分類”而言可以將問題大體分為三個簇,此處分別用綠色點、藍色點、橙色點表示,每個簇的質心使用相同顏色的星型圖案顯示在圖中。此處分簇效果比較好,簇間距離較大,簇內距離較小,分類比較明顯。

將上述每個簇的“工單標題”拼接成一個數據,對該數據使用TestRank 算法,計算出每一類的關鍵詞。最終得到集中突出的問題為噪音和違停的問題。觀察原始數據有771 條數據涉及到“噪音”問題,450 條數據涉及到違停問題。

3 結論

本文通過對北京大學開放研究數據平臺“三亞市‘12345’市民服務熱線記錄數據”2019年2月數據處理并展開分析,得到海南省三亞市群眾于二月份反映的主要問題可以劃分為三類,反映了噪聲和違停等問題。從這些數據可以看出在2019年2月,三亞市民對這一類問題比較困擾,市政府等相關單位應著手于此,從集中反應的問題出發,逐步解決群眾反饋的問題。通過有效利用和深入挖掘這一類政務數據,我們不僅能夠更好地了解當前的社會狀況,還能夠有效地幫助我們構筑起一個具有高效率、高質量的服務型政府,從而極大地改善和優化我們的社會環境,實現城市的高效運轉。

但顯然,使用本文中提到的算法內容對大規模數據進行分析速度較慢,而且單單使用這幾列數據,以及以上算法對此進行分析,其分析效果還是是不夠的,需要進一步處理數據,給定相應場景的分詞,停用詞,進行數據分詞以及提取數據關鍵詞,同時提升算法,才能得到一個更好的效果。在未來,我將從更多的維度進行展開分析,而不單單局限于上述提到的這幾個部分,進一步改進數據預處理部分,以及分類計算方法,從而使得分析結果能夠更加清楚地反映市民生活過程中的集中問題。

猜你喜歡
工單分詞質心
重型半掛汽車質量與質心位置估計
基于量化考核的基層班組管理系統的設計與應用
基于GNSS測量的天宮二號質心確定
基于transformer的工單智能判責方法研究
分詞在英語教學中的妙用
基于HANA的工單備件采購聯合報表的研究與實現
電力95598熱線全業務集中后的工單預警機制
一種海洋測高衛星質心在軌估計算法
論英語不定式和-ing分詞的語義傳承
均質半圓盤質心計算的微元選取及討論
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合