諸如智能電話和平板計(jì)算機(jī)之類的一些電子設(shè)備包括自然語言理解NLU引擎或與NLU引擎相關(guān)聯(lián),該NLU引擎解釋用戶輸入以提供有意義的輸出,或促進(jìn)對(duì)于經(jīng)由電子設(shè)備可訪問的一個(gè)或多個(gè)應(yīng)用的動(dòng)作。虛擬代理或虛擬助理是一種這樣類型的應(yīng)用,它們得益于NLU處理以輔助用戶執(zhí)行諸如搜索網(wǎng)絡(luò)(例如,因特網(wǎng))上的內(nèi)容以及與其他應(yīng)用進(jìn)行接口連接之類的功能。用戶可以通過打字、觸摸、語音或某些其他接口與虛擬代理進(jìn)行交互。為確定用戶輸入的含義,NLU引擎解釋用戶輸入,并且虛擬代理可以基于NLU結(jié)果來嘗試推斷用戶希望執(zhí)行的動(dòng)作。
技術(shù)實(shí)現(xiàn)要素:
一個(gè)實(shí)施例涉及一種訓(xùn)練由自然語言理解NLU引擎使用的排序分類器以為計(jì)算機(jī)系統(tǒng)的用戶排序由所述NLU引擎生成的NLU假設(shè)的方法。該方法包括下列動(dòng)作:經(jīng)由用戶界面接收指定多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息,其中,所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域涉及用戶感興趣的潛在區(qū)域,其中,所述多個(gè)領(lǐng)域之中的一個(gè)領(lǐng)域的權(quán)重指示用戶對(duì)該領(lǐng)域感興趣的水平,以及,使用訓(xùn)練數(shù)據(jù)來訓(xùn)練所述排序分類器,所述訓(xùn)練數(shù)據(jù)的特征是至少部分地基于指定所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息的。
另一個(gè)實(shí)施例涉及編碼有多個(gè)指令的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述多個(gè)指令當(dāng)被計(jì)算機(jī)運(yùn)行時(shí)執(zhí)行一種方法。該方法包括使用自然語言理解NLU引擎來處理由用戶提供的輸入的文本表示以確定NLU輸出的動(dòng)作,其中,處理所述文本表示是至少部分地基于將權(quán)重與多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域相關(guān)聯(lián)的特定于用戶的信息來執(zhí)行的,其中,所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域涉及用戶感興趣的潛在區(qū)域,其中,與所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域相關(guān)聯(lián)的權(quán)重指示用戶對(duì)相應(yīng)的領(lǐng)域感興趣的水平。
另一個(gè)實(shí)施例涉及計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括:用戶界面,所述用戶界面被配置成接收指定多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息,其中,所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域涉及用戶感興趣的潛在區(qū)域,其中,所述多個(gè)領(lǐng)域之中的一個(gè)領(lǐng)域的權(quán)重指示用戶對(duì)該領(lǐng)域感興趣的水平;以及至少一個(gè)處理器。所述至少一個(gè)處理器被編程為使用訓(xùn)練數(shù)據(jù)來訓(xùn)練所述排序分類器,所述訓(xùn)練數(shù)據(jù)的特征是至少部分地基于指定所述多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息的。
應(yīng)該理解,前述的概念以及下面更詳細(xì)地討論的附加概念(假設(shè)這樣的概念不是相互不一致)的所有組合都是本文中所公開的獨(dú)創(chuàng)性的主題的一部分。
附圖說明
在附圖中,各個(gè)附圖中示出的每一個(gè)相同或近乎相同的組件由同樣的標(biāo)號(hào)來表示。為了清楚的目的,可能不是每一個(gè)組件都在每張附圖中被標(biāo)示。在附圖中:
圖1是可以實(shí)現(xiàn)本發(fā)明的一些實(shí)施例的示例性計(jì)算環(huán)境的示意圖;
圖2是根據(jù)本發(fā)明的一些實(shí)施例的用于創(chuàng)建經(jīng)訓(xùn)練的排序引擎的說明性處理的流程圖;
圖3是根據(jù)本發(fā)明的一些實(shí)施例的用于指定多個(gè)領(lǐng)域的權(quán)重的說明性用戶界面,其中,權(quán)重被用來訓(xùn)練排序引擎;
圖4是根據(jù)本發(fā)明的一些實(shí)施例的用于生成用來訓(xùn)練排序引擎的訓(xùn)練數(shù)據(jù)的說明性處理的流程圖;
圖5A和圖5B示出根據(jù)一些實(shí)施例的可以被包括作為用來訓(xùn)練排序引擎的訓(xùn)練數(shù)據(jù)的說明性特征組;
圖6是根據(jù)本發(fā)明的一些實(shí)施例的用于至少部分地基于用戶偏好選擇NLU假設(shè)的說明性處理的流程圖;
圖7是根據(jù)本發(fā)明的一些實(shí)施例的用于選擇基于語音輸入生成的NLU假設(shè)的說明性處理的流程圖,其中,NLU假設(shè)是至少部分地基于用戶偏好選擇的;以及
圖8是可以實(shí)現(xiàn)本發(fā)明的一些實(shí)施例的示例性計(jì)算機(jī)系統(tǒng)。
具體實(shí)施方式
包括NLU引擎的一些系統(tǒng)基于從特定用戶收集的歷史使用信息,以自定義方式執(zhí)行。例如,對(duì)于因特網(wǎng)上與在流行文化中也具有高關(guān)注度(high profile)的專業(yè)運(yùn)動(dòng)員有關(guān)的信息的查詢可能潛在地從體育相關(guān)的網(wǎng)站返回(例如,關(guān)于運(yùn)動(dòng)成績(jī)、體育統(tǒng)計(jì)等等的)信息和/或從與流行文化相關(guān)的網(wǎng)站返回信息(例如,運(yùn)動(dòng)員在公共事件中的照片、約會(huì)信息、其他明星八卦等等)。感興趣的信息可能在用戶與用戶之間不同。隨著時(shí)間的推移,如果第一用戶表現(xiàn)出對(duì)體育的興趣(例如,基于選擇了哪些返回的鏈接)但不對(duì)流行文化感興趣,一些NLU引擎將學(xué)習(xí)該歷史信息,并使用該歷史信息以使為該用戶返回的未來結(jié)果有傾向性(例如,通過當(dāng)接收到與體育人士相關(guān)聯(lián)的查詢時(shí)返回體育相關(guān)的內(nèi)容而不是流行文化內(nèi)容)。相反地,對(duì)于表現(xiàn)出對(duì)流行文化的興趣而對(duì)體育的興趣不大的不同用戶,一些NLU引擎將隨著時(shí)間的推移學(xué)習(xí)該用戶的偏好,并使返回的結(jié)果有偏向流行文化而不是體育的傾向性。
發(fā)明人認(rèn)識(shí)到,包括NLU引擎的系統(tǒng)的新用戶沒有歷史信息,使得NLU引擎不能提供個(gè)性化的用戶體驗(yàn),直到用戶使用了該系統(tǒng)達(dá)(潛在地,漫長(zhǎng)的)一段時(shí)間。另外,這樣的系統(tǒng)的用戶也不具有在用戶的興趣隨著時(shí)間的推移而變化的情況下對(duì)于重載NLU引擎的個(gè)性化傾向性的控制。為此,本發(fā)明的一些實(shí)施例涉及提供使得用戶能夠指定對(duì)于多個(gè)類別(本文中也被稱為“領(lǐng)域”)中的一個(gè)或多個(gè)類別的預(yù)定信息(例如,經(jīng)由一組權(quán)重)的用戶界面,其中,預(yù)定信息反映用戶對(duì)于接收與那些特定領(lǐng)域中的一個(gè)或多個(gè)領(lǐng)域相關(guān)聯(lián)的NLU結(jié)果的興趣。如下面進(jìn)一步詳細(xì)地討論的,一些NLU引擎可包括排序引擎,該排序引擎可以使用預(yù)定信息以任何合適的方式來訓(xùn)練和/或修改,以基于所提供的信息來個(gè)性化用戶的體驗(yàn)。
本文中所描述的技術(shù)可以在使用基于NLU的處理的任何應(yīng)用或系統(tǒng)中實(shí)現(xiàn)。在一些實(shí)施例中,如下面所描述的,使用本文中所描述的技術(shù)的NLU引擎可以用來促進(jìn)用戶和虛擬代理(例如,實(shí)現(xiàn)為在諸如智能電話之類的電子設(shè)備上執(zhí)行的應(yīng)用)之間的交互。然而,這只是本文中所描述的技術(shù)的一個(gè)說明性用途,因?yàn)樗鼈兛梢栽谌魏苇h(huán)境中與任何NLU引擎一起使用。
圖1示出根據(jù)本發(fā)明的一些實(shí)施例的可以使用的示例性計(jì)算環(huán)境100。計(jì)算環(huán)境100包括電子設(shè)備110。電子設(shè)備110包括被配置成接收用戶輸入的輸入接口112。輸入接口可以采取任何形式,因?yàn)楸景l(fā)明的各方面在這點(diǎn)上不受限制。在一些實(shí)施例中,輸入接口112可包括多個(gè)輸入接口,每一個(gè)輸入接口被配置成接收一種或多種類型的用戶輸入。例如,輸入接口112可包括鍵盤(例如,QWERTY鍵盤)、小鍵盤、觸敏屏幕、鼠標(biāo)或任何其他合適的用戶輸入設(shè)備。作為另一個(gè)示例,輸入接口可包括麥克風(fēng),該麥克風(fēng)當(dāng)被激活時(shí)接收語音輸入,并在電子設(shè)備上本地地、遠(yuǎn)程地((例如,在服務(wù)器上)或者在兩者之間分布地執(zhí)行自動(dòng)語音識(shí)別(ASR)。接收到的語音輸入可以存儲(chǔ)在與電子設(shè)備110相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)庫中,以促進(jìn)ASR處理。
電子設(shè)備110還包括被配置成從電子設(shè)備110輸出信息的輸出接口114。輸出接口可以采取任何形式,因?yàn)楸景l(fā)明的各方面在這點(diǎn)上不受限制。在一些實(shí)施例中,輸出接口114可包括多個(gè)輸出接口,每一個(gè)輸出接口被配置成提供一種或多種類型的輸出。例如,輸出接口114可包括一個(gè)或多個(gè)顯示器,一個(gè)或多個(gè)揚(yáng)聲器,或任何其他合適的輸出設(shè)備。在電子設(shè)備110上執(zhí)行的應(yīng)用可以被編程為顯示用戶界面,以促進(jìn)與該應(yīng)用相關(guān)聯(lián)的一個(gè)或多個(gè)動(dòng)作的執(zhí)行。在本文中描述的一個(gè)示例中,如下面更詳細(xì)地描述的,應(yīng)用會(huì)顯示這樣的用戶界面,該用戶界面使得用戶能夠提供描述用戶感興趣的潛在區(qū)域的、對(duì)于多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的預(yù)定信息(例如,權(quán)重)。在下面的示例中,由用戶對(duì)于多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域指定的預(yù)定信息是反映領(lǐng)域?qū)μ囟ㄓ脩舻呐d趣的相對(duì)重要性的權(quán)重。然而,應(yīng)該理解,可以替選地使用反映一個(gè)用戶或一類用戶的興趣的任何合適的預(yù)定信息來指定用戶偏好。
電子設(shè)備110還包括被編程為運(yùn)行多個(gè)指令以在電子設(shè)備110上執(zhí)行一個(gè)或多個(gè)功能的一個(gè)或多個(gè)處理器118。示例性功能包括,但不僅限于,促進(jìn)用戶輸入的存儲(chǔ),在電子設(shè)備110上啟動(dòng)并運(yùn)行一個(gè)或多個(gè)應(yīng)用,以及經(jīng)由輸出接口114提供輸出信息。示例性功能還包括執(zhí)行語音識(shí)別(例如,使用ASR引擎130)以及執(zhí)行自然語言理解(例如,使用NLU引擎132),如下面更詳細(xì)地討論的。
電子設(shè)備110還包括被配置成使得電子設(shè)備110能夠經(jīng)由網(wǎng)絡(luò)120與一臺(tái)或多臺(tái)計(jì)算機(jī)進(jìn)行通信的網(wǎng)絡(luò)接口122??梢允褂每蛻舳?服務(wù)器系統(tǒng)來實(shí)現(xiàn)一些實(shí)施例,在客戶端/服務(wù)器系統(tǒng)中,ASR和/或NLU處理的至少一部分遠(yuǎn)離電子設(shè)備110而執(zhí)行。在這樣的實(shí)施例中,網(wǎng)絡(luò)接口122可以被配置成向一個(gè)或多個(gè)服務(wù)器設(shè)備160提供信息,以執(zhí)行ASR、NLU處理,或某些其他合適的功能。可以以任何合適的方式、使用使得能夠在電子設(shè)備和一臺(tái)或多臺(tái)計(jì)算機(jī)之間進(jìn)行通信的任何合適的通信信道來實(shí)現(xiàn)網(wǎng)絡(luò)120。例如,網(wǎng)絡(luò)120可包括,但不僅限于,局域網(wǎng)、廣域網(wǎng)、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、或局域網(wǎng)和廣域網(wǎng)的任何合適的組合。另外,網(wǎng)絡(luò)接口122還可以被配置成支持使得能夠與一臺(tái)或多臺(tái)計(jì)算機(jī)進(jìn)行通信的一種或多種類型的網(wǎng)絡(luò)中的任何一種。
在一些實(shí)施例中,電子設(shè)備110被配置成使用自動(dòng)語音識(shí)別(ASR)引擎130處理經(jīng)由輸入接口112接收到的語音,以產(chǎn)生至少一個(gè)語音識(shí)別結(jié)果。ASR引擎130被配置成使用自動(dòng)語音識(shí)別來處理包括語音的音頻,以確定與語音的至少一部分相對(duì)應(yīng)的文本表示。ASR引擎130可以實(shí)現(xiàn)任何類型的自動(dòng)語音識(shí)別以處理語音,因?yàn)楸疚闹忻枋龅募夹g(shù)不受所使用的特定自動(dòng)語音識(shí)別處理的限制。作為一個(gè)非限制性示例,ASR引擎130可以使用一個(gè)或多個(gè)聲音模型140和/或語言模型150將語音數(shù)據(jù)映射到文本表示。這些模型可以是獨(dú)立于說話者的,或者模型中的一個(gè)或兩者可以與特定說話者或一類說話者相關(guān)聯(lián)。另外,語言模型150可包括由ASR引擎130在確定識(shí)別結(jié)果時(shí)所使用的獨(dú)立于領(lǐng)域的模型和/或針對(duì)特定的領(lǐng)域定制的模型。當(dāng)模型是特定于領(lǐng)域的時(shí),如下面更詳細(xì)地討論的,特定于領(lǐng)域的模型可以可任選地與自然語言理解(NLU)系統(tǒng)(例如,NLU引擎132)一起使用。ASR引擎130可以輸出任何合適數(shù)量的識(shí)別結(jié)果,因?yàn)楸景l(fā)明的各方面在這點(diǎn)上不受限制。在一些實(shí)施例中,ASR引擎130可以被配置成輸出基于使用聲音模型和/或語言模型對(duì)輸入語音的分析而確定的N個(gè)最佳結(jié)果,如上文所描述的。
電子設(shè)備110還包括NLU引擎132,NLU引擎132被配置成處理文本表示以獲得對(duì)輸入的一些理解,并且至少部分地基于文本表示而輸出一個(gè)或多個(gè)NLU假設(shè)。在一些實(shí)施例中,由NLU引擎132處理的文本表示可以包括從ASR引擎(例如,ASR引擎130)輸出的一個(gè)或多個(gè)ASR結(jié)果(例如,N個(gè)最佳結(jié)果),并且NLU引擎可以被配置成對(duì)于ASR結(jié)果中的每一個(gè)ASR結(jié)果生成一個(gè)或多個(gè)NLU假設(shè)。應(yīng)該理解,NLU引擎132可以處理任何合適的文本表示,不管它是否是作為ASR處理的結(jié)果輸出的。例如,可以替選地(或另外地)由根據(jù)本文中所描述的技術(shù)的NLU引擎來處理通過鍵盤、觸摸屏輸入的文本表示、或使用某些其他輸入接口接收到的文本表示。另外,從搜索引擎返回的或以某些其他方式提供給電子設(shè)備110的基于文本的結(jié)果也可以由根據(jù)本文中所描述的技術(shù)中的一種或多種技術(shù)的NLU引擎來處理。NLU引擎及其輸出的形式可以采取許多形式中的任何一種,因?yàn)楸疚闹兴枋龅募夹g(shù)不限于與以任何特定方式操作的NLU引擎一起使用。
在一些實(shí)施例中,由NLU引擎對(duì)于文本表示所生成的NLU假設(shè)中的每一個(gè)可以與反映指定給文本表示的所建議的興趣類別的領(lǐng)域相關(guān)聯(lián)。NLU假設(shè)也可以與除領(lǐng)域以外的信息相關(guān)聯(lián),因?yàn)楸景l(fā)明的各方面在這點(diǎn)上不受限制。在包括ASR引擎的各實(shí)施例中,每一個(gè)ASR結(jié)果可以與一個(gè)NLU假設(shè)或多個(gè)NLU假設(shè)相關(guān)聯(lián),其中多個(gè)假設(shè)中的每一個(gè)假設(shè)與不同的領(lǐng)域相關(guān)聯(lián)。當(dāng)提供多個(gè)假設(shè)時(shí),可以提供置信度分?jǐn)?shù)或指定的領(lǐng)域是正確的似然率的其他表示。
如上文所討論的,如果基于NLU的引擎不是針對(duì)特定用戶(或一類用戶)的興趣定制的,則它可能提供不是很適于特定用戶的個(gè)人興趣的輸出。本發(fā)明的一些實(shí)施例包括用于基于指定特定用戶感興趣的區(qū)域的用戶偏好來使與NLU引擎相關(guān)聯(lián)的輸出有傾向性的技術(shù)。在一些實(shí)施例中,傾向性是由與NLU引擎132相關(guān)聯(lián)的排序引擎134所提供的。雖然在圖1中排序引擎134是作為NLU引擎132的一部分示出的,但是在一些實(shí)施例中,排序引擎134可以與NLU引擎132分開地實(shí)現(xiàn),并可以被配置為從NLU引擎132接收未排序的假設(shè)。如下面更詳細(xì)地討論的,在一些實(shí)施例中,排序引擎134被配置成基于提供給排序引擎的有關(guān)用戶偏好的信息,重新排序由NLU引擎132所生成的假設(shè)。
用戶偏好可以由用戶經(jīng)由任何合適的用戶界面,向排序引擎134顯式地或隱式地提供,如下面更詳細(xì)地討論的。這可以在用戶第一次開始使用系統(tǒng)時(shí)完成,或在用戶已經(jīng)使用系統(tǒng)一段時(shí)間之后完成(例如,根據(jù)用戶的歷史使用數(shù)據(jù)所指示的用戶偏好來改變NLU引擎理解用戶偏好的方式)。由于用戶是在選擇偏好之后使用與NLU引擎相關(guān)聯(lián)的電子設(shè)備,因此可以基于跟蹤用戶的行為的使用信息(例如,用戶90%的時(shí)間選擇了與音樂相關(guān)的搜索結(jié)果,而只有5%的時(shí)間選擇了體育結(jié)果),在排序引擎中更新與用戶偏好相關(guān)聯(lián)的預(yù)定信息(例如,權(quán)重)??梢愿櫴褂眯畔?,并可以以任何合適的方式更新領(lǐng)域的權(quán)重,因?yàn)楸疚闹兴枋龅谋景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。例如,在一些實(shí)施例中,可以使用指定給被用戶選為正確結(jié)果的NLU假設(shè)的領(lǐng)域來更新該領(lǐng)域的對(duì)應(yīng)權(quán)重。可以以任何頻率,基于使用信息來更新權(quán)重,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制,從而可以使用任何合適的更新頻率。例如,可以每周、每月或以任何其他合適的時(shí)間間隔來更新權(quán)重。在一些實(shí)施例中,可以向用戶提供描述如何在單個(gè)時(shí)間點(diǎn)或多個(gè)時(shí)間點(diǎn)改變和/或已經(jīng)更新不同領(lǐng)域的權(quán)重的輸出可視化或報(bào)告,并且用戶可以能夠通過與用戶界面進(jìn)行交互來重載經(jīng)更新的權(quán)重,如下面更詳細(xì)地討論的。
排序引擎可以使用領(lǐng)域權(quán)重以任何合適的方式影響系統(tǒng)的行為。在一個(gè)實(shí)施例中,排序引擎可以使用領(lǐng)域權(quán)重來影響基于web的搜索處理。例如,如果用戶設(shè)置一個(gè)或多個(gè)領(lǐng)域權(quán)重以指示用戶對(duì)音樂非常感興趣,但對(duì)體育不太感興趣,當(dāng)用戶與虛擬代理進(jìn)行交互并說“搜索波士頓”時(shí),排序引擎可以基于用戶偏好來解釋此搜索查詢,以確定用戶可能對(duì)搜索有關(guān)音樂組“波士頓”的信息感興趣,而不是搜索有關(guān)波士頓體育隊(duì)的信息。
排序引擎可以以任何合適的方式使用此信息,以向用戶提供針對(duì)用戶的偏好定制的搜索結(jié)果。在此實(shí)施例的一種實(shí)現(xiàn)中,排序引擎可以確定搜索查詢的領(lǐng)域,并且可以至少部分地基于確定的領(lǐng)域來選擇搜索引擎。對(duì)于搜索查詢的領(lǐng)域的確定可以受用戶以任何合適的方式指定的領(lǐng)域權(quán)重的影響,包括,但不限于,至少部分地基于領(lǐng)域權(quán)重來排序由NLU引擎所生成的領(lǐng)域假設(shè)。響應(yīng)于確定搜索查詢的領(lǐng)域,可以基于領(lǐng)域來選擇特定于站點(diǎn)(例如,特定網(wǎng)站)的搜索引擎或?qū)iT用于內(nèi)容的搜索引擎(而不是諸如GoogleTM、BingTM、YahooTM等等之類的通用搜索引擎)。例如,如果領(lǐng)域是“食品”,則可以選擇餐廳搜索引擎,如果領(lǐng)域是“書籍”,則可以選擇特定于在線書店的站點(diǎn)的搜索引擎,如果領(lǐng)域是“音樂”,則可以選擇用于搜索音樂集的特定于應(yīng)用的搜索引擎,等等??梢砸匀魏魏线m的方式來確定使用領(lǐng)域信息所選擇的特定搜索引擎,因?yàn)楸疚闹兴枋龅募夹g(shù)在這點(diǎn)上不受限制。例如,領(lǐng)域和搜索引擎之間的關(guān)聯(lián)可以本地地存儲(chǔ)在電子設(shè)備上或遠(yuǎn)離電子設(shè)備地存儲(chǔ)(例如,存儲(chǔ)在網(wǎng)絡(luò)連接的數(shù)據(jù)存儲(chǔ)庫上),并且可以在搜索處理期間訪問所存儲(chǔ)的信息,以選擇與針對(duì)搜索查詢確定的領(lǐng)域相對(duì)應(yīng)的合適的搜索引擎。在針對(duì)搜索查詢選擇一個(gè)或多個(gè)搜索引擎之后,可以向選定的搜索引擎發(fā)送查詢,并可以將從搜索引擎返回的結(jié)果呈現(xiàn)給用戶。
在另一種實(shí)現(xiàn)中,NLU引擎可以被配置成使用領(lǐng)域權(quán)重來修改向獨(dú)立于領(lǐng)域的web搜索引擎(例如,通用搜索引擎)發(fā)送的搜索查詢??梢砸匀魏魏线m的方式修改搜索查詢,以包括由NLU引擎確定的有關(guān)領(lǐng)域的信息。例如,如果NLU引擎確定查詢“搜索波士頓”的領(lǐng)域是音樂,則可以修改查詢以“搜索波士頓音樂”,并可以向web搜索引擎發(fā)送此經(jīng)修改的搜索查詢。相應(yīng)地,根據(jù)一些實(shí)施例,可以在web搜索期間考慮反映用戶偏好的領(lǐng)域信息,甚至在這樣的領(lǐng)域信息未由用戶在搜索查詢中顯式地提供的情況下。
在另一種實(shí)現(xiàn)中,可以使用領(lǐng)域權(quán)重來過濾和/或排序由一個(gè)或多個(gè)搜索引擎所提供的搜索結(jié)果。搜索引擎常常提供按照與搜索查詢的相關(guān)性排序的搜索結(jié)果??梢灾辽俨糠值鼗陬I(lǐng)域權(quán)重,以任何合適的方式進(jìn)一步過濾和/或排序由一個(gè)或多個(gè)搜索引擎所提供的搜索結(jié)果。作為一個(gè)非限制性示例,可以使用領(lǐng)域權(quán)重向用戶提供從搜索引擎返回的搜索結(jié)果的子集。例如,如果NLU引擎確定搜索查詢的領(lǐng)域是“音樂”,則可以過濾從搜索引擎返回的一組搜索結(jié)果,以只向用戶提供涉及音樂的搜索結(jié)果??商孢x地,可以向用戶提供從搜索引擎返回的所有搜索結(jié)果,其中至少部分地基于用戶的領(lǐng)域權(quán)重來排序搜索結(jié)果。例如,與音樂相關(guān)的搜索結(jié)果可以與比與體育相關(guān)的搜索結(jié)果更高的排序相關(guān)聯(lián),并且可以以搜索結(jié)果以任何合適的方式被提供給用戶的方式來反映此排序(例如,首先提供較高排序的結(jié)果,在視覺上指示哪些結(jié)果是較高排序的,等等)。
上文描述了根據(jù)本發(fā)明的一些實(shí)施例的用于使用領(lǐng)域權(quán)重來影響搜索處理的幾個(gè)說明性技術(shù)。應(yīng)該理解,還存在可以使用領(lǐng)域權(quán)重來影響從搜索處理返回的搜索結(jié)果的其他方式,并且上文所描述的技術(shù)是僅僅作為示例提供的。另外,上文所描述的用于使用領(lǐng)域權(quán)重來影響搜索處理的技術(shù)可以單獨(dú)地使用或者以任何組合的方式使用,也可以與用于影響搜索處理的任何其他合適的技術(shù)一起使用,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
根據(jù)另一個(gè)實(shí)施例,由排序引擎134至少部分地基于指定多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的用戶偏好信息,使由NLU引擎132所生成的多個(gè)NLU假設(shè)中的一個(gè)NLU假設(shè)的選擇有傾向性??梢砸匀魏魏线m的方式執(zhí)行此偏向。在一些實(shí)施例中,通過使NLU假設(shè)排序至少部分地受用戶偏好信息影響來實(shí)現(xiàn)偏向。為了通知或影響排序處理,在一些實(shí)施例中,排序引擎134包括至少部分地基于由用戶所指定的多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重對(duì)NLU假設(shè)進(jìn)行分類的排序分類器136,如下面更詳細(xì)地討論的。多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的領(lǐng)域偏好權(quán)重170可以存儲(chǔ)在可由排序分類器136訪問的任何數(shù)據(jù)存儲(chǔ)庫中。在運(yùn)行時(shí)間期間,在使用排序分類器136之前,可以使用至少部分地基于指定多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息而加權(quán)的訓(xùn)練數(shù)據(jù)180來訓(xùn)練排序分類器136。下面更詳細(xì)地討論了用于訓(xùn)練排序分類器的說明性處理。
可以以任何合適的方式使用領(lǐng)域信息來影響NLU處理,并且上文所描述的技術(shù)是可以使用領(lǐng)域信息的方式的非限制性示例。應(yīng)該理解,這些技術(shù)及其他技術(shù)可以在同一系統(tǒng)或不同的系統(tǒng)中分開地使用或以任何組合的方式使用,因此本發(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
圖1中所示出的電子設(shè)備110包括在電子設(shè)備110上本地地執(zhí)行的ASR和NLU功能兩者。在一些實(shí)施例中,這些處理中的一些或全部可以由遠(yuǎn)離電子設(shè)備110的一臺(tái)或多臺(tái)計(jì)算機(jī)(例如,服務(wù)器160)執(zhí)行。例如,在包括ASR組件的一些實(shí)施例中,可以使用與電子設(shè)備110相關(guān)聯(lián)的嵌入式ASR引擎來本地地執(zhí)行語音識(shí)別,經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)與電子設(shè)備110進(jìn)行網(wǎng)絡(luò)通信的遠(yuǎn)程ASR來執(zhí)行語音識(shí)別,或者可以使用包括嵌入式組件和遠(yuǎn)程組件兩者的分布式ASR系統(tǒng)來執(zhí)行語音識(shí)別。在一些實(shí)施例中,NLU引擎132和/或排序引擎134可以遠(yuǎn)離電子設(shè)備110,并可以使用被配置成提供遠(yuǎn)程ASR的相同或不同的遠(yuǎn)程計(jì)算機(jī)中的一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)來實(shí)現(xiàn)。另外,還應(yīng)該理解,根據(jù)ASR引擎130、NLU引擎132、排序引擎134或排序分類器136中的任何一個(gè)或多個(gè)使用的資源也可以遠(yuǎn)離電子設(shè)備110,以促進(jìn)本文中所描述的ASR處理和/或NLU處理,因?yàn)榛谶@些組件在計(jì)算環(huán)境100內(nèi)的特定實(shí)現(xiàn)或布局,與這些處理相關(guān)的本發(fā)明的各方面不以任何方式受限制。
圖2示出了根據(jù)本發(fā)明的一些實(shí)施例的用于訓(xùn)練排序分類器以選擇可以使用的NLU假設(shè)的說明性處理。在動(dòng)作210中,接收多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的特征信息。可以接收用于訓(xùn)練排序分類器的任何合適的特征信息。例如,如下面參考圖5A和圖5B所討論的,可以接收包括,但不限于,用戶權(quán)重和語言模型分?jǐn)?shù)的特征,并且可以使用接收到的特征信息中的一些或全部來訓(xùn)練排序分類器。
如下面更詳細(xì)地描述的,可以由用戶使用任何合適的輸入接口來指定權(quán)重。在指定了多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重之后,處理轉(zhuǎn)到動(dòng)作212,在動(dòng)作212中,訓(xùn)練排序分類器以反映用戶感興趣的區(qū)域的指示。例如,可以使用至少一些權(quán)重來產(chǎn)生一組特征信息,并可以使用該組特征信息來訓(xùn)練排序分類器。通過給用戶提供直接表達(dá)(而不是通過使用系統(tǒng),隨著時(shí)間的推移,通過一系列動(dòng)作間接地表達(dá))他們對(duì)哪些領(lǐng)域更感興趣的工具,可以立即針對(duì)用戶的興趣來自定義從NLU引擎返回的結(jié)果,而不是要求用戶使用系統(tǒng)并讓排序引擎隨著時(shí)間的推移了解用戶的興趣。另外(或者可替選地),若用戶改變了他們的用戶偏好,排序引擎可以使用由用戶直接指定的預(yù)定信息來重載排序引擎通過使用系統(tǒng)而學(xué)習(xí)的用戶偏好,以便由排序引擎返回的結(jié)果反映用戶的已改變的偏好,而不是通過使用系統(tǒng)而學(xué)習(xí)的用戶偏好。
在訓(xùn)練排序分類器之后,處理轉(zhuǎn)到動(dòng)作214,在動(dòng)作214中,輸出經(jīng)訓(xùn)練的排序分類器。在由電子設(shè)備本地地存儲(chǔ)、訓(xùn)練并使用排序分類器的一些實(shí)施例中(例如,在沒有使用服務(wù)器160的情況下),輸出經(jīng)訓(xùn)練的分類器可以包括確定分類器已準(zhǔn)備好供電子設(shè)備使用,以對(duì)NLU假設(shè)進(jìn)行分類并配置它供使用??商孢x地,經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò),將經(jīng)訓(xùn)練的排序分類器從訓(xùn)練排序分類器的設(shè)備發(fā)送到另一個(gè)設(shè)備或計(jì)算機(jī)。例如,如果由遠(yuǎn)離電子設(shè)備的設(shè)備訓(xùn)練排序分類器,則可以從遠(yuǎn)離的設(shè)備向電子設(shè)備輸出經(jīng)訓(xùn)練的排序分類器??商孢x地,可以在電子設(shè)備上本地地訓(xùn)練排序分類器,并在訓(xùn)練之后,經(jīng)訓(xùn)練的排序分類器可以輸出到用于生成NLU假設(shè)的網(wǎng)絡(luò)連接的設(shè)備,或輸出到除訓(xùn)練排序分類器的設(shè)備以外的任何其他合適的設(shè)備。如上文所描述的,計(jì)算環(huán)境100的哪些特定組件執(zhí)行自動(dòng)語音識(shí)別、自然語言處理、或排序分類中的一個(gè)或多個(gè)處理,不限制本發(fā)明的各方面,并且可以輸出經(jīng)訓(xùn)練的排序分類器以與計(jì)算環(huán)境100中的任何合適的計(jì)算設(shè)備相關(guān)聯(lián)地存儲(chǔ),以實(shí)現(xiàn)本文中所描述的技術(shù)中的一項(xiàng)或多項(xiàng)。
在一些實(shí)施例中,每一個(gè)領(lǐng)域的特征信息(例如,權(quán)重)可以由用戶通過與電子設(shè)備的顯示器上呈現(xiàn)的用戶界面進(jìn)行交互而顯式地指定。圖3示出根據(jù)本發(fā)明的一些實(shí)施例的可以使用的用戶界面的非限制性示例。圖3的用戶界面包括用戶可以與其進(jìn)行交互以指定與對(duì)應(yīng)的領(lǐng)域相關(guān)聯(lián)的感興趣的水平的多個(gè)領(lǐng)域滑動(dòng)條。圖3中所示出的領(lǐng)域包括電影、音樂、新聞、金融、體育、電視、社交以及工作。應(yīng)該理解,還可以使用不同的領(lǐng)域,作為圖3中所示出的領(lǐng)域中的任何一個(gè)的補(bǔ)充或代替,包括,但不僅限于,明星八卦、書籍、科學(xué)、健康、烹飪以及宗教??梢允褂萌魏魏线m的數(shù)量或類型的領(lǐng)域,因?yàn)楸景l(fā)明的各方面不以任何方式受特定領(lǐng)域或其組合的限制。
上文所討論的領(lǐng)域涉及用戶可能感興趣的內(nèi)容的類型。其他領(lǐng)域可以涉及關(guān)于要在電子設(shè)備上執(zhí)行的命令或動(dòng)作的用戶偏好。例如,與命令或動(dòng)作相關(guān)的領(lǐng)域可包括,但不限于,與執(zhí)行web搜索動(dòng)作相關(guān)聯(lián)的WebSearch(web搜索)領(lǐng)域,與執(zhí)行打開電子設(shè)備上的應(yīng)用或經(jīng)由電子設(shè)備可訪問的應(yīng)用的動(dòng)作相關(guān)聯(lián)的OpenApp(打開應(yīng)用)領(lǐng)域,以及與改變電話設(shè)置(例如,音量、鈴聲、振動(dòng)模式)相關(guān)聯(lián)的PhoneSettings(電話設(shè)置)領(lǐng)域。另外,可以使用根據(jù)本文中所描述的技術(shù)指定的領(lǐng)域權(quán)重,指定用于響應(yīng)于特定命令執(zhí)行動(dòng)作的用戶偏好。例如,電子設(shè)備可以被配置成使用多個(gè)應(yīng)用(例如,iTunesTM、SpotifyTM、PandoraTM)來播放音樂,并且用戶可以指定與響應(yīng)于播放音樂的命令啟動(dòng)特定應(yīng)用的用戶偏好相關(guān)聯(lián)的領(lǐng)域權(quán)重。
在一些實(shí)施例中,用戶可以與用戶界面(例如,圖3的用戶界面)進(jìn)行交互以選擇指定在執(zhí)行命令或動(dòng)作時(shí)的用戶偏好的命令或動(dòng)作領(lǐng)域的權(quán)重。例如,如果用戶80%的時(shí)間愿意使用SpotifyTM應(yīng)用來聽音樂,20%的時(shí)間使用iTunesTM應(yīng)用來聽音樂,則用戶可以指定這些命令領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重,如上文所討論的。繼續(xù)此示例,在設(shè)置SpotifyTM和iTunesTM的領(lǐng)域權(quán)重之后,系統(tǒng)可以被配置為:根據(jù)用戶的偏好,通過啟動(dòng)SpotifyTM并播放披頭士樂隊(duì)的歌曲“昨天”,對(duì)用戶話語“播放'昨天'”作出響應(yīng)。如果另一用戶對(duì)于SpotifyTM指定了20%的領(lǐng)域權(quán)重,并且對(duì)于iTunesTM指定了80%的領(lǐng)域權(quán)重,則系統(tǒng)可以通過啟動(dòng)iTunesTM并從用戶的iTunesTM庫中播放歌曲“昨天”,對(duì)相同的輸入“播放昨天”不同地作出響應(yīng)。上文所討論的領(lǐng)域權(quán)重是作為百分比提供的,但是,應(yīng)該理解,可以以任何其他合適的方式提供領(lǐng)域權(quán)重,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
在一些實(shí)施例中,領(lǐng)域權(quán)重可以與其他信息相結(jié)合地使用,以確定響應(yīng)于用戶輸入要采取的特定動(dòng)作或要執(zhí)行的命令。例如,雖然用戶可能已經(jīng)對(duì)于iTunesTM指定了80%的領(lǐng)域權(quán)重,對(duì)于SpotifyTM指定了20%的領(lǐng)域權(quán)重,但是,如果系統(tǒng)在用戶的iTunesTM庫中找不到與歌曲“昨天”的匹配,則可以替代地啟動(dòng)SpotifyTM應(yīng)用。作為另一個(gè)示例,雖然用戶可能已經(jīng)對(duì)于SpotifyTM指定了80%的領(lǐng)域權(quán)重,對(duì)于iTunesTM指定了20%的領(lǐng)域權(quán)重,但是,如果系統(tǒng)確定SpotifyTM服務(wù)不可用(例如,由于用戶的帳戶要求無線連接,而無無線連接可用),則系統(tǒng)可以響應(yīng)于用戶輸入“播放昨天”,啟動(dòng)iTunesTM而不是SpotifyTM,盡管用戶使用SpotifyTM來聽音樂的偏好更高。任何信息(包括基于內(nèi)容的領(lǐng)域信息)都可以與命令或動(dòng)作領(lǐng)域權(quán)重信息相結(jié)合地使用,以確定響應(yīng)于用戶輸入要執(zhí)行的命令或動(dòng)作,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
如上文所討論的,通過使得用戶能夠使用電子設(shè)備上提供的用戶界面來指定權(quán)重,與特定感興趣的區(qū)域(例如,內(nèi)容、命令、動(dòng)作)相關(guān)聯(lián)的領(lǐng)域權(quán)重可以是可由用戶配置的。發(fā)明人認(rèn)識(shí)到,盡管對(duì)于一些用戶而言確定他們對(duì)特定內(nèi)容領(lǐng)域(例如,體育、音樂等等)有多么感興趣可能是直觀的,但是指定對(duì)于一些基于命令或動(dòng)作的領(lǐng)域(例如,OpenApp、PhoneSettings)的興趣可能不直觀。為了促進(jìn)設(shè)置可能對(duì)用戶不直觀的領(lǐng)域或被確定為反映一般用戶行為的領(lǐng)域的權(quán)重,在一些實(shí)施例中,至少一個(gè)領(lǐng)域可以是與由除電子設(shè)備的用戶以外的某人配置的權(quán)重相關(guān)聯(lián)的獨(dú)立于用戶的領(lǐng)域。
在一些實(shí)施例中,與獨(dú)立于用戶的領(lǐng)域相關(guān)聯(lián)的權(quán)重可能不能由用戶通過與用戶界面進(jìn)行交互來進(jìn)行配置。在其他實(shí)施例中,在由應(yīng)用程序設(shè)計(jì)員、管理員或除電子設(shè)備的用戶以外的其他個(gè)人設(shè)置初始權(quán)重之后,權(quán)重可以由用戶配置。例如,一個(gè)或多個(gè)獨(dú)立于用戶的領(lǐng)域可以與由應(yīng)用程序設(shè)計(jì)員設(shè)置的初始權(quán)重相關(guān)聯(lián),初始權(quán)重可以由用戶通過與用戶界面進(jìn)行交互來進(jìn)行配置。應(yīng)該理解,可以使用任何合適數(shù)量的獨(dú)立于用戶的領(lǐng)域(包括無),因?yàn)楸景l(fā)明的各實(shí)施例不受是否使用以及使用多少個(gè)獨(dú)立于用戶的領(lǐng)域的限制。
可以以任何合適的方式來指定領(lǐng)域權(quán)重。例如,在一些實(shí)施例中,可以在應(yīng)用的設(shè)置菜單中指定特定于用戶的領(lǐng)域的權(quán)重,可以在高級(jí)設(shè)置菜單中修改獨(dú)立于用戶的領(lǐng)域的權(quán)重,或者只有在輸入驗(yàn)證用戶的身份的認(rèn)證憑據(jù)之后??商孢x地,在一些實(shí)施例中,用戶可能不被允許修改獨(dú)立于用戶的領(lǐng)域設(shè)置,或可能能夠以與特定于用戶的領(lǐng)域設(shè)置相同的方式修改獨(dú)立于用戶獨(dú)立的設(shè)置。
在圖3的說明性用戶界面中,用戶可以與每一個(gè)領(lǐng)域的滑動(dòng)條進(jìn)行交互,以指定特定領(lǐng)域的權(quán)重。如圖3中所示,權(quán)重可以被表示為從0-100%的百分比??商孢x地,可以以任何其他合適的方式指定權(quán)重。例如,可以用數(shù)字表示權(quán)重(例如,從1-10的刻度)。雖然在圖3中示出了滑動(dòng)條,但是應(yīng)該理解,可以替選地使用任何其他合適的用戶界面元素或用戶界面元素的組合來指定一個(gè)領(lǐng)域或所有領(lǐng)域的權(quán)重。例如,可以使用下拉菜單、文本框、選擇按扭或任何其他合適的用戶界面元素。
在一些實(shí)施例中,可以鏈接用戶界面上呈現(xiàn)的領(lǐng)域的權(quán)重選擇器中的一個(gè)或多個(gè),以便對(duì)領(lǐng)域中的一個(gè)領(lǐng)域的權(quán)重的選擇自動(dòng)地導(dǎo)致對(duì)一個(gè)或多個(gè)其他領(lǐng)域的權(quán)重的調(diào)整。例如,在一些實(shí)施例中,可能需要被指定給不同領(lǐng)域的權(quán)重共計(jì)100%。作為一個(gè)非限制性示例,在這樣的具有領(lǐng)域“音樂”、“電視”以及“體育”的系統(tǒng)中,用戶可以對(duì)于“音樂”指定50%的權(quán)重,對(duì)于“電視”指定50%的權(quán)重。響應(yīng)于提供這些選擇,“體育”的權(quán)重可以自動(dòng)地設(shè)置為0%,以便三個(gè)領(lǐng)域的權(quán)重的總和為100%。在此示例中,“體育”領(lǐng)域的權(quán)重可以被視為是被直接指定的,即使用戶沒有操縱該領(lǐng)域的滑動(dòng)條(或其他用戶界面元素)。
在一些實(shí)施例中,可以初始地作為建議提供一個(gè)或多個(gè)權(quán)重,并可以至少部分地基于與電子設(shè)備相關(guān)聯(lián)地存儲(chǔ)的一個(gè)或多個(gè)用戶特征(例如,年齡、性別)來確定初始權(quán)重。例如,可以建議,較年輕的用戶對(duì)流行文化更感興趣,年長(zhǎng)的用戶對(duì)世界新聞事件更感興趣。也可以使用建議和用戶特征之間的其他(或替代的)映射,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。用戶可以隨后修改初始權(quán)重,如上文所討論的。
用戶可以使用任何合適的輸入類型與用戶界面進(jìn)行交互,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。例如,用戶可以使用語音輸入、鍵盤輸入、鼠標(biāo)輸入、觸摸屏輸入或某些其他合適的輸入來調(diào)整與領(lǐng)域相關(guān)聯(lián)的權(quán)重。當(dāng)使用語音輸入時(shí),用戶可以說出領(lǐng)域的名稱,繼之以選擇領(lǐng)域的權(quán)重的數(shù)值或某些其他指示符。例如,用戶可以說出“音樂90”,以將“音樂”領(lǐng)域的權(quán)重設(shè)置為值90??商孢x地,用戶可以描述調(diào)整特定領(lǐng)域的權(quán)重的相對(duì)量。例如,用戶可以說出“增大音樂”以將“音樂”類別的權(quán)重增大特定量(例如,5個(gè)單位)。在一些實(shí)施例中,用戶可以使用輸入類型的組合(例如,多模態(tài)輸入)來調(diào)整與領(lǐng)域相關(guān)聯(lián)的權(quán)重。例如,響應(yīng)于確定用戶已說出了“音樂”,可以選擇“音樂”領(lǐng)域。然后,用戶可以使用鍵盤輸入(例如,通過使用箭頭鍵)來調(diào)整選定的“音樂”領(lǐng)域的權(quán)重??梢允褂枚嗄B(tài)輸入的任何合適的組合來調(diào)整與領(lǐng)域相關(guān)聯(lián)的權(quán)重,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
如上文所討論的,在使用排序引擎或其組件(例如,排序分類器)來排序?qū)τ谔囟ㄓ脩舻腘LU假設(shè)之前,可以使用訓(xùn)練數(shù)據(jù)180來訓(xùn)練根據(jù)本文中所描述的技術(shù)所使用的排序引擎或其組件(例如,排序分類器)??梢砸匀魏魏线m的方式確定訓(xùn)練排序分類器的合適的訓(xùn)練數(shù)據(jù)180。在一種實(shí)現(xiàn)中,可以根據(jù)由用戶對(duì)于多個(gè)領(lǐng)域指定的權(quán)重來處理多個(gè)經(jīng)標(biāo)記的用戶輸入樣本(例如,到接收聲音輸入的系統(tǒng)的話語的文字轉(zhuǎn)錄(transcription)),以生成訓(xùn)練數(shù)據(jù)。下面參考圖4討論用于生成至少部分地基于指定多個(gè)領(lǐng)域中的每一個(gè)領(lǐng)域的權(quán)重的信息而加權(quán)的訓(xùn)練數(shù)據(jù)的說明性處理。
在圖4的說明性處理中,為簡(jiǎn)單起見,描述了對(duì)來自訓(xùn)練集的單個(gè)經(jīng)文字轉(zhuǎn)錄的話語的處理。應(yīng)該理解,可以處理任何合適數(shù)量的經(jīng)文字轉(zhuǎn)錄的話語以生成完整的一組用于生成排序訓(xùn)練數(shù)據(jù)的訓(xùn)練數(shù)據(jù),因?yàn)楸疚闹兴枋龅募夹g(shù)在任何方面都不受訓(xùn)練數(shù)據(jù)集的大小的限制。在一些實(shí)施例中,訓(xùn)練數(shù)據(jù)集可包括至少50000個(gè)經(jīng)文字轉(zhuǎn)錄的話語,但是,在其他實(shí)施例中,可以使用較少的經(jīng)文字轉(zhuǎn)錄的話語。應(yīng)該理解,可以從任何合適的數(shù)量和/或類型的用戶那里收集(并且注釋)訓(xùn)練數(shù)據(jù)。從各種用戶那里收集訓(xùn)練數(shù)據(jù)可以向新用戶提供經(jīng)訓(xùn)練的排序分類器的一般化能力。相應(yīng)地,可以由同一應(yīng)用的一些或所有用戶共享包括排序分類器的排序引擎??商孢x地,多個(gè)經(jīng)訓(xùn)練的排序分類器可以用于單個(gè)應(yīng)用,并且實(shí)施例在這點(diǎn)上不受限制。
在動(dòng)作410中,選擇話語(例如,音頻文件)的文字轉(zhuǎn)錄以用于處理。在一些實(shí)施例中,文字轉(zhuǎn)錄可以由人類注釋者注釋,以將領(lǐng)域指定給訓(xùn)練集中的多個(gè)文字轉(zhuǎn)錄中的每一個(gè),如下面更詳細(xì)地討論的。然后,處理轉(zhuǎn)到動(dòng)作412,在動(dòng)作412中,將反映特定用戶感興趣的區(qū)域的領(lǐng)域權(quán)重提供給注釋者。也可以向注釋者提供額外的信息,包括,但不限于,描述每一個(gè)領(lǐng)域的信息。例如,信息可包括示出領(lǐng)域的范圍的一個(gè)或多個(gè)示例。然后,處理轉(zhuǎn)到動(dòng)作414,在動(dòng)作414中,基于用戶的領(lǐng)域權(quán)重將領(lǐng)域指定給文字轉(zhuǎn)錄。除領(lǐng)域權(quán)重之外,注釋者還可以使用任何其他合適的信息,包括他/她自己的知識(shí),以將領(lǐng)域指定給文字轉(zhuǎn)錄。例如,如果文字轉(zhuǎn)錄是“播放賈斯廷比耶貝”,而領(lǐng)域權(quán)重指定用戶80%對(duì)音樂感興趣,20%對(duì)明星八卦感興趣,則注釋者可以使用他/她自己的知識(shí)認(rèn)識(shí)到,賈斯廷比耶貝是歌星和名人,并且基于用戶偏好,可以將領(lǐng)域“音樂”而不是“明星八卦”指定給文字轉(zhuǎn)錄。在訓(xùn)練集中的文字轉(zhuǎn)錄中的每一個(gè)都利用領(lǐng)域注釋之后,處理轉(zhuǎn)到動(dòng)作416,在動(dòng)作416中,生成排序訓(xùn)練數(shù)據(jù)。在下文中參考圖5A和圖5B更詳細(xì)地描述排序訓(xùn)練數(shù)據(jù)集中的包括有關(guān)特定于用戶的領(lǐng)域權(quán)重的信息的特征。
圖5A示出了輸入文本表示的說明性特征組的一個(gè)非限制性示例,其中,該特征組被生成以提供根據(jù)本發(fā)明的一些實(shí)施例的排序訓(xùn)練數(shù)據(jù)。如上文所討論的,為產(chǎn)生訓(xùn)練數(shù)據(jù),可以向注釋者(例如,人類注釋者)提供輸入文本表示以及由用戶對(duì)于多個(gè)領(lǐng)域指定的領(lǐng)域權(quán)重。注釋者可以使用特定于用戶的權(quán)重及其他合適的信息(例如,注釋者的知識(shí))將領(lǐng)域指定給文本輸入。
在圖5A中,輸入文本表示是“播放哈里波特”。此文本表示可以是指用戶希望電子設(shè)備響應(yīng)于接收到對(duì)應(yīng)于此文本表示的用戶輸入執(zhí)行的幾個(gè)不同動(dòng)作中的一個(gè)。例如,用戶可能希望觀看電影“哈里波特”,用戶可能希望打開用于玩“哈里波特”游戲的應(yīng)用,用戶可能希望閱讀電子設(shè)備上的“哈里波特”書籍,或用戶可能希望使用音樂播放器應(yīng)用來聽“哈里波特”音軌。注釋者可以使用特定于用戶的領(lǐng)域權(quán)重將注釋者認(rèn)為最能代表用戶偏好的領(lǐng)域指定給文本表示,如上文所描述的。在圖5A的示例中,用戶與領(lǐng)域“電影”的領(lǐng)域權(quán)重0.0,領(lǐng)域“OpenApp”的領(lǐng)域權(quán)重0.2,領(lǐng)域“書籍”的領(lǐng)域權(quán)重0.1以及領(lǐng)域“音樂”的領(lǐng)域權(quán)重0.9相關(guān)聯(lián)。相應(yīng)地,與涉及此文本表示的其他類別中的每一個(gè)類別相比,用戶指定了對(duì)于音樂的較強(qiáng)偏好。注釋者可以使用此信息將領(lǐng)域“音樂”與輸入文本表示“播放哈里波特”相關(guān)聯(lián),以為該用戶提供用戶定制的排序訓(xùn)練數(shù)據(jù)。
如圖5A中所示,要由注釋者處理的訓(xùn)練數(shù)據(jù)中的文本表示也可以與多個(gè)NLU假設(shè)(例如,假設(shè)1.1-1.4)以及特定于領(lǐng)域的語言模型分?jǐn)?shù)相關(guān)聯(lián),特定于領(lǐng)域的語言模型分?jǐn)?shù)反映文本表示中的詞與多個(gè)NLU假設(shè)的領(lǐng)域中的每一個(gè)領(lǐng)域之間的關(guān)聯(lián)的強(qiáng)度。應(yīng)該理解,NLU假設(shè)、語言模型分?jǐn)?shù)以及用戶權(quán)重是可以用來訓(xùn)練排序分類器的特征的示例,也可以使用任何其他合適的特征來訓(xùn)練排序分類器,包括,但不僅限于,與在排序之前由NLU引擎生成的NLU假設(shè)相關(guān)聯(lián)的分?jǐn)?shù),以及一個(gè)用戶或用戶集合的歷史使用信息。
如圖5A中所示,NLU假設(shè)1.1與“電影”領(lǐng)域相關(guān)聯(lián),而相關(guān)聯(lián)的語言模型分?jǐn)?shù)是0.9,指示詞“播放哈里波特”與類別“電影”之間的高關(guān)聯(lián)程度。相比之下,與NLU假設(shè)1.4相關(guān)聯(lián)的“音樂”領(lǐng)域的語言模型分?jǐn)?shù)0.4指示文本表示與“音樂”領(lǐng)域之間的較低關(guān)聯(lián)程度。
在一些實(shí)施例中,與訓(xùn)練數(shù)據(jù)中的文本表示相關(guān)聯(lián)的特定于領(lǐng)域的語言模型信息和/或NLU假設(shè)信息可以與特定于用戶的領(lǐng)域權(quán)重以及由注釋者指定的領(lǐng)域相結(jié)合地使用,以生成特定于用戶的訓(xùn)練數(shù)據(jù)來訓(xùn)練排序分類器。如圖5B中所示,對(duì)于每一個(gè)文本表示,特定于用戶的排序訓(xùn)練數(shù)據(jù)可包括包含多個(gè)特征的特征集(例如,NLU假設(shè)信息、語言模型信息以及領(lǐng)域權(quán)重信息)?;谟勺⑨屨咴趧?dòng)作414中指定給文本表示的領(lǐng)域,目標(biāo)值可以與包括所指定的領(lǐng)域的特征集相關(guān)聯(lián)。例如,如圖5B中所示,基于由用戶所指定的權(quán)重,注釋者確定對(duì)于文本表示“播放哈里波特”而指定的領(lǐng)域應(yīng)該是“音樂”,并且目標(biāo)值“1”與對(duì)應(yīng)的特征集相關(guān)聯(lián)。不包括由注釋者選擇的領(lǐng)域的所有特征集可以被指定目標(biāo)值“0”,如圖5B中所示。然后,可以使用特征集的集合(包括它們的相關(guān)聯(lián)的目標(biāo)值),使用任何合適的訓(xùn)練技術(shù)來訓(xùn)練排序分類器。取決于由注釋者選擇的領(lǐng)域,圖5B中所示出的特征集與目標(biāo)值“1”或“0”相關(guān)聯(lián)。應(yīng)該理解,可以替選地使用任何合適的目標(biāo)值,因?yàn)楸疚闹兴枋龅募夹g(shù)不受用于識(shí)別由注釋者指定的選定領(lǐng)域的特定值限制。
從圖5A中所示出的示例應(yīng)該理解,取決于特定于用戶的領(lǐng)域權(quán)重,注釋者可以將相同文本表示與多個(gè)領(lǐng)域相關(guān)聯(lián)。另外,選定的領(lǐng)域可以不同于在沒有用戶權(quán)重信息的情況下會(huì)輸出的NLU結(jié)果。例如,雖然領(lǐng)域“電影”具有最高NLU假設(shè)排序和最大語言模型分?jǐn)?shù)兩者,但是對(duì)于此特定用戶,與那些特征值相關(guān)聯(lián)的特征集被確定為可能不正確,因?yàn)橛脩糁甘舅麄儗?duì)電影不感興趣(例如,領(lǐng)域“電影”的用戶權(quán)重被指定為0.0)。另外,即使與“音樂”領(lǐng)域相關(guān)聯(lián)的特征集是最低排序的NLU假設(shè)并具有最低語言模型分?jǐn)?shù),與“音樂”領(lǐng)域相關(guān)聯(lián)的特征集也被注釋者基于用戶對(duì)此類別的強(qiáng)烈興趣而標(biāo)識(shí)為是正確的,如由用戶對(duì)于此領(lǐng)域指定的0.9領(lǐng)域權(quán)重所反映的那樣。
給定共同地構(gòu)成訓(xùn)練數(shù)據(jù)的包括目標(biāo)值的一組特征向量,可以以任何合適的方式訓(xùn)練排序分類器,包括使用本領(lǐng)域的技術(shù)人員已知的許多技術(shù)中的任何一種技術(shù)。如上文所討論的,可以對(duì)于訓(xùn)練集中的任何合適數(shù)量的樣例(例如,50000個(gè)樣例),重復(fù)圖4的說明性處理,以生成大量的特征集,從而根據(jù)本文中所描述的技術(shù)來訓(xùn)練排序分類器。如上文所討論的,在圖5B中所描述的特征只是說明性的,可以在用于訓(xùn)練排序分類器的訓(xùn)練數(shù)據(jù)中包括額外的特征或不同的特征,因?yàn)楸景l(fā)明的各實(shí)施例在這點(diǎn)上不受限制。
在訓(xùn)練之后,如上文所討論的,在運(yùn)行時(shí)間期間,可以使用經(jīng)訓(xùn)練的排序分類器以使從NLU引擎返回的輸出有傾向性。圖6示出了根據(jù)本發(fā)明的一些實(shí)施例的用于使用經(jīng)訓(xùn)練的排序分類器來輸出NLU結(jié)果的說明性處理。在動(dòng)作610中,由NLU引擎生成文本表示的多個(gè)NLU假設(shè)。所生成的NLU假設(shè)與領(lǐng)域相關(guān)聯(lián),并可以可任選地包括額外的信息,額外的信息包括與上文描述的用于訓(xùn)練排序分類器的特征類似的一個(gè)或多個(gè)特征。在生成NLU假設(shè)之后,處理轉(zhuǎn)到動(dòng)作612,在動(dòng)作612中,使用至少部分地基于用戶權(quán)重訓(xùn)練的排序分類器來確定NLU假設(shè)中的每一個(gè)NLU假設(shè)的目標(biāo)值。
繼續(xù)上文參考圖5A和圖5B所描述的示例,如果在運(yùn)行時(shí)間期間,NLU假設(shè)是圖5A中所示出的那些,則NLU假設(shè)1.4可以與目標(biāo)值1(例如,正確)相關(guān)聯(lián),而所有其他假設(shè)都可以與目標(biāo)值0(例如,不正確)相關(guān)聯(lián)。雖然圖5B中所示出的目標(biāo)值被示為是二進(jìn)制(例如,值0或1),但是可以可替選地使用任何合適的值。例如,在一些實(shí)施例中,排序分類器的輸出包括浮點(diǎn)值(例如,NLU假設(shè)1.4,1.2,1.1以及1.3的目標(biāo)值可以分別是0.75,0.2,0.04以及0.01),并可以使用浮點(diǎn)值來重新排序NLU假設(shè),以創(chuàng)建最后的NLU結(jié)果。
在確定NLU假設(shè)中的每一個(gè)NLU假設(shè)的目標(biāo)值之后,處理轉(zhuǎn)到動(dòng)作614,在動(dòng)作614中,至少部分地基于所確定的目標(biāo)值來選擇假設(shè)。在一種實(shí)現(xiàn)中,可以至少部分地基于所分配的目標(biāo)值來排序NLU假設(shè),并且具有最高排序的NLU假設(shè)可以被選為最有可能的假設(shè)。
如上文所討論的,一些實(shí)施例使用ASR引擎前端作為對(duì)于NLU引擎的輸入。圖7中示出了用于選擇響應(yīng)于接收到語音輸入生成的NLU假設(shè)的說明性處理。在動(dòng)作710中,通過電子設(shè)備的輸入接口(例如,麥克風(fēng))接收語音輸入。然后,處理轉(zhuǎn)到動(dòng)作712,在動(dòng)作712中,由語音識(shí)別器處理語音輸入,以生成一個(gè)或多個(gè)語音識(shí)別結(jié)果(例如,N個(gè)最佳結(jié)果)。如上文所討論的,語音識(shí)別可以在電子設(shè)備上本地地執(zhí)行,部分地或完全由遠(yuǎn)離電子設(shè)備并經(jīng)由至少一個(gè)網(wǎng)絡(luò)與該設(shè)備進(jìn)行通信的語音識(shí)別引擎執(zhí)行,或可以分布在本地設(shè)備與一個(gè)或多個(gè)遠(yuǎn)程設(shè)備之間。在確定語音識(shí)別結(jié)果之后,處理轉(zhuǎn)到動(dòng)作714,在動(dòng)作714中,語音識(shí)別結(jié)果被提供到NLU引擎,該NLU引擎對(duì)于語音識(shí)別結(jié)果確定多個(gè)NLU假設(shè)。
在確定多個(gè)NLU假設(shè)之后,處理轉(zhuǎn)到動(dòng)作716,在動(dòng)作716中,例如,排序引擎的經(jīng)訓(xùn)練的排序分類器使用結(jié)合圖6討論的處理來排序NLU假設(shè)。然后,處理轉(zhuǎn)到動(dòng)作718,在動(dòng)作718中,基于其相關(guān)聯(lián)的排序,選擇NLU假設(shè)中的一個(gè)。在一些實(shí)施例中,可以在電子設(shè)備的顯示器上輸出與選定的NLU假設(shè)相關(guān)聯(lián)的信息,供用戶查看。在其他實(shí)施例中,可以使用選定的NLU假設(shè)來執(zhí)行與電子設(shè)備相關(guān)聯(lián)的一個(gè)或多個(gè)動(dòng)作。在這樣的實(shí)施例中,在選擇NLU假設(shè)之后,處理轉(zhuǎn)到動(dòng)作720,在動(dòng)作720中,執(zhí)行對(duì)應(yīng)于選定的NLU假設(shè)的至少一個(gè)動(dòng)作。繼續(xù)上文的示例,如果對(duì)應(yīng)于由電子設(shè)備接收到的語音輸入的識(shí)別結(jié)果被確定為是“播放哈里波特”,并且此文本表示與“音樂”領(lǐng)域相關(guān)聯(lián),則可以響應(yīng)于選擇此NLU假設(shè)而執(zhí)行的動(dòng)作可包括啟動(dòng)本地或基于web的音樂應(yīng)用,并播放對(duì)應(yīng)于“哈里波特”的歌曲。本文中所描述的技術(shù)不限于與將播放音樂確定為預(yù)期的用戶動(dòng)作一起使用,并且可以用來確定任何所需的用戶動(dòng)作,其非限制性示例包括,改變電話設(shè)置、執(zhí)行web搜索、啟動(dòng)電話呼叫、發(fā)送基于文本的消息,從虛擬代理啟動(dòng)提示,以及啟動(dòng)電子設(shè)備上的任何合適的本地或基于web的應(yīng)用。
圖8中示出了可以與本文中所描述的本發(fā)明的各實(shí)施例中的任何一個(gè)結(jié)合使用的計(jì)算機(jī)系統(tǒng)800的說明性實(shí)現(xiàn)。計(jì)算機(jī)系統(tǒng)800可包括一個(gè)或多個(gè)處理器810和一個(gè)或多個(gè)計(jì)算機(jī)可讀的有形的非暫態(tài)存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器820、一個(gè)或多個(gè)非易失性存儲(chǔ)介質(zhì)830,或任何其他合適的存儲(chǔ)設(shè)備)。處理器810可以以任何合適的方式控制向存儲(chǔ)器820和非易失性存儲(chǔ)器設(shè)備830寫入數(shù)據(jù)和從其中讀取數(shù)據(jù),因?yàn)楸疚闹兴枋龅谋景l(fā)明的各方面在這點(diǎn)上不受限制。為執(zhí)行本文中所描述的功能中的任何一種,處理器810可以執(zhí)行存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器820)中的一個(gè)或多個(gè)指令,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以充當(dāng)存儲(chǔ)供處理器810執(zhí)行的指令的有形的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
可以用多種方式中的任一種來實(shí)現(xiàn)本發(fā)明的上述實(shí)施例。例如,可使用硬件、軟件或其組合來實(shí)現(xiàn)各實(shí)施方式。當(dāng)使用軟件實(shí)現(xiàn)時(shí),該軟件代碼可在無論是在單個(gè)計(jì)算機(jī)中提供的還是在多個(gè)計(jì)算機(jī)之間分布的任何合適的處理器或處理器集合上執(zhí)行。應(yīng)該理解,執(zhí)行上文所描述的功能的任何組件或組件集合可以一般地被視為控制上文所討論的功能的一個(gè)或多個(gè)控制器。一個(gè)或多個(gè)控制器可以以多種方式來實(shí)現(xiàn),諸如利用專用硬件,或利用使用微碼或軟件編程以執(zhí)行上文列舉的功能的通用硬件(例如,一個(gè)或多個(gè)處理器)。
在這一方面,應(yīng)該理解,本發(fā)明的各實(shí)施例的一個(gè)實(shí)現(xiàn)包括至少一個(gè)利用計(jì)算機(jī)程序(即,多個(gè)指令)編碼的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,計(jì)算機(jī)存儲(chǔ)器、USB驅(qū)動(dòng)器、閃存、緊湊盤、磁帶,等等),當(dāng)程序在處理器上執(zhí)行時(shí),執(zhí)行上文所討論的本發(fā)明的各實(shí)施例的功能。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可傳送的,以便存儲(chǔ)在其上的程序可以被加載到任何計(jì)算機(jī)資源上,以實(shí)現(xiàn)本文中所討論的本發(fā)明的各方面。另外,還應(yīng)該理解,對(duì)當(dāng)被運(yùn)行時(shí)執(zhí)行上文所討論的功能的計(jì)算機(jī)程序的引用不限于在主機(jī)計(jì)算機(jī)上運(yùn)行的應(yīng)用程序。相反,本文中以一般的意義使用術(shù)語“計(jì)算機(jī)程序”以指可用來對(duì)處理器編程以實(shí)現(xiàn)上文所討論的本發(fā)明的各個(gè)方面的任何類型的計(jì)算機(jī)代碼(例如,軟件或微碼)。
本發(fā)明的各個(gè)方面可單獨(dú)、組合或以未在前述實(shí)施例中具體討論的各種布置來使用,從而并不將它們的應(yīng)用限于前述描述中所述或附圖中所示的組件的細(xì)節(jié)和布置。例如,可使用任何方式將一個(gè)實(shí)施方式中描述的各方面與其它實(shí)施方式中描述的各方面組合。
另外,本發(fā)明的各實(shí)施例可被實(shí)現(xiàn)為一個(gè)或多個(gè)方法,所述一個(gè)或多個(gè)方法的示例已經(jīng)被提供。作為方法的一部分執(zhí)行的動(dòng)作可以按任何合適的方式來排序。因此,可以構(gòu)建各個(gè)實(shí)施方式,其中各動(dòng)作以與所示的次序不同的次序執(zhí)行,不同的次序可包括同時(shí)執(zhí)行某些動(dòng)作,即使這些動(dòng)作在各說明性實(shí)施方式中被示為順序動(dòng)作。
在權(quán)利要求書中使用諸如“第一”、“第二”、“第三”等序數(shù)詞來修飾權(quán)利要求元素本身并不意味著一個(gè)權(quán)利要求元素較之另一個(gè)權(quán)利要求元素的優(yōu)先級(jí)、先后次序或順序、或者方法的各動(dòng)作執(zhí)行的時(shí)間順序。這樣的序數(shù)詞僅用作將具有某一名稱的一個(gè)權(quán)利要求元素與(若不是使用序數(shù)詞)具有同一名稱的另一元素區(qū)分開的標(biāo)簽。
本文中所使用的短語和術(shù)語是出于描述的目的而不應(yīng)被認(rèn)為是限制。對(duì)“包括”、“具有”、“包含”、或“涉及”及其變型的使用旨在涵蓋其后所列的項(xiàng)目以及附加項(xiàng)目。
已經(jīng)詳細(xì)地描述了本發(fā)明的多個(gè)實(shí)施例,本領(lǐng)域的技術(shù)人員可以容易地想到各種修改和改進(jìn)。這樣的修改方案及改進(jìn)都旨在本發(fā)明的精神和范圍內(nèi)。相應(yīng)地,前述的描述只是作為示例,而不是旨在作為限制。本發(fā)明只受下列權(quán)利要求書及其等同內(nèi)容所定義的限制。