本說明書涉及語音動作,以及一個具體實現(xiàn)方式涉及配置語音動作。
背景技術(shù):
應(yīng)用中的任務(wù)能包括在用戶交互以執(zhí)行某一作業(yè)的軟件中定義的一個或多個活動?;顒邮强刂迫蝿?wù)的執(zhí)行的生命周期的類別,在任務(wù)內(nèi)訓(xùn)練的多個活動能允許用戶執(zhí)行作業(yè)。在一些實現(xiàn)方式中,命令能與活動或有關(guān)活動的動作相關(guān)聯(lián),使得命令的用戶提交能觸發(fā)活動或動作。能激發(fā)特定意圖來觸發(fā)開始活動或執(zhí)行動作。
技術(shù)實現(xiàn)要素:
本說明書描述允許應(yīng)用開發(fā)人員部署用于先前安裝的軟件應(yīng)用的新語音動作的平臺。通常,使用該平臺,應(yīng)用開發(fā)人員能提交定義新語音動作的信息,其中,該信息指定該應(yīng)用、將新語音動作指向觸發(fā)的動作、用于觸發(fā)動作的觸發(fā)項以及觸發(fā)項應(yīng)當(dāng)有效觸發(fā)應(yīng)用中的動作的上下文。
當(dāng)語音動作將要對觸發(fā)應(yīng)用中的動作有效時,由應(yīng)用開發(fā)人員提交的上下文能指定用戶設(shè)備狀態(tài)。設(shè)備狀態(tài)能例如包括哪一個或多個應(yīng)用在前臺(即,目前在設(shè)備的用戶界面中有效)或后臺(例如,目前在設(shè)備的用戶界面中看不到)中操作,或能包括有關(guān)應(yīng)用的特定信息,諸如什么活動目前正運行、運動活動的狀態(tài)等。
當(dāng)應(yīng)用開發(fā)人員提交定義新語音動作的信息時,服務(wù)或工具能驗證定義新語音動作的信息來確定新語音動作是否與應(yīng)用兼容,或者否則確定是否能實現(xiàn)新語音動作。如果新語音動作有效,通過引入定義新語音動作的信息,為該語音動作創(chuàng)建稱為意圖并且具有特定格式的無源數(shù)據(jù)結(jié)構(gòu)的新實例。該意圖能指定定義新語音動作的一些或全部信息,諸如應(yīng)用、觸發(fā)項、響應(yīng)于檢測觸發(fā)項觸發(fā)的活動或動作,和觸發(fā)項觸發(fā)活動或動作所需的上下文。然后,對該應(yīng)用,能部署語音動作,使得語音動作變?yōu)橛糜谠搼?yīng)用的啟用的語音動作,無需對應(yīng)用代碼做額外變更來支持該語音動作。
一旦部署了語音動作,操作用戶設(shè)備的用戶能提供語音輸入。用戶設(shè)備能提交用于該用戶設(shè)備的上下文信息,并且能使用上下文信息和語音輸入的轉(zhuǎn)錄抄本來識別意圖和觸發(fā)所識別的意圖。當(dāng)觸發(fā)意圖時,用于執(zhí)行活動或動作的數(shù)據(jù)被確定,并且被傳送到用戶設(shè)備以響應(yīng)于該語音輸入,執(zhí)行活動或動作。
例如,媒體播放器應(yīng)用的應(yīng)用開發(fā)人員能定義使用觸發(fā)項“播放下一首(playnext)”,用于跳到下一首歌的新語音動作。當(dāng)應(yīng)當(dāng)啟用“播放下一首”語音動作時,應(yīng)用開發(fā)人員能指定上下文。例如,應(yīng)用開發(fā)人員可以指定,僅當(dāng)媒體播放器應(yīng)用在前臺中運行并且處于使媒體播放器應(yīng)用操作為音頻播放器的模式中時,“播放下一首”語音動作應(yīng)當(dāng)導(dǎo)致媒體播放器應(yīng)用跳到下一首歌。在通過應(yīng)用開發(fā)人員部署語音動作后,將媒體播放器應(yīng)用先前安裝在他們的用戶設(shè)備上的用戶提交語音輸入“播放下一首”。用戶設(shè)備能提交指示用戶設(shè)備或安裝在用戶設(shè)備上的應(yīng)用的狀態(tài)的上下文信息,諸如指示媒體播放器應(yīng)用在前臺中運行并且處于音頻播放器模式中的上下文信息。響應(yīng)于接收語音輸入“播放下一首”和指定上下文的信息,能將使得媒體播放器應(yīng)用跳到下一首歌的數(shù)據(jù)傳送到用戶設(shè)備。相反,如果確定語音輸入為說出“播放下一首”,但上下文信息指示社交網(wǎng)絡(luò)應(yīng)用在用戶設(shè)備的前臺運行,而不是媒體播放器應(yīng)用,那么“播放下一首”語音輸入不具有任何效果,或會導(dǎo)致在用戶設(shè)備處執(zhí)行不同操作。
在本說明書中描述的主題的創(chuàng)新方面可以體現(xiàn)在方法中,該方法包括如下動作:由語音動作系統(tǒng)接收指定用于不同于所述語音動作系統(tǒng)的軟件應(yīng)用的新語音動作的數(shù)據(jù),所述數(shù)據(jù)包括用于執(zhí)行該新語音動作的一個或多個操作和用于觸發(fā)該新語音動作的一個或多個觸發(fā)項;至少基于接收的數(shù)據(jù),由該語音動作系統(tǒng)生成用于該軟件應(yīng)用的上下文語音動作意圖,其中,該上下文語音動作意圖包括當(dāng)被該軟件應(yīng)用接收時,請求該軟件應(yīng)用執(zhí)行該新語音動作的一個或多個操作的數(shù)據(jù);由該語音動作系統(tǒng)將該上下文語音動作意圖與用于該新語音動作的一個或多個觸發(fā)項相關(guān)聯(lián);其中,該語音動作系統(tǒng)被配置為:接收由安裝有該軟件應(yīng)用的設(shè)備獲得的用戶話語的指示;確定該用戶話語的轉(zhuǎn)錄抄本對應(yīng)于與該上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項;以及響應(yīng)于該確定,將該上下文語音動作意圖提供給該設(shè)備,由此請求安裝在該設(shè)備上的軟件應(yīng)用執(zhí)行新語音動作的一個或多個操作。
這些和其他實施例可以每一個可選地包括下述特征中的一個或多個。在各個示例中,接收的數(shù)據(jù)指定上下文,該上下文指定當(dāng)啟用該新語音動作時,該設(shè)備或該軟件應(yīng)用的狀態(tài);該上下文指定該軟件應(yīng)用正在安裝有軟件應(yīng)用的設(shè)備的前臺中操作;該上下文指定該軟件應(yīng)用正在安裝有軟件應(yīng)用的設(shè)備的后臺中操作;該上下文指定該軟件應(yīng)用正在執(zhí)行特定活動;該上下文指定該軟件應(yīng)用正執(zhí)行的特定活動處于特定活動狀態(tài)。
在其他示例中,這些和其他實施例可以每一個可選地包括下述特征:將該上下文語音動作意圖與用于新語音動作的上下文相關(guān)聯(lián);由該語音動作系統(tǒng)接收指示安裝有該軟件應(yīng)用的特定設(shè)備或安裝在該特定設(shè)備上的軟件應(yīng)用的狀態(tài)的上下文信息;確定該上下文信息滿足用于新語音動作的上下文;以及響應(yīng)于確定由特定設(shè)備獲得的用戶話語的轉(zhuǎn)錄抄本對應(yīng)于與上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項以及該上下文信息滿足與該上下文語音動作意圖相關(guān)聯(lián)的上下文,由該語音動作系統(tǒng)將上下文語音動作意圖提供給該特定設(shè)備,由此請求安裝在特定設(shè)備上的軟件應(yīng)用執(zhí)行新語音動作的一個或多個操作;接收指示特定設(shè)備或安裝在特定設(shè)備上的軟件應(yīng)用的狀態(tài)的上下文信息包括:由語音動作系統(tǒng)將用于特定上下文信息的請求提供給特定設(shè)備;以及響應(yīng)于該請求,接收特定上下文信息。
在其他示例中,這些和其他實施例可以每一個包括一個或多個特征,包括:確定該上下文信息滿足用于第二語音動作的上下文,并且用戶話語的轉(zhuǎn)錄抄本對應(yīng)于與用于該第二語音動作的意圖相關(guān)聯(lián)的一個或多個觸發(fā)項,其中,用于第二語音動作的意圖指定用于執(zhí)行第二語音動作的一個或多個操作;響應(yīng)于該確定,從新語音動作和第二語音動作中選擇語音動作;以及由該語音動作系統(tǒng)將與選擇的語音動作相關(guān)聯(lián)的意圖提供給該特定設(shè)備,由此請求安裝在該特定設(shè)備上的軟件應(yīng)用執(zhí)行選擇的語音動作的一個或多個操作;從該新語音動作和第二語音動作中選擇選擇的語音動作包括響應(yīng)于接收指示用戶選擇新語音動作或第二語音動作中的一個的數(shù)據(jù),選擇選擇的語音動作;從該新語音動作和第二語音動作選擇選擇的語音動作包括:向該新語音動作和選擇的語音動作中的每一個分配得分;以及至少基于分配給新語音動作和第二語音動作的每一個的得分,選擇選擇的語音動作;從該新語音動作和第二語音動作中選擇選擇的語音動作包括響應(yīng)于確定與選擇的語音動作相關(guān)聯(lián)的軟件應(yīng)用正在前臺中操作,選擇選擇的語音動作。
在其他示例中,這些和其他實施例可以每一個包括一個或多個特征,包括:生成用于該軟件應(yīng)用的上下文語音動作意圖包括確定新語音動作的一個或多個操作能夠由該軟件應(yīng)用執(zhí)行;確定由安裝有該軟件應(yīng)用的特定設(shè)備獲得的用戶話語的轉(zhuǎn)錄抄本與該上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項類似;響應(yīng)于該確定,由該語音動作系統(tǒng)將指示確認(rèn)該用戶話語是否指定一個或多個觸發(fā)項,或旨在使該軟件應(yīng)用執(zhí)行該新語音動作的用于用戶輸入的請求的數(shù)據(jù)提供給該特定設(shè)備;響應(yīng)于該請求,由該語音動作系統(tǒng)并且從該特定設(shè)備接收指示確認(rèn)的數(shù)據(jù);以及響應(yīng)于接收指示該確認(rèn)的數(shù)據(jù),由該語音動作系統(tǒng)將該上下文語音動作意圖提供給特定設(shè)備,由此請求安裝在特定設(shè)備上的軟件應(yīng)用執(zhí)行該新語音動作的一個或多個操作。
在其他示例中,這些和其他實施例可以每一個包括由該語音動作系統(tǒng)從與軟件應(yīng)用相關(guān)聯(lián)的開發(fā)人員接收部署用于該軟件應(yīng)用的新語音動作的請求;以及響應(yīng)于該請求,部署用于該軟件應(yīng)用的新語音動作,其中,部署用于該軟件應(yīng)用的新語音動作啟用用于該軟件應(yīng)用的新語音動作;由該語音動作系統(tǒng)從與該軟件應(yīng)用相關(guān)聯(lián)的開發(fā)人員接收撤銷部署用于該軟件應(yīng)用的新語音動作的請求;以及響應(yīng)于該請求,撤銷部署用于該軟件應(yīng)用的新語音動作,其中,撤銷部署用于軟件應(yīng)用的新語音動作禁用用于該軟件應(yīng)用的新語音動作。
在其他示例中,這些和其他實施例可以每一個包括一個或多個特征,包括:由該語音動作系統(tǒng)從與該軟件應(yīng)用相關(guān)聯(lián)的開發(fā)人員接收啟用新語音動作的測試的請求,其中,該請求指定應(yīng)當(dāng)為其啟用該新語音動作的一個或多個設(shè)備;以及響應(yīng)于該請求,啟用用于一個或多個指定的設(shè)備的新語音動作,其中,對不包括在指定的設(shè)備中的設(shè)備,禁用該新語音動作;由該語音動作系統(tǒng)接收由安裝有軟件應(yīng)用的特定設(shè)備獲得的用戶話語的指示;由該語音動作系統(tǒng)確定該用戶話語的轉(zhuǎn)錄抄本對應(yīng)于與該上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項;以及響應(yīng)于該確定,由該語音動作系統(tǒng)將該上下文語音動作意圖提供給該特定設(shè)備,由此請求安裝在該特定設(shè)備上的軟件應(yīng)用執(zhí)行該新語音動作的一個或多個操作。
在附圖和以下描述中闡明了本說明書中所描述的主題的一個或多個實施例的細(xì)節(jié)。主題的其他特征、方面和優(yōu)點將從說明書、附圖和權(quán)利要求書變得顯而易見。
附圖說明
圖1圖示用于語音動作開發(fā)系統(tǒng)和服務(wù)的示例系統(tǒng)。
圖2圖示用于使用語音動作開發(fā)系統(tǒng)和服務(wù),生成新語音動作的示例系統(tǒng)。
圖3圖示用于使用語音動作的示例系統(tǒng)。
圖4是與語音動作開發(fā)系統(tǒng)和服務(wù)相關(guān)聯(lián)的示例過程的流程圖。
各附圖中相同的參考符號指示相同元件。
具體實施方式
圖1示出語音動作系統(tǒng)100的示例。語音動作系統(tǒng)100提供平臺和服務(wù),由此,應(yīng)用開發(fā)人員能為先前已經(jīng)安裝在其他用戶的設(shè)備上的應(yīng)用,建立新語音動作。此后,已經(jīng)在他們的設(shè)備上安裝應(yīng)用的該應(yīng)用的用戶能使用語音命令以便使應(yīng)用執(zhí)行如由新語音動作指定的特定動作。
語音動作系統(tǒng)100從終端102a-102n接收定義由應(yīng)用開發(fā)人員101a-101n提交的新動作的數(shù)據(jù),其中,新語音動作用于一個或多個不同應(yīng)用。語音動作系統(tǒng)100能確定每一新語音動作是否為有效語音動作。確定為有效的每一新語音動作能被引入來生成對應(yīng)于新語音動作的意圖,并且對應(yīng)于新語音動作的意圖能被存儲在語音動作系統(tǒng)100的應(yīng)用語音動作數(shù)據(jù)庫110處。
例如,語音動作系統(tǒng)100可以具有接收和驗證定義新語音動作的數(shù)據(jù)的驗證引擎。驗證數(shù)據(jù)可以包括確定定義語音動作的數(shù)據(jù)的格式符合需求,確定新語音動作與特定應(yīng)用兼容,或者否則確定基于從應(yīng)用開發(fā)人員101a-101n接收的數(shù)據(jù),形成語音動作。語音動作系統(tǒng)100的指示引擎能接收定義新語音動作的驗證數(shù)據(jù),并且能引入該數(shù)據(jù)來生成對應(yīng)于新語音動作的意圖。然后,將該意圖存儲在應(yīng)用語音動作數(shù)據(jù)庫110中。
應(yīng)用語音動作數(shù)據(jù)庫110能存儲屬于能在許多不同軟件應(yīng)用內(nèi)執(zhí)行的活動或動作的語音動作。包括在應(yīng)用語音動作數(shù)據(jù)庫110中的語音動作可以包括當(dāng)建立應(yīng)用時,由應(yīng)用開發(fā)人員101a-101n提交的內(nèi)置語音動作,以及在建立應(yīng)用后,由應(yīng)用開發(fā)人員101a-101n提交的語音動作,用于由該應(yīng)用支持的操作。
語音動作還能包括通過缺省由操作系統(tǒng)支持的專用語音動作。這些預(yù)支持的語音動作可以是能夠在應(yīng)用中實現(xiàn),不必由應(yīng)用開發(fā)人員101a-101n提交給語音動作系統(tǒng)100的語音動作。例如,退出在前臺運行的任務(wù)或活動的語音動作“退出應(yīng)用”可以自動地用于任何應(yīng)用,并且可以包括在用于每一應(yīng)用的應(yīng)用語音動作數(shù)據(jù)庫110中,應(yīng)用開發(fā)人員101a-101n不必將信息提交給語音動作系統(tǒng)100來定義“退出應(yīng)用”語音動作。
除應(yīng)用語音動作數(shù)據(jù)庫110外,語音動作系統(tǒng)100還能包括存儲與任何特定應(yīng)用或上下文不相關(guān)聯(lián)的語音動作的操作系統(tǒng)(os)語音動作數(shù)據(jù)庫120。例如,使設(shè)備進(jìn)入鎖定狀態(tài)的語音動作“鎖定電話”可以是在os語音動作數(shù)據(jù)庫120中指定為與特定應(yīng)用不相關(guān)聯(lián),或普遍可訪問,即,當(dāng)檢測到“鎖定設(shè)備”語音動作時,與設(shè)備的狀態(tài)無關(guān)的語音動作。通常,在os語音動作數(shù)據(jù)庫120中存儲的語音動作為不是基于應(yīng)用開發(fā)人員101a-101n定義語音動作而生成的動作,因為在os語音動作數(shù)據(jù)庫120處存儲的語音動作通用于用戶設(shè)備操作環(huán)境,而不是由第三方應(yīng)用開發(fā)人員101a-101n生成的任何特定應(yīng)用。
語音動作系統(tǒng)100使具有用戶設(shè)備104的用戶105能夠?qū)⒄f出的語音輸入提供給他們的用戶設(shè)備104來使得由用戶設(shè)備104或在他們的用戶設(shè)備104上操作的應(yīng)用執(zhí)行動作。例如,當(dāng)媒體播放器應(yīng)用在用戶設(shè)備104的前臺中運行時,具有用戶設(shè)備104的用戶105具有在他們的用戶設(shè)備104上運行的媒體播放器應(yīng)用并且提供說出的輸入“播放下一首”。
對應(yīng)于說出的輸入和指定用戶設(shè)備104的狀態(tài)的上下文信息的音頻數(shù)據(jù),包括在用戶設(shè)備104上運行的應(yīng)用的狀態(tài),被傳送到語音動作系統(tǒng)100。特別地,對圖1所示的示例,對應(yīng)于語音輸入“播放下一首”的音頻數(shù)據(jù)由語音動作系統(tǒng)100的語音識別引擎130接收,并且指示用戶設(shè)備104的狀態(tài)的上下文信息被語音動作系統(tǒng)100的上下文分析引擎140接收。上下文信息可以指示媒體播放器應(yīng)用正在用戶設(shè)備104的前臺中運行,媒體播放器應(yīng)用目前處于音頻播放器模式,并且可以指示關(guān)于用戶設(shè)備104的狀態(tài)和在用戶設(shè)備104上安裝的應(yīng)用的其他信息。
語音識別引擎130接收對應(yīng)于語音輸入的音頻數(shù)據(jù),生成語音輸入的轉(zhuǎn)錄抄本,并且將語音輸入的轉(zhuǎn)錄抄本提供給語音動作選擇器150。上下文分析引擎140從用戶設(shè)備104接收上下文信息并且處理上下文信息來確定相關(guān)上下文信息。例如,上下文分析引擎140可以分析上下文信息來識別安裝在用戶設(shè)備104上的應(yīng)用,以及與那些應(yīng)用的每一個相關(guān)聯(lián)的元數(shù)據(jù)可以指定用于該應(yīng)用的可用語音動作以及有關(guān)確定對給定設(shè)備狀態(tài),可以啟用哪些語音動作的上下文信息。在一些實例中,基于該分析,上下文分析引擎140可以確定要求附加上下文信息來識別對用戶設(shè)備104的特定狀態(tài),應(yīng)當(dāng)啟用哪些語音動作,因此,上下文分析引擎140可以從用戶設(shè)備104請求附加上下文信息。上下文分析引擎140可以將處理的上下文信息轉(zhuǎn)發(fā)到語音動作選擇器150。
例如,如圖1所示,語音識別引擎130可以接收對應(yīng)于語音輸入“播放下一首”的音頻數(shù)據(jù)并且可以獲得語音輸入的轉(zhuǎn)錄抄本。上下文分析引擎140可以從用戶設(shè)備104接收指定媒體播放器應(yīng)用正在前臺中運行、媒體播放器應(yīng)用正在音頻播放器模式中操作,并且指定關(guān)于用戶設(shè)備104的其他信息的上下文信息。例如,上下文信息還可以指示社交網(wǎng)絡(luò)應(yīng)用正在用戶設(shè)備104的后臺中操作并且用戶設(shè)備104的電池壽命目前為50%。上下文分析引擎140可以接收指示用戶設(shè)備104具有媒體播放器和所安裝的社交網(wǎng)絡(luò)應(yīng)用的信息,并且可以確定媒體播放器應(yīng)用和社交網(wǎng)絡(luò)應(yīng)用均不會基于指示設(shè)備電池壽命的上下文信息啟用語音動作。因此,上下文分析引擎140可以過濾上下文信息來僅指示媒體播放器應(yīng)用正在用戶設(shè)備104的前臺中操作、媒體播放器應(yīng)用處于音頻播放器模式,以及社交網(wǎng)絡(luò)應(yīng)用正在用戶設(shè)備104的后臺中操作。然后,過濾的上下文信息和語音輸入“播放下一首”的轉(zhuǎn)錄抄本被提供給語音動作選擇器150。
語音動作選擇器150從語音識別引擎130接收說出的輸入的轉(zhuǎn)錄抄本和從上下文分析引擎140接收包括處理的上下文信息的上下文。語音動作選擇器150使用轉(zhuǎn)錄抄本和上下文來識別與在用戶設(shè)備104處觸發(fā)的特定語音動作相關(guān)聯(lián)的特定意圖。例如,語音動作選擇器150能訪問應(yīng)用語音動作數(shù)據(jù)庫110和os語音動作數(shù)據(jù)庫120來識別對用戶設(shè)備104的當(dāng)前上下文啟用的候選語音動作的集合。識別候選語音動作的集合能包括識別在應(yīng)用語音動作數(shù)據(jù)庫110或os語音動作數(shù)據(jù)庫120處存儲的、指定與由語音動作選擇器150接收的上下文匹配的上下文的意圖的集合。
已經(jīng)識別對提出的上下文啟用的候選語音動作的集合,語音動作選擇器150能將語音輸入的轉(zhuǎn)錄抄本與啟用的語音動作的每一個相關(guān)聯(lián)的一個或多個觸發(fā)短語比較。通常,觸發(fā)短語能包括一個或多個觸發(fā)項,并且操作為用于語音動作的標(biāo)識符,使得檢測特定觸發(fā)短語中的一個或多個項導(dǎo)致識別和觸發(fā)對應(yīng)于特定觸發(fā)短語的語音動作。例如,語音動作選擇器150能將轉(zhuǎn)錄抄本與啟用的語音動作的意圖相關(guān)聯(lián)的各個觸發(fā)短語比較。語音動作選擇器150基于確定轉(zhuǎn)錄抄本與由特定語音動作相關(guān)聯(lián)的意圖指定的觸發(fā)項匹配,識別用于特定語音動作的特定意圖。
例如,語音動作選擇器150能接收語音輸入“播放下一首”的轉(zhuǎn)錄抄本以及用于用戶設(shè)備104的上下文,并且能使用接收的上下文來基于用戶設(shè)備104的當(dāng)前狀態(tài),識別在用戶設(shè)備104處啟動的候選語音動作,即,能在用戶設(shè)備104處啟動的語音動作。在確定用于用戶設(shè)備104的上下文的候選語音動作的集合后,語音動作選擇器150將語音輸入“播放下一首”的轉(zhuǎn)錄抄本與由候選語音動作的意圖指定的觸發(fā)短語比較。語音動作選擇器150能確定轉(zhuǎn)錄抄本“播放下一首”與由用于媒體播放器應(yīng)用的“播放下一首”語音動作的意圖指定的觸發(fā)短語匹配。
基于確定轉(zhuǎn)錄抄本的至少一部分與觸發(fā)短語的一個或多個項匹配,轉(zhuǎn)錄抄本被識別為匹配于觸發(fā)短語。例如,可以基于轉(zhuǎn)錄抄本的項的每一個與觸發(fā)短語的項的每一個匹配,可以識別轉(zhuǎn)錄抄本和觸發(fā)短語之間的匹配。在一些實現(xiàn)方式中,可以基于確定轉(zhuǎn)錄抄本的并非全部項與觸發(fā)短語的項匹配,識別匹配。例如,即使觸發(fā)短語的一些項不在轉(zhuǎn)錄抄本,即使轉(zhuǎn)錄抄本包括除那些觸發(fā)短語外的項,或即使轉(zhuǎn)錄抄本的一個或多個項不同于觸發(fā)短語的項,轉(zhuǎn)錄抄本也可以與觸發(fā)短語匹配。由此,盡管轉(zhuǎn)錄抄本“新電子郵件”、“發(fā)送新電子郵件”或“打開新電子郵件”的每一個并非精確匹配于觸發(fā)短語,這些轉(zhuǎn)錄抄本的每一個都可以識別為匹配于觸發(fā)短語“打開新電子郵件”。在一些實例中,如果轉(zhuǎn)錄抄本包括以不同于由觸發(fā)短語指定的順序的順序的觸發(fā)短語的一些或全部項,轉(zhuǎn)錄抄本可以被識別為匹配于觸發(fā)短語。例如,轉(zhuǎn)錄抄本“鎖定電話”可以被識別為匹配于“電話鎖定”觸發(fā)短語。在一些實例中,基于確定轉(zhuǎn)錄抄本包括用于觸發(fā)短語的一個或多個同義詞或替選項,可以將轉(zhuǎn)錄抄本識別為匹配于觸發(fā)短語。由此,基于“起草”是“寫”的同義詞,以及“打開”是用于“寫”的識別的替選項,轉(zhuǎn)錄抄本“起草新電子郵件”或“打開新電子郵件”可以被識別為匹配于觸發(fā)短語“寫新電子郵件”。
已經(jīng)識別特定語音動作,語音動作選擇器150將動作觸發(fā)數(shù)據(jù)提供給用戶設(shè)備104,使得啟動與特定語音動作相關(guān)聯(lián)的活動或動作。這樣做,語音動作選擇器150能獲得用于控制用戶設(shè)備104的信息以執(zhí)行與選擇的語音動作相關(guān)聯(lián)的動作或活動。在一些實例中,控制用戶設(shè)備104來執(zhí)行與選擇的語音動作相關(guān)聯(lián)的活動或動作能包括激發(fā)選擇的語音動作的意圖。激發(fā)選擇的語音動作的意圖可以使得用于啟動與選擇的語音動作相關(guān)聯(lián)的活動或動作的信息被提供給用戶設(shè)備104。
例如,用于選擇的語音動作的意圖能包括使得與語音動作相關(guān)聯(lián)的活動或動作由與語音動作相關(guān)聯(lián)的應(yīng)用執(zhí)行的數(shù)據(jù)。被選意圖能被傳送到用戶設(shè)備104,使得由用戶設(shè)備104接收意圖能充當(dāng)請求或能觸發(fā)與語音動作相關(guān)聯(lián)的活動或動作的執(zhí)行。替選地,語音動作選擇器150能確定操作為使選擇的語音動作在用戶設(shè)備104處被執(zhí)行的動作觸發(fā)數(shù)據(jù)的其他數(shù)據(jù),并且能將該信息傳送到用戶設(shè)備104。例如,意圖僅可以識別將由用戶設(shè)備104執(zhí)行的活動或動作來執(zhí)行語音動作,以及語音動作選擇器150能確定能控制用戶設(shè)備104上的應(yīng)用執(zhí)行與語音動作相關(guān)聯(lián)的活動或動作的動作觸發(fā)數(shù)據(jù)。確定的動作觸發(fā)數(shù)據(jù)能被傳送到用戶設(shè)備104,使得動作觸發(fā)數(shù)據(jù)使得與語音動作相關(guān)聯(lián)的活動或動作被執(zhí)行。
例如,在從候選語音動作的集合中選擇“播放下一首”語音動作后,語音動作選擇器150將用于“播放下一首”語音動作的意圖傳送到用戶設(shè)備104,或獲得用于控制在用戶設(shè)備104上運行的媒體播放器應(yīng)用跳到下一首歌的其他信息。語音動作選擇器150將用于控制媒體播放器應(yīng)用跳到下一首歌的數(shù)據(jù)傳送到用戶設(shè)備104,其依次啟動在用戶設(shè)備104上運行的媒體播放器應(yīng)用跳到下一首歌,例如,向前跳到davidbowie的“fame”的歌的過程。
簡而言之,如上所述,圖1的系統(tǒng)包括對應(yīng)于一個或多個應(yīng)用開發(fā)人員101a-101n的一個或多個終端102a-102n。終端102a-102n的每一個能例如在一個或多個有線或無線網(wǎng)絡(luò)上,與語音動作系統(tǒng)100通信。終端102a-102n的每一個能是移動設(shè)備,諸如蜂窩電話、智能電話、平板計算機(jī)、手提計算機(jī)、個人數(shù)字助理(pda)、上網(wǎng)本計算機(jī)或其他移動計算設(shè)備,或可以是任何固定的計算設(shè)備,諸如臺式計算機(jī)或其他固定計算機(jī)。與用戶105相關(guān)聯(lián)的用戶設(shè)備104還能在一個或多個有線或無線網(wǎng)絡(luò)上,與語音動作系統(tǒng)100通信,其中,用戶設(shè)備104也可以是移動或固定計算設(shè)備,諸如蜂窩電話、智能電話、平板計算機(jī)、上網(wǎng)本、個人數(shù)字助理、手提計算機(jī)、臺式計算機(jī)或其他計算設(shè)備。
圖1所示的示例性語音動作系統(tǒng)100包括應(yīng)用語音動作數(shù)據(jù)庫110、操作系統(tǒng)(os)語音動作數(shù)據(jù)庫120、語音識別引擎130、上下文分析引擎140和語音動作選擇器150。語音動作系統(tǒng)100的組件的每一個,包括應(yīng)用語音動作數(shù)據(jù)庫110、os語音動作數(shù)據(jù)庫120、語音識別引擎130、上下文分析引擎140和語音動作選擇器150可以在一個或多個有線或無線數(shù)據(jù)通路上,與語音動作系統(tǒng)100的一個或多個其他組件通信,有線或無線數(shù)據(jù)通路支持電子通信交換。在一些實現(xiàn)方式中,可以合并語音動作系統(tǒng)100的組件中的一個或多個,使得它們的功能由單個組件執(zhí)行,或可以由兩個或以上組件表示,使得它們的功能分散在兩個或以上組件上。語音動作系統(tǒng)100的組件可以實現(xiàn)在單個計算設(shè)備,諸如單個服務(wù)器系統(tǒng)上,或可以實現(xiàn)在組件之間支持電子通信交換的一個或多個有線或無線數(shù)據(jù)通路上通信的多個計算設(shè)備上。
圖2示出使應(yīng)用開發(fā)人員能夠生成用于在一個或多個用戶設(shè)備上安裝的應(yīng)用的新語音動作的示例系統(tǒng)。例如,在應(yīng)用已經(jīng)被發(fā)行并且下載到一個或多個用戶設(shè)備后,應(yīng)用開發(fā)人員能使用語音動作開發(fā)服務(wù),定義新語音動作。語音動作開發(fā)服務(wù)能部署新語音動作來支持用于應(yīng)用的新語音動作,而不要求對應(yīng)用本身的修改。
簡而言之,圖2圖示將語音動作開發(fā)服務(wù)提供給與終端202相關(guān)聯(lián)的應(yīng)用開發(fā)人員201的開發(fā)人員語音動作系統(tǒng)200。終端202可以在使得終端202能夠與開發(fā)人員語音動作系統(tǒng)200交換電子通信的一個或多個有線或無線網(wǎng)絡(luò)連接,諸如有線或無線互聯(lián)網(wǎng)連接上,與開發(fā)人員語音動作系統(tǒng)200通信。開發(fā)人員語音動作系統(tǒng)200包括與驗證標(biāo)準(zhǔn)數(shù)據(jù)庫215通信的驗證引擎210。開發(fā)人員語音動作系統(tǒng)200進(jìn)一步包括與應(yīng)用元數(shù)據(jù)后端225和應(yīng)用語音動作數(shù)據(jù)庫230通信的語法引入引擎220。應(yīng)用語音動作數(shù)據(jù)庫230可以與圖1的應(yīng)用語音動作數(shù)據(jù)庫110類似,并且能存儲由應(yīng)用開發(fā)人員提交以定義用于應(yīng)用的新語音動作并且基于由定義新語音動作的應(yīng)用開發(fā)人員提交的信息的語法生成的意圖。在一些實現(xiàn)方式中,為應(yīng)用開發(fā)人員提供服務(wù)來建立新語音動作的開發(fā)人員語音動作系統(tǒng)200能是圖1的語音動作系統(tǒng)100的一部分。在一些實現(xiàn)方式中,由開發(fā)人員語音動作系統(tǒng)200的組件執(zhí)行的操作可以由開發(fā)人員語音動作系統(tǒng)200的不同組件來執(zhí)行的操作。開發(fā)人員語音動作系統(tǒng)200可以包括更多、更少或不同的組件來執(zhí)行如由開發(fā)人員語音動作系統(tǒng)200執(zhí)行的所述操作。
如圖2所示,使用終端202,應(yīng)用開發(fā)人員201能將定義新語音動作的信息提交給開發(fā)人員語音動作系統(tǒng)200。例如,終端202可以包括用于開發(fā)人員語音動作服務(wù)的應(yīng)用,或終端202能夠例如通過在互聯(lián)網(wǎng)上,訪問網(wǎng)站處的開發(fā)人員語音動作服務(wù),在網(wǎng)絡(luò)連接上,遠(yuǎn)程訪問開發(fā)人員語音動作。在其他實現(xiàn)方式中,可以由開發(fā)人員語音動作系統(tǒng)200托管開發(fā)人員語音動作服務(wù),使得終端202能在終端202和開發(fā)人員語音動作系統(tǒng)200之間的網(wǎng)絡(luò)連接上,訪問開發(fā)人員語音動作系統(tǒng)200處的開發(fā)人員語音動作服務(wù)。
為實現(xiàn)用于特定應(yīng)用的新語音動作,應(yīng)用開發(fā)人員201能將定義新語音動作的新語法提交給開發(fā)人員語音動作系統(tǒng)200,或能將定義新語音動作的其他信息提交給開發(fā)人員語音動作系統(tǒng)200。在圖2所示的示例中,為實現(xiàn)新語音動作,應(yīng)用開發(fā)人員201首先定義用于已經(jīng)安裝在一個或多個用戶設(shè)備上的媒體播放器應(yīng)用的新語音動作。這樣做,應(yīng)用開發(fā)人員201提交定義用于媒體播放器應(yīng)用的新語音動作的語法。由應(yīng)用開發(fā)人員201提交的語法指定應(yīng)用,即媒體播放器應(yīng)用、將與新語音動作相關(guān)聯(lián)的觸發(fā)短語“播放下一首”、響應(yīng)于檢測“播放下一首”觸發(fā)短語,即跳到下一首歌,執(zhí)行的動作、以及用于當(dāng)新語音動作被啟用,即媒體播放器應(yīng)用必須在用戶設(shè)備的前臺中操作以及媒體播放器應(yīng)用必須處于音頻播放器模式,時的上下文。
由應(yīng)用開發(fā)人員201提交的語法可以是以使得應(yīng)用開發(fā)人員201容易定義新語音動作的特定格式,無需熟悉用于語音動作意圖的、由開發(fā)人員語音動作系統(tǒng)200使用的特定數(shù)據(jù)格式。在其他實現(xiàn)方式中,應(yīng)用開發(fā)人員201能提交能由開發(fā)人員語音動作系統(tǒng)200的驗證引擎210或另一組件接收并且被轉(zhuǎn)換以生成定義新語音動作的語法的其他信息。例如,應(yīng)用開發(fā)人員201可以利用包括應(yīng)用開發(fā)人員201能完成以定義新語音動作的字段的表格來表示。表格可以使應(yīng)用開發(fā)人員201能夠指定有關(guān)新語音動作的信息,例如應(yīng)用、用于新語音動作的觸發(fā)短語和響應(yīng)于觸發(fā)短語,由應(yīng)用執(zhí)行或相對于應(yīng)用的活動或動作。該表格能允許應(yīng)用開發(fā)人員201提供對待啟用的新語音動作,即,對將作為用戶使用觸發(fā)短語觸發(fā)的候選語音動作的語音動作,要求用戶設(shè)備的或在用戶設(shè)備上操作的一個或多個應(yīng)用的特定狀態(tài)的上下文??梢栽诒砀裉庉斎胗斜匾蚩蛇x地用來定義新語音動作的其他信息。由應(yīng)用開發(fā)人員201提供的表格字段中的條目可以被轉(zhuǎn)換成用于提交給開發(fā)人員語音動作系統(tǒng)200的語法,或條目可以由開發(fā)人員語音動作系統(tǒng)200接收并且在開發(fā)人員語音動作系統(tǒng)200處轉(zhuǎn)換成語法。替選地,應(yīng)用開發(fā)人員201可以通過使用提交給開發(fā)人員語音動作系統(tǒng)200的語法格式,或使用另一格式,諸如定界符分隔的值(dsv)格式,輸入必要信息,來定義新語音動作。
在一些實現(xiàn)方式中,可以開發(fā)新語音動作來執(zhí)行在用戶設(shè)備上操作的軟件應(yīng)用中的一個或多個操作、通常相對于用戶設(shè)備,執(zhí)行一個或多個操作(即,控制用戶設(shè)備的硬件)、控制用戶設(shè)備外部的應(yīng)用(即,在不同設(shè)備上操作的應(yīng)用)、或控制用戶設(shè)備外部的另一設(shè)備。例如,應(yīng)用開發(fā)人員201可以提供定義新語音動作的語法來控制用戶設(shè)備上的特定應(yīng)用(例如社交網(wǎng)絡(luò)應(yīng)用或媒體播放器應(yīng)用)、控制用戶設(shè)備(例如改變設(shè)備的屏幕的方位或使設(shè)備斷電)、控制在不同設(shè)備上操作的應(yīng)用(例如,控制在用戶設(shè)備外的有線電視盒上操作的有線電視軟件)、或控制與用戶設(shè)備分離的另一設(shè)備(例如,使用提供給用戶設(shè)備的語音輸入,控制車庫門)。在一些實現(xiàn)方式中,能定義語音動作,以便觸發(fā)語音動作使得兩個或以上不同活動或動作將在兩個或以上不同應(yīng)用或設(shè)備處被執(zhí)行。
由應(yīng)用開發(fā)人員201指定的上下文識別對啟用的語音動作,必須滿足的一個或多個條件,即,不會由與語音動作相關(guān)聯(lián)的觸發(fā)短語來觸發(fā)該語音動作,除非還滿足上下文。應(yīng)用開發(fā)人員201能將上下文定義為具有一個或多個不同需求或條件。
在一些實例中,由應(yīng)用開發(fā)人員201提交的上下文可以指定用戶設(shè)備的狀態(tài)或?qū)傩?,諸如是否上電或鎖定用戶設(shè)備、用戶設(shè)備是否具有相機(jī)、陀螺儀、氣壓計或其他組件或特征。由此,例如如果從用戶設(shè)備接收的上下文信息指示用戶設(shè)備不具有相機(jī),不會啟用使用安裝在用戶設(shè)備上的應(yīng)用拍攝照片的語音動作。
在其他示例中,上下文要求特定應(yīng)用在用戶設(shè)備的前臺或后臺中操作。例如,如圖2所示,僅當(dāng)媒體播放器應(yīng)用在用戶設(shè)備204的前臺中操作時,可以啟用“播放下一首”語音動作,但如果媒體播放器應(yīng)用關(guān)閉或在用戶設(shè)備204的后臺中操作時則不是如此。在其他示例中,利用當(dāng)應(yīng)用在后臺中操作時啟用語音動作的上下文,定義語音動作。例如,社交網(wǎng)絡(luò)應(yīng)用可以具有相關(guān)的語音動作來接受與另一用戶連接的請求,以及用戶能夠觸發(fā)語音動作來接受與另一用戶連接的請求,即使社交網(wǎng)絡(luò)應(yīng)用僅在用戶設(shè)備的后臺中操作。
上下文可以附加或可替選地要求啟用在用于語音動作的特定模式中操作的特定應(yīng)用。模式可以是應(yīng)用正執(zhí)行的特定活動或任務(wù)。例如,電子郵件應(yīng)用可以被確定為處于電子郵件撰寫模式,媒體播放器應(yīng)用可以處于音頻播放器模式,或相機(jī)應(yīng)用可以處于相機(jī)模式或相冊查看模式。用戶設(shè)備能夠確定特定應(yīng)用操作在哪一模式,并且可以將那一信息包括在被用來確定是否啟用特定語音動作的上下文信息中。
附加地,在一些實例中,上下文可以要求應(yīng)用模式具有某些狀態(tài)。例如,上下文可以指示僅當(dāng)媒體播放器應(yīng)用處于電影播放器模式時以及當(dāng)電影播放器模式中的應(yīng)用的狀態(tài)是應(yīng)用目前正播放電影時,啟用“暫停”電影的語音動作。在一些實例中,用戶設(shè)備不能確定在特定模式中操作的應(yīng)用的狀態(tài)。在那些實例中,有必要配置該應(yīng)用來在特定模式中提供指示該應(yīng)用的狀態(tài)的信息。由此,在用于特定應(yīng)用的上下文中指定這樣的條件可以要求修改應(yīng)用本身,以便由用戶設(shè)備提供的上下文信息包括所需的狀態(tài)信息。
在一些示例中,為語音動作指定的上下文要求在用戶設(shè)備的屏幕上顯示特定對象或?qū)ο箢愋蛠韱⒂谜Z音動作。例如,上下文可以指定僅當(dāng)在用戶設(shè)備的顯示器輸出圖像,才啟用“保存圖像”語音動作,或可以指定如果顯示器上呈現(xiàn)文本,才使得“高亮”語音動作可用。在另一示例中,僅當(dāng)上下文信息指示在用戶設(shè)備的顯示器上呈現(xiàn)數(shù)字“1”或項目符號,或存在顯示器上呈現(xiàn)的項目列表時,選擇列表中的特定項目的語音動作,諸如“選擇第一首”的語音動作才可用。在一些實例中,用戶設(shè)備能夠確定在給定時刻,例如當(dāng)應(yīng)用在顯示器的控制中時,在顯示器處呈現(xiàn)什么信息。由此,如果上下文指定對待啟用的語音動作,必須在顯示器處輸出某些信息或信息類型,那么有必要修改該應(yīng)用以提供那一信息。然后,用戶設(shè)備能將指示在用戶設(shè)備的顯示器處輸出什么的信息包括在被用來確定是否應(yīng)當(dāng)啟用特定語音動作的上下文信息中。
在其他實例中,上下文要求在用戶設(shè)備處輸出通知或特定類型的通知。例如,當(dāng)收到新電子郵件時,向用戶提供彈出通知的電子郵件應(yīng)用可以具有對當(dāng)通過應(yīng)用新電子郵件通知被輸出到用戶設(shè)備的顯示器時啟用的“讀取電子郵件”關(guān)聯(lián)的語音動作。由此,上下文信息可以指示通知是否被輸出到用戶設(shè)備的顯示器,以及信息可以被用于確定是否應(yīng)當(dāng)啟用“讀取電子郵件”。
在一些示例中,上下文要求用戶設(shè)備處于用于待啟用的語音動作的特定地理位置。用戶設(shè)備能夠基于接入與特定地理位置相關(guān)聯(lián)的互聯(lián)網(wǎng)連接,使用蜂窩塔三角測量,使用全球定位系統(tǒng)(gps)技術(shù)或使用其他手段,確定其地理位置。用戶設(shè)備可以將指示其地理位置的信息包括在上下文信息中,以及可以基于滿足上下文的地理位置需求的地理位置,啟用語音動作。例如,與用于零售店的應(yīng)用的語音動作相關(guān)聯(lián)的上下文可以指定僅當(dāng)具有零售店應(yīng)用的用戶設(shè)備在零售店中的一個的范圍內(nèi)時,才應(yīng)當(dāng)處理某些語音動作?;趤碜杂脩粼O(shè)備的指示用戶設(shè)備的地理位置對應(yīng)于在零售店中的一個的范圍內(nèi)的地理位置的上下文信息,啟用用于零售店應(yīng)用的語音動作。
由應(yīng)用開發(fā)人員定義的上下文還能指示在某些時間、日期、月、季期間,或當(dāng)滿足其他時間條件時,才啟用與上下文相關(guān)聯(lián)的語音動作。例如,上下文可以指定僅當(dāng)從用戶設(shè)備或從另一信息源接收的上下文信息滿足時間條件時,才啟用某些語音動作。例如,用于銀行應(yīng)用的語音動作可以與包括時間條件的上下文相關(guān)聯(lián),使得僅當(dāng)上下文信息指示當(dāng)提交語音動作時的時間在6:00am和10:00pm之間時,才啟用語音動作。
上下文可以指定用于待啟用的語音動作的其他需求。例如,開發(fā)人員語音動作系統(tǒng)200可以訪問來自除用戶設(shè)備外的源的信息,或能夠從用戶設(shè)備接收從一個或多個信息源獲得的信息。從其他源接收的信息能是用于啟用語音動作的要求的上下文信息。這樣的信息能包括例如天氣信息、用戶的情緒信息、新聞信息、股票市場信息或其他信息。例如,開發(fā)人員語音動作系統(tǒng)200能夠通過一個或多個有線或無線網(wǎng)絡(luò)連接,例如互聯(lián)網(wǎng)連接或與服務(wù)器系統(tǒng)的其他網(wǎng)絡(luò)連接,訪問其他信息源。用于語音動作的上下文可以指定僅當(dāng)用于對應(yīng)于相關(guān)用戶設(shè)備的位置的地理區(qū)域的天氣信息指示那一位置正下雨,才啟用語音動作。為檢查是否滿足上下文條件,開發(fā)人員語音動作系統(tǒng)200能夠在一個或多個網(wǎng)絡(luò)連接上,訪問用戶設(shè)備的已知位置的天氣信息。
能將定義由應(yīng)用開發(fā)人員201提交的新語音動作的語法或其他信息在網(wǎng)絡(luò)上,從終端202提交給開發(fā)人員語音動作系統(tǒng)200。在開發(fā)人員語音動作系統(tǒng)200處,由驗證引擎210接收提交的語法。如果應(yīng)用開發(fā)人員201將定義語音動作,但不是以語法格式的信息提交給開發(fā)人員語音動作系統(tǒng)200,開發(fā)人員語音動作系統(tǒng)200可以將定義新語音動作的信息轉(zhuǎn)換成語法。驗證引擎210分析該語法來確定提交的語法是否可以被引入用于新語音動作的意圖中。例如,驗證引擎210能夠確定由語法指定的觸發(fā)短語是否是有效觸發(fā)短語,確定由語法指定的活動是否能由特定的應(yīng)用執(zhí)行,能確定提交的語法的格式是否句法上有效,能確定由請求指定的上下文是否有效,或否則能確定提交的語法是否是能被引入以生成用于新語音動作的意圖的有效語法。為執(zhí)行該驗證,驗證引擎210訪問包括被用來驗證語法的規(guī)則的驗證標(biāo)準(zhǔn)數(shù)據(jù)庫215。
例如,驗證引擎210接收指定用于媒體播放器應(yīng)用的新語音動作的語法。語法指定觸發(fā)短語“播放下一首”,該觸發(fā)短語“播放下一首”應(yīng)當(dāng)使媒體播放器應(yīng)用跳到下一首歌,以及上下文指定當(dāng)媒體播放器應(yīng)用在前臺操作并且是音頻播放器模式時,才能啟用新語音動作。驗證引擎210能在驗證標(biāo)準(zhǔn)數(shù)據(jù)庫215處訪問驗證規(guī)則并且基于規(guī)則,驗證接收的語法。例如,驗證引擎210可以確定媒體播放器應(yīng)用是否是現(xiàn)有應(yīng)用,使得對特定應(yīng)用,創(chuàng)建新語音動作。驗證引擎210可以訪問指定觸發(fā)短語必須是長度大于1個語音音節(jié)的規(guī)則,并且可以基于確定觸發(fā)短語“播放下一首”長于1個語音音節(jié),驗證觸發(fā)短語“播放下一首”。驗證規(guī)則可以指定媒體播放器應(yīng)用能執(zhí)行的可能動作列表,并且可以基于確定跳到下一首歌是驗證引擎210能夠執(zhí)行的操作,驗證跳到下一首歌的特定的動作。驗證引擎210可以驗證由語法指定的上下文以確保該上下文不包含矛盾。例如,驗證引擎可以確保對待啟用的新語音動作,特定的上下文不要求應(yīng)用在前臺操作并且也在后臺操作,因為只能滿足兩個條件中的一個。其他驗證標(biāo)準(zhǔn)可以應(yīng)用于接收的語法來確定由應(yīng)用開發(fā)人員201提交的語法是否有效。
可以由驗證引擎210執(zhí)行其他形式的驗證。例如,驗證引擎210可以確定是否授權(quán)應(yīng)用開發(fā)人員201來生成用于特定應(yīng)用的新語音動作,可以確定是否已經(jīng)支付生成新語音動作所需的費用,或者否則可以確定由應(yīng)用開發(fā)人員201提交的語法是否導(dǎo)致創(chuàng)建用于新語音動作的意圖。
基于由驗證引擎210執(zhí)行驗證的結(jié)果,能將指示該語法是否有效的反饋提供給應(yīng)用開發(fā)人員201。如果驗證引擎210確定該語法無效,驗證引擎210可以使終端202輸出指示語法無效并且請求應(yīng)用開發(fā)人員201校正語法的信息,或可以建議應(yīng)用開發(fā)人員201能校正語法的方式。例如,如果語法被確定為無效,因為它指定不能由特定的應(yīng)用執(zhí)行動作(例如,如果語法指定新語音動作應(yīng)當(dāng)使媒體播放器應(yīng)用打開新電子郵件),那么驗證引擎210可以使指示該語法指定與特定的應(yīng)用不兼容的動作的信息在終端202處輸出,并且可以指示應(yīng)用開發(fā)人員201可以通過改變特定的動作或特定的應(yīng)用來校正語法。如果提交的語法有效,驗證引擎210可以提供提交的語法有效的指示。
附加地,驗證引擎210可以從應(yīng)用開發(fā)人員201請求附加輸入。例如,如果語法被確定為有效,驗證引擎210可以為應(yīng)用開發(fā)人員201提供繼續(xù)生成新語音命令的選項,使得不會由該語法生成用于新語音命令的意圖,除非應(yīng)用開發(fā)人員201確認(rèn)他們希望繼續(xù)生成新語音命令。這可以使得應(yīng)用開發(fā)人員201確定他們是否將語法正確地提交給開發(fā)人員語音動作系統(tǒng)200,而不必繼續(xù)新語音動作的語法引入或部署。
基于由應(yīng)用開發(fā)人員201提交的語法被驗證,并且可選地,應(yīng)用開發(fā)人員201提供指示應(yīng)當(dāng)繼續(xù)語音動作生成過程的輸入,能由驗證引擎210將語法提供給語法引入引擎220。語法引入引擎220能引入接收的語法來生成用于新語音動作的意圖。生成的意圖能指定包括在定義新語音動作的語法中的信息。例如,語法引入引擎220能引入接收的語法來生成指定應(yīng)用、觸發(fā)短語、響應(yīng)于檢測到觸發(fā)短語執(zhí)行的動作或活動以及對該新語音動作指定的上下文中的一個或多個的意圖數(shù)據(jù)結(jié)構(gòu)的實例。語法引入引擎220能將用于新語音動作的意圖存儲在應(yīng)用語音動作數(shù)據(jù)庫230處。
例如,如圖2所示,語法引入引擎220能接收由應(yīng)用開發(fā)人員201提交的、由驗證引擎210驗證的語法。語法引入引擎220能基于接收的語法,對新語音動作,生成新意圖,“意圖y”。為生成該意圖,語法引入引擎220可以生成意圖數(shù)據(jù)結(jié)構(gòu)的新實例并且可以用包括在接收的語法中的信息,包括指定媒體播放器應(yīng)用的信息、指定觸發(fā)短語“播放下一首”的信息、指定在媒體播放器應(yīng)用中,“播放下一首”語音動作應(yīng)當(dāng)與跳到下一首歌相關(guān)聯(lián)的信息,以及指定指示當(dāng)媒體播放器應(yīng)用在前臺操作并且在音頻播放器模式中操作時,應(yīng)當(dāng)啟用“播放下一首”語音動作的上下文的信息填充意圖數(shù)據(jù)結(jié)構(gòu)。
能在包括用于其他語音動作的其他意圖,諸如“意圖x”和“意圖z”的應(yīng)用語音動作數(shù)據(jù)庫230處,由語法引入引擎220存儲新“意圖y”?!耙鈭Dx”和“意圖z”的每一個可以與用于其他應(yīng)用的其他語音動作相關(guān)聯(lián),或與用于媒體播放器應(yīng)用的其他語音動作相關(guān)聯(lián)。一旦新“意圖y”被存儲在應(yīng)用語音動作數(shù)據(jù)庫230處,可以部署新語音動作,使得可以由將媒體播放器應(yīng)用存儲在他們的設(shè)備上的用戶使用新語音動作。即,一旦部署,媒體播放器應(yīng)用的用戶可以使用新“播放下一首”語音動作,而不必更新他們的應(yīng)用。
在一些實現(xiàn)方式中,引入語法以生成意圖還可以包含生成至少基于由應(yīng)用開發(fā)人員201提交的觸發(fā)項的一個或多個替選觸發(fā)項,并且將替選觸發(fā)項包括在為新語音動作生成的意圖中。例如,可以將一個或多個擴(kuò)展規(guī)則、同義詞規(guī)則、可選規(guī)則、替代規(guī)則、重寫規(guī)則或其他規(guī)則應(yīng)用于由應(yīng)用開發(fā)人員201提交的觸發(fā)項來確定替選觸發(fā)項。語法引入引擎220可以將替選觸發(fā)項包括在用于新語音動作的意圖中,使得檢測由應(yīng)用開發(fā)人員201提交的觸發(fā)項或替選觸發(fā)項會導(dǎo)致觸發(fā)語音動作。
附加地,在一些實現(xiàn)方式中,語法引入引擎220會與意圖數(shù)據(jù)結(jié)構(gòu)分開地存儲與新意圖相關(guān)的信息。例如,可以與用于新語音動作的意圖分開地存儲指定用于待啟用的新語音動作所需的上下文的信息,或與新語音動作相關(guān)聯(lián)的觸發(fā)項。在這些實例中,從用戶設(shè)備接收的上下文信息或從用戶設(shè)備接收的觸發(fā)項可以與該意圖相關(guān)聯(lián)的上下文和觸發(fā)項比較,而不必訪問意圖中的數(shù)據(jù)??梢曰诖_定接收的上下文信息和/或觸發(fā)項與意圖相關(guān)聯(lián)的各自的上下文和/或觸發(fā)項匹配,觸發(fā)該意圖。以這種方式,僅需要將觸發(fā)與新語音動作相關(guān)聯(lián)的活動或動作所需的信息包括在意圖中,以及可以從意圖外部地存儲用來選擇用于觸發(fā)的意圖,用來識別意圖或其他信息的其他信息。例如,開發(fā)人員語音動作系統(tǒng)200可以存儲查找表、鏈接列表或?qū)⑸舷挛幕蛴|發(fā)項信息映射到特定意圖的其他數(shù)據(jù),以便上下文和觸發(fā)項的特定配對的識別可以使與所述配對相關(guān)聯(lián)的意圖被觸發(fā)。
在一些實現(xiàn)方式中,開發(fā)人員語音動作系統(tǒng)200還可以為應(yīng)用開發(fā)人員201提供能力來在被部署為公眾使用前,測試新語音動作。例如,開發(fā)人員語音動作系統(tǒng)200可以為應(yīng)用開發(fā)人員201提供能力來使用終端202測試新語音動作,而該語音動作對于其他用戶不可用。開發(fā)人員語音動作系統(tǒng)200還可以為應(yīng)用開發(fā)人員201提供能力來指定應(yīng)當(dāng)啟用新語音動作的一個或多個用戶設(shè)備以便測試。例如,應(yīng)用開發(fā)人員201可以指定對已知用戶設(shè)備的貝塔測試組,應(yīng)當(dāng)部署新語音動作,來在部署用于公眾使用的新語音動作前,確保新語音動作的適當(dāng)操作。
在一些實現(xiàn)方式中,開發(fā)人員語音動作系統(tǒng)200可以通過改變與意圖相關(guān)聯(lián)的設(shè)置,支持新語音動作的測試,使得基于從指定用于測試的用戶設(shè)備中的一個接收語音命令,識別和觸發(fā)意圖。例如,開發(fā)人員語音動作系統(tǒng)200可以存儲用于在應(yīng)用語音動作數(shù)據(jù)庫230中存儲的意圖的每一個的設(shè)置,其中,設(shè)置指示用于特定語音動作的意圖是否已經(jīng)被部署為公眾使用,或可以識別為測試目的部署意圖的特定用戶設(shè)備。在將意圖存儲在應(yīng)用語音動作數(shù)據(jù)庫230后,開發(fā)人員語音動作系統(tǒng)200可以從終端202接收指示為測試目的,對一個或多個用戶設(shè)備的特定集合,應(yīng)當(dāng)啟用該意圖的信息。作為響應(yīng),可以更新用于該意圖的設(shè)置來將該意圖部署到特定用戶設(shè)備集合,使得可以觸發(fā)與該意圖相關(guān)聯(lián)的語音動作。一旦為測試啟用,在該集合中,從用戶設(shè)備接收的語音輸入可以使意圖被觸發(fā),由此允許測試語音動作。
在其他實施例中,在用于新語音動作的意圖被存儲在應(yīng)用語音動作數(shù)據(jù)庫230中前,開發(fā)人員語音動作系統(tǒng)200可以啟用測試新語音動作。例如,應(yīng)用開發(fā)人員201可以指示他們希望在被部署前,測試新語音動作,并且可以指示應(yīng)當(dāng)暫時啟用新語音動作以測試的多個用戶設(shè)備或用戶帳戶。在生成用于新語音動作的意圖后,開發(fā)人員語音動作系統(tǒng)200可以啟用用于特定用戶設(shè)備或用戶帳戶的語音動作,使得如果用戶將與新語音動作相關(guān)聯(lián)的觸發(fā)短語提供為用戶設(shè)備中的一個的輸入,特定用戶設(shè)備或與特定用戶帳戶相關(guān)聯(lián)的用戶設(shè)備會觸發(fā)新語音動作。
在又一實現(xiàn)方式中,在由語法引入引擎220引入用于新語音動作的語法前,開發(fā)人員語音動作系統(tǒng)200能提供用于新語音動作的測試能力。例如,在驗證接收的語法后,驗證引擎210或開發(fā)人員語音動作系統(tǒng)200的另一組件能夠模擬由該語法定義的新語音動作的操作來使得應(yīng)用開發(fā)人員201或其他設(shè)備的用戶來測試新語音動作。在一些實例中,模擬新語音動作要求終端202或用于測試的其他用戶設(shè)備來利用由開發(fā)人員語音動作系統(tǒng)200提供的模擬器或測試模式來模擬新語音動作的操作。在引入新語法前,提供測試能力能允許由應(yīng)用開發(fā)人員201更快反復(fù)測試新語音動作,由此加速整個語音動作開發(fā)過程。
還能由開發(fā)人員語音動作系統(tǒng)200提供部署語音動作和撤銷語音動作的部署的能力。例如,在將定義新語音動作的語法由應(yīng)用開發(fā)人員201提交給開發(fā)人員語音動作系統(tǒng)200、驗證、引入以生成新意圖,并且已經(jīng)將新意圖存儲在應(yīng)用語音動作數(shù)據(jù)庫230后,開發(fā)人員語音動作系統(tǒng)200可以請求應(yīng)用開發(fā)人員201是否希望部署新語音動作。應(yīng)用開發(fā)人員201可以選擇部署新語音動作,其中,部署新語音動作使得在安裝與新語音動作相關(guān)聯(lián)的應(yīng)用的一般公眾的用戶設(shè)備處觸發(fā)新語音動作。應(yīng)用開發(fā)人員201能在終端202處提供輸入來部署新語音動作。然后,能部署新語音動作,使得新語音動作能夠在已經(jīng)安裝與新語音動作相關(guān)聯(lián)的應(yīng)用的其他用戶設(shè)備上被觸發(fā)。即,在部署新語音動作后,在已經(jīng)安裝應(yīng)用的用戶設(shè)備處,用于新語音動作的觸發(fā)短語的輸入將導(dǎo)致與新語音動作相關(guān)聯(lián)的意圖被觸發(fā)。觸發(fā)與新語音動作相關(guān)聯(lián)的意圖使得該意圖或其他動作觸發(fā)數(shù)據(jù)被傳送到用戶設(shè)備,以便該意圖真正的數(shù)據(jù)或動作觸發(fā)數(shù)據(jù)使得將由用戶設(shè)備來執(zhí)行語音動作的動作或活動。如上所述,部署該意圖僅要求開發(fā)人員語音動作系統(tǒng)200更新與新語音動作的意圖相關(guān)聯(lián)的設(shè)置,以響應(yīng)于語音輸入,使得該意圖、候選意圖被觸發(fā)。
在已經(jīng)部署語音動作后,應(yīng)用開發(fā)人員201可以撤銷新語音動作的部署,使得在已經(jīng)安裝與新語音動作相關(guān)聯(lián)的應(yīng)用的用戶設(shè)備處,不再觸發(fā)新語音動作。例如,應(yīng)用開發(fā)人員201可以將識別語音動作和指示撤銷語音動作的部署的意圖的輸入提供給開發(fā)人員語音動作系統(tǒng)200。作為響應(yīng),開發(fā)人員語音動作系統(tǒng)200例如可以通過更新與用于語音動作的意圖相關(guān)聯(lián)的設(shè)置,撤銷語音動作的部署,使得不能觸發(fā)用于語音動作的意圖。由于部署或收回語音動作僅要求開發(fā)人員語音動作系統(tǒng)200更新在開發(fā)人員語音動作系統(tǒng)200處存儲的信息,而不改變安裝在用戶的設(shè)備上的應(yīng)用,應(yīng)用開發(fā)人員201可以易于部署或撤銷語音動作的部署。
在一些實現(xiàn)方式中,開發(fā)人員語音動作系統(tǒng)200還能生成用于新語音動作的可發(fā)現(xiàn)性示例。可發(fā)現(xiàn)性示例能包括告知用戶特定語音動作可用、能呈現(xiàn)給用戶設(shè)備的用戶的信息,可以包括在安裝應(yīng)用后,由開發(fā)人員提交的新語音動作。在一些示例中,響應(yīng)于用戶設(shè)備具有與語音動作相關(guān)聯(lián)的上下文匹配的狀態(tài),或響應(yīng)于用戶詢問哪些語音動作可用,輸出可發(fā)現(xiàn)性示例。
例如,基于接收定義新語音動作的語法,語法引入引擎220或開發(fā)人員語音動作系統(tǒng)200的另一組件能生成用于由該語法定義的語音動作的可發(fā)現(xiàn)性示例,并且能將可發(fā)現(xiàn)性示例存儲在應(yīng)用元數(shù)據(jù)后端225中??梢詫⒖砂l(fā)現(xiàn)性示例提供給已經(jīng)安裝與新語音動作相關(guān)聯(lián)的應(yīng)用的用戶設(shè)備。例如,可以定期地更新應(yīng)用的元數(shù)據(jù)來包括在應(yīng)用元數(shù)據(jù)后端225中存儲的、用于該應(yīng)用的可發(fā)現(xiàn)性示例的當(dāng)前列表,替選地,基于用戶設(shè)備提交指示其當(dāng)前狀態(tài)的上下文信息,可以將信息傳送到用戶設(shè)備,使得在用戶設(shè)備處輸出為用戶設(shè)備的狀態(tài)啟用的語音動作的可發(fā)現(xiàn)性示例。
例如,除生成用于“播放下一首”語音動作的新“意圖y”,開發(fā)人員語音動作系統(tǒng)200可以生成用于“播放下一首”語音動作的一個或多個可發(fā)現(xiàn)性示例??砂l(fā)現(xiàn)性示例可以包括在具有媒體播放器應(yīng)用的用戶設(shè)備處輸出的信息?;跐M足與“播放下一首”語音動作相關(guān)聯(lián)的上下文,或基于其他條件,可以在用戶設(shè)備處輸出可發(fā)現(xiàn)性示例。例如,用于“播放下一首”語音動作的可發(fā)現(xiàn)性示例能是每當(dāng)媒體播放器應(yīng)用在用戶設(shè)備的前臺中操作并且處于音頻播放器模式時輸出的消息“再試一次“播放下一首””。在一些實現(xiàn)方式中,可以響應(yīng)于其他事件或條件,輸出可發(fā)現(xiàn)性示例。例如,可以響應(yīng)于用戶設(shè)備的用戶通過按壓按鈕或控制,或通過說出“我能說什么語音動作?”,向用戶設(shè)備提供輸入,輸出可發(fā)現(xiàn)性示例消息“再試一次“播放下一首””。
通常,可以將用于應(yīng)用語音動作的可發(fā)現(xiàn)性示例提供給用戶,無需應(yīng)用本身的動作。例如,開發(fā)人員語音動作系統(tǒng)200可以將包括可發(fā)現(xiàn)性示例的數(shù)據(jù)提供給用戶設(shè)備,以及用戶設(shè)備可以使可發(fā)現(xiàn)性示例被輸出,無需要求與可發(fā)現(xiàn)性示例有關(guān)的應(yīng)用執(zhí)行操作。在一些實現(xiàn)方式中,在用戶設(shè)備上操作的os能夠接收可發(fā)現(xiàn)性示例或訪問指定可發(fā)現(xiàn)性示例的應(yīng)用元數(shù)據(jù),或使可發(fā)現(xiàn)性示例在用戶設(shè)備處被輸出。由此,可以提供用于與特定應(yīng)用有關(guān)的語音動作的可發(fā)現(xiàn)性示例以便輸出,無需修改特定應(yīng)用。
在一些實現(xiàn)方式中,能以用戶將理解不是由應(yīng)用本身提供可發(fā)現(xiàn)性示例的方式,輸出用于應(yīng)用語音動作的可發(fā)現(xiàn)性示例。例如,用戶設(shè)備能以很顯然可發(fā)現(xiàn)性示例由開發(fā)人員語音動作系統(tǒng)200或os,而不是與語音動作有關(guān)的特定應(yīng)用提供的方式,提供可發(fā)現(xiàn)性示例。例如,當(dāng)提供可發(fā)現(xiàn)性示例時,用戶設(shè)備可以使用識別為與用戶設(shè)備的os相關(guān)聯(lián)的特定計算機(jī)化語音語調(diào)。替選地,可以以明確該應(yīng)用不提供可發(fā)現(xiàn)性示例的方式,輸出可發(fā)現(xiàn)性示例。例如,可以輸出說出“再試一次“播放下一首”或“暫?!币约白屆襟w播放器應(yīng)用處理你的請求”的可發(fā)現(xiàn)性示例來將os的角色與由媒體播放器應(yīng)用本身執(zhí)行的動作分開。也可以實現(xiàn)指示由單獨的系統(tǒng)或應(yīng)用提供可發(fā)現(xiàn)性示例的其他方式。
圖3示出用于處理從用戶設(shè)備的用戶接收語音動作的示例性語音動作系統(tǒng)300。在一些實現(xiàn)方式中,在將應(yīng)用下載到用戶設(shè)備后,由語音動作系統(tǒng)300處理的語音動作可以是應(yīng)用開發(fā)人員已經(jīng)為應(yīng)用創(chuàng)建的語音動作??梢允褂脠D2的開發(fā)人員語音動作系統(tǒng)200,對該應(yīng)用創(chuàng)建由應(yīng)用開發(fā)人員創(chuàng)建的語音動作。
簡而言之,語音動作系統(tǒng)300在一個或多個有線或無線網(wǎng)絡(luò),諸如使用戶設(shè)備304與語音動作系統(tǒng)300交換電子通信的一個或多個有線或無線互聯(lián)網(wǎng)或蜂窩數(shù)據(jù)連接上,與屬于用戶305的用戶設(shè)備304通信。語音動作系統(tǒng)300包括在一個或多個網(wǎng)絡(luò)連接上,處理從用戶設(shè)備304接收的信息的語音識別引擎330和上下文分析引擎340。語音動作系統(tǒng)包括與語音識別引擎330和上下文分析引擎340通信,并且還可以訪問應(yīng)用語音動作數(shù)據(jù)庫310和os語音動作數(shù)據(jù)庫320的匹配器350。匹配器350與可以訪問應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370的動作觸發(fā)生成器360通信??梢栽L問用戶活動歷史390的消除歧義引擎380還能在一個或多個網(wǎng)絡(luò)連接上,從用戶設(shè)備304發(fā)送或接收電子通信。
為處理由用戶305提交的語音輸入,將對應(yīng)于指示用戶設(shè)備304和/或在用戶設(shè)備304上操作的應(yīng)用的狀態(tài)的語音輸入和上下文信息的音頻數(shù)據(jù)提供給語音動作系統(tǒng)300。在一些實例中,用戶設(shè)備304可以響應(yīng)于用戶305選擇使用戶設(shè)備304開始錄制用戶語音的控制,響應(yīng)于用戶305說出其檢測使得用戶設(shè)備304從用戶305獲得后續(xù)語音輸入的短語,獲得語音輸入,或者否則可以確定錄制用戶305的語音輸入。提供特定輸入來觸發(fā)用戶語音的錄制的需求能防止用戶設(shè)備304不必要地處理用戶語音,即通過減少必須處理的音頻數(shù)據(jù)量,或防止錄制過多用戶語音以致侵犯用戶305的隱私,即,通過僅錄制用戶305正說給用戶設(shè)備304的特定語音。
在圖3所示的示例中,例如,用戶305可以選擇用戶設(shè)備304上的控制來使得用戶設(shè)備304開始錄制用戶305的語音輸入,并且在用戶305已經(jīng)選擇該控制后,用戶305可以通過說出“播放下一首”,提供語音輸入。在一個或多個網(wǎng)絡(luò)上,用戶設(shè)備304可以將對應(yīng)于語音輸入的音頻數(shù)據(jù)傳送到語音動作系統(tǒng)300。附加地,用戶設(shè)備304可以確定用于用戶設(shè)備304或在用戶設(shè)備304上操作的應(yīng)用的上下文信息,以及用于用戶設(shè)備304的上下文信息可以在一個或多個網(wǎng)絡(luò)上,被傳送到語音動作系統(tǒng)300。
在一些實例中,從用戶設(shè)備304傳送到語音動作系統(tǒng)300的上下文信息包括由在用戶設(shè)備304處存儲的信息識別的特定信息。例如,用戶設(shè)備304能夠?qū)⒅甘緜魉偷秸Z音動作系統(tǒng)300的特定狀態(tài)信息的信息存儲為上下文信息。由用戶設(shè)備304提供給語音動作系統(tǒng)300的上下文信息可以包括上下文信息的標(biāo)準(zhǔn)化體,使得所有用戶設(shè)備將相同的上下文信息提交給語音動作系統(tǒng)300,或由用戶設(shè)備304提供的上下文信息可以是為用戶設(shè)備304指定的特定上下文信息的集合。在一些實現(xiàn)方式中,語音動作系統(tǒng)300可以從用戶設(shè)備304請求某些上下文信息,以及由用戶設(shè)備傳送的上下文信息可以是響應(yīng)于該請求,提供給語音動作系統(tǒng)300的信息。在又一實例中,與安裝在用戶設(shè)備304上的應(yīng)用相關(guān)聯(lián)的信息,諸如應(yīng)用元數(shù)據(jù)可以指定提供給語音動作系統(tǒng)300的上下文信息,以及用戶設(shè)備304可以將上下文信息傳送到包括由應(yīng)用信息指定的信息的語音動作系統(tǒng)300。
例如,在圖3所示的示例中,由用戶設(shè)備304傳送到語音動作系統(tǒng)300的上下文信息可以包括指示媒體播放器應(yīng)用目前正在用戶設(shè)備304的前臺中操作、媒體播放器應(yīng)用在音頻播放器模式中操作,以及用戶設(shè)備304的當(dāng)前電池壽命為50%的信息。
可以由語音動作系統(tǒng)300的語音識別引擎330接收由用戶設(shè)備304傳送的音頻數(shù)據(jù),并且語音識別引擎330可以生成語音音頻數(shù)據(jù)的轉(zhuǎn)錄抄本。例如,如關(guān)于圖1的語音識別引擎130所述,語音識別引擎330能夠接收音頻數(shù)據(jù)并且生成對應(yīng)于用戶305的語音輸入的音頻數(shù)據(jù)的轉(zhuǎn)錄抄本。在生成音頻數(shù)據(jù)的轉(zhuǎn)錄抄本后,語音識別引擎330能將轉(zhuǎn)錄抄本提供給匹配器350。
在一些實現(xiàn)方式中,除接收音頻數(shù)據(jù)外,語音識別引擎330還可以通過用戶設(shè)備304,接收提供給語音動作系統(tǒng)300的上下文信息。語音識別引擎330可以基于接收的上下文信息,偏置語音識別。在一些實現(xiàn)方式中,基于上下文信息的偏置語音識別可以包括調(diào)整音頻數(shù)據(jù)中檢測到某些詞的概率。例如,語音識別引擎330可以基于與由上下文信息指示的上下文的相關(guān)性,調(diào)整檢測某些詞的概率。
例如,語音識別引擎330可以接收對應(yīng)于話語“播放下一首”的音頻數(shù)據(jù)以及指示媒體播放器應(yīng)用目前在用戶設(shè)備304的前臺中運行的上下文信息。語音識別引擎330可以基于上下文信息,偏置語音識別,使得基于語音識別引擎330基于確定那些詞與在用戶設(shè)備304的前臺中運行的媒體播放器應(yīng)用相關(guān)或缺少關(guān)聯(lián),增加在音頻數(shù)據(jù)中檢測到詞“播放(play)”或短語“播放下一首”的概率,或減小檢測到詞“星球(planets)”的概率,生成“播放下一首”的轉(zhuǎn)錄抄本,代替“星球”的轉(zhuǎn)錄抄本。
語音動作系統(tǒng)的上下文分析引擎340接收由用戶設(shè)備304傳送的上下文信息并且處理該上下文信息以確定用戶設(shè)備304或在用戶設(shè)備304上運行的應(yīng)用的上下文。與圖1的上下文分析引擎140類似,語音動作系統(tǒng)300的上下文分析引擎340能處理接收的上下文信息來確定與識別待觸發(fā)的語音動作有關(guān)的接收的上下文信息的部分,或能處理接收的上下文信息來確定是否有用戶設(shè)備304識別觸發(fā)的語音動作所需的其他上下文信息。如果需要附加上下文信息來確定執(zhí)行的語音動作,上下文分析引擎340能從用戶設(shè)備304請求附加上下文信息,使得用戶設(shè)備304能利用附加上下文信息響應(yīng)于該請求。在一些實現(xiàn)方式中,上下文分析引擎340能修改接收的上下文信息的格式來生成能由語音動作系統(tǒng)300用于識別觸發(fā)的語音動作的上下文。上下文分析引擎340將處理的上下文信息提供給匹配器350。
在圖3所示的示例中,例如,上下文分析引擎340從用戶設(shè)備304接收上下文信息。接收的上下文信息可以指示媒體播放器應(yīng)用在用戶設(shè)備304的前臺中運行、媒體播放器應(yīng)用在音頻播放器模式中操作,以及用戶設(shè)備304的電池壽命處于50%。上下文分析引擎340可以確定電池壽命信息與響應(yīng)于用戶305的語音輸入,確定觸發(fā)哪一語音動作無關(guān),因此,上下文分析引擎340可以將上下文提供給僅指示媒體播放器應(yīng)用在用戶設(shè)備304的前臺中操作并且處于音頻播放器模式中的匹配器350。
匹配器350從上下文分析引擎340接收上下文并且從語音識別引擎330接收轉(zhuǎn)錄抄本,并且使用接收的上下文和轉(zhuǎn)錄抄本來識別觸發(fā)的一個或多個候選語音動作。例如,匹配器350可以將從上下文分析引擎340接收的上下文與包括在應(yīng)用語音動作數(shù)據(jù)庫310和/或os語音動作數(shù)據(jù)庫320中的一個或多個意圖相關(guān)聯(lián)的上下文匹配?;诖_定接收的上下文與一個或多個意圖相關(guān)聯(lián)的上下文匹配,匹配器350可以將那些意圖識別為用于觸發(fā)的候選意圖。在基于將接收的上下文與候選意圖相關(guān)聯(lián)的上下文匹配,識別候選意圖后,匹配器350可以通過將接收的轉(zhuǎn)錄抄本與候選意圖相關(guān)聯(lián)的觸發(fā)短語比較,縮小候選意圖的集合。匹配器350可以將識別縮小的候選意圖的集合的信息提供給動作觸發(fā)生成器360。
在一些實例中,匹配器350可以接收語音輸入的多個候選轉(zhuǎn)錄抄本,并且可以基于確定候選意圖的每一個與從上下文分析引擎340接收的上下文和/或從語音識別引擎330接收的語音輸入的一個或多個候選轉(zhuǎn)錄抄本匹配的上下文,識別縮小的候選意圖的集合。例如,語音識別引擎330可以確定用于語音輸入的多個候選轉(zhuǎn)錄抄本,并且可以將指示候選轉(zhuǎn)錄抄本的每一個的信息提供給匹配器350。然后,匹配器350可以識別每一個指定與由匹配器350接收的上下文兼容的、還指定匹配于語音輸入的候選轉(zhuǎn)錄抄本的觸發(fā)短語的上下文的縮小的候選意圖的集合。
在圖3所示的示例中,匹配器350接收指示用戶設(shè)備304具有在前臺中操作的媒體播放器并且處于音頻播放器模式的上下文。匹配器350還接收音頻數(shù)據(jù)的兩個轉(zhuǎn)錄抄本,即,轉(zhuǎn)錄抄本“播放下一首”和“星球”。匹配器350通過將接收的上下文和轉(zhuǎn)錄抄本與在應(yīng)用語音動作數(shù)據(jù)庫310和os語音動作數(shù)據(jù)庫320處存儲的意圖相關(guān)聯(lián)的上下文和觸發(fā)短語比較,識別候選意圖來基于該信息激發(fā)。基于該比較,匹配器350識別兩個候選意圖,包括使媒體播放器應(yīng)用跳到下一首歌的、用于“播放下一首”語音動作的意圖,以及用于使稱為“星球”的應(yīng)用打開的、用于“星球”語音動作的意圖。匹配器350能將信息提供給識別兩個候選意圖的動作觸發(fā)生成器360,或匹配器350能將候選意圖的拷貝提供給動作觸發(fā)生成器360。
動作觸發(fā)生成器360接收指示響應(yīng)于語音輸入激發(fā)的一個或多個候選意圖和從用戶設(shè)備304接收的上下文信息的信息。動作觸發(fā)生成器360對一個或多個特定意圖生成動作觸發(fā),其中,每一動作觸發(fā)包括能夠控制用戶設(shè)備304執(zhí)行與相應(yīng)的意圖相關(guān)聯(lián)的語音動作的數(shù)據(jù)。在一些實現(xiàn)方式中,動作觸發(fā)生成器360生成用于由匹配器350識別的每一候選意圖的動作觸發(fā)。在其他實現(xiàn)方式中,動作觸發(fā)生成器360可以從候選意圖中,獲得用于觸發(fā)的特定意圖的指示,并且可以生成僅用于該特定意圖的動作觸發(fā)。在任一實現(xiàn)方式中,動作觸發(fā)生成器360可以基于從匹配器350接收的信息和在應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370處訪問的信息,生成動作觸發(fā)。
例如,動作觸發(fā)生成器360可以接收用于候選語音動作的意圖,以及動作觸發(fā)生成器360能夠訪問應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370處,使得在用戶設(shè)備304處執(zhí)行候選語音動作的信息。例如,在應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370處訪問的信息能包括用于執(zhí)行或觸發(fā)與語音動作相關(guān)聯(lián)的活動或動作的信息,諸如有關(guān)用戶設(shè)備304的信息,有關(guān)與語音動作相關(guān)聯(lián)的應(yīng)用的信息或有關(guān)在用戶設(shè)備304上運行的操作系統(tǒng)的信息。動作觸發(fā)生成器360能將訪問的信息用作用于候選語音動作的動作觸發(fā),或能使用訪問的信息來生成能夠在用戶設(shè)備304處,觸發(fā)與候選語音動作相關(guān)聯(lián)的動作或活動的動作觸發(fā)數(shù)據(jù)。在一些實現(xiàn)方式中,語音動作系統(tǒng)300可以不包括動作觸發(fā)生成器360或應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370,使得可以將意圖本身傳送到用戶設(shè)備304并且意圖中的信息能使用戶設(shè)備304執(zhí)行與該意圖相關(guān)聯(lián)的活動或動作。
在圖3所示的示例中,動作觸發(fā)生成器360可以接收用于媒體播放器應(yīng)用的“播放下一首”語音動作的意圖和用于打開“星球”應(yīng)用的“星球”語音動作的意圖。動作觸發(fā)生成器360可以生成用于“播放下一首”和“星球”語音動作的每一個的動作觸發(fā)。為生成用于“播放下一首”語音動作的動作觸發(fā),動作觸發(fā)生成器360訪問應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370處,屬于安裝在用戶設(shè)備304上的媒體播放器應(yīng)用的信息,可以訪問屬于用戶設(shè)備304或特定模型的用戶設(shè)備304的信息,或可以訪問屬于在用戶設(shè)備304上運行的操作系統(tǒng)的信息。動作觸發(fā)生成器360使用接收的意圖和在應(yīng)用數(shù)據(jù)數(shù)據(jù)庫370處訪問的信息來生成用于“播放下一首”語音動作的動作觸發(fā)。類似地,動作觸發(fā)生成器360可以通過訪問與“星球”應(yīng)用、用戶設(shè)備304或在用戶設(shè)備304上運行的操作系統(tǒng)有關(guān)的信息,生成用于“星球”語音動作的動作觸發(fā),并且基于接收和訪問的信息,生成用于“星球”語音動作的動作觸發(fā)。
如上所述,在一些示例中,匹配器350可以識別用于觸發(fā)的一個以上的候選意圖,并且在那些實例中,有必要從候選的集合中選擇用于觸發(fā)的特定意圖。消除歧義引擎380能執(zhí)行選擇或接收從候選意圖中選擇的用戶輸入的操作。例如,消除歧義引擎能將請求輸出到要求用戶305從與候選意圖相關(guān)聯(lián)的候選語音動作中選擇特定語音動作的用戶設(shè)備304。響應(yīng)于該請求,用戶305能將輸入提供給用戶設(shè)備304,以選擇用于執(zhí)行的特定候選語音動作。能由消除歧義引擎380接收指示用戶選擇的信息。
替選地,消除歧義引擎380可以訪問包括關(guān)于提交給用戶設(shè)備304的先前語音動作或在用戶設(shè)備304處執(zhí)行的其他動作的信息的用戶活動歷史390。例如,用戶活動歷史390能指示用戶305觸發(fā)特定候選語音動作的次數(shù)、用戶305在用戶設(shè)備304處通過或不通過使用語音動作,執(zhí)行特定動作的次數(shù),或能夠包括關(guān)于用戶305使用用戶設(shè)備304的其他信息。在一些實例中,用戶活動歷史390能包括指示除用戶305外的用戶的使用歷史的信息。例如,用戶活動歷史390能包括指示具有安裝在用戶設(shè)備上的媒體播放器應(yīng)用和/或“星球”應(yīng)用的所有用戶的使用模式的信息。
在一些實現(xiàn)方式中,用戶活動歷史390中的信息能由語音動作系統(tǒng)300使用來從候選意圖中選擇,而不請求從用戶305的輸入。例如,當(dāng)提供類似語音輸入時,消除歧義引擎380可以訪問用戶活動歷史390處、指示用戶305先前已經(jīng)選擇特定候選語音動作的信息,并且基于那一信息,消除歧義引擎380可以選擇觸發(fā)的特定候選意圖,而不請求從用戶305的輸入。類似地,消除歧義引擎380可以確定已經(jīng)提供與由用戶305接收的語音輸入類似的語音輸入的一定比例或數(shù)量的用戶已經(jīng)選擇觸發(fā)特定語音動作,并且消除歧義引擎380可以基于那一信息,無需請求從用戶305的輸入,選擇觸發(fā)的特定候選語音意圖。在一些實現(xiàn)方式中,候選意圖的每一個具有指示特定觸發(fā)短語和特定候選意圖之間的關(guān)系強(qiáng)度的相關(guān)得分。可以基于指示候選意圖和接收的觸發(fā)短語之間的關(guān)系的強(qiáng)度的分配給候選意圖的得分,選擇特定候選意圖。
其他因素可以被考慮或包括在用于選擇候選意圖的用戶活動歷史390中。例如,在語音動作系統(tǒng)觸發(fā)某一候選意圖后,語音動作系統(tǒng)300可以跟蹤用戶設(shè)備304處的行為以確定觸發(fā)的意圖是否看起來與用戶305的預(yù)期匹配。例如,如果在語音動作系統(tǒng)300觸發(fā)某一語音動作后,用戶305采取在用戶設(shè)備304處執(zhí)行另一動作的操作,指示語音動作系統(tǒng)300觸發(fā)了錯誤的候選意圖,因此,語音動作系統(tǒng)300可以將指示接收的語音輸入不應(yīng)當(dāng)觸發(fā)或應(yīng)當(dāng)不希望觸發(fā)該觸發(fā)的意圖的信息添加到用戶活動歷史390。在其他示例中,用戶活動歷史390可以包括指示用戶305或其他用戶對他們的用戶設(shè)備的給定的狀態(tài),例如,對在提供給語音動作系統(tǒng)300的上下文信息中指示的特定狀態(tài),有多頻繁地選擇特定候選意圖的信息。包括在用戶活動歷史390中的其他信息能由消除歧義引擎380訪問并且用來從候選意圖的集合選擇特定候選意圖。
對圖3中所示的示例,基于確定用于由用戶305提供的語音動作的候選意圖包括用于媒體播放器應(yīng)用的“播放下一首”語音動作的意圖或用于打開“星球”應(yīng)用的“星球”語音動作的意圖,消除歧義引擎380能將請求特定候選語音動作的用戶選擇的信息提供給用戶305。如所示,能在請求用戶305選擇“下一首歌”語音動作,或“打開‘星球’”的語音動作的用戶設(shè)備304的顯示器處輸出請求。用戶305在用戶設(shè)備304處提供選擇“下一首歌”選項的輸入。指示用戶選擇的數(shù)據(jù)被傳送到消除歧義引擎380,并且在接收指示用戶選擇的數(shù)據(jù)中,消除歧義引擎380確定觸發(fā)用于“播放下一首”語音動作的意圖。在一些示例中,消除歧義引擎380還可以將指示用戶305已選取以在用于“星球”語音動作的意圖上,觸發(fā)用于“播放下一首”語音動作的意圖的信息存儲在用戶活動歷史390處。消除歧義引擎380可以依賴在用戶活動歷史390處存儲的信息來自動地確定候選語音動作以觸發(fā)是否稍后由語音動作系統(tǒng)300,從用戶設(shè)備304接收類似的語音輸入。
在圖3所示的示例的替選實現(xiàn)方式中,消除歧義引擎380可以基于訪問用戶活動歷史390,選擇觸發(fā)的特定候選意圖。例如,用戶活動歷史390可以指示用戶設(shè)備304的用戶305先前已經(jīng)提供類似的語音輸入并且已選取以觸發(fā)用于“下一首歌”語音動作的意圖?;谥甘驹诮邮疹愃频恼Z音輸入后,先前觸發(fā)用于“播放下一首”語音動作的意圖的用戶活動歷史390,消除歧義引擎380可以確定以觸發(fā)用于“播放下一首”語音動作的意圖,而不要求從用戶305的附加輸入。
在已經(jīng)選擇特定候選意圖后,如果必要,已經(jīng)生成用于被選候選語音動作的動作觸發(fā),語音動作系統(tǒng)300將使得執(zhí)行選擇的語音動作的信息傳送到用戶設(shè)備304。例如,語音動作系統(tǒng)300的消除歧義引擎380或其他組件能將用于選擇的語音動作的意圖或動作觸發(fā)數(shù)據(jù)傳送到用戶設(shè)備304來使用戶設(shè)備304執(zhí)行選擇的語音動作。
在圖3所示的示例中,例如,在用戶305已經(jīng)選擇“下一首歌”選項來使媒體播放器應(yīng)用跳到下一首歌的選擇“播放下一首”語音動作后,并且在已經(jīng)生成包括用于控制媒體播放器應(yīng)用跳到下一首歌的數(shù)據(jù)的動作觸發(fā)后,消除歧義引擎380將動作觸發(fā)傳送到用戶設(shè)備304。用戶設(shè)備304能接收動作觸發(fā),并且動作觸發(fā)能通過使媒體播放器應(yīng)用跳到下一首歌,使用戶設(shè)備304執(zhí)行“播放下一首”語音動作。
在一些實現(xiàn)方式中,可以提供指示觸發(fā)的語音動作的通知以在用戶設(shè)備304處輸出。例如,語音動作系統(tǒng)300或用戶設(shè)備304的os可以使識別已經(jīng)觸發(fā)的語音動作的通知在用戶設(shè)備304處被輸出。在一些實例中,可以以對用戶305來說,很明確與觸發(fā)的語音動作相關(guān)聯(lián)的應(yīng)用不負(fù)責(zé)檢測語音動作或觸發(fā)語音動作的方式,提供識別觸發(fā)的語音動作的通知。例如,在用戶設(shè)備304處提供的通知可以使用可識別為與語音動作系統(tǒng)300、用戶設(shè)備304或用戶設(shè)備304的os相關(guān)聯(lián),并且與在用戶設(shè)備304上操作的媒體播放器應(yīng)用不相關(guān)聯(lián)的語音語調(diào)。在另一示例中,以將處理來自用戶305的語音輸入的系統(tǒng)或應(yīng)用與執(zhí)行觸發(fā)的語音動作的應(yīng)用區(qū)分的方式,呈現(xiàn)通知。例如,通知可以聲明“你已經(jīng)觸發(fā)“播放下一首”語音動作。我現(xiàn)在將使媒體播放器應(yīng)用跳到下一首歌”,由此向用戶305指示媒體播放器應(yīng)用不負(fù)責(zé)處理語音輸入。
圖4圖示用于由語音動作系統(tǒng)執(zhí)行的示例過程400的流程圖。在一些示例中,圖4的過程400能由圖1的語音動作系統(tǒng)100,或由圖1的語音動作系統(tǒng)100的組件執(zhí)行。過程400描述一過程,通過該過程,應(yīng)用開發(fā)人員能建立用于已經(jīng)安裝在一個或多個用戶設(shè)備上的應(yīng)用的新語音動作,安裝該應(yīng)用的用戶設(shè)備的用戶能觸發(fā)新語音動作來使得與新語音動作相關(guān)聯(lián)的操作由用戶設(shè)備上的應(yīng)用執(zhí)行。
初始地,由對不同語音動作系統(tǒng)的軟件應(yīng)用指定新語音動作的語音動作系統(tǒng),接收數(shù)據(jù),其中,該數(shù)據(jù)包括用于執(zhí)行新語音動作的一個或多個操作和用于觸發(fā)新語音動作的一個或多個觸發(fā)項(402)。例如,使用終端102a-102n,與軟件應(yīng)用相關(guān)聯(lián)的應(yīng)用開發(fā)人員101a-101n能將定義新語音動作的數(shù)據(jù)提交給語音動作系統(tǒng)100。
定義新語音動作的數(shù)據(jù)能包括指定用于操作新語音動作的一個或多個操作和用于觸發(fā)新語音動作的一個或多個觸發(fā)項的數(shù)據(jù)。例如,定義新語音動作的數(shù)據(jù)可以指定觸發(fā)項“播放下一首”并且可以指定新語音動作應(yīng)當(dāng)執(zhí)行使媒體播放器應(yīng)用跳到下一首歌的操作。該數(shù)據(jù)還可以指定與新語音動作有關(guān)的附加信息,諸如新語音動作所屬的應(yīng)用、用戶應(yīng)當(dāng)何時啟用新語音動作以使用的上下文,或其他信息。例如,定義“播放下一首”語音動作的數(shù)據(jù)還可以指定語音動作屬于媒體播放器應(yīng)用,并且可以指定當(dāng)媒體播放器應(yīng)用在前臺中操作并且處于音頻播放器模式時,應(yīng)當(dāng)啟用語音動作。
至少基于接收的數(shù)據(jù)由語音動作系統(tǒng)生成用于軟件應(yīng)用的上下文語音動作意圖,其中,上下文語音動作意圖包括當(dāng)由軟件應(yīng)用接收時,請求軟件應(yīng)用執(zhí)行新語音動作中的一個或多個操作的數(shù)據(jù)(404)。例如,圖1的語音動作系統(tǒng)100可以接收指定新語音動作的數(shù)據(jù),并且可以基于接收的數(shù)據(jù),生成用于新語音動作的上下文語音動作意圖。語音動作系統(tǒng)100可以將上下文語音動作意圖存儲在應(yīng)用語音動作數(shù)據(jù)庫110中。在一些實現(xiàn)方式中,語音動作系統(tǒng)100可以使用與類似參考圖2所述的過程,通過驗證接收的數(shù)據(jù)和引入接收的語法來生成上下文語音動作意圖,生成該意圖。在一些實現(xiàn)方式中,所生成的上下文語音動作意圖能存儲控制軟件應(yīng)用來執(zhí)行用于執(zhí)行新語音動作的一個或多個操作的信息。
通過語音動作系統(tǒng),上下文語音動作意圖與用于新語音動作的一個或多個觸發(fā)項相關(guān)聯(lián)(406)。例如,在由語音動作系統(tǒng)100創(chuàng)建用于新語音動作的上下文語音動作意圖后,語音動作系統(tǒng)100能將用于新語音動作的上下文語音動作意圖與在接收的數(shù)據(jù)中指定的一個或多個觸發(fā)項相關(guān)聯(lián)。具有關(guān)聯(lián)的一個或多個觸發(fā)項的上下文語音動作意圖可以被存儲在應(yīng)用語音動作數(shù)據(jù)庫110中。在一些實現(xiàn)方式中,將一個或多個觸發(fā)項與上下文語音動作意圖相關(guān)聯(lián)能包含指定上下文語音動作意圖中的一個或多個觸發(fā)項。在其他實施方式中,關(guān)聯(lián)會受將一個或多個觸發(fā)項與上下文語音動作意圖鏈接影響,使得接收一個或多個觸發(fā)項中的一個會導(dǎo)致上下文語音動作意圖的識別。
語音動作系統(tǒng)被配置為接收由安裝有軟件應(yīng)用的設(shè)備獲得的用戶話語的指示(408)。例如,語音動作系統(tǒng)100可以被配置為接收已經(jīng)從用戶設(shè)備104接收話語的指示,其中,話語由用戶設(shè)備104獲得作為來自用戶105的語音輸入。用戶設(shè)備104還具有與已經(jīng)安裝的新語音相關(guān)聯(lián)的軟件應(yīng)用,例如參考圖1所述的媒體播放器應(yīng)用。
語音動作系統(tǒng)被配置為確定用戶話語的轉(zhuǎn)錄抄本對應(yīng)于與上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項(410)。例如,語音動作系統(tǒng)100可以被配置為接收對應(yīng)于用戶話語的音頻數(shù)據(jù),并且能使用語音動作系統(tǒng)100的語音識別引擎130,生成用戶話語的轉(zhuǎn)錄抄本。由語音識別引擎130生成的用戶話語的轉(zhuǎn)錄抄本能與多個上下文語音動作意圖,包括用于新語音動作的上下文語音動作意圖和用于其他語音動作的上下文語音動作意圖比較。
在一些實例中,可以由圖1的語音動作選擇器150執(zhí)行比較,其中,語音動作選擇器150能將用戶話語的轉(zhuǎn)錄抄本與在應(yīng)用語音動作數(shù)據(jù)庫110或os語音動作數(shù)據(jù)庫130處存儲的上下文語音動作意圖的觸發(fā)項比較?;谠摫容^,語音動作選擇器150可以確定用戶話語的轉(zhuǎn)錄抄本與新語音動作的上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項中的一個或多個匹配。例如,語音識別引擎130可以生成用于從讀取“播放下一首”的用戶設(shè)備104接收的用戶話語的轉(zhuǎn)錄抄本。語音動作選擇器150將“播放下一首”語音動作與候選上下文語音動作意圖相關(guān)聯(lián)的觸發(fā)項比較來確定該轉(zhuǎn)錄抄本與用于新的“播放下一首”語音動作的上下文語音動作意圖相關(guān)聯(lián)的觸發(fā)短語“播放下一首”匹配。
語音動作系統(tǒng)被配置成將上下文語音動作意圖提供給特定設(shè)備,由此請求安裝在特定設(shè)備上的軟件應(yīng)用執(zhí)行新語音動作中的一個或多個操作(412)。例如,響應(yīng)于確定由語音動作系統(tǒng)100的語音識別引擎130生成的用戶話語的轉(zhuǎn)錄抄本與用于新語音動作的上下文語音動作意圖相關(guān)聯(lián)的一個或多個觸發(fā)項匹配,語音動作選擇器150能將用于新語音動作的上下文語音動作意圖提供給用戶設(shè)備104。用于新語音動作的上下文語音動作意圖能有效地請求安裝在用戶設(shè)備104上的軟件應(yīng)用執(zhí)行新語音動作的一個或多個操作。例如,上下文語音動作意圖可以包括在用戶設(shè)備104接收上下文語音動作意圖時,觸發(fā)與新語音動作相關(guān)聯(lián)的一個或多個應(yīng)用的操作。
已經(jīng)描述了多個實現(xiàn)方式。不必說,將理解在不背離本公開的精神和范圍的情況下,可以做出各種修改。例如,可以使用如上所示的各種形式的流程,重新排序、添加或移除步驟。因此,其他實現(xiàn)方式在下述權(quán)利要求的范圍內(nèi)。
例如,本文所述的系統(tǒng)和/或方法可以收集有關(guān)用戶的個人信息,或可以使用個人信息,可以為用戶提供控制程序或特征是否收集個人信息,例如,關(guān)于用戶社交網(wǎng)絡(luò)、社交動作或活動、職業(yè)、用戶偏好或用戶當(dāng)前位置的信息,或控制系統(tǒng)和/或方法是否和/或如何執(zhí)行與用戶更相關(guān)的操作的機(jī)會。此外,某些數(shù)據(jù)可以在存儲或使用其之前依一種或多種方式匿名化,使得移除個人可識別的信息。例如,可以匿名化用戶身份使得無法確定用戶的個人可識別信息,或獲得地理位置信息的用戶位置可以被一般化(諸如到城市、zip編碼或州級),使得無法確定用戶的特定位置。因此,用戶可以具有對如何收集關(guān)于他或她的信息和如何使用所述信息的控制。
盡管關(guān)于開發(fā)用于與安裝在用戶設(shè)備上的應(yīng)用一起使用的語音動作,突出描述上述實施例,也可以關(guān)于機(jī)器、其他設(shè)備、機(jī)器人或其他系統(tǒng),使用所述的特征。例如,可以利用圖1的語音動作系統(tǒng)100來開發(fā)和實現(xiàn)用于與機(jī)器交互的語音動作,其中,機(jī)器具有相關(guān)的計算系統(tǒng),可以被用來開發(fā)和實現(xiàn)用于與機(jī)器人或具有機(jī)器組件的系統(tǒng)交互的語音動作,可以被用來開發(fā)和實現(xiàn)用于與儀器、娛樂系統(tǒng)或其他設(shè)備交互的語音動作,或可以用來開發(fā)和實現(xiàn)用于與車輛或其他交通系統(tǒng)交互的語音動作。
可以在數(shù)字電子電路中或者在包括本說明書中公開的結(jié)構(gòu)及其結(jié)構(gòu)等效物的計算機(jī)軟件、固件或者硬件中或者在它們中的一項或者多項的組合中實現(xiàn)本說明書中描述的實施例和所有功能操作。實施例可以被實現(xiàn)為一個或者多個計算機(jī)程序產(chǎn)品、即在計算機(jī)可讀介質(zhì)上編碼的用于由數(shù)據(jù)處理裝置執(zhí)行或者控制數(shù)據(jù)處理裝置的操作的計算機(jī)程序指令的一個或者多個模塊。計算機(jī)可讀介質(zhì)可以是機(jī)器可讀存儲設(shè)備、機(jī)器可讀存儲基板、存儲器設(shè)備、影響機(jī)器可讀傳播信號的物質(zhì)組成或者它們中的一項或者多項的組合。術(shù)語“數(shù)據(jù)處理裝置”涵蓋了用于處理數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器、例如包括可編程處理器、計算機(jī)或者多個處理器或者計算機(jī)。裝置除了包括硬件之外還可以包括為討論的計算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼、例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或者它們中的一項或者多項的組合的代碼。傳播信號是人為生成的信號、例如由機(jī)器生成的電、光學(xué)或者電磁信號,該信號被生成以用于對信息進(jìn)行編碼一部向適當(dāng)接收器裝置發(fā)送。
可以用包括編譯或者解釋語言的任何形式的編程語言編寫計算機(jī)程序(也稱為程序、軟件、軟件應(yīng)用、腳本或者代碼),并且可以用任何形式部署它、包括作為獨立程序或者作為適合用于在計算環(huán)境中使用的模塊、組件、子例程或者其它單元。計算機(jī)程序不一定對應(yīng)于文件系統(tǒng)中的文件。程序可以存儲于保持其它程序或者數(shù)據(jù)的文件的部分中(例如存儲于標(biāo)記語言文檔中的一個或者多個腳本)、專用于討論的程序的單個文件中或者多個協(xié)同文件(例如存儲一個或者多個模塊、子程序或者代碼部分的文件)中。計算機(jī)程序可以被部署成在一個計算機(jī)上或者在位于一個地點或者分布于多個地點并且由通信網(wǎng)絡(luò)互連的多個計算機(jī)上執(zhí)行。
在本說明書中描述的過程和邏輯流程可以由一個或者多個可編程處理器執(zhí)行,該處理器執(zhí)行一個或者多個計算機(jī)程序以通過對輸入數(shù)據(jù)操作并且生成輸出來執(zhí)行功能。過程和邏輯流程也可以由專用邏輯電路,如fpga(現(xiàn)場可編程門陣列)或者asic(專用集成電路)執(zhí)行,并且裝置也可以實現(xiàn)為該專用邏輯電路,如fpga(現(xiàn)場可編程門陣列)或者asic(專用集成電路)。
適合于執(zhí)行計算機(jī)程序的處理器例如包括通用和專用微處理器兩者和任何種類的數(shù)字計算機(jī)的任何一個或者多個處理器。一般而言,處理器將從只讀存儲器或者隨機(jī)存取存儲器或者這二者接收指令和數(shù)據(jù)。
計算機(jī)的基本元件是用于執(zhí)行指令的處理器以及用于存儲指令和數(shù)據(jù)的一個或者多個存儲器設(shè)備。一般而言,計算機(jī)也將包括用于存儲數(shù)據(jù)的一個或者多個海量存儲設(shè)備如磁盤、光磁盤或者光盤或者操作地耦合成從該海量存儲設(shè)備接收數(shù)據(jù)或者向該海量存儲設(shè)備傳送數(shù)據(jù)或者這二者。然而計算機(jī)無需具有這樣的設(shè)備。另外,計算機(jī)可以嵌入于另一設(shè)備中,僅舉數(shù)例,該另一設(shè)備例如是平板計算機(jī)、移動電話、個人數(shù)字助理(pda)、移動音頻播放器、全球定位系統(tǒng)(gps)接收器。適合于存儲計算機(jī)程序指令和數(shù)據(jù)的計算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲器、介質(zhì)和存儲器設(shè)備、例如包括半導(dǎo)體存儲器設(shè)備如eprom、eeprom和閃速存儲器設(shè)備;磁盤如內(nèi)部硬盤或者可拆卸盤;磁光盤;以及cdrom和dvd-rom盤。處理器和存儲器可以由專用邏輯電路補(bǔ)充或者并入于專用邏輯電路中。
為了提供與用戶的交互,實施例可以實限于計算機(jī)上,該計算機(jī)具有用于向用戶顯示信息的顯示器設(shè)備如crt(陰極射線管)或者lcd(液晶顯示器)監(jiān)視器以及用戶可以用來向計算機(jī)提供輸入的鍵盤和指向設(shè)備如鼠標(biāo)或者跟蹤球。其它種類的設(shè)備也可以用來提供與用戶的交互;例如向用戶提供的反饋可以是任何形式的感官反饋如視覺反饋、聽覺反饋或者觸覺反饋;并且可以用包括聲音、語音或者觸覺輸入的任何形式接收來自用戶的輸入。
實施例可以實現(xiàn)于計算系統(tǒng)中,該計算系統(tǒng)包括后端組件如作為數(shù)據(jù)服務(wù)器或者包括中間件組件如應(yīng)用服務(wù)器或者包括前端組件、例如具有用戶通過其與實現(xiàn)方式交互的圖形用戶界面或者網(wǎng)頁瀏覽器的客戶端計算機(jī)或者這樣的后端、中間件或者前端組件中的一個或者多個組件的任何組合。系統(tǒng)的組件可以由任何數(shù)字?jǐn)?shù)據(jù)通信形式或者介質(zhì)如通信網(wǎng)絡(luò)互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“l(fā)an”)和廣域網(wǎng)(“wan”)如因特網(wǎng)。
計算系統(tǒng)可以包括客戶端和服務(wù)器。客戶端和服務(wù)器一般相互遠(yuǎn)離并且通常通過通信網(wǎng)絡(luò)交互??蛻舳撕头?wù)器的關(guān)系借助計算機(jī)程序來發(fā)生,這些計算機(jī)程序在相應(yīng)計算機(jī)上運行并且相互具有客戶端-服務(wù)器關(guān)系。
盡管本說明書包含許多細(xì)節(jié),但是這些不應(yīng)解釋為對公開內(nèi)容的范圍或者要求保護(hù)的內(nèi)容的范圍的限制、而應(yīng)當(dāng)作為對特定于實施例的特征的描述。也可以在單個實施例組合實現(xiàn)本說明書中在單獨實施例的上下文中描述的某些特征。反言之,也可以在多個實施例中單獨或者在任何適當(dāng)子組合中實現(xiàn)在單個實施例的上下文中描述的各種特征。另外雖然上文可以將特征描述為在某些組合中作用并且甚至起初這樣要求保護(hù),但是在一些情況下可以從要求保護(hù)的組合中去除來自該組合的一個或者多個特征,并且要求保護(hù)的組合可以涉及子組合或者子組合的變形。
類似地,盡管在附圖中以特定順序描繪操作,但是這不應(yīng)理解為要求以所示特定順序或者以序列順序執(zhí)行這樣的操作或者執(zhí)行所有所示操作以實現(xiàn)希望的結(jié)果。在某些境況中,多任務(wù)和并行處理可以是有利的。另外,在上文描述的實施例中分離各種系統(tǒng)組件不應(yīng)理解為在所有實施例中要求這樣的分離,并且應(yīng)當(dāng)理解描述的程序組件和系統(tǒng)一般可以一起集成于單個軟件產(chǎn)品中或者封裝到多個軟件產(chǎn)品中。
在其中提到html文件的每個實例中,可以替換為其它文件類型或者格式。例如html文件可以替換為xml、json、純文本或者文件的其它類型。另外當(dāng)提到表或者散列表時,可以使用其它數(shù)據(jù)結(jié)構(gòu)(比如電子數(shù)據(jù)表、關(guān)系數(shù)據(jù)庫或者結(jié)構(gòu)化文件)。
由此,已經(jīng)描述特定實施例。其它實施例在所附權(quán)利要求的范圍內(nèi)。例如在權(quán)利要求中記載的動作可以按不同順序來執(zhí)行并且仍然獲得希望的結(jié)果。