沉寂 4 年的 Siri 終於開放:這是目前我們知道的全部細節

雷鋒網 於 15/06/2016 發表 收藏文章
雷鋒網(搜索“雷鋒網”公眾號關注)按:本文作者陳村,劍橋大學自然語言處理(NLP)組,現為機器學習語義分析工程師。


果不其然,蘋果在昨晚WWDC 2016上發佈了新的SiriKit,即把Siri開放給開發者。作為自2012年就發佈的Siri,除了偶爾説幾個段子、打個電話或者發個短信,似乎也沒啥太多常用的功能。iOS平台的一個顯著優勢其擁有豐富的第三方應用生態和眾多優質開發者,將Siri開放給iOS生態希望能夠讓Siri支持更豐富的功能。

| Siri 變身 SiriKit 之後,帶來什麼?

面向開發者的Siri的API都集成在今天早上剛剛發佈的SiriKit中。(有趣的是,現任泰國王后也叫Sirikit,就是中國人民的老朋友詩琳通公主的母上)。
SiriKit採用了跟Google和出門問問類似的策略,即用户通過正常的流程喚醒Siri,Siri做完語音識別和語義分析之後,將結構化語音分析結果打包成一個某個領域(Domain)的意圖(Intent),然後交給支持這個意圖(Intent)的第三方應用(比如微信),第三方應用被啟動,從傳入的Intent中獲取相應的信息,完成操作。

例如,上圖演示中提到了的例句 “I need to send a message to Nancy via WeChat saying I'll be five minutes late",當用户喚醒Siri説出這句話的時候,Siri會把上面這句話轉換成結構化語義意圖:

  • 領域 (Domain):Messaging
  • 意圖 (Intent):Send a message (INSendMessageIntent)
  • 意圖參數 (Intent Parameter)

    收件人(recipients):Nancy

    消息內容(content):I'll be five minutes late

然後這個意圖會被轉交給微信,微信會從該意圖中抽取出收件人和消息內容,匹配用户聯繫人併發送消息。

按照蘋果官方的iOS文檔,現在SiriKit共支持7個領域的共計22種意圖:

  • 語音通話 VoIP Calling:打電話、發起視頻電話、查通話記錄
  • 信息 Messaging:發信息、搜索信息
  • 照片搜索 Photo Search:搜索照片、播放照片幻燈片
  • 個人之間的付款 Payments:向某人付款、向某人收款
  • 健身 Workouts:開始健身、暫停健身、恢復健身、結束健身、取消健身
  • 打車 Ride Booking:查看附近可用的車輛、訂車、查看訂單
  • 車載 CarPlay:切換音頻輸入源、空調、除霜、座椅加熱、FM調台

對於以上的22種意圖,蘋果都會幫開發者處理好所有的語音識別和語義理解,開發者只需要申明支持某些意圖,然後坐等用户喚醒就好了

引用比如説,“Hey Siri, 用支付寶付20元給小張作為午飯錢”,支付寶就會自動被喚醒,找到用户“小張”並轉賬20元。

“Hey Siri,用滴滴給我叫一輛車去中關村”,則啟動滴滴打車,並自動設定目的地為中關村。


(圖為作者自制)

作為開發者而言,如果你的App功能正好跟以上7大領域22意圖重合,那麼是一個很好的機會去聲明支持其中某一些意圖,這樣就可以讓用户用語音的方式來啟動你的應用,大大增加使用的便利性和用户粘性。

| 蘋果為什麼現在才開放Siri的語音搜索API?

1、開放給開發者需謹慎

SiriKit開放了Siri的語音搜索API,機制跟Google Android Voice 類似,後者都已經上線兩年並早已支持十幾種領域,遠超SiriKit現在發佈的7個領域。而國內的出門問問,因有Ticwear智能手錶操作系統作為入口,早在去年年初就開發了類似的語義API,滴滴、支付寶、阿里小智智能家居等第三方廠商早已通過這種形式落地其手錶操作系統。

在語音搜索API上,一般公司的做法都是極其謹慎的。不同於以科大訊飛為代表的“應用內”語音、語義API,蘋果、Google、出門問問這些API屬於“入口級”語音搜索API,即語音搜索是系統發起的而非在應用內發起,系統識別語音意圖並分發給第三方應用。

引用一般這類“入口級”語音搜索API,會非常謹慎地先做好領域分類(Domain Classification),然後根據分出來的領域導流給不同的應用。所以,領域和領域內意圖,一般要由系統事先定義好、並且優化好語音、語義識別模型之後,才開放給第三方開發者使用。

2、現有語音識別API存在哪些技術瓶頸?
由於眾所周知的技術難度,現有的語音識別API還存在以下技術瓶頸:

首先,語音識別方面,訓練一個可靠的語音識別需要領域內的大量語言模型。

例如如果不將北京地名詞典這樣的領域知識輸入進語音識別引擎,語音識別根本無法正確輸出類似於“簋(gui)街”這樣的不常見詞語。

其次,由於是“入口級”語音搜索,還要處理好不同領域之間的歧義。

例如“發微信給小蘋果讓她幫我打電話訂一輛出租車”,這句話對人類來説是再簡單不過了,但是對於現有的語義識別系統來説都是極具挑戰性的:這到底是要發短信呢?還是打電話?還是叫車?怎麼還提到了歌曲“小蘋果”啊!

3、發佈會上沒有提到的特色

不過,筆者也從官方文檔中驚喜地發現一個未在發佈會上提及的特色。不同於Google Voice Action[1],SiriKit發佈第一版就允許開發者在一定程度上自定義語音命令。SiriKit允許開發者通過配置文件的方式自定義某一些詞的讀音、上下文例句、甚至語義含義,當然,這些必須限定在這7大領域22個意圖框架內。

如下面圖中例子所示:


圖中展示了一個名為“CardioBonaza”的健身應用,其應用支持一個名為“Cardio Craze”的健身項目,用户可以通過Siri直接啟動CardioBonaza應用並開始Cardio Craze健身項目上圖的配置文件通過以下幾方面幫助Siri識別有有關命令:

  • 定義Cardio Craze是開始健身(INStartWorkoutIntent)這個意圖下面的workoutName這個屬性(注意,這個意圖以及意圖的指令都是包含在SiriKit那7大領域和22意圖內的)。這樣一但識別出來,Siri會把Cardio Crazes識別成workoutName屬性傳給CardioBonazay應用
  • 定義Cardio Craze的發音以及可能出現的上下文,這有助於幫助Siri更準確的語音識別這些不常用詞
  • 通過定義Intent Phrase的一些例句,甚至可以影響Siri入口的領域分類(Domain Classification)

蘋果一向謹小慎微,這次SiriKit僅僅開放了7個領域,應該是經過充分的用户調研和模型調優。但實際使用中是否能夠勝任複雜的用户自然語言,還需要等到真正發佈之後好好體驗。不過,SiriKit確實做了充分的準備,準備和開發者一起保證良好的語音交互體驗。

| 什麼是用户真正需要的語音搜索?

除此之外,蘋果今天還發布了MacOS版本的Siri,可以在Mac上通過Siri去完成手機上的一些基本功能。比如聽歌、查天氣,以及一些為Mac筆記本開發的語音命令,比如查找某個文件、或者看看電腦還有多少剩餘空間。

連同SiriKit,這應該是Siri自從2012年發佈以來最大的一次更新。

但我認為,這次更新仍然乏善可陳。競爭對手Google本身擁有強大的AI研發能力和長期以來的技術積累,SiriKit做的這些事情從技術上來講都只是一直在追趕Google而已。

要做到如同Google Now一樣的智能,比如百科類問題的問答、智能推送[2],蘋果還有很長的一段路要走。當然當前,不管是哪家的語音識別技術,從能力上來講並沒有質的區別,人工智能語音搜索仍然是一個新鮮玩意,他的能力遠低於人們的預期。在短期人工智能技術難以進行質的突破的情況下,像蘋果這樣謹小慎微地一步步往前走,慢慢地加入新的功能,讓更多的開發者加入這場遊戲,總體來説也是推動了整個行業的發展。今天凌晨發佈的時候,蘋果宣佈SiriKit已經得到眾多主流App的支持,包括微信、支付寶、滴滴、Whatsapp、Skype等,這也許正是蘋果作為一個後來者的優勢。

這讓我想起了4年前第一次發佈Siri的時候,無聲無息地發佈,在沉寂了十幾年的人工智能圈,確確實實地掀起了一陣浪潮。

註解:

【1】Google的Voice Action有自定義語音命令,但是看起來還沒有完全準備好。

【2】Google Now會分析用户的Email 來獲取用户的一些個人信息,比如航班行程、酒店。蘋果在今天凌晨的發佈會上聲稱,出於用户隱私方面的考慮,暫時沒有類似的功能。


資料來源:雷鋒網
作者/編輯:陳村

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→