侯瑾菲 梁藝多
(大連外國語大學軟件學院,遼寧大連 116044)
自美國政府于2009 年掀起開放政府數據運動后,世界各國競相跟進,這一理念也逐漸成為全球關注焦點。我國的上海市于2012 年6 月首次上線了“上海市政府數據服務網”,隨后北京、廣東、武漢等地也陸續展開行動。截至2020 年底,我國已有140 多個省級、副省級和地級政府上線了數據開放平臺。隨著各地開放數據集的不斷增多,“如何高效利用政府開放數據”的問題也逐漸引起業界學者的廣泛思考。陳美強調“政府數據開放利用能夠推動信息內容產業和信息服務業發展”[1]。范佳佳對全球53 個國家的政府開放數據利用效率進行評估并給出排名[2]。周文泓等基于對應用開發的調查討論了我國地方政府開放數據利用進展并提出優化策略[3]。宋卿清等對國內外政府數據開發利用的進展情況進行總結并提出對我國的政策建議[4]。呂富生討論了政府數據再利用的“限制型”模式和“開放型”模式并給出可行路徑[5]。可見,現有研究都是從宏觀角度分析與討論政府數據開放利用的整體情況、實施路徑和政策建議等,并未從微觀角度即數據本身出發研究政府開放數據的具體應用工具、方法、過程和效果等。近年來,隨著人工智能的發展,Python 語言獲得了學術界和產業界的極大關注,被廣泛應用于網絡爬蟲、數據分析、機器學習、自然語言處理等領域。因此,本文將采用Python 網絡爬蟲和數據分析技術,以政府數據開放平臺中的幼兒教育數據為例,從數據利用的微觀視角開展數據的獲取及可視化分析,并針對分析結果提出一定啟示,為開放政府數據應用問題的研究提供一個全新的思路和參考。
本文選取廣州市政府數據開放平臺作為調研的目標平臺。該平臺于2016 年10 月起試運行,截至目前,共有63 個政府部門參與數據開放,為大眾提供有關經濟發展、教育科技和資源環境等16 個主題分類的數據,數據集總數為1520 個,數據總量共計1.44 億條。其中,教育類主題數據集為97 個。本文以幼兒教育數據為例,采集包括廣州市白云區、花都區和從化區等11個區在內的幼兒園數據,將其作為可視化分析的目標對象。
應用Python 工具采集開放政府數據的過程為:首先,爬蟲程序借助Requests 庫對目標數據集中以HTML 格式保存的介紹頁面和以JSON 格式保存的表格數據分別進行爬取。其次,使用Beautiful Soup 庫提取介紹頁面HTML 文件中有關數據表格的標題、表頭以及數據總數等信息,并將其寫入CSV 文件。再次,使用JSON 庫提取以JSON 格式保存的表格數據記錄,并將其寫入CSV 文件。最后,使用Matplotlib 庫對數據結果可視化。實驗的整體步驟如圖1 所示。

圖1 實驗的整體步驟
在從“廣州市政府數據統一開放平臺”網站爬取“廣州市各區幼兒園一覽表”數據時,首先需要定義Headers 等初始數據,并使用Requests 獲取JSON 格式的表格數據。相關代碼如下:

從JSON 格式的廣州市各區幼兒園一覽表中提取列信息,包括:年份、行政區域、幼兒園名稱、地址、聯系電話、以及辦園性質等。相關代碼如下:

把提取的“廣州市各區幼兒園一覽表”的各列數據存入到CSV 文件中。相關代碼如下:

將上述功能進行組合進而形成程序整體框架。相關代碼如下:

過以上方法,本次共采集到廣州市各個區的幼兒園數據1741 條,所有數據均保存在CSV 文件,且該文件將作為下一步數據可視化分析應用的數據來源和處理對象。
此模塊將使用詞云圖來生成重要關鍵詞。首先,使用Python的Jieba 分詞做分詞處理。之后,使用Python 的wordcloud 庫生成詞云圖,在此步中將會創建一個詞云對象,并輸入所生成云圖的長、寬、背景顏色以及中文詞庫等。最后,使用Python 的matplotlib 庫進行可視化繪圖。相關代碼如下:

生成的詞云如圖2 所示。

圖2 詞云圖
據調查,廣州市的常住人口為1490.44 萬人。其中,白云區人口最多,為271.44 萬人,番禺區為177.7 萬人,海珠區為169.36 萬人,天河區為174.66 萬人,增城區為121.85 萬人,越秀區為117.89 萬人,荔灣區為97 萬人,花都區為78.24 萬人,南沙區為49.93 萬人,黃埔區為52.76 萬人,從化區為63.49 萬人。從平臺上爬取的各區幼兒園數量為:白云區322 個,番禺區為307個,海珠區為190 個,天河區186 個,增城區為155 個,越秀區為116 個,荔灣區為103 個,花都區為98 個,南沙區為244 個,黃埔區為229 個,從化區為73 個。將各區人口數與幼兒園數量的整體趨勢進行對比,結果見圖3。

圖3 各區人口數與幼兒園數量的趨勢對比
可見,廣州市各區人口數與幼兒園數量基本呈現正相關。說明廣州市在設立幼兒園時,充分考慮了所在區的人口數量因素。人口數越多,對學前教育的需求越大,相應地需要設置更多的幼兒園以充分保障學前兒童的教育機會,整體上促進了教育資源的公平、均衡配置。
對爬取到的廣州市各區幼兒園數量與所含一級幼兒園數量的整體趨勢進行對比分析,結果見圖4。

圖4 各區幼兒園數量與優質園數量的趨勢對比
可見,各區幼兒園數量與一級幼兒園數量呈正相關性。說明各區幼兒園的數量越多,就容易引起同行業間的激烈競爭。為了爭取更多、更高質量的生源,各幼兒園普遍注重在軟、硬件方面的投入,不論是園區場館的擴建、器材設備的購置,還是幼師的引進與培養、學前教育理念的更新等,都積極對標一級幼兒園的認定標準,并竭力促進各項指標達標,無形中孵化出更多的優質幼兒園,促進了本區內學前教育水平的整體提升。
當前,人類正處于信息爆炸的社會,大數據已成為時代的主旋律。政府數據開放是順應大數據發展趨勢的重要舉措,大量高質量、高價值數據因公開而得以共享和使用。本文立足于政府開放數據的應用視角,從數據集自身出發,基于Python 技術對其開展網絡采集及可視化分析,得到如下研究啟示:
第一,數據驅動研究范式下需要更加注重數據自身的分析與挖掘。大數據的產生在一定程度上引起了科學研究范式朝向數據驅動型的創新轉變,政府開放數據使得人們可通過互聯網獲取更多、更海量的數據。為了實現數據資產價值最大化,可采用一定的數據分析方法(如數據的采集、清洗及可視化技術,機器學習算法等)對數據內蘊含的因果關系、關聯關系等進行深入分析與挖掘,必將更大程度地提升政府開放數據的利用效果。
第二,開放政府數據的數據集樣本應確保無偏性、多變量的特性。通過爬蟲等數據采集技術獲取的數據記錄數量往往較多,但數據樣本是否具有典型性并不明確,由此導致采用此類樣本數據的分析結果可能并不具備普遍性和適用性。此外,如果采集的樣本數據所具有的變量個數較少,就意味著對數據自身特性的描述并不全面,也難以開展更深入、更客觀的數據分析。因此,政府部門在開放數據時,有必要從源頭嚴控數據質量,確保所開放數據樣本具有更廣泛的代表性,同時盡可能提供有關數據樣本更多表征其不同屬性的變量描述。
第三,開放政府數據應建立常態化的數據更新機制,以確保數據的及時性和持續性。大數據時代下,數據的日生產量數以億計,其中蘊含的決策導向以及價值取向也瞬息萬變。數據驅動的研究過程除了要以巨大的數據量為支撐深入挖掘其內部存在的規律與模式外,也應注重對即時數據的及時捕捉以及對目標數據定時定期、規律性的跟蹤。因此,政府開放數據應確保其自身是最新發布的,具備較高的時效性,同時對已發布的數據應按照日、周、月等頻率開展定期的更新與維護。
第四,開發和設計更多、更強大、更穩定的算法以實現開放數據的智能化應用。數據可視化分析雖然能實現對數據的應用,但其本質上還是基于可視化展示結果輔助人類更好地進行問題決策,屬于淺層的智能應用。如果基于現有算法進行改進和優化,使之可以基于輸入的原始開放數據通過算法的智能計算與分析直接代替人進行科學決策,算法輸出的結果已經是非常明確的行動指示,即實現了更高級的智能應用,這將成為未來政府開放數據利用的一個重要發展方向。