對數字網絡進行基於自然語言的控制的製作方法
2023-06-07 02:48:46 1
專利名稱:對數字網絡進行基於自然語言的控制的製作方法
技術領域:
本發明總體上涉及諸如以數字方式連接的家庭或家庭網絡之類的數字網絡,並且具體地涉及用於對數字網絡進行基於自然語言的控制的計算機網絡、計算機系統、計算機實現的方法和電腦程式產品。
背景技術:
與多個電子、電氣和/或數字設備的交互正不斷地增加。諸如包括多個設備(諸如個人計算機、筆記本、⑶播放器、DVD播放器Blu-ray Di sc 回放設備、音響系統、電視、電話、行動電話、MP3播放器、洗衣機、烘乾機、洗碗機、電燈和/或微波爐等)的家 庭網絡(也稱為數字家庭網絡或以數字方式連接的家庭)的數字網絡正變得越來越普及。家庭網絡可以涉及複合生態系統,包括能夠管理起居(諸如家庭小氣候、能量消耗、電器、多媒體內容、家庭娛樂、供暖和/或製冷系統等)的幾乎任何方面的多個設備。數字網絡也可以存在於包括辦公室、電影院、汽車、博物館等的其他區域中。換言之,數字網絡可以存在於可適用人機接口的任何以數字方式連接的環境中。然而,此類越來越複雜的數字網絡缺乏可以由用戶管理和/或控制的統一和有效的方式。此外,數字網絡要求用戶學習多個不同的、經常是異種的用戶接口和/或與它們交互,以便令人滿意地與在數字網絡中相關聯的不同設備交互。因此,需要增強的人機互動以供用戶與數字網絡交互。
發明內容
根據一個總方面,提供了(一種框架,用於構建)計算機網絡,該計算機網絡用於對數字網絡進行基於自然語言的控制。該網絡可以包括數字網絡,可操作用於在該數字網絡中連接的多個設備之間提供對網絡訪問的共享(或共享的訪問);客戶端,安裝在該數字網絡中並且可操作用於向用戶提供用於使用自然語言控制該數字網絡的統一自然語言接口;伺服器,通過該網絡連接至該客戶端並且可操作用於處理該用戶通過該統一自然語言接口執行的用戶請求;以及一個或者多個軟體代理,可操作用於基於經處理的用戶請求在該多個設備的至少一個設備上執行至少一個動作。該框架(或者構建的計算機網絡)可以允許通過使用主動模式和/或被動模式的統一自然語言接口控制不同設備。用戶能夠向客戶端執行自然語言請求(稱為用戶請求)以控制將在數字網絡中的設備上執行的動作。可以被控制的動作包括例如打開該用戶的房間中的檯燈的燈光、在洗衣機上運行洗滌周期、為DVD播放器安排節目、為供暖系統設置溫
/又寸。除了理解此類顯式用戶請求之外,該框架還可以能夠從話音提取非語言信息(例如用戶的情緒),並且允許觸發由軟體代理在一個或者多個設備上執行相應的動作。例如,如果用戶高興,則應當激活音樂播放器以播放快樂的音樂,和/或如果用戶正在談論他的上個假期,則家庭娛樂設備應當示出所述假期的照片。統一自然語言接口可以由客戶端通過實施包括向用戶暴露(expose)的圖形用戶界面的一個或者多個組件來提供,以便允許用戶從網絡獲得某些反饋和/或管理並且配置所控制的設備。為了降低成本和/或克服獨立設備的限制,該框架可以基於包括用於該客戶端的模塊化方式的客戶端-伺服器架構。例如,該客戶端可操作用於監聽(自然語言的)用戶請求。該客戶端繼而可以與伺服器通信以解釋和/或處理該用戶請求。該伺服器可以向該客戶端發送回經處理的用戶請求。可以處理該用戶請求從而產生標籤的列表,例如從句子(用戶請求)提取的字詞的列表,該列表通過省略停用詞(stop-words)總結該句子的語義。基於從該伺服器接收的該經處理的用戶請求,該客戶端可以選擇並且執行動 作以服務於該用戶請求。該客戶端可以通過觸發一個或者多個軟體代理(也稱為軟體集(bundles))以在該數字網絡的一個或者多個設備上執行該動作來執行該動作。客戶端可以包括對設備、它們的能力、位置和/或其他相關信息的(大體上)完整的知識。所述知識可以在語義詞典中指定。語義詞典可以包括對設備、它們的關係和/或屬性(例如可以在它們上執行的動作)進行描述的語義網絡。語義詞典還可以和/或備選地包括對數字網絡的設備進行分類和/或歸類的字典。客戶端可以包括如下知識,該知識包括如何使用適當接口控制設備以用於通知和訂閱(subscribe)可以執行動作的軟體代理。伺服器可以從客戶端接收通過用戶請求生成的話音樣本。伺服器可以將話音樣本轉換為本文並且可以提取相關信息,客戶端因此可以標識待採取的動作以服務於用戶請求。可以將相關信息作為包括在諸如XML和/或任何其他適合的格式之類的計算機可讀格式中的標籤的列表發送回客戶端。可以(由客戶端)使用該標籤的列表以標識為了滿足用戶請求所需的一個或者多個動作和一個或者多個相應的設備。換言之,當網絡運作時,客戶端可以從用戶請求對用戶的話音進行採樣並且繼而請求伺服器從該用戶請求提取相關信息以便標識將由一個或者多個軟體代理針對一個或者多個目標設備執行的一個或者多個目標動作。包括在用戶請求中的信息可以是語言的(例如字詞、短語和/或句子)和/或非語言的(例如情感)。在用戶已經選擇了主動模式或者被動模式之後,框架可以處理來自用戶請求的語言信息和/或非語言信息,並且可以相應地服務於該用戶請求。用戶可能經常通過顯式地觸發網絡(例如通過在表達請求時保持⑶I上的軟按鈕(soft-button)被按下)來按照主動模式操作該網絡。當計算機網絡處於被動模式時,該網絡持續地監聽用戶,從而產生對該用戶正在談論的主題和他的情感進行總結的標籤的持續流。用戶也可能按照混合模式操作網絡,其中處理用戶的顯式請求和用戶的情感兩者,以便決定將採取的動作。由於中央伺服器可以提供大部分所要求的計算能力,因此客戶端可以在通常存在於用戶的家庭網絡中的設備(例如,接入網關、機頂盒等)上運行。客戶端也可以向如下軟體代理(或者軟體集)提供接口(模塊管理組件),該軟體代理(或者軟體集)有興趣為了用戶請求進行動作。該軟體代理轉而可以控制數字網絡中的任何種類的設備。根據另一方面,客戶端可以包括模塊管理組件,該模塊管理組件可操作用於向一個或者多個軟體代理提供接口以用於發布由該一個或者多個軟體代理向該客戶端提供的一個或者多個動作。根據又一方面,客戶端可以包括向用戶暴露的圖形用戶界面(GUI),該圖形用戶界面用於指定對將由多個軟體代理在多個設備的至少一個設備上執行的動作的用戶定義的設置,和/或選擇操作模式(主動和/或被動)。
根據又一方面,模塊管理組件可以進一步可操作用於向一個或者多個軟體代理輸出功能集合,以允許該一個或者多個軟體代理訪問GUI。根據又一方面,客戶端可以包括家庭知識組件,該家庭知識組件包括語義詞典,其中該語義詞典指定關於數字網絡中的多個設備的、與控制該多個設備相關的信息。根據又一方面,語義詞典可以包括針對多個設備的設備類別、設備類別之間和/或該多個設備之間的關係以及該設備類別和/或該多個設備的屬性。根據又一方面,伺服器可以可操作用於對用戶請求進行處理以產生標籤的列表,該標籤的列表可由客戶端使用以觸發多個軟體代理來在多個設備的至少一個設備上執行至少一個動作。根據又一方面,伺服器可以可操作用於通過解釋從用戶請求提取的語言信息和/或非語言信息來處理該用戶請求。根據另一總方面,提供了用於對數字網絡進行基於自然語言的控制的客戶端。該客戶端包括統一自然語言接口,可操作用於接收用於使用自然語言控制數字網絡的用戶請求,其中該數字網絡可操作用於在該數字網絡中連接的多個設備之間提供對網絡訪問的共孕;以及模塊管理組件,可操作用於向一個或者多個軟體代理提供接口以用於向客戶端發布由該一個或者多個軟體代理提供的一個或者多個動作(和/或訂閱在處於被動模式而檢測到情感時將被通知的客戶端),其中該一個或者多個軟體代理可操作用於基於該用戶請求在該多個設備的至少一個設備上執行至少一個動作,其中該客戶端安裝在該數字網絡中。根據又一總方面,提供了用於對數字網絡進行基於自然語言的控制的伺服器。該伺服器可以包括接口,可操作用於處理從客戶端接收的用戶請求,其中該用戶請求是通過在該客戶端處、用於使用自然語言控制數字網絡的統一自然語言接口處執行的,其中該數字網絡可操作用於在該數字網絡中連接的多個設備之間提供對網絡訪問的共享;以及其中處理該用戶請求以產生標籤的列表,該標籤的列表可由該客戶端使用以觸發多個軟體代理基於經處理的用戶請求在該多個設備的至少一個設備上執行至少一個動作。根據又一方面,客戶端和伺服器可以包括如所描述的計算機網絡的功能和/或組件。
根據又一總方面,提供了用於對數字網絡進行基於自然語言的控制的計算機實現的方法。該方法可以包括在客戶端向用戶提供用於使用自然語言控制數字網絡的統一自然語言接口,其中該數字網絡可操作用於在該數字網絡中連接的多個設備之間提供對網絡訪問的共享;向伺服器發送用戶通過該統一自然語言接口執行的用戶請求,其中該伺服器通過該網絡連接至該客戶端並且可操作用於處理該用戶請求;以及觸發一個或者多個軟體代理基於經處理的用戶請求在該多個設備的至少一個設備上執行至少一個動作。根據又一方面,該計算機實現的方法可以包括如所描述的、用於在計算機網絡中執行的功能和/或處理指令。
在又一總方面中,提供了包括計算機可讀指令的電腦程式產品,當在計算機系統和/或計算機網絡系統中加載並且執行該計算機可讀指令時,使得該計算機系統和/或該計算機網絡系統執行如所描述的方法。在本說明書中描述的主題內容可以實現為方法或者系統,或者使用有形地體現在諸如CD-ROM、DVD-ROM、半導體存儲器、信號和/或數據流以及硬碟之類的信息載體中的電腦程式產品來實現。此類電腦程式產品可以使得數據處理裝置實施在本說明書中描述的一個或者多個操作。此外,在本說明書中描述的主題內容也可以實現為包括處理器和耦合到該處理器的存儲器的系統。該存儲器可以對一個或者多個程序編碼,該一個或者多個程序使得該處理器執行在本說明書中描述的一個或者多個方法動作。此外,可以使用各種MRI機器實現在本說明書中描述的主題內容。在以下示例性描述和隨附示例性附圖中闡明了一個或者多個實現方式的細節。通過描述和附圖,以及通過權利要求書,其他特徵將變得容易理解。
圖I示出了可從使用自然語言形成(formulate)的用戶請求提取的信息型內容的示例性示意圖。圖2示出了用於提供對數字網絡進行自然語言控制的系統的示例性框架架構。圖3A示出了按照主動模式操作時、框架中的交互的示例性流程圖。圖3B示出了按照被動模式操作時、框架中的交互的示例性流程圖。圖4涉及用於實現如圖I、圖2、圖3A和圖3B中所示的網絡、方法、客戶端和伺服器的示例性計算機系統和/或計算機網絡系統。
具體實施例方式技術術語貫穿本說明書廣泛使用以下技術術語。這些術語可以指示但並不限於隨後給出的說明。家庭網絡家庭網絡(也稱為家庭區域網絡或者以數字方式連接的家庭)可以是數字網絡的示例。家庭網絡可以基於住宅區域網(LAN)。家庭網絡可以用於包括個人計算機、筆記本、⑶播放器、DVD播放器Blu-ray Disc 回放設備、音響系統、電視、電話、行動電話、MP3播放器、洗衣機、烘乾機、洗碗機、電燈和/或微波爐等的數字設備之間的通信和/或交互。家庭網絡可以支持在家庭網絡中連接的一個或者多個數字設備例如通過有線電視和/或數字用戶線路(DSL)供應商的寬帶服務訪問網際網路。為了增強的功能,可以向家庭網絡添加家庭伺服器。家庭網絡可以使用有線或者無線通信技術。語音識別語音識別(也稱為自動語音識別或者計算機語音識別)可以提供用於將口頭詞句轉換為文本的機制。附加地,語音識別還可以包括需要被訓練以識別特定發言者的特定話音的系統(稱為發言者識別系統)。識別特定發言者的話音可以有容易化和/或簡化將口頭詞句翻譯和/或轉化為文本的任務。可以獲得語音識別的各種算法。可以在基於統計的語音識別算法中使用聲學建模和/或語言建模。語音識別算法的示例可以包括隱式馬可 夫模型(HMM)。HMM可以涉及可以輸出符號和/或量的序列的統計模型。HMM可以在語音識別中使用,因為可以將語音信號認為是短時間的(例如10毫秒的)平穩信號。在短時間中,可以將語音近似為平穩過程。在語音識別中,隱式馬可夫模型可以輸出η維實值(其中η為小整數,諸如10),每10毫秒輸出它們中的一個。矢量將包括倒譜係數(cepstralcoefficient),其通過使用餘弦變換對語音的短時間窗進行傅立葉變換並且對頻譜進行解相關、繼而獲取第一個(最重要的)係數來獲得。隱式馬可夫模型將傾向於在每個狀態中具有如下統計分布,該統計分布是對角協方差高斯的混合,其將針對每個所觀察的矢量給出似然性。每個字詞或者每個音素(對於更普通的語音識別系統)可以包括不同的輸出分布。可以通過針對分離的字詞和音素連結個別的、經訓練的隱式馬可夫模型來針對字詞和/或音素的序列構建隱式馬可夫模型。語音識別系統使用多個標準技術的各種組合以便改進通過如上所述的方式的結果。大詞彙量系統可能需要針對音素的語境依賴性(因而具有不同的左語境和右語境的音素具有如HMM狀態的不同的實現)。系統也可以使用倒譜歸一化來針對不同發言者和記錄條件進行歸一化。對於進一步的發言者歸一化,語音識別系統可以針對男-女歸一化使用聲道長度歸一化(VTLN)和/或針對更普通的發言者自適應使用最大似然性線性回歸(MLLR)。語音識別系統還可以使用所謂的區別訓練技術,其省略了用於HMM參數估計的純粹的統計方式並且作為替代優化對訓練數據的某些分類相關的測量。示例是最大互信息(MMI)、最小分類誤差(MCE)和最小音素誤差(MPE)。對語音的解碼(針對當向系統呈現新話語並且系統必須計算最可能的源句子時所發生的情況的術語)可以包括用於查找最佳路徑的維特比算法,其中可以在動態創建包括聲學模型信息和語言模型信息兩者的組合隱式馬可夫模型或者對其預先進行靜態組合(有限狀態轉換器方式)之間提供選擇。話音中的情感識別情感識別方案可以取決於機器應當識別哪些情感以及出於什麼目的。可以被考慮的情感可以包括例如悲傷、厭煩、驚奇、高興、憤怒、中性和/或其他已知的情感等。對語音的自動情感識別可以基於模式識別問題。由不同實驗利用情感識別產生的結果可以由被認為與以下各項有關的特徵來表徵發言者的情感狀態、對系統感興趣的情感類型、用於訓練和/或測試所使用的分類器的資料庫,和/或在實驗中使用的分類器類型,其中分類器和/或分類器類型涉及在實驗中使用以測試對話音的情感識別模式的情感類型。話音中的情感識別可以基於出於不同目的在人工智慧中使用的算法,這些目的包括確定諸如神經網絡之類的相似程度、支持向量機、支持最近鄰居法(k-nearest neighbor)和/或支持決策樹。語音合成語音合成可以涉及對人類語音的人工產生。出於這一目的而使用的計算機系統可以稱為語音合成器,諸如文本轉語音系統。文本轉語音系統可以將正常語言文本轉換為語音。其他系統可以將諸如語言抄本(transcription)之類的符號語言表示呈現為語音。可以通過連接可以存儲在資料庫中的所記錄的語音片段來創建合成的語音。多個系統可以在所存儲的語音單元的大小方面存在不同。例如,存儲音素或者雙音素的系統可以提供較大輸出範圍,但可能缺乏清晰度。對於具體使用領域,對整個字詞或者句子的存儲可以允許高質量輸出。合成器可以併入聲道和/或其他人類話音特徵的模型、以創建完全「合成的」話 音輸出。停用詞(stopword)在計算中,特別地,計算語言學包括用於語音識別和/或語音合成的方式,停用詞可以是搜索機/自然語言處理系統在處理自然語言數據(例如文本、話音和/或語音)之前和/或之後過濾掉的字詞。可以在可能的、非確定列表中定義停用詞。可以將自然語言的任何字詞選擇為停用詞。在某些自然語言處理系統中,使用該系統的目的可能是幫助確定停用詞。停用詞的示例包括「該(the)」、「是(is)」、「在(at)」、「和(and)」、「其(which,that)」、「到(to)」、「但(but)」以及其他類似的字詞。其他已知的自然語言處理系統可以取決於它們的信息型內容而從自然語言數據移除諸如「想(want)」、「可以(may)」、「將(would) 」等停用詞,以改進執行。語義網絡語義網絡可以涉及如下網絡,該網絡可以代表自然語言概念之間的語義關係(例如熊是哺乳動物,而哺乳動物轉而是動物)。可以按照諸如本體論之類的知識表示的形式使用語義網絡。可以通過包括頂點與頂點之間的邊的有向圖或者無向圖實現語義網絡。頂點可以標識概念而邊可以標識概念之間的關係。語義網絡的示例可以是WordNet (詞彙網),其為英文單詞的詞彙資料庫。WordNet可以將字詞(概念)分組為同義詞的集合,可以提供對每個字詞的短的、一般的定義,和/或可以記錄所述同義詞的集合之間的一個或者多個語義關係。語義詞典語義詞典可以涉及用語義類別標註的字詞的字典,從而使得可以導出的字詞之間的管理可以是先前沒有遇到過的。語義詞典可以包括與語義網絡相關聯的字典和/或詞典。軟體代理軟體代理可以涉及在計算中廣泛使用的概念。軟體代理可以涉及軟體的具體概念,其可以提供用於描述(可能複雜的)軟體實體或者軟體片段和/或其他軟體/硬體組件的方便的和/或強大的方式,該軟體實體或者軟體片段(a piece of software)可以能夠按照一定程度的自主性操作,以便為了用戶完成任務。換言之,軟體代理可以涉及為了用戶操作的軟體片段和/或按照代理關係(即,同意為了某人而操作)的其他組件。此類「為了某人」的動作可以意指用於決定哪個動作可能是合適的(以及一個動作是否合適)的職權。可以不僅為了任務、而是為了激活軟體代理自身而調用該軟體代理。軟體代理可以被實現為「軟體集」,其可以是獨立的軟體片段,該軟體片段通過由客戶端自身暴露的標準接口連接到客戶端。具體描述在下文中,將參考附圖給出對示例的詳細描述。應當理解,可以對示例進行各種修改。特別地,可以將一個示例中的元素在其他示例中組合和使用、以形成新的示例。為了改進與數字網絡的人機互動並且因此將用戶從學習使用不同的、經常是異種的和/或複雜的用戶接口以便令人滿意地與數字網絡交互的麻煩的和/或耗時的任務(以及意識任務)中解放,提供了可以支持通過統一自然語言用戶接口控制基本上任何(數字)設備的、用於與數字網絡進行統一自然語言和/或非語言交互的框架。通過提供統一自然 語言接口,用戶可以無需學習和/或理解接口。除了理解用戶的顯式(語言的)請求之外,根據該框架實現的統一自然語言接口還能夠從在框架的區域內說話的用戶的話音提取非語言信息,以及基於所提取的為語言信息進行適當的反應。用戶的話音的非語言信息可以包括不同類型的情感,諸如悲傷、厭煩、高興、憤怒、驚奇、中性或者其他情感。框架可以向一個或者多個軟體代理(也稱為軟體集)暴露另一接口,其可以基於訂閱-通知模型。以下進一步描述該模型。軟體代理可操作用於控制設備來執行具體動作(例如打開/關閉燈光、在洗衣機上運行洗滌周期、控制供暖系統在特定時間提供某個溫度,以及與設備相關聯的其他動作)。以這種方式,用戶可以與一個統一自然語言接口進行交互、以操作和控制數字網絡中的所有設備。為了降低成本和/或克服獨立設備和/或組件的限制,可以基於客戶端-伺服器架構實現用於實現統一自然語言接口以供用戶統一地指示數字網絡中的設備的框架。中央伺服器可以提供大多數所要求的計算能力。然而,本領域普通技術人員將領會到,可以使用多個位於同地或者地理上分散的伺服器。可以在通常在數字網絡中可用的設備上運行客戶端或者客戶端軟體。例如,可以在接入網關(或者媒體網關)、網絡連接存儲設備(NAS)、機頂盒(STB)等上運行客戶端。圖I涉及可以通過統一自然語言接口從用戶的話音和/或語音提取的信息內容的示意圖。通過經由統一自然語言接口與數字網絡交互,用戶使用自然語言12明確表達針對數字網絡的請求。例如,用戶明確表達基於自然語言的用戶請求12 「請打開我房間中的檯燈」。在下文中,用戶請求是指用戶針對框架的請求,其中使用自然語言(例如德語、英語、義大利語、法語等)明確表達用戶請求。統一自然語言接口可操作用於採集顯式信息,諸如語言信息14,其包括來自用戶請求12的、由用戶明確表達的句子的語義。例如,統一自然語言接口可以從句子「請打開我房間中的檯燈」導出包括以下的語義誰是用戶、意指哪個房間、所指示的設備是什麼,和/或將在所確定的設備上執行的動作(例如,在所確定房間中的檯燈應當被打開)。統一自然語言接口還可以可操作用於採集隱式信息,諸如非語言信息16,其包括來自用戶請求12的用戶的情感(例如,用戶是否緊張、高興、憤怒、感到驚奇、悲傷、中性)。例如,統一自然語言接口不僅可以從句子「請打開我房間中的檯燈」導出上述語義,還可以導出例如用戶是以高興的情緒還是以憤怒的情緒表達該句子。基於在與統一自然語言接口交互期間從用戶請求12提取的是語言信息14和/或非語言信息16,向用戶暴露統一自然語言接口的框架可以按照兩種不同的對應模式操作。基於語言信息14進行操作的模式可以稱為主動模式。基於非語言信息16(可能也基於語言信息14)進行操作的模式稱為被動模式。當按照主動模式操作時,用戶例如通過按壓⑶I上的按鈕並且說出用戶請求12來對統一自然語言接口進行顯式操作。統一自然語言接口可操作用於理解和/或解釋來自用戶請求12的語言信息14。基於語言信息14,框架可操作用於觸發對在用戶請求12中標識的至少一個設備(例如所確定的房間中的檯燈)進行控制的軟體代理(或者軟體集),並且向軟體代理髮布相應的命令以執行用戶請求12,例如打開所確定的房間中的檯燈的燈光。當按照被動模式操作時,統一自然語言接口可操作用於持續地監聽用戶講話並且 從用戶請求12提取非語言信息16和/或語言信息14。可以將所提取的信息處理並且轉發至已被訂閱為被動模式的一個或者多個軟體集。該一個或者多個軟體集繼而可以通過控制一個或者多個相應的設備來執行對應於所提取的信息的一個或者多個動作。例如,如果用戶正以高興的情緒和朋友談論他的上個假期,則相應的軟體集可以操作設備以用於播放適當的多媒體內容和/或可以使環境適應於用戶的情緒。將基於非語言信息16採取的動作可以已經由用戶自己經由⑶I選擇和/或定義。圖2示出了用於實現用於使用自然語言控制諸如家庭網絡之類的數字網絡的計算機網絡、客戶端、伺服器以及計算機實現的方法的示例性框架。換言之,該框架可以提供用於實現對數字網絡進行基於自然語言的控制的架構,其中用戶可以通過統一自然語言接口與數字網絡進行交互。該框架包括客戶端100,其位於將被控制的數字網絡400的用戶的環境中。為了通過明確表達自然語言用戶請求(以下稱為用戶請求)來控制數字網絡400,客戶端100向用戶提供統一自然語言接口。統一自然語言接口包括一個或者多個組件110、120、130、140、150、160、170。例如,可以將客戶端100實現為可以在通常在數字網絡400中可用的設備上運行的客戶端軟體。例如,可以在接入網關(或者媒體網關)、網絡連接存儲設備(NAS)、機頂盒(STB)等上運行客戶端100。該框架可以管理一個或者多個軟體集300a、300b、300c、300d、300e、300f。軟體集300a、300b、300c、300d、300e和300f各自可以控制連接在數字網絡400中的至少一個設備410、420、430、440、450、460。設備的示例可以包括個人計算機、CD/DVD/Blu-ray Disc 回放設備、電視、攝像機和/或網絡攝像機、洗衣機、洗碗機、供暖和/或製冷系統、電燈等。數字網絡400可以例如通過有線電視和/或數字用戶線路(DSL)供應商的寬帶服務在數字設備410、420、430、440、450、460之間提供對網際網路500訪問的共享。為了增強的功能,可以向數字網絡添加家庭伺服器。該框架包括伺服器200。伺服器200可操作用於與客戶端100進行交互以及處理在客戶端100處接收的用戶請求。伺服器200可以位於客戶端100的遠程並且可以通過網絡500與客戶端進行通信。客戶端100包括用於與用戶進行交互的一個或者多個組件110、120、130、140、150、160、170,該交互諸如用於處理用戶請求和/或用於支持對該一個或者多個軟體集300a、300b、300c、300d、300e 和 300f 的用戶定義的設置。組件 110、120、130、140、150、160、170也可以稱為功能。該一個或者多個組件110、120、130、140、150、160、170包括通信和協作組件110、話音記錄組件120、文本轉語音組件130、模塊控制組件140、家庭知識組件150、動作計劃組件160和/或圖形用戶界面(⑶I) 170。客戶端100的通信和協作組件110保持和/或提供用於客戶端100的計算和/或通信邏輯。可以將通信和協作組件110實現為信息總線,其由客戶端100在內部使用以在操作於客戶端100內的一個或者多個組件120、130、140、150、160、170之間交換數據和/或信息。通信和協作組件110提供用於客戶端100與伺服器200進行通信和/或交互的功能。換言之,通信和協作組件110為客戶端100提供用於通過網絡500與伺服器200進行通信的接口。如在以下更詳細說明的,伺服器200包括相應的通信和協作組件210,其提供用於通過網絡500與客戶端100進行通信的相應的接口。客戶端100的話音記錄組件120可操作用於從用戶請求接收傳入語音並且對用戶請求的用戶話音進行採樣。對一個或者多個話音採樣進行格式化和/或數位化以便通過網 絡500發送至伺服器200。可以按照諸如語音信號或者聲信號之類的信號序列的形式表示和/或存儲經格式化的話音採樣。話音採樣涉及將用戶請求劃分和/分離為樣本,例如字詞、音節和/或音素。為了將話音樣本格式化和/或數位化為語音信號,可以將執行用戶請求的用戶的話音樣本與存儲在資料庫中的樣本進行比較,以便例如通過模式匹配和/或相似度搜索對其進行標識。所標識的樣本繼而被組成語音信號。為了改進對樣本的匹配,話音記錄組件120可以預先標識執行用戶請求的用戶和/或針對客戶端100標識其自身的用戶,從而使得可以將資料庫中的搜索限制到與該用戶關聯存儲的樣本。客戶端100的文本轉語音組件130可操作用於向已經預先執行了用戶請求的用戶給出聲音反饋。在一個示例性實現方式中,可以通過使用可用的語音合成系統實現文本轉語音組件130。客戶端100的模塊控制組件140針對該一個或者多個軟體集300a、300b、300c、300d、300e、300f提供單一聯繫點,該單一聯繫點與該框架進行交互以控制設備410、420、430、440、450、460。模塊控制組件 140 向軟體集 300a、300b、300c、300d、300e、300f 暴露用於向客戶端100發布它們的服務(或者動作)的接口。用戶可以通過指定針對將由軟體集300a、300b、300c、300d、300e、300f通過接口執行的動作的用戶定義的設置,來配置軟體集300a、300b、300c、300d、300e、300f。以下進一步詳細描述對軟體集 300a、300b、300c、300d、300e、300f的配置。可以通過客戶端100的圖形用戶界面(⑶I) 170向用戶暴露用於配置軟體集300a、300b、300c、300d、300e、300f的接口。模塊控制組件140可以向軟體集300a、300b、300c、300d、300e、300f 提供對⑶I 的訪問權,從而使得軟體集 300a、300b、300c、300d、300e、300f可以獲取用戶定義的設置(或者配置)。客戶端100的家庭知識組件150提供和/或存儲供客戶端100運行所必須的信息。家庭知識組件150可以包括關於通過客戶端100進行管理和/或控制的、數字網絡400的該一個或者多個設備410、420、430、440、450、460的信息。所述關於設備410、420、430、440、450,460的信息可以包括時間和/或資源能力、所要求的電子和/或電氣連接,和/或關於設備410、420、430、440、450、460 的、可能與控制和/或管理設備410、420、430、440、450、460相關的其他信息。示例包括數字網絡400中的物理位置,設備所屬於的分類和/或類別(例如檯燈是電燈,而電燈是照明系統的一部分)和/或可以在設備上執行的動作(例如可以打開或者關閉和/或調暗電燈)。在一個實現方式中,家庭知識組件150包括語義詞典,該語義詞典包括對網絡400中的設備410、420、430、440、450、460進行描述的語義網絡和/或字典,該語義詞典包括設備種類,它們之間的關係和/或在設備410、420、430、440、450、460的動作方面的屬性。家庭知識組件150可以包括關於針對軟體集300a、300b、300c、300d、300e、300f的用戶定義的設置的信息。用戶定義的設置可以指定軟體集300a、300b、300c、300d.300e.300f的行為,包括將由軟體集300a、300b、300c、300d、300e、300f關於主動模式和/或被動模式採取的動作。例如,用戶已指定了如果他處於高興情緒中,則軟體集300a、300b、300c、300d、300e、300f控制網絡400的娛樂設備來播放快樂音樂。客戶端100的動作計劃組件160實現用於生成命令的功能,該命令用於指示軟體集300a、300b、300c、300d、300e、300f的至少一個目標軟體集300a來控制由相應的設備410、420、430、440、450、460響應於用戶請求而執行的具體動作以及來自處理了該用戶請求的伺服器200的相應的輸出。 客戶端100暴露用於與客戶端100和/或軟體集300a、300b、300c、300d、300e、300f進行用戶交互的圖形用戶界面(GUI) 170,該圖形用戶界面(GUI) 170向用戶提供了用於與客戶端100進行交互和/或通過指定用戶定義的設置來對軟體集300a、300b、300c、300d、300e、300f進行配置的能力。⑶I 170為用戶提供一個或者多個用戶控制項(未示出),包括模式選擇控制項、主動請求控制項、設備控制項、軟體集動作控制項和/或用戶識別控制項。模式選擇控制項提供用於控制操作模式(例如用於選擇主動模式或者被動模式)的控制項。主動請求控制項提供用於在客戶端100處於主動模式時顯式發布用戶請求的控制項。由於在主動模式中,客戶端100可以不持續監聽發言的用戶,因此顯式激活主動請求控制項(例如通過按壓按鈕)指示客戶端100何時監聽當前發言的用戶以確定用戶請求。設備控制項支持用戶按照交互方式編輯將存儲在家庭知識組件150中的信息。例如,用戶向客戶端100提供關於數字網絡400的、可能無法由客戶端100從設備410、420、430、440、450、460自動推斷出的該一個或者多個設備410、420、430、440、450、460的信息,並且將該信息存儲在家庭知識組件150中。例如,客戶端100可能無法自動推斷出關於設備410、420、430、440、450、460在用戶的家庭中的物理位置的信息;而可以由客戶端100自動導出關於設備410、420、430、440、450、460的資源和/或事件能力的信息。軟體集動作控制項支持用戶按照交互方式指定將由軟體集300a、300b、300c、300d、300e、300f採取的一個或者多個動作。可以關於諸如從用戶請求過濾的和/或提取的具體內容種類之類的語言信息,和/或關於從用戶的語音提取的用戶的情感來指定動作。當按照被動模式操作網絡時,可以由用戶依據條件動作規則來指定動作。條件動作規則允許將條件(諸如但不限於檢測到的情感或者檢測到的主題)與用於控制和/或操作設備的動作相關聯。在一個示例中,用戶可以指定通過網絡中的至少一個軟體集300a、300b、300c、300d、300e、300f控制的設備在用戶處於高興情緒(條件)時播放快樂音樂(動作),例如相應的軟體集300a、300b、300c、300d、300e、300f可以激活數字網絡400的相應娛樂設備並且控制其來選擇性地播放快樂音樂。在另一示例中,用戶可以指定當用戶談論特定主題(條件)時示出(動作)照片(而非相關視頻),例如相應的軟體集300a、300b、300c、300d、300e、300f可以激活數字網絡400的相應的娛樂設備以選擇性地示出與所討論的主題有關的照片。通過軟體集動作控制項執行的用戶設置可以連接至軟體集300a、300b、300c、300d、300e、300f和/或可以位於軟體集300a、300b、300c、300d、300e、300f中。出於這一目的,客戶端100通過模塊管理組件140向軟體集300a、300b、300c、300d、300e、300f暴露接口以允許軟體集300a、300b、300c、300d、300e、300f訪問⑶I 170。換言之,該框架還可以包括用於通過⑶I 170向用戶暴露軟體集300a、300b、300c、300d、300e、300f的接口。用戶識別控制項提供用於改進該框架中的、對語音識別和/或發言者識別的理解的用戶控制項。例如,將客戶端100安裝為連接至伺服器200以用於控制他的數字網絡400的用戶可以向客戶端100標識他自己並且使用用戶識別控制項訓練該框架。例如,可以由用戶通過說出預定的字詞和/或短語來訓練框架。通過口述的預定字詞和/或短語,可以在該 框架中生成用戶的語音樣本。可以向伺服器200發送語音樣本以便提取訓練客戶端100的用戶的相應的聲紋(voice print)和/或為了將來使用而存儲所述聲紋。聲紋可以涉及可以唯一地標識個體的人類話音的可測量特徵的集合。所述特徵可以基於發言者的嘴和/或嗓子的物理外形(physical configuration)並且可以被表達為數學公式。聲紋因此可以包括出於該目的而記錄的話音樣本,所導出的數學公式,和/或其圖形表示。發言者識別(即,實現誰正在發言)可以包括對使用從用戶話音提取的特徵(諸如用戶的聲紋)驗證用戶的聲稱身份的計算任務。應當從涉及識別正在說什麼的語音識別區分發言者識別。話音識別可以涉及發言者識別和語音識別的組合,其中話音識別系統可以使用對發言者的話音的學習的方面來確定正在說什麼。伺服器200包括用於處理從客戶端100接收的用戶請求的一個或者多個組件210、220、230、240、250。當處理用戶請求時,伺服器200可操作用於將傳入請求總結為一個或者多個標籤的列表,該標籤的列表包括從用戶請求獲取的、足夠滿足用戶請求的語義內容的信息。伺服器200通過通信和協作組件210向客戶端100暴露接口。隱藏將用戶請求的語音樣本轉化為標籤的列表的複雜性。標籤的列表繼而可由客戶端100使用以觸發軟體集300a、300b、300c、300d、300e、300f 來控制數字網絡 400 中的設備 410、420、430、440、450、460以便服務於用戶請求。例如,客戶端100可以基於標籤的列表、通過一個或者多個組件 110、120、130、140、150、160、170 觸發一個或者多個軟體集 300a、300b、300c、300d、300e、300f來在至少一個設備410、420、430、440、450、460上執行至少一個動作以服務於用戶請求。可以在客戶端100用附加信息進一步處理和/或加強在處理器200生成的標籤的列表,以便服務於用戶請求。在一個實現方式中,伺服器200包括通信和協作組件210、話音標識組件220、語音情感識別組件230、自動語音識別組件240和/或語音組件250。通信和協作組件210包括用於伺服器200的計算和/或通信邏輯。可以將通信和協作組件210實現為信息總線,該信息總線由伺服器200在內部使用以在操作於伺服器200內的一個或者多個組件220、230、240、250之間交換數據和/或信息。通信和協作組件210提供用於伺服器200與客戶端100進行通信和/或交互的功能。話音標識組件220可操作用於標識發布用戶請求的用戶。為了標識已向客戶端100發布了用戶請求的用戶,話音標識組件220處理來自客戶端100的用戶請求的傳入話音樣本,以從該話音樣本提取將與存儲在內部資料庫中的用戶的聲紋匹配的一個或者多個特徵。可以通過所提取的特徵和該聲紋之間的相似度搜索來執行該匹配。為了將用戶的標識的範圍縮小到用戶的更小可能分組,客戶端100可以向伺服器200發送話音樣本以及客戶端100的位置的位置信息和/或用戶的標識。可以從如下用戶的客戶端100接收用戶聲紋,該用戶正通過如上所述的⑶I 170的用戶識別控制項訓練更佳話音理解。在一個示例性實現中,使用可用的發言者識別系統實現話音標識組件220。例如,話音標識組件220可以實現如下發言者識別系統,該發言者識別系統記錄從與該框架進行交互的不同用戶提取按照聲紋(也稱為模板或者模型)形式的一個或者多個特徵。繼而將從用戶的話音樣本獲取的語音樣本或者話語與存儲在內部資料庫中的不同聲紋進行比較,以便確定最佳匹配。在用戶已經連同用戶請求聲稱了身份和/或客戶端100以連同用戶請求發送了位置信息的情況下,話音標識組件220將用戶的所生成的話音樣本的語音樣本與和用戶相關聯的聲紋和/或資料庫中的客戶端100的位置進行比較。
可以向自動語音識別組件240和/或語音組件250提供話音標識組件220的輸出(例如作為用戶ID),以便改進上述組件240和250的輸出。在已被提供了發言者標識的情況下,自動語音識別組件240和語音組件250可以加載從之前的訓練獲取的、取決於發言者的參數集合,以便將針對用戶的命中概率最大化。此類參數可以包括最終從來自用戶的訓練獲得的音高、共振峰、MFCC等。語音組件250可操作用於使用由話音標識組件220和/或由自動語音識別組件240輸出的、關於用戶的信息(例如用戶ID),以正確地解釋用戶請求。語音情感識別組件230可操作用於在激活了被動模式時對當前發言的用戶的話音進行分析、以從該用戶的話音提取包括諸如情緒、重讀、憤怒、高興之類的情感的非語言信息。例如,為了從用戶的話音提取非語言信息,語音情感識別組件230計算來自用戶的話音樣本的、一個或者多個頻譜特徵(例如音高、話音共振峰、MFCC等),最終連同它們關於中立情況的偏差,並且繼而將計算出的頻譜特徵與關於話音中的情感的樣本頻譜的預建知識知識庫進行匹配。為了改進匹配以確定以執行了用戶請求的用戶的話音中的情感,用戶可以通過在⑶I 170內提供的用戶識別控制項、類似於針對語音識別來訓練框架。例如,用戶可以使用不同情感表達預定字詞和/或短語。可以從所表達的預定字詞和/或短語生成話音樣本,並且針對用戶的、具有情感的相應的聲紋可以類似於如之前描述的聲紋來生成。在一個實現方式中,使用可用的情感識別系統實現語音情感識別組件230。自動語音識別組件240可操作用於接收由客戶端100向伺服器200發送的話音樣本並且輸出相應的文本抄本。在一個示例性實現方式中,使用可用的語音識別系統實現自動語音識別組件240。向語義組件250輸入用戶的話音樣本的文本抄本。語義組件250可操作用於通過使用從話音標識組件220接收的附加信息和/或通過使用從客戶端100的家庭知識組件150接收的附加信息來處理從自動語音識別組件240接收的用戶話音樣本的文本抄本,以從對應於用戶請求的用戶話音樣本的文本抄本提取一個或者多個標籤的列表。標籤的列表通過省略可忽略信息來對用戶話音樣本的文本抄本的語義進行總結。可以通過使用如從話音標識組件220接收的、已執行了用戶請求的用戶的用戶ID、語義網絡和/或語義詞典(例如由家庭知識組件150提供的語義詞典結合停用詞列表)來執行從用戶話音樣本的文本抄本確定標籤的列表。例如,用戶已明確表達了用戶請求「請打開我房間中的檯燈」,該用戶請求先前在自動語音識別組件240中轉換為文本。使用停用詞列表和/或語義詞典,語義組件250如之前描述般進行處理,從初始用戶請求聲稱標籤的列表{房間,檯燈,打開}。可以用另外的語義加強標籤的列表,以在語義組件250處和/或在接收來自伺服器200的、對用戶請求的響應之後、在客戶端100的一個或者多個組件110、120、130、140、150、160、170處觸發相應的動作。該響應可以包括標籤的列表、用戶ID和/或附加信息。為了觸發一個或者多個軟體集300a、300b、300c、300d、300e、300f來執行打開用戶的房間中的檯燈的燈光的動作,可以在客戶端100和/或在伺服器200處確定以下另外的語義。例如,所標識的用戶是Sarah。可以從存儲在家庭知識組件150中的語義詞典確定在數字網絡中所組織的家庭中的哪個房間是Sarah的房間以及檯燈是電燈,而電燈屬於照明系統種類。還可以使用家庭知識組件150來確定Sarah的房間中的電燈中的那個電燈是檯燈,這 是因為例如這個特徵可以在家庭知識組件150的語義詞典中描述。此外,可以從該種類導出可以使用照明系統進行的動作,例如打開、關閉和/或調暗。可以將軟體代理實現為軟體集300a、300b、300c、300d、300e、300f,其是可以通過由客戶端本身暴露的標準接口與客戶端交互並且可以彼此交互的獨立軟體片段。在如圖2中所示的框架中,將軟體集300a、300b、300c、300d、300e、300f實現為專用於執行由用戶通過客戶端100請求的任務和/或控制數字網絡400中的一個或者多個設備410、420、430、440,450,460的軟體代理。例如,一個或者多個軟體集300a、300b、300c、300d、300e、300f 可以可操作用於例如通過控制一個或者多個設備410、420、430、440、450、460來執行一個或者多個以下示例性任務打開或者關閉電燈、讀取環境數據、在洗衣機上運行洗滌周期、控制數字生活網絡聯盟(DLNA)等。客戶端100通過模塊管理組件140向軟體集300a、300b、300c、300d、300e、300f 暴露單一聯繫點。軟體集300a、300b、300c、300d、300e、300f可以向模塊管理組件140暴露它們提供的服務。換言之,在一個實現方式中,由模塊管理組件140代表單一聯繫點。模塊管理組件140通過該單一聯繫點向軟體集300a、300b、300c、300d、300e、300f暴露註冊服務、訂閱服務和/或通知服務。在註冊階段期間,例如當軟體集300a、300b、300c、300d、300e、300f向客戶端100註冊以用於向用戶提供其服務時,軟體集300a、300b、300C、300d、300e、300f使用註冊服務通知客戶端100。軟體集300a、300b、300c、300d、300e、300f可以通知客戶端100其(軟體集300a、300b、300c、300d、300e、300f)正在運行,可以輸出關於其自身(軟體集300a、300b、300c、300d、300e、300f)的信息(諸如其類別、供應商、序號等)和/或可以向客戶端100提供其(軟體集 300a、300b、300c、300d、300e、300f 的)能力。軟體集 300a、300b、300c、300d、300e、300f的能力可以包括軟體集300a、300b、300c、300d、300e、300f能夠執行的一個或者多個命令,例如打開/關閉電燈的燈光、運行洗衣機的周期、為DVD播放器安排節目等。一旦軟體集 300a、300b、300c、300d、300e、300f 獲知了 軟體集 300a、300b、300c、300d、300e、300f,則客戶端100可以要求用戶提供針對軟體集300a、300b、300c、300d、300e、300f的附加信息,諸如由軟體集 300a、300b、300c、300d、300e、300f 控制的設備 410、420、430、440、450,460的物理位置,與設備410、420、430、440、450、460相關聯的用戶,和/或可以通過針對軟體集300a、300b、300c、300d、300e、300f指定相應的命令以執行動作來在設備410、420、430、440、450、460上執行的可能的動作等。用戶可以通過⑶I 170、例如通過與設備控制項和/或軟體集動作控制項進行交互來指定此類附加信息。用戶輸入可以與軟體集300a、300b、300c、300d、300e、300f —起存儲和/或存儲在家庭知識組件150中。經先前註冊的軟體集300a、300b、300c、300d、300e、300f通過訂閱服務來訂閱客戶端100。在訂閱了客戶端100的情況下,軟體集300a、300b、300c、300d、300e、300f可以執行針對客戶端100的請求,以處理在處理用戶請求期間由伺服器200接收的標籤的列表和/或標識將由軟體集300a、300b、300c、300d、300e、300f採取的相應的動作。在軟體集300a、300b、300c、300d、300e、300f響應於用戶請求來執行動作的情況下,客戶端100向軟體集300a、300b、300c、300d、300e、300f通知一個或者多個命令,以在由軟體集300a、300b、300c、300d、300e、300f控制的設備410、420、430、440、450、460處執行相應的動作。在框架按照被動模式進行操作的情況下,向客戶端100訂閱的軟體集300a、300b、300c、300d、300e、300f可以執行對客戶端100的請求以接收數據流中的標籤的列表。軟體集300a、300b、300c、300d、300e、300f繼而負責執行與通過用戶請求確定的標籤的列表有關的一個 或者多個動作。取決於軟體集300a、300b、300c、300d、300e、300f已在客戶端100處訂閱的至少一個服務,當執行通知服務時,來自客戶端100的通知可以取決於框架所處於的實際模式而包括不同信息用於按照主動模式進行執行的命令或者在被動模式中將觸發所請求的動作的所檢測的情感的列表。例如,客戶端100可以通知軟體集300a、300b、300c、300d、300e、300f來執行通過從用戶請求生成的標籤的列表而確定的命令。在另一示例中,客戶端100可以響應於處理用戶請求而通知一個或者多個軟體集300a、300b、300c、300d、300e、300f關於由伺服器200接收的標籤的列表。從客戶端100向軟體集300a、300b、300c、300d、300e、300f發送所述通知,該通知可以定期地和/或在每次在客戶端100處接收到新標籤時請求新列表,並且通知軟體集 300a、300b、300c、300d、300e、300f。除了軟體集300a、300b、300c、300d、300e、300f對客戶端100的上述註冊、訂閱和/或通知服務之外,軟體集300a、300b、300c、300d、300e、300f可以為了用戶要求進一步的配置而在框架中適當地動作。例如,軟體集300a、300b、300c、300d、300e、300f可以改變其行為、可以從用戶請求關於如何響應於用戶請求來執行動作的附加信息。為了支持對軟體集300a、300b、300c、300d、300e、300f進行基於用戶的配置,客戶端100的模塊管理組件140向軟體集300a、300b、300c、300d、300e、300f暴露服務的集合以允許軟體集300a、300b、300c、300d、300e、300f訪問⑶I 170。如上所述,⑶I 170向用戶提供用於基於其個人需要來配置軟體集300a、300b、300c、300d、300e、300f的功能。以這種方式,可以降低對框架的開發努力,從而使得該框架的實現方式更加有效和靈活。圖3A和圖3B示出了用戶與參考圖2所描述的框架的示例性交互。應當理解,參考圖2中所示的實體描述的特徵和/或屬性也可以應用於圖3A和圖3B中示出的實體,其中相同的實體具有相同的參考號。圖3A示出了當按照主動模式進行操作時、在圖2的框架中執行的交互的示例性序列。用戶10已通過從通過⑶I 170暴露的模式選擇控制項選擇並且激活主動模式而為客戶端100(並且因而為該框架)選擇了主動模式。例如,用戶10希望請求客戶端100來打開他房間中的檯燈的燈光。出於這一目的,用戶訪問客戶端100的GUI 170並且激活主動請求控制項。當主動請求控制項被激活時,用戶10通過說出以下句子「請打開我房間中的檯燈」來執行用戶請求。在Al處,由話音記錄組件120記錄用戶的話音和用戶請求。在A2處,話音記錄組件120對用戶請求進行採樣。將話音樣本格式化並且數位化為語音信號,以便將其通過網絡500發送至伺服器200以供進一步處理。將語音信號發送至通信和協作組件110。在A3處,通信和協作組件110將對伺服器200的請求格式化,該請求包括語音信號、在話音記錄組件120處生成的用戶請求的話音樣本和/或關於用戶10和/或關於在用戶請求中尋址的設備410、420、430、440、450、460的信息,諸如唯一設備標識符。在伺服器200的通信和協作組件210處接收用於服務於用戶請求的話音樣本和/或附加信息。在A4處,通信和協作組件210向話音標識組件220提供話音樣本。話音標識組件 220從用戶10的話音樣本標識誰執行了請求。在標識了用戶10之後,在A5處,話音標識組件220向通信和協作組件210發送相應的用戶身份(用戶ID)。通信和協作組件210與當前處理的用戶請求聯合存儲用戶ID,從而使得當對所述用戶請求進行響應時可以將用戶ID發送回客戶端100。在A6處,通信和協作組件210向自動語音識別組件240發送用戶10的話音樣本。通信和協作組件210可以附加地向自動語音識別組件240發送用戶10的相應的、所確定的用戶ID,以便改進自動語音識別組件240的執行。在已接受了話音樣本之後,自動語音識別組件240將話音樣本轉化為文本。例如,自動語音識別組件240可以實現可用的語音識別系統以將對應於用戶請求的用戶10的話音樣本轉換為文本。在用戶10的用戶ID與話音樣本一起在自動語音識別組件240處接收時,可以將對匹配話音樣本的、可能的音節和/或字模的確定限制為關於用戶10。在將話音樣本轉錄為文本之後,在A7處,自動語音識別組件240向通信和協作組件210發送所生成的文本。通信和協作組件210可以與用戶請求、用戶ID和/或用戶請求的話音樣本關聯地存儲所接收的文本。在AS處,通信和協作組件210向語義組件250發送從用戶10的話音樣本生成的文本。語義組件250處理該文本以從該文本生成一個或者多個標籤的列表。語義組件250可以通過經由訪問家庭知識組件150來使用和/或實現語義詞典、停用詞列表和/或語義網絡來從該文本生成標籤的列表。例如,通過從如之前描述的翻譯為文本的用戶請求(即從「請打開我房間中的檯燈」)移除停用詞;通過製作所用字詞之間的語義關聯(例如將「檯燈」與「電燈」(其為「光」)相關聯);和/或通過在該文本中的字詞之間導出語義關係,語義組件250可以從所接收的文本生成標籤的列表{ 「檯燈」,「打開」,「房間」}。在A9處,語義組件250向通信和協作組件210發送所生成的標籤的列表,以格式化和/或生成將向客戶端100發送的相應的響應。該響應可以包括對應於用戶10的用戶請求的所生成的標籤的列表、用戶10的用戶ID和/或如下附加信息,可以要求該附加信息以指示軟體集300a、300b、300c、300d、300e、300f來在數字網絡400中的設備410、420、430、440,450,460之一處執行相應的動作。在AlO處,通過網絡500向客戶端的通信和協作組件110發送回經格式化的響應。在All處,通信與協作組件110向動作計劃組件160發送該響應。基於該響應,動作計劃組件160選擇數字網絡中的目標設備410、420、430、440、450、460以及將被執行的相應的動作。例如,通過所接收的響應,動作計劃組件160根據用戶ID推斷用戶10是「Sarah」。通過檢查與該響應一起接收的標籤的列表,動作計劃組件160例如基於該標籤的列表中的術語「檯燈」推斷目標設備的類別。數字網絡400的設備410、420、430、440、450、460可以存儲在語義網絡中,該語義網絡存儲在家庭知識組件150處。在已確定了目標設備的類別之後,動作計劃組件160可以通過標籤的列表中的詞「房間」和用戶10的身份「Sarah」確定數字網絡400中的具體目標設備410、420、430、440、450、460 (即檯燈在Sarah的房間中)。通過標籤的列表中的詞「打開」,動作計劃組件160通過訪問家庭知識組件150、確定將在Sarah的房間中的檯燈上執行的相應的動作,即打開該檯燈。在確定了目標設備410、420、430、440、450、460 以及將在所述設備 410、420、430、440、450、460 上執行的動作之後,在A12處,動作計劃組件160向通信和協作組件110轉發相應的命令(例如,指定目標設備410、420、430、440、450、460,Sarah的房間中的檯燈,以及將在所述設備410、420、430、440,450,460上執行的動作,即打開設備410、420、430、440、450、460)。在A13處,通信和協作組件110向模塊管理組件140發送命令,該命令觸發目標軟體集300a、300b、300c、300d、30(^、30(^,該目標軟體集控制所確定的目標設備410、420、430、440、450、460來在該目標 設備410、420、430、440、450、460上執行所請求的動作,即打開Sarah的房間中的檯燈的燈光。在執行了所指示的動作之後,在A14處,模塊管理組件140向通信和協作組件110返回所採取的動作的相應的結果。例如,模塊管理組件140返回該動作的結果,即打開了目標設備410、420、430、440、450、460的燈光。在A15處,通信和協作組件110向文本轉語音組件130提供相應的響應,該文本轉語音組件130從該響應例如通過使用可用的語音合成系統生成聲音或語音輸出。在A16處,例如通過話音接口向用戶10播放聲音反饋。圖3B示出了當按照被動模式進行操作時、在圖2中示出的框架中執行的交互的示例性序列。用戶10已通過從通過⑶I 170暴露的模式選擇控制項選擇並且激活被動模式而為客戶端100(並且因而為該框架)選擇了被動模式。在Pl處,用戶10正在發言並且其話音由話音記錄組件120進行記錄。在P2處,話音記錄組件120對用戶10的話音進行採樣並且將話音樣本數位化為語音信號以便通過網絡500發送至在該框架中運作的伺服器200。話音記錄組件120在相應的語音信號中向通信和協作組件110發送發言的用戶10的話音樣本。在P3處,通信和協作組件110針對伺服器200對請求進行格式化,該請求可以包括在話音記錄組件120處生成的語音信號中的話音樣本和/或關於用戶10的信息和/或關於在該用戶請求中尋址的設備410、420、430、440>450>460的信息(諸如唯一設備標識符)。在P4處,通信和協作組件210向話音標識組件220提供從客戶端100接收的話音樣本。話音標識組件220從該話音樣本標識已執行了請求的用戶10並且提供相應的用戶ID。在P5處,通信和協作組件210向語音情感識別組件230提供從客戶端100接收的話音樣本。語音情感識別組件230可以實現可用的情感識別系統以從所接收的話音樣本確定用10的情感。例如,語音情感識別組件230可以從用戶10的所接收的話音樣本確定用戶10處於「高興」情緒中。在P6處,語音情感識別組件230向通信和協作組件210發送用戶10的情感(在當前示例中為「高興」),通信和協作組件210存儲與當前處理的用戶請求和/或用戶10關聯的用戶10的情感「高興」。在P7中,話音標識組件220向通信和協作組件210發送用戶10的所確定的用戶ID,通信和協作組件210存儲與當前用戶請求和/或用戶10關聯的用戶10的用戶ID。在P8處,通信和協作組件210向自動語音識別組件240發送用戶10的話音樣本。通信和協作組件210可以向自動語音識別組件240附加地發送用戶10的相應的、所確定的用戶ID,以便改進自動語音識別組件240的執行。在接收了話音樣本之後,自動語音識別組件240將該話音樣本轉化為文本。例如,自動語音識別組件240可以實現可用的語音識別系統以將對應於當前用戶請求的用戶10的話音樣本轉換為文本。在用戶10的用戶ID與話音樣本一起在自動語音識別組件240處接收時,可以將對匹配話音樣本的、可能的音節和/或字模的確定限制為關於用戶10。在將話音樣本轉錄為文本之後,在P9處,自動語音識別組件240向通信和協作組件210發送所生成的文本。通信和協作組件210可以與用戶請求、用戶ID、用戶10的用戶請求的話音樣本和/或用戶10的所確定的情感「高興」關聯地存儲所接收的文本。在PlO處,通信和協作組件210向語義組件250發送從用戶請求 的話音樣本生成的文本。語義組件250處理該文本以從該文本生成一個或者多個標籤的列表。語義組件250可以通過經由訪問家庭知識組件150來使用和/或實現語義詞典、停用詞列表和/或語義網絡來從該文本生成標籤的列表。例如,通過從如之前描述的處理為文本的用戶請求移除停用詞;通過製作所用字詞之間的語義關聯(例如因為例如用戶10正與朋友談論他夏天在撒丁島的假期而將「撒丁島」與「義大利」相關聯),和/或通過在該句子中的字詞之間導出語義關係,語義功能可以從所接收的文本生成標籤的列表{ 「假期」,「海灘」,「撒丁島」}。在Pll處,語義組件250向通信和協作組件210發送所生成的標籤的列表,以格式化和/或生成將向客戶端100發送的相應的響應。該響應可以包括對應於用戶10的用戶請求的所生成的標籤的列表、用戶10的用戶ID、用戶10的所確定的情緒(例如「高興」)和/或如下附加信息,可以要求該附加信息以指示軟體集300a、300b、300c、300d、300e、300f來通過數字網絡400中的設備410、420、430、440、450、460之一執行相應的動作。在P12處,通過網絡500向客戶端的通信和協作組件110發送回經格式化的響應。已從伺服器200接收到經格式化的響應的客戶端100的通信和協作組件110向模塊管理組件140發送標籤的列表、所確定的用戶情感和/或用戶ID。模塊管理組件觸發一個或者多個軟體集300a、300b、300c、300d、300e、300f,該軟體集已訂閱了對一個或這多個所指定的用戶情感(例如對情感「高興」)進行反應的相應的服務。軟體集300a、300b、300C、300d、300e、300f基於用戶定義的內部配置處理標籤的列表。例如,用戶可以已配置了一個或者多個軟體集300a、300b、300c、300d、300e、300f來通過數字網絡400的設備410、420、430、440、450、460控制計算機設備和/或TV設備以示出來自用戶的在撒丁島的上個假期的照片。在觸發了相應的軟體集300a、300b、300c、300d、300e、300f之後,模塊管理組件140向通信和協作組件110給出對所執行的動作的反饋。圖4示出了用於實現本發明的、包括按照常規計算環境920的形式的通用計算設備(即個人計算機)的示例性系統。常規計算環境包括處理單元922、系統存儲器924和系統總線926。系統總線將包括系統存儲器924在內的各種系統組件稱合至處理單兀922。處理單元922可以通過訪問系統存儲器924來執行算術、邏輯和/或控制操作。系統存儲器924可以存儲用於與處理單元922結合使用的信息和/或指令。系統存儲器924可以包括易失性和非易失性存儲器,諸如隨機存取存儲器(RAM)928和只讀存儲器(ROM)930。在ROM 930中可以存儲基本輸入/輸出系統(BIOS),BI0S包含有有助於在個人計算機920內的元件之間傳送信息(諸如在啟動期間)的基本例程。系統總線926可以是任何各種類型的總線結構,包括存儲器總線或者存儲器控制器、外圍設備總線,以及使用任何各種總線架構的本地總線。個人計算機920可以進一步包括用於從硬碟(未示出)進行讀取和向該硬碟進行寫入的硬碟驅動器932,以及用於從可移動磁碟936進行讀取和向可移動磁碟936進行寫入的外部盤驅動器934。可移動磁碟可以是用於磁碟驅動器的磁碟或者用於光碟驅動器的、諸如⑶ROM之類的光碟。硬碟驅動器932和外部盤驅動器934分別通過硬碟驅動器接口938和外圍磁碟驅動器接口 940連接至系統總線926。驅動器及其相關聯的計算機可讀介質為計算機可讀指令、數據結構、程序模塊以及用於個人計算機920的其他數據提供非易失性存儲。數據結構可以包括用於如下方法的實現方式的相關數據,該方法如上所述用於對數字網絡進行基於自然語言的控制。可以將相關數據組織在資料庫中,例如關係資料庫管理系統或者面向對象資料庫管理系統。 雖然在此描述的示例性環境使用了硬碟(未示出)以及外部盤936,但本領域技術人員應當領會到,也可以在示例性操作環境中使用其他類型的計算機可讀介質,這些介質可以存儲可由計算機訪問的數據,這些介質諸如磁帶盒、快閃記憶體卡、數字視頻盤、隨機存取存儲器、只讀存儲器等。可以在硬碟、外部盤936、R0M 930或者RAM 928上存儲多個程序模塊,包括作業系統(未示出)、一個或者多個應用程式944、其他程序模塊(未示出)以及程序數據946。應用程式可以包括如在圖I、圖2、圖3A和/或圖3B中描述的功能的至少一部分。用戶可以如下所述通過注入鍵盤948和滑鼠950之類的輸入設備在個人計算機920中錄入命令和信息。其他輸入設備(未示出)可以包括麥克風(或者其他傳感器)、操縱杆、遊戲手柄、掃描儀等。這些和其他輸入設備可以通過耦合到系統總線926的串行埠接口 952連接到處理單元922,或者可以通過注入並行埠接口 954、遊戲埠或者通用串行總線(USD)連接。此外,可以使用印表機956列印信息。印表機956和其他並行輸入/輸出設備可以通過並行埠接口 954連接到處理單元922。監視器958或者其他類型的顯示設備也經由諸如視頻輸入/輸出960之類的接口連接到系統總線926。除了監視器以外,計算環境920可以包括其他外圍輸出設備(未示出),諸如揚聲器或者其他可聽輸出。計算環境920可以與諸如計算機、電話(有線或者無線)、個人數字助理、電視之類的其他電子設備進行通信。為了進行通信,計算環境920可以在使用到一個或者多個電子設備的連接的聯網環境中運作。圖4描繪了與遠程計算機962聯網的計算環境。遠程計算機962可以是了諸如伺服器、路由器、網絡PC、對等設備或者其他普通網絡節點之類的另一計算環境,並且可以包括以上相對於計算環境920描述的元件中的許多或者全部。在圖4中描繪的邏輯連接包括區域網(LAN)964和廣域網(WAN)966。此類聯網環境常見於辦公室、企業計算機網絡、內聯網和網際網路中,並且特別地可以被加密。當在LAN聯網環境中使用時,計算環境920可以通過網絡1/0968連接至LAN 964。當在WAN聯網環境中使用時,計算環境920可以包括數據機970或者用於建立通過WAN966的通信的其他裝置。可以位於計算環境920的內部或者外部的數據機970經由串行埠接口 952連接到系統總線926。在聯網環境中,相對於計算環境920所描繪的程序模塊或其部分可以存儲在位於遠程計算機962或可由遠程計算機962訪問的遠程存儲器存儲設備中。此外,與用於優化對策略的評估的方法(以上描述的)相關的其他數據可以位於遠程計算機962上或可經由遠程計算機962訪問。應當領會到,所是的網絡連接是示例性的並且可以使用在電子設備之間建立通信鏈路的其他裝置。上述計算系統僅為可以用於實現用於對數字網絡進行基於自然語言的控制的方法的計算系統類型的一個示例。參考號列表10 用戶A1-A16按照主動模式進行操作的框架的方法步驟
P1-P14按照被動模式進行操作的框架的方法步驟12 用戶請求14 語言信息16 非語言信息100客戶端110通信和協作組件120話音記錄組件130文本轉語音組件140模塊管理組件150家庭知識組件160動作計劃組件170圖形用戶界面(GUI)200伺服器210通信和協作組件220話音標識組件230語音情感識別組件240自動語音識別組件250語義組件300a、300b、300c、300d、300e、300f 軟體集400數字網絡500網絡(例如網際網路)920常規計算環境922 處理單元924系統存儲器926系統總線928隨機存取存儲器(RAM)930隻讀存儲器(ROM)932硬碟驅動器934外部盤驅動器936可移動磁碟
938硬碟驅動器接口940外部盤驅動器接口944一個或者多個應用程式946程序數據948鍵盤950滑鼠952串行埠接口 954並行埠接口956印表機958監視器960視頻輸入/輸出962遠程計算機964區域網(LAN)966廣域網(WAN)968j 網絡 I/O970數據機
權利要求
1.一種用於對數字網絡進行基於自然語言的控制的計算機網絡,所述網絡包括 數字網絡(400),可操作用於在所述數字網絡(400)中連接的多個設備(410、420、430、440,450,460)之間提供對網絡(500)的訪問的共享; 客戶端(100),安裝在所述數字網絡(400)中並且可操作用於向用戶(10)提供用於使用自然語言控制所述數字網絡(400)的統一自然語言接口 ; 伺服器(200),通過所述網絡(400)連接至所述客戶端(100)並且可操作用於處理所述用戶(10)通過所述統一自然語言接口執行的用戶請求;以及 一個或者多個軟體代理(300&、30013、300(3、300(1、3006、30(^),可操作用於基於經處理的用戶請求在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行至少一個動作。
2.根據權利要求I所述的計算機網絡,其中所述客戶端(100)包括模塊管理組件(140),所述模塊管理組件(140)可操作用於向所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)提供接口以用於向所述客戶端(100)發布由所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)提供的一個或者多個動作。
3.根據權利要求2所述的計算機網絡,其中所述客戶端(100)包括向所述用戶(10)暴露的圖形用戶界面⑶I (170),以用於指定對將由所述多個軟體代理(300a、300b、300c、300d.300e.300f)在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行的動作的用戶定義的設置。
4.根據權利要求3所述的計算機網絡,其中所述模塊管理組件(140)進一步可操作用於向所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)輸出功能集合,以允許所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)訪問所述⑶I (170)。
5.根據前述任一權利要求所述的計算機網絡,其中所述客戶端(100)包括家庭知識組件(150),所述家庭知識組件(150)包括語義詞典,其中所述語義詞典指定關於所述數字網絡(400)中的所述多個設備(410、420、430、440、450、460)的、與控制所述多個設備(410、420、430、440、450、460)相關的信息。
6.根據權利要求5所述的計算機網絡,其中所述語義詞典包括針對所述多個設備(410、420、430、440、450、460)的設備類別、所述設備類別之間和/或所述多個設備(410、420、430、440、450、460)之間的關係以及所述設備類別和/或所述多個設備(410、420、430、440、450、460)的屬性。
7.根據前述任一權利要求所述的計算機網絡,其中所述伺服器(200)可操作用於處理所述用戶請求以產生標籤的列表,所述標籤的列表可由所述客戶端(100)使用以觸發所述多個軟體代理(300a、300b、300c、300d、300e、300f)來在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行所述至少一個動作。
8.根據前述任一權利要求所述的計算機網絡,其中所述伺服器(200)可操作用於通過解釋從所述用戶請求提取的語言信息和/或非語言信息來處理所述用戶請求。
9.一種用於對數字網絡進行基於自然語言的控制的計算機實現的方法,所述方法包括 在客戶端(100)向用戶提供用於使用自然語言控制數字網絡(400)的統一自然語言接口,其中所述數字網絡(400)可操作用於在所述數字網絡(400)中連接的多個設備(410、.420、430、440、450、460)之間提供對網絡(500)的訪問的共享; 向伺服器(200)發送用戶(10)通過所述統一自然語言接口執行的用戶請求,其中所述伺服器(200)通過所述網絡(500)連接至所述客戶端(100)並且可操作用於處理所述用戶請求;以及 觸發一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)基於經處理的用戶請求在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行至少一個動作。
10.根據權利要求9所述的方法,所述方法進一步包括 在所述客戶端(100)的模塊管理組件(140)處向所述一個或者多個軟體代理(300a、.300b、300c、300d、300e、300f)提供接口以用於向所述客戶端(100)發布由所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)提供的一個或者多個動作。
11.根據權利要求10所述的方法,所述方法進一步包括 在所述客戶端(100)處向所述用戶(10)暴露圖形用戶界面GUI (170),以用於指定對將由所述多個軟體代理(300a、300b、300c、300d、300e、300f)在所述多個設備(410、420、430、.440、450、460)的至少一個設備上執行的動作的用戶定義的設置。
12.根據權利要求11所述的方法,所述方法進一步包括 通過所述模塊管理組件(140)向所述一個或者多個軟體代理(300a、300b、300c、300d、.300e、300f)輸出功能集合,以允許所述一個或者多個軟體代理(300a、300b、300c、300d、.300e、300f)訪問所述 GUI (170)。
13.—種包括計算機可讀指令的電腦程式產品,當在計算機系統和/或計算機網絡系統中加載並且執行所述計算機可讀指令時,使得所述計算機系統和/或所述計算機網絡系統執行根據權利要求9至11中任一權利要求所述的方法的操作。
14.一種用於對數字網絡進行基於自然語言的控制的客戶端(100),所述客戶端(100)包括 統一自然語言接口,可操作用於接收用於使用自然語言控制數字網絡(400)的用戶請求,其中所述數字網絡(400)可操作用於在所述數字網絡(400)中連接的多個設備(410、.420、430、440、450、460)之間提供對網絡(500)的訪問的共享;以及 模塊管理組件(140),可操作用於向一個或者多個軟體代理(300a、300b、300c、300d、.300e、300f)提供接口以用於向所述客戶端(100)發布由所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)提供的一個或者多個動作,其中所述一個或者多個軟體代理(300a、300b、300c、300d、300e、300f)可操作用於基於所述用戶請求在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行至少一個動作, 其中所述客戶端(100)安裝在所述數字網絡(400)中。
15.一種用於對數字網絡進行基於自然語言的控制的伺服器(200),所述伺服器(200)包括 接口,可操作用於處理從客戶端(100)接收的用戶請求, 其中所述用戶請求是通過在所述客戶端(100)處、使用自然語言控制數字網絡(400)的統一自然語言接口執行的,其中所述數字網絡(400)可操作用於在所述數字網絡(400)中連接的多個設備(410、420、430、440、450、460)之間提供對網絡(500)的訪問的共享;以及其中所述用戶請求被處理以產生標籤的列表,所述標籤的列表可由所述客戶端(100)使用以觸發多個軟體代理(300a、300b、300c、300d、300e、300f)基於經處理的用戶請求在所述多個設備(410、420、430、440、450、460)的至少一個設備上執行至少一個動作。
全文摘要
本申請涉及用於對數字網絡進行基於自然語言的控制的計算機網絡、計算機實現的方法、電腦程式產品、客戶端和伺服器。在一個方面中,用於對數字網絡進行基於自然語言的控制的計算機網絡包括數字網絡,可操作用於在該數字網絡中連接的多個設備之間提供對網絡訪問的共享;客戶端,安裝在該數字網絡中並且可操作用於向用戶提供用於使用自然語言控制該數字網絡的統一自然語言接口;伺服器,通過該網絡連接至該客戶端並且可操作用於處理該用戶通過該統一自然語言接口執行的用戶請求;以及一個或者多個軟體代理,可操作用於基於經處理的用戶請求在該多個設備的至少一個設備上執行至少一個動作。
文檔編號G10L15/28GK102682769SQ20121003090
公開日2012年9月19日 申請日期2012年2月6日 優先權日2011年3月7日
發明者D·德埃裡科, F·馬莫利蒂, G·卡普奧佐, M·伯爾格希尼 申請人:埃森哲環球服務有限公司