鄭榮新 齊同軍
政務服務大數據報告是針對政務服務的,主要反映了政務服務的社情民意和輿情動向,梳理并客觀呈現政務服務的輿情熱點、黨和政府政務方針政策及反饋、治國理政體系及能力建設、政務服務新思想、新技術、新做法、新經驗等有關政務服務的一切資訊。同時,介紹境外媒體網站上對中國政務服務的評論,關注國際重大事件特別是對中國政務服務有影響的事件,幫助領導干部拓展視野,更好地做好政務服務工作,在問責制年代為領導干部提供應對參考。
對一個政務服務大數據報告來說,它的基本流程有以下六步:明確分析的目的,確定關鍵詞和分析角度;進行數據采集和預處理;進行數據儲存、索引和編目;進行數據的分析,得出分析結果;進行可視化展現,直觀反映分析結果;編寫大數據報告,得出最終結論。在這六步中間,還貫穿著自然語言處理的步驟。
明確分析目的
用戶提出一個政務服務大數據報告的生成需求后,首先由相關的技術人員把這個報告的題目進行分解,明確分析的目的,確定數據分析的對象。然后決定要獲取哪些數據進行分析,從什么角度來分析,以及分析的關鍵詞等等。最后決定數據采集的來源。
明確分析目的是大數據報告生成的第一步,如果這一步的方向錯誤,那么后面的全部步驟都是無用功。為了保證這一步的正確性,目的分析都是由經驗豐富的技術人員來擔任,并且在目的分析完成后,也要和用戶反復的溝通,直到確定充分理解了用戶的需求,才會進行后面的操作步驟。
對政務服務大數據報告的目的分析而言,這一步都是人工操作,沒有人工智能或者算法能夠代替。特別是數據采集的來源,通常都是由技術人員和用戶來定義,無法像傳統的搜索引擎一樣,能夠對整個Internet網進行全面的搜索。但是隨著大數據的逐漸發展,最終它的數據來源會面向整個Internet網絡。
分析的角度更是多樣化,有地域劃分、時間范圍、用戶類別、各類排名、滿意度、支持度、活躍度、關注度等等。對政務服務而言,用戶的情緒是一個很重要的分析角度。
同一個問題,分析角度不一樣,得出的結論會有很大的偏差,所以,選擇合適的分析角度也是非常重要,大數據報告應該盡可能多的選擇不同的分析角度給出結論。
數據采集和預處理
大數據技術中最重要的一環就是數據采集,也叫數據挖掘。它是通過數據爬取軟件平臺實現的。
數據爬取不限定于某種編程語言,也不限定于某種操作系統。不管是Java語言+Linux操作系統,還是C#語言+Windows操作系統等等,都可以勝任數據爬取的工作。
同樣,數據的來源也是多種多樣,對政務服務大數據報告來說,數據來源可以是由爬取平臺在相關政務網站上爬取,也可以由填報系統人工錄入,也可以從Excel文檔導入,甚至還可以從相關的業務系統的數據庫直接讀取。
那么政務服務數據采集是從哪些網站來獲取數據的呢?主要是當地的省市縣政務網站、國內知名的新聞網站的政務版塊,以及一些國內知名論壇的相關版塊。
一般來說,用戶可以自建數據挖掘平臺,但是也可以付費使用第三方的數據挖掘平臺。在大數據報告生成中,付費使用第三方的挖掘平臺的數據,是一件很常見的事情。一定程度上的數據共享,可以有效節約時間和成本,對大數據報告的生成是非常有利的。
數據爬取需要爬蟲程序,從本質上來說,爬蟲就是一個能夠多線程運行的程序。它使用HTTP協議,根據設定好的爬取規則,通過GET和POST命令,得到相關網頁的源數據。然后通過一些程序插件去除里面的HTML、CSS修飾符和JS腳本等無效字符,得到數據分析所需要的文本數據。
數據的爬取規則,經常采用XML文檔來保存,因為XML文檔里,可以定義非常復雜的爬取規則,讀取和編輯也較為方便。
每個要爬取的網頁的規則,通常是由程序員手工編寫,熟練的程序員一天能夠寫出好幾個頁面的爬取規則。現在還沒有好的智能算法能夠自動適應不同頁面數據爬取,一旦網站改版或者添加新的欄目,就必須要人工重新編寫爬取規則。
為了保證網站的正常運行,很多網站都有反爬手段,阻止爬蟲占用網站的數據和帶寬等資源。常見的反爬手段有字符驗證碼、圖片驗證碼、鼠標拖動滑塊驗證、IP訪問限制、流量限制、用戶必須登錄等等。爬蟲程序通常都有具有一定的反爬能力,能夠自動處理一些簡單的反爬手段,比如字符驗證碼和IP訪問限制等。但是對一些復雜反爬手段,也是無能無力,只能付費買授權或者從第三方買數據。
數據的爬取速度,通常幾個小時內,可以爬完一個小型網站的全部頁面,如果該網站的數據更新量較小,那么幾十分鐘內就可以重新爬取一遍更新數據。爬蟲的數量越多,爬取速度也越快,但是為了防止被限制IP和封號,爬蟲的數量對單個網站都不會設置太多。對政務服務網站來說,需要爬取頁面的數量相對較少,所以在整個大數據報告周期里,數據爬取占用的時間并不是最多的。
數據爬取失敗報警機制是非常有必要的。如果某些網站數據爬取失敗,勢必影響最終的數據采集數量,從而影響最終的分析結果。
數據爬取完成后,還要進行數據預處理。這里的預處理一般是指根據網址進行數據排重和數據清洗,把重復的和有亂碼的數據丟掉。這一步很重要,通過數據預處理,能夠刪除絕大部分的無效數據,可以大大減少存儲數據占用的空間,同時也減少數據分析的時間和資源消耗。
在數據爬取和數據排重、清洗的中間,還有消息中間件的存在,常見的如Kafka。消息中間件的作用是暫時存儲數據,防止數據預處理跟不上數據采集的速度,從而引起采集數據的丟失。
數據存儲和索引
排重和清洗完成的數據,需要封裝成便于后續處理的JSON格式,根據一定的規則,生成便于檢索的索引,也就是關鍵字,存入數據庫。
因為數據爬取每天要訪問成千上萬個網頁,產生的數據量非常大,而且大數據的保存時間一般都是永久,所以通常使用HBase數據庫。
HBase是Hadoop DataBase 的簡稱,也就是基于Hadoop的數據庫,是一種NoSQL數據庫,主要適用于海量明細數據(十億、百億)的隨機實時查詢,如日志明細、交易清單、軌跡行為等。簡單來說,它就是一種存儲量非常大、PB級別的、專門為大數據而生的超大型數據庫。
數據采集到的文本數據,可能是一篇政務新聞,也可能一些用戶發表的評論。
數據的索引生成,需要對采集到的文本數據進行分詞,經過分詞后的數據,才能有效的完成索引,便于后面的SQL查詢。
文本的分詞,就是提取出一大段文本里面的關鍵詞。這些關鍵詞,通常都是和分析角度有關系的。
簡單的分詞處理,可以用分詞插件來完成,比如IK。但是分詞插件很死板,只有你事先定義的關鍵詞,才能幫你分詞,智能程度很低。
如果分析角度中包含地域,那么文本數據里面全部的地名,比如省市縣的名稱,都要提取出來作為索引。同樣,如果分析角度里面包含滿意度,那么文本數據里面和滿意度相關的情緒化的詞語,比如“支持”、“滿意”、“好”、“差”等等,也要全部提取出來,作為索引。
智能程度較高的索引,必須由自然語言處理平臺來協助完成。
自然語言處理
所謂自然語言,是指一種自然地隨文化演化的語言,比如英語、漢語、日語等。
有了自然語言處理的技術,計算機才能夠真正理解人類的語言,懂得語言中的語義和情緒等等。
自然語言處理是政務服務大數據分析中很重要的一個數據處理技術。
國內比較知名的、開放的自然語言處理平臺,有哈工大的語言技術平臺(LTP)、騰訊文智自然語言處理NLP平臺等等。哈工大的語言技術平臺(LTP)的功能包括中文分詞、詞性標注、命名實體識別、依存句法分析、語義角色標注。騰訊文智自然語言處理的功能包括詞法分析,句法分析,篇章分析,下載抽取轉碼。
因為自然語言處理技術是一門非常復雜的技術,所以很少有大數據運營公司會單獨進行開發,使用現成的自然語言技術平臺進行文本處理,是一種常見的處理手段。
在大數據報告的生成過程中,自然語言處理技術,可以幫我們將采集的數據歸類和建立索引,識別文本數據中的情緒,對政府服務報告有著不可或缺的作用。
自然語言處理技術,不僅僅用于數據的索引,還可以結合數據采集,對數據里面的日期和時間進行格式化和修復,對數據里面的地名進行省市縣的歸類。
很多文章里面的日期并不是年月日的標準格式,往往只有幾月幾號、今年、去年、幾年以前等等描述,通過自然語言處理加上文章的發布時間,可以將類似的日期修復成年月日的標準格式。
另外,在很多文章中的地名,往往只有本埠之類的描述,或者一個村莊的名稱,在本地是獨一無二的,但是放到全國范圍內,就有重名的。通過自然語言處理技術,分析出其他的一些信息,結合全國的地名表,也可以把地名修復成省市縣村的標準格式。
數據分析
以上全部的操作,都是為數據分析提供基本數據的。到了數據分析這步的時候,全部的數據都已經入庫并且生成了索引。
數據分析包括基本數據分析,數據探索,復雜數據分析等。數據分析是大數據報告形成過程中,技術含量最高的部分。這里往往涉及到機器學習、深度分析、人工智能等方面。
進行數據分析的人員,不僅要熟悉相關行業知識和業務流程,還要有自己的獨到見解。若脫離了行業認知和業務背景,分析的結果就沒有太大的使用價值。
數據分析人員還要求掌握各種數據分析軟件工具,能夠根據不同的情況,選擇使用最合適的軟件工具對數據進行歸納分析。因為通過采集得到的數據是海量的,所以無法通過人工的方式進行查看,必須通過數據分析工具進行處理。常見的分析工具有ElasticSearch、Kibana等等。
數據分析從本質上來說,就是從不同的分析角度,編寫不同的SQL腳本,來獲取各個角度的數據的數量,計算出百分比。
報告的編寫人員,可以根據這些查詢數據作出可視化展現的圖表,寫出大數據報告,得出最終結論。
可視化展現
可視化展現是大數據分析結果最好的表現形式,它用圖表取代了文字說明,通過液晶屏或者高清彩色LED大屏幕,將數據分析結果用各種不同的圖表進行可視化展現,讓人一目了然。
在可視化展現中,常見的圖表有散點圖(氣泡圖)、折線圖、柱狀圖、餅圖、地圖、雷達圖等幾種。除了這幾種常見的圖表以外,還有熱力圖、k線圖、關系圖、桑基圖、漏斗圖、儀表盤等等其他圖表,也可以將各種圖表進行組合顯示,形成更復雜的圖表。
可視化展現經常使用工具軟件來實現,也可以根據實際情況,用ECharts等可視化圖表來自己構建。
大數據報告編寫
大數據報告是整個大數據分析流程的最終結果。
政務服務大數據報告是以一定的格式和規范,由熟悉相關行業知識和業務流程的專業人員,寫出的專業報告。它具有下面幾個特點:簡單可靠、清晰明了、邏輯性強。
它的數據來源于網絡,通過分析海量的數據,從不同的角度得出數據結論,最后根據這些,得出大數據報告的最終結論。政務服務大數據的報告,對用戶情緒的關注度非常高。
由此可見,大數據報告是完全基于真實的數據,特別是由第三方大數據運營公司獨立分析和編寫的大數據報告,最終報告結論的可信度是很高的。
(作者單位:浙江省杭州市數據資源管理局)