姜強強+++羅元孟
摘 要:采用.NET平臺的Web開發(fā)技術,借助Bot Framework構建前端聊天機器人以及LUIS技術構建機器人的語義識別能力,以Microsoft Azure作為云服務平臺。使對話成為一個平臺,改變用戶傳統(tǒng)的交互方式。
關鍵詞:Bot Framework;LUIS;Web;Azure云服務
引言
隨著互聯(lián)網的不斷發(fā)展,人們對于交互方式的需求也在不斷更新——從上世紀80年代的PC到90年代的Pad,再到21世紀的手機。根據微軟公司的大膽猜測,下一代的交互方式將讓用戶的每一次對話成為一個平臺(Conversation as a Platform),基于此微軟推出了Bot Framework,幫助開發(fā)者快速創(chuàng)建特定業(yè)務的聊天機器人。由此,我們可以將聊天機器人與傳統(tǒng)的網站結合來改變用戶借助網站獲取信息的方式。
1 軟件開發(fā)平臺
服務端應用程序基于.NET平臺下的開發(fā)框架;數據庫及Web程序部署基于Microsoft Azure服務平臺。
2 系統(tǒng)設計與架構
2.1 設計思路
采用.NET平臺的Web開發(fā)技術,借助Bot Framework構建前端聊天機器人以及LUIS技術構建機器人的語義識別能力,形成一個融合Web站點以及聊天機器人的校園社團服務。
2.2 架構解析
2.2.1 數據處理
利用Entity Framework完成數據庫中表與實體類的映射并構建底層核心數據操作業(yè)務,采用三層架構封裝整體項目的邏輯業(yè)務。所使用的數據庫管理系統(tǒng)為Microsoft SQL Server 2012。
2.2.2 Web核心
采用ASP.NET MVC模式建立網站,使得前端開發(fā)與后臺分離;采用ASP.NET Web API技術完成Bot聊天機器人的數據交互。
2.2.3 Bot Chat
此模塊為聊天功能模塊,利用Bot Framework創(chuàng)建[1],并且加入LUIS語義識別服務(Language Understand Intelligent Service),完成用戶與機器人使用自然語言聊天的功能。
2.2.4 LUIS技術
進入LUIS官方網站,通過配置的方式創(chuàng)建出自己的LUIS應用[2],在應用中填寫需要識別的語句和關鍵字,生成應用后的AppId和Key寫入項目中的Bot程序中形成關聯(lián),這樣在用戶每次的對話中,通過LUIS服務識別出用戶的意圖,Bot程序根據意圖反饋信息。
3 技術分析
3.1 用戶信息存儲
每次對話中的社團名稱是語句的關鍵詞,這樣才能根據社團名稱獲取到社團的所有信息。在Bot Framework中每一個用戶將會對應唯一一個用戶數據(BotData)[3],用戶第一次訪問時,為此用戶的BotData添加UserId屬性,UserId根據自定義的用戶列表(Dictory
3.2 自動推送
Bot程序在每次回復時會監(jiān)測是否當前用戶訪問同一社團次數超過5次,若超過則自動推送社團服務網站鏈接,用戶可通過鏈接進入網站查看社團的詳盡信息。
3.3 Web API數據傳輸
在Web核心部分創(chuàng)建Web API程序用于返回Bot程序的相關請求,借助第三方開源包Newtonsoft將查到的結果集數據封裝成Json格式。在Bot端程序只需創(chuàng)建Http請求API服務便可完成用戶請求。
4 功能模塊及展示
4.1 功能模塊
Bot聊天機器人:用戶在Web Chat頁面進行人機對話,使用自然語言交流獲取社團的相關信息。
普通用戶:首先在網站首頁選擇需要訪問的社團,然后查看次社團的動態(tài)、成果、公告、社團風采等版塊。
超級管理員:擁有創(chuàng)建和刪除社團信息的權限,但不能針對某一社團進行具體管理。同時具有訓練LUIS應用的功能,由于用戶表達方式多樣,當LUIS服務無法識別用戶意圖時將無此語句通過請求保存至數據庫,超級管理員可進入LUIS應用根據用戶的語句進行訓練,然后將訓練好的LUIS應用重新發(fā)布,保持聊天機器人的學習性。
社團管理員:每個社團對應唯一一個社團管理員,管理員可以發(fā)布、更新、刪除社團的各個版塊信息。
4.2 項目展示
5 結束語
人工智能將是未來互聯(lián)網技術發(fā)展的一個重要方向,越來越多的產品將會與人工智能關聯(lián)。基于目前已經完成的上述功能,接下來可開發(fā)的功能還有:對接微信平臺,用戶可以通過微信隨時隨地獲取相關的信息,給用戶提供更加方便的選擇。
參考文獻
[1]Microsoft.Bot Framework[EB/OL].(2016)[2016-3-30].
[2]Microsoft.Cognitive Service[EB/OL].(2016)[2016-03-30].
[3]Microsoft.Bot Framework[EB/OL].(2016)[2016-3-30].
作者簡介:姜強強(1993-),男,漢族,江蘇徐州市人,學生,江蘇科技大學本科,研究方向:.Net平臺開發(fā)。
羅元孟(1996-),男,漢族,江蘇宿遷人,學生,江蘇科技大學本科,研究方向:Web前端開發(fā)。