本發(fā)明涉及語音識別。
背景技術(shù):
常規(guī)的語音識別系統(tǒng)旨在將來自用戶的語音輸入轉(zhuǎn)換為文本輸出。該文本輸出可用于各種用途,例如包括:作為搜索查詢、命令、文字處理輸入等。在典型的語音搜索系統(tǒng)中,語音界面接收用戶的語音輸入并將該語音輸入提供給語音識別引擎。語音識別引擎將該語音輸入轉(zhuǎn)換為文本搜索查詢。語音搜索系統(tǒng)然后向搜索引擎提交該文本搜索查詢,以獲得一個或多個搜索結(jié)果。
技術(shù)實現(xiàn)要素:
總的來說,本說明書中描述的主題的一個創(chuàng)新方面可以實施在以下方法中,該方法包括以下步驟:接收將語音輸入編碼的數(shù)據(jù);確定該語音輸入的轉(zhuǎn)錄文字(transcription),其中,對于該語音輸入的多個分段,確定該語音輸入的轉(zhuǎn)錄文字包括:獲取該語音輸入的第一分段的第一候選轉(zhuǎn)錄文字;確定與該第一候選轉(zhuǎn)錄文字相關(guān)聯(lián)的一個或多個場境(contexts);調(diào)整所述一個或多個場境中的每一個場境的相應(yīng)權(quán)重;以及部分地基于調(diào)整后的權(quán)重來確定該語音輸入的第二分段的第二候選轉(zhuǎn)錄文字;以及,提供該語音輸入的所述多個分段的轉(zhuǎn)錄文字以供輸出。本說明書中描述的方法可以實施為計算機實現(xiàn)的方法。此方面的其他實施例包括相應(yīng)的計算機系統(tǒng)、裝置和記錄在一個或多個計算機存儲設(shè)備上的計算機程序中,該計算機系統(tǒng)、裝置和計算機程序中的每一個均被配置為執(zhí)行所述方法的步驟。對于要配置成執(zhí)行特定操作或動作的一個或多個計算機的系統(tǒng),意味著該系統(tǒng)已安裝于在操作中使該系統(tǒng)執(zhí)行所述操作或動作的軟件、固件、硬件或其組合上。對于要配置成執(zhí)行特定操作或動作的一個或多個計算機程序,意味著所述一個或多個程序包括如下的指令:當該指令被數(shù)據(jù)處理裝置執(zhí)行時,該指令使裝置執(zhí)行所述操作或動作。
本說明書中描述的主題的另一創(chuàng)新方面可以實施為存儲有軟件的計算機可讀介質(zhì),該軟件包括可由一個或多個計算機執(zhí)行的指令,當進行這種執(zhí)行時,該指令使所述一個或多個計算機執(zhí)行以下操作,包括:接收將語音輸入編碼的數(shù)據(jù);確定該語音輸入的轉(zhuǎn)錄文字,其中,對于該語音輸入的多個分段,確定該語音輸入的轉(zhuǎn)錄文字包括:獲取該語音輸入的第一分段的第一候選轉(zhuǎn)錄文字;確定與第一候選轉(zhuǎn)錄文字相關(guān)聯(lián)的一個或多個場境;調(diào)整所述一個或多個場境中的每一個場境的相應(yīng)權(quán)重;以及,部分地基于調(diào)整后的權(quán)重來確定該語音輸入的第二分段的第二候選轉(zhuǎn)錄文字;以及,提供該語音輸入的所述多個分段的轉(zhuǎn)錄文字以供輸出。
前述和其它實施例中的每一個均能夠可選地包括以下特征中的一個或多個(單獨地或以它們的任何組合)。例如,一個實施例包括以下所有特征的組合。所述方法包括獲取語音輸入的第一分段的第一候選轉(zhuǎn)錄文字:確定該語音輸入的第一分段滿足穩(wěn)定性標準;以及,響應(yīng)于確定該語音輸入的第一分段滿足穩(wěn)定性標準來獲取該語音輸入的第一分段的第一候選轉(zhuǎn)錄文字。所述穩(wěn)定性標準包括該語音輸入的第一分段的一個或多個語義特征(semanticcharacteristics)。所述穩(wěn)定性標準包括該語音輸入的第一分段之后發(fā)生的時間延遲。該語音輸入的第二分段出現(xiàn)在該語音輸入的第一分段之后。所述一個或多個場境是從用戶設(shè)備接收的。所述一個或多個場境包括以下的數(shù)據(jù):該數(shù)據(jù)包括用戶的地理位置、用戶的搜索歷史、用戶的興趣、或用戶的活動。所述方法包括:存儲對多個場境的多個評分;以及,響應(yīng)于對所述一個或多個場境中的每一個場境的相應(yīng)權(quán)重的調(diào)整來更新所述一個或多個場境的調(diào)整后的評分。所述方法還包括將該輸出作為一個搜索查詢(searchquery)來提供,例如提供給搜索引擎,然后,搜索引擎可以響應(yīng)于該搜索查詢而向用戶設(shè)備提供一個或多個搜索結(jié)果。所述第一候選轉(zhuǎn)錄文字包括單詞、子詞或詞組。
可以實施本說明書中描述的主題的特定實施例,以實現(xiàn)以下優(yōu)點中的一個或多個。與常規(guī)的語音識別系統(tǒng)相比,該語音識別系統(tǒng)能夠基于語音輸入的分段來提供更準確的文本搜索查詢。由于該系統(tǒng)基于語音輸入的分段來調(diào)整場境的權(quán)重并且部分地基于調(diào)整后的權(quán)重來確定該語音輸入的后續(xù)分段的轉(zhuǎn)錄文字,所以,該系統(tǒng)能夠動態(tài)地提高識別性能。因此,該系統(tǒng)能夠提高語音識別的準確性。這種提高的準確性減小了用戶必須重復提供語音輸入以供語音識別系統(tǒng)處理的過程的可能性,從而使該語音識別系統(tǒng)可處理其他的語音輸入。
在附圖和以下的描述中,闡述了本說明書的主題的一個或多個實施例的細節(jié)。從該描述、附圖和權(quán)利要求書中,所述主題的其他特征、方面和優(yōu)點將變得清楚。應(yīng)當理解,這些方面和實施方式能夠相互組合,并且,在一個方面或?qū)嵤┓绞降纳舷挛闹忻枋龅奶卣饕部梢栽谄渌矫婊驅(qū)嵤┓绞降纳舷挛闹袑嵤?/p>
附圖說明
圖1是提供了示例性的語音識別系統(tǒng)的圖。
圖2是示出了示例性的場境的圖。
圖3是示出了用于確定是否滿足穩(wěn)定性標準的示例性過程的圖。
圖4是用于提供語音輸入的轉(zhuǎn)錄文字的示例性方法的流程圖。
圖5是用于確定語音輸入的轉(zhuǎn)錄文字的示例性方法的流程圖。
在各個附圖中,相同的附圖標記表示相同的元件。
具體實施方式
圖1是提供了示例性的語音識別系統(tǒng)100的圖。語音識別系統(tǒng)100包括一個或多個計算機,所述一個或多個計算機被編程為:從用戶設(shè)備120接收來自用戶10的語音輸入110,確定語音輸入110的轉(zhuǎn)錄文字,并將語音輸入110的該轉(zhuǎn)錄文字作提供為輸出。在圖1所示的示例中,該輸出可以是一個搜索查詢150,該搜索查詢150被提供給搜索引擎160,以響應(yīng)該搜索查詢150來獲取搜索結(jié)果170。然后,一個或多個搜索結(jié)果170被提供給用戶設(shè)備120。該語音識別系統(tǒng)100例如可以實施在包括服務(wù)器的一個或多個計算機上或?qū)嵤┰谟脩粼O(shè)備上。
語音識別系統(tǒng)100包括通過一個或多個網(wǎng)絡(luò)180與用戶設(shè)備120通信的語音識別引擎140。所述一個或多個網(wǎng)絡(luò)180可以是電話和/或計算機網(wǎng)絡(luò),包括無線蜂窩網(wǎng)絡(luò)、無線局域網(wǎng)(wlan)或wi-fi網(wǎng)絡(luò)、有線以太網(wǎng)、其他有線網(wǎng)絡(luò)、或它們的任何適當?shù)慕M合。用戶設(shè)備120可以是任何適當類型的計算設(shè)備,包括但不限于:移動電話、智能電話、平板計算機、音樂播放器、電子書閱讀器、膝上型計算機或臺式計算機、pda或包括一個或多個處理器和計算機可讀介質(zhì)的其他手持設(shè)備或移動設(shè)備。用戶設(shè)備120被配置為接收來自用戶10的語音輸入110。用戶設(shè)備120可以包括或聯(lián)接到例如聲電換能器或傳感器(例如,麥克風)。響應(yīng)于用戶10輸入所述語音輸入110,該語音輸入可以被提交給語音識別引擎140。(總的來說,這可以通過向語音識別引擎140提交表示該語音輸入或?qū)⒃撜Z音輸入編碼的數(shù)據(jù)來完成。語音識別引擎140可處理該數(shù)據(jù),以從接收到的數(shù)據(jù)中提取所述語音輸入)。
語音識別引擎140可以依次識別語音輸入,例如,可以識別語音輸入110的第一部分111,然后可以識別語音輸入110的第二部分112?;谔囟ǖ姆€(wěn)定性標準,可以將語音輸入110的一個或多個部分識別為語音輸入110的獨立分段。其一部分可以包括單詞(word)、子詞(sub-word)或詞組。在一些實施方式中,如下文更詳細描述的,語音輸入110的一個或多個分段可以提供中間識別結(jié)果,該中間識別結(jié)果能夠用于調(diào)整一個或多個場境。
雖然貫穿本文使用了一個搜索查詢的示例來進行說明,但語音輸入110可以表示任何類型的語音通信,包括基于語音的指令、搜索引擎查詢詞項(terms)、口述(dictation)、對話系統(tǒng)、或者使用轉(zhuǎn)錄的語音或調(diào)用使用轉(zhuǎn)錄的語音來執(zhí)行動作的軟件應(yīng)用的任何其他輸入。
語音識別引擎140可以是被配置為接收和處理語音輸入110的語音識別系統(tǒng)100的軟件組件。如圖1所示,語音識別引擎140將語音輸入110轉(zhuǎn)換為被提供給搜索引擎160的文本搜索查詢150。語音識別引擎140包括語音解碼器142、場境模塊144和場境調(diào)整模塊146。語音解碼器142、場境模塊144和場境調(diào)整模塊146可以是語音識別系統(tǒng)100的軟件組件。
當語音識別引擎140接收到語音輸入110時,語音解碼器142確定該語音輸入110的轉(zhuǎn)錄文字。然后,語音解碼器142提供語音輸入110的該轉(zhuǎn)錄文字作為輸出,例如作為要提供給搜索引擎160的搜索查詢150。
語音解碼器142使用語言模型來生成語音輸入110的候選轉(zhuǎn)錄文字。該語言模型包括與單詞或單詞的順序相關(guān)的可能性值。例如,該語言模型可以是n元模型。在語音解碼器142處理該語音輸入時,可以確定中間識別結(jié)果。每個中間識別結(jié)果均對應(yīng)于語音輸入110的轉(zhuǎn)錄文字的一個穩(wěn)定分段。下文將參照圖3更詳細地描述用于確定該轉(zhuǎn)錄文字的穩(wěn)定分段的穩(wěn)定性標準。
語音解碼器142將每個穩(wěn)定分段提供給場境調(diào)整模塊146。場境調(diào)整模塊146從場境模塊144識別出相關(guān)的場境。所識別出的每個場境可以與一個權(quán)重相關(guān)聯(lián)??梢愿鶕?jù)各種標準,例如基于場境的普便性、場境的時間接近性(即,某個特定場境是否在最近的時間段內(nèi)被頻繁使用)、或該場境最近的或總體的使用來初始指定每個場境的基本權(quán)重。該基本權(quán)重可能基于用戶的輸入與特定場境相關(guān)聯(lián)的可能性而產(chǎn)生一個初始偏差。一旦場境調(diào)整模塊146識別出相關(guān)的場境,場境調(diào)整模塊146就基于由語音解碼器142提供的一個或多個穩(wěn)定分段來調(diào)整該場境的權(quán)重??梢哉{(diào)整權(quán)重以指明語音輸入的轉(zhuǎn)錄文字與特定場境相關(guān)聯(lián)的程度。
場境模塊144存儲有場境148以及與場境148相關(guān)聯(lián)的權(quán)重。場境模塊144可以是語音識別引擎140的軟件組件,該場境模塊144被配置為使計算設(shè)備從用戶設(shè)備120接收一個或多個場境148。語音識別引擎140可以配置為將接收到的場境148存儲在場境模塊144中。在一些情況下,場境模塊144可以配置為生成為用戶10定制的一個或多個場境148。語音識別引擎140可以配置為將所生成的場境148存儲在場境模塊144中。
場境148例如可以包括:(1)描述用戶活動的數(shù)據(jù),例如多個重復的語音輸入之間的時間間隔、來自于用戶設(shè)備的屏幕附近的前側(cè)相機的反映眼睛運動的注視跟蹤信息;(2)描述發(fā)出語音輸入時的情形的數(shù)據(jù),例如所使用的移動應(yīng)用的類型、用戶的位置、所使用的設(shè)備的類型、或當前時間;(3)提交給搜索引擎的先前的語音搜索查詢;(4)描述提交給語音識別引擎的語音輸入的類型的數(shù)據(jù),例如對搜索引擎的命令、請求或搜索查詢,以及(5)實體,例如特定類別的成員、地名等。例如,可以根據(jù)先前的搜索查詢、用戶信息、實體數(shù)據(jù)庫等來形成多個場境。
圖2是示出了示例性的場境的圖。語音識別引擎被配置為將與“tennisplayers(網(wǎng)球運動員)”相關(guān)聯(lián)的場境210以及與“basketballplayers(籃球運動員)”相關(guān)聯(lián)的場境220例如存儲在場境模塊中,例如場境模塊144。場境210包括與特定的網(wǎng)球運動員相對應(yīng)的實體,例如“rogerfederer”、“rafaelnadal”和“novakdjokovic”。場境220包括與特定的籃球運動員相對應(yīng)的實體,例如“rogerbederer”、“rafaelmadall”和“novakjokovich”。
場境模塊144可以配置為存儲場境210、220的權(quán)重。該權(quán)重可以表示語音輸入的一個或多個轉(zhuǎn)錄文本與場境210、220關(guān)聯(lián)的程度。當場境調(diào)整模塊146識別出場境210、220時,該場境調(diào)整模塊還識別與場境210、220相關(guān)聯(lián)的權(quán)重。
當語音解碼器142針對語音輸入110的第一分段111獲取第一候選轉(zhuǎn)錄文字“howmanywinsdoestennisplayer(網(wǎng)球運動員勝多少次)”時,語音解碼器142將第一分段111的該第一候選轉(zhuǎn)錄文字提供給場境調(diào)整模塊146。場境調(diào)整模塊146將場境210、220識別為場境模塊144中的相關(guān)場境并識別與場境210、220相關(guān)聯(lián)的權(quán)重。然后,場境調(diào)整模塊146被配置為基于語音輸入110的第一分段111的第一候選轉(zhuǎn)錄文字來調(diào)整場境210、220的相應(yīng)權(quán)重。特別地,場境調(diào)整模塊146能夠調(diào)整場境210、220的相應(yīng)權(quán)重,以用于識別語音輸入110的后續(xù)分段。
各個場境的基本權(quán)重可能最初使語音識別偏向具有較高初始權(quán)重的“籃球”的場境,例如因為與網(wǎng)球相比而言的、與籃球相關(guān)的語音輸入的歷史流行度。然而,在基于該中間識別結(jié)果調(diào)整后,語音識別可偏向“網(wǎng)球”的場境。在本示例中,語音輸入110的第一候選轉(zhuǎn)錄文字“howmanywinsdoestennisplayer”包括詞語“tennisplayer”?;谠摰谝缓蜻x轉(zhuǎn)錄文字的詞語“tennisplayer”,場境調(diào)整模塊146可以配置為調(diào)整一個或多個場境的權(quán)重。例如,場境調(diào)整模塊146可以增加場境210的權(quán)重,例如從“10”增加到“90”,可以降低場境220的權(quán)重,例如從“90”降低到“10”,或者可以執(zhí)行增加權(quán)重和降低權(quán)重的組合。
語音解碼器142可以配置成部分地基于調(diào)整后的權(quán)重來確定語音輸入110的第二分段112的第二候選轉(zhuǎn)錄文字。響應(yīng)于對場境的相應(yīng)權(quán)重的調(diào)整,語音識別引擎140可以配置為在場境模塊144中更新場境210、220的調(diào)整后的權(quán)重。在上述示例中,為了確定語音輸入110的第二分段112的第二候選轉(zhuǎn)錄文字,語音解碼器142可以基于調(diào)整后的權(quán)重賦予場境210比場境220大的權(quán)重?;趫鼍?10的權(quán)重,語音解碼器142可以確定“rogerfederer”作為語音輸入110的第二分段112的第二候選轉(zhuǎn)錄文字。
相比之下,如果場境調(diào)整模塊146不基于第一分段111的第一候選轉(zhuǎn)錄文字來調(diào)整場境210、220的權(quán)重,則語音解碼器142可基于存儲在場境模塊144中的場境210、220的基本權(quán)重來確定第二分段112的第二候選轉(zhuǎn)錄文字。如果場境220的權(quán)重比場境210的權(quán)重大,則語音解碼器可能確定諸如“rogerbederer”的籃球運動員名字作為第二分段112的第二候選轉(zhuǎn)錄文字。因此,語音解碼器142可能提供不正確的識別結(jié)果。
在語音解碼器142獲取整個語音輸入110的轉(zhuǎn)錄文字后,語音解碼器142可以提供語音輸入110的轉(zhuǎn)錄文字以供輸出。該輸出可以直接提供給用戶設(shè)備或用于另外的處理。例如,在圖1中,該輸出識別被用作文本搜索查詢150。例如,當語音解碼器142將“rogerfederer”確定為語音輸入110的第二分段112的第二候選轉(zhuǎn)錄文字時,語音解碼器142可以輸出整個轉(zhuǎn)錄文字“howmanywinsdoestennisplayerrogerfedererhave?(網(wǎng)球選手rogerfederer勝多少次?)”作為給搜索引擎160的搜索查詢150。
搜索引擎160使用搜索查詢150執(zhí)行搜索。搜索引擎160可以包括耦合于語音識別系統(tǒng)100的web搜索引擎。搜索引擎160可以響應(yīng)于搜索查詢150來確定一個或多個搜索結(jié)果170。搜索引擎160將搜索結(jié)果170提供給用戶設(shè)備120。用戶設(shè)備120可以具有用于向用戶10呈現(xiàn)搜索結(jié)果170的顯示界面。在一些情況下,用戶設(shè)備120可以具有音頻界面,以將搜索結(jié)果170呈現(xiàn)給用戶10。
圖3是示出了用于確定給定的分段是否滿足穩(wěn)定性標準的示例性過程的圖。語音解碼器142被配置為確定語音輸入110的該部分滿足穩(wěn)定性標準。
當語音解碼器142接收語音輸入310的部分311時,語音解碼器142可以配置為確定語音輸入310的部分311是否滿足穩(wěn)定性標準。給穩(wěn)定性標準表示該部分是否可能被額外的語音識別改變。
該穩(wěn)定性標準可以包括一個或多個語義特征。如果從語義上預計某個語音輸入的一部分之后還會有一個詞或多個詞,則語音解碼器142可以確定該部分不滿足穩(wěn)定性標準。例如,當語音解碼器142接收到語音輸入310的部分311時,語音解碼器142可以確定從語義上預計該部分311之后會有一個詞或多個詞。然后,語音解碼器142確定該部分311不滿足穩(wěn)定性標準。在一些實施方式中,當語音解碼器142接收到“mine(我的)”而作為某個語音輸入的一部分時,語音解碼器142可以確定從語義上預計該部分“mine”之后不會再有一個詞或多個詞。然后,語音解碼器142可以確定該部分“mine”滿足分段的穩(wěn)定性標準。語音解碼器142可以將該分段提供給場境調(diào)整模塊146以調(diào)整場境的權(quán)重。
如果從語義上預計一個部分之后會有另一個子詞或多個子詞,則語音解碼器142也可以確定該部分不滿足穩(wěn)定性標準。例如,當語音解碼器142接收到“play”作為語音輸入310的部分312時,語音解碼器142可以確定從語義上預計該部分312之后會有一個詞或多個詞,因為從語義上看,該部分312之后可以有諸如“play-er”、“play-ground”和“play-off”的一個子詞或多個子詞。然后,語音解碼器142確定該部分311不滿足穩(wěn)定性標準。在一些實施方式中,當語音解碼器142接收“player”作為語音輸入的一部分時,語音解碼器142可以確定從語義上預計該部分“player”之后不會有一個詞或多個詞。然后,語音解碼器142可以確定該部分“player”滿足分段的穩(wěn)定性標準。語音解碼器142可以將該分段提供給場境調(diào)整模塊146以調(diào)整場境的權(quán)重。
在一些實施方式中,所述穩(wěn)定性標準可以包括在語音輸入310的一部分之后產(chǎn)生的時間延遲。如果語音輸入310的該部分之后的時間延遲的長度(duration)滿足閾值延遲值,則語音解碼器142可以確定語音輸入310的該部分滿足穩(wěn)定性標準。當語音解碼器142接收語音輸入310的該部分時,語音解碼器142可以測量從接收到該部分的時刻到接收到語音輸入310的后一部分的時刻的時間延遲。如果該時間延遲超過閾值延遲值,則語音解碼器142可以確定該部分滿足穩(wěn)定性標準。
圖4是用于確定所接收的語音輸入的轉(zhuǎn)錄文字的示例性方法400的流程圖。為了方便,將通過執(zhí)行方法400的系統(tǒng)來描述方法400。
該系統(tǒng)按照其被說出的順序來處理(410)所接收到的語音輸入,以將語音輸入的一部分確定為第一分段。該系統(tǒng)獲取(420)該語音輸入的第一分段的第一候選轉(zhuǎn)錄文字。為了獲取第一分段的第一候選轉(zhuǎn)錄文字,系統(tǒng)可以確定該語音輸入的第一分段是否滿足穩(wěn)定性標準。如果該語音輸入的第一分段滿足穩(wěn)定性標準,則系統(tǒng)可以獲取第一分段的第一候選轉(zhuǎn)錄文字。如果該語音輸入的第一分段不滿足穩(wěn)定性標準,則系統(tǒng)可不獲取第一候選轉(zhuǎn)錄文字。然后,系統(tǒng)可以接收該語音輸入的一個或多個部分,并識別該語音輸入新的第一分段以確定該語音輸入的新的第一分段是否滿足穩(wěn)定性標準。如上所參照圖3所描述的,該系統(tǒng)可以使用過程300確定該語音輸入的第一分段滿足穩(wěn)定性標準。
該系統(tǒng)從場境的集合中確定(430)與第一分段相關(guān)的一個或多個場境??梢曰谟傻谝环侄翁峁┑膱鼍硜泶_定與第一分段相關(guān)的特定場境。例如,第一分段的特定關(guān)鍵字可以被識別為與特定的場境相關(guān)?;氐綀D2,該系統(tǒng)可以識別與“tennisplayers”相關(guān)聯(lián)的場境以及與“basketballplayers”相關(guān)聯(lián)的場境。網(wǎng)球運動員場境可以與諸如“rogerfederer”、“rafaelnadal”和“novakdjokovic”的關(guān)鍵詞相關(guān)聯(lián)?;@球運動員的場境可以與諸如“rogerbederer”、“rafaelmadall”和“novakjocovich”的關(guān)鍵詞相關(guān)聯(lián)。該系統(tǒng)可以配置成存儲每個場境的權(quán)重。當該系統(tǒng)識別出場境時,該系統(tǒng)還可以識別所述場境的相應(yīng)權(quán)重。該場境的相應(yīng)權(quán)重表示語音輸入的一個或多個轉(zhuǎn)錄文本與場境關(guān)聯(lián)的程度。
該系統(tǒng)調(diào)整(440)所述一個或多個場境中的每一個場境的相應(yīng)權(quán)重。該系統(tǒng)可以基于語音輸入的第一候選轉(zhuǎn)錄文字來調(diào)整每個場境的相應(yīng)權(quán)重。例如,該語音輸入的第一候選轉(zhuǎn)錄文字“howmanywinsdoestennisplayer”包括詞語“tennisplayer(網(wǎng)球運動員)”?;诘谝缓蜻x轉(zhuǎn)錄文字的詞語“tennisplayer”,該系統(tǒng)可以被配置為調(diào)整所述場境的權(quán)重。例如,該系統(tǒng)可以增加場境的權(quán)重,例如從“10”增加到“90”,可以降低場境的權(quán)重,例如從“90”降低到“10”,或者可以將增加權(quán)重和降低權(quán)重的組合。
在一些實施方式中,僅調(diào)整(例如,增加)最相關(guān)的場境的權(quán)重,而所有其它場境保持恒定。在一些其它實施方式中,所有其它的場境被降低權(quán)重,而最相關(guān)的場境保持恒定。此外,可以產(chǎn)生這兩者的任何適當?shù)慕M合。例如,一個相關(guān)的場境的提升值可以與另一場境的降低值不同。
該系統(tǒng)部分地基于調(diào)整后的權(quán)重來確定(450)該語音輸入的第二分段的第二候選轉(zhuǎn)錄文字。響應(yīng)于對所述場境的相應(yīng)權(quán)重的調(diào)整,該系統(tǒng)可以更新所述場境的調(diào)整后的權(quán)重。例如,該系統(tǒng)可以基于調(diào)整后的權(quán)重賦予被識別為與第一分段更相關(guān)的第一場境比第二場境更多的權(quán)重。基于調(diào)整后的權(quán)重,語音解碼器可以確定語音輸入的第二分段的第二候選轉(zhuǎn)錄文字。該過程繼續(xù)執(zhí)行,直到不再有要識別的語音輸入的額外部分。
圖5是用于提供語音搜索的示例性方法500的流程圖。為了方便起見,將針對執(zhí)行方法500的系統(tǒng)來描述方法500。
該系統(tǒng)接收(510)語音輸入。該系統(tǒng)可以配置成接收來自用戶的語音輸入。該系統(tǒng)可以在用戶說話時實時地接收語音輸入的每個分段。
當該系統(tǒng)接收到語音輸入時,系統(tǒng)確定(520)該語音輸入的轉(zhuǎn)錄文字。例如,如上文關(guān)于圖4所描述的,該系統(tǒng)確定轉(zhuǎn)錄文字。一旦系統(tǒng)確定(520)該語音輸入的整個轉(zhuǎn)錄文字,則該系統(tǒng)提供(530)語音輸入的轉(zhuǎn)錄文字以供輸出。系統(tǒng)可以將該輸出提供為文本搜索查詢。系統(tǒng)可以使用文本搜索查詢來執(zhí)行搜索并獲取搜索結(jié)果。該系統(tǒng)可以向用戶提供搜索結(jié)果。在一些實施方式中,該系統(tǒng)可以提供顯示界面以向用戶呈現(xiàn)搜索結(jié)果。在其他實施方式中,該系統(tǒng)可以提供音頻界面以向用戶呈現(xiàn)搜索結(jié)果。
本說明書中描述的主題和操作的實施例可以在數(shù)字電子電路中,或在計算機軟件、固件或硬件中實現(xiàn),包括本說明書中公開的結(jié)構(gòu)及其結(jié)構(gòu)等同物,或它們中的一個或多個的組合。本說明書中描述的主題的實施例可以實現(xiàn)為在計算機存儲介質(zhì)上編碼的一個或多個計算機程序,即,計算機程序指令的一個或多個模塊、用于由數(shù)據(jù)處理設(shè)備執(zhí)行或控制數(shù)據(jù)處理設(shè)備的操作。替選地或另外,所述程序指令可以被編碼在人工生成的傳播信號上,例如機器產(chǎn)生的電、光或電磁信號,生成該信號以編碼用于傳輸至合適的接收器設(shè)備以供數(shù)據(jù)處理設(shè)備執(zhí)行的信息。計算機存儲介質(zhì)可以是或包括在計算機可讀存儲設(shè)備、計算機可讀存儲基板、隨機或串行存取存儲器陣列或設(shè)備中、或它們中的一個或多個的組合。此外,雖然計算機存儲介質(zhì)不是傳播信號,但計算機存儲介質(zhì)可以是在人工生成的傳播信號中編碼的計算機程序指令的來源或終點。計算機存儲介質(zhì)還可以是或包括于一個或多個單獨的物理部件或介質(zhì)內(nèi),例如多個cd、磁盤或其他存儲設(shè)備。
在本說明書中描述的操作可以被實現(xiàn)為由數(shù)據(jù)處理裝置對存儲在一個或多個計算機可讀存儲設(shè)備上或從其他來源接收的數(shù)據(jù)執(zhí)行的操作。
術(shù)語“數(shù)據(jù)處理裝置”包括用于處理數(shù)據(jù)的所有類型的裝置、設(shè)備和機器,例如包括可編程處理單元、計算機、芯片上系統(tǒng)、個人計算機系統(tǒng)、臺式計算機、膝上型計算機、筆記本計算機、上網(wǎng)本計算機、大型計算機系統(tǒng)、手持計算機、工作站、網(wǎng)絡(luò)計算機、應(yīng)用服務(wù)器、存儲設(shè)備、消費電子設(shè)備如相機、攝像機、機頂盒、移動設(shè)備、視頻游戲控制臺、外圍設(shè)備諸如交換機、調(diào)制解調(diào)器、路由器、或者通常任何類型的計算或電子設(shè)備、或者前述各項中的多個或它們的組合。該裝置可以包括專用邏輯電路,例如fpga(現(xiàn)場可編程門陣列)或asic(應(yīng)用專用集成電路)。除了硬件之外,該裝置還可以包括創(chuàng)建用于所述計算機程序的執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、跨平臺運行時環(huán)境、虛擬機或它們中的一個或多個的組合。該裝置和執(zhí)行環(huán)境可以實現(xiàn)各種不同的計算模型基礎(chǔ)設(shè)施,例如web服務(wù)、分布式計算和網(wǎng)格計算基礎(chǔ)設(shè)施。
計算機程序(也稱為程序、軟件、軟件應(yīng)用、腳本或代碼)可以以任何形式的編程語言編寫,包括編譯或解釋語言、聲明性或過程語言,并且可以以任何形式部署,包括作為獨立程序或作為適于在計算環(huán)境中使用的模塊、組件、子例程、對象或其他單元。計算機程序可以但不需要對應(yīng)于文件系統(tǒng)中的文件。程序可以存儲在保存其他程序或數(shù)據(jù)(例如,存儲在標記語言文檔中的一個或多個腳本)的文件的一部分中,專用于所述程序的單個文件中,或者存儲在多個協(xié)同文件中(例如,存儲一個或多個模塊、子程序、或代碼的一部分的文件)。計算機程序可以部署成在一個計算機上或在位于同一個地點或分布在多個地點處并通過通信網(wǎng)絡(luò)互連的多個計算機上執(zhí)行。
本說明書中描述的過程和邏輯流程可以由執(zhí)行一個或多個計算機程序的一個或多個可編程處理單元執(zhí)行,以通過對輸入數(shù)據(jù)進行操作并生成輸出來執(zhí)行行動。過程和邏輯流程也可以由專用邏輯電路,例如fpga(現(xiàn)場可編程門陣列)或asic(應(yīng)用專用集成電路)來執(zhí)行,并且該裝置也可以實現(xiàn)為專用邏輯電路。
適于執(zhí)行計算機程序的處理單元例如包括通用和專用微處理器以及任何種類的數(shù)字計算機的任何一個或多個處理單元。通常,處理單元從只讀存儲器或隨機存取存儲器或這兩者中接收指令和數(shù)據(jù)。計算機的基本元件是用于根據(jù)指令執(zhí)行行動的處理單元和用于存儲指令及數(shù)據(jù)的一個或多個存儲器設(shè)備。通常,計算機還將包括用于存儲數(shù)據(jù)的一個或多個大容量存儲設(shè)備,例如磁盤、磁光盤或光盤、或者可操作地耦合到該用于存儲數(shù)據(jù)的一個或多個大容量存儲設(shè)備,以從其接收數(shù)據(jù)或向其傳送數(shù)據(jù)。然而,計算機不需要具有這樣的設(shè)備。此外,計算機可以嵌入在另一設(shè)備中,例如移動電話、掌上電腦(pda)、移動音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(gps)接收器、網(wǎng)絡(luò)路由設(shè)備、或便攜式存儲設(shè)備,例如通用串行總線(usb)閃存驅(qū)動器,此僅為舉的例子。適合用于存儲計算機程序指令和數(shù)據(jù)設(shè)備包括任何形式的非易失性存儲器、介質(zhì)和存儲器設(shè)備,包括例如半導體存儲器設(shè)備,例如eprom、eeprom和閃存設(shè)備;磁盤,例如內(nèi)部硬盤或可移動盤;磁光盤;和cd-rom盤以及dvd-rom盤。所述處理單元和存儲器可以由專用邏輯電路補充或并入專用邏輯電路中。
為了提供與用戶的交互,本說明書中描述的主題的實施例可以在具有用于向用戶顯示信息的顯示設(shè)備、例如crt(陰極射線管)或lcd(液晶顯示器)監(jiān)視器的計算機上實現(xiàn),以及在用戶可以通過其向計算機提供輸入的鍵盤和指示設(shè)備、例如鼠標或軌跡球上實現(xiàn)。其他類型的設(shè)備也可以用于提供與用戶的交互;例如,提供給用戶的反饋可以為任何形式的感覺反饋,例如視覺反饋、聽覺反饋或觸覺反饋;并可以以任何形式接收來自用戶的輸入,包括聲音、語音或觸覺輸入。另外,計算機可以通過向用戶使用的設(shè)備發(fā)送文檔和從用戶使用的設(shè)備接收文檔,與用戶交互;例如,通過響應(yīng)于從web瀏覽器接收的請求,將網(wǎng)頁發(fā)送到用戶的客戶端設(shè)備上的web瀏覽器。
在本說明書中描述的主題的實施例可以在包括后端組件(例如作為數(shù)據(jù)服務(wù)器)、或包括中間件組件(例如應(yīng)用服務(wù)器)、或包括前端組件(例如具有圖形用戶界面或web瀏覽器的客戶端計算機,用戶可以通過該客戶端計算機與本說明書中描述的主題的實施方式交互)的計算系統(tǒng)、或路由設(shè)備(例如網(wǎng)絡(luò)路由器)、或者一個或多個這樣的后端、中間件或前端組件的組合中實現(xiàn)。該系統(tǒng)的多個組件可以通過任何形式或數(shù)字數(shù)據(jù)通信(例如通信網(wǎng)絡(luò))的介質(zhì)互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“l(fā)an”)和廣域網(wǎng)(“wan”)、互聯(lián)網(wǎng)絡(luò)(例如internet)和對等網(wǎng)絡(luò)(例如,特設(shè)的對等網(wǎng)絡(luò))。
該計算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠離且通常通過通信網(wǎng)絡(luò)交互??蛻舳撕头?wù)器的關(guān)系通過在相應(yīng)的計算機上執(zhí)行并具有客戶端-服務(wù)器關(guān)系的計算機程序建立。在一些實施例中,服務(wù)器向客戶端設(shè)備發(fā)送數(shù)據(jù)(例如,html頁面)(例如,用于向與客戶端設(shè)備交互的用戶顯示數(shù)據(jù)和從用戶接收用戶輸入)??梢栽诜?wù)器處從客戶端設(shè)備接收在客戶端設(shè)備處生成的數(shù)據(jù)(例如,用戶交互的結(jié)果)。
一個或多個計算機的系統(tǒng)可以配置成通過安裝在該系統(tǒng)上的、使得該系統(tǒng)在操作中執(zhí)行動作的軟件、固件、硬件或它們的組合來執(zhí)行特定的動作。一個或多個計算機程序可以配置成通過包括在被數(shù)據(jù)處理裝置執(zhí)行時使該裝置執(zhí)行動作的指令來執(zhí)行特定動作。
雖然本說明書包含許多具體實施細節(jié),但不應(yīng)解釋為對任何發(fā)明或可要求保護范圍的限制,而應(yīng)解釋為對特定發(fā)明的特定實施例的特定特征的描述。在本說明書中在單獨實施例的上下文中描述的某些特征也可以在單個實施例中的組合實現(xiàn)。相反,在單個實施例的上下文中描述的各種特征也可以在多個實施例中單獨地或以任何合適的子組合來實現(xiàn)。此外,雖然特征可以在以上被描述為在某些組合中起作用并甚至如起初所要求保護的,但是來自所要求保護的組合的一個或多個特征在一些情況下可以從組合中刪除,所要求保護的組合可以針對子組合或子組合的變化。
類似地,雖然在附圖中以特定順序描繪操作,但不應(yīng)理解為要求這些操作以所示的特定順序或以順序次序執(zhí)行,或者所有示出的操作被執(zhí)行以實現(xiàn)預期的結(jié)果。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,上述實施例中,各種系統(tǒng)組件的分離不應(yīng)理解為在所有實施例中都需這樣的分離,而應(yīng)理解為:所描述的程序組件和系統(tǒng)通常可以集成在單個軟件產(chǎn)品中或封裝到多個軟件產(chǎn)品中。
因此,描述了主題的特定實施例。其他實施例也在所附權(quán)利要求的范圍內(nèi)。在一些情況下,權(quán)利要求中描述的動作能夠以不同的順序執(zhí)行并且仍然實現(xiàn)所期望的結(jié)果。另外,附圖中描繪的過程不一定需要所示出的特定順序或順序次序來實現(xiàn)預期的結(jié)果。在某些實施方式中,多任務(wù)和并行處理可以是有利的。因此,其他實施例也在所附權(quán)利要求的范圍內(nèi)。