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