加入RUN!PC粉絲團
最近新增的精選文章
 
最多人點閱的精選文章
 
 
精選文章 - 開發技術
分享到Plurk
分享到FaceBook
 
Windows Live Agents SDK開發實務
MSN機器人開發(下)
文/圖 黃忠成.責任編輯/洪羿漣

上一篇文章中,我們已開發了一個簡單的MSN機器人,但是這個機器人目前只能運行於Visual Studio 2008環境中,這意味著你的朋友無法將這個機器人加為連絡人來與它進行問答。

將機器人上線的方法很簡單,只要開啟專案中的.connections檔案進行修改即可,見圖1。


圖1:修改.connections檔案。


在這個檔案中,有三個地方必須修改,login區段中需要填入此機器人所使用的Live ID,password區段則是此Live ID的密碼,完成修改並存檔後,請開啟http://localhost:8000的網址,進入Self-Host的網站,如圖2。選擇[Add an Agent]連結,開始新增一個Agent,如圖3。


圖2:進入Self-Host的網站。



圖3:新增一個Agent。


請注意,此處必須指定我們Agent Project專案中的.bfg檔案,完成後點選上方的[Monitoring and Control]連結進入圖4的畫面。按下Start按紐後,即可讓此機器人上線。(圖5)


圖4:進入Monitoring and Control。



圖5:機器人上線。


接著我們便能與此機器人溝通了,如果想讓你的朋友擁有此機器人,只要將機器人的Live ID傳給他,讓他加此機器人為連絡人即可。


圖6:與機器人溝通。



複數問題,單一答案
截至目前為止,我們的機器人僅能回答一個問題而已,在Buddy Script中,除了允許一問一答的設計外,也允許使用者以複數問題來詢問機器人,如程式1,執行結果如圖7。


圖7:以複數問題來詢問機器人。






單一問題,多個答案
相對的,單一問題,多個答案的設計也是允許的,見程式2。(圖8)





圖8:單一問題,多個答案。


處理問題中的參數
在使用者提出的問題中,我們也可以允許其某一部份的文字變成參數,在程式面,這個參數值可以拿來交給後端資料庫進行比對,完成動態的回答,稍後的章節我將提供如何將這個參數送往Web Service後,與資料庫結合的例子。此處我先已靜態模式來演示,見程式3,執行結果如圖9。





圖9:處理問題中的參數。


與Web Service結合
靜態式的問答其實只能拿來Demo,真實世界中的機器人必須要與資料庫結合,方能提供給使用者有用的資訊,Buddy Script允許設計師存取外部的Web Service,結合上述的參數處理,我們便能將使用者輸入的關鍵字送往Web Service,透過ASP.NET的強大資料庫處理能力,提供給使用者有用的回答。

本範例將使用北風資料庫,用ASP.NET來建立一個查詢客戶公司名稱的Web Service,見程式4。




在Buddy Script中,則可用程式5的方式來描述此Web Service。最後用程式6的方式,透過Web Service來解譯,並回答使用者提出的問題。執行畫面如圖10。








圖10:與Web Service結合範例。


參考相關文章:MSN機器人開發(上)

【原文刊載於RUN!PC雜誌:2009年2月號】