劉宇枝,陳 博,趙 鑫,李翠榮
(1.空軍軍醫大學 第三附屬醫院,陜西 西安 710000; 2.中移鐵通有限公司,北京 100038; 3.西安市紅會醫院,陜西 西安 710061; 4.山東第一醫科大學 第一附屬醫院,山東 濟南 250014)
隨著互聯網技術的發展,線上智能化服務涉及越來越多的行業。為讓用戶在線上精準地獲取所需相關知識和相關信息,需不斷優化信息的檢索性能。因此,圍繞相關知識和相關信息的檢索,提高信息化處理效率,很多學者提出不同的方法,如引入Hadoop云框架對信息進行存儲和檢索,以提高信息處理效率;引入文本挖掘算法與Spark架構,以提高信息檢索效率。而實際應用發現,在智能化和信息化不斷普及的今天,人們更多的喜歡通過網絡獲取健康科普知識。但遍歷發現目前針對信息的檢索多為對原始數據的集成和展示,且可靠性和準確性難以保證。因此,基于以上問題,以及結合當前信息化建設背景,本文提出一種基于文本挖掘的信息檢索系統,在方便用戶查找相關信息的同時也提高檢索的準確性和可靠性。
本文基于Spring Cloud 框架來構建微服務平臺,主要包括數據檢索、數據運維、問答服務、監控告警、用戶中心和權限管理這6大服務器。同時把基于文本挖掘的信息檢索系統分為前后2個部分,前端以CSS、JavaScript、jQuery 來對數據進行展現,后端以微服務來對后端業務進行處理。基于文本挖掘的信息檢索系統分層結構如圖1所示。

圖1 系統整體架構
由圖1可知,系統主要分為5層,分別為資源層、服務層、接口層、Web 層、訪問層。其中,資源層包括儲存數據的主要工具和備份工具;服務層則采用 JSON 格式對系統中各功能板塊之間的邏輯進行通信;接口層則通過 API Gateway將所有的入口的流量轉發給后端的服務器并進行限流、權限、緩存等拓展。
物理架構是指系統的部署架構,基于Docker 實現系統內部的快速部署,有效解決系統的運轉和維護。Docker在系統運作中,是以Namespace 和 Cgroups 技術來把系統中的單個應用裝在沙盒中進行運行,應用之間相互隔離;具體架構設計如圖2所示。

圖2 系統物理架構部署
信息檢索系統主要圍繞著著數據處理模塊、問答系統模塊和信息檢索模塊3大模塊進行設計。其數據處理主要是對數據的準備;問答系統則是對問答數據的獲取和理解;信息檢索則是為用戶提供智能化的信息化的檢索服務。具體功能模塊如圖3所示。

圖3 系統功能模塊
數據處理模塊主要是從眾多的信息網站中獲取和儲存數據信息,并以此作為該系統的數據信息來源,為用戶的信息檢索提供有效的數據信息基礎。該模塊主要包括數據爬取、整合和補充3個部分,數據處理的具體流程如圖4所示。

圖4 數據處理的流程
問答系統模塊是指在用戶提問后,該模塊自動在系統中匹配該問題的相關數據并回答提問,具體流程如圖5所示。

圖5 問答系統流程
(1)用戶主動輸入問題,系統自動獲取用戶提問并對問題進行預處理,然后迅速訪問 ES 緩存,搜尋 ES 緩存中是否有問題的記錄,有就直接顯示,沒有就開始訪問問答系統模板;(2)問答系統對用戶提出的問題進行意圖和實體識別,獲取相關意圖的關鍵詞,生成ES檢索語句檢索獲得相同或相關的數據信息來作為候選的問題集并返回;(3)問答系統自動將用戶輸入的問題和候選的問題集進行匹配,并進行排序;(4)把相似的ID列表和得分列表進行數據緩存,然后再返回到已經排序的數據結果集中。
信息檢索模塊主要是把獲取的相關數據存儲在Elastic Search中,為用戶信息檢索系統提供數據服務,主要包括3大板塊,分別為索引板塊、搜索模塊和用戶模塊。其中,索引板塊是對用戶的提問進行索引的建立、數據的入庫以及數據的維修維護,包括其中工作人員及物品等信息數據和系統中科普文章、問答問題信息等文本數據;搜索模塊是將獲取的數據組織起來,并完善數據檢索服務,以便為用戶的提問進行檢索需求。主要是通過用戶的輸入提問進行解析,并把解析后的搜索進行分布式的搜索,在各個 ES 節點進行分布式檢索索引文件并對結果進行排序,然后顯示給用戶;用戶通用模塊主要是用戶使用,在用戶信息的檢索過程中對信息的收藏、評論、點贊操作并準確記錄相關操作。搜索模塊的流程示意如圖6所示。

圖6 搜索模塊流程
為提高搜索模塊的檢索效率,運用自動摘要算法TextRank來進行搜索。具體步驟為:
通過對文本進行分詞分句等預處理后,可以得到以下3項內容:(1)文本的集合={,,,},其中表示排序后的句子序列。(2)文本特征詞的集合={:,:,,:},其中,表示單個特征詞,而表示為在文本集合中所出現的詞頻。(3)句子的特征詞集合為={1:1,2:2,,:}。
在對句子和文本特征詞的選擇時,采用的是TF-IDF權值法來對該系統中句子和本文的特征詞進行評估。在運用TF-IDF權值法時,根據本文的長度規范權值,以詞頻對數來代替詞頻。特征詞的權值計算公式為:

(1)
式中:表示特征詞的總個數;表示在詞典中出現的次數;()表示特征詞的權重。
對特征詞的權值計算后,可以得到權值較高的特征詞,然后對權值進行排序,構成文本中所對應的關鍵詞列表。
以文本的集合中節點和中特征詞的邊權重為邊,共同構建出無向加權的 TextRank 圖模型,進而計算節點的權重為:

(2)
式中:表示節點和節點的連接權重;表示阻尼系數,一般取值為085;In()表示指向節點的所有節點的集合;Out()表示節點連接出的所有節點的集合;()表示節點的最終權重排序。
要計算其中的連接權重,則根據余弦函數公式:

(3)
本研究運用Centos 7.3系統作為該系統測試環境的系統服務器,以128 G,CPU64核作為內存,以谷歌、IE、搜狗作為測試瀏覽器。其中的數據處理軟件的版本分別為:Elastic Search 6.1.2版本,JDK 1.8版本,MySQL 5.7.17版本。測試瀏覽器為谷歌、IE。
本研究以黑盒測試原理為基礎,對該系統的功能性進行測試,以檢查該信息檢索系統能否滿足功能性需要,主要包括數據處理、索引模塊、搜索模塊的功能性測試。功能性測試用例結果如表1所示。

表1 功能性測試用例結果
除了對信息檢索系統進行功能性測試外,還進行非功能性測試; 運用Meter、Selenium和Kibana工具來輔助完成非功能性測試。非功能測試用例結果如表2所示。

表2 非功能測試用例結果
本文通過對數據處理模塊、問答系統模塊和信息檢索模塊優化創新后設計了完整的信息檢索系統,該系統能夠收集獲取相關專業網站的信息數據,并經過系統的自動提取、過濾、整合后形成系統的基礎數據和文本的價值,使系統獲取的數據信息直觀有效,便于用戶的查詢和獲取,為信息化和智能化提供有效支撐和保障。該研究說明,重新設計的信息檢索系統具有較強的實用價值,其是可行的。