文/劉宇 徐志剛 黃俊革 朱栩 瞿彬
在互聯網+創新的熱潮下,校園生活也發生著巨大的變化,涌現出了一大批面向學校的智能產品,如超級課程表等眾多APP和一些致力于校園服務的微信公眾號。從一定程度上來說,APP和微信公眾號的增加,也促進了智能手機、APP開發技術和微信的迅速發展。據調查,雖然校園APP在逐漸輕量化,但使用者的數量卻在逐漸下降;雖然微信公眾號運營商在不斷地改良,但有效閱讀數卻在不斷下滑。一些APP淪為了校園的過客,一些微信公眾號變成了“僵尸”號,還有一些應用與實際的校園生活并不貼切。同學們日益期盼的美好校園生活需要不斷地創新,研究和設計一款可以應用于不同平臺、貼近于不同校園的智慧助理軟件是必要的。
以物聯網為基礎的智慧校園是浙江大學在信息化“十二五”規劃中首次提出的。它以各種應用服務系統為載體將校園的工作、學習和生活構建成一個智慧的一體化環境,將教學、科研、管理和校園生活進行充分的融合。大學校園的信息化水平相對較高,智慧校園的建設處于前列,但依然存在引言中所述的問題。另外,學校牽頭建設的應用,學生覺得不好用;學生自主開發的應用,又缺少關鍵的信息對接。針對目前智慧校園建設遇到的種種問題,本文提出了智慧校園助理應用,輔助大學校園的智慧化建設,為該建設提供創新的思路與設計方案。筆者秉著“一系統多應用”的設計原則與充分貼近師生生活的服務原則,進行設計,用微服務[1]架構構建系統的整體框架,將應用適應于移動端Web、APP頁面、微信公眾號和小程序等多種平臺,以現有的校園物聯網、信息化平臺為基礎實現教學助理、生活幫手、助力燃夢等功能模塊,以及智能綜合問答系統——智能小應。
系統后臺基于JavaEE標準,使用SpringCloud[1]和Mybatis框架開發,實現服務注冊、服務發現、負載均衡與數據持久化等功能。前臺頁面使用當前主流的Vue和Element-ui完成頁面的展示功能。大數據智能平臺采用Hadoop[2]構建,使用HDFS分布式存儲數據,再利用自然語言進行處理,最后通過WebSocket與系統后臺關聯。
系統主要分為客戶端、應用服務和數據平臺。其中,應用服務是由微服務架構構建的,包含API層、業務邏輯層和數據訪問層,各服務發布到Spring Cloud注冊中心受Hystrix服務監控,再通過路由網關提供接口給前端使用;數據平臺主要包括系統數據庫、大數據智能平臺和WebSocket服務器,大數據智能平臺從數據庫抽取數據進行處理,再保存到系統數據庫,WebSocket服務器與客戶端建立長連接,接收/發送消息。
2.2.1 教學助手
希望可以通過打造教學助手,幫助高校教師和學生們在網上簡單快捷地提交/批改作業,輕松便利地進行考勤、打卡,并且還提供通知下發、疑難解答、學習資料共享等功能。最終達到減少實際課堂教學中一些不必要的時間和環節,幫助教師便捷、有效地管理課程,提高傳統的線下教學效率的目的。
2.2.2 校園幫手
細化校園及周邊的地圖,提供各個學院、社團社區、生活中心、教學樓科室的準確位置;輸入需要辦理的校園內業務,將通過關鍵字檢索出相應的業務流程以及所需尋找辦公室的詳細位置,若出現無法識別的業務,可根據輸入智能推測出可能需要的業務。
設置一個類似智能機器人的智能客服——智能小應(智能問答系統),專為新老生答疑解惑,如學校的一些情況和日常事務,包括通知咨詢、校園規章制度、新生常見問題解答和其他已知事項答疑等。還可以在線翻閱電子學生手冊,或輸入關鍵字后進行問題推薦等。
在校園生活服務方面,提供包括食堂窗口的飯菜評價、校內外賽事、重要講座及活動信息等功能。
2.2.3 助力燃夢
把自己的心愿、目標、對學校或者自己的期望等在系統進行提交或公開,以積分、獎勵等形式給予鼓勵,促進交流、建設,激發其他同學實現自己目標,形成良性循環。
本系統采用前后端完全分離的實現方式。后端使用的微服務架構將一個多功能應用拆分成一組服務模塊,每個模塊互相獨立,低耦合地實現各業務功能,各模塊間又彼此通信協助,對外提供完整的服務。后端基本能夠實現各種實質性的業務功能,前端分別選取PC和移動端Web、微信小程序進行實現,以能夠應用于PC端、移動端的各類瀏覽器和微信公眾號菜單以及小程序。其中,智能問答的核心功能實現,主要通過大數據智能平臺中爬蟲、Flume[2]等進行數據收集,通過基于深度學習的自然語言處理應用進行分析處理,再通過WebSocket關聯系統業務層進行反饋。
智能問答系統是融合知識庫、信息檢索、機器學習、自然語言理解等技術的人機對話服務[3]。最早可追溯到1950年圖靈提出的圖靈測試,它被認為是問答系統最早的雛形。Weizenbaum在1966年實現的“Eliza”,被認為是第一個真正意義上的問答系統[4]。隨著人工智能技術的發展,針對不同領域的信息也誕生了不同類型的問答系統。2011年,基于事實的問答系統IBM Watson在問答綜藝節目中戰勝了人類選手。微軟的QnA Maker服務是典型的基于常見問題集的問答系統,該系統數據質量高、答案確切,缺點是數據規模小。而微軟小冰是開發域聊天的代表,它和蘋果Siri等基于深度學習的聊天機器人的問世標志著問答系統進入智能交互式問答階段[5]。
一般的問答系統處理框架中都包括問句理解、信息檢索和答案生成三個功能組成部分。首先,將問句進行分類,對主題焦點進行提取,甚至對問題進行擴展;再進行查詢表示,在異構語料庫中進行文檔、段落和句群的檢索,在問答知識庫中進行問句檢索;最后,將查詢結果作為候選答案,通過從詞典、語義知識庫中進行置信度檢驗后生成答案。
卷積神經網絡(CNN)與普通的神經網絡一樣,包含輸入層、輸出層,而隱藏層是由卷積層、池化層、全連接層和正則化層組成的。其中,卷積層本質上是一個多層感知機,只是它采用了稀疏連接、參數共享和等變表示的方式,這使得CNN能夠學習數據的局部特征,并在深層網絡中展現全局特征,而且共享權值的方式有效減少了需要學習的參數數量,降低了過擬合的風險。
基于CNN的智能問答實現主要是用它來進行語義表示的學習,通過CNN對句子進行掃描,抽取特征,選擇特征,最后組合成句子的表示向量。首先輸入一個詞向量矩陣表示的句子,從左到右用一個滑動窗口對其進行掃描,通過卷積操作,進行特征抽取。之后再通過最大池化操作,對特征進行選擇。重復多次,將得到的多個向量表示連接起來得到一個固定長度的句子向量。
循環神經網絡簡稱為RNN,與CNN不同的是,CNN傾向于局部與位置的理解學習,而RNN則更偏向于對全局與順序的理解。基于RNN的句子建模是把一句話看成一組單詞序列,每個單詞由一個向量表示,每一個位置上有一個中間向量,表示從句首到這個位置的語義。每一個位置的中間表示由當前位置的單詞向量以及前一個位置的中間表示決定,通過RNN不斷向前傳播,最后把句末的中間表示當作整個句子的語義表示。
本設計主要利用循環神經網絡的變種LSTM(長短記憶單元)及GRU(門控循環單元)對問題和答案進行實現。這兩種RNN引入了用于內部的帶有門控的自循環權重,這個權重是根據上下文來調整的,可以有效控制有用信息的流動,能夠更好地表示整句話的語義,并將得到的表示輸入到分類器中計算分類置信度,最終完成問答匹配。
本文切實深入校園生活,對智慧校園進行了簡單地介紹,分析了其現狀問題,提出了智慧校園助理的建設構想,設計了基于微服務的系統架構,并對該助理應用的主要創新功能進行了描述,以及該系統的實現方案。此后,主要針對智能問答模塊,從問答系統的發展、一般處理框架、基于CNN和RNN的問答任務實現三方面進行了詳述。為了能夠更好地滿足師生需求,更好地建設智慧校園,系統在設計完成之后,在各大校園里進行了分類測試,老師和同學們提出了很多非常有建設性的意見。此后,在該系統平臺基礎不斷增添創新性、實用性的功能,主要在大數據智能平臺上利用各種智能算法對智能小應進行優化,讓其成為名副其實的校園萬能幫手。另外,還要充分考慮系統業務功能的通用性,使其能夠走入更多的校園。