?果不其然,蘋(píng)果在昨晚WWDC 2016上發(fā)布了新的SiriKit,即把Siri開(kāi)放給開(kāi)發(fā)者。作為自2012年就發(fā)布的Siri,除了偶爾說(shuō)幾個(gè)段子、打個(gè)電話(huà)或者發(fā)個(gè)短信,似乎也沒(méi)啥太多常用的功能。iOS平臺(tái)的一個(gè)顯著優(yōu)勢(shì)其擁有豐富的第三方應(yīng)用生態(tài)和眾多優(yōu)質(zhì)開(kāi)發(fā)者,將Siri開(kāi)放給iOS生態(tài)希望能夠讓Siri支持更豐富的功能。
| Siri 變身 SiriKit 之后,帶來(lái)什么?
面向開(kāi)發(fā)者的Siri的API都集成在今天早上剛剛發(fā)布的SiriKit中。(有趣的是,現(xiàn)任泰國(guó)王后也叫Sirikit,就是***詩(shī)琳通公主的母上)。
SiriKit采用了跟Google和出門(mén)問(wèn)問(wèn)類(lèi)似的策略,即用戶(hù)通過(guò)正常的流程喚醒Siri,Siri做完語(yǔ)音識(shí)別和語(yǔ)義分析之后,將結(jié)構(gòu)化語(yǔ)音分析結(jié)果打包成一個(gè)某個(gè)領(lǐng)域(Domain)的意圖(Intent),然后交給支持這個(gè)意圖(Intent)的第三方應(yīng)用(比如微信),第三方應(yīng)用被啟動(dòng),從傳入的Intent中獲取相應(yīng)的信息,完成操作。
例如,上圖演示中提到了的例句 “I need to send a message to Nancy via WeChat saying I‘ll be five minutes late“,當(dāng)用戶(hù)喚醒Siri說(shuō)出這句話(huà)的時(shí)候,Siri會(huì)把上面這句話(huà)轉(zhuǎn)換成結(jié)構(gòu)化語(yǔ)義意圖:
領(lǐng)域 (Domain):Messaging
意圖 (Intent):Send a message (INSendMessageIntent)
意圖參數(shù) (Intent Parameter)
收件人(recipients):Nancy
消息內(nèi)容(content):I’ll be five minutes late
然后這個(gè)意圖會(huì)被轉(zhuǎn)交給微信,微信會(huì)從該意圖中抽取出收件人和消息內(nèi)容,匹配用戶(hù)聯(lián)系人并發(fā)送消息。
按照蘋(píng)果官方的iOS文檔,現(xiàn)在SiriKit共支持7個(gè)領(lǐng)域的共計(jì)22種意圖:
語(yǔ)音通話(huà) VoIP Calling:打電話(huà)、發(fā)起視頻電話(huà)、查通話(huà)記錄
信息 Messaging:發(fā)信息、搜索信息
照片搜索 Photo Search:搜索照片、播放照片幻燈片
個(gè)人之間的付款 Payments:向某人付款、向某人收款
健身 Workouts:開(kāi)始健身、暫停健身、恢復(fù)健身、結(jié)束健身、取消健身
打車(chē) Ride Booking:查看附近可用的車(chē)輛、訂車(chē)、查看訂單
車(chē)載 CarPlay:切換音頻輸入源、空調(diào)、除霜、座椅加熱、FM調(diào)臺(tái)
對(duì)于以上的22種意圖,蘋(píng)果都會(huì)幫開(kāi)發(fā)者處理好所有的語(yǔ)音識(shí)別和語(yǔ)義理解,開(kāi)發(fā)者只需要申明支持某些意圖,然后坐等用戶(hù)喚醒就好了。
比如說(shuō),“Hey Siri, 用支付寶付20元給小張作為午飯錢(qián)”,支付寶就會(huì)自動(dòng)被喚醒,找到用戶(hù)“小張”并轉(zhuǎn)賬20元。
“Hey Siri,用滴滴給我叫一輛車(chē)去中關(guān)村”,則啟動(dòng)滴滴打車(chē),并自動(dòng)設(shè)定目的地為中關(guān)村。
?。▓D為作者自制)
作為開(kāi)發(fā)者而言,如果你的App功能正好跟以上7大領(lǐng)域22意圖重合,那么是一個(gè)很好的機(jī)會(huì)去聲明支持其中某一些意圖,這樣就可以讓用戶(hù)用語(yǔ)音的方式來(lái)啟動(dòng)你的應(yīng)用,大大增加使用的便利性和用戶(hù)粘性。
| 蘋(píng)果為什么現(xiàn)在才開(kāi)放Siri的語(yǔ)音搜索API?
1、開(kāi)放給開(kāi)發(fā)者需謹(jǐn)慎
SiriKit開(kāi)放了Siri的語(yǔ)音搜索API,機(jī)制跟Google Android Voice 類(lèi)似,后者都已經(jīng)上線(xiàn)兩年并早已支持十幾種領(lǐng)域,遠(yuǎn)超SiriKit現(xiàn)在發(fā)布的7個(gè)領(lǐng)域。而國(guó)內(nèi)的出門(mén)問(wèn)問(wèn),因有Ticwear智能手表操作系統(tǒng)作為入口,早在去年年初就開(kāi)發(fā)了類(lèi)似的語(yǔ)義API,滴滴、支付寶、阿里小智智能家居等第三方廠商早已通過(guò)這種形式落地其手表操作系統(tǒng)。
在語(yǔ)音搜索API上,一般公司的做法都是極其謹(jǐn)慎的。不同于以科大訊飛為代表的“應(yīng)用內(nèi)”語(yǔ)音、語(yǔ)義API,蘋(píng)果、Google、出門(mén)問(wèn)問(wèn)這些API屬于“入口級(jí)”語(yǔ)音搜索API,即語(yǔ)音搜索是系統(tǒng)發(fā)起的而非在應(yīng)用內(nèi)發(fā)起,系統(tǒng)識(shí)別語(yǔ)音意圖并分發(fā)給第三方應(yīng)用。
一般這類(lèi)“入口級(jí)”語(yǔ)音搜索API,會(huì)非常謹(jǐn)慎地先做好領(lǐng)域分類(lèi)(Domain Classification),然后根據(jù)分出來(lái)的領(lǐng)域?qū)Я鹘o不同的應(yīng)用。所以,領(lǐng)域和領(lǐng)域內(nèi)意圖,一般要由系統(tǒng)事先定義好、并且優(yōu)化好語(yǔ)音、語(yǔ)義識(shí)別模型之后,才開(kāi)放給第三方開(kāi)發(fā)者使用。
2、現(xiàn)有語(yǔ)音識(shí)別API存在哪些技術(shù)瓶頸?
由于眾所周知的技術(shù)難度,現(xiàn)有的語(yǔ)音識(shí)別API還存在以下技術(shù)瓶頸:
首先,語(yǔ)音識(shí)別方面,訓(xùn)練一個(gè)可靠的語(yǔ)音識(shí)別需要領(lǐng)域內(nèi)的大量語(yǔ)言模型。
例如如果不將北京地名詞典這樣的領(lǐng)域知識(shí)輸入進(jìn)語(yǔ)音識(shí)別引擎,語(yǔ)音識(shí)別根本無(wú)法正確輸出類(lèi)似于“簋(gui)街”這樣的不常見(jiàn)詞語(yǔ)。
其次,由于是“入口級(jí)”語(yǔ)音搜索,還要處理好不同領(lǐng)域之間的歧義。
例如“發(fā)微信給小蘋(píng)果讓她幫我打電話(huà)訂一輛出租車(chē)”,這句話(huà)對(duì)人類(lèi)來(lái)說(shuō)是再簡(jiǎn)單不過(guò)了,但是對(duì)于現(xiàn)有的語(yǔ)義識(shí)別系統(tǒng)來(lái)說(shuō)都是極具挑戰(zhàn)性的:這到底是要發(fā)短信呢?還是打電話(huà)?還是叫車(chē)?怎么還提到了歌曲“小蘋(píng)果”啊!
3、發(fā)布會(huì)上沒(méi)有提到的特色
不過(guò),筆者也從官方文檔中驚喜地發(fā)現(xiàn)一個(gè)未在發(fā)布會(huì)上提及的特色。不同于Google Voice Action[1],SiriKit發(fā)布第一版就允許開(kāi)發(fā)者在一定程度上自定義語(yǔ)音命令。SiriKit允許開(kāi)發(fā)者通過(guò)配置文件的方式自定義某一些詞的讀音、上下文例句、甚至語(yǔ)義含義,當(dāng)然,這些必須限定在這7大領(lǐng)域22個(gè)意圖框架內(nèi)。
如下面圖中例子所示:
圖中展示了一個(gè)名為“CardioBonaza”的健身應(yīng)用,其應(yīng)用支持一個(gè)名為“Cardio Craze”的健身項(xiàng)目,用戶(hù)可以通過(guò)Siri直接啟動(dòng)CardioBonaza應(yīng)用并開(kāi)始Cardio Craze健身項(xiàng)目上圖的配置文件通過(guò)以下幾方面幫助Siri識(shí)別有有關(guān)命令:
定義Cardio Craze是開(kāi)始健身(INStartWorkoutIntent)這個(gè)意圖下面的workoutName這個(gè)屬性(注意,這個(gè)意圖以及意圖的指令都是包含在SiriKit那7大領(lǐng)域和22意圖內(nèi)的)。這樣一但識(shí)別出來(lái),Siri會(huì)把Cardio Crazes識(shí)別成workoutName屬性傳給CardioBonazay應(yīng)用
定義Cardio Craze的發(fā)音以及可能出現(xiàn)的上下文,這有助于幫助Siri更準(zhǔn)確的語(yǔ)音識(shí)別這些不常用詞
通過(guò)定義Intent Phrase的一些例句,甚至可以影響Siri入口的領(lǐng)域分類(lèi)(Domain Classification)
蘋(píng)果一向謹(jǐn)小慎微,這次SiriKit僅僅開(kāi)放了7個(gè)領(lǐng)域,應(yīng)該是經(jīng)過(guò)充分的用戶(hù)調(diào)研和模型調(diào)優(yōu)。但實(shí)際使用中是否能夠勝任復(fù)雜的用戶(hù)自然語(yǔ)言,還需要等到真正發(fā)布之后好好體驗(yàn)。不過(guò),SiriKit確實(shí)做了充分的準(zhǔn)備,準(zhǔn)備和開(kāi)發(fā)者一起保證良好的語(yǔ)音交互體驗(yàn)。
| 什么是用戶(hù)真正需要的語(yǔ)音搜索?
除此之外,蘋(píng)果今天還發(fā)布了MacOS版本的Siri,可以在Mac上通過(guò)Siri去完成手機(jī)上的一些基本功能。比如聽(tīng)歌、查天氣,以及一些為Mac筆記本開(kāi)發(fā)的語(yǔ)音命令,比如查找某個(gè)文件、或者看看電腦還有多少剩余空間。
連同SiriKit,這應(yīng)該是Siri自從2012年發(fā)布以來(lái)最大的一次更新。
但我認(rèn)為,這次更新仍然乏善可陳。競(jìng)爭(zhēng)對(duì)手Google本身?yè)碛袕?qiáng)大的AI研發(fā)能力和長(zhǎng)期以來(lái)的技術(shù)積累,SiriKit做的這些事情從技術(shù)上來(lái)講都只是一直在追趕Google而已。
要做到如同Google Now一樣的智能,比如百科類(lèi)問(wèn)題的問(wèn)答、智能推送[2],蘋(píng)果還有很長(zhǎng)的一段路要走。當(dāng)然當(dāng)前,不管是哪家的語(yǔ)音識(shí)別技術(shù),從能力上來(lái)講并沒(méi)有質(zhì)的區(qū)別,人工智能語(yǔ)音搜索仍然是一個(gè)新鮮玩意,他的能力遠(yuǎn)低于人們的預(yù)期。在短期人工智能技術(shù)難以進(jìn)行質(zhì)的突破的情況下,像蘋(píng)果這樣謹(jǐn)小慎微地一步步往前走,慢慢地加入新的功能,讓更多的開(kāi)發(fā)者加入這場(chǎng)游戲,總體來(lái)說(shuō)也是推動(dòng)了整個(gè)行業(yè)的發(fā)展。今天凌晨發(fā)布的時(shí)候,蘋(píng)果宣布SiriKit已經(jīng)得到眾多主流App的支持,包括微信、支付寶、滴滴、Whatsapp、Skype等,這也許正是蘋(píng)果作為一個(gè)后來(lái)者的優(yōu)勢(shì)。
這讓我想起了4年前第一次發(fā)布Siri的時(shí)候,無(wú)聲無(wú)息地發(fā)布,在沉寂了十幾年的人工智能圈,確確實(shí)實(shí)地掀起了一陣?yán)顺薄?br /> ? ? ? 本文作者陳村,劍橋大學(xué)自然語(yǔ)言處理(NLP)組,現(xiàn)為機(jī)器學(xué)習(xí)語(yǔ)義分析工程師。
注解:
【1】Google的Voice Action有自定義語(yǔ)音命令,但是看起來(lái)還沒(méi)有完全準(zhǔn)備好。
【2】Google Now會(huì)分析用戶(hù)的Email 來(lái)獲取用戶(hù)的一些個(gè)人信息,比如航班行程、酒店。蘋(píng)果在今天凌晨的發(fā)布會(huì)上聲稱(chēng),出于用戶(hù)隱私方面的考慮,暫時(shí)沒(méi)有類(lèi)似的功能。
評(píng)論
查看更多