天天看點

大資料技術應用于政務資訊化智能搜尋

作者:嘉誠資訊1995

在網際網路的環境中,我們離不開搜尋的功能,這是進入資訊世界的一個重要入口。在網際網路應用中,百度、必應等搜尋網站為我們提供了便利的搜尋功能,但在政務資訊化的應用場景中,卻缺乏相關的搜尋技術和産品。由于政務資訊化管理處于特定的網絡環境中,并不能完全與公衆網際網路聯通,并且政務資訊化管理對于資訊的時效性、搜尋服務的智能化有更高的要求,是以亟須一款相應的智能搜尋産品。

政務資訊化管理領域,存在多種業務搜尋場景,如:各部門釋出的公文如何能及時的搜尋到;在輸入搜尋詞不準确的情況下,如何做準确的提示;各種專業術語在不知如何表達的情況下,如何能準确搜尋到;如何能實時擷取排名前列的搜尋内容……實作這些需求,背後需要大資料技術的支撐。

智能搜尋的出發點是在使用者不能準确表達搜尋意圖時,通過互動式的搜尋提示和互動式的關鍵詞推薦等方式,快速、準确、智能的輔助使用者獲得相應的搜尋結果。實作智能搜尋,需要結合大資料技術與人工智能技術等相關技術進行實作。

大資料技術應用于政務資訊化智能搜尋

早在1980年,阿爾文.托夫勒在《第三次浪潮》這本書中已經預言了資訊時代的到來會帶來資料的大爆發,但當時技術還不成熟,是以等到幾十年後大資料才登上曆史舞台。因為技術需要持續的積累才能由量變到質變。大資料到底是什麼?研究機構Gartner給出了定義:大資料是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的資訊資産。

随着谷歌MapReduce技術、GFS分布式檔案系統、BigTable雲存儲技術的落地,大資料技術真正的展開了相關應用,尤其是Hadoop大資料平台架構的釋出,讓大資料的實施與應用進入了快車道。

大資料業務主要包含資料擷取、資料存儲、資料分析、資料服務與可視化四個過程,相關的結構如圖二所示。

大資料技術應用于政務資訊化智能搜尋

圖二:大資料平台示意架構

1、資料采集

搜尋相關的業務資料主要分為三類:搜尋日志資料、業務流程資料和公文類資料。

搜尋内容推薦業務,根據使用者輸入的關鍵詞句,其一是推薦相關的搜尋詞句;其二可以讓使用者針對細分的詞語,選擇系統推薦的更準确的描述詞語進行智能化的搜尋。這個業務的實作,需要記錄大量的使用者互動操作資料,通過日志記錄的方式來實作,資料主要包含輸入内容、選擇的提示、選擇的推薦實體、檢視的搜尋結果等資訊,相關的資料采集分為離線采集與線上實時采集兩種方式。

政務資訊化管理中,主要的業務是進行事件管理,相關的業務資料為流程事件資料,這些相關的資料主要是結構化的資料,主要包含事件名稱、事件描述、歸屬部門、進展狀态等資訊,資料采集的方式為離線化的資料采集模式。

還有一種資料類型為公文資料,像通知、公告、公示、新聞、檔案等,公文類型資料要求在釋出後,要求一定的時限内可以搜尋到,如半小時内。這類的資料屬于非結構化的資料,主要包含标題、摘要、全文、原檔案等資訊,資料采集的方式為線上實時采集。

2、資料存儲

業務流程資料主要為結構化的資料,存儲于PostgreSQL資料庫中,在進行資料分析時,采用Sqoop工具同步至HDFS中存儲,便于後續的資料分析與資料挖掘。之是以選擇PostgreSQL資料庫,是因為已有空間資料存儲于PostgreSQL中,進而保證了資料庫的統一性。空間資料的分析計算,主要采用PostGIS插件實作相關的空間運算,采用Postgre-XL子產品進行資料庫的分布式管理操作。

離線的日志檔案,采用Flume工具采集至HDFS分布式檔案系統中存儲。日志檔案主要記錄的是使用者的互動操作,相關的資料以JSON的格式記錄,并且會進行連續記錄,按固定的檔案大小或時間間隔形成一個檔案,屬于半結構化的資料形式,适宜存儲在HDFS分布式檔案系統中,且便于後期的資料分析與計算。

公文資料,主要是檔案性質的資料,采用主動式采集模式。如果是文檔性質資料,需要采用人工智能OCR技術進行文本提取,采用自然語言處理技術實施摘要提取,最終将标題、摘要、全文、檔案等資料采集至MongoDB分布式資料庫中存儲。

3、資料計算

資料計算是大資料技術的核心子產品,大資料技術,終究是需要通過資料分析或資料挖掘得到使用者需要的結果。MapReduce模式産生後,實作了大資料分布式計算的分而治之的技術,為了更好的友善開發人員使用,Hive通過支援SQL語言操作模式,具體的計算邏輯由Hive内部對接MapReduce,大大的簡化了開發人員的工作量。

業務流程資料,相應的統計和搜尋需求,對時效性要求相對較低,在進行資料分析時,基于Hive+MapReduce+HDFS技術路線實作。

由于MapReduce模式,需要不斷的與HDFS間進行資料進行I/O操作,計算性能較低,而Spark采用記憶體計算模式,大大提升了資料計算的性能,在資料分析方面有很大的優勢。搜尋功能中,對命名實體的推薦有較高的性能要求,是以離線日志分析計算,采用Spark SQL+SparkRDD+HDFS技術路線實作;線上日志分析采用Spark Streaming+Flume技術實作。

Spark的流處理是基于所謂微批處理的思想,即它把流處理看作是批處理的一種特殊形式,每次接收到一個時間間隔的資料才會去處理,是以天生很難在實時性上有所提升,而Flink采用了基于操作符的連續流模型,可以做到微秒級别的延遲。公文資料對實時性有一定的要求,是以公文資料計算,采用Flink+MongoDB技術路線實作。

大資料技術應用于政務資訊化智能搜尋

圖三:離線資料流圖

大資料技術應用于政務資訊化智能搜尋

圖四:實時計算資料流圖

4、資料服務及可視化

資料計算的結果,存儲于PostgreSQL資料庫中,相關的檢索服務采用Java語言開發HTTPS協定通路接口,結合ECharts、G6等前端展示元件,可在大屏、中屏、小屏等不同類型的裝置上進行結果展現和互動搜尋等相關應用。

最終資料計算的結果存儲于PostgreSQL資料庫中,通過Java語言開發相關的HTTPS協定通路接口,應用程式可以根據需求調用相關的接口,便利的使用大資料分析成果。

智能搜尋應用

大資料技術應用于政務資訊化智能搜尋

圖五:智能搜尋大資料技術棧架構圖

在搜尋框輸入搜尋内容時,系統會根據輸入的語句提示相關性的搜尋語句,同時人工智能技術對輸入語句進行分詞,并進行相關的實體識别,根據識别的實體進行相關的實體推薦,輔助使用者選擇最恰當的搜尋輸入内容。如果識别的實體中有空間實體或時間實體,系統會利用空間範圍和時間範圍進行交集式搜尋,進而縮小搜尋結果範圍,獲得更貼近于使用者需求的搜尋結果。

除了利用大資料分析技術外,還需要結合人工智能相關的分詞技術、實體識别技術、排序技術、推薦技術等進行智能化的輔助搜尋。

例如在搜尋框内輸入“北京朝陽污水”,進行分詞,分為“北京”、“朝陽”、“污水”三個分詞,“北京”和“朝陽”兩個命名實體會被識别為“北京市朝陽區”空間實體,在檢索時,會利用北京市朝陽區空間範圍進行疊加搜尋。根據“污水”這個實體,系統會按照父類、同類、子類三個類别推薦相應的命名實體,如:同類的“黑臭水體”、“污染源”等。

在政務資訊化管理領域,智能搜尋業務已經實作了部分功能,智能搜尋提示、智能搜尋推薦、融合空間實體的智能搜尋技術等,期待智能搜尋技術在政務資訊化領域發揮更大的價值!

繼續閱讀