Chatbot (聊天機器人) 并不是一個新奇的東西,從微軟2016年的build大會提出了CaaP (Conversation as a Platform)的概念之後,并且出現了Bot Framework,在2017年的時候在台灣火紅了一段時間。
那個時候我雖然知道,但是并沒有很深入去理解過,其中一個很大原因我個人覺得是被聊天機器人這個詞以及一些電商平臺的智能客服給誤導了。
但是當我實際深入進去看的時候,我發現微軟提出CaaP不是沒有道理,因此有了這個系列的文章出現。
學東西都有成本,爲什麽要學并且這個系列會有什麽内容,將會在這篇像大家介紹。
什麽是Chatbot
簡單一點來説,chatbot就是一段程式以文字、語音、圖片的方式和使用者做互動。換成白話一點,就是在聊天工具(例如Line、Facebook Messenger、Skype等)裡面和你説話的是程式(chatbot)而不是人。
如果你和我一樣不是一個常用手機聊天的人,可能無法想象爲什麽我不要一個網站(尤其是一直很流行的RWD)或者更好一點App上面操作事情,而要用一個聊天工具去操作事情?作爲一個習慣使用電腦來操作事情的人 實在無法理解。
爲什麽要學Chatbot
我開始對chatbot有改觀是兩個點觸動了我:
- TaxiGo的出現
- 在大陸生活的接觸
TaxiGo的出現
TaxiGo是一個叫計程車的服務,類似於Uber。這種類型的服務第一個直覺一定是,我要用的話應該去下載一個app吧。但是他最特別的地方是,他沒有app,他整個服務是架設在Line以及Facebook的Messenger上面。
因此要使用,這個服務不是下app而是關注他們在Line以及Facebook的服務就可以呼叫。
當我聼到有這個服務的時候,我第一個直覺是,那會好用嗎?然後我記得(不知道有沒有記錯,有段時間了)有讀到一篇報道,裡面提到當初他們會這麽設計有兩個原因:
- 不需要設計app的ux - 好的使用者體驗都需要經過設計,而設計是要花成本的。如果架設在大家習慣使用的工具上面,那是不是既節省成本,又讓大家使用習慣?
- 大家都會用 - 想象一下,如果今天是比較上了年紀的人,你和他説app要安裝,請問有多少會?但是如果今天我告訴他們,你就在line上面搜索xxx就可以叫車了,你覺得這些人不會用嗎?我們很清楚知道, 連阿公阿媽爲了和孩子聊天Line都會用,但是安裝app這個動作對於不常用手機的人其實是很困難的。
以上内容,看完之後其實對我有些觸動,但是在台灣,我坐過的計程車1之手都數得出來,加上叫車服務用的少(最多就是在高鐵排隊叫車),因此只留了這麽一個印象,而還沒有實際去碰。
在大陸生活的接觸
我在2016年由一段時間在大陸出差,而當我出差要結束的時候,微信剛出現了一個東西,叫做小程序。
簡單一點理解,小程序就是一個web網站不過是整合在微信裡面。那個時候因爲剛出來(我印象中),因此覺得還好,甚至不太理解爲什麽有網站了還要搞這個東西出來。
在2018年初,我又來了中國,這次我發現小程序根本大紅大紫,你可以想象在餐館點餐需要微信才有辦法的感覺嗎?而且不同店面用的是一樣的體驗。搭地鐵可以直接用微信來刷,會發現很多服務都整合到了微信。
這個是我在台灣體驗不到,因此我特別去研究了一下原因,得出了一個結論,中國在電腦世界裡面跳過了一個世紀,他們沒有經歷過人人有pc的時代,而是直接就進入了手機時代。因此,對於他們來説用手機操作很正常,而手機在下一個時代就是CaaP,因此很直覺的就進入了下一個階段。
反過來説,因爲台灣有歷史包袱的原因,因此反而在發展這塊比較慢。
給各位另外一個例子:我有一天需要去當地的電信公司直營店辦理業務,我很直覺的用了他們網站上面據點功能找到了一家離我家超級遠的點,并且花了1個多小時走過了去了。
在排隊等待的時候,我手賤點了他們的app,發現有個據點的功能,我點了下去,發現擁有的據點比我網站上看到的還多,并且我家不遠處就有一間。
這個反過來説告訴我的就是,手機處理事情是很習慣的一件事情,反而pc上面才不正常,所以手機不好根本生活不便利,因此我馬上把我一臺4~5年的手機改成買了個2收的了小米Max2 XD。
CaaP是什麽
CaaP是下一個時代,不管是網站還是app,概念上來説都是點為操作。也就是,我看到menu,要用什麽功能我就點一下就有。
CaaP則是以訊息為操作,舉例來説,我們最長提到的語音助理就是以處理語音訊息理解指令然後做某些事情。
因此,我講一句話 vs 我找menu然後點要的功能,那個操作更加便利?
因此CaaP就是這麽一個概念。
從這個歷史的演變來看,台灣因爲經歷過了人人有pc的時代,因此反而卡在了web以及RWD并且App,大陸反而是跳過了人人有pc而從手機app開始,因此正在從CaaP進化。
但是這個還牽涉到一個問題,透過訊息處理事情,那麽怎麽理解這些不同格式的訊息呢?有文字、有語音和有圖片等?這也就是AI進入的地方。
AI服務是最後一塊拼圖
需要先提一下,這邊的AI,和我之前另外一個系列(「data science 到底是什麼從一個完全外行角度來看」)的AI不是一個東西。
真正的AI應該是建立模型解決問題,而AI服務則是有人建立好服務,只需要調用就好。
Azure的Cognitive Service就是這麽一個AI服務。
因此,我們透過這些AI服務讓CaaP操作起來變的容易。
這個系列需要什麽前置知識/工具
好啦,上面説了那麽多,希望大家對於爲什麽要學有了清楚的認識,那麽要跟這個系列走需要什麽知識呢?
這個系列會使用到:
- C# - 只要瞭解基本的C#語法以及OO概念就夠了
- Visual Studio - 整個demo程式都會使用VS 2017來完成,因此如果沒有的話可以先去下載,可以參考之前的另外一篇([Visual Studio 2017]建立離線安裝(Offline Install)包)
- Web Api - 微軟的bot framework底層是用webp api以基地。因此如果有些Web Api的基礎比較好開發,但是不是必須的知識
- Azure - 微軟的bot framework整個架設是環繞在Azure上面,這個系列可以不懂Azure,但是會需要有個Azure訂閲。免費版就可以,因爲所有服務都有提供免費的服務,只是需要有個訂閲就是。
有了以上的準備,大家就可以開開心心的學習怎麽開發chatbot了。
結語
我喜歡在學習東西的時候知道爲什麽而學,因此我的文章或者簡報多多少少都會先介紹爲什麽。
而希望透過這一篇,大家對於爲什麽要學chatbot有個比較直觀的認知,并且有興趣持續關注下去。
下一篇([02]微軟的Bot Framework是什麽? )開始介紹微軟的CaaP解決方案,Bot Framework。