Api.ai開(kāi)放車載應(yīng)用API,從此車企可以開(kāi)發(fā)屬于自己的語(yǔ)音交互
一些語(yǔ)音識(shí)別技術(shù)供應(yīng)商會(huì)為移動(dòng)設(shè)備的第三方開(kāi)發(fā)者們提供語(yǔ)音識(shí)別的API,讓其自行開(kāi)發(fā)具備語(yǔ)音識(shí)別能力的應(yīng)用,比如科大訊飛、百度等。而Speaktoit旗下的開(kāi)放平臺(tái)Api.ai,這次是將API開(kāi)放到了車載平臺(tái)上。具體是個(gè)什么玩法捏?
讓開(kāi)發(fā)者自行開(kāi)發(fā)的開(kāi)放平臺(tái)
Speaktoit于五年前在加州成立,提供語(yǔ)音識(shí)別服務(wù)。Api.ai是Speaktoit公司的第二款產(chǎn)品,是允許開(kāi)發(fā)者們自行為智能互聯(lián)設(shè)備開(kāi)發(fā)語(yǔ)音交互能力的一個(gè)平臺(tái)。最近這個(gè)平臺(tái)開(kāi)放了車載應(yīng)用的API,讓汽車制造商、第三方開(kāi)發(fā)者都能夠借此平臺(tái)自行進(jìn)行語(yǔ)音交互能力的開(kāi)發(fā)與定制,平臺(tái)僅提供技術(shù)支持。除了汽車之外,還可以進(jìn)行移動(dòng)設(shè)備、智能手表、智能家居、智能電視以及機(jī)器人的語(yǔ)音交互的開(kāi)發(fā)。
與其說(shuō)Api.ai是一個(gè)平臺(tái),倒不如說(shuō)這是一個(gè)只要注冊(cè)了就能使用的開(kāi)發(fā)工具。開(kāi)發(fā)者可以按照Api.ai上的流程,對(duì)語(yǔ)音交互的應(yīng)用場(chǎng)景、識(shí)別內(nèi)容、交互界面等等進(jìn)行定義,Api.ai則會(huì)根據(jù)你的定義,給出相關(guān)代碼等,便于開(kāi)發(fā)者增加到App之中。
Api.ai運(yùn)行在Speaktoit的自然語(yǔ)音處理引擎之上,能夠理解自然語(yǔ)言,進(jìn)行語(yǔ)音識(shí)別、聲音識(shí)別,并提供語(yǔ)音轉(zhuǎn)文字等服務(wù)。而且,根據(jù)官網(wǎng)介紹,Api.ai使用的是深度學(xué)習(xí)技術(shù),能夠在使用過(guò)程中學(xué)習(xí)并提升能力。
與任何操作系統(tǒng)兼容,支持中文
那么,對(duì)于車企來(lái)說(shuō),要使用Api.ai,需要做點(diǎn)什么呢?主要的工作是定義出語(yǔ)音交互的應(yīng)用場(chǎng)景,按照Api.ai的規(guī)則,是定義出每個(gè)場(chǎng)景的Entity、Intent以及Context。
所謂Entity,指的是能夠描述出這一應(yīng)用場(chǎng)景的特定短語(yǔ)。比如說(shuō)你要知道天氣,Entity就可以是城市,便于程序進(jìn)行定位并獲取天氣信息,而想聽(tīng)歌,Entity則可以是音樂(lè)的流派,或者是歌手的名字,便于程序進(jìn)行查找。
如何定義Entity
以天氣為例,在選擇城市作為Entity之后,接下來(lái)的工作就是輸出城市名字所對(duì)應(yīng)的語(yǔ)音指令。比如紐約,可以是New York,也可以是NY,或者Big Apple。
現(xiàn)在的Api.ai上對(duì)應(yīng)一個(gè)應(yīng)用場(chǎng)景,只允許一個(gè)Entity作為識(shí)別對(duì)象,不過(guò)未來(lái)會(huì)開(kāi)放多個(gè)Entity識(shí)別功能。開(kāi)發(fā)者可以使用平臺(tái)已經(jīng)定義好的Entity,也可以自行定義。
Intent可以理解為對(duì)交互過(guò)程的定義,在這里,開(kāi)發(fā)者需要定義用戶如何表達(dá)才能被程序識(shí)別、識(shí)別之后要做什么。
如何定義Intent
如上圖所示,User says是程序能夠識(shí)別的語(yǔ)音指令,這里給出的案例是詢問(wèn)天氣,Action則是程序識(shí)別之后給出的回應(yīng),根據(jù)獲取的城市返回天氣信息。
而User says的內(nèi)容可以說(shuō)是一個(gè)語(yǔ)音交互中最為重要的部分,俺們都知道,好的語(yǔ)音識(shí)別能力是讓用戶使用自然語(yǔ)音,而并非條碼式指令。所以,這里涵蓋的表達(dá)方式越多,最后的用戶體驗(yàn)效果自然會(huì)越好。
Api.ai提供在網(wǎng)頁(yè)上直接輸入的方式來(lái)增加,也允許開(kāi)發(fā)者直接提交JSON、XML和CSV樣式。
至于最后一個(gè)Context,則是對(duì)Intent中用戶所下發(fā)的指令定義一個(gè)語(yǔ)義環(huán)境。同樣的語(yǔ)音指令,尤其是越簡(jiǎn)單的,可以被理解的意思就越多。要如何確保識(shí)別出呢?Api.ai就是通過(guò)Context來(lái)定義Intent。
這樣,當(dāng)用戶指令與某個(gè)Intent中所設(shè)定的內(nèi)容相符合的時(shí)候,程序會(huì)讀取Intent對(duì)應(yīng)的Context,然后在之后的五分鐘之內(nèi),或者是之后的五項(xiàng)語(yǔ)音指令,都會(huì)是在這一Context下的內(nèi)容。假設(shè)定義的Context是音樂(lè),那么在開(kāi)啟音樂(lè)之后,五分鐘或五個(gè)指令之內(nèi),所相關(guān)的語(yǔ)音指令都會(huì)與 “音樂(lè)”所對(duì)應(yīng)的Intent下去對(duì)應(yīng),然后再執(zhí)行相關(guān)命令。也就是開(kāi)始播放音樂(lè)之后,如果你又不想聽(tīng)了,發(fā)出關(guān)閉的指令,那么關(guān)閉的也會(huì)是音樂(lè),而不會(huì)是導(dǎo)航。
雖然每一個(gè)Context對(duì)應(yīng)的時(shí)間是五分鐘或者五個(gè)語(yǔ)音指令,但是當(dāng)新的指令發(fā)出時(shí),系統(tǒng)識(shí)別后會(huì)自動(dòng)更新時(shí)間和指令次數(shù)。
以上關(guān)于Entity、Intent以及Context的定義都是在一個(gè)特定的Agent下完成,Api.ai上面的Agent相當(dāng)于一個(gè)App。
所以,我們知道,在Api.ai平臺(tái)之上,汽車制造商或者車載系統(tǒng)的開(kāi)發(fā)者所需要完成的是對(duì)語(yǔ)音交互的應(yīng)用場(chǎng)景和使用邏輯進(jìn)行完整的定義,以便于程序能夠更好地理解用戶發(fā)出的指令并做出反應(yīng)。
據(jù)Api.ai上介紹,這套平臺(tái)屬于中立平臺(tái),能夠兼容任一操作系統(tǒng)。對(duì)應(yīng)車載應(yīng)用,目前已經(jīng)開(kāi)放的場(chǎng)景包括車載第三方應(yīng)用、地圖、導(dǎo)航、興趣點(diǎn)推薦、聊天、社交、智能家居、天氣、瀏覽網(wǎng)絡(luò)、查詢信息、時(shí)間&日期、預(yù)定等功能。
現(xiàn)在一些車載系統(tǒng)語(yǔ)音交互功能的強(qiáng)大是依靠云端的語(yǔ)音識(shí)別,不過(guò)Api.ai提供了云端、本地以及嵌入式三種不同方案來(lái)進(jìn)行部署。本地與嵌入式兩種方式不需要連接網(wǎng)絡(luò),也不需要向云端發(fā)送數(shù)據(jù),相較于云端方案來(lái)說(shuō)更為安全。
不過(guò),最難得的還是在Api.ai的支持語(yǔ)音列表上,明晃晃地寫著支持中文。
目前Api.ai上,非商用應(yīng)用、免費(fèi)項(xiàng)目與開(kāi)源項(xiàng)目可以免費(fèi)使用,如果是商業(yè)應(yīng)用,有兩種交費(fèi)方式:按照一條指令0.0003美元(相當(dāng)于不到0.002元人民幣),或者是與Api.ai進(jìn)行商業(yè)分成。
車云小結(jié)
這種提供技術(shù)支持讓汽車制造商可以自行開(kāi)發(fā)應(yīng)用的方式想必會(huì)受“保守”的車企所歡迎。畢竟俺們都知道,汽車制造商對(duì)蘋果、谷歌大開(kāi)方便之門是迫于形勢(shì),并不代表他們?cè)敢獗恢瞥?。君不?jiàn),奧迪、豐田、福特都開(kāi)始采取措施應(yīng)對(duì)了么?