摘要:大數(shù)據(jù)技術的不斷發(fā)展和廣泛應用,正在對各個領域的發(fā)展產(chǎn)生著深刻的影響。為了更準確及時地了解市民的訴求,需要提高市民熱線系統(tǒng)效率,提高系統(tǒng)的服務質(zhì)量,可以利用大數(shù)據(jù)的技術,讓系統(tǒng)更加快捷地輔助話務人員來處理市民訴求。本文通過市民熱線系統(tǒng)來介紹大數(shù)據(jù)技術在軟件系統(tǒng)中的應用,來分析有關大數(shù)據(jù)模型的構建方法,從而更深的理解大數(shù)據(jù)技術,為應用大數(shù)據(jù)的信息化系統(tǒng)建設提供更多的參考案例。
關鍵詞:大數(shù)據(jù);市民熱線系統(tǒng);智能推薦;Python
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2024)17-0082-03 開放科學(資源服務)標識碼(OSID) :
0 引言
市民熱線系統(tǒng)也是指“12345 市長熱線電話平臺”,是用來幫助訴求人解決生活、生產(chǎn)中所遇困難和問題,是市委、市政府關注民生、傾聽民意的平臺。市民通過市民熱線反饋的數(shù)據(jù),或者微信公眾號、微博等多渠道反饋數(shù)據(jù),系統(tǒng)將轉入為文本類型的工單數(shù)據(jù),對于這些數(shù)據(jù)具備:1) 話務量大,數(shù)據(jù)沉積豐富;2) 信息來源渠道多;3) 數(shù)據(jù)復雜,數(shù)據(jù)維度多等特點。但同時這些數(shù)據(jù)具有價值高的特點,因為該熱線是全市人民反饋日常問題的最直接窗口,其所收集到的問題也是市民日常所最關心的事件,因此其數(shù)據(jù)所包含的價值非常高,是各級領導有效了解市民心聲的重要途徑。因此需要采用大數(shù)據(jù)手段對工單數(shù)據(jù)進行深度分析挖掘,協(xié)助坐席工作人員更加高效地處理工單,以便及時準確地向市領導及各部門提供分析結果,為城市管理決策提供輔助支撐。
1 市民熱線系統(tǒng)的大數(shù)據(jù)技術應用場景介紹
由于市民熱線系統(tǒng)所包含的工作職責復雜,需處理工單數(shù)量多、內(nèi)容雜,在實際的業(yè)務工作中,嚴重依賴業(yè)務人員以人工的方式處理各類工單,造成業(yè)務人員培訓成本高、效率低、處置標準不一致等問題。針對于以上問題,我們對已有系統(tǒng)進行升級改造,對原有單一的工單管理系統(tǒng)升級為智能受理子系統(tǒng)、智能派單子系統(tǒng),智能回訪子系統(tǒng)及領導駕駛艙系統(tǒng)等。結構如圖1所示。
1.1 智能受理子系統(tǒng)
在智能受理子系統(tǒng)中,實現(xiàn)坐席員接聽市民電話時智能填寫工單的相關功能。通過智能地址校準、智能問題分類推薦、智能承辦單位推薦與歷史工單查詢等功能,為話務人員進行服務引導,方便坐席準確受理、填報訴求[2]。在此子系統(tǒng)中,我們建立了“問題分類推薦”模型,主要是通過KMeans聚類分析方法,對已有的歷史工單自動進行語義分析并歸類,該模型具備學習特性,可通過循環(huán)訓練實現(xiàn)對工單的理解和分析。從而對工單作出準確的推斷,實現(xiàn)對工單不同維度的歸類。
1.2 智能派單子系統(tǒng)
在該子系統(tǒng)中,實現(xiàn)工單承辦單位智能推薦功能,結合歷史工單分析、訴求分類類別、訴求問題點位等關鍵信息內(nèi)容系統(tǒng)自動提示推薦承辦單位。該功能實現(xiàn)基于系統(tǒng)建立的“承辦單位匹配模型”,可智能推薦高匹配度的處置部門,協(xié)助區(qū)中心派單人員進行高效、精準地派單。
1.3 智能回訪子系統(tǒng)
智能回訪子系統(tǒng)主要功能包括多渠道回訪功能、自動回訪功能等。實現(xiàn)回訪標準管理功能,對回訪內(nèi)容進行設定,如辦事人員是否與您聯(lián)系、是否解決問題、您是否滿意等;實現(xiàn)回訪渠道管理功能,支持語音回訪、短信回訪、微信回訪等回訪渠道配置功能;實現(xiàn)自動回訪管理功能,支持將已辦結工單自動設置回訪次數(shù)、回訪時間,到指定時間自動發(fā)起回訪。實現(xiàn)回訪分派管理功能,支撐按辦結時間、按承辦單位、按來源渠道、按問題分類進行回訪任務的分派,提高回訪效率,增強群眾滿意度。該系統(tǒng)中建立了“回訪內(nèi)容推薦”模型,此模型根據(jù)訴求內(nèi)容來自動抽取時間、關鍵詞等,組成言簡意賅的回訪內(nèi)容,根據(jù)工單來源途徑對訴求人進行相應渠道的回訪,通過模型推薦的回訪內(nèi)容,能讓訴求人準確地定位到相應的訴求工單。
1.4 領導駕駛艙系統(tǒng)
以圖表結合的形式清晰地、生動直觀地展示各種指標,展示選定時間段內(nèi)的市民反映的各類問題、數(shù)量、區(qū)域等。通過多維度、多視角地分析數(shù)據(jù),形象化、直觀化、具體化實時反映市民的各種問題,輔助領導決策支持。領導駕駛艙的各項展示指標能夠通過系統(tǒng)的計算,讓在線流動的數(shù)據(jù)反映真實問題,為各級領導的決策指揮提供準確的依據(jù)[3]。
2 市民熱線系統(tǒng)應用大數(shù)據(jù)技術的實現(xiàn)過程
2.1 大數(shù)據(jù)分析系統(tǒng)開發(fā)環(huán)境
該系統(tǒng)采用Python編程語言,選用Python 3.11版本進行開發(fā);借助VS code開發(fā)工具,提供代碼編寫、調(diào)試、測試等功能;利用Pandas數(shù)據(jù)處理工具,進行數(shù)據(jù)清洗、處理和分析;選用Git版本控制系統(tǒng),用于管理和追蹤代碼版本;利用conda虛擬環(huán)境,管理Python 環(huán)境和包。
2.2 Flask 框架
Flask的設計理念是簡單、輕量級和靈活,它提供了一些基本的功能和結構,但留下了足夠的自由度,使開發(fā)者可以根據(jù)自己的需求進行定制。程序員可以使用Python語言的Flask框架快速實現(xiàn)一個Web服務。各模塊以Flask/Python的設計理念,使用Flask提供的藍圖(Blueprints)來組織,便于將來改進和擴展[4]。在Flask框架中,路由用于將請求的URL映射到相應的視圖函數(shù),從而實現(xiàn)不同URL對應不同的處理邏輯。Flask 框架使用@app.route()裝飾器來定義路由,其中參數(shù)為要映射的URL路徑。Flask框架還支持通過request對象來獲取請求參數(shù)、請求頭、請求方法等信息,從而實現(xiàn)更復雜的請求處理。在市民熱線系統(tǒng)的大數(shù)據(jù)處理的子系統(tǒng)中,需要根據(jù)請求內(nèi)容提供相應的數(shù)據(jù)處理結果,應用到的場景業(yè)務并不是特別復雜,所以選用Flask這一輕量級框架,運用起來比較合適。
2.3 市民熱線系統(tǒng)的“問題分類推薦”模型舉例說明
市民熱線系統(tǒng)的“問題分類推薦”模型的數(shù)據(jù)處理過程遵循大數(shù)據(jù)處理的幾個步驟:1) 數(shù)據(jù)收集;2) 數(shù)據(jù)準備;3) 數(shù)據(jù)分析;4) 數(shù)據(jù)展現(xiàn)。以下作步驟詳解。
2.3.1 數(shù)據(jù)收集
收集數(shù)據(jù)是訓練模型的第一步,這一步需要收集與之相關的大量的多樣的數(shù)據(jù),數(shù)據(jù)的質(zhì)量和多樣性對訓練的效果有至關重要的作用。在“問題分類推薦”模型中,我們將話務系統(tǒng)的歷史工單數(shù)據(jù)的工單內(nèi)容和對應的問題分類從線上庫導出,然后作為該模型的訓練數(shù)據(jù)源,主要為文本數(shù)據(jù)。這些文本在導出的過程中,依照要求篩選出高價值的字段信息,以保證數(shù)據(jù)的高價值的性質(zhì)。這樣,數(shù)據(jù)收集步驟就完成了。
2.3.2 數(shù)據(jù)準備
在將數(shù)據(jù)輸入模型進行訓練之前,一般需要對收集到的數(shù)據(jù)進行預處理,包括數(shù)據(jù)清洗,噪聲去除等操作,以提高模型訓練的準確性。大數(shù)據(jù)技術通過數(shù)據(jù)清洗、數(shù)據(jù)預處理和數(shù)據(jù)挖掘等技術,可以處理這些復雜的數(shù)據(jù),并從中挖掘出有價值的信息[5]。此模型的開發(fā)中導入數(shù)據(jù)后,使用處理中文文本的jieba 庫,來進行分詞、去除停用詞等操作,以此來根據(jù)需求來清洗處理歷史工單數(shù)據(jù),Python代碼示例如下:
import jieba
import pandas as pd
# 讀取歷史數(shù)據(jù)
history_tickets = pd. read_csv(′historical_orders.csv′)
# 定義停用詞列表
stop_words = [′的′, ′是′, ′和′, ′了′, ′有′, ′中′]
# 定義一個函數(shù),用于去除停用詞以此進行數(shù)據(jù)清洗
def preprocess_text_jieba(text):
# 分詞
tokens = jieba.cut(text)
# 去除停用詞
tokens = [token for token in tokens if token not in stop_words]
return tokens
# 提取問題文本和分類標簽
questions = [ticket["question"] for ticket in his?tory_tickets]
categories = [ticket["category"] for ticket in his?tory_tickets]
# 對問題進行分詞和去停用詞處理:
all_questions = [preprocess_text_jieba(ticket["ques?tion"]) for ticket in history_tickets]
以上代碼就清洗好了訓練“問題分類推薦”模型的數(shù)據(jù)源。
2.3.3 數(shù)據(jù)分析
數(shù)據(jù)分析是該模型開發(fā)的重要環(huán)節(jié),包括統(tǒng)計分析、數(shù)據(jù)挖掘和機器學習等技術。統(tǒng)計分析幫助揭示數(shù)據(jù)的分布、關聯(lián)和趨勢;數(shù)據(jù)挖掘可以從數(shù)據(jù)中發(fā)現(xiàn)隱藏的模式和關聯(lián)規(guī)則;機器學習可以通過訓練模型來預測未來的趨勢和行為。首先將清洗過的數(shù)據(jù)源進行向量化表示,同時使用Python的Sklearn機器學習工具包構建TF-IDF向量矩陣[6]。然后根據(jù)數(shù)據(jù)特征,應用KMeans聚類方法,對數(shù)據(jù)進行分類。KMeans 聚類方法的原理是最小化每個數(shù)據(jù)點到其所屬聚類的質(zhì)心的平方距離之和。其中,TF-IDF,即詞頻-逆文檔頻率(Term Frequency-Inverse Document Fre?quency) ,是一種用于信息檢索與文本挖掘的常用加權技術[7]。它通過統(tǒng)計一個詞在文檔中的出現(xiàn)次數(shù)以及在整個文檔集合中的出現(xiàn)情況,來評估一個詞對于一個文檔集或一個語料庫中的其中一份文件的重要程度。TF-IDF向量矩陣是一種將文本數(shù)據(jù)轉換為數(shù)值形式的方法,以便可以使用機器學習算法進行處理。在TF-IDF向量矩陣中,每個文檔都被表示為一個向量,向量的每個維度對應于文檔集合中的一個詞。向量的值通常是該詞在文檔中的TF-IDF值。
下面是實現(xiàn)該過程的Python代碼示例:
from sklearn. feature_extraction. text import Tfidf?Vectorizer
from sklearn.cluster import KMeans
# 使用 TF-IDF 進行特征提取
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(questions)
# 使用 K-means 算法進行聚類
kmeans = KMeans(n_clusters=len(set(categories)))
kmeans.fit(X)
# 指定的問題
specified_question = "網(wǎng)絡連接"
# 使用指定問題進行預測
specified_question_vector = vectorizer. transform([specified_question])
predicted_cluster = kmeans.predict(specified_ques?tion_vector)[0]
# 根據(jù)預測結果推薦問題分類
recommended_categories = [categories[i] for i, label in enumerate(kmeans.labels_) if label == predicted_clus?ter]
# 打印指定問題的推薦出的問題分類名稱
print("推薦的問題分類是:", recommended_catego?ries)
2.3.4 數(shù)據(jù)展現(xiàn)
在數(shù)據(jù)分析完成后,我們需要將問題推薦的結果以Json的格式返回給業(yè)務系統(tǒng),然后業(yè)務系統(tǒng)將結果展現(xiàn)到用戶的坐席頁面上,坐席根據(jù)推薦的問題分類選項來選擇合適的問題分類進行工單錄入。我們將以上代碼,通過Flask框架進行封裝,并做一個API的訪問接口,支持頁面與分析模型進行交互。其中,F(xiàn)lask的路由(Routing) 用裝飾器(如@app.route) 來定義URL路由和處理函數(shù)(視圖函數(shù))之間的映射關系。這使得開發(fā)人員可以定義如何響應特定的URL請求。Flask提供了處理HTTP請求的功能,包括獲取請求數(shù)據(jù)(如查詢參數(shù)、表單數(shù)據(jù)、JSON數(shù)據(jù)等)、處理請求頭、處理文件上傳等。Flask的 響應處理允許開發(fā)人員自定義響應,包括設置響應狀態(tài)碼、添加響應頭、返回JSON、XML 或其他格式的數(shù)據(jù)等。在Flask 框架中,藍圖(Blueprint) 是一種用于組織和管理應用程序組件的重要工具。藍圖允許開發(fā)者將大型應用程序拆分成多個小的、可重用的組件,從而使代碼更加模塊化、易于維護和擴展,使用藍圖(Blueprint) 來創(chuàng)建API可以使得代碼結構更加清晰,并且有助于模塊化地組織API接口路徑。
代碼實現(xiàn)如下:
首先,需要創(chuàng)建一個藍圖對象。藍圖對象通常被定義在一個單獨的Python模塊中,該模塊負責處理與特定功能或模塊相關的路由。假設方法名稱為re?quest_classify。
from flask import Blueprint, jsonify
# Blueprint 構造函數(shù)接受兩個參數(shù):藍圖的名稱以及藍圖所在的模塊或包
q_c_blueprint=Blueprint(′question_classify′,__name__)
# 此方法的路由地址
@r_c_blueprint. route(′/classify/<String: question> ′,methods=[′GET′])
def classify(question):
# 這里是從以上代碼封裝好的名為question_cat?egories(question)方法中獲取的問題分類。
categories= question_categories(question)
# 返回分析后的問題分類結果
return jsonify(categories) 接下來,需要在主應用文件中注冊這個藍圖
from flask import Flask
from api.question_classify import q_c_blueprint
app = Flask(__name__)
# 注冊藍圖,并指定URL前綴
app. register_blueprint(q_c_blueprint, url_prefix= ′/api′)
if __name__ == ′__main__′:
app.run(debug=True)
在app.py中,導入q_c_blueprint并使用app.regis?ter_blueprint()方法將其注冊到應用中。url_prefix參數(shù)用于為藍圖中的所有路由添加一個公共的前綴,這在組織API時非常有用。
最后,運行Flask應用,定義好的API就會開始監(jiān)聽定義的路由。
python app.py
此時,問題分類的API可以通過訪問http://local?host:5000/api/classify(或其他定義的路由)來訪問了。模型分析后的相應結果,經(jīng)過前端頁面的渲染,就呈現(xiàn)在系統(tǒng)坐席的屏幕上,這就是數(shù)據(jù)展現(xiàn)的主要步驟。
在領導駕駛艙系統(tǒng)中,數(shù)據(jù)的展現(xiàn)要更加全面、直觀。比如事件熱力圖、各類問題的數(shù)量及排名、反映區(qū)的數(shù)量及排名、每小時工單的頻率等,都是以圖表、地圖等形式展現(xiàn)給用戶,讓使用者更容易看出各維度的數(shù)據(jù)變化和演變趨勢,從而讓決策者能夠依據(jù)此數(shù)據(jù)對未來的相關訴求安排做出準確的判斷。領導駕駛艙系統(tǒng)是一種將熱線服務與城市治理、領導決策相結合的創(chuàng)新模式,通過數(shù)據(jù)驅動和智能分析,提高政府服務效率和市民滿意度,推動城市治理體系和治理能力現(xiàn)代化。
2.4 市民熱線系統(tǒng)的其他模型及應用
以上步驟提供了“問題分類推薦”模型的實現(xiàn)的示例過程,其實在開發(fā)實現(xiàn)中,要比以上示例復雜很多,比如數(shù)據(jù)清洗的維度、數(shù)據(jù)分詞后的權重調(diào)整、數(shù)據(jù)模型參數(shù)的調(diào)整等?;谝陨蠈崿F(xiàn)過程,我們還依次實現(xiàn)了智能派單子系統(tǒng)的承辦單位匹配模型”,智能回訪子系統(tǒng)的“回訪內(nèi)容推薦”模型以及領導駕駛艙系統(tǒng)的數(shù)據(jù)統(tǒng)計分析等。其中,有些數(shù)據(jù)模型應用了LangChain 編程框架,它幫助在應用程序中使用大型語言模型(LLM) ,LangChain可以將語言模型與其他數(shù)據(jù)源連接起來,使模型不僅能理解和生成文本,還能訪問和利用其他類型的數(shù)據(jù)。通過大數(shù)據(jù)技術的應用,市民熱線系統(tǒng)在業(yè)務處理上有了更多智能化的體驗,讓坐席能夠更高效地處理工單,實現(xiàn)工單的快速處理和流轉,也通過大數(shù)據(jù)統(tǒng)計分析,讓數(shù)據(jù)更加豐富、直觀、生動地展現(xiàn)在決策者的面前,讓決策者對實時的數(shù)據(jù)有了更可靠的掌握,也對未來事態(tài)的發(fā)展的預測提供了依據(jù)。
3 結束語
大數(shù)據(jù)技術在市民熱線系統(tǒng)的應用還遠不止以上這些功能,隨著大數(shù)據(jù)技術的廣泛普及,熱線系統(tǒng)中還能利用大數(shù)據(jù)技術的自然語言處理和機器學習技術,實現(xiàn)這一領域的智能客服機器人,減輕人工客服的壓力;還可以對訴求的文本或者語音進行分析,判斷訴求者的情感狀態(tài);還能通過對反映的問題進行深入分析,進行未來一段時間的呼叫量及熱點問題作出預測,從而讓政府更好的理解民意,制定有針對性的決策。因而,大數(shù)據(jù)技術在市民熱線系統(tǒng)各場景中起著重要的作用。大數(shù)據(jù)技術在各行各業(yè)的發(fā)展及其應用的前景非常廣闊,隨著大數(shù)據(jù)技術在互聯(lián)網(wǎng)各類系統(tǒng)中的應用,通過大數(shù)據(jù)的分析,企業(yè)可以更準確地挖掘市場趨勢、客戶需求等信息,從而做出更明智的決策;還能依靠它解決系統(tǒng)目前在業(yè)務流程中的瓶頸和問題,然后進行優(yōu)化,從而改善用戶的體驗;未來隨著技術的不斷進步和應用場景的不斷拓展,大數(shù)據(jù)將成為推動社會經(jīng)濟發(fā)展的重要力量。
參考文獻:
[1] 冀冰.政務服務熱線數(shù)據(jù)分析系統(tǒng)的設計與實現(xiàn)[D].石家莊:河北師范大學,2021:3-4.
[2] 更高站位更新理念更大力度更實舉措遼寧12345熱線平臺完成升級改造[J].民心,2022(8):21-24.
[3] 張蔚文,金晗,冷嘉欣.智慧城市建設如何助力社會治理現(xiàn)代化?:新冠疫情考驗下的杭州“城市大腦”[J].浙江大學學報(人文社會科學版),2020,50(4):117-129.
[4] 王譯慶.Flask框架下成品油銷售系統(tǒng)設計與實現(xiàn)[D].西安: 西安電子科技大學,2015.
[5] 何媛媛.大數(shù)據(jù)技術在工業(yè)經(jīng)濟統(tǒng)計中的應用[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2023,13(12):166-168.
[6] 曹樹金,孫立寶,曹茹燁.基于文本和回歸分析的中國城市科技創(chuàng)新發(fā)展的政策因素影響研究[J].科技情報研究,2023,5(3):49-66.
[7] 李闊.中國近代農(nóng)業(yè)團體專題數(shù)據(jù)庫系統(tǒng)的研究與實現(xiàn)[D]. 石家莊:河北師范大學,2020.
【通聯(lián)編輯:王力】