本說明書涉及語音識別。
背景技術(shù):
通常,搜索查詢包含當(dāng)用戶請求搜索引擎執(zhí)行搜索時用戶提交的一個或多個查詢條件。除其它途徑之外,用戶可以通過語音查詢的語境來輸入搜索查詢的查詢條件,即,通過說出查詢條件到移動裝置的麥克風(fēng)??梢允褂谜Z音識別技術(shù)處理語音查詢。
技術(shù)實現(xiàn)要素:
根據(jù)本說明書中描述的主題的一些創(chuàng)新方面,在檢測由用戶提供的話語的同時,基于話語的中間轉(zhuǎn)錄識別初步搜索結(jié)果。一經(jīng)檢測完整話語,基于完整話語的最終轉(zhuǎn)錄,可以將初步搜索結(jié)果中的一個或多個提供到用戶。
在一個示例實現(xiàn)方式中,用戶可以提問關(guān)于歷史地標(biāo)的問題。用戶可以提問“帝國大廈有多高?”的問題。在用戶說出完整問題之前,用戶的移動裝置可以檢測問題的初始部分并且將其提供到計算系統(tǒng)。計算系統(tǒng)可以計算問題的初始部分的中間轉(zhuǎn)錄——例如“有多高”——并且在計算完整問題的最終轉(zhuǎn)錄之前,識別可能與問題的初始部分相關(guān)聯(lián)的其它過去的查詢。例如,計算系統(tǒng)可以將之前的查詢“帝國大廈有多高”和“華盛頓紀(jì)念碑有多高”識別為與當(dāng)前查詢的初始部分相關(guān)聯(lián)。獲得或重新獲得搜索結(jié)果以用于在先查詢,并且儲存在緩存中。一經(jīng)接收完整問題“帝國大廈有多高”,計算系統(tǒng)將之前的查詢“帝國大廈有多高”識別為與當(dāng)前查詢相關(guān)聯(lián)。然后對于當(dāng)前查詢“帝國大廈有多高”,計算系統(tǒng)可以在生成搜索結(jié)果之前不等待轉(zhuǎn)錄完整問題的情況下,將與之前的查詢“帝國大廈有多高”相關(guān)聯(lián)的儲存的搜索結(jié)果提供到用戶。這縮短了將搜索結(jié)果返回到用戶所用的時間。
本說明書中描述的主題的創(chuàng)新方面可以實施為計算機實施的方法,其包含以下操作:接收編碼話語的數(shù)據(jù);獲得話語的中間轉(zhuǎn)錄;在獲得話語的最終轉(zhuǎn)錄之前:i)確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián),ii)獲得識別為響應(yīng)于之前接收的搜索查詢的一個或多個結(jié)果,以及iii)儲存結(jié)果中的一個或多個;獲得話語的最終轉(zhuǎn)錄;確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián);以及響應(yīng)于確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián),提供儲存的一個或多個結(jié)果用于輸出。話語的中間轉(zhuǎn)錄可以為話語的初始部分的轉(zhuǎn)錄。
這些方面的其它實施例包含對應(yīng)的系統(tǒng)、設(shè)備以及計算機程序,其配置為進(jìn)行編碼在計算機儲存裝置上的方法的動作。例如,這些方面的另一實施例包含計算機可讀介質(zhì),其可以為非瞬態(tài)計算機可讀介質(zhì),儲存包括由一個或多個計算機可執(zhí)行的指令的軟件,一經(jīng)這樣的執(zhí)行,指令使一個或多個計算機進(jìn)行包括以下操作:接收編碼話語的音頻數(shù)據(jù);獲得話語的中間轉(zhuǎn)錄;在獲得話語的最終轉(zhuǎn)錄之前:確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián),獲得識別為響應(yīng)于之前接收的搜索查詢的一個或多個結(jié)果,并且儲存結(jié)果中的一個或多個;獲得話語的最終轉(zhuǎn)錄;確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián);以及響應(yīng)于確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián),提供儲存的一個或多個結(jié)果用于輸出。
這些和其它實施例可以各自可選地包含以下特征中的一個或多個。例如,確定話語的中間轉(zhuǎn)錄具有閾值大小,其中僅在確定中間轉(zhuǎn)錄具有閾值大小之后,確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。由連續(xù)語音識別器生成話語的中間轉(zhuǎn)錄,并且其中從搜索引擎獲得一個或多個結(jié)果。在確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)之后,提交之前接收的搜索查詢用于由搜索引擎重新執(zhí)行。確定與話語相關(guān)聯(lián)的位置跟與之前接收的搜索查詢相關(guān)聯(lián)的位置相關(guān)聯(lián)。
特征還包含,例如,確定話語的中間轉(zhuǎn)錄跟由與話語相關(guān)聯(lián)的相同用戶提交的之前接收的搜索查詢相關(guān)聯(lián)。確定話語的中間轉(zhuǎn)錄跟由與話語相關(guān)聯(lián)的用戶不同的用戶提交的之前接收的搜索查詢相關(guān)聯(lián)。話語是除語音查詢之外的語音命令。確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的一部分相同。確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的一部分在閾值相似度內(nèi)。
本說明書中所描述的主體的一個或多個實施例的細(xì)節(jié)隨附圖和下面的說明提出。主題的其它潛在的特征、方面以及優(yōu)點從說明書、附圖以及權(quán)利要求將變得顯而易見。應(yīng)當(dāng)認(rèn)識到,方面和實現(xiàn)方式可以組合,并且一個方面或?qū)崿F(xiàn)方式的語境中描述的特征可以在其它方面或?qū)崿F(xiàn)方式的語境中實現(xiàn)。
附圖說明
圖1a圖示了用于基于話語的中間轉(zhuǎn)錄獲得搜索結(jié)果的系統(tǒng)。
圖1b圖示了用于對話語的最終轉(zhuǎn)錄提供搜索結(jié)果的系統(tǒng)。
圖2圖示了用于基于話語的中間轉(zhuǎn)錄獲得搜索結(jié)果的示例過程的流程圖。
圖3圖示了用于對話語的最終轉(zhuǎn)錄提供搜索結(jié)果的示例過程的流程圖。
圖4圖示了可以用來實現(xiàn)本文描述的技術(shù)的計算機裝置和移動計算機裝置。
具體實施方式
圖1a圖示了系統(tǒng)100,其用于基于話語的中間轉(zhuǎn)錄獲得搜索結(jié)果。簡言之,系統(tǒng)100可以獲得話語的中間轉(zhuǎn)錄,并且在獲得話語的最終轉(zhuǎn)錄之前,確定中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián),并且獲得響應(yīng)于之前接收的搜索查詢的結(jié)果。系統(tǒng)100包含移動計算裝置102、前端引擎104、連續(xù)語音識別器106、完成引擎108、查詢?nèi)罩?10、搜索引擎112以及緩存114。在一些示例中,連續(xù)語音識別器106、完成引擎108以及搜索引擎112中的一個或多個可以包含于前端引擎104。移動計算裝置102在一個或多個網(wǎng)絡(luò)上與前端引擎104通信。移動計算裝置102可以包含麥克風(fēng)、照相機,或用于檢測來自用戶116的話語的其它檢測構(gòu)件。
在一些示例中,用戶116希望了解他最喜歡的球隊正在打的比賽的分?jǐn)?shù)。因此,用戶116可以提問關(guān)于這樣的分?jǐn)?shù)的問題——例如,口頭自然語言查詢。然而,在提供之前——即,完成問題或提供完整問題之前——移動計算裝置102檢測問題的初始部分的話語。在示意性示例中,在完成用戶116的問題之前,移動計算裝置102檢測問題的初始部分——例如,“分?jǐn)?shù)是什么”——作為在用戶116提供完整問題之前的時間t0的話語。
在一些示例中,話語可以包含除語音查詢之外的語音命令。例如,語音命令可以包含“熱門詞”——例如,“注意詞”或“語音操作開始命令”——其為說出以喚起系統(tǒng)100的注意的預(yù)定條件。
前端引擎104例如,在一個或多個網(wǎng)絡(luò)上接收編碼來自移動計算裝置102的話語的音頻數(shù)據(jù)。當(dāng)移動裝置已經(jīng)檢測到話語的初始部分的情況下,一經(jīng)已檢測到初始部分,即使用戶尚未提供完整問題,編碼該初始部分的音頻數(shù)據(jù)可以由移動裝置發(fā)送到前端引擎。在一些示例中,音頻數(shù)據(jù)可以還包含環(huán)境數(shù)據(jù),包含移動計算裝置102的位置數(shù)據(jù)。前端引擎104可以適當(dāng)?shù)靥幚硪纛l數(shù)據(jù),包含從音頻數(shù)據(jù)提取話語,并且將話語提供到連續(xù)語音識別器106。
連續(xù)語音識別器106生成話語的中間轉(zhuǎn)錄,其可以為話語的初始部分的轉(zhuǎn)錄。生成話語的中間轉(zhuǎn)錄可以包含連續(xù)語音識別器106轉(zhuǎn)錄話語為文字或文字相關(guān)的數(shù)據(jù)。在一些示例中,連續(xù)語音識別器106可以提供話語的書寫形式的語言的表示。例如,連續(xù)語音識別器106轉(zhuǎn)錄話語以生成“分?jǐn)?shù)是什么”的轉(zhuǎn)錄。連續(xù)語音識別器106提供中間轉(zhuǎn)錄到前端引擎104。
在時間t1,前端引擎104從連續(xù)語音識別器106獲得話語的中間轉(zhuǎn)錄。前端引擎104可以適當(dāng)?shù)靥幚碇虚g轉(zhuǎn)錄,并且提供中間轉(zhuǎn)錄到完成引擎108。為該目的,在示意性示例中,完成引擎108接收中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”,并且在獲得話語的最終轉(zhuǎn)錄之前——例如,通過前端引擎104和/或連續(xù)語音識別器106——適當(dāng)?shù)靥幚碓捳Z的中間轉(zhuǎn)錄,如下所述。
特別地,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。在示意性示例中,完成引擎108訪問查詢?nèi)罩?10,查詢?nèi)罩?10包含之前接收的搜索查詢,示出為查詢q1、q2、…、qn。完成引擎108確定話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與之前接收的搜索查詢q1,“鯊魚隊比賽分的數(shù)是什么”相關(guān)聯(lián),并且也與之前接收的搜索查詢q2,“比目魚隊比賽的分?jǐn)?shù)是什么”相關(guān)聯(lián)。
在一些示例中,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的一部分相同。特別地,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的初始部分或前綴相同,例如,匹配或相同。在示意性示例中,完成引擎108確定話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與之前接收的搜索查詢q1“鯊魚隊比賽分的數(shù)是什么”初始部分相同,并且與之前接收的搜索查詢q2“比目魚隊比賽的分?jǐn)?shù)是什么”的初始部分相同。
在一些示例中,完成引擎108確定話語的中間轉(zhuǎn)錄在之前接收的搜索查詢的一部分的閾值相似度內(nèi)或在預(yù)定編輯距離之內(nèi)。特別地,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的初始部分或前綴在閾值相似度內(nèi)。例如,完成引擎108可以確定話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與之前接收的搜索查詢“鯊魚隊比賽的分?jǐn)?shù)是什么”的初始部分在閾值相似度內(nèi)。完成引擎108確定話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與之前接收的搜索查詢“分?jǐn)?shù)是什么”的初始部分在閾值相似度內(nèi)。在一些示例中,閾值相似度為基于話語的中間轉(zhuǎn)錄與之前接收的搜索查詢的一部分,例如初始部分——之間的編輯距離。
在一些示例中,僅在確定話語的中間轉(zhuǎn)錄具有閾值大小或長度之后,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。完成引擎108將話語的中間轉(zhuǎn)錄與閾值大小相比,并且響應(yīng)于話語的中間轉(zhuǎn)錄至少為閾值大小,確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。例如,完成引擎108可以將話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與閾值大小相比較,并且作為響應(yīng),確定話語的中間轉(zhuǎn)錄“分?jǐn)?shù)是什么”與之前接收的搜索查詢q1“鯊魚隊比賽分的數(shù)是什么”相關(guān)聯(lián),并且與之前接收的搜索查詢q2“比目魚隊比賽的分?jǐn)?shù)是什么”相關(guān)聯(lián)。在一些示例中,閾值大小是基于音素、音節(jié)或詞的閾值數(shù)目。
在一些示例中,完成引擎108確定與話語相關(guān)聯(lián)的位置跟與之前接收的搜索查詢相關(guān)聯(lián)的位置相關(guān)聯(lián)。特別地,前端引擎104可以提供與話語相關(guān)聯(lián)的位置——如由來自移動計算裝置102的音頻數(shù)據(jù)提供的——到完成引擎108?;诖_定與話語相關(guān)聯(lián)的位置跟與之前接收的搜索查詢相關(guān)聯(lián)的位置相關(guān)聯(lián),完成引擎108還可以確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。在一些示例中,完成引擎108可以確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián),并且還確定與話語相關(guān)聯(lián)的位置跟與之前接收的搜索查詢相關(guān)聯(lián)的位置相關(guān)聯(lián)。例如,在示意性示例中,由用戶116在時間t0提供的話語可以與用戶116的家位置相關(guān)聯(lián)。完成引擎108可以確定之前接收的搜索查詢q1和q2中的一個或兩者也與家位置相關(guān)聯(lián)。
在一些示例中,完成引擎108確定話語的中間轉(zhuǎn)錄與由用戶116提交的之前接收的搜索查詢相關(guān)聯(lián)。特別地,之前接收的搜索查詢由相同用戶提交,例如,與話語相關(guān)聯(lián)的用戶116。從而,基于確定話語與之前接收的搜索查詢與諸如用戶116的相同用戶相關(guān)聯(lián),完成引擎108還可以確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。例如,在示意性示例中,話語和之前接收的搜索查詢q1和q2都與用戶116相關(guān)聯(lián)。
在一些示例中,完成引擎108確定話語的中間轉(zhuǎn)錄跟由與用戶116不同的用戶提交的之前接收的搜索查詢相關(guān)聯(lián)。特別地,之前接收的搜索查詢由跟與話語相關(guān)聯(lián)的用戶116不同的用戶提交。從而,基于確定話語和之前接收的搜索查詢與不同的用戶相關(guān)聯(lián),完成引擎108還可以確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。
在時間t2,完成引擎108提供之前接收的搜索查詢q1和q2到前端引擎104。前端引擎104獲得識別為響應(yīng)于之前接收的搜索查詢q1和q2的結(jié)果。特別地,在時間t3,前端引擎104提供之前接收的搜索查詢q1和q2到搜索引擎112用于由搜索引擎112重新執(zhí)行。搜索引擎112對于查詢q1和q2中的每一個進(jìn)行電子文檔的搜索,以識別分別響應(yīng)于查詢q1和q2的結(jié)果r1和r2。在時間t4,搜索引擎112提供結(jié)果r1和r2到前端引擎104。在時間t5,前端引擎104將結(jié)果r1和r2儲存在緩存114中。特別地,在示意性示例中,前端引擎104將查詢q1、結(jié)果r1以及查詢q1與結(jié)果r1之間的關(guān)聯(lián)性儲存在緩存114中,并且還將查詢q2、結(jié)果r2以及查詢q2與結(jié)果r2之間的關(guān)聯(lián)性儲存在緩存114中。
圖1b圖示了系統(tǒng)100,其用于對話語的最終轉(zhuǎn)錄提供搜索結(jié)果。簡言之,系統(tǒng)100還可以獲得話語的最終轉(zhuǎn)錄,確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián),并且提供之前儲存的結(jié)果用于輸出。
在一些示例中,用戶116完成問題,即,提供在時間t0初始地提供的完整問題。在示意性示例中,在時間t6,移動計算裝置102檢測問題的最終部分的話語,例如,“鯊魚隊比賽的”。在一些示例中,時間t6可以發(fā)生在時間t2與t5之間。系統(tǒng)100可以開始處理話語的初始部分“分?jǐn)?shù)是什么”,即,獲得話語的中間轉(zhuǎn)錄,確定中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián),和/或在檢測問題的最終部分的話語——例如,“鯊魚隊比賽的”——之前和/或同時獲得響應(yīng)于之前接收的搜索查詢的結(jié)果。
前端引擎104例如在一個或多個網(wǎng)絡(luò)上接收編碼來自移動計算裝置102的話語的音頻數(shù)據(jù)。前端引擎104可以適當(dāng)?shù)靥幚硪纛l數(shù)據(jù),包含從音頻數(shù)據(jù)提取話語,并且提供話語到連續(xù)語音識別器106。在一些示例中,前端引擎104提供完整話語“鯊魚隊比賽分的數(shù)是什么”到連續(xù)語音識別器106。在一些示例中,前端引擎104提供話語的剩余部分“鯊魚隊比賽的”到連續(xù)語音識別器106。
連續(xù)語音識別器106生成話語的最終轉(zhuǎn)錄。生成話語的最終轉(zhuǎn)錄可以包含連續(xù)語音識別器106轉(zhuǎn)錄話語為文字或文字相關(guān)的數(shù)據(jù)。在一些示例中,連續(xù)語音識別器106可以提供話語的書寫形式語言的表示。例如,連續(xù)語音識別器106轉(zhuǎn)錄整個話語以生成“鯊魚隊比賽分的數(shù)是什么”的最終轉(zhuǎn)錄。連續(xù)語音識別器106提供最終轉(zhuǎn)錄到前端引擎104。
在時間t7,前端引擎104獲得來自連續(xù)語音識別器106的最終轉(zhuǎn)錄。前端引擎104可以適當(dāng)?shù)靥幚碜罱K轉(zhuǎn)錄,并且提供最終轉(zhuǎn)錄到完成引擎108。為該目的,在示意性示例中,完成引擎108接收最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”并且適當(dāng)?shù)靥幚碓捳Z的最終轉(zhuǎn)錄,如下所述。
在一些實現(xiàn)方式中,在時間t8,完成引擎108確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián)。特別地,完成引擎108訪問識別為與話語的中間轉(zhuǎn)錄相關(guān)聯(lián)的之前接收的搜索查詢q1和q2。在一些示例中,完成引擎108將話語的最終轉(zhuǎn)錄與之前接收的搜索查詢q1和q2中的每一個作比較。完成引擎108確定最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”與之前接收的搜索查詢q1“鯊魚隊比賽分的數(shù)是什么”相關(guān)聯(lián)。此外,在一些示例中,完成引擎108確定最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”與之前接收的搜索查詢q2“比目魚隊比賽的分?jǐn)?shù)是什么”不相關(guān)聯(lián)。
在一些示例中,完成引擎108確定話語的最終轉(zhuǎn)錄與之前接收的搜索查詢相同。完成引擎108確定話語的最終轉(zhuǎn)錄相似或相同于——例如匹配或相同或相似于——之前接收的搜索查詢。在示意性示例中,完成引擎108確定話語的最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”相同于之前接收的搜索查詢q1“鯊魚隊比賽分的數(shù)是什么”。
在一些示例中,完成引擎108確定話語的最終轉(zhuǎn)錄與之前接收的搜索查詢在閾值相似度內(nèi)。完成引擎108確定話語的最終轉(zhuǎn)錄與之前接收的搜索查詢在閾值相似度內(nèi)。例如,完成引擎108可以確定話語的最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”與之前接收的搜索查詢“鯊魚隊比賽的分?jǐn)?shù)是什么”在閾值相似度內(nèi)。完成引擎108確定話語的最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”與之前接收的搜索查詢的“鯊魚隊比賽的分?jǐn)?shù)是什么”在閾值相似度內(nèi)。在一些示例中,閾值相似度基于話語的最終轉(zhuǎn)錄與之前接收的搜索查詢之間的編輯距離。
完成引擎108提供之前接收的搜索查詢q1到前端引擎104,或提供之前接收的搜索查詢q1的指示到前端引擎104。前端引擎104訪問緩存114以識別與之前接收的搜索查詢q1相關(guān)聯(lián)的各自的結(jié)果。特別地,在時間t9,前端引擎104識別之前接收的搜索查詢q1與結(jié)果r1之間的關(guān)聯(lián)性——如由緩存114儲存的——并且接收結(jié)果r1。在一些示例中,響應(yīng)于識別之前接收的搜索查詢q1與結(jié)果r1之間的關(guān)聯(lián)性,前端引擎104從緩存114移除查詢q2、結(jié)果r2以及查詢q2與結(jié)果r2之間的關(guān)聯(lián)性。
在時間t10,完成引擎108提供儲存的結(jié)果r1用于輸出到移動計算裝置102。響應(yīng)于完成引擎108確定話語的最終轉(zhuǎn)錄“鯊魚隊比賽分的數(shù)是什么”與之前接收的搜索查詢q1相關(guān)聯(lián),前端引擎104提供儲存的結(jié)果r1用于輸出到移動計算裝置102。
圖2圖示了示例過程200的流程圖,其用于基于話語的中間轉(zhuǎn)錄獲得搜索結(jié)果??梢允褂靡粋€或多個計算裝置執(zhí)行示例過程200。例如,移動計算裝置102、前端引擎104、連續(xù)語音識別器106、完成引擎108,和/或搜索引擎112可以用來執(zhí)行示例過程200。
接收編碼話語的音頻數(shù)據(jù)(202)。特別地,前端引擎104從移動計算裝置102接收音頻數(shù)據(jù)。例如,音頻數(shù)據(jù)包含話語的初始部分,例如,“訂航班到”。
獲得話語的中間轉(zhuǎn)錄(204)。特別地,連續(xù)語音識別器106生成話語的中間轉(zhuǎn)錄。例如,連續(xù)語音識別器106轉(zhuǎn)錄話語以生成轉(zhuǎn)錄“訂航班到”。前端引擎104從連續(xù)語音識別器106獲得話語的中間轉(zhuǎn)錄。
確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)(206)。特別地,在獲得話語的最終轉(zhuǎn)錄之前,完成引擎108確定話語的中間轉(zhuǎn)錄與之前接收的搜索查詢相關(guān)聯(lián)。例如,完成引擎108確定話語的中間轉(zhuǎn)錄“訂航班到”與之前接收的搜索查詢qa“訂航班到奧斯汀”相關(guān)聯(lián),并且也與之前接收的搜索查詢qb“訂航班到墨西哥”相關(guān)聯(lián)。
獲得響應(yīng)于之前接收的搜索查詢的結(jié)果(208)。特別地,在獲得話語的最終轉(zhuǎn)錄之前,搜索引擎112執(zhí)行之前接收的搜索查詢以識別響應(yīng)于之前接收的搜索查詢的結(jié)果。例如,搜索引擎112對于查詢qa和qb中的每一個進(jìn)行電子文檔的搜索,以識別分別響應(yīng)于查詢qa和qb的結(jié)果ra和rb。前端引擎104從搜索引擎獲得結(jié)果ra和rb。
儲存結(jié)果(210)。特別地,在獲得話語的最終轉(zhuǎn)錄之前,前端引擎儲存結(jié)果在緩存中。例如,前端引擎104將查詢qa、結(jié)果ra以及查詢qa與結(jié)果ra之間的關(guān)聯(lián)性儲存在緩存114中,并且還將查詢qb、結(jié)果rb以查詢qb與結(jié)果rb之間的關(guān)聯(lián)性儲存在緩存114中。
圖3圖示了示例過程300的流程圖,其用于對話語的最終轉(zhuǎn)錄的提供搜索結(jié)果??梢允褂靡粋€或多個計算裝置執(zhí)行示例過程300。例如,移動計算裝置102、前端引擎104、連續(xù)語音識別器106、完成引擎108,和/或搜索引擎112可以用來執(zhí)行示例過程300。
獲得話語的最終轉(zhuǎn)錄(302)。特別地,連續(xù)語音識別器106生成話語的最終轉(zhuǎn)錄。例如,連續(xù)語音識別器106轉(zhuǎn)錄整個話語以生成最終轉(zhuǎn)錄“訂航班到奧斯汀”。前端引擎104從連續(xù)語音識別器106獲得話語的最終轉(zhuǎn)錄。
確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián)(304)。特別地,完成引擎108確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián)。例如,完成引擎108確定最終轉(zhuǎn)錄“訂航班到奧斯汀”與之前接收的搜索查詢qa“訂航班到奧斯汀”相關(guān)聯(lián)。
響應(yīng)于確定話語的最終轉(zhuǎn)錄也與之前接收的搜索查詢相關(guān)聯(lián),提供儲存的結(jié)果用于輸出。特別地,前端引擎104訪問緩存114以識別與之前接收的搜索查詢相關(guān)聯(lián)的各自的結(jié)果。響應(yīng)于完成引擎108確定話語的最終轉(zhuǎn)錄“訂航班到奧斯汀”也與之前接收的搜索查詢qa相關(guān)聯(lián),前端引擎104提供儲存的結(jié)果ra用于輸出到移動計算裝置102。
圖4示出了通用計算機裝置400和通用移動計算機裝置440的示例,其可以與本文描述的技術(shù)一起使用。計算裝置400意圖表示各種形式的數(shù)字計算機,比如膝上式、臺式、工作站、個人數(shù)字助理、服務(wù)器、葉片服務(wù)器、大型機以及其它適當(dāng)?shù)挠嬎銠C。計算裝置440意圖表示各種形式的移動裝置,比如個人數(shù)字助理、蜂窩電話、智能電話以及其它相似的計算裝置。本文所示的組件,它們的連接和關(guān)系以及它們的功能僅為示例性的,而不意圖限制本文件中所描述和/或所要求保護(hù)的本發(fā)明的實現(xiàn)方式。
計算裝置400包含處理器402、存儲器404、儲存裝置406、連接到存儲器404的高速接口408以及高速擴展端口410,以及連接到低速總線414和儲存裝置406的低速接口412。組件402、404、406、408、410以及412中的每一個使用各種總線互連,并且可以安裝在共同的母板上,或以其它適當(dāng)?shù)姆绞桨惭b。處理器402可以處理用于在計算裝置400內(nèi)執(zhí)行的指令,包含儲存在存儲器404中或儲存裝置406的指令以將gui的圖形信息顯示在外部輸入/輸出裝置上,比如耦接到高速接口408的顯示器416。在其它實現(xiàn)方式中,可以適當(dāng)使用多個處理器和/或多個總線,連同多個存儲器和存儲器的類型。此外,可以連接多個計算裝置400,每個裝置提供必要操作的一部分(例如,作為服務(wù)器庫、葉片服務(wù)器組或多處理器系統(tǒng))。
存儲器404在計算裝置400內(nèi)儲存信息。在一種實現(xiàn)方式中,存儲器404為一個或多個易失性存儲器單元。在另一實現(xiàn)方式中,存儲器404為一個或多個非易失性存儲器單元。存儲器404也可以為其它形式的計算機可讀介質(zhì),比如磁盤或光盤。
儲存裝置406能夠為計算裝置400提供大量存儲。在一種實現(xiàn)方式中,儲存裝置406可以為或含有計算機可讀介質(zhì),比如軟盤裝置、硬盤裝置、光盤裝置或磁帶裝置,閃存或其它相似固態(tài)存儲器裝置,或者裝置的陣列,包含儲存區(qū)域網(wǎng)絡(luò)中的裝置或其它配置。計算機程序產(chǎn)品可以為實體地實施為信息載體。計算機程序產(chǎn)品還可以含有指令,當(dāng)執(zhí)行時,進(jìn)行比如上面描述的那些的一個或多個方法。信息載體為計算機或機器可讀介質(zhì),比如存儲器404、儲存裝置406或處理器402上的存儲器。
高速控制器408為計算裝置400管理帶寬密集的操作,而低速控制器412管理較低帶寬密集的操作。這樣的功能的分配僅為示例的。在一種實現(xiàn)方式中,高速控制器408耦接到存儲器404、顯示器416(例如,通過圖形處理器或加速器),并且耦接到高速擴展端口410,其可以接受各種擴展卡(未示出)。在實現(xiàn)方式中,低速控制器412耦接到儲存裝置406和低速擴展端口414。低速擴展端口,其可以包含各種通信端口(例如,usb、藍(lán)牙、以太網(wǎng)、無線以太網(wǎng)),通信端口可以連接到一個或多個輸入/輸出裝置,比如鍵盤、指向裝置、掃描儀或網(wǎng)絡(luò)裝置,比如交換機或路由器,例如,通過網(wǎng)絡(luò)適配器。在一些示例中,儲存裝置406耦接到高速總線。
計算裝置400可以實現(xiàn)為若干不同形式,如圖所示。例如,其可以實現(xiàn)為標(biāo)準(zhǔn)服務(wù)器420,或在一組這樣的服務(wù)器中實現(xiàn)多次。其也可以實現(xiàn)為機架服務(wù)器系統(tǒng)424的一部分。此外,其可以實現(xiàn)在諸如膝上式計算機422的個人計算機中。可替代地,來自計算裝置400的組件可以與諸如裝置440的移動裝置(未示出)中的其它組件組合。這樣的裝置中的每一個可以含有計算裝置400、440中的一個或多個,并且整個系統(tǒng)可以由彼此通信的多個計算裝置400、440構(gòu)成。
計算裝置440包含處理器452、存儲器464、比如顯示器454的輸入/輸出裝置、通信接口476以及收發(fā)器468,以及其它組件。也可以用儲存裝置提供裝置440,儲存裝置為比如微驅(qū)動器或其它裝置,以提供額外儲存。組件440、452、464、454、476以及468中的每一個使用各種總線互連,并且組件中的若干個可以安裝在共同的母板上或以其它適當(dāng)方式安裝。
處理器452可以在計算裝置640內(nèi)執(zhí)行指令,包含儲存在存儲器464中的指令。處理器可以實現(xiàn)為芯片的芯片集,其包含分開且多個的模擬和數(shù)字處理器。處理器可以提供例如裝置440的其它組件的協(xié)調(diào),比如用戶界面的控制,由裝置440運行的程序以及由裝置440的無線通信。
處理器452可以通過控制界面468和耦接到顯示器454的顯示界面446與用戶通信。顯示器454可以為例如tftlcd(薄膜晶體管液晶顯示器)或oled(有機發(fā)光二極管)顯示器,或其它適當(dāng)?shù)娘@示技術(shù)。顯示界面446可以包括適當(dāng)電路用于驅(qū)動顯示器454向用戶呈現(xiàn)圖形和其它信息??刂平缑?48可以接收來自用戶的命令,并且將它們轉(zhuǎn)換用于提交到處理器452。此外,可以提供與處理器452通信的外部接口462,從而允許裝置440與其它裝置的附近區(qū)域通信。在一些實現(xiàn)方式中,外部接口462可以提供例如連線的通信或在其它實現(xiàn)方式中用于無線通信,并且也可以使用多個接口。
存儲器464儲存信息在計算裝置440內(nèi)。存儲器464可以實現(xiàn)為一個或多個計算機可讀媒介或介質(zhì)、一個或多個易失性存儲器單元或一個或多個非易失性存儲器單元。也可以提供擴展存儲器444,并且通過擴展接口442將其連接到裝置440,擴展接口442可以包含例如simm(單一直插存儲器模塊)卡接口。這樣的擴展存儲器444可以為裝置440提供額外儲存空間,或也可以為裝置440儲存應(yīng)用或其它信息。特別地,擴展存儲器444可以包含指令,以進(jìn)行或補充上面描述的過程,并且還可以包含安全信息。從而,例如,可以提供擴展存儲器444作為裝置440的安全模塊,并且可以用指令編程,指令允許裝置440的安全使用。此外,可以經(jīng)由simm卡,連同附加信息——比如在simm卡上以不可篡改的方式設(shè)置識別信息——提供安全應(yīng)用。
存儲器可以包含例如閃存和/或nvram存儲器,如下所討論。在一種實現(xiàn)方式中,計算機程序產(chǎn)品實體地實施在信息載體中。計算機程序產(chǎn)品含有指令,當(dāng)執(zhí)行時,進(jìn)行比如上述那些的一個或多個方法。信息載體為計算機或機器可讀介質(zhì),比如存儲器464、擴展存儲器444、處理器452上的存儲器或傳播的信號,其可以接收在例如收發(fā)器468或外部接口462上。
裝置440可以通過通信接口476無線地通信,在需要的情況下,其可以包含數(shù)字信號處理電路。通信接口476可以在各種模式或協(xié)議下提供通信,該模式或協(xié)議比如gsm語音通話、sms、ems或mms信息、cdma、tdma、pdc、wcdma、cdma2000或gprs,以及其它。這樣的通信可以例如通過無線電頻率收發(fā)器468發(fā)生。此外,短程通信可以比如使用藍(lán)牙、wifi或其它這樣的收發(fā)器(未示出)發(fā)生。此外,gps(全球定位系統(tǒng))接收器模塊440可以提供附加的導(dǎo)航和位置相關(guān)的無線數(shù)據(jù)到裝置440,其可由裝置440上操作的應(yīng)用適當(dāng)使用。
裝置440還可以使用音頻編碼解碼器460音頻通信,音頻編碼解碼器460可以接收從用戶說出的信息并且將其轉(zhuǎn)換為可用的數(shù)字信息。音頻編碼解碼器460可以相似地為用戶生成音頻聲音,比如通過在例如裝置440的頭戴耳機中的揚聲器。這樣的聲音可以包含來自語音電話通話的聲音,可以包含記錄的聲音(例如,語音信息、音樂文件,等等)并且還可以包含由裝置440上運行的應(yīng)用生成的聲音。
計算裝置440可以實現(xiàn)為若干不同形式,如圖所示。例如,其可實現(xiàn)為蜂窩電話480。其可實現(xiàn)為智能電話482、個人數(shù)字助理或其它相似移動裝置的一部分。
本文描述的系統(tǒng)和技術(shù)的各種實現(xiàn)方式可以實現(xiàn)為數(shù)字電子電路、集成電路、特別設(shè)計的asic(專用集成電路)、計算機硬件、固件、軟件和/或其組合。這些各種實現(xiàn)方式可以包含一個或多個計算機程序中的實現(xiàn)方式,計算機程序為包含至少一個可編程處理器的可編程系統(tǒng)上可執(zhí)行和/或可解讀的,處理器為專用或通用,連接以從儲存系統(tǒng)、至少一個輸入裝置以及至少一個輸出裝置接收數(shù)據(jù)和指令并向其傳輸數(shù)據(jù)和指令。
這些計算機程序(也被稱為程序、軟件、軟件應(yīng)用或代碼)包含用于可編程處理器的機器指令,并且可以實現(xiàn)為高級程序和/或面向?qū)ο缶幊陶Z言、和/或?qū)崿F(xiàn)為匯編/機器語言。如本文中所用,術(shù)語“機器可讀介質(zhì)”“計算機可讀介質(zhì)”是指任意計算機程序產(chǎn)品、設(shè)備和/或裝置(例如,磁盤、光盤、存儲器、可編程邏輯裝置(pld)),其用來提供機器指令和/或數(shù)據(jù)到可編程處理器,包含將機器指令接收為機器可讀信號的機器可讀介質(zhì)。術(shù)語“機器可讀信號”是指用來提供機器指令和/或數(shù)據(jù)到可編程處理器的任意信號。
為提供與用戶的交互,本文描述的系統(tǒng)和技術(shù)可實施在具有用于顯示信息到用戶的顯示裝置(例如,crt(陰極射線管)或lcd(液晶顯示器)監(jiān)視器)以及通過其用戶可以提供輸入到計算機的鍵盤和指向裝置(例如,鼠標(biāo)或軌跡球)的計算機上。其它種類的裝置也可以用來提供與用戶的交互;例如,提供到用戶的反饋可以為任意形式的感官反饋(例如,視覺反饋、聽覺反饋或觸覺反饋);并且來自用戶的輸入能夠以任意形式接收,包含聲音、語音或觸覺輸入。
本文描述的系統(tǒng)和技術(shù)可以實施在計算系統(tǒng)中,計算機系統(tǒng)包含后端組件(例如,作為數(shù)據(jù)服務(wù)器),或包含中間件組件(例如,應(yīng)用服務(wù)器),或包含前端組件(例如,具有圖形用戶界面或網(wǎng)絡(luò)瀏覽器的客戶端計算機、通過圖形用戶界面或網(wǎng)絡(luò)瀏覽器、用戶可以與本文描述的系統(tǒng)和技術(shù)的實現(xiàn)方式交互),或這樣的后端組件、中間件,或前端組件的任意組合。系統(tǒng)的組件可以由任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包含局域網(wǎng)絡(luò)(“l(fā)an”)、廣域網(wǎng)絡(luò)(“wan”)以及互聯(lián)網(wǎng)。
計算系統(tǒng)可以包含客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離,并且典型地通過通信網(wǎng)絡(luò)交互。憑借操作在各自的計算機上且具有彼此的客戶端-服務(wù)器關(guān)系的計算機程序產(chǎn)生客戶端與服務(wù)器的關(guān)系。
盡管本公開包含一些具體細(xì)節(jié),這些不應(yīng)認(rèn)為限制本公開或所要求保護(hù)的內(nèi)容的范圍,反之作為本公開的實現(xiàn)方式的特征的描述。本公開中在分開的實現(xiàn)方式的語境中描述的某些特征也可以提供在單個實現(xiàn)方式中的組合。相反地,在單個實現(xiàn)方式的語境中描述的各種特征也可以分開地或以任意適當(dāng)子組合提供在多個實現(xiàn)方式中。此外,盡管特征在上面描述為在某些組合中起作用,并且甚至初始地要求保護(hù)如此,來自所要求保護(hù)的組合的一個或多個特征在某些情況下可以從組合中剔除,并且所要求的組合可能針對子組合或子組合的變形。
相似地,盡管操作在附圖中以特定順序圖示,這不應(yīng)理解成為了達(dá)到所需結(jié)果,要求這樣的操作按所示的特定順序或次序執(zhí)行,或要求執(zhí)行全部所示的操作。在某些環(huán)境下,多任務(wù)和平行處理可為有利的。此外,上面的實現(xiàn)方式中描述的各種系統(tǒng)組件的分離不應(yīng)理解為在全部實現(xiàn)方式中要求這樣的分離,并且應(yīng)當(dāng)理解所描述的程序組件和系統(tǒng)系統(tǒng)通??梢栽趩蝹€軟件產(chǎn)品中整合在一起,或封裝到多個軟件產(chǎn)品中。
從而,已經(jīng)描述了本公開的特定實現(xiàn)方式。其它實現(xiàn)方式在下面的的范圍內(nèi)。例如,權(quán)利要求中列舉的操作能夠以不同順序執(zhí)行,仍實現(xiàn)所需的結(jié)果。已經(jīng)描述了若干實現(xiàn)方式。然而,應(yīng)當(dāng)理解,可以在不背離本空開的精神和范圍的情況下,進(jìn)行各種修改。例如,上面所示的流程的各種形式可以使用為步驟的重新排序、增加和移除。相應(yīng)地,其它實現(xiàn)方式在下面的權(quán)利要求的范圍內(nèi)。
例如,上述實現(xiàn)方式中,在移動裝置102中檢測話語的初始部分。然而,發(fā)明不限于此,并且話語的初始部分可以可替代地在其它位置檢測,例如由前端引擎104或連續(xù)語音識別器106。