李潁春,姜丹
(北京印刷學(xué)院,北京 100000)
航天事業(yè)是一個(gè)國家追求創(chuàng)新與發(fā)展的生動(dòng)體現(xiàn)。在過去5年里,有嫦娥探月、北斗指引、祝融探火、羲和逐日,“悟空”“慧眼”探索宇宙奧秘,中國航天砥礪奮進(jìn),創(chuàng)造出新的成就,實(shí)現(xiàn)了新的跨越。
中國航天科普互動(dòng)展的開設(shè)和VR航天系統(tǒng)的互動(dòng)體驗(yàn)也進(jìn)一步引發(fā)了全民對(duì)航天事業(yè)的關(guān)注與熱情。因此,如何用更加喜聞樂見的方法將航天知識(shí)與現(xiàn)狀實(shí)時(shí)展現(xiàn)在普通大眾面前也是將航天事業(yè)與普通大眾的生活密切相連的關(guān)鍵一環(huán)。本文采用爬蟲技術(shù)及時(shí)地整合提取網(wǎng)絡(luò)上的實(shí)時(shí)航天數(shù)據(jù),借助知識(shí)圖譜、可視化數(shù)據(jù)統(tǒng)計(jì)和智能問答的方式多元化展示航天事業(yè)的基本情況與知識(shí)。以此,既可以對(duì)青少年群體進(jìn)行航天知識(shí)的啟蒙,提高普通大眾對(duì)航天事業(yè)的關(guān)注度;又可以為航天愛好者提供更加清晰的數(shù)據(jù)匯總,將散亂的網(wǎng)絡(luò)信息轉(zhuǎn)換為視覺信息,使系統(tǒng)用戶能夠有較強(qiáng)的參與感和互動(dòng)感,并在一定程度上減少了收集數(shù)據(jù)閱讀資料的時(shí)間,更好地傳遞航空航天的知識(shí)概況。
在航天航空領(lǐng)域,可視化系統(tǒng)的開發(fā)不僅會(huì)保證完成航天航空任務(wù)的高效性與航天器和航天員的安全性[1],還為研究設(shè)計(jì)人員在航天航空領(lǐng)域中的再探索和再升級(jí)提供新平臺(tái)。有學(xué)者對(duì)航空航天領(lǐng)域中常見場景與現(xiàn)象開展了研究。例如,Pagendarm等[2]針對(duì)非定?,F(xiàn)象、高超音速流動(dòng)和協(xié)同流動(dòng)這類流場數(shù)據(jù)進(jìn)行多元可視化,使得研究人員清楚地觀察到流動(dòng)結(jié)構(gòu)發(fā)展演化過程,從而對(duì)機(jī)理分析起到促進(jìn)作用。但是通常開發(fā)人員使用軟件進(jìn)行仿真的模擬結(jié)果僅通過文本和簡單的圖表展示,數(shù)據(jù)既缺乏表現(xiàn)力,又給經(jīng)驗(yàn)不足的非專業(yè)人員造成了學(xué)習(xí)的成本。例如,有研究人員設(shè)計(jì)了基于Web的航空航天仿真可視化工具,利用網(wǎng)絡(luò)技術(shù)和地理信息系統(tǒng)的通用仿真可視化工具[3]。這樣的3D可視化效果的展示不僅使得用戶可以輕松地在先進(jìn)的三維虛擬環(huán)境中實(shí)時(shí)或模擬地展示他們的結(jié)果,還能對(duì)航天發(fā)射全過程進(jìn)行精確、直觀的視景仿真,為航天發(fā)射決策分析提供支持。
但在航天系統(tǒng)中,常常也會(huì)對(duì)數(shù)據(jù)的實(shí)時(shí)性要求較高。學(xué)者們也關(guān)注到了這一問題。例如,有研究人員開發(fā)了基于神經(jīng)網(wǎng)絡(luò)的多用途飛行可視化系統(tǒng),通過專有的神經(jīng)網(wǎng)絡(luò)單元對(duì)數(shù)據(jù)源進(jìn)行預(yù)處理,可以保證數(shù)據(jù)適應(yīng)性,可以消除由數(shù)據(jù)延遲和數(shù)據(jù)丟失引起的問題[4];針對(duì)航天發(fā)射任務(wù)期間傳輸頻率高、傳輸量巨大的遙測數(shù)據(jù),有學(xué)者設(shè)計(jì)了一種可對(duì)實(shí)時(shí)遙測數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、壓縮和展示的遙測數(shù)據(jù)可視化系統(tǒng),對(duì)于遙測系統(tǒng)的運(yùn)行記錄具有實(shí)時(shí)性強(qiáng)、存儲(chǔ)及查詢效率高等特點(diǎn)[5]。
航天知識(shí)圖譜旨在把所有不同種類的航天信息連接在一起而得到的一個(gè)知識(shí)關(guān)系網(wǎng)絡(luò),使人們能夠從數(shù)據(jù)之間的關(guān)系去分析與解決問題。早有學(xué)者提出利用地圖數(shù)據(jù)庫Neo4j存儲(chǔ)相關(guān)知識(shí),構(gòu)建出航天知識(shí)圖譜[6]。但在航天信息過載情況下,需要提高決策質(zhì)量和效率的方法。有研究人員提出了使用集成策略進(jìn)行航天知識(shí)實(shí)體與關(guān)系[6];也有學(xué)者通過大數(shù)據(jù)、人工智能方法挖掘航天數(shù)據(jù)的應(yīng)用潛力,研究面向航天裝備數(shù)據(jù)知識(shí)圖譜,以求優(yōu)化和升級(jí)航天裝備[7]。
本文將結(jié)合航天可視化系統(tǒng)與航天知識(shí)圖譜,通過對(duì)航天數(shù)據(jù)與知識(shí)的實(shí)時(shí)挖掘、分析與處理,結(jié)合多元化的展示方式,為用戶提供一個(gè)一體化、一站式的航天知識(shí)學(xué)習(xí)平臺(tái),激發(fā)用戶對(duì)航天事業(yè)的學(xué)習(xí)興趣,提高用戶對(duì)航天事業(yè)的關(guān)注度。
開發(fā)階段使用前后端分離架構(gòu),通過使用約定好數(shù)據(jù)交互接口,實(shí)現(xiàn)并行開發(fā)和測試。簡單來說,前后端分離就是把數(shù)據(jù)操作和顯示分離出來,前端專注于做數(shù)據(jù)顯示,后端專注于做數(shù)據(jù)的操作,前端把數(shù)據(jù)開放給后端,后端對(duì)數(shù)據(jù)進(jìn)行修改,后端提供接口給前端調(diào)用,來開發(fā)對(duì)數(shù)據(jù)的操作。具體的項(xiàng)目架構(gòu)如圖1所示。
圖1 項(xiàng)目架構(gòu)
將前端部署在具有高性能的HTTP和反向代理功能的Nginx服務(wù)器上。大眾熟知的BAT、京東、新浪和網(wǎng)易等公司都是Nginx網(wǎng)站的用戶。在前后端交互時(shí),采用Ajax技術(shù),它可以在XML、HTML、CSS和Java腳本的幫助下創(chuàng)建更好、更快、更具交互性的Web應(yīng)用程序。一般的Ajax采取的數(shù)據(jù)傳輸格式為Json形式。后臺(tái)部署在Springboot上。
基于大數(shù)據(jù)技術(shù)的航天數(shù)據(jù)可視化系統(tǒng)平臺(tái)以多個(gè)航天網(wǎng)站的官方數(shù)據(jù)為基礎(chǔ),通過網(wǎng)絡(luò)爬蟲技術(shù),將爬蟲代碼部署在服務(wù)器上,以多線程的方式對(duì)各大航天數(shù)據(jù)網(wǎng)站進(jìn)行定期訪問,7×24小時(shí)不間斷采集當(dāng)下最新的問答知識(shí)及國內(nèi)外航天相關(guān)發(fā)射情況,總數(shù)據(jù)量超過百萬條。
當(dāng)前,該平臺(tái)已經(jīng)實(shí)現(xiàn)對(duì)中國航天科普網(wǎng)、航天愛好者網(wǎng)、百度百科相關(guān)檢索詞條的數(shù)據(jù)進(jìn)行全量級(jí)的定制化爬取,多樣化數(shù)據(jù)定制功能。為知識(shí)問答、航天多元可視化、航天知識(shí)圖搜索提供了3大數(shù)據(jù)接口。這些數(shù)據(jù)不會(huì)直接展示給用戶,而是分門別類保存起來,后續(xù)將交平臺(tái)進(jìn)行數(shù)據(jù)分析與可視化,最后將所得結(jié)果返回至用戶平臺(tái)的界面。
基于大數(shù)據(jù)技術(shù)的航天數(shù)據(jù)可視化系統(tǒng)平臺(tái)對(duì)采集到的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)整理、數(shù)據(jù)預(yù)處理和數(shù)據(jù)存儲(chǔ),將分散、零亂、標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)整合到一起,提高數(shù)據(jù)的質(zhì)量,為后期數(shù)據(jù)可視化分析奠定基礎(chǔ)。
3.2.1 缺失值填充
很多數(shù)據(jù)不可避免地會(huì)遺失,這就造成了很多缺失值的出現(xiàn),平臺(tái)既支持均值、全局常量、中位數(shù)、眾數(shù)和插值法填充缺失值,也支持模型預(yù)測方法填充缺失值,根據(jù)數(shù)據(jù)的具體特性對(duì)填充方式進(jìn)行自主選擇。
3.2.2 數(shù)據(jù)去重
為了避免重復(fù)爬取產(chǎn)生冗余的數(shù)據(jù),導(dǎo)致后期的分析失真,如重復(fù)數(shù)據(jù)會(huì)對(duì)詞頻統(tǒng)計(jì)分析產(chǎn)生影響。故平臺(tái)提供了按主鍵完全去重和按文本內(nèi)容相似性去重(慎用)2大去重方式。
3.2.3 文本預(yù)處理
(1)在后臺(tái)可以選擇是否保留文本中的URL、郵箱、@用戶、表情包、話題、標(biāo)點(diǎn)、HTML標(biāo)簽等內(nèi)容。
(2)實(shí)現(xiàn)文本中多空格合一,使布局符合人的視覺。
3.2.4 分詞
后臺(tái)會(huì)對(duì)庫內(nèi)以及用戶要檢索的問題或數(shù)據(jù)進(jìn)行文本清理與分詞處理,以供后續(xù)進(jìn)行相似性檢驗(yàn)。
將清洗得到的數(shù)據(jù)按照不同的任務(wù)需求存到對(duì)應(yīng)的數(shù)據(jù)庫中。具體的對(duì)于問答、可視化等需要進(jìn)行查詢和計(jì)算的數(shù)據(jù),使用計(jì)算速度快且能分布式部署的Redis數(shù)據(jù)庫進(jìn)行存儲(chǔ);將檢索率不高的冷數(shù)據(jù)存入Mysql數(shù)據(jù)庫中;對(duì)于進(jìn)行知識(shí)抽取后,得到的圖數(shù)據(jù),使用Neo4j進(jìn)行存儲(chǔ),以供后續(xù)檢索。
基于大數(shù)據(jù)技術(shù)的航天數(shù)據(jù)可視化系統(tǒng)平臺(tái)是一款基于爬蟲、數(shù)據(jù)預(yù)處理、大數(shù)據(jù)挖掘分析與存儲(chǔ)等技術(shù),開放性的、高效性的、便捷性的交互式航天數(shù)據(jù)多維分析平臺(tái)。該平臺(tái)將數(shù)據(jù)爬取、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析和數(shù)據(jù)可視化4大功能集成,用戶只需簡單操作就可以在該平臺(tái)上輕松地獲取各大航天數(shù)據(jù)平臺(tái)上詳盡數(shù)據(jù)及可視化分析。該平臺(tái)包括“航天知識(shí)我知道”“航天多元可視化”“航天知識(shí)圖搜索”3大功能模塊。
“航天知識(shí)我知道”的智能問答模塊較好地解決了航天愛好者與普通群眾對(duì)航天情況進(jìn)行學(xué)習(xí)時(shí),出現(xiàn)對(duì)某個(gè)問題認(rèn)識(shí)比較模糊或?qū)δ承S忻~并不熟悉的問題,在可視化系統(tǒng)中以一問一答的對(duì)話框形式呈現(xiàn)。
要實(shí)現(xiàn)問答模塊。首先要爬取“宇宙知識(shí)網(wǎng)”中的“航天”“航天史”“航天故事”“航天科技”等多個(gè)子模塊下的多頁內(nèi)容,將抓取到的內(nèi)容按照一問一答的形式保存為Json格式,并持久化存儲(chǔ)到Redis數(shù)據(jù)庫中,以供用戶查詢。當(dāng)用戶輸入想了解的航天知識(shí)時(shí),后臺(tái)將對(duì)用戶輸入的問題進(jìn)行分詞處理,提取關(guān)鍵信息,再與存在語料庫中的經(jīng)過分詞處理的問題進(jìn)行相似度計(jì)算。對(duì)比后,若與現(xiàn)有問題的相似度超過0.5,則在回答窗口向用戶返回對(duì)應(yīng)的答案。效果如圖2所示。
圖2 知識(shí)問答
“航天知識(shí)我知道”問答模塊的實(shí)現(xiàn),使用戶在瀏覽可視化知識(shí)系統(tǒng)存在疑問時(shí),能夠得到及時(shí)有效的回復(fù),在補(bǔ)充相關(guān)航天知識(shí)的同時(shí)節(jié)省了另外查詢的時(shí)間。
“航天多元可視化”模塊較好地解決了單一數(shù)據(jù)與簡單圖表無法滿足航天愛好者與普通群眾對(duì)航天事業(yè)發(fā)展的了解問題。通過折線圖、柱狀圖等不同形式的圖表來展示航天數(shù)據(jù),使民眾能夠快速了解我國航天發(fā)展歷程和世界航天發(fā)展的總體情況。以中國為例,效果如圖3所示。
圖3 航天數(shù)據(jù)可視化(中國)
要實(shí)現(xiàn)航天數(shù)據(jù)的多元可視化。首先要確定數(shù)據(jù)能夠展示出我國航天發(fā)展的縱向進(jìn)程和世界航天發(fā)展的橫向?qū)Ρ?,接著從在百度百科上有目的地?duì)中國運(yùn)載火箭發(fā)射記錄(以年為單位)、中國各發(fā)射場發(fā)射次數(shù)(以場次為單位)、中國發(fā)射成功/失敗、世界發(fā)射情況、各國預(yù)算排行和繞行軌道統(tǒng)計(jì)等多個(gè)模塊下的多頁內(nèi)容進(jìn)行爬取,將抓取到的數(shù)據(jù)進(jìn)行多維度的統(tǒng)計(jì)后,保存為Json格式,并持久化存儲(chǔ)到Redis數(shù)據(jù)庫中,使用Echarts可視化插件調(diào)用數(shù)據(jù)庫后,傳遞到前端頁面,使得航天數(shù)據(jù)能夠直觀地展示。
當(dāng)用戶想了解中國與世界的航天發(fā)展進(jìn)程時(shí),只需要點(diǎn)擊自己感興趣的頁面,就能通過折線圖或柱狀圖清晰地觀察到航天事業(yè)的發(fā)展趨勢(shì),更加深刻地體會(huì)到我國航天發(fā)展的艱辛歷程與近年來所取得的偉大成就。
航天多元可視化的實(shí)現(xiàn),消除了民眾在瀏覽零碎繁雜的航天數(shù)據(jù)過程中的“沒概念”和“不感興趣”,使用戶可以通過多種圖表的數(shù)據(jù)呈現(xiàn)方式,擁有更加直觀簡潔的視覺體驗(yàn),對(duì)于航天知識(shí)的普及工作起到一定幫助和支持。
“航天知識(shí)圖譜”模塊使用清晰準(zhǔn)確的方式來表示不同實(shí)體之間的關(guān)系,有助于將圖中的所有信息連接成一個(gè)相互關(guān)聯(lián)的網(wǎng)絡(luò),所展現(xiàn)的可視化結(jié)果會(huì)為用戶帶來科學(xué)的交互功能,為用戶找出更加準(zhǔn)確的信息,作出更全面的總結(jié)并提供更有深度的相關(guān)信息。
要實(shí)現(xiàn)知識(shí)圖譜可視化。首先要從網(wǎng)站爬取航天知識(shí)的信息,從中提取本體和模式信息,以自頂向下的方法把數(shù)據(jù)源分成9個(gè)可查的實(shí)體結(jié)點(diǎn)與7種關(guān)系。當(dāng)用戶輸入某一個(gè)關(guān)鍵詞,如XX運(yùn)載器,以及希望獲取的知識(shí)深度后,后臺(tái)將把XX運(yùn)載器作為根節(jié)點(diǎn),然后通過遍歷來判斷該根節(jié)點(diǎn)的實(shí)體類型,接著將該節(jié)點(diǎn)自己的屬性結(jié)點(diǎn)與存在一定關(guān)系的結(jié)點(diǎn)添加到相應(yīng)的列表中進(jìn)行儲(chǔ)存,來保存該層所有有效結(jié)點(diǎn)、結(jié)點(diǎn)類型數(shù)量與結(jié)點(diǎn)之間的關(guān)系。然后再以上一層找出的結(jié)點(diǎn)作為根節(jié)點(diǎn)重復(fù)上述步驟,以此類推,直到與用戶輸入的搜索深度一致或達(dá)到最大限度的搜索深度,最后把與關(guān)鍵詞相關(guān)的知識(shí)體系系統(tǒng)化地展示給用戶。效果如圖4所示。
圖4 知識(shí)圖譜
航天知識(shí)圖譜的實(shí)現(xiàn),運(yùn)用基礎(chǔ)通用的“圖語言”,“高保真”地表達(dá)了繁復(fù)的航天知識(shí)之間的各種關(guān)系,更直觀、更自然、更高效地展現(xiàn)在用戶面前,不僅能夠滿足不同層次的用戶對(duì)航天知識(shí)的深度廣度的需求,還能激發(fā)用戶對(duì)航天知識(shí)的再探索。
基于大數(shù)據(jù)的航天數(shù)據(jù)可視化系統(tǒng)的設(shè)計(jì),將“航天知識(shí)我知道”的智能問答功能、多元化多維度的航天數(shù)據(jù)可視化功能與基于知識(shí)圖譜的深度搜索功能結(jié)合在一起。這樣一站式多功能的可視化系統(tǒng),不僅能夠滿足不同層次的用戶對(duì)航天知識(shí)的需求,還能節(jié)省網(wǎng)絡(luò)知識(shí)搜索和信息整合的時(shí)間,提高用戶的學(xué)習(xí)興趣,優(yōu)化用戶的學(xué)習(xí)和探索航天歷程的過程,為航天熱潮深入人心打下了良好的基礎(chǔ)。