[心得] ChatBot開發 - Bot Finance
近幾年ChatBot很紅,我也找時間研究了一下,剛好微軟在有Bot Framework
跟Bot Connecter可以很方便的開發跟串接,所以就利用空閒時間開發了一個
可以幫忙查股票資訊、匯率、基金(目前只有部分共同基金,暫不開放)的
ChatBot叫做Bot Finance,底下會稍微介紹一下,但是不贅述太多細節。
微軟Bot Framework https://dev.botframework.com/
由於是走微軟solution,所以是用C#開發,微軟提供了很多文件跟範例,
可以在這邊( https://aka.ms/bf-sdk-hp )參考跟下載,除了.NET的範例,
也有提供Node.js的sample code可以使用。
目前各大IM平台幾乎都有提供ChatBot串接的API,微軟也做了個Bot Connecter
可以讓開發者填一填資料就快速串各大平台(除了Line),好處是很省事,壞
處就是因為多中轉一層所以稍微慢一點,不介意這點的話倒是不用在意。
Bot Connecter https://dev.botframework.com/bots/
簡單來說,ChatBot跟平台間的溝通說穿了就是個API串接而已,在.NET上最
方便的方法就是開個WebAPI專案去串就好,其他語言也有很方便的REST套件
可用,如果透過Bot Connecter去串平台的話,它丟過來的Activity會有這幾
種( https://goo.gl/Xj2wey ),但除了skype之外不見得每個IM都會有完整
的各種狀態跟資訊,所以若要對特殊狀態去做處理的時候最好注意一下。
例如:Skype能取得使用者的顯示名稱,但FB Messenger跟Line不會,另外
各個平台(目前我串過的)都只會給一個uid,所以你不會知道實際上誰跟
chatbot聊天了,只能靠這個uid去回應或做主動推播,另外各平台對於主
動推播這件事的權限也有另外開,所以要跟回應訊息分開申請。
目前我串了三個平台,Skype,FB Messenger跟Line,Skype直接在微軟的
Bot Connecter上就可以搞定,FB要到開發者申請一個App然後跟粉絲頁綁定
,Line則是要去Line@ 開新帳號然後設定成使用Messaging API。
FB : https://developers.facebook.com/
Line : https://admin-official.line.me/
因為微軟的Bot Connecter沒有支援Line,所以要跟Line串要自己寫,其實看
看文件也蠻簡單的,Line的文件範例看一看就差不多知道怎麼做。
Line Messaging API 文件 : https://devdocs.line.me/en/
說了半天,我做的Bot Finance其實很簡單,就是下指令讓Bot回你資料,因為
懶得做語意分析,所以如果沒說到關鍵字只會回原話而已,如果要玩更複雜的
東西,像是語意分析,語音溝通回應等等,其實微軟也都有提供服務可以用,
我有試用過Microsoft LUIS這個語意分析服務,其實很方便,訓練一陣子應該
就可以符合特定需求了,不會像過去弄個語意分析就可以寫篇論文。
_________________________________________
這邊分享一下我的Bot Finance,加入方式如下
Skype: https://join.skype.com/bot/7f871dd8-a726-44ff-a242-ce79e4cddb47
Facebook Messenger: https://www.messenger.com/t/1484529014940222
Line:https://line.me/R/ti/p/%40cao6168o
輸入help會有基本的說明 https://i.imgur.com/FUG34xi.png


或是直接輸入tw:0050也可以達到同樣的目的
查詢匯率的方式則是輸入cur:JPYTWD (日圓兌台幣匯率)
若懶得每次都一個個查,也可以使用add指令建立清單,再使用show一次列出
http://i.imgur.com/8aS9jv2.png

PS:若使用add指令,將會在server存入uid與金融標的資料,雖然無法從uid找到
是誰在使用,但還是先聲明一下。
更多說明可以參考 https://goo.gl/mPWQ9y ,這邊就不贅述了。
_________________________________________
隨著各IM平台支援了卡片訊息,結帳流程,今年開始ChatBot應該會更熱門
,目前國內業者已經有用ChatBot做電商購物跟客服查詢的公司出現,之後
應該會有更多應用,有興趣的人可以撥空玩玩,玩過就會知道其實不是多
高難度的東西。
以上,謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.75.1
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1497892982.A.08F.html
推
06/20 05:47, , 1F
06/20 05:47, 1F
推
06/20 08:01, , 2F
06/20 08:01, 2F
→
06/20 08:33, , 3F
06/20 08:33, 3F
→
06/20 08:34, , 4F
06/20 08:34, 4F
→
06/20 08:34, , 5F
06/20 08:34, 5F
→
06/20 08:35, , 6F
06/20 08:35, 6F
因為各家的支援性不一樣,所以為了跨平台所以我還是先只做文字部分
就連文字支援性每家平台也都不一樣了XD
推
06/20 10:29, , 7F
06/20 10:29, 7F
如果是問語意分析服務的話,有支援中文
如果是Bot Framework的話,當然,因為是看你怎麼用XD
推
06/20 13:11, , 8F
06/20 13:11, 8F
推
06/20 14:22, , 9F
06/20 14:22, 9F
→
06/20 15:02, , 10F
06/20 15:02, 10F
用爬蟲,不過是有人查才去爬,因為要支援的太多了,沒辦法事先爬
※ 編輯: doomdied (220.135.75.1), 06/20/2017 15:55:24
推
06/20 21:24, , 11F
06/20 21:24, 11F
→
06/21 23:01, , 12F
06/21 23:01, 12F
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章