專利名稱:用于用戶模型化以增強對命名實體識別的系統和方法
技術領域:
本發明涉及命名實體識別,尤其涉及對用戶模式進行模型化以增強對命名實體的識別。
背景技術:
命名實體(NE)是特定的語言項,比如專有名稱、公司名稱、電子郵件地址、地點等,它被應用看作為一個單元。命名實體識別器是已知的,并且可知命名實體處理是語言分析的重要階段。
當前NE識別以多種方法進行。一些NE識別的方法在NE是固定的(或靜態的)時使用列表查詢,如城市名、國家名、名字、公司名、類似產品名的固定項等。其他方法使用常規表達和語法規則,其能夠將句法信息與詞典或列表查詢相結合以識別NE。大多數公知的方法直接從訓練數據中建立有限狀態的識別器。
個人信息管理(PIM)一直是自動語音識別的主要應用區域。在PIM系統中,NE識別是一項重要的任務。例如,語音激活電子郵件程序依靠NE識別。這些應用中的處理需要許多NE的識別,例如電子郵件接收方。類似地,一些PIM涉及電話的話音撥打、調度等,這些也需要NE識別。
一般在語音識別引擎的領域中,NE識別引起許多問題。首先,NE用戶可以使用組成NE的許多名稱和其他項。例如,在任何已知的公司或社團中具有許多區別的專有名稱。這導致NE識別中大量混淆,從而導致NE識別任務中的極大差錯率。
另一困難涉及不在標準詞典中的名稱。創建包含世界上每個名稱或者包含所有英語發音名稱的詞典是非常困難的。即使存在這樣的詞典,由于包含大量可能的發音,使用這樣的詞典也會大大降低識別的精度。
還有一個存在于NE識別的困難是有許多不同的方式稱呼一個人。例如不同人以不同的方法稱呼一個人。一些人用他或她的名字稱呼一個人,而其他人用姓和名稱呼一個人,另外還有其他人以不同的方式稱呼同一個人,如使用名字以及姓的首字母,或者使用昵稱等。此外,一個人可以用多種不同的方式稱呼其他人。例如,一個人僅僅使用名字稱呼他或她的鄰居或同事中的一個,而僅僅使用姓稱呼另一個鄰居或同事。
再有一個存在于NE識別的困難是使用名字時的不定性。由許多共用的名字,即使NE識別器(如自動語音識別系統)正確識別構成名字的單詞,用戶仍舊是無法確定的。例如,如果用戶說出單詞“David”,自動語音識別系統可以精確地將“David”識別為NE。然而,在大公司中,由許多人的名字是“David”,并且需要用戶搜索存在于識別器中的“David”的列表(通常以姓的字母順序排列)以找到合適的一個。
發明內容
本發明利用用戶模型化以對用戶的行為模式進行模型化。隨后使用用戶的行為模式影響命名實體(NE)的識別。
在一實施例中,跨應用進行用戶模型化。在該實施例中,從不同源取得從用戶產生的數據或以某種方式與用戶相關的數據。這些源包括語音識別系統、應用和其他源。在數據中標識命名實體,并且對每一標識的命名實體產生概率。利用所產生的概率影響后續的命名實體的識別。
在一實施例中,在所收集的數據中間歇地根據各種不同的觸發器,標識命名實體。觸發器可包括用戶操作、應用操作、定時器、所收集的數據量或另一觸發器。
在一實施例中,與命名實體相關的概率根據語境和創建數據的時間而變化。在另一實施例中,所收集的數據是根據數據源而加權的。
在另一實施例中,命名實體與語法結合,如與概率語境無關的語法。命名實體還可與語言模型結合,如口述語言模型,或者將命名實體添加到用戶詞典中。此外,命名實體可以其他方式結合,如鏈接到文本框作為降序列表的一部分(或者其他控制以提供由學習概率排序的自動完成列表),或者命名實體用于命令和控制作為指令的一部分。
圖1是使用本發明的一示例環境的框圖。
圖2使用與產生命名實體列表(或命名實體模型)的系統框圖。
圖3是示出圖2所示系統操作的流程圖。
圖4是示出為了取得和結合NE列表而進行的NE分析的流程圖。
圖5是NE列表或NE模型的一個示例性實施例。
圖6示出通過將NE列表鏈接到文本框的NE列表結合。
具體實施例方式
本發明涉及使用用戶模型化以產生命名實體(NE)列表(或NE模型)的系統。本發明還涉及用于結合和使用NE模型的系統。但是在詳細討論本發明之前,描述可使用本發明的一個示例環境。
圖1描述了可實現本發明的合適的計算系統環境100的一個示例。該計算系統環境100只是合適的計算環境的一個示例,并非想局限本發明的使用或功能范圍。也不應認為計算環境100對示例操作環境100所描述的任一組件或其組合具有任何依賴性和需求。
本發明在眾多其它通用或專用計算系統環境或配置中都是可操作的。適合使用本發明的眾所周知的計算系統、環境、和/或配置的示例包括但不限于,個人計算機、服務器計算機、手持式或膝上設備、多處理器系統、基于微處理器的系統、機頂盒、可編程消費類電子產品、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算系統等等。
在計算機可執行指令的通常環境下描述本發明,計算機可執行指令如由計算機執行程序模塊。程序模塊通常包括例程、程序、對象、組件、數據結構等等,它們完成特定的任務或實現特定的抽象數據類型。本發明也可以在分布式計算環境中實現,在該環境中,任務由通過通信網絡鏈接的遠端處理裝置來完成。在分布式計算環境中,程序模塊可以同時位于本地和遠端計算機存儲介質中,包括存儲器裝置。
參考圖1,實現本發明的一個示例系統包括以計算機110的形式表示的通用計算裝置。計算機110的組件包括但不限于,處理單元120、系統存儲器130以及將包括系統存儲器在內的各種系統組件耦合至處理單元120的系統總線121。系統總線121可以是幾種總線結構的任何一種,包括存儲器總線或存儲器控制器、外部總線,以及使用任意總線結構的本地總線。作為示例,但非局限,這類結構包括工業標準體系結構(ISA)總線、微通道結構(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協會(VESA)本地總線、以及外圍部件互聯(PCI)總線,也稱Mezzanine總線。
計算機110通常包括各種計算機可讀介質。計算機可讀介質可以是任何可由計算機110存取的可用介質,包括易失性介質和非易失性介質,可移動介質和不可移動介質。作為示例,并非局限,計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括在任意用于存儲信息的方法或技術中實現的易失性介質和非易失性介質、可移動介質和不可移動介質,這些信息包括計算機可讀指令、數據結構、程序模塊或其它數據。計算機存儲介質包括但不限于,RAM、ROM、EEPROM、按塊擦除存儲器或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲裝置、或任何其它可以用于儲存需要的信息并可由計算機110存取的介質。通信介質通常包括計算機可讀指令、數據結構、程序模塊或其它已調制數據信號如載波或其它傳輸機制中的數據,包括任何信息傳送介質。術語“已調制數據信號”表示一種信號,該信號具有一個或多個通過對信號中的信息進行編碼而設定或改變的特征。作為示例,并非局限,通信介質包括有線介質,如有線網絡或直接連線連接,以及無線介質,如聲學、RF、紅外以及其它無線介質。上述介質的組合也應當包含在計算機可讀介質的范圍內。
系統存儲器130包括易失性和/或非易失性存儲器形式的計算機存儲介質,如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。基本輸入/輸出系統133(BIOS)通常儲存在ROM 131中,包含協助在計算機110內如啟動時在元件之間進行信息傳輸的基本例程。RAM 132通常包含處理單元120立即可存取和/或當前正操作的程序模塊。作為示例,并非局限,圖1描述了操作系統134、應用程序135、其它程序模塊136以及程序數據137。
計算機110也可包括其它可移動/不可移動的易失性/非易失性計算機存儲介質。僅作示例,圖1描述了硬盤驅動器141,對不可移動、非易失性磁介質進行讀寫;磁盤驅動器151,對可移動、非易失性磁盤152進行讀寫;以及光盤驅動器155,對可移動、非易失性光盤156如CD-ROM或其它光學介質進行讀寫。其它可在示例操作環境中使用的可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限于,磁帶盒、閃存卡、數字多功能盤、數字視頻磁帶、固態RAM、固態ROM等等。硬盤驅動器141通常通過不可移動存儲器接口,如接口140,連接至系統總線121。磁盤驅動器151和光盤驅動器155通常通過可移動存儲器接口,如接口150,連接至系統總線121。
以上討論并在圖1中描述的驅動器連同其相關的計算機存儲介質為計算機110提供了計算機可讀指令、數據結構、程序模塊和其它數據的存儲。例如,在圖1中,將硬盤驅動器141描述為儲存操作系統144、應用程序145、其它程序模塊146以及程序數據147。值得注意,這些組件可以與操作系統134、應用程序135、其它程序模塊136以及程序數據137相同,也可以不同。此處為操作系統144、應用程序145、其它程序模塊146以及程序數據147標上不同的號碼,以至少表明它們是不同的副本。
用戶可以通過輸入設備,如鍵盤162、話筒163、以及定位設備161,如鼠標、跟蹤球或觸摸板,向計算機110輸入命令和信息。其它輸入設備(未示出)可包括操縱桿、游戲操縱桿、衛星式圓盤、掃描儀等等。這些或其它輸入設備通常通過耦合至系統總線的用戶輸入接口連接至處理單元120,也可以通過其它接口和總線接口來連接,如并行端口、游戲端口或通用串行總線(USB)。監視器191或其它類型的顯示設備也通過接口,如視頻接口190,連接至系統總線121。除監視器之外,計算機也可以包括其它外圍輸出設備,如揚聲器197和打印機196,通過輸出外圍接口190連接。
計算機110可以采用邏輯連接至一個或多個遠端計算機,如遠端計算機180,在建立網絡的環境中操作。遠端計算機180可以是個人計算機、手持式設備、服務器、路由器、網絡PC、對等裝置或其它常見網絡節點,通常包括上文描述的同計算機110相關的許多或所有元件。圖1描述的邏輯連接包括局域網(LAN)171和廣域網(WAN)173,也可以包括其它網絡。這類聯網環境在辦公室、企業范圍計算機網絡、企業內部互聯網和因特網中是常見的。
當在LAN網絡環境中使用時,計算機110通過網絡接口或適配器170同LAN 171相連接。當在WAN網絡環境中使用時,計算機110通常包括調制解調器172或其它用于通過WAN 173,如因特網,建立通信的裝置。調制解調器172可以是內置的,也可以是外置的,通過用戶輸入接口160或其它合適的機制連接至系統總線121。在建立網絡的環境中,所述的同計算機110或其部分相關的程序模塊可以儲存在遠端存儲器設備中。作為示例,并非限制,圖1描述遠端應用程序185駐留于遠程計算機180中。此處所示的網絡連接是示例性的,也可使用其它在計算機之間建立通信鏈路的裝置。
值得注意的是,本發明在計算機系統上執行,如圖1所述的。然而,本發明也可在服務器、專用于消息處理的計算機,或分布式系統上執行,其中在分布式計算系統的不同部分執行本發明的不同部分。
圖2是用于產生命名實體(NE)列表或NE模型202的系統200。系統200包括傳感器204,它由各種不同的可選觸發器中的一個觸發,如事件觸發器206,用戶觸發器208、定時器210或一些其他的觸發器212。系統200還包括記錄器214、分析器216和可選的緩沖器218。值得注意的是,雖然分別示出了傳感器204、記錄器214和分析器216,但是其可進行組合或在一些實現中省略。圖2還示出了從各種源收集數據,如應用220、語音識別引擎222或其他NE的源。
圖3是示出圖2所示系統200操作一個實施例的流程圖。如以下所述,系統200對用戶的使用模式進行模型化以標識NE和計算與每一NE相關的概率。隨后將這個NE列表與相關的概率(或NE模型)202用于跨不同應用或不同環境中的NE識別。
為了產生NE模型202,收集表示特定用戶使用模式的數據。這由圖3中框230表示。圖2示出源可包括應用220,如字文檔、電子郵件應用、元數據或來自電子郵件應用中不同域(如“to”域、“cc”域或“from”域)的信息,該信息對應用、聯系列表等進行調度。另外,應用220可以是地圖或地理應用,在此情況下,從該應用收集城市、州和其他地點名稱。
類似地,圖2示出由用戶使用的系統包括語音識別引擎222,其中顯示用戶使用模式的收集數據的一個源可以是語音識別引擎222。通過語音激活應用220或直接從語音識別引擎222向傳感器204提供表示識別結果的數據。
其他NE源224還向傳感器204提供數據,該數據表示用戶使用模式。當然,可直接從源220、222和224向傳感器204提供數據,或者在可選的緩沖器218中緩沖數據。
在一示例實施例中,NE的所有源220、222和224提供與被模型化的特定用戶有關的NE。例如,在電子郵件應用的“to”、“cc”或“from”域中所標識的電子郵件接收方來自于由該用戶產生或接收的電子郵件。此外,用戶聯系列表或標識用戶經常聯系的人的類似類型的數據庫也可用作為NE的源。類似地,也可使用公司范圍的姓名目錄。在許多公司中,姓名目錄是以電子形式的,并以工作組、部門或其他合作單位或工作單位進行排列。在這種情況下,用戶所在單位中的姓名可作為與該用戶密切相關的NE源。此外,如果NE源是地圖應用,則由用戶選擇或“選中“的地點可作為與該用戶密切相關的信息。另外,也可使用緊密接近用戶地點的地點,或者由定位系統提供的地點,如全球定位系統(GPS)。
除了與特定用戶緊密相關的NE源之外,也可是用于該用戶不是緊密相關的其他NE源。例如,可使用公司范圍地址簿中的所有姓名。類似地,可使用地圖應用中普通和著名的地點,即使它們與特定用戶不是緊密相關。此外,在包括與用戶非緊密相關的信息作為NE源的情況下,可對該信息進行加權,其權重要小于與該用戶緊密相關的信息。例如,如果公司范圍的地址簿用作NE源,則給予地址簿中所有其它姓名的權重要小于該特定用戶所在工作組中的姓名的權重,或小于來自另一緊密相關源的姓名的權重,如用戶的電子郵件應用。類似地,在將地圖應用中普通或著名地點用作NE源的情況下,其權重小于用戶在地圖應用中實際選擇或“點擊”的地點。這樣,本發明并不僅限于與特定用戶緊密相關的NE源。
還可使用其它的NE源。一些字處理器和操作系統保留“常用列表”,它是經常使用的項(如文檔)的列表。諸如瀏覽器的其他系統保留“歷史列表”,它列出了最近使用的項(如最近訪問的站點)。從這些源中取得的NE可以是一些名稱,如標識文檔、web地址、項目名,用戶名等的名稱。
當然,應該理解,這里所述的NE并不限于專有名詞,而是還包括對人、地點等的其他指代。例如,命名實體可標識為“我的經理”或“Joe的經理”。命名實體還可標識為“我的指導報告”,等等。
在任何情況下,一旦收集了反映用戶使用模式的信息,傳感器204就接收傳感器的觸發輸入,表示這是處理所收集信息以標識其中的NE的時間了。這由圖3中的框232表示。圖2示出具有多種觸發機構用于觸發傳感器204以識別收集的數據中的NE。例如,時間觸發器206是應用產生的觸發器,它根據應用的事件觸發傳感器204。例如在電子郵件應用中,發送和接收都可以是觸發傳感器204搜索所收集數據以標識NE的事件。當然,事件觸發器206還可包括多種其他事件的任何一種,如開啟、關閉、操作系統事件等。
觸發器還包括用戶產生的觸發器208。用戶產生的觸發器208的一個例子就是在字處理應用中用戶保存文檔。一旦用戶開始了保存操作,就可提供該文檔到傳感器204(可選地通過緩沖器218),并且傳感器隨后處理該文檔(以及其他所收集信息)標識其中的NE。
另外的觸發器包括定時器。在該實施例中,每當傳感器204處理了所收集數據,定時器就簡單重置。當定時器210過時了,它就再次觸發傳感器204檢查所收集數據中的NE。
還有其他的觸發器212可用于觸發傳感器204。例如,當使用語音識別引擎222時,語音識別引擎222示例性地輸出一指示,說明它取得了識別結果。該指示用作對傳感器204的觸發,并且隨后處理該識別結果以標識其中的NE。
其他觸發器可包括多種附加的觸發器。例如,在緩沖器218中僅根據其容量監測所收集的數據量。當收集了足夠量的數據時,就可將其用于觸發傳感器204處理所收集的數據以標識NE。
當然,還應注意,可以使用任何觸發器206-212本身,或它們與任何或所有其他或附加觸發器的組合。
一旦觸發了傳感器204,它就處理收集來自源220、222和224的數據并在該數據中標識NE。這由圖3中的框234表示。可以以多種已知方式的任何一種進行NE的標識,并且由傳感器204標識NE所使用的特定方法不構成本發明的一部分。例如,一些系統通過對考慮中的文本進行語言分析而標識NE。該語言分析具有定義指定NE的準則算法。
在任何情況下,一旦由傳感器204標識NE,就將它們提供到記錄器214。記錄器214處理并可選地存儲NE,以由分析器216進行進一步分析。在一實施例中,記錄器214對NE進行歸一化以進一步進行分析,如通過將NE中的字轉換為規范形式。隨后記錄器214存儲歸一化的NE直到由分析器216對它們進行檢索。在該實施例中,記錄器214以任何合適的形式存儲NE,如XML文件或其他形式。另外,記錄器214向分析器216提供歸一化的NE以立即進行分析。
分析器216對由記錄器214提供的歸一化NE進行分析,并且創建或更新NE列表(或NE模型)202。隨后NE模型202可用于系統中需要對其加以利用的任何其他部件,如應用220、語音識別引擎222、其他源224或由用戶使用的任何其他的系統部件。由圖4中框238表示分析NE以取得新的NE列表。由框240表示可用于系統其他部件的新的或更新的NE列表202。
在更詳細討論NE分析之前,應當注意可以離線、在線或兩者兼而有之產生NE模型。例如,在一實施例中,一開始離線創建NE模型202并隨后進行優化。在該實施例中,通過處理來自源220-224的信息而離線建立初始模型,這些源可用于離線環境。這樣的源包括諸如過去由特定用戶發送的電子郵件、用戶的聯系列表、用戶的公司目錄,先前由用戶創作的文檔等。類似地,可用來自其他源的某些信息對NE模型202進行初始化,如來自地圖應用的著名地點,靠近用戶的地理區域中的城市等。
盡管初始模型202是離線產生和適配的,但企業可以在在線環境中產生和適配。這可以如圖2和3所示進行。換言之,提供實時觸發使得感應、記錄和分析與系統操作同時進行。
現在針對圖4更詳細地討論由分析器216所進行的NE分析。圖4示出了描述分析NE的多個不同實施例流程圖。在一實施例中,首先由分析器216將由記錄器214提供的歸一化NE分類合并為多個不同的類別。這由圖4中的框242表示。
一些示例的類別包括人的類和地點類。人的類包括諸如人的專有名稱,還包括對人的從屬指代,如“我的老板”等。地點類包括城市、州、學校和其他地點,它不需要是專有名稱,如吸引人的地方和普通地點。
還可根據所屬類別將NE與屬性相關。例如,人的類可以具有諸如名字、姓和電子郵件地址的屬性。地點類可包括諸如地址、地理區域等的屬性。
可以以多種形式的任何一種進行分類合并。一個進行分類合并的示例方法是基于信息所提取自的環境。例如,來自聯系或郵件列表的姓名可置于人的類,基于它們來自于聯系或郵件列表這一事實。來自于地圖應用的城市名置于地點類,基于它們來自地圖應用這一事實。例如,從地質簿地址字段所獲得的地址也可置于地點類。類似地,分類合并可基于所分析文檔的語言分析。例如,如果文本或字處理文檔是經過分析的,則語言分析會指示特定命名實體是地點。該指示可由分析器216使用而將該命名實體分類合并為合適的類別。
當然應當注意,一些命名實體可置于幾個不同的類別。例如,一些命名實體在不同環境中具有不同的含義。例如,如果從地圖應用中檢索到字“Washington”,則它可置于地點類。而如果還從聯系列表中檢索到字“Washington”,則它最好置于人的類。
將NE分類合并為不同的類別的一個理由是不僅為了提高模型202操作的效率,還為了協助將模型結合到不同類型的使用場合。例如,類別具有語義。這樣NE所處的類別就可用作基于類的語言模型中的類。類似地,該類別可用作與環境無關的語法中的類。
圖5示出了進行分類合并后NE模型202的示圖。將NE分類合并為模型202中所示的簇1-n。當然,如上所述,某些NE還可分類合并為多個不同的簇。
在任何情況下,一旦將NE分類合并為類別,就可對NE計算概率。這由圖4中的框244表示。此概率可基于用戶使用特定NE的頻率。然而,概率還可基于其他因素。例如,不同NE在由不同應用和環境使用時具有不同的概率估計。例如,在地圖應用中,地點NE的概率不僅基于當前用戶訪問特定地點NE的頻率,還基于表示該地點在一般公眾中的普及率的普及測量,以及基于表示從用戶住處或當前住所到該地點距離的距離測量。
又如,用于電子郵件應用的NE具有一概率,該概率不僅基于用戶對特定NE產生電子郵件的頻率,還基于公司組織圖中該特定NE對特定用戶的接近度,以及最近使用NE的時間與現在的接近度。NE越接近用戶,概率就越高。
當然,這些僅是例子,根據使用NE模型202的特定應用,如何計算概率會有所不同。
此外,為了計算NE的概率,分析器216對來自不同源的信息進行不同的加權。例如,如以上簡述,當計算從不同NE源提取的NE的概率時,可根據其對特定用戶的接近度對信息進行加權。例如,如果在計算概率時使用的NE是從電子郵件應用中提取的,則對那些位于用戶特定姓名短列表中的姓名給予最高權重,該短列表僅包括用戶過去已向其發送電子郵件的姓名。對從發送到用戶的電子郵件或用戶工作組目錄中相關姓名取得的NE給予第二最高權重。對從公司范圍地址簿提取的NE給予最低權重。
類似地,可根據特定NE的符合率確定權重。換言之,如果NE符合從用戶的NE短列表產生的電子郵件接收方語法,則其被賦予一特定權重。如果它符合對用戶的工作組列表產生的接收方語法,則其被賦予第二權重,如果它符合對公司范圍地址簿產生的語法,則其被賦予第三權重。權重可使用拒絕閾值作為基數,并且在詞匯表之外的NE仍舊具有一些估計的概率以將未見的訓練數據考慮在內。
一個特定的例子是有幫助的。假設一般的語音識別引擎根據以下準則識別語音等式1w^=argmaxwP(A|w)P(w)]]>其中A是所接收的聲學特征表示,w是候選字,而P(w)是候選w的先驗概率(如語言模型概率)。
根據本發明一實施例的用戶模型化根據用戶的使用歷史估計先驗概率,并因此減少混淆并增加識別精度。以下討論針對一個例子,其中電子郵件接收方的語音識別是所論述的任務。在NE識別任務中估計兩個概率接收方的概率和接收方以某種方式被讀出的概率。
估計接收方的概率的問題描述如下給定以時間排序的接收方序列,每一接收方是下一個接收方的概率是多少。一般,接收方i是否在時間t出現可表示如下等式2xi(t)=Σkδ(t-tik)]]>其中tik表示用戶第k次將電子郵件發送到接收方i的時間,而δ是Kroneckerdelta。在時間T內接收方i出現的總次數可表示如下ci(T)=Σtxi(t)w(T-t)=ΣkΣtδ(t-tik)w(T-t)]]>等式3=Σkw(T-tik)]]>其中w(t)是所施加的窗函數。這樣接收方的概率可估計如下等式4p^i=ci(T)Σjcj(T)=Σkw(T-tik)ΣjΣkw(T-tjk)]]>
如果基本隨機過程是固定的,則w(t)就應是矩形窗,并且以上估計可簡化為等式5p^i=niΣjni]]>其中ni是過去接收方i出現的次數。
但是,接收方i是下一個接收方的概率是隨時間變化的,這是因為用戶的使用模式是變化的。此外,變化的模式對于不同的接收方是不同的。例如,當用戶改變了組,則用戶不需要像以前一樣經常對舊組中的同事發送電子郵件。但是用戶可以繼續向非工作的朋友或家人發送電子郵件,就向他或她過去經常做的一樣。
為了補償基本隨機過程的時變特性,施加如下指數窗等式6w(t)=e-λt其中λ是遺忘因子,選擇遺忘因子使得最近的數據具有較高的權重。λ越大,對新數據賦予的權重越大。但是,對新數據的偏移太大會引起過當。因此如下,在一示例實施例中,λ是緩慢變化的參數,它由控制數據組進行自動調整以最小化控制數據組的KL距離等式7E^=Σip‾ilogp‾ip^i]]>其中pi是根據控制組中接收方的出現估計如下等式8p‾i=niΣjni]]>系統可以多種不同的方式調整λ。在一實施例中,使用梯度下降算法,其中梯度定義如下
dE^dλ=d(-Σip‾ilogp^i)dλ=-Σip‾ip^i·dp^idλ]]>等式9=Σip‾ip^i·(Σk(T-tik)e-λ(T-tik)-p^iΣjΣk(T-tik)e-λ(T-tjk)ΣjΣke-λ(T-tjk))]]>=Σip‾ip^iΣk(T-tik)e-λ(T-tik)-ΣjΣk(T-tjk)e-λ(T-tjk)ΣjΣke-λ(T-tjk)]]>從這點來看,該模型對用戶過去實際向其發送過電子郵件的接收方進行處理。但是,在用戶聯系列表中的所有人以及向用戶發送電子郵件的所有人都是潛在的接收方,即使用戶過去從沒有向他們發送過電子郵件。對于這些人,系統示例性地提供一基礎概率,它等于用戶在過去的預定時間(如100天之前)曾經向接收方發送電子郵件的概率。對于這樣的潛在接收方r,此概率可如下計算等式10p^r=Σkw(T-tik)ΣjΣkw(T-tjk)=e-100λΣjΣkw(T-tjk)]]>根據另一實施例,在學習過程中,系統200還學習由被模式化的特定用戶稱呼接收方的方式。系統可示例性地以一組規則開始,該組規則提供對于稱呼給定接收方所有方式的先驗概率。該系統隨后記錄使用特定方式稱呼每一接收方的頻率,并由此更新與概率環境無關的語法(PCFG)中與稱呼接收方不同方式相關的概率。當然,語音識別引擎可利用PCFG識別任何NE。
當然可以理解,以上討論的用于產生與NE相關的概率的算法僅僅是用于產生這樣概率的示例性算法。也可利用其他需要的算法產生這些概率。
在對每一NE計算了概率之后,將NE和相關概率與不同使用場合結合。當然結合新的NE列表以及相關概率的特定使用場合是依賴于配置為使用NE列表202的特定應用或其他部件的。以下僅僅為了示例討論多種示例性的結合。
在一實施例中,利用NE列表202和相關概率產生與概率環境無關的語法(PCFG)。這由圖4中的框246示出。可以以多種不同的方式使用這樣的PCFG。一個示例性的方式就是用于名稱識別。例如,在語音激活電子郵件程序中,當用戶說出接收方是“Peter”時,就不需要為用戶提供公司或用戶聯系列表中按字母排序的所有“Peter”的冗長列表,用戶也不需要從中選擇,PCFG會偏向用戶最經常將他作為電子郵件接收方的這一特定的“Peter”,同時對應于該“Peter”的NE會置于列表的頂端。
另一示例就是用于命令和控制。例如,在語音激活命令和控制系統中,用戶可以發出請求“向Peter發送電子郵件”。系統就無需要求用戶指定是使用公司或用戶聯系列表中眾多“Peter”中哪一個,而是默認具有最高概率的“Peter”,從而通過減少所需的用戶交互同時不增加總的差錯率,來增加用戶的滿意度。
另一結合NE列表和相關概率的示例是將它們用于NE的口述產生基于類的口述語言模型。盡管基于類的語言模型是已知的,還是示例性地對基于類的語言模型進行簡要討論。在傳統的語言模型中(如在雙字母組或三字母組語言模型中),模型分別提供向對于一個或兩個其他字有關的字的概率。在基于類的語言模型中,模型還提供一個字屬于特定語義類的概率和/或類彼此相關和特定字處于這些類的概率。圖4中的框248示出了口述模型(或基于類的語言模型)的產生和更新。
在將NE和相關概率結合到使用場合中的另一實施例中,使用NE和相關概率對用戶詞典進行擴充。換言之,簡單地將NE列表和相關概率作為新字直接附加到語音識別引擎222中的用戶訶典中。圖4中的框250示出了使用NE和概率產生和擴充用戶詞典。
將NE和概率與使用場合結合的還有一種方式就是將它們與控制結合。例如,即使不使用語音識別引擎,也可將NE和相關概率鏈接到不同應用和操作系統的控制。將NE列表鏈接到控制的一個例子就是將其鏈接到文本框。在一個示例實施例中,由開發者用類屬性定義文本框,該類屬性具有開發者指定的值。圖6示出了文本框252的一個實施例,其具有類屬性254,其值標識為“州”。類屬性中的值對應于由分析器216將NE分類合并到的類別。這樣,當用戶選擇文本框252并開始對其進行輸入時,NE模型202就輸出用于自動完成文本框252的候選NE列表。在圖6所示的例子中,用戶打入了字母“MI”。NE模型202就自動輸出對應于州的NE列表,其按照與每一NE相關的概率順序排列。由于與NE“Minnesota”相關的概率最高,就在用于自動完成文本框252的NE降序列表256中首先顯示該NE。
應該注意,即使用戶以前從未對文本框進行輸入,NE也會以概率的順序加以顯示。這是因為NE不具有僅僅根據先前對文本框252的輸入計算的概率。而是從對用戶使用模式進行最佳模式化的多個不同源提取數據,從這些數據中計算概率。因此,即使用戶過去從未調用文本框252,該用戶仍舊使降序列表256進行顯示,其具有根據跨多個源的用戶使用模式,以最大可能的順序排列的NE。
圖4中框258示出了將NE鏈接到控制。
上述NE列表和相關概率與其他的結合僅是示例性的。當然,可以根據需要訪問NE和概率的特定部件進行NE的其他結合。這由圖4中的框260所示。
由此可見,根據本發明的一個實施例,NE識別基于用戶模型化而不是應用模型化。從多個由用戶使用的源收集信息,并將其用于產生于NE相關的概率。當然,不僅可使用針對給定用戶的信息,還可使用更一般性質的其他信息。另外,如上所述,在計算NE相關概率時給予較一般信息的權重小于給予較特定信息的概率。一旦產生了NE列表和相關概率,可以跨所有所需的應用和在所有期望環境中使用該列表。這樣,本發明作為一般的解決方法解決了與NE識別相關的困難。
最后,應該注意,NE列表產生和適配系統可位于用戶專用機。另外,也可用于服務器上,或者與NE產生和適配有關的功能可在服務器之間或一個或多個服務器和用戶專用機之間分離。
例如,在一示例實施例中,可在服務器上實現分析器216,分析器216從多個不同的用戶專用的記錄器214收集歸一化的NE。對所有信息進行集中分析并重新分配給用戶,或者從多個用戶收集一些信息,在服務器級對這些信息進行分析,同時在用戶專用級上分析其他信息。此外,當然也可在用戶專用級上分析所有信息。
通過利用本發明,可以發現特定用戶所需的NE數量比通用NE模型所需的NE數量要小得多。例如,公司范圍的目錄所具有的條目數與公司的雇員數一樣多。例如,在具有20000個條目的公司中,從公司目錄提取的NE數就為20000。然而,通過分析用戶的使用模式,可以發現,用戶僅需要使用其中的250個。因此根據本發明,模型中的NE數比先前系統中的要小得多。
此外,本發明徹底減少了與先前系統有關的詞匯表之外的比率。例如,即使用戶具有與整個公司目錄有關的NE(例如,其數目為20000),但是該用戶也僅僅想要向熟人或家人發送電子郵件,他們并沒有出現在公司目錄中。然而,通過分析用戶的使用模式,就可以標識這些NE并將他們添加到用戶專用NE列表中。這樣,即使用戶列表中的NE數比先前系統大大減少了,但是詞匯表之外的比率也徹底減少了。減少了混淆,增加了精度。
盡管本發明是參考特定實施例來描述的,對本領域的熟練技術人員來說,可以在不背離本發明精神和范圍的情況下以任何形式和細節作出改變。
權利要求
1.一種命名實體(NE)列表發生器,包括NE標識器,配置為從多個不同的源接收信息,并在信息中標識NE,至少部分信息對應于特定用戶組;以及分析器,用于計算與所標識NE相關的概率,以獲得具有相關概率的特定組NE列表。
2.如權利要求1所述的NE列表發生器,其特征在于所述特定用戶組包括單一特定用戶。
3.如權利要求1所述的NE列表發生器,其特征在于將傳感器配置為根據觸發輸入在信息中標識NE。
4.如權利要求3所述的NE列表發生器,其特征在于所述多個不同源的至少一個包括應用程序。
5.如權利要求4所述的NE列表發生器,其特征在于所述觸發輸入包括應用產生的觸發輸入,它是由應用程序產生的。
6.如權利要求5所述的NE列表發生器,其特征在于所述應用包括電子郵件應用,并且所述應用產生的觸發包括發送或接收事件。
7.如權利要求3所述的NE列表發生器,其特征在于所述觸發輸入包括用戶產生的觸發輸入。
8.如權利要求7所述的NE列表發生器,其特征在于所述多個不同源的至少一個包括字處理應用,并且所述用戶產生的觸發輸入包括保存文檔輸入。
9.如權利要求3所述的NE列表發生器,其特征在于所述源的至少一個包括語音識別引擎。
10.如權利要求9所述的NE列表發生器,其特征在于所述觸發輸入包括來自所述語音識別引擎的識別結果指示。
11.如權利要求3所述的NE列表發生器,其特征在于所述觸發輸入包括定時器輸入,它表示所需時間段已過。
12.如權利要求3所述的NE列表發生器,其特征在于所述觸發輸入是基于為由所述NE標識器進行處理而收集的信息量。
13.如權利要求1所述的NE列表發生器,其特征在于將所述分析器配置為通過根據信息源對信息進行加權而計算所述概率。
14.如權利要求13所述的NE列表發生器,其特征在于多個信息源的第一個提供密切相關信息,它與所述特定用戶組密切相關,并且多個信息源的第二個提供弱相關信息,其與所述特定用戶組的相關性與所述密切相關信息相比更弱。
15.如權利要求14所述的NE列表發生器,其特征在于將所述分析器配置為在計算所述概率時對所述密切相關信息賦予的權重與所述弱相關信息相比更大。
16.如權利要求1所述的NE列表發生器,其特征在于所述NE列表和概率用于與多個不同系統部件結合,并且所述分析器根據所述NE列表和概率所結合的系統部件計算所述概率。
17.如權利要求1所述的NE列表發生器,其特征在于將所述分析器配置為從所述NE列表和概率中產生與概率環境無關的語法。
18.如權利要求1所述的NE列表發生器,其特征在于將所述分析器配置為將所標識的NE分類合并為各個組。
19.如權利要求18所述的NE列表發生器,其特征在于將所述分析器配置為從所述NE和概率產生基于類的語言模型,并且所述組的每一個對應于所述基于類的語言模型中的一語義類。
20.如權利要求1所述的NE列表發生器,其特征在于將所述分析器配置為根據所述NE和概率產生語音識別引擎的詞典。
21.如權利要求1所述的NE列表發生器,其特征在于將所述分析器配置為將所述NE列表和概率鏈接到控制。
22.一種產生命名實體(NE)模型的方法,包括從表示特定用戶使用模式的源中接收信息;以及根據所接收的信息產生用戶特定NE模型。
23.如權利要求22所述的方法,其特征在于,接收信息包括從多個不同的源接收信息。
24.如權利要求23所述的方法,其特征在于,產生用戶特定NE模型包括在所接收的信息中標識NE;以及根據所接收的信息計算與每一NE相關的概率。
25.如權利要求24所述的方法,其特征在于,計算概率包括通過根據信息接收來自的源對不同接收的信息進行加權而計算所述概率。
26.如權利要求24所述的方法,其特征在于,產生用戶特定NE模型包括將所標識的NE分類合并為多個簇中的一個或多個。
27.如權利要求26所述的方法,其特征在于,分類合并包括根據所標識的NE來自的源將NE置于簇中。
28.如權利要求22所述的方法,其特征在于,產生用戶特定NE模型包括產生與概率環境無關的語法。
29.如權利要求22所述的方法,其特征在于,產生用戶特定NE模型包括產生基于類的語言模型。
30.如權利要求22所述的方法,其特征在于,產生用戶特定NE模型包括產生用于語音識別引擎中的詞典。
31.如權利要求22所述的方法,其特征在于,產生用戶特定NE模型包括將用戶特定NE模型鏈接到控制。
全文摘要
本發明利用用戶模型化對用戶的行為模式進行模型化。隨后使用用戶的行為模式影響命名實體(NE)的識別。
文檔編號G06N3/00GK1573923SQ20041004570
公開日2005年2月2日 申請日期2004年5月27日 優先權日2003年5月27日
發明者俞棟, P·K·L·毛, K·王, M·馬哈詹, A·阿塞羅 申請人:微軟公司