作者doomdied (Died)
看板Soft_Job
標題[心得] ChatBot開發 - Bot Finance
時間Tue Jun 20 01:22:53 2017
近幾年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
要查詢台灣50的股價,可以輸入
show tpe:0050 http://i.imgur.com/UsmaRfN.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
推 starcraftiii: 感覺真的蠻有趣的樣子 06/20 05:47
推 jjwei: push! 06/20 08:01
→ jimmy689: 最近也在玩軟軟ㄉBotframework 06/20 08:33
→ jimmy689: Skype上支援Bot群聊, FB不支援 06/20 08:34
→ jimmy689: 不過FB的Bot能送除了text image card三種之外的格式 06/20 08:34
→ jimmy689: 例如html跟button,互動較好 06/20 08:35
因為各家的支援性不一樣,所以為了跨平台所以我還是先只做文字部分
就連文字支援性每家平台也都不一樣了XD
推 ncuyes: 他有支援中文嗎 06/20 10:29
如果是問語意分析服務的話,有支援中文
如果是Bot Framework的話,當然,因為是看你怎麼用XD
推 mister12: 有喔 06/20 13:11
推 cutekid: 大推(Y) 06/20 14:22
→ fufrank724: 可以請教您股價查詢是用券商api還是爬蟲嗎 06/20 15:02
用爬蟲,不過是有人查才去爬,因為要支援的太多了,沒辦法事先爬
※ 編輯: doomdied (220.135.75.1), 06/20/2017 15:55:24
推 VisualStudio: 推推 06/20 21:24
→ viper9709: 推~感謝分享 06/21 23:01