基於阿里雲API打造「Kim智能語音助理」

作為一家專註境外自由行的「互聯網+」創業公司,我們始終在積極探索用戶服務的終點在哪。當一名國內遊客置身一個完全不同的語言環境時,內心或許是不安的;而境外落地服務的司機,大多數情況下是外國人,這就造成了極大的溝通困難。在這種場景下,如果車內可以通過智能設備為客人送去問候,並幫助其和司機、客服完成溝通,可以大幅提升國內遊客在境外出遊的舒適度。

基於此,我打算嘗試一下是否能夠基於阿里雲製造這樣一個物聯網產品,畢竟對於創業公司來講,藉助阿里雲的技術能力能節省不少成本。

開始嘗試Kim

說話可能是我們每天做的最多的事情了,當然包括文字和交談,所以這可能是手機觸摸屏以外更「接近自然」的交互方式。

大家已經非常熟知「智能音箱」這個產品,阿里、小米等很多大廠都推出了自己的智能音箱,並與自己的業務體系深度綁定,這讓我覺得很「封閉」,過於定製化、可玩性過於局限。

因此,索性我就把「Kim智能語音助理」做成開源項目,讓更多的Geek能夠參與進來,並且定製成自己的「私人助理」。

天貓精靈X1

最初的Kim,僅是一個運行在樹莓派、Mac上的一個能夠語音對話的客戶端程序,它通過調用阿里雲的TTS和ASR介面實現語音合成及語音識別。

後來在語音識別的基礎上增加了「Kim大腦」,這一個關鍵的改進讓Kim能夠理解我們在說什麼,並作出預設的響應。為了讓這顆「大腦」能夠學會更多,我專門在GitHub上維護了一個插件庫。沒錯,我們與Kim的對話經過ASR之後會被傳送到Kim的「大腦」,經過「中文語義仲裁演算法」把指令交由語義匹配的插件處理。操作流程如下圖所示:

Kim是一個簡化的「智能音箱」,已經能夠應付大多數的對對話場景,把插件寫寫好,或許能夠應付語音購票的場景了。

上海地鐵的工作人員在演示語音購票技術

語音,只是一種交互方式,如果我們通過插件將其轉換成計算機可以理解的指令,理論上我們對計算機的任何操作都可以實現。但複雜交互,還需要與計算機當前的狀態有關係,我們後面會專門探討這個問題。

Kim的遠程會話服務

我們肯定不希望這個智能助理只能在物理上靠近時才能使用,於是誕生了「Kim遠程會話服務」。遠程會話服務提供了一組RESTful API和一套WebAPP供使用,RESTful API讓開發者可以以任意一種形式(例如:APP、網頁、微信小程序等)通過互聯網與Kim會話。

但是,設備端的主控程序才是Kim的核心,無論你把會話服務部署在哪,最終的語義指令都會通過MQTT協議傳輸到Kim設備端。

Kim插件庫 + 阿里雲API市場

正在給Kim插件庫找數據源的時候,想起了阿里雲的API市場,索性就把API封裝到插件里 。

阿里雲API市場的分類

這就意味著阿里雲豐富的雲端能力,能夠輕鬆的為Kim所用,用藥查詢、天氣預報、菜譜查詢、新聞頭條等等,都不在話下。

假象以下場景:

1. 你在廚房,準備要做一個紅燒肉,但不會做;「Hey Kim,紅燒肉怎麼做」,這時Kim插件調用雲端API,選出一個菜譜語音播報出來

2. 想知道明天的天氣怎麼樣;「Hey Kim,明天天氣怎麼樣」「明天晴,氣溫xxx,西北風xxx,空氣質量優」

3. ……

Kim插件庫 + HomeAssistant

後來,在微博上看到了Facebook創始人扎克伯格給自己弄了個智能管家「老賈」。視頻里的幾個場景引起了我極大的興趣:

1. 扎克伯格醒來後,說了一句:「老賈,把窗帘打開」

2. 有客人來訪時,安保設備通過人臉識別先把門打開,再通知主人

3. ……

「老賈」的視頻

HomeAssistant是非常著名的開源智能家居控制系統,能夠幫我們連接家裡的燈、開關、門、溫濕度計、空調等智能家居設備,支持小米、博聯等眾多的智能家居設備。

HomeAssistant支持設備列表

好了,現在我們再回到Kim。HomeAssistant提供了家庭智能設備的控制方案,同時支持RESTful控制,這就方便了Kim插件庫與HA的深度集成。當Kim具備這些能力的時候,我們的生活就變成了一下這樣:

1. 中午躺在沙發上快睡著了,但是陽光太刺眼;「Hey Kim,幫我把窗帘關上」這時窗帘電機工作,窗帘關上

2. 暴雨來臨前,室內很悶;「Key Kim,現在室內濕度多少」「室內濕度98%」「幫我把除濕機打開」,這時除濕機開始工作

3. 下班回到家,身心俱疲,準備看會電視放鬆下,但又實在懶得找遙控器;「Hey Kim,幫我把電視打開」,這時電視機亮了

4. 冬季早上起床困難,早上音樂響起、窗帘自動打開、空調自動開啟並設定在26度

5. ……

想想都覺得美。

這不是做夢,通過Kim是可以實現的。

安裝和使用Kim

Kim目前已在Github開源,遵循MIT開源協議。目前Wiki已經相對完善,詳細的安裝方法和技術原理可訪問Kim的Git倉庫。

主項目倉庫

遠程會話端倉庫

自定義插件倉庫

了解更多請微博關注阿里雲客戶滿意中心


推薦閱讀:

全球化2.0時代,澳門為何會擁抱阿里雲?
微軟雲全球季度收入首次超過AWS
如何看待阿里雲布局ET大腦這件事?
阿里雲說要「萬物智能」,夢想何時才能照進現實?
PHP 應用容器化 AND 部署

TAG:API | 阿里雲 | 智能語音 |