謝瑋成,陳章芬
(1.中建海峽建設發展有限公司,福州 350001;2.國家計算機網絡應急技術處理協調中心福建分中心,福州 350001)
建筑工程在施工過程的各個階段均會產生大量的數據,這些數據對于工程管理人員實施日常管理、開展決策分析有著指導性作用。但在實際施工管理中,數據壁壘現象普遍,各業務系統協議標準難統一;數據檢索的途徑較為不便,檢索大多依賴PC 端完成;檢索效率低下,檢索方式多為鍵盤輸入關鍵詞查詢。對此,本文提出建筑工程數據檢索App 系統設計方案,通過語音識別的方式獲取并翻譯用戶語音信息,再經模糊算法檢索對應的數據庫完成信息查詢。
建筑工程數據檢索App 系統采用SSM 框架搭建,即Spring MVC 框架、Spring 框架和MyBatis 框架的整合。系統結構自上向下可劃分為視圖層、表現層、業務層和持久層和數據庫,如圖1 所示。

圖1 系統框架結構
(1)視圖層。即View 層,本層提供了與用戶交互的界面,實現對用戶請求的響應。
(2)表現層。即Controller 層,本層接收和處理視圖層傳輸來的用戶請求,通過調用業務層接口實現對業務流程的控制,并反饋處理結果。
(3)業務層。即Service 層,本層設計有業務模塊的邏輯應用,其通過封裝業務層的邏輯以提高通用業務邏輯的獨立性和重復利用性,使程序更加高效。
(4)持久層。即Dao 層,本層實現數據的持久化操作,其通過在Spring 配置文件中定義接口實現類,再通過業務模塊調用接口實現數據業務的處理。
(5)數據庫。本層實現各類數據信息的存儲,如用戶信息、設備參數、環境監測數據等。
建筑工程數據檢索App 系統采用語音交互的方式完成信息檢索,系統構成包含人機交互子系統、語音識別子系統、信息查詢子系統和數據中心子系統,系統功能邏輯結構如圖2 所示。

圖2 系統功能邏輯結構
人機交互子系統提供了一套與用戶進行交互的界面。系統設計有指紋驗證、人臉驗證和密碼驗證三種登錄認證方式。當用戶登錄時,系統根據用戶選擇的登錄認證方式及輸入的秘鑰與數據中心子系統進行交互,遍歷用戶信息庫數據,反饋匹配結果,確認用戶登錄認證狀態。登錄成功后,用戶可訪問數據查詢頁面,通過語音輸入要查詢的信息,系統將用戶的語音信息封裝后經接口傳輸至語音識別子系統進一步處理。待處理完成后,再通過人機交互界面將處理結果反饋給用戶。
語音識別子系統主要完成語音信息的解析與轉換,其工作流程為:當接收到語音信息后,首先對語音信息進行預處理,再提取語音信息特征,最后利用訓練好的語言模型和聲學模型對語音特征向量進行統計模式識別,翻譯得到文字信息。
語音識別子系統基于HMM 模型設計,具體功能借助CMUSphinx 語音識別工具實現。CMUSphinx 工具中 包 含 Sphinxtrain、Sphinxbase、CMUclmtk、Pocket?sphinx、Sphinx3 和Sphinx4 等工具,其中Sphinxtrain 主要用于聲學模型的訓練,Sphinxbase 用于提取語音特征,CMUclmtk 用于訓練語言模型,Pocketsphinx、Sphinx3、Sphinx4 作為識別的解碼器。
語言模型訓練方面,在完成訓練數據準備后,利用CMUclmtk 工具統計文本文件中詞的總數以及每個詞出現的次數,列舉文本中出現詞語的N 元語法,將其轉換為Sphinx 需要的二進制格式語言模型。
聲學模型訓練前,需提前完成參數文件配置,準備訓練所需的語音文件。聲學模型的訓練借助Sphinx?train 工具完成,訓練后得到的feat.params、mdef、mix?ture_weighters、means、noisedict、variances 和 transi?tion_matrices 七個文件即為解碼所需的聲學模型文件。
信息查詢子系統接收到經語音識別子系統翻譯后的文本數據,根據字典算法遍歷文本數據,提取關鍵詞,再通過與數據中心子系統數據交互,完成對數據庫的檢索,將檢索結果經優化處理后反饋至人機交互子系統。
如圖3 所示,信息查詢子系統設計有進度計劃數據查詢、施工生產信息查詢、勞務管理數據查詢、設備運行數據查詢、黨群管理信息查詢和環境監測數據查詢六部分功能。

圖3 信息查詢模塊主要功能
(1)進度計劃數據查詢
進度計劃數據查詢模塊支持檢索的內容包含當前進度計劃、本周工作計劃和滯后工作項等。
(2)施工生產信息查詢
施工生產信息查詢模塊支持的檢索內容包括隱患信息查詢、三維模型調取和視頻監控調取三部分。其中,隱患信息查詢支持對未整改隱患、超期隱患、未整改隱患責任人等信息的查詢;三維模型調取支持對BIM 模型、場地排布情況的查詢。
(3)勞務管理數據查詢
勞務管理數據查詢模塊主要實現三方面數據檢索,即勞務人員教育情況、勞務人員考勤數據和違規行為統計。勞務人員教育情況包含勞務人員安全教育和技術交底情況;勞務人員考勤數據包含當前場內人數、本日進出場人數及勞務人員工資;違規行為統計包含違規次數統計和違規人員信息。
(4)設備運行數據查詢
設備運行數據查詢模塊支持對各類大型機械設備運行參數以及設備風險告警信息的檢索,如龍門吊、盾構機、塔吊等。
(5)黨群管理信息查詢
黨群管理信息查詢模塊主要為本支部黨、紀、工、團活動開展情況的檢索,內容包含支部基本信息、黨員基本信息、黨群活動開展情況、支部先進個人和三會一課開展情況等。
(6)環境監測數據查詢
環境監測數據查詢模塊支持的檢索內容包含環境數值信息和噴淋設備工作信息兩部分。其中,環境數值信息包含工程所在區域的溫度值、PM2.5 值、噪音值、風速值和氣壓值;噴淋設備工作信息包括噴淋設備的運行狀態、運行時間等。
數據中心子系統存儲了維持本App 系統正常運行的各類數據,包含用戶信息、當前進度計劃、未整改隱患信息等。數據中心子系統的數據獲取方式有三種,分別為:人工錄入(導入)、接口對接和爬蟲技術。
人工錄入(導入)數據的方式適用于用戶信息庫的建設,以及語音識別環節所需的語音數據庫和文本數據庫等的導入。
通過接口對接獲取數據的方式適用于開放API 的各類業務系統,例如:對接采用國標協議傳輸的環境監測系統、對接開放有數據接口的勞務管理平臺等。
通過爬蟲技術獲取數據的方式適用于采用以上兩種方法無法取得所需數據的場景。例如:對于無法通過接口獲取數據的機械設備管理平臺,則可借助Py?thon 的requests 庫完成平臺數據的抓取,再利用Beau?tifulSoup 庫解析平臺網頁,將取得的數據經清洗和重新組織后,存儲進本地數據庫中。
建筑工程數據檢索App 系統界面如圖4 所示,用戶登錄系統后,長按屏幕右下方的麥克風按鈕,根據提示說出需要查詢的內容。系統接收到用戶的語音信息后,通過轉碼、提取關鍵詞后遍歷數據庫,并將查詢結果經處理后反饋給用戶。同時,系統設計有友好的異常反饋頁面,當未查詢到相關信息或識別到的語音不清晰時,系統將通過語音反饋“對不起,我沒有聽清您說的話”等,并推測用戶可能的操作意圖,在反饋頁面顯示相關提示信息。

圖4 建筑工程數據檢索App系統界面
對用戶查詢操作的響應依托廣播接收器(Broad?castReceiver)實現,通過添加廣播過濾器,設置不同的過濾器來獲取數據,并定義通過語音識別調取界面的方法,部分實現代碼如下:


本文邀請6 名工作人員對系統查詢的準確率進行了測試,測試以成功調取所需要的數據進行顯示作為通過的標準。測試數據覆蓋查詢模塊的所有功能項,例如:施工生產信息查詢模塊的測試功能項包含隱患信息查詢、三維模型調取和視頻監控調取三大類,具體測試語句和測試數量如表1 所示。

表1 施工生產信息查詢模塊測試數據
本次測試共設計測試數據774 組,經測試得出,系統整體的查詢準確率為99.2%。其中,進度計劃數據查詢的準確率為99.2%,施工生產信息查詢的準確率為98.7%,勞務管理數據查詢的準確率為99.3%,設備運行數據查詢的準確率為99.5%,黨群管理信息查詢的準確率為100%,環境監測數據查詢的準確率為99%,詳細數據見表2。

表2 系統測試結果
本文提出了一種基于語音交互的建筑工程數據檢索App 系統設計方案,文中所述的系統基于SSM 框架構建,實現了對建筑工程施工中涉及到的進度計劃、勞務管理、環境監測等數據的匯聚存儲,系統設計有良好的人機交互界面,通過自然語言處理技術實現對用戶語音的識別和關鍵詞提取,進而完成用戶所需信息的檢索。經實驗測試,系統查詢功能項及查詢準確率均符合設計要求,預計其應用能夠為工程管理人員帶來便利,在建筑工程管理領域有較高的應用價值。