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