TW202301080A - 輔助系統的多裝置調解 - Google Patents
輔助系統的多裝置調解 Download PDFInfo
- Publication number
- TW202301080A TW202301080A TW111107737A TW111107737A TW202301080A TW 202301080 A TW202301080 A TW 202301080A TW 111107737 A TW111107737 A TW 111107737A TW 111107737 A TW111107737 A TW 111107737A TW 202301080 A TW202301080 A TW 202301080A
- Authority
- TW
- Taiwan
- Prior art keywords
- user
- client
- certain embodiments
- client system
- client systems
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/06—Decision making techniques; Pattern matching strategies
Abstract
本發明提供一種方法,其包括:自意欲啟動複數個用戶端系統當中的一特定用戶端系統之一第一使用者接收一語音請求,該複數個用戶端系統係在該第一使用者之收聽範圍內;存取來自該等用戶端系統中之每一者的與該語音請求相關聯之信號;基於所存取信號將來自該複數個用戶端系統之一第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統;及回應於該語音請求而指示該第一用戶端系統提供來自一輔助系統之一回應。
Description
本發明大體而言係關於網路環境內之資料庫及檔案管理,且特定而言係關於用於智慧型輔助系統之硬體及軟體。
優先權
本申請案根據35 U.S.C. §119(e)主張2021年4月21日申請之美國臨時專利申請案第63/177812號之權益,該專利申請案以引用方式併入本文中。
輔助系統可基於使用者輸入、位置感知及自多種線上源(諸如天氣條件、交通擁塞、新聞、股票價格、使用者排程、零售價格等)存取資訊之能力而代表使用者來提供資訊或服務。使用者輸入可包括文字(例如,線上聊天)(尤其在即時訊息傳遞應用程式或其他應用程式中)、語音、影像、運動或其組合。輔助系統可進行禮賓型(concierge-type)服務(例如,進行晚餐預約、購買事件票證、進行旅行安排)或基於使用者輸入來提供資訊。輔助系統亦可在無使用者起始或互動之情況下基於線上資訊及事件進行管理或資料處置任務。可由輔助系統進行之彼等任務之實例可包括排程管理(例如,將使用者因交通條件而遲到之提醒發送給晚餐約會、更新兩方之排程及改變餐廳預約時間)。輔助系統可藉由計算裝置、應用程式設計介面(application programming interface;API)及使用者裝置上之應用程式之增長的組合來啟用。
可包括社交網路連接網站之社交網路連接系統可使其使用者(諸如個人或組織)能夠與其互動且經由其彼此互動。社交網路連接系統可使用來自使用者之輸入在社交網路連接系統中創建及儲存與使用者相關聯之使用者資料檔。使用者資料檔可包括人口統計資訊、通信通道資訊及關於使用者個人興趣的資訊。社交網路連接系統亦可使用來自使用者之輸入以創建及儲存使用者與社交網路連接系統之其他使用者的關係之記錄,以及提供服務(例如,資料檔/新聞饋送貼文、相片共用、事件組織、訊息傳遞、遊戲或廣告)以促進在使用者之間或當中的社交互動。
社交網路連接系統可經由一或多個網路將與其服務相關之內容或訊息發送至使用者之行動計算裝置或另一計算裝置。使用者亦可在該使用者之行動計算裝置或另一計算裝置上安裝軟體應用程式,以用於存取使用者之使用者資料檔及社交網路連接系統內之其他資料。社交網路連接系統可產生內容對象之個人化集合以顯示給使用者,諸如連接至該使用者之其他使用者之聚合故事之新聞饋送。
在特定具體實例中,輔助系統可輔助使用者獲得資訊或服務。輔助系統可使得使用者能夠經由各種模態(例如,音訊、語音、文字、影像、視訊、手勢、運動、位置、定向)之使用者輸入在狀態及多輪次(multi-turn)交談中與輔助系統互動,以接收來自輔助系統之輔助。作為一實例而非作為限制,輔助系統可支援單模態輸入(例如,僅語音輸入)、多模態輸入(例如,語音輸入及文字輸入)、混合/多模態輸入或其任何組合。由使用者提供之使用者輸入可與特定輔助相關任務相關聯,且可包括例如使用者請求(例如,對動作之資訊或進行的口頭請求)、與輔助應用程式(其與輔助系統相關聯)之使用者互動(例如,經由觸控或手勢來選擇UI元素),或可由輔助系統偵測到及理解的任何其他類型之合適之使用者輸入(例如,由使用者之用戶端裝置偵測到之使用者移動)。輔助系統可創建及儲存包含與使用者相關聯之個人及情境資訊兩者的使用者資料檔。在特定具體實例中,輔助系統可使用自然語言理解(natural-language understanding;NLU)分析使用者輸入。分析可係基於使用者之使用者資料檔以用於更個人化及情境感知之理解。輔助系統可基於分析來解析與使用者輸入相關聯之實體。在特定具體實例中,輔助系統可與不同代理程式互動以獲得與經解析實體相關聯之資訊或服務。輔助系統可藉由使用自然語言產生(natural-language generation;NLG)來產生關於資訊或服務之對使用者的回應。經由與使用者之互動,輔助系統可使用對話管理技術來管理及推進與使用者之交談流程。在特定具體實例中,輔助系統可藉由彙總資訊進一步輔助使用者來有效且高效地分解所獲得之資訊。輔助系統亦可藉由提供幫助使用者與線上社交網路互動(例如,創建貼文、評論、訊息)之工具來輔助使用者更多地參與線上社交網路。輔助系統可另外輔助使用者管理不同任務,諸如追蹤事件。在特定具體實例中,輔助系統可在無使用者輸入之情況下在與使用者相關之時間處基於使用者資料檔主動地執行與使用者興趣及偏好相關之任務。在特定具體實例中,輔助系統可檢查隱私設定以確保存取使用者之資料檔或其他使用者資訊且執行不同任務經准許服從使用者之隱私設定。
在特定具體實例中,輔助系統可經由在用戶端側程序及伺服器側程序兩者上建立之混合架構來輔助使用者。用戶端側程序及伺服器側程序可為用於處理使用者輸入且向使用者提供輔助之兩個並行工作流程。在特定具體實例中,用戶端側程序可在與使用者相關聯之用戶端系統上本地端地進行。相比之下,伺服器側程序可在一或多個計算系統上遠端地進行。在特定具體實例中,用戶端系統上之仲裁器可協調接收使用者輸入(例如,音訊信號)、判定是使用用戶端側程序、伺服器側程序抑或兩者來對使用者輸入作出回應,及分析來自每一程序之處理結果。仲裁器可基於前述分析指示用戶端側或伺服器側上之代理程式來執行與使用者輸入相關聯之任務。執行結果可進一步顯現為至用戶端系統之輸出。藉由充分利用用戶端側及伺服器側程序兩者,輔助系統可以計算資源之最佳使用率來有效地輔助使用者,同時保護使用者隱私且增強安全性。
在特定具體實例中,輔助系統可在使用者之語音請求之聽覺距離內存在多個具輔助功能之用戶端系統(例如,桌上之智慧型對接件、使用者之面部上的智慧型眼鏡、牆上之智慧型TV等)時有效地判定哪一用戶端系統對使用者作出回應。使用者可使用統一喚醒字(例如,「嗨,助理」)來喚醒任何用戶端系統,亦即多裝置調用。當使用者作出請求(例如,「嗨,助理,播放一些音樂」)時,任何或所有用戶端系統均可作出回應,此對使用者而言可為惱人的。因此,輔助系統可需要在用戶端系統之間進行調解以判定哪一用戶端系統應作出回應,使得可在最佳用戶端系統上顯現回應。輔助系統可使用伺服器側程序或用戶端側程序進行調解。對於伺服器側程序,輔助系統可將來自同一IP位址的請求分組在一起,且將使用者之意圖映射至較佳用戶端系統或具有正確能力之用戶端系統。輔助系統可另外使用各種信號來判定哪一用戶端系統對使用者作出回應。對於用戶端側程序,輔助系統可在此等用戶端系統之間建立安全同級間分散式網格。使用網格,用戶端系統可回應於喚醒字而即時交換資訊,且比較此資訊以判定使用者最可能意欲使用哪一資訊。類似地,輔助系統亦可在判定哪一用戶端系統對使用者作出回應時使用其他類型之信號。使用多裝置調用之有效調解,使用者可能夠在順暢地使用輔助服務時四處移動。多裝置調解不僅可應用於實體多裝置情形,且亦可應用於虛擬環境(例如,使用虛擬實境耳機),其中存在可對輔助請求作出回應之多個虛擬用戶端系統。儘管本發明描述以特定方式在特定系統之間調解,但本發明涵蓋以任何合適之方式調解任何合適之系統。
在特定具體實例中,輔助系統可與複數個用戶端系統相關聯。輔助系統可自第一使用者接收語音請求。第一使用者可意欲啟動複數個用戶端系統當中的特定用戶端系統。在特定具體實例中,複數個用戶端系統可在第一使用者之收聽範圍內。輔助系統可接著存取來自複數個用戶端系統中之每一者的與語音請求相關聯之複數個信號。在特定具體實例中,輔助系統可基於所存取信號將來自複數個用戶端系統之第一用戶端系統識別為第一使用者意欲啟動的特定用戶端系統。輔助系統可回應於語音請求而進一步指示第一用戶端系統提供來自輔助系統之回應。
針對多裝置調解存在某些技術挑戰。一個技術挑戰可包括準確地判定複數個用戶端系統當中的哪一用戶端系統應對多裝置調用作出回應。藉由本文所揭示之具體實例呈現的解決此挑戰之解決方案可為:判定使用者之意圖且將其映射至具有正確裝置能力的用戶端系統;經由網狀網路在用戶端系統當中交換信號;及使用各種類型之信號(包括短期記憶、時近性、時間、音量、信號雜訊比、參與程度、凝視、姿勢、距離及情境資訊)作為裝置能力,在用戶端系統之間的協調,且各種類型之信號均提供所選用戶端系統將執行與多裝置調用相關聯之任務的有效性之不同量測。
本文所揭示之某些具體實例可提供一或多個技術優勢。具體實例之技術優勢可包括改良在存在多個具輔助功能之用戶端系統時使用者對輔助系統之體驗,此係由於輔助系統可準確地判定哪一用戶端系統應對使用者請求作出回應,使得使用者可不自多個用戶端系統獲取多個回應(此可為惱人且令人迷惑的)。具體實例之另一技術優勢可包括在使用者之實體環境變化時提供自用戶端系統至用戶端系統的順暢服務,此係由於輔助系統可根據環境改變而改變所選用戶端系統。具體實例之另一技術優勢可包括實現遠端任務執行,此係由於輔助系統可指示一個用戶端系統對使用者請求作出回應,同時指示另一不同用戶端系統遠端地執行與使用者請求相關聯之任務。本文所揭示之某些具體實例可提供上文技術優勢中之無一者、一些或全部。鑒於本發明之圖式、描述及申請專利範圍,一或多個其他技術優勢對於熟習此項技術者可為易於顯而易見的。
本文所揭示之具體實例僅為實例,且本發明之範圍不限於該等實例。特定具體實例可包括本文所揭示之具體實例的組件、元件、特徵、功能、操作或步驟中之所有、一些或無一者。根據本發明之具體實例尤其在針對一種方法、儲存媒體、系統及電腦程式產品之所附申請專利範圍中揭示,其中在一個技術方案類別中提及之任何特徵,例如方法,亦可在另一技術方案類別(例如,系統)中主張。出於僅形式原因而選擇所附申請專利範圍中的依賴性或反向參考。然而,亦可主張由對任何前述技術方案之反向故意參考(尤其多個依賴性)產生的任何主題,以使得技術方案及其特徵之任何組合經揭示且可無關於在所附申請專利範圍中選擇的依賴性而主張。可主張的主題不僅包含如所附申請專利範圍中陳述的特徵之組合且亦包含技術方案中特徵之任何其他組合,其中技術方案中所提及的每一特徵可與任何其他特徵或技術方案中之其他特徵之組合組合。此外,本文描述或描繪的具體實例及特徵中之任一者可在獨立技術方案中及/或在與本文描述或描繪的任何具體實例或特徵或與所附申請專利範圍之特徵中之任一者的任何組合中主張。
系統概述
圖 1說明與輔助系統相關聯之實例網路環境100。網路環境100包括藉由網路110彼此連接之用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170。儘管圖1說明用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110之特定配置,但本發明涵蓋用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110之任何合適之配置。作為一實例而非作為限制,用戶端系統130、社交網路連接系統160、輔助系統140及第三方系統170中之兩者或更多者可繞過網路110彼此直接連接。作為另一實例,用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170中之兩者或更多者可整體或部分地彼此實體或邏輯共定位。此外,儘管圖1說明特定數目個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110,但本發明涵蓋任何合適數目個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110。作為一實例而非作為限制,網路環境100可包括多個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110。
本發明涵蓋任何合適之網路110。作為一實例而非作為限制,網路110之一或多個部分可包括特用網路、企業內部網路、企業間網路、虛擬專用網路(virtual private network;VPN)、區域網路(local area network;LAN)、無線LAN(wireless LAN;WLAN)、廣域網路(wide area network;WAN)、無線WAN(wireless WAN;WWAN)、都會區域網路(metropolitan area network;MAN)、網際網路之一部分、公開交換電話網路(Public Switched Telephone Network;PSTN)之一部分、基於蜂巢式技術之網路、基於衛星通信技術之網路、另一網路110,或兩個或更多個此類網路110之組合。
鏈路150可將用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170連接至通信網路110或彼此連接。本發明涵蓋任何合適之鏈路150。在特定具體實例中,一或多個鏈路150包括一或多個有線(諸如數位用戶線(Digital Subscriber Line;DSL)或有線資料服務介面規格(Data Over Cable Service Interface Specification;DOCSIS))、無線(諸如Wi-Fi或微波存取全球互通(Worldwide Interoperability for Microwave Access;WiMAX))或光學(諸如同步光網路(Synchronous Optical Network;SONET)或同步數位階層(Synchronous Digital Hierarchy;SDH))鏈路。在特定具體實例中,一或多個鏈路150各自包括特用網路、企業內部網路、企業間網路、VPN、LAN、WLAN、WAN、WWAN、MAN、網際網路之一部分、PSTN之一部分、基於蜂巢式技術之網路、基於衛星通信技術之網路、另一鏈路150,或兩個或更多個此類鏈路150之組合。在整個網路環境100中,鏈路150不必為相同的。一或多個第一鏈路150可在一或多個方面不同於一或多個第二鏈路150。
在特定具體實例中,用戶端系統130可為任何合適之電子裝置,其包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,且能夠實行由用戶端系統130實施或支援之功能性。作為一實例而非作為限制,用戶端系統130可包括電腦系統,諸如桌上型電腦、筆記型電腦或膝上型電腦、迷你筆記型電腦、平板電腦、電子書讀取器、GPS裝置、攝影機、個人數位助理(personal digital assistant;PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、智慧型揚聲器、智慧型手錶、智慧型眼鏡、擴增實境(augmented-reality;AR)智慧型眼鏡、虛擬實境(virtual reality;VR)頭戴裝置、其他合適之電子裝置,或其任何合適之組合。在特定具體實例中,用戶端系統130可為智慧型輔助裝置。關於智慧型輔助裝置之更多資訊可見於2018年4月9日申請之美國專利申請案第15/949011號、2018年10月5日申請之美國專利申請案第16/153574號、2018年1月3日申請之美國設計專利申請案第29/631910號、2018年1月2日申請之美國設計專利申請案第29/631747號、2018年1月3日申請之美國設計專利申請案第29/631913號及2018年1月3日申請之美國設計專利申請案第29/631914號,該等申請案中之每一者以引用方式併入。本發明涵蓋任何合適之用戶端系統130。在特定具體實例中,用戶端系統130可使得用戶端系統130處之網路使用者能夠存取網路110。用戶端系統130亦可使得使用者能夠與其他用戶端系統130處之其他使用者通信。
在特定具體實例中,用戶端系統130可包括網頁瀏覽器132,且可具有一或多個附加元件(add-on)、外掛程式或其他擴充功能。用戶端系統130處之使用者可輸入統一資源定位符(Uniform Resource Locator;URL)或將網頁瀏覽器132引導至特定伺服器(諸如伺服器162或與第三方系統170相關聯之伺服器)之其他位址,且網頁瀏覽器132可產生超文字傳送協定(Hyper Text Transfer Protocol;HTTP)請求且將HTTP請求傳達至伺服器。伺服器可接受HTTP請求且回應於該HTTP請求而將一或多個超文字標示語言(Hyper Text Markup Language;HTML)檔案傳達至用戶端系統130。用戶端系統130可基於來自伺服器之HTML檔案來顯現網頁介面(例如,網頁)以用於呈現給使用者。本發明涵蓋任何合適之源檔案。作為一實例而非作為限制,根據特定需求,網頁介面可自HTML檔案、可延伸超文字標示語言(Extensible Hyper Text Markup Language;XHTML)檔案或可延伸標示語言(Extensible Markup Language;XML)檔案顯現。此類介面亦可執行指令碼、標示語言與指令碼之組合,及其類似者。在本文中,在適當之情況下,對網頁介面之參考涵蓋一或多個對應源檔案(瀏覽器可使用該等源檔案來顯現網頁介面)且反之亦然。
在特定具體實例中,用戶端系統130可包括安裝於用戶端系統130上之社交網路連接應用程式134。用戶端系統130處之使用者可使用社交網路連接應用程式134在線上社交網路上進行存取。用戶端系統130處之使用者可使用社交網路連接應用程式134來與使用者之社交連接(例如,朋友、追隨者、追隨帳戶、連絡人等)通信。用戶端系統130處之使用者亦可使用社交網路連接應用程式134來與線上社交網路上之複數個內容對象(例如,貼文、新聞文章、臨時內容等)互動。作為一實例而非作為限制,使用者可使用社交網路連接應用程式134來瀏覽熱門話題及突發新聞。
在特定具體實例中,用戶端系統130可包括輔助應用程式136。用戶端系統130處之使用者可使用輔助應用程式136來與輔助系統140互動。在特定具體實例中,輔助應用程式136可包括輔助xbot功能性作為與用戶端系統130之使用者互動之前端介面,包括接收使用者輸入及呈現輸出。在特定具體實例中,輔助應用程式136可包含單獨應用程式。在特定具體實例中,輔助應用程式136可整合至社交網路連接應用程式134或另一合適之應用程式(例如,訊息傳遞應用程式)中。在特定具體實例中,輔助應用程式136亦可整合至用戶端系統130、輔助硬體裝置或任何其他合適之硬體裝置中。在特定具體實例中,輔助應用程式136可經由網頁瀏覽器132進行存取。在特定具體實例中,使用者可藉由經由各種模態(例如,音訊、語音、文字、視覺、影像、視訊、手勢、運動、活動、位置、定向)將使用者輸入提供至輔助應用程式136而與輔助系統140互動。輔助應用程式136可將使用者輸入傳達至輔助系統140(例如,經由輔助xbot)。基於使用者輸入,輔助系統140可產生回應。輔助系統140可將所產生之回應發送至輔助應用程式136。輔助應用程式136可接著經由各種模態(例如,音訊、文字、影像及視訊)向用戶端系統130處之使用者呈現回應。作為一實例而非作為限制,使用者可藉由經由用戶端系統130之麥克風將使用者輸入(例如,對關於附近車輛交通之當前狀態之資訊的口頭請求)提供至輔助xbot而與輔助系統140互動。輔助應用程式136可接著經由網路110將使用者輸入傳達至輔助系統140。輔助系統140可相應地分析使用者輸入,基於對使用者輸入之分析產生回應(例如,自第三方來源獲得之車輛交通資訊),且將所產生之回應傳達回至輔助應用程式136。輔助應用程式136可接著以任何合適之方式(例如,在用戶端系統130之顯示器上顯示基於文字之推播通知及/或說明附近車輛交通之本地地圖的影像)向使用者呈現所產生之回應。
在特定具體實例中,用戶端系統130可實施喚醒字偵測技術以允許使用者使用與輔助系統140相關聯之一或多個喚醒字來方便地啟動輔助系統140。作為一實例而非作為限制,用戶端系統130上之系統音訊API可持續監視包含在用戶端系統130處接收到之音訊資料(例如,語音資料之訊框)的使用者輸入。在此實例中,與輔助系統140相關聯之喚醒字可為語音片語「嗨,助理」。在此實例中,當用戶端系統130上之系統音訊API在經監視音訊資料中偵測到語音片語「嗨,助理」時,可啟動輔助系統140以用於與使用者之後續互動。在替代具體實例中,類似偵測技術可經實施以使用與輔助系統140相關聯之特定非音訊使用者輸入來啟動輔助系統140。舉例而言,非音訊使用者輸入可為藉由用戶端系統130之低功率感測器(例如,攝影機)偵測到之特定視覺信號。作為一實例而非作為限制,視覺信號可為靜態影像(例如,條碼、QR碼、通用產品碼(universal product code;UPC))、使用者之方位(例如,使用者朝向用戶端系統130之凝視)、使用者運動(例如,使用者指向一對象處),或任何其他合適之視覺信號。
在特定具體實例中,用戶端系統130可包括顯現裝置137且視情況包括伴隨裝置138。顯現裝置137可經組態以向使用者顯現由輔助系統140產生之輸出。伴隨裝置138可經組態以在特定情形下(例如,當顯現裝置137無法進行與特定任務(例如,與輔助系統140之通信)相關聯之計算時)在伴隨裝置138上本地端地(亦即,裝置上)進行該等計算。在特定具體實例中,用戶端系統130、顯現裝置137及/或伴隨裝置138可各自為合適之電子裝置,其包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,且可能夠個別地或協作地實行由本文所描述之用戶端系統130實施或支援的功能性。作為一實例而非作為限制,用戶端系統130、顯現裝置137及/或伴隨裝置138可各自包括電腦系統,諸如桌上型電腦、筆記型電腦或膝上型電腦、迷你筆記型電腦、平板電腦、電子書讀取器、GPS裝置、攝影機、個人數位助理(PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、智慧型揚聲器、虛擬實境(VR)頭戴裝置、擴增實境(AR)智慧型眼鏡、其他合適之電子裝置,或其任何合適之組合。在特定具體實例中,用戶端系統130、顯現裝置137及伴隨裝置138中之一或多者可作為智慧型輔助裝置操作。作為一實例而非作為限制,顯現裝置137可包含智慧型眼鏡且伴隨裝置138可包含智慧型手機。作為另一實例而非作為限制,顯現裝置137可包含智慧型手錶且伴隨裝置138可包含智慧型手機。作為又一實例而非作為限制,顯現裝置137可包含智慧型眼鏡且伴隨裝置138可包含用於智慧型眼鏡之智慧型遙控器。作為又一實例而非作為限制,顯現裝置137可包含VR/AR頭戴裝置且伴隨裝置138可包含智慧型手機。
在特定具體實例中,使用者可個別地或組合地使用顯現裝置137或伴隨裝置138來與輔助系統140互動。在特定具體實例中,用戶端系統130、顯現裝置137及伴隨裝置138中之一或多者可藉由持續監視與輔助系統140相關聯之一或多個喚醒字而實施多階段喚醒字偵測模型,以使得使用者能夠方便地啟動輔助系統140。在喚醒字偵測模型之第一階段處,顯現裝置137可接收音訊使用者輸入(例如,語音資料之訊框)。若在顯現裝置137與伴隨裝置138之間的無線連接係可用的,則顯現裝置137上之應用程式可經由無線連接將接收到之音訊使用者輸入傳達至伴隨裝置138上之伴隨應用程式。在喚醒字偵測模型之第二階段處,伴隨裝置138上之伴隨應用程式可處理接收到之音訊使用者輸入以偵測與輔助系統140相關聯之喚醒字。伴隨裝置138上之伴隨應用程式可接著經由無線網路110將偵測到之喚醒字傳達至與輔助系統140相關聯之伺服器。在喚醒字偵測模型之第三階段處,與輔助系統140相關聯之伺服器可對偵測到之喚醒字進行關鍵字驗證,以驗證使用者是否意欲啟動輔助系統140及接收來自輔助系統140的輔助。在替代具體實例中,處理、偵測或關鍵字驗證中之任一者可由顯現裝置137及/或伴隨裝置138進行。在特定具體實例中,當輔助系統140已由使用者啟動時,顯現裝置137上之應用程式可經組態以接收來自使用者之使用者輸入,且伴隨裝置138上之伴隨應用程式可經組態以處置由顯現裝置137上之應用程式接收到之使用者輸入(例如,使用者請求)。在特定具體實例中,顯現裝置137及伴隨裝置138可經由一或多個無線通信協定(例如,藍牙(Bluetooth))彼此相關聯(亦即,配對)。
以下實例工作流程說明顯現裝置137及伴隨裝置138可如何處置由使用者提供之使用者輸入。在此實例中,顯現裝置137上之應用程式可接收包含針對顯現裝置137之使用者請求的使用者輸入。顯現裝置137上之應用程式可接著判定在顯現裝置137與伴隨裝置138之間的無線連接之狀態(亦即,網路共用狀態)。若在顯現裝置137與伴隨裝置138之間的無線連接不可用,則顯現裝置137上之應用程式可經由網路110將使用者請求(視情況包括可用於顯現裝置137之額外資料及/或情境資訊)傳達至輔助系統140。輔助系統140可接著產生對使用者請求之回應且將所產生之回應傳達回至顯現裝置137。顯現裝置137可接著以任何合適之方式向使用者呈現回應。替代地,若在顯現裝置137與伴隨裝置138之間的無線連接可用,則顯現裝置137上之應用程式可經由無線連接將使用者請求(視情況包括可用於顯現裝置137之額外資料及/或情境資訊)傳達至伴隨裝置138上之伴隨應用程式。伴隨裝置138上之伴隨應用程式可接著經由網路110將使用者請求(視情況包括可用於伴隨裝置138之額外資料及/或情境資訊)傳達至輔助系統140。輔助系統140可接著產生對使用者請求的回應且將所產生之回應傳達回至伴隨裝置138。伴隨裝置138上之伴隨應用程式可接著將所產生之回應傳達至顯現裝置137上之應用程式。顯現裝置137可接著以任何合適之方式向使用者呈現回應。在前述實例工作流程中,顯現裝置137及伴隨裝置138可在工作流程之每一各別步驟處各自進行一或多個計算及/或程序。在特定具體實例中,本文所揭示之計算及/或程序的進行可至少部分地基於顯現裝置137及/或伴隨裝置138之裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素而自適應地在顯現裝置137與伴隨裝置138之間切換。作為一實例而非作為限制,一個因素可為在顯現裝置137與伴隨裝置138之間的無線連接之信號強度。舉例而言,若在顯現裝置137與伴隨裝置138之間的無線連接之信號強度強,則計算及程序可自適應地切換為實質上由伴隨裝置138進行,以便例如受益於伴隨裝置138之CPU的較大處理功率。替代地,若在顯現裝置137與伴隨裝置138之間的無線連接之信號強度弱,則計算及程序可自適應地切換為實質上由顯現裝置137以獨立方式進行。在特定具體實例中,若用戶端系統130不包含伴隨裝置138,則前述計算及程序可僅由顯現裝置137以獨立方式單獨進行。
在特定具體實例中,輔助系統140可輔助使用者進行各種輔助相關任務。當執行此等輔助相關任務時,輔助系統140可與社交網路連接系統160及/或第三方系統170互動。
在特定具體實例中,社交網路連接系統160可為網路可定址計算系統,其可代管線上社交網路。社交網路連接系統160可產生、儲存、接收及發送社交網路連接資料,諸如使用者資料檔資料、概念資料檔資料、社交圖資訊,或與線上社交網路相關之其他適合之資料。社交網路連接系統160可由網路環境100之其他組件直接或經由網路110進行存取。作為一實例而非作為限制,用戶端系統130可使用網頁瀏覽器132或與社交網路連接系統160相關聯之原生應用程式(例如,行動社交網路連接應用程式、訊息傳遞應用程式、另一合適之應用程式或其任何組合)直接或經由網路110來存取社交網路連接系統160。在特定具體實例中,社交網路連接系統160可包括一或多個伺服器162。每一伺服器162可為單式伺服器或橫跨多個電腦或多個資料中心之分佈式伺服器。作為一實例而非作為限制,每一伺服器162可為網頁伺服器、新聞伺服器、郵件伺服器、訊息伺服器、廣告伺服器、檔案伺服器、應用程式伺服器、交換伺服器、資料庫伺服器、代理伺服器、適合於進行本文所描述之功能或程序的另一伺服器,或其任何組合。在特定具體實例中,每一伺服器162可包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,以用於實行由伺服器162實施或支援之適當功能性。在特定具體實例中,社交網路連接系統160可包括一或多個資料儲存區164。資料儲存區164可用於儲存各種類型之資訊。在特定具體實例中,儲存於資料儲存區164中之資訊可根據特定資料結構來組織。在特定具體實例中,每一資料儲存區164可為關係、柱狀、相關性或其他適合之資料庫。儘管本發明描述或說明特定類型之資料庫,但本發明涵蓋任何合適類型之資料庫。特定具體實例可提供使得用戶端系統130、社交網路連接系統160、輔助系統140或第三方系統170能夠管理、擷取、修改、添加或刪除儲存於資料儲存區164中之資訊的介面。
在特定具體實例中,社交網路連接系統160可將一或多個社交圖儲存於一或多個資料儲存區164中。在特定具體實例中,社交圖可包括多個節點及連接節點之多個邊緣,該等節點可包括多個使用者節點(每一使用者節點對應於特定使用者)或多個概念節點(每一概念節點對應於特定概念)。社交網路連接系統160可向線上社交網路之使用者提供與其他使用者通信及互動之能力。在特定具體實例中,使用者可經由社交網路連接系統160加入線上社交網路且接著添加連接(例如,關係)至其想要連接至的社交網路連接系統160之數個其他使用者。本文中,術語「朋友」可指代使用者已經由社交網路連接系統160與其形成連接、關聯或關係之社交網路連接系統160的任何其他使用者。
在特定具體實例中,社交網路連接系統160可向使用者提供對由社交網路連接系統160支援之各種類型之項目或對象採取動作之能力。作為一實例而非作為限制,項目及對象可包括社交網路連接系統160之使用者可能所屬的群組或社交網路、使用者可能感興趣的事件或日曆條目、使用者可使用之基於電腦之應用程式、允許使用者經由服務購買或出售項目之交易、使用者可進行之與廣告之互動,或其他合適之項目或對象。使用者可與能夠在社交網路連接系統160中表示或由第三方系統170之外部系統表示之任何內容互動,該第三方系統170與社交網路連接系統160分離且經由網路110耦合至社交網路連接系統160。
在特定具體實例中,社交網路連接系統160可能夠連結多種實體。作為一實例而非作為限制,社交網路連接系統160可使得使用者能夠彼此互動以及自第三方系統170或其他實體接收內容,或允許使用者經由應用程式設計介面(application programming interface;API)或其他通信通道與此等實體互動。
在特定具體實例中,第三方系統170可包括一或多種類型之伺服器、一或多個資料儲存區、包括但不限於API之一或多個介面、一或多個網頁服務、一或多個內容源、一或多個網路,或例如伺服器可與其通信之任何其他合適之組件。第三方系統170可由不同於操作社交網路連接系統160之實體的實體操作。然而,在特定具體實例中,社交網路連接系統160及第三方系統170可彼此結合操作以將社交網路連接服務提供給社交網路連接系統160或第三方系統170之使用者。在此意義上,社交網路連接系統160可提供平台或主結構(backbone),諸如第三方系統170之其他系統可使用該平台或主結構以將社交網路連接服務及功能性提供給網際網路上之使用者。
在特定具體實例中,第三方系統170可包括第三方內容對象提供者。第三方內容對象提供者可包括內容對象之一或多個來源,該等內容對象可經傳達至用戶端系統130。作為一實例而非作為限制,內容對象可包括關於使用者感興趣的事物或活動之資訊,諸如電影放映時間、電影評論、餐廳評論、餐廳菜單、產品資訊及評論,或其他合適資訊。作為另一實例而非作為限制,內容對象可包括激勵內容對象,諸如優惠券、折扣票、禮券或其他合適激勵對象。在特定具體實例中,第三方內容提供者可使用一或多個第三方代理程式來提供內容對象及/或服務。第三方代理程式可為在第三方系統170上代管及執行之實施方案。
在特定具體實例中,社交網路連接系統160亦包括使用者產生之內容對象,其可增強使用者與社交網路連接系統160之互動。使用者產生之內容可包括使用者可添加、上傳、發送或「發佈」至社交網路連接系統160之任何內容。作為一實例而非作為限制,使用者將貼文自用戶端系統130傳達至社交網路連接系統160。貼文可包括諸如狀態更新之資料或其他文字資料、位置資訊、相片、視訊、鏈路、音樂或者其他類似資料或媒體。內容亦可由第三方經由「通信通道」(諸如新聞饋送或串流)添加至社交網路連接系統160。
在特定具體實例中,社交網路連接系統160可包括多種伺服器、子系統、程式、模組、日誌及資料儲存區。在特定具體實例中,社交網路連接系統160可包括以下各者中之一或多者:網頁伺服器、動作記錄器、API請求伺服器、相關性及排序引擎、內容對象分類器、通知控制器、動作日誌、第三方內容對象曝光日誌、推斷模組、授權/隱私伺服器、搜尋模組、廣告定位模組、使用者介面模組、使用者資料檔儲存區、連接儲存區、第三方內容儲存區,或位置儲存區。社交網路連接系統160亦可包括合適之組件,諸如網路介面、安全性機構、加載平衡器、故障接管伺服器、管理及網路操作控制台、其他合適之組件,或其任何合適組合。在特定具體實例中,社交網路連接系統160可包括用於儲存使用者資料檔之一或多個使用者資料檔儲存區。使用者資料檔可包括例如傳記(biographic)資訊、人口統計資訊、行為資訊、社交資訊或其他類型之描述性資訊,諸如工作經驗、教育歷史、業餘愛好或偏好、興趣、親和力或位置。興趣資訊可包括與一或多個類別相關之興趣。類別可為通用或特定的。作為一實例而非作為限制,若使用者「喜歡」關於鞋子品牌之文章,則類別可為品牌或「鞋」或「衣服」之通用類別。連接儲存區可用於儲存關於使用者之連接資訊。連接資訊可指示具有類似或共同工作經驗、群組會員、業餘愛好、教育歷史或以任何方式相關或具有共同屬性之使用者。連接資訊亦可包括在不同使用者與內容之間的使用者定義之連接(內部及外部兩者)。網頁伺服器可用於經由網路110將社交網路連接系統160連結至一或多個用戶端系統130或一或多個第三方系統170。網頁伺服器可包括用於接收訊息及在社交網路連接系統160與一或多個用戶端系統130之間路由訊息之郵件伺服器或另一訊息傳遞功能性。API請求伺服器可允許例如輔助系統140或第三方系統170藉由調用一或多個API以存取來自社交網路連接系統160之資訊。動作記錄器可用於自網頁伺服器接收關於使用者自社交網路連接系統160上線或下線之動作的通信。結合動作日誌,可維護使用者對第三方內容對象暴露之第三方內容對象日誌。通知控制器可將關於內容對象之資訊提供至用戶端系統130。資訊可作為通知推送至用戶端系統130,或可回應於包含自用戶端系統130接收到之使用者請求的使用者輸入以自用戶端系統130提取資訊。授權伺服器可用於推行社交網路連接系統160之使用者的一或多個隱私設定。使用者之隱私設定可判定可共用與使用者相關聯之特定資訊之方式。授權伺服器可允許使用者諸如藉由設定適當的隱私設定來選擇加入或退出使其動作由社交網路連接系統160記錄或與其他系統(例如,第三方系統170)共用。第三方內容對象儲存區可用於儲存自諸如第三方系統170之第三方接收到之內容對象。位置儲存區可用於儲存自與使用者相關聯之用戶端系統130接收到之位置資訊。廣告定價模組可組合社交資訊、當前時間、位置資訊或其他合適之資訊以將呈通知形式的相關廣告提供給使用者。
輔助系統
圖 2說明輔助系統140之實例架構200。在特定具體實例中,輔助系統140可輔助使用者獲得資訊或服務。輔助系統140可使得使用者能夠經由各種模態(例如,音訊、語音、文字、影像、視訊、手勢、運動、位置、定向)之使用者輸入在狀態及多輪次交談中與輔助系統140互動,以接收來自輔助系統140之輔助。作為一實例而非作為限制,使用者輸入可包含基於使用者之語音(例如,語音命令)之音訊輸入,其可由用戶端系統130上之系統音訊API(應用程式設計介面)處理。系統音訊API可進行包括回波消除、雜訊移除、波束成形、自使用者語音啟動、揚聲器識別、語音活動偵測(voice activity detection;VAD)及/或任何其他合適之聲學技術的技術,以便產生可易於由輔助系統140處理之音訊資料。在特定具體實例中,輔助系統140可支援單模態輸入(例如,僅語音輸入)、多模態輸入(例如,語音輸入及文字輸入)、混合/多模態輸入或其任何組合。在特定具體實例中,使用者輸入可為在單輪次中發送至輔助系統140的使用者產生之輸入。由使用者提供之使用者輸入可與特定輔助相關任務相關聯,且可包括例如使用者請求(例如,對動作之資訊或進行的口頭請求)、與輔助應用程式136(其與輔助系統140相關聯)之使用者互動(例如,經由觸控或手勢來選擇UI元素),或可由輔助系統140偵測到及理解的任何其他類型之合適之使用者輸入(例如,由使用者之用戶端裝置130偵測到之使用者移動)。
在特定具體實例中,輔助系統140可創建及儲存包含與使用者相關聯之個人及情境資訊兩者的使用者資料檔。在特定具體實例中,輔助系統140可使用自然語言理解(NLU)技術來分析使用者輸入。分析可係至少部分地基於使用者之使用者資料檔以用於更個人化及情境感知之理解。輔助系統140可基於分析來解析與使用者輸入相關聯之實體。在特定具體實例中,輔助系統140可與不同代理程式互動以獲得與經解析實體相關聯之資訊或服務。輔助系統140可藉由使用自然語言產生(NLG)來產生關於資訊或服務之對使用者的回應。經由與使用者之互動,輔助系統140可使用對話管理技術來管理及轉遞與使用者之交談流程。在特定具體實例中,輔助系統140可藉由彙總資訊進一步輔助使用者以有效且高效地分解所獲得之資訊。輔助系統140亦可藉由提供幫助使用者與線上社交網路互動(例如,創建貼文、評論、訊息)之工具來輔助使用者更多地參與線上社交網路。輔助系統140可另外輔助使用者管理不同任務,諸如追蹤事件。在特定具體實例中,輔助系統140可在無使用者輸入之情況下在與使用者相關之時間處基於使用者資料檔主動地執行與使用者興趣及偏好相關之任務。在特定具體實例中,輔助系統140可檢查隱私設定以確保存取使用者之資料檔或其他使用者資訊且執行不同任務經准許服從使用者之隱私設定。關於輔助使用者服從隱私設定之更多資訊可見於2018年11月6日申請之美國專利申請案第16/182542號,該申請案以引用方式併入。
在特定具體實例中,輔助系統140可經由在可在各種操作模式下操作之用戶端側程序及伺服器側程序兩者上建立之架構來輔助使用者。在圖2中,用戶端側程序說明於虛線202上方,而伺服器側程序說明於虛線202下方。第一操作模式(亦即,裝置上模式)可為一工作流程,其中輔助系統140處理使用者輸入,且藉由主要或獨佔地在用戶端系統130上本地端地進行用戶端側程序而向使用者提供輔助。舉例而言,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),則輔助系統140可在僅利用用戶端側程序之第一操作模式下處置使用者輸入。第二操作模式(亦即,雲端模式)可為一工作流程,其中輔助系統140處理使用者輸入,且藉由主要或獨佔地在一或多個遠端伺服器(例如,與輔助系統140相關聯之伺服器)上進行伺服器側程序而向使用者提供輔助。如圖2中所說明,第三操作模式(亦即,摻合模式)可為一並行工作流程,其中輔助系統140處理使用者輸入,且藉由結合一或多個遠端伺服器(例如,與輔助系統140相關聯之伺服器)上之伺服器側程序在用戶端系統130上本地端地進行用戶端側程序而向使用者提供輔助。舉例而言,用戶端系統130及與輔助系統140相關聯之伺服器均可進行自動話語辨識(automatic speech recognition;ASR)及自然語言理解(NLU)程序,但用戶端系統130可委託待由與輔助系統140相關聯之伺服器進行的對話、代理程式及自然語言產生(NLG)程序。
在特定具體實例中,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,如上文所描述,一個因素可為用戶端系統130之網路連接性狀態。舉例而言,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入。作為另一實例而非作為限制,另一因素可係基於用戶端系統130之可用電池功率(亦即,電池狀態)之量測值。舉例而言,若需要用戶端系統130節省電池功率(例如,當用戶端系統130具有最小可用電池功率或使用者已指示需要節省用戶端系統130之電池功率時),則輔助系統140可在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下處置使用者輸入,以便對用戶端系統130進行更少電力密集型操作。作為又一實例而非作為限制,另一因素可為一或多個隱私約束(例如,指定隱私設定、適用隱私策略)。舉例而言,若一或多個隱私約束限制或阻止特定資料傳輸至遠端伺服器(例如,與輔助系統140相關聯之伺服器),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入,以便保護使用者隱私。作為又一實例而非作為限制,另一因素可為在用戶端系統130與遠端伺服器(例如,與輔助系統140相關聯之伺服器)之間的去同步(desynchronized)情境資料。舉例而言,可判定用戶端系統130及與輔助系統140相關聯之伺服器具有不一致、丟失及/或未調和情境資料,輔助系統140可在第三操作模式(亦即,摻合模式)下處置使用者輸入,以減小與使用者輸入相關聯之不充分分析的似然性。作為又一實例而非作為限制,另一因素可為在用戶端系統130與遠端伺服器(例如,與輔助系統140相關聯之伺服器)之間的連接之等待時間的量測值。舉例而言,若與使用者輸入相關聯之任務可顯著受益於及/或要求迅速或立即執行(例如,相片俘獲任務),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入,以確保以及時方式進行任務。作為又一實例而非作為限制,另一因素可為對於與使用者輸入相關聯之任務相關的特徵,該特徵是否僅由遠端伺服器(例如,與輔助系統140相關聯之伺服器)支援。舉例而言,若相關特徵要求在使用者輸入時僅由與輔助系統140相關聯之伺服器支援且不由用戶端系統130支援的進階技術功能性(例如,高供電處理能力、快速更新循環),則輔助系統140可在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下處置使用者輸入,以便受益於相關特徵。
在特定具體實例中,用戶端系統130上之裝置上協調器206可協調接收使用者輸入,且可在實例工作流程中之一或多個決策點處判定應使用上文所描述之操作模式中之哪一者來處理或繼續處理使用者輸入。如上文所論述,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,參考圖2中所說明之工作流程架構,在自使用者接收到使用者輸入之後,裝置上協調器206可在決策點(D0)205處判定是在第一操作模式(亦即,裝置上模式)、第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下開始處理使用者輸入。舉例而言,在決策點(D0)205處,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),若一或多個隱私約束明確要求裝置上處理(例如,將另一個人添加或移除至使用者之間的私人呼叫),或若使用者輸入與不要求或不受益於伺服器側處理之任務(例如,設定鬧鐘或呼叫另一使用者)相關聯,則裝置上協調器206可選擇第一操作模式(亦即,裝置上模式)。作為另一實例,在決策點(D0)205處,若用戶端系統130需要節省電池功率(例如,當用戶端系統130具有最小可用電池功率或使用者已指示需要節省用戶端系統130之電池功率時)或需要限制計算資源之額外利用率(例如,當在用戶端裝置130上操作之其他程序要求高CPU利用率(例如,SMS訊息傳遞應用程式)時),則裝置上協調器206可選擇第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)。
在特定具體實例中,若裝置上協調器206在決策點(D0)205處判定應使用第一操作模式(亦即,裝置上模式)或第三操作模式(亦即,摻合模式)處理使用者輸入,則用戶端側程序可如圖2中所說明而繼續。作為一實例而非作為限制,若使用者輸入包含話語資料,則話語資料可在用戶端系統130上之本地端的自動話語辨識(ASR)模組208a處接收到。ASR模組208a可允許使用者口述且使話語轉錄為書面文字、使文件合成為音訊串流或發出由此系統辨識的命令。
在特定具體實例中,ASR模組208a之輸出可經發送至本地端的自然語言理解(NLU)模組210a。NLU模組210a可進行命名實體解析(named entity resolution;NER),或命名實體解析可由實體解析模組212a進行,如下文所描述。在特定具體實例中,意圖、槽或域中之一或多者可為NLU模組210a之輸出。
在特定具體實例中,使用者輸入可包含非話語資料,其可在本地端的情境引擎220a處接收到。作為一實例而非作為限制,非話語資料可包含位置、視覺、觸控、手勢、世界更新、社交更新、情境資訊、與人相關之資訊、活動資料及/或任何其他合適之類型之非話語資料。非話語資料可進一步包含由用戶端系統130之感測器(例如,麥克風、攝影機)接收到之感覺資料,其可在服從隱私約束之情況下存取且藉由電腦視覺技術進一步分析。在特定具體實例中,電腦視覺技術可包含人類重建構、人臉偵測、人臉辨識、手部追蹤、眼動追蹤及/或任何其他合適之電腦視覺技術。在特定具體實例中,非語音資料可服從幾何構造,其可包含使用由用戶端系統130收集的任何合適之類型之資料來建構使用者周圍之對象。作為一實例而非作為限制,使用者可佩戴AR眼鏡,且幾何構造可用以判定表面及項目之空間位置(例如,地板、牆壁、使用者之手部)。在特定具體實例中,非話語資料可為藉由AR眼鏡或VR頭戴裝置所俘獲之慣性資料,且該慣性資料可為與線性及角度運動相關聯之資料(例如,與使用者之身體移動相關聯之量測值)。在特定具體實例中,情境引擎220a可基於非話語資料判定各種類型之事件及情境。
在特定具體實例中,NLU模組210a及/或情境引擎220a之輸出可經發送至實體解析模組212a。實體解析模組212a可解析與由NLU模組210a輸出之一或多個槽相關聯之實體。在特定具體實例中,每一經解析實體可與一或多個實體識別符相關聯。作為一實例而非作為限制,識別符可包含對應於特定使用者之唯一使用者識別符(ID)(例如,用於社交網路連接系統160之唯一使用者名稱或使用者ID號)。在特定具體實例中,每一經解析實體亦可與可信度得分相關聯。關於解析實體之更多資訊可見於2018年7月27日申請之美國專利第10,803,050號及2018年7月27日申請之美國專利申請案第16/048072號,該等申請案中之每一者以引用方式併入。
在特定具體實例中,在決策點(D0)205處,裝置上協調器206可判定應在第二操作模式(亦即,雲端模式)下抑或第三操作模式(亦即,摻合模式)下處置使用者輸入。在此等操作模式下,使用者輸入可以與上文所描述之用戶端側程序之類似方式而由某些伺服器側模組處置。
在特定具體實例中,若使用者輸入包含話語資料,則使用者輸入之話語資料可在遠端伺服器(例如,與輔助系統140相關聯之伺服器)上之遠端的自動話語辨識(ASR)模組208b處接收到。ASR模組208b可允許使用者口述且使話語轉錄為書面文字、使文件合成為音訊串流或發出由此系統辨識的命令。
在特定具體實例中,ASR模組208b之輸出可經發送至遠端的自然語言理解(NLU)模組210b。在特定具體實例中,NLU模組210b可進行命名實體解析(NER),或命名實體解析可由對話管理器模組216b之實體解析模組212b進行,如下文所描述。在特定具體實例中,意圖、槽或域中之一或多者可為NLU模組210b之輸出。
在特定具體實例中,使用者輸入可包含非話語資料,其可在遠端的情境引擎220b處接收到。在特定具體實例中,遠端情境引擎220b可基於非話語資料來判定各種類型之事件及情境。在特定具體實例中,NLU模組210b及/或情境引擎220b之輸出可經發送至遠端對話管理器216b。
在特定具體實例中,如上文所論述,用戶端系統130上之裝置上協調器206可協調接收使用者輸入,且可在實例工作流程中之一或多個決策點處判定應使用上文所描述之操作模式中之哪一者來處理或繼續處理使用者輸入。如上文進一步論述,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,繼續參考圖2中所說明之工作流程架構,在實體解析模組212a產生輸出或空輸出之後,裝置上協調器206可在決策點(D1)215處判定是在第一操作模式(亦即,裝置上模式)、第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下繼續處理使用者輸入。舉例而言,在決策點(D1)215處,若識別出之意圖與等待時間敏感之處理任務(例如,拍攝相片、暫停秒表)相關聯,則裝置上協調器206可選擇第一操作模式(亦即,裝置上模式)。作為另一實例而非作為限制,若訊息傳遞任務未由用戶端系統130上之裝置上處理支援,則裝置上協調器206可選擇第三操作模式(亦即,摻合模式)以處理與訊息傳遞請求相關聯之使用者輸入。作為又一實例,在決策點(D1)215處,若正處理之任務要求存取未儲存於用戶端系統130上之社交圖、知識圖或概念圖,則裝置上協調器206可選擇第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)。替代地,若包括任務之必需資訊的資訊圖之充分版本存在於用戶端系統130上(例如,知識圖之更小及/或自啟式版本),則裝置上協調器206可改為選擇第一操作模式(亦即,裝置上模式)。
在特定具體實例中,若裝置上協調器206在決策點(D1)215處判定處理應繼續使用第一操作模式(亦即,裝置上模式)或第三操作模式(亦即,摻合模式),則用戶端側程序可如圖2中所說明而繼續。作為一實例而非作為限制,來自實體解析模組212a的輸出可經發送至裝置上對話管理器216a。在特定具體實例中,裝置上對話管理器216a可包含對話狀態追蹤器218a及動作選擇器222a。裝置上對話管理器216a可具有複雜對話邏輯及產品相關商業邏輯,以管理在使用者與輔助系統140之間的對話狀態及交談流程。裝置上對話管理器216a可包括端對端整合及多輪次支援之全功能性(例如,確認、不明確消除)。裝置上對話管理器216a亦可相對於包括記憶體、計算(CPU)及二進位大小約束之計算限制及資源而為輕量型。裝置上對話管理器216a亦可為可擴展以改良開發者體驗。在特定具體實例中,裝置上對話管理器216a可例如藉由提供離線支援以減輕網路連接性問題(例如,不穩定或不可用網路連接)、藉由使用用戶端側程序來防止隱私敏感資訊自用戶端系統130傳輸出去,及藉由在高等待時間敏感情形中提供穩定使用者體驗而使輔助系統140受益。
在特定具體實例中,裝置上對話管理器216a可進一步進行錯誤觸發緩解。錯誤觸發緩解之實施方案可偵測及防止來自使用者輸入之錯誤觸發(否則其將調用輔助系統140(例如,非預期之喚醒字)),且可進一步防止輔助系統140基於可能不準確及/或經歷隱私約束之錯誤觸發而產生資料記錄。作為一實例而非作為限制,若使用者處於語音呼叫,則使用者在語音呼叫期間之交談可視為私人的,且錯誤觸發緩解可限制對由使用者之用戶端系統130本地端地接收到之音訊使用者輸入的喚醒字之偵測。在特定具體實例中,裝置上對話管理器216a可基於無意義偵測器來實施錯誤觸發緩解。若無意義偵測器以高可信度判定接收到之喚醒字在其自使用者接收到之時間點處在邏輯及/或情境上係不合理的,則裝置上對話管理器216a可判定使用者並不意欲調用輔助系統140。
在特定具體實例中,歸因於用戶端系統130之有限計算能力,裝置上對話管理器216a可基於尤其針對用戶端系統130自訂之學習演算法進行裝置上學習。作為一實例而非作為限制,可由裝置上對話管理器216a來實施聯合學習技術。聯合學習為特定類別之分佈式機器學習技術,其可使用儲存於終端裝置(例如,行動電話)上之分散式資料來訓練機器學習模型。在特定具體實例中,裝置上對話管理器216a可使用聯合使用者表現學習模型將現有神經網路個人化技術擴展至由裝置上對話管理器216a進行之聯合學習的實施。聯合使用者表現學習可藉由學習任務特定使用者表示(亦即,嵌入(embedding))及/或藉由個人化模型權重對聯合學習模型進行個人化。聯合使用者表現學習為簡單、可擴展、隱私保護且資源高效的。聯合使用者表現學習可將模型參數劃分成聯合及私人參數。私人參數(諸如私人使用者嵌入)可在用戶端系統130上本地端地經訓練而非傳送至遠端伺服器(例如,與輔助系統140相關聯之伺服器)或由該遠端伺服器求平均。相比之下,聯合參數可在伺服器上遠端地經訓練。在特定具體實例中,裝置上對話管理器216a可使用主動聯合學習模型,其可將在遠端伺服器上訓練之全域模型傳輸至用戶端系統130且在用戶端系統130上本地端地計算梯度。主動聯合學習可使得裝置上對話管理器216a能夠最小化與下載模型及上載梯度相關聯之傳輸成本。對於主動聯合學習,在每一輪次中,均可至少部分地基於在當前模型上調節之機率及用戶端系統130上之資料以半隨機方式選擇用戶端系統130,以便最佳化訓練聯合學習模型之效率。
在特定具體實例中,當使用者與世界互動且輔助系統140與使用者互動時,對話狀態追蹤器218a可追蹤隨時間推移之狀態變化。作為一實例而非作為限制,對話狀態追蹤器218a可在服從適用隱私策略之情況下追蹤例如使用者正談論何內容、使用者與誰在一起、使用者在何處、當前正進行何任務,及使用者正凝視何處。
在特定具體實例中,在決策點(D1)215處,裝置上協調器206可判定針對第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)將使用者輸入轉遞至伺服器。作為一實例而非作為限制,若特定功能性或程序(例如,訊息傳遞)未由用戶端系統130上支援,則裝置上協調器206可在決策點(D1)215處判定使用第三操作模式(亦即,摻合模式)。在特定具體實例中,裝置上協調器206可使得經由對話管理器代理224將來自NLU模組210a、情境引擎220a及實體解析模組212a之輸出轉遞至遠端的對話管理器216b之實體解析模組212b以繼續處理。對話管理器代理224可為用於在用戶端系統130與伺服器之間的資訊/事件交換之通信通道。在特定具體實例中,對話管理器216b可另外包含遠端的仲裁器226b、遠端的對話狀態追蹤器218b及遠端的動作選擇器222b。在特定具體實例中,輔助系統140可能已在決策點(D0)205處開始使用第二操作模式(亦即,雲端模式)處理使用者輸入,且裝置上協調器206可在決策點(D1)215處判定基於第二操作模式(亦即,雲端模式)繼續處理使用者輸入。因此,可在遠端的實體解析模組212b處接收到來自NLU模組210b及情境引擎220b之輸出。遠端的實體解析模組212b可具有與本地端的實體解析模組212a類似之功能性,該實體解析模組212a可包含與槽相關聯之解析實體。在特定具體實例中,實體解析模組212b可在解析實體時存取社交圖、知識圖或概念圖中之一或多者。可在仲裁器226b處接收到來自實體解析模組212b之輸出。
在特定具體實例中,遠端的仲裁器226b可負責在用戶端側上游結果與伺服器側上游結果(例如,來自NLU模組210a/210b之結果、來自實體解析模組212a/212b之結果,及來自情境引擎220a/220b之結果)之間進行選擇。仲裁器226b可將所選之上游結果發送至遠端的對話狀態追蹤器218b。在特定具體實例中,類似於本地端的對話狀態追蹤器218a,遠端的對話狀態追蹤器218b可使用任務規格(task specification)將上游結果轉換成候選任務且用實體解析來解析引數。
在特定具體實例中,在決策點(D2)225處,裝置上協調器206可判定是基於第一操作模式(亦即,裝置上模式)繼續處理使用者輸入抑或針對第三操作模式(亦即,摻合模式)將使用者輸入轉遞至伺服器。決策可取決於例如用戶端側程序是否能夠成功地解析任務及槽、是否存在具有特定特徵支援之有效任務策略,及/或在用戶端側程序與伺服器側程序之間的情境差異。在特定具體實例中,在決策點(D2)225處進行之決策可用於多輪次情形。在特定具體實例中,可存在至少兩種可能情形。在第一情形中,輔助系統140可能已使用用戶端側對話狀態在第一操作模式(亦即,裝置上模式)下開始處理使用者輸入。若在一些時刻輔助系統140決定切換為使遠端伺服器處理使用者輸入,則輔助系統140可創建具有當前任務狀態之程式化/預定義任務且將其轉遞至遠端伺服器。對於後續輪次,輔助系統140可使用伺服器側對話狀態在第三操作模式(亦即,摻合模式)下繼續處理。在另一情形中,輔助系統140可能已在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下開始處理使用者輸入,且可實質上依賴於用於所有後續輪次之伺服器側對話狀態。若裝置上協調器206判定基於第一操作模式(亦即,裝置上模式)繼續處理使用者輸入,則可在動作選擇器222a處接收到來自對話狀態追蹤器218a之輸出。
在特定具體實例中,在決策點(D2)225處,裝置上協調器206可判定是在第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下將使用者輸入轉遞至遠端伺服器且繼續處理使用者輸入。輔助系統140可創建具有當前任務狀態之程式化/預定義任務且將其轉遞至伺服器,可在動作選擇器222b處接收到該程式化/預定義任務。在特定具體實例中,在決策點(D2)225處,輔助系統140可能已在第二操作模式(亦即,雲端模式)下開始處理使用者輸入,且裝置上協調器206可判定在第二操作模式(亦即,雲端模式)下繼續處理使用者輸入。因此,可在動作選擇器222b處接收到來自對話狀態追蹤器218b之輸出。
在特定具體實例中,動作選擇器222a/222b可進行互動管理。動作選擇器222a/222b可判定及觸發普通可執行動作集合。動作可在用戶端系統130上或在遠端伺服器處執行。作為一實例而非作為限制,此等動作可包括向使用者提供資訊或建議。在特定具體實例中,動作可與代理程式228a/228b、使用者及/或輔助系統140自身互動。此等動作可包含包括槽請求、確認、不明確消除或代理程式執行中之一或多者的動作。動作可獨立於動作選擇器222a/222b之基礎實施方案。對於更複雜之情形,諸如多輪次任務或具有複雜商業邏輯之任務,本地端的動作選擇器222a可呼叫本地端的一或多個代理程式228a,且遠端的動作選擇器222b可呼叫遠端的一或多個代理程式228b以執行動作。代理程式228a/228b可經由任務ID調用,且可使用彼任務ID將任何動作路由至正確代理程式228a/228b。在特定具體實例中,代理程式228a/228b可經組態以充當跨一個域之複數個內容提供者之仲介程式(broker)。內容提供者可為負責實行與意圖相關聯之動作或完成與意圖相關聯之任務的實體。在特定具體實例中,代理程式228a/228b可為輔助系統140提供若干功能性,包括例如本機模板產生、任務特定商業邏輯及查詢外部API。當針對任務執行動作時,代理程式228a/228b可使用來自對話狀態追蹤器218a/218b之情境,且亦可更新對話狀態追蹤器218a/218b。在特定具體實例中,代理程式228a/228b亦可自對話動作產生部分有效負載。
在特定具體實例中,本地端的代理程式228a可具有針對不同平台(例如,智慧型眼鏡對比於VR頭戴裝置)所編譯/註冊之不同實施方案。在特定具體實例中,多個裝置特定實施方案(例如,用戶端系統130之即時呼叫或用戶端系統130上之訊息傳遞應用程式)可由單一代理程式228a內部地處置。替代地,裝置特定實施方案可由與多個域相關聯之多個代理程式228a處置。作為一實例而非作為限制,在智慧型眼鏡上呼叫代理程式228a可以與在智慧型手機上呼叫代理程式228a不同之方式來實施。不同平台亦可利用不同數目個代理程式228a。代理程式228a亦可跨平台(亦即,用戶端系統130上之不同作業系統)。另外,代理程式228a可具有最小化之啟動時間或二進位大小影響。本地端的代理程式228a可適合於特定使用案例。作為一實例而非作為限制,一個使用案例可為用戶端系統130上之緊急呼叫。作為另一實例而非作為限制,另一使用案例可為在無網路連接性之情況下對使用者輸入作出回應。作為又一實例而非作為限制,另一使用案例可為特定域/任務可為隱私敏感的且可禁止使用者輸入發送至遠端伺服器。
在特定具體實例中,本地端的動作選擇器222a可呼叫本地端的遞送系統230a以執行動作,且遠端的動作選擇器222b可呼叫遠端的遞送系統230b以執行動作。遞送系統230a/230b可在自對話狀態追蹤器218a/218b接收到觸發信號後即刻藉由執行對應動作來遞送預定義事件。遞送系統230a/230b可確保將事件遞送至具有活動連接之主機。作為一實例而非作為限制,遞送系統230a/230b可廣播至屬於一個使用者之所有線上裝置。作為另一實例而非作為限制,遞送系統230a/230b可將事件遞送至目標特定裝置。遞送系統230a/230b可使用最新裝置情境進一步顯現有效負載。
在特定具體實例中,裝置上對話管理器216a可另外包含單獨本地端動作執行模組,且遠端的對話管理器216b可另外包含單獨遠端動作執行模組。本地端執行模組及遠端動作執行模組可具有類似功能性。在特定具體實例中,動作執行模組可呼叫代理程式228a/228b執行任務。動作執行模組可另外進行由動作選擇器222a/222b判定之普通可執行動作集合。可執行動作集合可經由遞送系統230a/230b與代理程式228a/228b、使用者及輔助系統140自身互動。
在特定具體實例中,若使用第一操作模式(亦即,裝置上模式)處置使用者輸入,則可將來自代理程式228a及/或遞送系統230a之結果傳回至裝置上對話管理器216a。裝置上對話管理器216a可接著指示本地端的仲裁器226a基於此等結果來產生最終回應。仲裁器226a可聚合結果且評估該等結果。作為一實例而非作為限制,仲裁器226a可對結果進行排序且選擇最佳結果以對使用者輸入作出回應。若在第二操作模式(亦即,雲端模式)下處置使用者請求,則可將來自代理程式228b及/或遞送系統230b之結果傳回至遠端的對話管理器216b。遠端的對話管理器216b可經由對話管理器代理224指示仲裁器226a基於此等結果來產生最終回應。類似地,仲裁器226a可分析結果且選擇最佳結果以提供給使用者。若基於第三操作模式(亦即,摻合模式)處置使用者輸入,則可分別藉由裝置上對話管理器216a及遠端的對話管理器216b將用戶端側結果及伺服器側結果(例如,來自代理程式228a/228b及/或遞送系統230a/230b)兩者提供至仲裁器226a。仲裁器226可接著在用戶端側結果與伺服器側結果之間進行選擇以判定呈現給使用者之最終結果。在特定具體實例中,在此等結果之間進行決定之邏輯可取決於特定使用案例。
在特定具體實例中,本地端的仲裁器226a可基於最終結果來產生回應且將其發送至顯現輸出模組232。顯現輸出模組232可判定如何以適合於用戶端系統130之方式顯現輸出。作為一實例而非作為限制,對於VR頭戴裝置或AR智慧型眼鏡,顯現輸出模組232可判定使用可經由VR頭戴裝置或AR智慧型眼鏡顯示的基於視覺之模態(例如,影像或視訊剪輯)來顯現輸出。作為另一實例,回應可顯現為可由使用者經由VR頭戴裝置或AR智慧型眼鏡播放之音訊信號。作為又一實例,回應可顯現為用於增強使用者體驗之擴增實境資料。
在特定具體實例中,除了判定用以處理使用者輸入之操作模式,裝置上協調器206亦可判定是在顯現裝置137上處理使用者輸入、在伴隨裝置138上處理使用者輸入抑或在遠端伺服器上處理使用者請求。顯現裝置137及/或伴隨裝置138可各自以與上文所揭示類似之方式使用輔助堆疊來處理使用者輸入。作為一實例而非作為限制,裝置上協調器206可判定應在顯現裝置137上進行處理之部分、應在伴隨裝置138上進行處理之部分及應在遠端伺服器上進行其餘處理。
在特定具體實例中,輔助系統140可具有多種能力,包括音訊認知、視覺認知、信號智慧、推理及記憶。在特定具體實例中,音訊認知之能力可使得輔助系統140能夠例如理解與不同語言中之各種域相關聯之使用者之輸入、理解及彙總交談、進行裝置上音訊認知以用於複雜命令、藉由語音識別使用者、自交談及交談之自動標記區段提取話題、在無喚醒字之情況下啟用音訊互動、自環境雜訊及交談過濾及放大使用者語音,及/或在附近存在多個用戶端系統130之情況下理解使用者正與哪一用戶端系統130說話。
在特定具體實例中,視覺認知之能力可使得輔助系統140能夠例如進行人臉偵測及追蹤、辨識使用者、以不同角度在大城市區域中辨識感興趣之人、經由現有機器學習模型與一次性學習之組合在世界辨識感興趣之對象、辨識感興趣之時刻且自動俘獲該時刻、達成跨不同時間片段之多個視覺訊框上之語義理解、為人、場所或對象辨識中之額外能力提供平台支援、辨識完整設定集合及包括個人化位置之微定位、辨識複雜活動、辨識複雜手勢以控制用戶端系統130、處置來自自我中心(egocentric)攝影機之影像/視訊(例如具有運動、俘獲角、解析度)、實現關於具有較低解析度之影像的類似位準之準確度及速度、進行人、場所及對象之一次性註冊及辨識,及/或在用戶端系統130上進行視覺辨識。
在特定具體實例中,輔助系統140可充分利用電腦視覺技術來達成視覺認知。除了電腦視覺技術,輔助系統140亦可探索可補充此等技術之選項以使對象辨識之規模擴大。在特定具體實例中,輔助系統140可使用補充信號來識別使用者,該等信號諸如對象之標記的光學字元辨識(optical character recognition;OCR)、用於場所辨識之GPS信號,及/或來自使用者之用戶端系統130的信號。在特定具體實例中,輔助系統140可進行普通場景辨識(例如,家、工作、公共空間)以設定使用者之情境,且減小電腦視覺搜尋空間以識別可能之對象或人。在特定具體實例中,輔助系統140可指導使用者訓練輔助系統140。舉例而言,群眾外包(crowdsourcing)可用於讓使用者標記對象且幫助輔助系統140隨時間推移辨識更多對象。作為另一實例,當使用輔助系統140時,使用者可註冊其個人對象作為初始設置之部分。輔助系統140可進一步允許使用者為與其互動之對象提供正/負信號以針對該等使用者來訓練及改良個人化模型。
在特定具體實例中,信號智慧之能力可使得輔助系統140能夠例如判定使用者位置、理解日期/時間、判定家人位置、理解使用者之行事曆及未來所要位置、整合更豐富聲音理解以經由僅聲音來識別設定/情境,及/或在運行時間建立可經個人化至使用者之個別常式的信號智慧模型。
在特定具體實例中,推理之能力可使得輔助系統140能夠例如在未來任何時刻拾取先前交談執行緒、合成所有信號以理解微情境及個人化情境、自使用者之歷史行為學習互動模式及偏好且準確地建議其可能重視之互動、基於微情境理解來產生高度預測主動之建議、理解使用者可能在一天中之何時想要看到何內容,及/或理解場景之變化及其可如何影響使用者之所要內容。
在特定具體實例中,記憶之能力可使得輔助系統140能夠例如記住使用者先前呼叫或與之互動的哪些社交連接、寫入至記憶中及任意查詢記憶(亦即,開放口述及自動標籤)、基於先前互動及長期學習來提取更豐富偏好、記住使用者之生活歷史、自自我中心之資料串流及自動目錄提取豐富資訊,及/或以結構化形式寫入至記憶以形成豐富之短期、情節性及長期記憶。
圖 3說明輔助系統140之實例流程圖300。在特定具體實例中,輔助服務模組305可在接收到使用者輸入後即刻存取請求管理器310。在特定具體實例中,請求管理器310可包含情境提取器312及交談式理解對象產生器(CU對象產生器)314。情境提取器312可提取與使用者輸入相關聯之情境資訊。情境提取器312亦可基於在用戶端系統130上執行之輔助應用程式136來更新情境資訊。作為一實例而非作為限制,情境資訊之更新可包含顯示於用戶端系統130上之內容項目。作為另一實例而非作為限制,情境資訊之更新可包含是否在用戶端系統130上設定鬧鐘。作為另一實例而非作為限制,情境資訊之更新可包含是否在用戶端系統130上播放歌曲。CU對象產生器314可產生與使用者輸入相關之特定CU對象。CU對象可包含與使用者輸入相關聯之對話會話資料及特徵,其可與輔助系統140之所有模組共用。在特定具體實例中,請求管理器310可在資料儲存區320中儲存情境資訊及所產生之CU對象,該資料儲存區320為實施於輔助系統140中之特定資料儲存區。
在特定具體實例中,請求管理器310可將所產生之CU對象發送至NLU模組210。NLU模組210可進行複數個步驟以處理CU對象。NLU模組210可首先經由允許清單(allowlist)/阻擋清單(blocklist)330運行CU對象。在特定具體實例中,允許清單/阻擋清單330可包含匹配使用者輸入之解譯資料。NLU模組210可接著進行CU對象之特徵化332。NLU模組210可接著基於由特徵化332引起之特徵對使用者輸入進行域分類/選擇334以將使用者輸入分類至預定義域中。在特定具體實例中,域可表示互動(例如,教育)之社交情境,或用於意圖集合(例如,音樂)之名字空間。域分類/選擇結果可基於兩個相關過程進一步處理。在一個過程中,NLU模組210可使用後設意圖分類器336a來處理域分類/選擇結果。後設意圖分類器336a可判定描述使用者之意圖的類別。意圖可為語義意向之預定義分類學中之元素,其可指示使用者與輔助系統140互動之目的。NLU模組210a可將使用者輸入分類至預定義分類學之成員中。舉例而言,使用者輸入可為「播放貝多芬第五號(Beethoven's 5th)」且NLU模組210a可將該輸入分類為具有意圖[IN:play_music]。在特定具體實例中,為多個域所共用之意圖可由後設意圖分類器336a處理。作為一實例而非作為限制,後設意圖分類器336a可係基於機器學習模型,該機器學習模型可採用域分類/選擇結果作為輸入且計算輸入與特定預定義後設意圖相關聯之機率。NLU模組210可接著使用後設槽標記器338a來註解來自後設意圖分類器336a之分類結果的一或多個後設槽。槽可為對應於表示基本語義實體之使用者輸入內的字元串之命名子串。舉例而言,「披薩」之槽可為[SL:dish]。在特定具體實例中,有效或預期命名槽集合可在分級意圖上調節。作為一實例而非作為限制,對於意圖[IN:play_music],有效槽可為[SL:song_name]。在特定具體實例中,後設槽標記器338a可標記通用槽,諸如參考項目(例如,第一)、槽之類型、槽之值等。在特定具體實例中,NLU模組210可使用意圖分類器336b來處理域分類/選擇結果。意圖分類器336b可判定與使用者輸入相關聯之使用者之意圖。在特定具體實例中,可存在針對每一域之一個意圖分類器336b以判定給定域中之最可能意圖。作為一實例而非作為限制,意圖分類器336b可係基於機器學習模型,該機器學習模型可採用域分類/選擇結果作為輸入且計算輸入與特定預定義意圖相關聯之機率。NLU模組210可接著使用槽標記器338b來註解與使用者輸入相關聯之一或多個槽。在特定具體實例中,槽標記器338b可註解用於使用者輸入之n元語法的一或多個槽。作為一實例而非作為限制,使用者輸入可包含「將我帳戶中的500美元變成日元」。意圖分類器336b可採用使用者輸入作為輸入且將其公式化成向量。槽標記器338b可接著基於在表示字的向量與表示不同預定義槽的向量之間的向量比較來計算每一字與不同預定義槽相關聯之機率。使用者之意圖可分類為「改變貨幣」。使用者輸入之槽可包含「500」、「美元」、「帳戶」及「日元」。使用者之後設意圖可分類為「財務服務」。後設槽可包含「財務」。
在特定具體實例中,自然語言理解(NLU)模組210可另外自社交圖、知識圖或概念圖中之一或多者提取資訊,且可擷取在用戶端系統130上本地端地儲存的使用者之資料檔。NLU模組210可在分析使用者輸入時另外考慮情境資訊。NLU模組210可藉由以下操作進一步處理來自此等不同來源之資訊:識別及聚合資訊、註解使用者輸入之n元語法、基於所聚合資訊用可信度得分對n元語法進行排序,及將經排序n元語法公式化成可由NLU模組210用於理解使用者輸入的特徵。在特定具體實例中,NLU模組210可以個人化及情境感知方式而識別來自使用者輸入之域、意圖或槽中之一或多者。作為一實例而非作為限制,使用者輸入可包含「向我展示如何到達咖啡館」。NLU模組210可基於使用者之個人資訊及相關聯情境資訊來識別使用者想要到達之特定咖啡館。在特定具體實例中,NLU模組210可包含特定語言之專門字典、剖析器及文法規則以將句子分割成內部表示。NLU模組210亦可包含進行原初語義或隨機語義分析之一或多個程式,且可進一步使用語用學來理解使用者輸入。在特定具體實例中,剖析器可係基於包含多個長短期記憶(long-short term memory;LSTM)網路之深度學習架構。作為一實例而非作為限制,剖析器可係基於遞迴神經網路文法(recurrent neural network grammar;RNNG)模型,其為一種類型之遞迴及遞歸LSTM演算法。關於自然語言理解(NLU)之更多資訊可見於2018年6月18日申請之美國專利申請案第16/011062號、2018年7月2日申請之美國專利申請案第16/025317號,及2018年7月17日申請之美國專利申請案第16/038120號,該等申請案中之每一者以引用方式併入。
在特定具體實例中,可將NLU模組210之輸出發送至實體解析模組212以解析相關實體。實體可包括例如唯一使用者或概念,其中之每一者可具有唯一識別符(identifier;ID)。實體可包括真實世界實體(來自常識基礎)、使用者實體(來自使用者記憶)、情境實體(裝置情境/對話情境)或值解析(數字、日期時間等)中之一或多者。在特定具體實例中,實體解析模組212可包含域實體解析340及通用實體解析342。實體解析模組212可執行通用及域特定實體解析。通用實體解析342可藉由將槽及後設槽歸類成不同通用話題來解析實體。域實體解析340可藉由將槽及後設槽歸類成不同域來解析實體。作為一實例而非作為限制,回應於特定品牌之電動汽車之優勢的查詢之輸入,通用實體解析342可將參考品牌之電動汽車解析為車輛且域實體解析340可將參考品牌之電動汽車解析為電動汽車。
在特定具體實例中,可基於關於世界及使用者之知識350來解析實體。輔助系統140可自圖352提取本體資料。作為一實例而非作為限制,圖352可包含知識圖、社交圖或概念圖中之一或多者。本體資料可包含在不同槽/後設槽與域之間的結構關係。本體資料亦可包含槽/後設槽可如何分組之資訊,在其中更高層級包含域之階層內相關,且根據相似度及差異來細分。舉例而言,知識圖可包含複數個實體。每一實體可包含與一或多個屬性值相關聯之單一記錄。特定記錄可與唯一實體識別符相關聯。每一記錄可具有實體之屬性的多樣值。每一屬性值可與可信度機率及/或語義權重相關聯。屬性值之可信度機率表示值對於給定屬性係準確的機率。屬性值之語義權重可表示在語義上適合於給定屬性之值如何考慮所有可用資訊。舉例而言,知識圖可包含標題為「BookName」之書的實體,其可包括自多個內容來源(例如,線上社交網路、線上百科全書、書評來源、媒體資料庫及娛樂內容來源)提取之資訊,該資訊可經去重、解析及融合以產生用於知識圖之單一唯一記錄。在此實例中,標題為「BookName」之實體可與「內容類型」實體屬性之「奇幻」屬性值相關聯。關於知識圖之更多資訊可見於2018年7月27日申請之美國專利申請案第16/048049號及2018年7月27日申請之美國專利申請案第16/048101號,該等申請案中之每一者以引用方式併入。
在特定具體實例中,輔助使用者記憶體(assistant user memory;AUM)354可包含使用者情節性記憶,該等使用者情節性記憶幫助判定如何更有效地輔助使用者。AUM 354可為用於儲存、擷取、索引及搜尋使用者資料之中心場所。作為一實例而非作為限制,AUM 354可儲存資訊,諸如連絡人、相片、提醒等。另外,AUM 354可將資料自動同步至伺服器及其他裝置(僅針對非敏感資料)。作為一實例而非作為限制,若使用者在一個裝置上為連絡人設定暱稱,則所有裝置可基於AUM 354同步且獲取彼暱稱。在特定具體實例中,AUM 354可首先準備事件、使用者狀態、提醒及觸發狀態以用於儲存於資料儲存區中。可創建記憶節點識別符(ID)以將條目對象儲存於AUM 354中,其中條目可為關於使用者之資訊(例如,相片、提醒等)之一些片段。作為一實例而非作為限制,記憶節點ID之前幾個位元可指示此為記憶節點ID類型,下一位元可為使用者ID,且下一位元可為創建時間。AUM 354可接著視需要索引此等資料以供擷取。索引ID可出於此目的而創建。在特定具體實例中,在給出「索引關鍵字」(例如,PHOTO_LOCATION)及「索引值」(例如,「舊金山」)之情況下,AUM 354可獲取具有彼屬性(例如,在舊金山之相片)之記憶ID之清單。作為一實例而非作為限制,前幾個位元可指示此為索引ID類型,下一位元可為使用者ID,且下一位元可編碼「索引關鍵字」及「索引值」。AUM 354可進一步使用靈活查詢語言進行資訊擷取。關係索引ID可出於此目的而創建。在特定具體實例中,在給出來源記憶節點及邊緣類型之情況下,AUM 354可自該來源獲取具有彼類型之傳出邊緣的所有目標節點之記憶ID。作為一實例而非作為限制,前幾個位元可指示此為關係索引ID類型,下一位元可為使用者ID,且下一位元可為來源節點ID及邊緣類型。在特定具體實例中,AUM 354可幫助偵測不同事件之同時更新。關於情節性記憶之更多資訊可見於2019年8月27日申請之美國專利申請案第16/552559號,其以引用方式併入。
在特定具體實例中,實體解析模組212可使用不同技術來解析不同類型之實體。對於真實世界實體,實體解析模組212可使用知識圖來解析實體之跨度,諸如「音樂軌」、「電影」等。對於使用者實體,實體解析模組212可使用使用者記憶或一些代理程式來解析使用者特定實體之跨度,諸如「連絡人」、「提醒」或「關係」。對於情境實體,實體解析模組212可基於來自情境引擎220之資訊進行互參以解析對情境中之實體的參考,諸如「他」、「她」、「第一個」或「最末一個」。在特定具體實例中,為了互參,實體解析模組212可創建由NLU模組210判定之實體的參考。實體解析模組212可接著準確地解析此等參考。作為一實例而非作為限制,使用者輸入可包含「為我尋找最近的雜貨店且引導我去那裏」。基於互參,實體解析模組212可將「那裏」解譯為「最近的雜貨店」。在特定具體實例中,互參可取決於來自情境引擎220及對話管理器216之資訊以便以改良之準確度來解譯參考。在特定具體實例中,實體解析模組212可在情境(裝置情境或對話情境)下另外解析實體,諸如展示於螢幕上之實體或來自最末交談歷史之實體。對於值解析,實體解析模組212可解析對呈標準化形式的精確值(諸如數值、日期時間、地址等)之提及。
在特定具體實例中,實體解析模組212可首先對適用隱私約束進行檢查,以便保證進行實體解析並不違反任何適用隱私策略。作為一實例而非作為限制,待解析之實體可為另一使用者,該使用者在其隱私設定中指定不可在線上社交網路上搜尋到其身分。在此情況下,實體解析模組212可制止回應於使用者輸入而傳回使用者之實體識別符。藉由利用自社交圖、知識圖、概念圖及使用者資料檔獲得之所描述資訊,且藉由遵從任何適用隱私策略,實體解析模組212可以個人化、情境感知且隱私受保護之方式解析與使用者輸入相關聯之實體。
在特定具體實例中,實體解析模組212可與ASR模組208一起工作以進行實體解析。以下實例說明實體解析模組212可如何解析實體名稱。實體解析模組212可首先將與使用者相關聯之名稱擴展成其各別正規化文字形式作為語音(phonetic)輔音表示,其可使用雙元電話演算法在語音上經轉錄。實體解析模組212可接著判定候選轉錄之最佳
n個集合,且對候選轉錄之最佳
n個集合中之所有語音轉錄進行並行理解程序。在特定具體實例中,解析至同一意圖的每一轉錄可接著折疊成單一意圖。每一意圖可接著經指派對應於用於彼意圖之最高得分候選轉錄的得分。在折疊期間,實體解析模組212可識別與每一槽相關聯之各種可能文字轉錄,其藉由與槽之轉錄相關聯之邊界時序偏移予以相關。實體解析模組212可接著自複數個(例如,1000個)候選轉錄提取每一槽之可能候選轉錄之子集,而不管其是否分類至同一意圖。以此方式,槽及意圖可為片語之評分清單。在特定具體實例中,能夠處置意圖之新或運行任務可經識別出且具備意圖(例如,用於將訊息發送至另一使用者的意圖之訊息編制(composition)任務。識別出之任務可接著藉由向其提供與其槽中之一者相關聯之片語之評分清單及應針對其解析的類別來觸發實體解析模組212。作為一實例而非作為限制,若實體屬性經指定為「朋友」,則實體解析模組212可經由可在匹配器編譯時間運行之同一擴展運行術語之每一候選清單。術語之每一候選擴展可匹配於預編譯線索匹配結構中。匹配可使用至少部分地基於經轉錄輸入、經匹配形式及朋友名稱之函數來評分。作為另一實例而非作為限制,若實體屬性經指定為「名人/著名的人」,則實體解析模組212可針對自ASR模組208輸出的槽之術語之每一候選集合的知識圖進行並行搜尋。實體解析模組212可基於經匹配個人風行度及ASR提供之分數信號而對匹配進行評分。在特定具體實例中,當指定記憶類別時,實體解析模組212可針對使用者記憶進行相同搜尋。實體解析模組212可後向爬行使用者記憶且嘗試匹配每一記憶(例如,在交談中最近提及,或經由視覺信號發現及辨識出的人等)對於每一實體,實體解析模組212可類似於如何匹配朋友(亦即,語音)之方式而採用匹配。在特定具體實例中,評分可包含與先前提及名稱之時近性相關聯之時間衰變因數。實體解析模組212可進一步對所有匹配進行組合、分選及去重。在特定具體實例中,任務可接收候選集合。當存在多個高評分候選時,實體解析模組212可進行使用者促進之不明確消除(例如,自使用者獲取對此等候選之即時使用者回饋)。
在特定具體實例中,情境引擎220可幫助實體解析模組212改良實體解析。情境引擎220可包含離線聚合器及線上推斷服務。離線聚合器可處理與使用者相關聯之自先前時間視窗收集的複數個資料。作為一實例而非作為限制,資料可包括在預定時間框(例如,自前90天視窗)期間收集之新聞饋送貼文/評論、與新聞饋送貼文/評論之互動、搜尋歷史等。處理結果可儲存於情境引擎220中作為使用者資料檔之部分。使用者之使用者資料檔可包含使用者資料檔資料,其包括與使用者相關聯之人口統計資訊、社交資訊及情境資訊。使用者資料檔資料亦可包括使用者對複數個話題之興趣及偏好,其經由新聞饋送上之交談、搜尋日誌、訊息傳遞平台等聚合。使用者資料檔之使用可服從隱私約束以確保可僅出於使用者之益處而使用他/她之資訊,且不與其他任何人共用。關於使用者資料檔之更多資訊可見於2018年4月30日申請之美國專利申請案第15/967239號,其以引用方式併入。在特定具體實例中,線上推斷服務可分析由輔助系統140在當前時間接收到之與使用者相關聯之交談式資料。分析結果可亦作為使用者資料檔之部分而儲存於情境引擎220中。在特定具體實例中,離線聚合器及線上推斷服務兩者可自複數個資料提取個人化特徵。所提取之個人化特徵可由輔助系統140之其他模組用以更佳地理解使用者輸入。在特定具體實例中,實體解析模組212可在基於自然語言處理(NLP)之以下步驟中處理來自情境引擎220之資訊(例如,使用者資料檔)。在特定具體實例中,實體解析模組212可基於NLP藉由文字正規化使文字符記化,自文字提取語法特徵,且自文字提取語義特徵。實體解析模組212可另外自情境資訊提取特徵,該情境資訊係存取自在使用者與輔助系統140之間的對話歷史。實體解析模組212可基於情境資訊進一步進行全域字嵌入、域特定嵌入,及/或動態嵌入。可藉由實體標記器用實體來註解處理結果。基於註解,實體解析模組212可產生詞典。在特定具體實例中,詞典可包含可動態地離線更新之全域詞典特徵。實體解析模組212可對由實體標記器標記之實體進行排序。在特定具體實例中,實體解析模組212可與包括社交圖、知識圖或概念圖中之一或多者之不同圖352通信,以提取與自情境引擎220擷取的資訊相關之本體資料。在特定具體實例中,實體解析模組212可基於使用者資料檔、經排序實體及來自圖352之資訊進一步解析實體。
在特定具體實例中,實體解析模組212可由任務(對應於代理程式228)驅動。處理次序之此反轉可使得可能將存在於任務中之域知識應用於預過濾器或偏向解析目標集合(當其明顯且適合於如此做時)。作為一實例而非作為限制,對於發音「John是誰?」,發音中未暗示清晰類別。因此,實體解析模組212可針對所有事物解析「John」。作為另一實例而非作為限制,對於發音「發送訊息給John」,實體解析模組212可容易地判定「John」指代可進行訊息傳遞之個人。因此,實體解析模組212可將解析偏向於朋友。作為另一實例而非作為限制,對於發音「John最著名的專輯是哪張?」,為了解析「John」,實體解析模組212可首先判定對應於發音之任務,其為尋找音樂專輯。實體解析模組212可判定與音樂專輯相關之實體包括歌手、生產商及錄音工作室。因此,實體解析模組212可在音樂域中之此等類型之實體當中搜尋以解析「John」。
在特定具體實例中,可將實體解析模組212之輸出發送至對話管理器216以推進與使用者之交談流程。對話管理器216可為反覆地更新狀態且基於新狀態選擇動作的異步狀態機。對話管理器216可另外儲存在使用者與輔助系統140之間的先前交談。在特定具體實例中,對話管理器216可進行對話最佳化。對話最佳化係關於理解及識別與使用者之對話中的最可能分支選項之挑戰。作為一實例而非作為限制,輔助系統140可實施對話最佳化技術以消除對確認使用者想要呼叫之人的需要,此係由於輔助系統140可判定基於情境及可用資料推斷出的個人為意欲接收者的高可信度。在特定具體實例中,對話管理器216可實施加強學習構架以改良對話最佳化。對話管理器216可包含對話意圖解析356、對話狀態追蹤器218及動作選擇器222。在特定具體實例中,對話管理器216可執行所選動作且接著再次呼叫對話狀態追蹤器218,直至所選動作要求使用者回應或不再存在待執行之動作為止。每一所選動作可取決於來自先前動作之執行結果。在特定具體實例中,對話意圖解析356可基於在使用者與輔助系統140之間的對話歷史來解析與當前對話會話相關聯之使用者意圖。對話意圖解析356可將由NLU模組210判定之意圖映射至不同對話意圖。對話意圖解析356可基於來自NLU模組210、實體解析模組212之信號及在使用者與輔助系統140之間的對話歷史進一步將對話意圖進行排序。
在特定具體實例中,對話狀態追蹤器218可使用運算子集合來追蹤對話狀態。運算子可包含更新對話狀態所必需之資料及邏輯。每一運算子可在處理傳入使用者輸入之後充當對話狀態之增量。在特定具體實例中,對話狀態追蹤器218可包含任務追蹤器,其可係基於任務規格及不同規則。對話狀態追蹤器218亦可包含槽追蹤器及互參組件,其可為基於規則的及/或基於時近性的。互參組件可幫助實體解析模組212解析實體。在替代具體實例中,使用互參組件,對話狀態追蹤器218可替換實體解析模組212且可解析任何參考/提及且追蹤狀態。在特定具體實例中,對話狀態追蹤器218可使用任務規格將上游結果轉換成候選任務且用實體解析來解析引數。可追蹤使用者狀態(例如,使用者之當前活動)及任務狀態(例如,觸發條件)兩者。在給出當前狀態之情況下,對話狀態追蹤器218可產生輔助系統140可針對使用者而處理及進行之候選任務。作為一實例而非作為限制,候選任務可包括「展示建議」、「獲取天氣資訊」或「拍攝相片」。在特定具體實例中,對話狀態追蹤器218可基於來自例如知識圖、使用者記憶及使用者任務歷史之可用資料產生候選任務。在特定具體實例中,對話狀態追蹤器218可接著使用經解析引數來解析觸發對象。作為一實例而非作為限制,使用者輸入「今晚在媽媽上線並且我在家時提醒我呼叫她」可由對話狀態追蹤器218進行自NLU輸出至觸發表示之轉換:
在以上實例中,「媽媽」、「家」及「今晚」由其各別實體personEntity、locationEntity、datetimeEntity表示。
NLU本體表示: [IN:CREATE_SMART_REMINDER Remind me to [SL:TODO call mom] when [SL:TRIGGER_CONJUNCTION [IN:GET_TRIGGER [SL:TRIGGER_SOCIAL_UPDATE she's online] and I'm [SL:TRIGGER_LOCATION home] [SL:DATE_TIME tonight] ] ] ] | → | 觸發表示: 觸發:{ andTriggers: [ condition: {ContextualEvent(mom is online)}, condition: {ContextualEvent(location is home)}, condition: {ContextualEvent(time is tonight)}]))]} |
在特定具體實例中,對話管理器216可將由情境引擎220判定之事件映射至動作。作為一實例而非作為限制,動作可為自然語言產生(NLG)之動作、顯示或覆疊、裝置動作或擷取動作。對話管理器216亦可進行情境追蹤及互動管理。情境追蹤可包含將事件之即時串流聚合成統一使用者狀態。互動管理可包含選擇每一狀態下的最佳動作。在特定具體實例中,對話狀態追蹤器218可進行情境追蹤(亦即,追蹤與使用者相關之事件)。為支援事件串流之處理,對話狀態追蹤器218a可使用可消耗各種類型之事件且更新內部輔助狀態的事件處置程式(例如,用於不明確消除、確認、請求)。每一事件類型可具有一或多個處置程式。每一事件處置程式可修改輔助狀態之某一片段。在特定具體實例中,事件處置程式可在狀態之不相交子集上操作(亦即,在該狀態下僅一個處置程式可具有對特定欄位之寫入存取)。在特定具體實例中,所有事件處置程式均可具有處理給定事件之機會。作為一實例而非作為限制,對話狀態追蹤器218可對每一事件並行運行所有事件處置程式,且接著可合併由每一事件處置程式所提出之狀態更新(例如,對於每一事件,大部分處置程式可傳回NULL更新)。
在特定具體實例中,對話狀態追蹤器218可作為要求版本管理之任何程式化處置程式(邏輯)而工作。在特定具體實例中,對話狀態追蹤器218可為無副作用組件且產生向對話狀態提出更新之最佳n個候選的對話狀態更新運算子,而非直接更改對話狀態。對話狀態追蹤器218可包含含有基於對話狀態處置不同類型之NLU意圖且產生運算子之邏輯的意圖解析器。在特定具體實例中,邏輯可由意圖處置程式組織,諸如用以在輔助系統140要求不明確消除時處置意圖之不明確消除意圖處置程式、包含用以處置確認之邏輯的確認意圖處置程式等。意圖解析器可連同對話狀態一起組合輪次意圖以產生用於與使用者交談的情境更新。槽解析組件可接著使用包括知識圖及域代理程式之解析提供者以遞歸方式解析在更新運算子中之槽。在特定具體實例中,對話狀態追蹤器218可更新當前對話會話之對話狀態/對該對話狀態進行排序。作為一實例而非作為限制,若對話會話結束,則對話狀態追蹤器218可將對話狀態更新為「已完成」。作為另一實例而非作為限制,對話狀態追蹤器218可基於與對話狀態相關聯之優先級來對該對話狀態進行排序。
在特定具體實例中,對話狀態追蹤器218可關於對話意圖及相關聯內容對象而與動作選擇器222通信。在特定具體實例中,動作選擇器222可針對不同對話意圖對不同對話假設進行排序。動作選擇器222可獲得對話狀態之候選運算子且查閱對話策略360以決定應執行何動作。在特定具體實例中,對話策略360可為基於樹型之策略,其為預建構對話計劃。基於當前對話狀態,對話策略360可選擇執行之節點且產生對應動作。作為一實例而非作為限制,基於樹型之策略可包含話題分組節點及對話動作(葉)節點。在特定具體實例中,對話策略360亦可包含描述由代理程式228進行之動作的執行計劃之資料結構。對話策略360可進一步包含經由邏輯運算子彼此相關之多個目標。在特定具體實例中,目標可為對話策略之一部分的結果且其可由對話管理器216建構。目標可由具有一或多個命名引數之識別符(例如,字串)來表示,該一或多個命名引數使目標參數化。作為一實例而非作為限制,具有其相關聯目標引數之目標可表示為{confirm_artist, args:{artist: “Madonna”}}。在特定具體實例中,目標可映射至對話策略360之樹型結構化表示之樹的葉。
在特定具體實例中,輔助系統140可使用分級對話策略360,其中通用策略362處置跨域商業邏輯且任務策略364處置任務/域特定邏輯。通用策略362可用於並非特定針對個別任務之動作。通用策略362可用於判定任務堆疊及切換、主動任務、通知等。通用策略362可包含處置低可信度意圖、內部錯誤、具有重試之不可接受的使用者回應,及/或基於ASR或NLU可信度得分而跳過或插入確認。通用策略362亦可包含對來自對話狀態追蹤器218輸出之對話狀態更新候選進行排序且選取一者來更新(諸如選取最高排序任務意圖)的邏輯。在特定具體實例中,輔助系統140可具有用於通用策略362之特定介面,其允許將分散之跨域策略/商業規則(尤其對話狀態追蹤器218中發現之彼等跨域策略/商業規則)合併至動作選擇器222之功能中。用於通用策略362之介面亦可允許製作可與特定情形或用戶端相聯繫的自持式子策略單元(例如,可基於用戶端、情形而容易地接通或斷開的策略功能)。用於通用策略362之介面亦可允許提供具有退避之策略的分層,亦即多個策略單元,其中處理特定情形之高度專用策略單元藉由在更廣泛情形下應用之更通用策略362來備份。在此情境中,通用策略362可替代地包含意圖或任務特定策略。
在特定具體實例中,任務策略364可包含基於任務及當前狀態之動作選擇器222的邏輯。任務策略364可為動態及特用的。在特定具體實例中,任務策略364之類型可包括以下類型中之一或多者:(1)手動精製之基於樹型之對話計劃;(2)直接實施用於產生動作之介面的經寫碼策略;(3)組態器指定之槽填補任務;或(4)自資料學習之基於機器學習模型的策略。在特定具體實例中,輔助系統140可藉由基於規則之邏輯來啟動新域且稍後藉由機器學習模型來優化任務策略364。在特定具體實例中,通用策略362可自候選運算子選取一個運算子以更新對話狀態,隨後藉由任務策略364選擇面向使用者之動作。一旦任務在對話狀態中處於作用中,即可查詢對應任務策略364以選擇正確動作。
在特定具體實例中,動作選擇器222可基於由情境引擎220判定之事件、對話意圖及狀態、相關聯內容對象及來自對話策略360之指導中之一或多者來選擇動作。每一對話策略360可在狀態之欄位上訂用特定條件。在事件經處理且狀態經更新之後,動作選擇器222可運行快速搜尋演算法(例如,類似於布林型(Boolean)可滿足性)以基於當前狀態來識別應觸發哪些策略。在特定具體實例中,若觸發多個策略,則動作選擇器222可使用聯繫破壞(tie-breaking)機制來選取特定策略。替代地,動作選擇器222可使用更複雜的方法,其可演習每一策略且接著選取可經判定具有較高成功可能性之特定策略。在特定具體實例中,將事件映射至動作可產生輔助系統140之若干技術優勢。一個技術優勢可包括每一事件可為來自使用者或使用者之實體/數位環境的狀態更新,其可或可不觸發來自輔助系統140之動作。另一技術優勢可包括藉由首先消耗所有事件以更新狀態且接著觸發來自最終狀態之動作來處置事件之快速叢發(例如,使用者進入新建築物且看到許多人)的可能性。另一技術優勢可包括將所有事件消耗成單一全域輔助狀態。
在特定具體實例中,動作選擇器222可採用對話狀態更新運算子作為輸入之部分以選擇對話動作。對話動作之執行可產生預期之集合以指示對話狀態追蹤器218處置未來輪次。在特定具體實例中,預期可用以在處置來自下一輪次之使用者輸入時將情境提供至對話狀態追蹤器218。作為一實例而非作為限制,槽請求對話動作可具有證明所請求槽之值的預期。在特定具體實例中,對話狀態追蹤器218及動作選擇器222兩者可不改變對話狀態,直至執行所選動作為止。此可允許輔助系統140執行對話狀態追蹤器218及動作選擇器222以用於處理推測性ASR結果,且藉由演習進行最佳
n個排序。
在特定具體實例中,動作選擇器222可調用不同代理程式228以用於任務執行。同時,對話管理器216可接收更新對話狀態的指令。作為一實例而非作為限制,更新可包含等待代理程式228之回應。代理程式228可在註冊之內容提供者當中選擇以完成動作。資料結構可由對話管理器216基於意圖及與意圖相關聯之一或多個槽來建構。在特定具體實例中,代理程式228可包含第一方代理程式及第三方代理程式。在特定具體實例中,第一方代理程式可包含可由輔助系統140存取及控制之內部代理程式(例如,與由線上社交網路提供之服務(諸如訊息傳遞服務或相片共用服務)相關聯之代理程式)。在特定具體實例中,第三方代理程式可包含輔助系統140無控制之外部代理程式(例如,第三方線上音樂應用程式代理程式、票證銷售代理程式)。第一方代理程式可與提供由社交網路連接系統160代管之內容對象及/或服務的第一方提供者相關聯。第三方代理程式可與提供由第三方系統170代管之內容對象及/或服務的第三方提供者相關聯。在特定具體實例中,第一方代理程式或第三方代理程式中之每一者可經指定用於特定域。作為一實例而非作為限制,域可包含天氣、運輸、音樂、購物、社交、視訊、相片、事件、位置及/或工作。在特定具體實例中,輔助系統140可合作地使用複數個代理程式228來對使用者輸入作出回應。作為一實例而非作為限制,使用者輸入可包含「引導我去我的下一會議」。輔助系統140可使用行事歷代理程式來擷取下一會議之位置。輔助系統140可接著使用導航代理程式將使用者引導至下一會議。
在特定具體實例中,對話管理器216可支援槽提及之多輪次組成解析。對於來自NLU模組210之組成剖析,解析器可以遞歸方式解析巢套式槽。對話管理器216可另外支援巢套式槽之不明確消除。作為一實例而非作為限制,使用者輸入可為「提醒我呼叫Alex」。解析器可能需要在創建可行提醒項目待辦事項實體之前知曉呼叫哪個Alex。當需要針對特定槽之進一步使用者說明時,解析器可停止解析且設定解析狀態。通用策略362可檢查解析狀態且創建用於使用者說明之對應對話動作。在對話狀態追蹤器218中,基於使用者輸入及最末對話動作,對話管理器216可更新巢套式槽。此能力可允許輔助系統140不僅與使用者互動以收集缺失槽值且亦減少完成任務之更複雜/不明確發音的不明確性。在特定具體實例中,對話管理器216可進一步支援請求巢套式意圖及多意圖使用者輸入(例如,「拍攝此相片並將其發送給爸爸」)中之缺失槽。在特定具體實例中,對話管理器216可支援機器學習模型以提供更穩固對話體驗。作為一實例而非作為限制,對話狀態追蹤器218可使用基於神經網路之模型(或任何其他合適之機器學習模型)來模型化對任務假設之信念。作為另一實例而非作為限制,對於動作選擇器222,最高優先級策略單元可包含可能必須藉由設計發生之白名單/黑名單來覆蓋;中間優先級單元可包含經設計用於動作選擇之機器學習模型;且較低優先級單元可包含在機器學習模型選擇不對情形作處置時的基於規則之後援。在特定具體實例中,基於機器學習模型之通用策略單元可幫助輔助系統140減少冗餘不明確消除或確認步驟,藉此減少執行使用者輸入之輪次數目。
在特定具體實例中,由動作選擇器222判定之動作可發送至遞送系統230。遞送系統230可包含CU編排器370、回應產生組件380、對話狀態寫入組件382及文字至話語(text-to-speech;TTS)組件390。特定而言,動作選擇器222之輸出可在CU編排器370處接收到。在特定具體實例中,來自動作選擇器222之輸出可公式化為<
k,c,u,d>元組,其中
k指示知識源,
c指示通信目標,
u指示使用者模型,且
d指示話語模型。
在特定具體實例中,CU編排器370可使用自然語言產生(NLG)組件372產生用於使用者之通信內容。在特定具體實例中,NLG組件372可使用不同語言模型及/或語言模板來產生自然語言輸出。自然語言輸出之產生可為應用程式特定的。亦可針對每一使用者將自然語言輸出之產生個人化。在特定具體實例中,NLG組件372可包含內容判定組件、句子規劃器及表面實現組件。內容判定組件可基於知識源、通信目標及使用者之預期來判定通信內容。作為一實例而非作為限制,判定可基於描述邏輯。描述邏輯可包含例如作為個人(表示域中之對象)、概念(描述個人集合)及角色(表示在個人或概念之間的二進位關係)的三個基本概念。描述邏輯之特徵可在於允許自然語言產生器自基元一(atomic one)來建立複雜概念/角色之建構器集合。在特定具體實例中,內容判定組件可進行以下任務以判定通信內容。第一任務可包含轉譯任務,其中可將至NLG組件372之輸入轉譯為概念。第二任務可包含選擇任務,其中可基於使用者模型自轉譯任務產生之彼等概念當中選擇相關概念。第三任務可包含驗證任務,其中可驗證所選概念之一致性。第四任務可包含執行個體化任務,其中經驗證概念可經執行個體化為可由NLG組件372處理之可執行檔案。句子規劃器可判定通信內容之組織以使其可為人類所理解。表面實現組件可判定待使用之特定字、句子序列及通信內容之風格。
在特定具體實例中,CU編排器370亦可使用UI有效負載產生器374來判定所產生通信內容之模態。由於所產生通信內容可視為對使用者輸入之回應,因此CU編排器370可另外使用回應排序器376對所產生通信內容進行排序。作為一實例而非作為限制,排序可指示回應之優先級。在特定具體實例中,CU編排器370可包含可與NLG組件372分離之自然語言合成(NLS)組件。NLS組件可指定由CU編排器370產生之經合成話語之屬性,包括性別、音量、語速(pace)、風格或語體(register),以便自訂針對特定使用者、任務或代理程式之回應。NLS組件可在不參與相關聯任務之實施的情況下調諧語言合成。在特定具體實例中,CU編排器370可檢查與使用者相關聯之隱私約束以確保通信內容之產生遵循隱私策略。關於自訂自然語言產生(NLG)之更多資訊可見於2018年4月30日申請之美國專利申請案第15/967279號,及2018年4月30日申請之美國專利申請案第15/966455號,該等申請案以引用方式併入。
在特定具體實例中,遞送系統230可基於CU編排器370之輸出進行不同任務。此等任務可包括使用對話狀態寫入組件382將對話狀態寫入(亦即,儲存/更新)至資料儲存區330中,且使用回應產生組件380來產生回應。在特定具體實例中,若通信內容之經判定模態為音訊,則可另外將CU編排器370之輸出發送至TTS組件390。在特定具體實例中,可接著將自遞送系統230之包含所產生回應、通信內容或由TTS組件390產生之話語中之一或多者的輸出發送回至對話管理器216。
在特定具體實例中,協調器206可基於實體解析模組212之輸出來判定是在用戶端系統130上抑或伺服器上或在使用兩者之第三操作模式(亦即,摻合模式)下處理使用者輸入。除判定如何處理使用者輸入以外,協調器206可接收來自代理程式228之結果及/或來自由對話管理器216提供之遞送系統230的結果。協調器206可接著將此等結果轉遞至仲裁器226。仲裁器226可聚合此等結果,分析該等結果,選擇最佳結果,且將所選結果提供至顯現輸出模組232。在特定具體實例中,仲裁器226可查閱對話策略360以在分析此等結果時獲得指導。在特定具體實例中,顯現輸出模組232可產生適合於用戶端系統130之回應。
圖 4說明處理使用者輸入之實例任務中心流程圖400。在特定具體實例中,輔助系統140可不僅輔助使用者之語音起始體驗,且亦輔助使用者之在理解使用者情境時起始之更主動、多模態體驗。在特定具體實例中,出於此目的,輔助系統140可依賴於輔助任務。輔助任務可為跨整個輔助堆疊共用以理解使用者意向、與使用者及世界互動以完成使用者之正確任務的中心概念。在特定具體實例中,輔助任務可為輔助能力之基元單元。其可包含資料提取、更新某一狀態、執行某一命令或由較小任務集合構成之複雜任務。正確且成功地完成任務以將值遞送至使用者可為最佳化輔助系統140之目標。在特定具體實例中,輔助任務可定義為能力或特徵。若輔助任務具有完全相同要求,則可跨多個產品表面共用該輔助任務,因此其可易於追蹤。其亦可自裝置傳遞至裝置,且易於由另一裝置拾取中間任務,此係由於基元單元一致。另外,輔助任務之一致格式可允許開發者對輔助堆疊中之不同模組進行工作以更易於圍繞其進行設計。此外,其可允許任務共用。作為一實例而非作為限制,若使用者正收聽智慧型眼鏡上之音樂,則使用者可說「在我的電話上播放此音樂」。在電話已喚醒或具有待執行任務之情況下,智慧型眼鏡可制訂提供至電話的任務,該任務可接著由電話執行以開始播放音樂。在特定具體實例中,若輔助任務具有不同預期行為,則其可由每一表面分別保留。在特定具體實例中,輔助系統140可基於不同模態或其他信號中之使用者輸入來識別右側任務,進行交談以收集所有必要資訊,且藉由在伺服器上或本地端產品表面實施於內部或外部之動作選擇器222來完成彼任務。在特定具體實例中,輔助堆疊可包含處理喚醒之組件、辨識使用者輸入、理解使用者意向、推理任務之情況、履行藉由語音產生自然語言回應之任務的集合。
在特定具體實例中,使用者輸入可包含話語輸入。話語輸入可在用於自話語輸入提取文字轉錄之ASR模組208處接收到。ASR模組208可使用統計模型來判定對應於藉由輔助系統140接收到作為音訊輸入之話語之給定部分的字之最可能序列。模型可包括隱藏式馬可夫(hidden Markov)模型、神經網路、深度學習模型或其任何組合中之一或多者。接收到之音訊輸入可以特定取樣率(例如,16、44.1或96 kHz)且以表示每一樣本的特定數目個位元(例如,8個、16個或24個位元)來編碼成數位資料。
在特定具體實例中,ASR模組208可包含字素至音素(grapheme-to-phoneme;G2P)模型、發音學習模型、個人化聲學模型、個人化語言模型(personalized language model;PLM)或結束指向(end-pointing)模型中之一或多者。在特定具體實例中,字素至音素(G2P)模型可用於判定使用者之字素至音素風格(亦即,當特定使用者說出特定字時可聽起來像什麼)。在特定具體實例中,個人化聲學模型可為在語言中音訊信號與語音單位之聲音之間的關係之模型。因此,此個人化聲學模型可識別使用者之語音聽起來如何。個人化聲學模型可使用諸如接收到作為音訊輸入之訓練話語及對應於該話語之對應語音單位的訓練資料來產生。個人化聲學模型可使用特定使用者之語音來訓練或優化以辨識彼使用者之話語。在特定具體實例中,個人化語言模型可接著判定對應於針對特定音訊輸入識別出之語音單位的最可能片語。個人化語言模型可為各種字序列可能出現於語言中之機率的模型。音訊輸入中之語音單位之聲音可使用個人化語言模型與字序列匹配,且較大權重可指派給更可能為語言中之片語的字序列。具有最高權重之字序列可接著經選擇為對應於音訊輸入之文字。在特定具體實例中,個人化語言模型亦可用於預測使用者在一情境下最可能說出之字。在特定具體實例中,結束指向模型可偵測發音之結束何時到達。在特定具體實例中,至少部分地基於用戶端系統130之有限計算能力,輔助系統140可在用戶端側程序期間的運行時間下最佳化個人化語言模型。作為一實例而非作為限制,輔助系統140可針對使用者可能談論之複數個可能主題來預計算複數個個人化語言模型。當使用者輸入與對輔助的請求相關聯時,輔助系統140可基於使用者活動在運行時間即時在預計算之語言模型之間切換且本地端地最佳化預計算之語言模型。因此,輔助系統140可在高效地識別與使用者輸入相關聯之主題的同時節省計算資源。在特定具體實例中,輔助系統140亦可在運行時間動態地重新學習使用者發音。
在特定具體實例中,使用者輸入可包含非話語輸入。非話語輸入可在情境引擎220處接收到以用於自非話語輸入判定事件及情境。情境引擎220可判定多模態事件,其包含語音/文字意圖、位置更新、視覺事件、觸控、凝視、手勢、活動、裝置/應用程式事件及/或任何其他合適類型之事件。語音/文字意圖可取決於ASR模組208及NLU模組210。位置更新可由對話管理器216消耗以支援各種主動/反應性情形。視覺事件可基於出現在使用者之視場中的人或物件。此等事件可由對話管理器216消耗且在暫時使用者狀態下記錄以支援視覺共參考(例如,解析「
那件襯衫多少錢?」中之「那件」且解析「將我的連絡人發給
他」中之「他」)。凝視、手勢及活動可使得旗標經設定於可對動作選擇器222作調節之暫時使用者狀態(例如,使用者正跑步)下。對於裝置/應用程式事件,若應用程式對裝置狀態進行更新,則此可發佈給輔助系統140,使得對話管理器216可使用此情境(當前向使用者顯示何內容)來處置反應性及主動情形。作為一實例而非作為限制,情境引擎220可使得推播通知訊息顯示於使用者之用戶端系統130之顯示螢幕上。使用者可與推播通知訊息互動,此可起始多模態事件(例如,用於回復自另一使用者接收到之訊息的事件工作流程)。其他實例多模態事件可包括看到朋友、看到地標、在家、跑步、在相片中辨識到臉部、藉由觸控起始呼叫、藉由觸控拍攝相片、打開應用程式等。在特定具體實例中,情境引擎220亦可基於世界/社交更新(例如,天氣變化、在線上交的朋友)來判定世界/社交事件。社交更新可包含使用者訂用之事件(例如,朋友之生日、貼文、評論、其他通知)。此等更新可由對話管理器216消耗以基於情境來觸發主動動作(例如,建議使用者在朋友生日時呼叫朋友,但僅當使用者並未專注於其他某事時才如此)。作為一實例而非作為限制,接收訊息可為社交事件,其可觸發向使用者讀出訊息之任務。
在特定具體實例中,來自ASR模組208之文字轉錄可發送至NLU模組210。NLU模組210可處理文字轉錄且提取使用者意向(亦即,意圖),且基於語言本體來剖析槽或剖析結果。在特定具體實例中,來自NLU模組210之意圖及槽及/或來自情境引擎220之事件及情境可發送至實體解析模組212。在特定具體實例中,實體解析模組212可基於來自NLU模組210及/或情境引擎220之輸出而解析與使用者輸入相關聯之實體。實體解析模組212可使用不同技術來解析實體,包括自輔助使用者記憶體(AUM)354存取使用者記憶。在特定具體實例中,AUM 354可包含有助於藉由實體解析模組212來解析實體的使用者情節性記憶。AUM 354可為儲存、擷取、索引及搜尋使用者資料之中心場所。
在特定具體實例中,實體解析模組212可將意圖、槽、實體、事件、情境或使用者記憶中之一或多者提供至對話狀態追蹤器218。對話狀態追蹤器218可相應地識別任務的狀態候選之集合,與使用者互動以收集必要資訊以填補狀態,且調用動作選擇器222以履行任務。在特定具體實例中,對話狀態追蹤器218可包含任務追蹤器410。任務追蹤器410可追蹤與輔助任務相關聯之任務狀態。在特定具體實例中,任務狀態可為資料結構的持久性跨互動輪次,且即時更新以在整個互動期間俘獲任務之狀態。任務狀態可包含關於任務執行狀態之所有當前資訊,諸如引數、確認狀態、可信度得分等。任務狀態下之任何不正確或過時資訊可導致故障或不正確任務執行。任務狀態亦可充當用於許多其他組件(諸如ASR模組208、NLU模組210等)之情境資訊集合。
在特定具體實例中,任務追蹤器410可包含意圖處置程式411、任務候選排序模組414、任務候選產生模組416及合併層419。在特定具體實例中,任務可藉由其ID名稱來識別。若在任務規格中未明確設定,則任務ID可用以使對應組件資產相關聯,諸如對話策略360、代理程式執行、NLG對話動作等。因此,來自實體解析模組212的輸出可由任務候選產生模組416之任務ID解析組件417接收以解析對應任務之任務ID。在特定具體實例中,任務ID解析組件417可調用任務規格管理器API 430以存取觸發規格及部署規格以用於解析任務ID。在給出此等規格之情況下,任務ID解析組件417可使用意圖、槽、對話狀態、情境及使用者記憶來解析任務ID。
在特定具體實例中,任務之技術規格可由任務規格定義。任務規格可由輔助系統140使用以觸發任務、進行對話交談及尋找正確執行模組(例如,代理程式228)來執行任務。任務規格可為產品要求文件之實施方案。其可充當所有組件同意之一般合約及要求。其可視為產品之裝配規格,而所有開發夥伴基於規格來遞送模組。在特定具體實例中,可在規格之實施方案中定義輔助任務。作為一實例而非作為限制,任務規格可定義為以下類別。一個類別可為基本任務結構描述,其包含諸如ID、名稱及輸入引數之結構描述的基本識別資訊。另一類別可為觸發規格,其係關於可如何觸發任務,諸如意圖、事件訊息ID等。另一類別可為交談規格,其係用於對話管理器216進行與使用者及系統之交談。另一類別可為執行規格,其係關於將如何執行及履行任務。另一類別可為部署規格,其係關於如何將特徵部署至某些表面、本地端及使用者群組。
在特定具體實例中,任務規格管理器API 430可為用於存取任務規格管理器之API。任務規格管理器可為在運行時間堆疊中用於自所有任務載入規格且提供介面以存取所有任務規格以獲得詳細資訊或產生任務候選之模組。在特定具體實例中,任務規格管理器針對運行時間堆疊中之所有組件經由任務規格管理器API 430為可存取的。任務規格管理器可包含靜態公用程式功能集合以藉由任務規格管理器來管理任務,諸如藉由平台過濾任務候選。在登入任務規格之前,輔助系統140亦可動態地載入任務規格以支援開發階段上之端對端開發。
在特定具體實例中,任務規格可由域分組且儲存於運行時間組態435中。運行時間堆疊可在建立時間期間自運行時間組態435載入所有任務規格。在特定具體實例中,在運行時間組態435中,對於域,可存在
cconf檔案及
cinc檔案(例如,sidechef_task.cconf及sidechef_task.inc)。作為一實例而非作為限制,<domain>_tasks.cconf可包含任務規格之所有細節。作為另一實例而非作為限制,若尚未支援彼特徵,則<domain>_tasks.cinc可提供覆蓋所產生規格之方式。
在特定具體實例中,任務執行可能要求執行引數集合。因此,引數解析組件418可使用經解析任務ID之引數規格來解析引數名稱。此等引數可基於NLU輸出(例如,槽[SL:連絡人])、對話狀態(例如,短期呼叫歷史)、使用者記憶(諸如使用者偏好、位置、長期呼叫歷史等)或裝置情境(諸如計時器狀態、螢幕內容等)來解析。在特定具體實例中,引數模態可為文字、音訊、影像或其他結構化資料。槽至引數映射可由填補策略及/或語言本體來定義。在特定具體實例中,在給出任務觸發規格之情況下,任務候選產生模組416可基於經解析任務ID及引數來尋找待作為任務候選觸發的任務清單。
在特定具體實例中,所產生的任務候選可發送至待進一步排序之任務候選排序模組414。任務候選排序模組414可使用基於規則之排序器415對其進行排序。在特定具體實例中,基於規則之排序器415可包含用以使某些域任務偏向之試探法集合。排序邏輯可如下文藉由情境優先級之原理加以描述。在特定具體實例中,使用者指定之任務之優先級可高於前台任務(on-foreground task)。當意圖為後設意圖時,前台任務之優先級可高於裝置域任務。裝置域任務之優先級可高於觸發意圖域之任務。作為一實例而非作為限制,若在發音中提及或指定任務域,諸如「在TIMER應用程式中創建計時器」,則排序可選取任務。作為另一實例而非作為限制,若任務域處於前台或作用中狀態(諸如「停止計時器」以停止計時器),同時TIMER應用程式在前台且存在作用中計時器,則排序可選取任務。作為又一實例而非作為限制,若意圖為通用後設意圖,且任務為裝置控制同時不存在另一作用中應用程式或作用中狀態,則排序可選取任務。作為又一實例而非作為限制,若任務與意圖域相同,則排序可選取任務。在特定具體實例中,任務候選排序模組414可自訂一些更多邏輯以檢查意圖/槽/實體類型之匹配。經排序任務候選可發送至合併層419。
在特定具體實例中,來自實體解析模組212之輸出亦可發送至意圖處置程式411之任務ID解析組件412。任務ID解析組件412可類似於任務ID解析組件417而解析對應任務之任務ID。在特定具體實例中,意圖處置程式411可另外包含引數解析組件413。引數解析組件413可類似於引數解析組件418使用針對經解析任務ID之引數規格來解析引數名稱。在特定具體實例中,意圖處置程式411可應對任務不可知特徵且可不在任務特定之任務規格內表達。意圖處置程式411可輸出任務候選以外的狀態候選,諸如引數更新、確認更新、不明確消除更新等。在特定具體實例中,一些任務可能要求不可由其他任務再使用之極複雜觸發條件或極複雜引數填補邏輯,即使在任務規格中支援該等其他任務(例如,呼叫中語音命令、經由[IN:PLAY_MEDIA]之媒體任務等)亦是如此。意圖處置程式411亦可適合於此類型之任務。在特定具體實例中,來自意圖處置程式411之結果可優先於來自任務候選排序模組414之結果。來自意圖處置程式411之結果亦可發送至合併層419。
在特定具體實例中,合併層419可組合來自意圖處置程式411之結果及來自任務候選排序模組414之結果。對話狀態追蹤器218可將每一任務建議為供對話策略360選擇之新狀態,藉此產生狀態候選清單。可進一步將經合併結果發送至交談理解加強引擎(conversational understanding reinforcement engine;CURE)追蹤器420。在特定具體實例中,CURE追蹤器420可為用以改良由對話狀態追蹤器218使用即時使用者回饋在不同情境下來判定狀態候選之個人化學習程序。關於交談理解加強引擎之更多資訊可見於2021年2月26日申請之美國專利申請案第17/186459號,其以引用方式併入。
在特定具體實例中,由CURE追蹤器420產生之狀態候選可發送至動作選擇器222。動作選擇器222可查閱任務策略364,該等任務策略364可自經由任務規格管理器API 430存取之執行規格來產生。在特定具體實例中,執行規格可描述應如何執行任務及動作選擇器222可需要採取何動作以完成任務。
在特定具體實例中,動作選擇器222可判定與系統相關聯之動作。此類動作可涉及待執行之代理程式228。因此,動作選擇器222可將系統動作發送至代理程式228,且代理程式228可傳回此等動作之執行結果。在特定具體實例中,動作選擇器可判定與使用者或裝置相關聯之動作。此類動作可需要由遞送系統230來執行。因此,動作選擇器222可將使用者/裝置動作發送至遞送系統230,且遞送系統230可傳回此等動作之執行結果。
本文所揭示之具體實例可包括人工實境系統或結合人工實境系統而實施。人工實境為在呈現給使用者之前已以某一方式調整之一種形式之實境,其可包括例如虛擬實境(VR)、擴增實境(AR)、混合實境(mixed reality;MR)、混雜實境或其某一組合及/或衍生物。人工實境內容可包括完全產生之內容或與所俘獲之內容(例如,真實世界像片)組合之所產生內容。人工實境內容可包括視訊、音訊、觸覺回饋或其某一組合,且其中之任一者可在單一通道中或在多個通道中呈現(諸如對觀看者產生三維效應之立體聲視訊)。另外,在一些具體實例中,人工實境可與例如用以在人工實境中創建內容及/或用於人工實境中(例如,在人工實境中進行活動)之應用程式、產品、配件、服務或其某一組合相關聯。提供人工實境內容之人工實境系統可實施於各種平台上,包括連接至主機電腦系統之頭戴式顯示器(head-mounted display;HMD)、獨立式HMD、行動裝置或計算系統,或能夠向一或多個觀看者提供人工實境內容之任何另一硬體平台。
用於輔助系統之多裝置調解
在特定具體實例中,輔助系統140可在使用者之語音請求之聽覺距離內存在多個具輔助功能之用戶端系統130(例如,桌上之智慧型對接件、使用者之面部上的智慧型眼鏡、牆上之智慧型TV等)時有效地判定哪一用戶端系統130對使用者作出回應。使用者可使用統一喚醒字(例如,「嗨,助理」)來喚醒任何用戶端系統130,亦即多裝置調用。當使用者作出請求(例如,「嗨,助理,播放一些音樂」)時,任何或所有用戶端系統130均可作出回應,此對使用者而言可為惱人的。因此,輔助系統140可需要在用戶端系統130之間進行調解以判定哪一用戶端系統應作出回應,使得可在最佳用戶端系統130上顯現回應。輔助系統140可使用伺服器側程序或用戶端側程序進行調解。對於伺服器側程序,輔助系統140可將來自同一IP位址的請求分組在一起,且將使用者之意圖映射至較佳用戶端系統130或具有正確能力之用戶端系統130。輔助系統140可另外使用各種信號來判定哪一用戶端系統130對使用者作出回應。對於用戶端側程序,輔助系統140可在此等用戶端系統130之間建立安全同級間分散式網格。使用網格,用戶端系統130可回應於喚醒字而即時交換資訊,且比較此資訊以判定使用者最可能意欲使用哪一資訊。類似地,輔助系統140亦可在判定哪一用戶端系統130對使用者作出回應時使用其他類型之信號。使用多裝置調用之有效調解,使用者可能夠在順暢地使用輔助服務時四處移動。多裝置調解不僅可應用於實體多裝置情形,且亦可應用於虛擬環境(例如,使用虛擬實境耳機),其中存在可對輔助請求作出回應之多個虛擬用戶端系統130。儘管本發明描述以特定方式在特定系統之間調解,但本發明涵蓋以任何合適之方式調解任何合適之系統。
在特定具體實例中,輔助系統140可與複數個用戶端系統130相關聯。輔助系統140可自第一使用者接收語音請求。第一使用者可意欲啟動複數個用戶端系統130當中的特定用戶端系統130。在特定具體實例中,複數個用戶端系統130可在第一使用者之收聽範圍內。輔助系統140可接著存取來自複數個用戶端系統130中之每一者的與語音請求相關聯之複數個信號。在特定具體實例中,輔助系統140可基於所存取信號將來自複數個用戶端系統130之第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130。輔助系統140可回應於語音請求而進一步指示第一用戶端系統130提供來自輔助系統140之回應。
在特定具體實例中,輔助系統140可針對不同情形進行多裝置調解。作為一實例而非作為限制,在一個情形中,使用者可具有置放於起居室中之智慧型平板電腦及智慧型TV。當使用者說「嗨,助理」時,使用者可能僅想要裝置中之一者作出回應而非兩者。作為另一實例而非作為限制,在另一情形中,使用者可具有置放於起居室中之智慧型平板電腦及智慧型TV。使用者可能偏好使用智慧型平板電腦來播放音樂,同時使用智慧型TV進行呼叫。作為又一實例而非作為限制,在又一情形中,第一使用者及第二使用者可均具有智慧型眼鏡。其在室外相遇且其想要在不干擾其他裝置之情況下調用其自身智慧型眼鏡。
在特定具體實例中,用戶端系統130可包含攜帶型裝置或非攜帶型裝置。與攜帶型裝置相比,非攜帶型裝置可在更穩定且安全的環境中。作為一實例而非作為限制,非攜帶型裝置通常可連接至同一網路。作為另一實例而非作為限制,接近之非攜帶型裝置可通常具有同一擁有者。作為又一實例而非作為限制,非攜帶型裝置可由可信任使用者存取。
當使用者說出喚醒字時,收聽範圍內的所有用戶端系統130均可喚醒且收聽使用者之語音請求。在特定具體實例中,語音請求可包含對特定用戶端系統130之不明確指代(ambiguous reference)。作為一實例而非作為限制,語音請求可為「嗨眼鏡,斷電」。然而,使用者可具有兩對眼鏡,包括一對擴增實境(AR)眼鏡及一對智慧型眼鏡。如可見,使用者指代哪對眼鏡可為不明確的。在特定具體實例中,語音請求可不包含對特定用戶端系統130之指代。作為一實例而非作為限制,使用者可僅說出「播放一些音樂」而不提及用戶端系統130。
圖 5說明用於多裝置調解之實例架構500。在特定具體實例中,輔助系統140可在遠端伺服器上運行。在特定具體實例中,輔助系統140可在遠端伺服器處自複數個用戶端系統130接收複數個音訊信號。複數個音訊信號中之每一者可包含在各別用戶端系統130處接收到之語音請求。在輔助系統140在遠端伺服器上運行之情況下,以下伺服器側程序可用於判定哪一用戶端系統130應對語音請求作出回應。首先,可將在此等用戶端系統130處接收到之音訊串流505(亦即,使用者請求)發送回至遠端伺服器處的話語處理器510。話語處理器510可接著將音訊串流505提供至ASR模組208b以產生ASR轉錄。同時,遠端伺服器可複製音訊串流505且將其發送至調解模組515。如圖5中所指示,調解模組515可包含集群模組520、ASR調解模組525、調解狀態530及調解器535。
在特定具體實例中,輔助系統140可在遠端伺服器處對複數個音訊信號進行分組。在特定具體實例中,語音請求可與揚聲器識別符(ID)相關聯。對應地,對複數個音訊信號進行分組可係基於揚聲器ID。在特定具體實例中,複數個用戶端系統130可各自與IP位址相關聯。對應地,對複數個音訊信號進行分組可係基於與每一用戶端系統相關聯之IP位址。在特定具體實例中,複數個用戶端系統130可各自與使用者識別符(ID)相關聯。對應地,對複數個音訊信號進行分組可係基於與每一用戶端系統相關聯之使用者ID。
在特定具體實例中,集群/分組可為多裝置調解之第一步驟。集群模組520可將基本請求資訊(例如,開始時間、使用者ID、經雜湊用戶端IP等)作為輸入,且計算集群ID作為初始分組。集群ID可在與ASR調解服務525通信時用作用於對請求進行分組之共用密鑰。在特定具體實例中,可存在多個集群方法,其可基於經雜湊用戶端IP、經雜湊用戶端IP加活躍使用者ID、經雜湊用戶端IP加擁有者ID、經雜湊用戶端IP加揚聲器ID、經雜湊用戶端IP加帳戶ID、來自本地端多同級連接性之會話ID,及經雜湊用戶端IP加藉由掃描所有擁有者發現之其他語音請求。
儘管集群可給出關於分組語音請求之暗示,但其可能不夠。舉例而言,若兩個使用者同時自同一用戶端IP對兩個不同用戶端系統130說話,則在不研究音訊資料之情況下,可能難以分辨其是否來自同一發音。因此,可將音訊串流505與集群結果一起發送至ASR調解服務525。在特定具體實例中,來自先前組件之集群ID可用作共用索引,以便使其指向ASR調解服務525中之同一主機。ASR調解服務525可接著判定群組ID,其指示此音訊串流505是否屬於多裝置調用。在特定具體實例中,群組ID可為用於調解步驟之其餘部分以發現其他語音請求結果之調用的唯一ID。ASR調解服務525亦可判定同一群組中之語音請求之數目。ASR調解服務525可自音訊串流505進一步判定哪一用戶端系統130應作出回應之調解決策(例如,使用基於時間之選擇或基於信號雜訊比之選擇)。在特定具體實例中,來自ASR調解服務525之調解決策可不為最終決策。
在特定具體實例中,可將ASR調解服務525之輸出發送至調解狀態530。調解狀態530可為儲存於每請求對象中之中間結果。其可用於不同組件之間的通信以同步調解結果。作為一實例而非作為限制,在ASR調解服務525產生ASR調解結果之後,其可將該等ASR調解結果寫入至調解狀態530中。作為另一實例而非作為限制,在對話狀態追蹤器218b完成其對使用者請求之處理之後,亦可將來自對話狀態追蹤器218b之任務運算子寫入至調解狀態530中。
如圖5中所說明,在將音訊串流505發送至調解模組515時,輔助系統140可同時使用輔助堆疊繼續其對使用者請求之處理。處理可涉及ASR模組208b、NLU模組210b及對話狀態追蹤器(dialog state tracker;DST)218b。在特定具體實例中,可將ASR轉錄、NLU結果及DST運算子發送至調解檢查模組540。在特定具體實例中,調解檢查模組540可將接收到之資訊(例如,DST運算子)發送至調解器535。調解器535可在檢查調解狀態530中之不同調解結果之後,考慮ASR調解結果以及來自對話狀態追蹤器218b之其他資訊而作出最終調解決策。在特定具體實例中,調解器535可進行假設排序。假設排序可基於試探趨近(heuristic approach),其可考慮包括每任務裝置偏好、每裝置能力任務適合度、ASR得分、NLU得分、最不活躍用戶端系統130等之資訊。假設排序亦可基於學習,例如使用者行為之研究。
在特定具體實例中,調解器535可將用戶端系統130是否應為對使用者請求作出回應之用戶端系統的可信度得分寫入至調解狀態530中。因此,調解狀態53可具有與多個用戶端系統130相關聯之得分。調解器535可在作出最終決策時檢查此等多個得分。作為一實例而非作為限制,調解器535可選擇具有最高可信度得分之用戶端系統130作為對使用者請求作出回應之用戶端系統。在特定具體實例中,可將來自調解器535之最終決策發送回至調解檢查模組540。
在特定具體實例中,輔助系統140可基於調解決策來判定不對語音請求作出回應。此決策可直接中斷進行中之傳入音訊串流505。由於ASR調解服務525可為與ASR模組208b分開之服務,故可能的係調解結果在ASR模組208b產生最終ASR轉錄之後出現。在此情況下,若輔助系統140已開始處理發音,則其可引起伺服器狀態之一些變異(例如,創建提醒)。因此,輔助系統140可在中斷處置進行中之傳入音訊串流505之前使用調解檢查模組540來檢查狀態。作為一實例而非作為限制,若輔助系統140已藉由動作選擇器222b開始動作選擇,則輔助系統140可忽略調解決策。作為另一實例而非作為限制,若輔助系統140尚未開始動作選擇,則輔助系統140可使用提前終止處理模組545來取消傳入音訊串流505。
在特定具體實例中,當最終調解決策出現時,輔助系統140可使最終ASR轉錄就緒且開始NLU但尚不開始動作選擇。在此情況下,輔助系統140可取消傳入音訊串流505,但即使在中斷進行中串流之後亦繼續藉由對話狀態追蹤器218b進行處理。為了阻斷動作選擇,輔助系統140可將內部處理狀態標記為「取消」,且在動作選擇器222b之前,調解檢查模組540可始終檢查狀態以決定是否繼續進行。動作選擇器222b可將經判定動作(例如,對使用者請求作出回應)發送至遞送系統230b,此可進一步指示所選用戶端系統130對使用者產生回應。
圖 6說明用於在兩個裝置之間的調解之實例圖工作流程600。實例圖工作流程600可係基於以下情形。使用者可在該使用者處於臥室中時使起居室中之TV播放音樂。使用者可能想要使用他/她在臥室中之電話停止音樂。如圖6中所說明,裝置A(亦即,用戶端系統130)可接收使用者之口述「停止TV上的音樂」且將其發送至NLU模組210。NLU模組210可將意圖及槽判定為[IN:STOP_MUSIC]及[SL:TARGET_DEVICE],且將其發送至實體解析(entity resolution;ER)模組212。另外,NLU模組210可對使用者請求進行特徵化,例如,所產生特徵可包含裝置清單。作為一實例而非作為限制,電話之特徵可為電話=> a_device_type且TV之特徵可為TV => b_device_type。作為另一實例而非作為限制,起居室之特徵可為起居室=> b_device_location,而臥室之特徵可為臥室=> a_device_location。基於特徵表示,每一裝置可具有如下實體表示
{
deviceId: “<unique_device_id>”,
deviceType: “TV”,
deviceName: “Living Room”,
}.
在特定具體實例中,實體解析模組212可存取AUM 354以解析目標裝置(例如TV)之裝置實體。可將經解析實體提供至對話狀態追蹤器(DST)218。對話狀態追蹤器218可將新任務判定為TASK_TRANSFER。在特定具體實例中,當槽[SL:TARGET_DEVICE]存在時,此任務可不藉由意圖觸發且變換可來自任何意圖。對話狀態追蹤器218可將任務與引數(例如,Arg 1:DeviceEntity及Arg 2:TransferableTaskEntity)、ID及槽一起發送至任務策略364。可存在多個匹配裝置。因此,任務策略364可將動作產生為DisambigutationDialogAction。若未解析實體,則任務策略364可將動作產生為UnresolvableDialogAction。若目標裝置不允許用於給定任務,則任務策略364可將動作產生為具有錯誤id「not_allowed」之ErrorDialogAction。若發現唯一可轉移裝置,則任務策略364可將動作產生為TaskTransferDialogAction。若TaskTransferDialogAction成功,則任務策略364可進一步將動作產生為InformDialogAct。若TaskTransferDialogAction失敗,則任務策略364可進一步將動作產生為具有錯誤id「delivery_error」之ErrorDialogAct。
在特定具體實例中,可將TaskTransferAction發送至動作執行器610。動作執行器610可例如藉由將引數:device_id及任務有效負載發送至主動遞送系統230而對主動的遞送系統230起作用。在特定具體實例中,主動的遞送系統230可將任務有效負載遞送至連接至另一裝置(例如,裝置B)的任務恢復模組620。裝置B可為另一用戶端系統130。任務儲存模組620可將任務恢復為任務:STOP_MUSIC且將其發送至實體解析模組212。實體解析模組212可解析實體,例如裝置B 130(起居室中之TV)且將其提供至對話管理器(dialog manager;DM)216。對話管理器216可執行對話動作。可將執行結果發送至自然語言產生(NLG)組件372,其可進一步將所產生之回應發送至文字至話語(TTS)組件390。TTS組件390可將文字回應轉換為話語且指示裝置B 130大聲讀出該話語。
在特定具體實例中,輔助系統140可使用不同方法來決定哪一具輔助功能之用戶端系統130應顯現回應。在特定具體實例中,輔助系統140可基於語音請求來判定與第一使用者相關聯之意圖。輔助系統140可接著進一步基於經判定意圖將第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130。在特定具體實例中,輔助系統140可將意圖映射至由使用者指定之較佳用戶端系統130,例如,使用者可針對某些任務設置某些用戶端系統130。換言之,將第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130可係進一步基於與第一使用者相關聯之使用者偏好。在特定具體實例中,輔助系統140可將意圖映射至具有正確裝置能力(例如,用戶端系統130是否具有攝影機或螢幕)之用戶端系統130。特定而言,輔助系統140可判定對應於意圖之任務。一旦任務經判定,將第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130即可係進一步基於一或多個任務策略364。在特定具體實例中,輔助系統140可接著判定複數個用戶端系統130中之每一者之裝置能力。輔助系統140可基於各別用戶端系統130之任務及裝置能力進一步計算複數個用戶端系統130中之每一者的匹配得分。對應地,第一用戶端系統130可與最高等級匹配得分相關聯。作為一實例而非作為限制,若使用者要求輔助系統140播放音樂,則智慧型揚聲器可作出回應。作為另一實例而非作為限制,若使用者想要進行呼叫,則智慧型手機或智慧型對接件而非智慧型TV可作出回應,此係由於智慧型TV可能並非最佳/能夠處置語音呼叫。判定使用者之意圖且將其映射至具有正確裝置能力之用戶端系統130可為用於解決準確地判定複數個用戶端系統130當中的哪一用戶端系統130應對多裝置調用作出回應的技術挑戰之有效解決方案,此係由於裝置能力提供所選用戶端系統130將執行與多裝置調用相關聯之任務的有效性之量測。
在特定具體實例中,輔助系統140可在複數個用戶端系統130中之一或多者上運行。當使用者作出語音請求時,聽到喚醒字(亦即,激活事件)之彼等用戶端系統130可開始共同起作用以判定哪一用戶端系統130應作出回應。作為一實例而非作為限制,未聽到喚醒字之用戶端系統130可包括在另一房間中之用戶端系統或負載有當前任務之用戶端系統。在輔助系統140運行在用戶端系統130上之情況下,以下用戶端側程序可用於判定哪一用戶端系統130應對語音請求作出回應。與伺服器側程序相比,除了減少等待時間,用戶端側程序亦可增加隱私保護,此係由於在用戶端側上作出決策時未經由遠端伺服器發送個人資訊或語音記錄。
在特定具體實例中,一或多個用戶端系統130上之輔助系統140可跨複數個用戶端系統130產生網狀網路,其中複數個用戶端系統130可在彼此之無線通信範圍內。在特定具體實例中,網狀網路可基於公用密鑰、私用密鑰或通信協定中之一或多者產生。網狀網路可為安全同級間分散式網狀網路。作為一實例而非作為限制,通信協定可為即時通信(real-time communications;RTC)協定。在特定具體實例中,輔助系統140可基於發現協定發現複數個用戶端系統130。作為一實例而非作為限制,發現協定可為標準即插即用協定。在特定具體實例中,發現可係經由在複數個用戶端系統130之間的網狀網路或同級間通信中之一或多者。作為一實例而非作為限制,同級間通信可係基於藍牙。在替代具體實例中,發現可係經由遠端伺服器。藉由用戶端系統130之發現,輔助系統140可識別網狀網路上之輔助系統140之其他執行個體(亦即,具輔助功能之用戶端系統130)。發現亦可允許輔助系統140識別使用者擁有之用戶端系統130。作為一實例而非作為限制,若朋友來了且登上使用者之Wi-Fi,則朋友的用戶端系統130不可經添加至網狀網路。視情況,可使用一些類型之公用協定,使得任何用戶端系統130均可加入網狀網路,從而允許用戶端系統130動態地加入及離開網狀網路。
一旦識別出參與之用戶端系統130,來自每一用戶端系統130之短期輔助記憶即可跨所有參與之用戶端系統130分散,從而允許多輪次情形在使用者自用戶端系統130過渡至用戶端系統130時起作用。作為一實例而非作為限制,藉由短期輔助記憶之分散,在單一用戶端系統130上取得之圖像可對所有具輔助功能之用戶端系統130為已知。在特定具體實例中,使用網狀網路,用戶端系統130可回應於激活事件而即時交換各種資訊及信號。換言之,輔助系統140可經由網狀網路跨複數個用戶端系統130而自複數個用戶端系統130中之每一者分散複數個信號。特定而言,一旦用戶端系統130辨識到喚醒字,每一用戶端系統130即可將具有相關信號及資訊之請求發出至所有其他用戶端系統130,詢問其是否已接收到語音請求。因此,可進行冗餘請求,其中較快用戶端系統130可首先發出請求。在特定具體實例中,可能需要時間窗(例如,300毫秒)以等待自所有用戶端系統130回聽。可取決於網格中之用戶端系統130對時間窗之長度進行最佳化。網狀網路中之用戶端系統130可接著比較接收到之請求與相關信號/資訊以判定使用者最可能意欲喚醒哪一用戶端系統130。換言之,輔助系統140可在複數個用戶端系統130之間進一步比較分散式信號。在特定具體實例中,將第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130可係進一步基於該比較。一旦作出決策,所選用戶端系統130即可喚醒且其他用戶端系統130即可停止收聽。經由網狀網路在用戶端系統130當中交換信號可為用於解決準確地判定複數個用戶端系統130當中的哪一用戶端系統130應對多裝置調用作出回應的技術挑戰之有效解決方案,此係由於在用戶端系統130之間的協調提供所選用戶端系統130將執行與多裝置調用相關聯之任務的有效性之量測。
在特定具體實例中,多裝置調解之用戶端側程序可實現遠端任務執行。作為一實例而非作為限制,使用者可對他/她的智慧型手機說「在TV上播放一些音樂」,此可使得在具輔助功能之TV上播放音樂。與用戶端系統130共用共同實施方案的靈活同級間協定至伺服器協定,與匯流排架構組合,可用於一般地實施任務之遠端執行。在特定具體實例中,一或多個遞迴文法規則可使得使用者能夠在使用者擁有之任何用戶端系統130上運行輔助系統140理解之任何命令。因此,輔助系統140可具有實現遠端任務執行之技術優勢,此係由於輔助系統140可指示一個用戶端系統130對使用者請求作出回應,同時指示另一不同用戶端系統130遠端地執行與使用者請求相關聯之任務。
對於伺服器側及用戶端側程序兩者,來自每一用戶端系統130之與語音請求相關聯之所存取信號可包含各種類型之信號。在特定具體實例中,複數個信號可包含以下中之兩者或更多者:儲存於各別用戶端系統130上的短期記憶、指示第一使用者與各別用戶端系統130之先前互動的時近性、指示在各別用戶端系統130處接收到之語音請求的時間、在各別用戶端系統130處接收到之語音請求的音量、在各別用戶端系統130處接收到之語音請求之信號雜訊比、第一使用者與各別用戶端系統130的參與程度、與由各別用戶端系統130所俘獲之第一使用者相關聯之凝視資訊、各別用戶端系統130之姿勢(例如,由用戶端系統130或電腦視覺技術中之IMU感測器偵測到之姿勢)、第一使用者至各別用戶端系統130之距離,或與第一使用者相關聯之情境資訊。作為一實例而非作為限制,基於時近性,可將由使用者最近最多使用之用戶端系統130判定為對使用者作出回應之用戶端系統(若其已接收喚醒字)。作為另一實例而非作為限制,基於時間,可將首先接收到請求之用戶端系統130判定為對使用者作出回應之用戶端系統。作為又一實例而非作為其限制,基於參與,若使用者當前在用戶端系統130上活躍或鍵入,則輔助系統140可判定該用戶端系統130對使用者請求作出回應。作為又一實例而非作為其限制,基於凝視資訊,可將使用者正觀看(例如,藉由分析由用戶端系統130之攝影機所俘獲之視覺信號)之用戶端系統130判定為對使用者請求作出回應之用戶端系統。作為另一實例而非作為限制,若穿戴智慧型眼鏡之使用者正觀看其智慧型手錶,則智慧型手錶而非眼鏡應對使用者請求作出回應。作為又一實例而非作為其限制,基於姿勢,若使用者之手錶在使用者前方抬起,則使用者很可能意欲喚醒該手錶。作為又一實例而非作為其限制,基於距離,使用者更可能意欲喚醒最接近使用者之用戶端系統130。在特定具體實例中,距離可基於GPS資訊、網狀網路中之無線信號之強度、攝影機/視覺信號或VR情境中之一或多者來判定。藉由使用各種類型之信號(包括短期記憶、時近性、時間、音量、信號雜訊比、參與程度、凝視、姿勢、距離及情境資訊)來判定哪一用戶端系統130對多裝置調用作出回應可為用於解決準確地判定複數個用戶端系統130當中的哪一用戶端系統130應對多裝置調用作出回應的技術挑戰之有效解決方案,此係由於此等信號可提供所選用戶端系統將執行與多裝置調用相關聯之任務的有效性之量測。
在特定具體實例中,輔助系統140可基於來自複數個用戶端系統130中之每一者的複數個信號來計算分別與複數個用戶端系統130相關聯之複數個可信度得分。輔助系統140可基於複數個用戶端系統130之各別可信度得分進一步對該複數個用戶端系統130進行排序。因此,第一用戶端系統130可為複數個用戶端系統130中之最高等級用戶端系統130。
圖 7說明實例多裝置調解。在圖7中,使用者705可在家。使用者705可在他周圍具有多個用戶端系統130,包括智慧型TV 130a、智慧型揚聲器130b、智慧型平板電腦130c。使用者705亦可穿戴智慧型手錶130d,其亦為用戶端系統130。使用者705可說出:「嗨,助理,播放一些音樂」710。輔助系統140可進行多裝置調解且判定智慧型揚聲器130b應對使用者請求710作出回應。因此,輔助系統140可指示智慧型揚聲器130b作出回應。智慧型揚聲器130b可回復:「好的。我會播放一些音樂。你想聽今天的熱門歌曲嗎?」715。
圖 8說明另一實例多裝置調解。在圖8中,使用者805可穿戴智慧型眼鏡130e,正觀看智慧型TV 130a。他附近亦可能存在智慧型平板電腦130c。智慧型眼鏡130a、智慧型TV 130b及智慧型平板電腦130c為所有用戶端系統130。使用者可說出:「嗨,助理,向我展示我今天拍的照片」810。輔助系統140可進行多裝置調解且判定智慧型TV 130a應對使用者請求810作出回應。因此,輔助系統140可指示智慧型TV 130a作出回應。接著,智慧型TV 130a可回復:「好的。這是你今天拍的照片」815,同時同步展示照片。
圖 9說明另一實例多裝置調解。在圖9中,使用者905可穿戴智慧型手錶130d且使該手錶靠近他,同時說出:「嗨,助理,我的航班是幾點?」910。他周圍亦可存在一些其他用戶端系統130,包括智慧型TV 130a、智慧型揚聲器130b及桌上的他的智慧型手機130f。輔助系統140可進行多裝置調解且判定智慧型手錶130d應對使用者請求910作出回應。因此,輔助系統140可指示智慧型手錶130d作出回應。智慧型手錶130d可接著回復:「你的航班在今天下午3點50分」915。
圖 10A 至 10B說明另一實例多裝置調解。圖10A說明當使用者自第一位置移動至第二位置時之實例多裝置調解。在圖10A中,使用者1005可自起居室步行至廚房。起居室中可存在智慧型TV 130a及智慧型手機130f,其均為用戶端系統130。使用者可說出:「嗨,助理,設定今晚呼叫Dustin的提醒」1010。輔助系統140可進行多裝置調解且判定智慧型手機130f應對使用者請求1010作出回應。因此,輔助系統140可指示智慧型手機130f作出回應。智慧型手機130f可接著回復:「好的。我今晚會提醒你」1015。圖10B說明當使用者自第一位置移動至第二位置時之實例多裝置調解。在圖10B中,使用者1005現在可在附近無智慧型TV 130a或智慧型手機130f之情況下位於廚房中。廚房櫃台上可存在智慧型揚聲器130b及智慧型平板電腦130c。使用者1005可說出:「哦,刪掉先前設定。把提醒改為明晚」1020。輔助系統140可再次進行多裝置調解且判定智慧型揚聲器130b應對使用者請求1020作出回應。因此,輔助系統140可指示智慧型揚聲器130b作出回應。智慧型揚聲器130b可接著回復:「好的。我已將提醒改為明晚」1025。
圖 11說明另一實例多裝置調解。在圖11中,穿戴智慧型眼鏡130e之使用者1105可在樓上的臥室中。臥室中之床頭櫃上亦可存在智慧型手機130f。起居室可在樓下,其中可存在智慧型TV 130a及智慧型揚聲器130b。智慧型TV 130a可正播放足球比賽。使用者1105可說出:「嗨,助理,關掉比賽」1110。輔助系統140可進行多裝置調解。輔助系統140可判定智慧型眼鏡130e應對使用者請求1110作出回應,但應進行遠端任務執行以自智慧型TV 130a關掉比賽。輔助系統140可進一步指示智慧型眼鏡130e作出回應。智慧型眼鏡130e可接著回復:「好的,我將停止播放比賽」1115。
圖 12說明用於多裝置調解之實例方法1200。方法可在步驟1210處開始,其中輔助系統140可自第一使用者接收語音請求,其中第一使用者意欲啟動複數個用戶端系統130當中的特定用戶端系統130,其中複數個用戶端系統130係在第一使用者之收聽範圍內,且其中語音請求包含對特定用戶端系統130之不明確指代或不包含對特定用戶端系統130之指代。在步驟1220處,輔助系統140可存取來自複數個用戶端系統130中之每一者的與語音請求相關聯之複數個信號,其中複數個信號包含以下中之兩者或更多者:儲存於各別用戶端系統130上的短期記憶、指示第一使用者與各別用戶端系統130之先前互動的時近性、指示在各別用戶端系統130處接收到之語音請求的時間、在各別用戶端系統130處接收到之語音請求的音量、在各別用戶端系統130處接收到之語音請求之信號雜訊比、第一使用者與各別用戶端系統130的參與程度、與由各別用戶端系統130所俘獲之第一使用者相關聯之凝視資訊、各別用戶端系統130之姿勢、第一使用者至各別用戶端系統130之距離,或與第一使用者相關聯之情境資訊。在步驟1230處,輔助系統140可判定與第一使用者相關聯之意圖。在步驟1240處,輔助系統140可判定複數個用戶端系統130中之每一者之裝置能力。在步驟1250處,輔助系統140可基於對應於意圖之任務及各別用戶端系統130之裝置能力來計算複數個用戶端系統130中之每一者的匹配得分。在步驟1260處,輔助系統140可跨複數個用戶端系統130產生網狀網路,其中複數個用戶端系統130係在彼此之無線通信範圍內,其中複數個信號跨複數個用戶端系統130自複數個用戶端系統130中之每一者分散,且其中網狀網路係基於公用密鑰、私用密鑰或通信協定中之一或多者來產生。在步驟1270處,輔助系統140可在複數個用戶端系統130之間比較分散式信號。在步驟1280處,輔助系統140可基於所存取信號、意圖、比較、一或多個任務策略及與第一使用者相關聯之使用者偏好將來自複數個用戶端系統130之第一用戶端系統130識別為第一使用者意欲啟動的特定用戶端系統130,其中第一用戶端系統130與最高等級匹配得分相關聯。在步驟1290處,輔助系統140可回應於語音請求而指示第一用戶端系統130提供來自輔助系統140之回應。適當時,特定具體實例可重複圖12之方法之一或多個步驟。儘管本發明將圖12之方法之特定步驟來描述及說明為按特定次序發生,但本發明涵蓋圖12之方法之任何合適步驟按任何合適之次序發生。此外,儘管本發明描述及說明用於多裝置調解之包括圖12之方法之特定步驟的實例方法,但本發明涵蓋用於多裝置調解之包括任何合適步驟的任何合適方法,該等任何合適步驟適當時可包括圖12之方法之步驟中之所有、一些或無一者。此外,儘管本發明描述及說明實行圖12之方法之特定步驟的特定組件、裝置或系統,但本發明涵蓋實行圖12之方法之任何合適步驟的任何合適組件、裝置或系統的任何合適組合。
社交圖
圖 13說明實例社交圖1300。在特定具體實例中,社交網路連接系統160可將一或多個社交圖1300儲存於一或多個資料儲存區中。在特定具體實例中,社交圖1300可包括多個節點(其可包括多個使用者節點1302或多個概念節點1304)及連接該等節點之多個邊緣1306。每一節點可與唯一實體(亦即,使用者或概念)相關聯,其中之每一者可具有唯一識別符(ID),諸如唯一編號或使用者名稱。圖13中所說明之實例社交圖1300出於教導目的以二維視覺地圖表示展示。在特定具體實例中,社交網路連接系統160、用戶端系統130、輔助系統140或第三方系統170可針對合適應用來存取社交圖1300及相關社交圖資訊。社交圖1300之節點及邊緣可例如在資料儲存區(諸如社交圖資料庫)中儲存為資料對象。此資料儲存區可包括社交圖1300之節點或邊緣之一或多個可搜尋或可查詢索引。
在特定具體實例中,使用者節點1302可對應於社交網路連接系統160或輔助系統140之使用者。作為一實例而非作為限制,使用者可為與社交網路連接系統160或輔助系統140互動或通信或經由社交網路連接系統160或輔助系統140互動或通信的個人(人類使用者)、實體(例如,企業、商業或第三方應用)或(例如,個人或實體之)群組。在特定具體實例中,當使用者用社交網路連接系統160註冊帳戶時,社交網路連接系統160可創建對應於該使用者之使用者節點1302,且將使用者節點1302儲存於一或多個資料儲存區中。適當時,本文所描述之使用者及使用者節點1302可係指經註冊使用者及與經註冊使用者相關聯之使用者節點1302。另外或作為替代方案,適當時,本文所描述之使用者及使用者節點1302可係指尚未用社交網路連接系統160註冊之使用者。在特定具體實例中,使用者節點1302可與由使用者提供之資訊或由各種系統(包括社交網路連接系統160)搜集之資訊相關聯。作為一實例而非作為限制,使用者可提供他或她的姓名、資料檔照片、連絡人資訊、出生日期、性別、婚姻狀態、家庭狀態、職業、教育背景、偏好、興趣或其他人口統計資訊。在特定具體實例中,使用者節點1302可與對應於與使用者相關聯之資訊的一或多個資料對象相關聯。在特定具體實例中,使用者節點1302可對應於一或多個網頁介面。
在特定具體實例中,概念節點1304可對應於概念。作為一實例而非作為限制,概念可對應於場所(諸如(例如)電影院、餐廳、地標或城市);網站(諸如(例如)與社交網路連接系統160相關聯之網站或與網頁應用程式伺服器相關聯之第三方網站);實體(諸如(例如)個人、商業、群組、運動隊或名人);資源(諸如(例如)音訊檔案、視訊檔案、數位相片、文字檔案、結構化文件或應用程式),其可位於社交網路連接系統160內或諸如網頁應用程式伺服器之外部伺服器上;不動產或智慧財產權(諸如(例如)雕像、畫作、電影、遊戲、歌曲、想法、像片或書面作品);遊戲;活動;想法或理論;另一合適之概念;或兩個或更多個此類概念。概念節點1304可與由使用者提供之概念之資訊或由各種系統(包括社交網路連接系統160及輔助系統140)搜集之資訊相關聯。作為一實例而非作為限制,概念之資訊可包括名稱或標題;一或多個影像(例如,書之封面之影像);位置(例如,地址或地理位置);網站(其可與URL相關聯);連絡人資訊(例如,電話號碼或電子郵件地址);其他合適之概念資訊;或此類資訊之任何合適組合。在特定具體實例中,概念節點1304可與對應於與概念節點1304相關聯之資訊的一或多個資料對象相關聯。在特定具體實例中,概念節點1304可對應於一或多個網頁介面。
在特定具體實例中,社交圖1300中之節點可表示網頁介面(其可稱作「資料檔介面」)或由該網頁介面表示。資料檔介面可由社交網路連接系統160或輔助系統140代管或可由社交網路連接系統160或輔助系統140存取。資料檔介面亦可在與第三方系統170相關聯之第三方網站上代管。作為一實例而非作為限制,對應於特定外部網頁介面之資料檔介面可為特定外部網頁介面,且資料檔介面可對應於特定概念節點1304。資料檔介面可由所有其他使用者或其他使用者之所選子集來檢視。作為一實例而非作為限制,使用者節點1302可具有對應使用者資料檔介面,其中對應使用者可添加內容、進行聲明或以其他方式表現他自己或她自己。作為另一實例而非作為限制,概念節點1304可具有對應概念資料檔介面,其中一或多個使用者可尤其相對於與概念節點1304對應之概念而添加內容、進行聲明或表現他們自己。
在特定具體實例中,概念節點1304可表示由第三方系統170代管之第三方網頁介面或資源。第三方網頁介面或資源可包括內容、可選或另一圖標,或表示動作或活動之另一可互動對象,以及其他元素。作為一實例而非作為限制,第三方網頁介面可包括可選圖標,諸如「喜歡」、「登入(check-in)」、「吃(eat)」、「推薦」或另一合適之動作或活動。檢視第三方網頁介面之使用者可藉由選擇圖標中之一者(例如,「登入」)而進行動作,從而使得用戶端系統130將指示使用者之動作的訊息發送至社交網路連接系統160。回應於訊息,社交網路連接系統160可在對應於使用者之使用者節點1302與對應於第三方網頁介面或資源之概念節點1304之間創建邊緣(例如,登入型邊緣),且將邊緣1306儲存於一或多個資料儲存區中。
在特定具體實例中,社交圖1300中之一對節點可藉由一或多個邊緣1306彼此連接。連接一對節點之邊緣1306可表示在該對節點之間的關係。在特定具體實例中,邊緣1306可包括或表示對應於一對節點之間的關係的一或多個資料對象或屬性。作為一實例而非作為限制,第一使用者可指示第二使用者為第一使用者之「朋友」。回應於此指示,社交網路連接系統160可將「朋友請求」發送至第二使用者。若第二使用者確認「朋友請求」,則社交網路連接系統160可在社交圖1300中創建將第一使用者之使用者節點1302連接至第二使用者之使用者節點1302的邊緣1306,且將邊緣1306作為社交圖資訊儲存於資料儲存區164中之一或多者中。在圖13之實例中,社交圖1300包括指示在使用者「A」及使用者「B」之使用者節點1302之間的朋友關係的邊緣1306,及指示在使用者「C」及使用者「B」之使用者節點1302之間的朋友關係的邊緣。儘管本發明描述或說明具有連接特定使用者節點1302之特定屬性的特定邊緣1306,但本發明涵蓋具有連接使用者節點1302之任何合適之屬性的任何合適之邊緣1306。作為一實例而非作為限制,邊緣1306可表示朋友關係、家庭關係、商業或職業關係、粉絲關係(包括例如喜歡等)、追隨者關係、訪客關係(包括例如存取、檢視、登入、共用等)、訂戶關係、占優/從屬關係、互反關係、非互反關係、另一合適類型之關係,或兩個或更多個此類關係。此外,儘管本發明通常將節點描述為經連接,但本發明亦將使用者或概念描述為經連接。本文中,適當時,對經連接之使用者或概念的參考可係指對應於在社交圖1300中藉由一或多個邊緣1306連接之彼等使用者或概念的節點。在分別由兩個節點表示之兩個對象之間的分離程度為在社交圖1300中連接兩個節點之最短路徑中之邊緣之計數。作為一實例而非作為限制,在社交圖1300中,使用者「C」之使用者節點1302經由多個路徑連接至使用者「A」之使用者節點1302,該等路徑包括例如直接穿過使用者「B」之使用者節點1302的第一路徑、穿過公司「公司名稱」之概念節點1304及使用者「D」之使用者節點1302的第二路徑,及穿過表示學校「學校名稱」、使用者「G」、公司「公司名稱」及使用者「D」之使用者節點1302及概念節點1304之第三路徑。使用者「C」及使用者「A」具有分離程度二,此係由於連接其對應節點之最短路徑(亦即,第一路徑)包括兩個邊緣1306。
在特定具體實例中,在使用者節點1302與概念節點1304之間的邊緣1306可表示由與使用者節點1302相關聯之使用者朝向與概念節點1304相關聯之概念進行的特定動作或活動。作為一實例而非作為限制,如圖13中所說明,使用者可「喜歡」、「參加」、「播放」、「收聽」、「烹製」、「從事」或「閱讀」一概念,其中之每一者可對應於邊緣類型或子類型。對應於概念節點1304之概念資料檔介面可包括例如可選「登入」圖標(諸如(例如)可點選「登入」圖標)或可選「添加至最愛」圖標。類似地,在使用者點選此等圖標之後,社交網路連接系統160可回應於使用者之對應於各別動作的動作而創建「最愛」邊緣或「登入」邊緣。作為另一實例而非作為限制,使用者(使用者「C」)可使用特定應用程式(第三方線上音樂應用程式)來收聽特定歌曲(「歌曲名稱」)。在此情況下,社交網路連接系統160可在對應於使用者的使用者節點1302與對應於歌曲及應用程式的概念節點1304之間創建「收聽」邊緣1306及「使用」邊緣(如圖13中所說明),以指示使用者收聽歌曲且使用應用程式。此外,社交網路連接系統160可在對應於歌曲及應用程式的概念節點1304之間創建「播放」邊緣1306(如圖13中所說明),以指示藉由特定應用程式播放特定歌曲。在此情況下,「播放」邊緣1306對應於藉由外部應用程式(第三方線上音樂應用程式)對外部音訊檔案(歌曲「歌曲名稱」)進行之動作。儘管本發明描述具有連接使用者節點1302及概念節點1304的特定屬性之特定邊緣1306,但本發明涵蓋具有連接使用者節點1302及概念節點1304的任何合適之屬性的任何合適之邊緣1306。此外,儘管本發明描述在使用者節點1302與概念節點1304之間的表示單一關係之邊緣,但本發明涵蓋在使用者節點1302與概念節點1304之間的表示一或多個關係之邊緣。作為一實例而非作為限制,邊緣1306可表示使用者喜歡特定概念且已在特定概念處使用。替代地,另一邊緣1306可表示在使用者節點1302與概念節點1304之間(如圖13中所說明,在用於使用者「E」之使用者節點1302與用於「線上音樂應用程式」之概念節點1304之間)的每一類型之關係(或單一關係之倍數)。
在特定具體實例中,社交網路連接系統160在社交圖1300中可在使用者節點1302與概念節點1304之間創建邊緣1306。作為一實例而非作為限制,檢視概念資料檔介面(諸如(例如)藉由使用由使用者之用戶端系統130代管的網路瀏覽器或專用應用程式)之使用者可藉由點選或選擇「喜歡」圖標而指示他或她喜歡由概念節點1304表示之概念,此可使得使用者之用戶端系統130將指示使用者對與概念資料檔介面相關聯之概念之喜歡的訊息發送至社交網路連接系統160。回應於訊息,社交網路連接系統160可在與使用者相關聯之使用者節點1302與概念節點1304之間創建邊緣1306,如藉由在使用者與概念節點1304之間的「喜歡」邊緣1306所說明。在特定具體實例中,社交網路連接系統160可將邊緣1306儲存於一或多個資料儲存區中。在特定具體實例中,邊緣1306可回應於特定使用者動作而自動由社交網路連接系統160形成。作為一實例而非作為限制,若第一使用者上傳圖像、閱讀書籍、觀看電影或收聽歌曲,則邊緣1306可形成於對應於第一使用者的使用者節點1302與對應於彼等概念的概念節點1304之間。儘管本發明描述以特定方式形成特定邊緣1306,但本發明涵蓋以任何合適之方式形成任何合適之邊緣1306。
向量空間及嵌入
圖 14說明向量空間1400之實例視圖。在特定具體實例中,對象或n元語法可表示於
維向量空間中,其中
表示任何合適數目個維度。儘管向量空間1400說明為三維空間,但此僅出於說明性目的,此係由於向量空間1400可具有任何合適之維度。在特定具體實例中,n元語法可作為稱作項嵌入(term embedding)之向量而表示於向量空間1400中。每一向量可包含對應於向量空間1400中之特定點(亦即,向量之終端點)的座標。作為一實例而非作為限制,向量1410、1420及1430可表示為向量空間1400中之點,如圖14中所說明。可將n元語法映射至各別向量表示。作為一實例而非作為限制,可藉由應用由字典定義之函數
將n元語法
及
分別映射至向量空間1400中之向量
及
,使得
且
。作為另一實例而非作為限制,可利用經訓練以將文字映射至向量表示的字典,或此字典可自身經由訓練而產生。作為另一實例而非作為限制,字嵌入模型可用於將n元語法映射至向量空間1400中之向量表示。在特定具體實例中,可藉由使用機器學習模型(例如,神經網路)將n元語法映射至向量空間1400中之向量表示。機器學習模型可能已使用一系列訓練資料(例如,各自包含n元語法之對象之語料庫)來訓練。
在特定具體實例中,對象可作為稱作特徵向量或對象嵌入之向量而表示於向量空間1400中。作為一實例而非作為限制,可藉由應用函數
將對象
及
分別映射至向量空間1400中之向量
及
,使得
且
。在特定具體實例中,可基於對象之一或多個性質、屬性或特徵、對象與其他對象之關係或與對象相關聯之任何其他合適之資訊而將對象映射至向量。作為一實例而非作為限制,函數
可藉由特徵提取將對象映射至向量,其可自經量測資料之初始集合開始且建置導出值(例如,特徵)。作為一實例而非作為限制,可藉由使用演算法將包含視訊或影像的對象映射至向量以偵測或分離對象之各種所要部分或形狀。用於計算向量之特徵可係基於自邊緣偵測、隅角偵測、斑點(blob)偵測、脊線偵測、尺度恆定特徵變換、邊緣方向、改變強度、自相關、運動偵測、光流、定限、斑點提取、模板匹配、霍夫(Hough)變換(例如,線、圓形、橢圓形、任意形狀)所獲得之資訊,或任何其他合適之資訊。作為另一實例而非作為限制,可基於特徵(諸如頻譜斜率、音值係數、音訊頻譜質心、音訊頻譜包絡、梅爾頻率(Mel-frequency)倒譜或任何其他合適資訊)將包含音訊資料之對象映射至向量。在特定具體實例中,當對象具有太大而無法高效地處理之資料或包含冗餘資料時,函數
可使用經變換之減小之特徵集合(例如,特徵選擇)將對象映射至向量。在特定具體實例中,函數
可基於與對象
相關聯之一或多個n元語法將對象
映射至向量
。儘管本發明描述以特定方式在向量空間中表示n元語法或對象,但本發明涵蓋以任何合適方式在向量空間中表示n元語法或對象。
在特定具體實例中,社交網路連接系統160可計算向量空間1400中之向量之相似度度量。相似度度量可為餘弦相似度、閔可夫斯基(Minkowski)距離、馬氏距離(Mahalanobis distance)、傑卡德(Jaccard)相似度係數,或任何合適之相似度度量。作為一實例而非作為限制,
及
之相似度度量可為餘弦相似度
。作為另一實例而非作為限制,
及
之相似度度量可為歐幾里得(Euclidean)距離
。兩個向量之相似度度量可表示分別對應於兩個向量之兩個對象或n元語法彼此相似之程度,如藉由向量空間1400中之在兩個向量之間的距離所量測。作為一實例而非作為限制,向量1410及向量1420可基於在各別向量之間的距離來對應於對象,其彼此比對應於向量1410及向量1430之對象更相似。儘管本發明描述以特定方式計算向量之間的相似度度量,但本發明涵蓋以任何合適方式計算在向量之間的相似度度量。
關於向量空間、嵌入、特徵向量及相似度度量之更多資訊可見於2015年11月23日申請之美國專利申請案第14/949436號、2016年10月5日申請之美國專利申請案第15/286315號及2016年11月30日申請之美國專利申請案第15/365789號,該等申請案中之每一者以引用方式併入。
人工神經網路
圖 15說明實例人工神經網路(「artificial neural network;ANN」)1500。在特定具體實例中,ANN可指包含一或多個節點之計算模型。實例ANN 1500可包含輸入層1510、隱藏層1520、1530、1540及輸出層1550。ANN 1500之每一層可包含一或多個節點,諸如節點1505或節點1515。在特定具體實例中,ANN之每一節點可連接至ANN之另一節點。作為一實例而非作為限制,輸入層1510之每一節點可連接至隱藏層1520之更多節點中之一者。在特定具體實例中,一或多個節點可為偏差節點(例如,在未連接之層中且並不自前一層中之任何節點接收輸入的節點)。在特定具體實例中,每一層中之每一節點可連接至前一或後一層之一或多個節點。儘管圖15描繪具有特定數目個層、特定數目個節點及在此些節點之間的特定連接的特定ANN,但本發明涵蓋具有任何合適數目個層、任何合適數目個節點及節點之間的任何合適之連接的任何合適之ANN。作為一實例而非作為限制,儘管圖15描繪在輸入層1510之每一節點與隱藏層1520之每一節點之間的連接,但輸入層1510之一或多個節點可不連接至隱藏層1520之一或多個節點。
在特定具體實例中,ANN可為前饋ANN(例如,無循環或迴路之ANN,其中在節點之間的通信在以輸入層開始且前進至順次層的一個方向上流動)。作為一實例而非作為限制,至隱藏層1520之每一節點的輸入可包含輸入層1510之一或多個節點之輸出。作為另一實例而非作為限制,至輸出層1550之每一節點的輸入可包含隱藏層1540之一或多個節點之輸出。在特定具體實例中,ANN可為深度神經網路(例如,包含至少兩個隱藏層之神經網路)。在特定具體實例中,ANN可為深度殘餘網路。深度殘餘網路可為包含組織成殘餘區塊之隱藏層的前饋ANN。至第一殘餘區塊之後的每一殘餘區塊中之輸入可為前一殘餘區塊之輸出及前一殘餘區塊之輸入的函數。作為一實例而非作為限制,至殘餘區塊中之輸入可為
,其中
可為殘餘區塊
之輸出,
可為至殘餘區塊
中之輸入。儘管本發明描述特定ANN,但本發明涵蓋任何合適之ANN。
在特定具體實例中,激活函數可對應於ANN之每一節點。節點之激活函數可針對給定輸入來定義節點之輸出。在特定具體實例中,至節點之輸入可包含輸入集合。作為一實例而非作為限制,激活函數可為身分函數、二元階梯函數、邏輯函數,或任何其他合適之函數。作為另一實例而非作為限制,用於節點
之激活函數可為S型函數
、雙曲正切函數
、整流器
,或任何其他合適之函數
,其中
可為至節點之有效輸入。在特定具體實例中,激活函數之對應於節點之輸入可經加權。每一節點可基於經加權輸入而使用對應激活函數來產生輸出。在特定具體實例中,在節點之間的每一連接可與權重相關聯。作為一實例而非作為限制,在節點1505與節點1515之間的連接1525可具有加權係數0.4,其可指示將0.4乘以節點1505之輸出用作至節點1515之輸入。作為另一實例而非作為限制,節點
之輸出
可為
,其中
可為對應於節點
之激活函數,
可為至節點
之有效輸入,
可為連接至節點
的節點
之輸出,且
可為在節點
與節點
之間的加權係數。在特定具體實例中,至輸入層之節點的輸入可係基於表示對象之向量。儘管本發明描述至節點之特定輸入及節點之輸出,但本發明涵蓋至節點之任何合適之輸入及節點之任何合適之輸出。此外,儘管本發明可描述在節點之間的特定連接及權重,但本發明涵蓋在節點之間的任何合適之連接及權重。
在特定具體實例中,可使用訓練資料來訓練ANN。作為一實例而非作為限制,訓練資料可包含至ANN 1500之輸入及預期輸出。作為另一實例而非作為限制,訓練資料可包含各自表示訓練對象及每一訓練對象之預期標記的向量。在特定具體實例中,訓練ANN可包含藉由最佳化目標函數而修改與在ANN之節點之間的連接相關聯之權重。作為一實例而非作為限制,可使用訓練方法(例如,共軛梯度法、梯度下降法、隨機梯度下降)來反向傳播量測為表示在訓練對象之每一向量之間的距離的平方和誤差(例如,使用最小化平方和誤差之成本函數)。在特定具體實例中,可使用壓差技術來訓練ANN。作為一實例而非作為限制,可在訓練時暫時省略一或多個節點(例如,不接收輸入且不產生輸出)。對於每一訓練對象,ANN之一或多個節點可具有經省略之一些機率。針對特定訓練對象省略之節點可不同於針對其他訓練對象省略之節點(例如,節點可在逐對象基礎上暫時省略)。儘管本發明描述以特定方式訓練ANN,但本發明涵蓋以任何合適之方式訓練ANN。
隱私
在特定具體實例中,計算系統之一或多個對象(例如,內容或其他類型之對象)可與一或多個隱私設定相關聯。一或多個對象可儲存於任何合適之計算系統或應用程式上或以其他方式與任何合適之計算系統或應用程式相關聯,諸如社交網路連接系統160、用戶端系統130、輔助系統140、第三方系統170、社交網路連接應用程式、輔助應用程式、訊息傳遞應用程式、相片共用應用程式或任何另一合適之計算系統或應用程式。儘管本文所論述之實例係在線上社交網路之情境中,但此等隱私設定可應用於任何另一合適之計算系統。對象之隱私設定(或「存取設定」)可以任何合適之方式儲存,諸如與對象相關聯、在授權伺服器上之索引中、以另一合適之方式,或以其任何合適組合進行儲存。對象之隱私設定可指定對象(或與對象相關聯之特定資訊)可如何在線上社交網路內存取、儲存或以其他方式使用(例如,檢視、共用、修改、複製、執行、暴露或識別)。當對象之隱私設定允許特定使用者或另一實體存取彼對象時,對象可經描述為對於彼使用者或另一實體為「可見的」。作為一實例而非作為限制,線上社交網路之使用者可針對使用者資料檔頁面指定隱私設定,其識別可存取關於使用者資料檔頁面之工作經驗資訊的使用者集合,因此排除其他使用者存取彼資訊。
在特定具體實例中,對象之隱私設定可指定不應允許存取與對象相關聯之某些資訊的使用者或其他實體之「阻止清單」。在特定具體實例中,阻止清單可包括第三方實體。阻止清單可指定不可見到對象之一或多個使用者或實體。作為一實例而非作為限制,使用者可指定不可存取與使用者相關聯之相片專輯的使用者集合,因此排除彼等使用者存取相片專輯(同時亦可能允許不在指定使用者集合內之某些使用者存取相片專輯)。在特定具體實例中,隱私設定可與特定社交圖元素相關聯。社交圖元素(諸如節點或邊緣)之隱私設定可指定可如何使用線上社交網路存取社交圖元素、與社交圖元素相關聯之資訊或與社交圖元素相關聯之對象。作為一實例而非作為限制,對應於特定相片之特定概念節點1304可具有指定可僅由在相片中標記之使用者及在相片中標記之使用者的朋友具有存取該相片的隱私設定。在特定具體實例中,隱私設定可允許使用者選擇加入或不參加使其內容、資訊或動作由社交網路連接系統160或輔助系統140儲存/記錄或與其他系統(例如,第三方系統170)共用。儘管本發明描述以特定方式使用特定隱私設定,但本發明涵蓋以任何合適之方式使用任何合適之隱私設定。
在特定具體實例中,隱私設定可係基於社交圖1300之一或多個節點或邊緣。隱私設定可針對社交圖1300之一或多個邊緣1306或邊緣類型,或相對於社交圖1300之一或多個節點1302、1304或節點類型而指定。應用於連接兩個節點之特定邊緣1306的隱私設定可控制在對應於節點之兩個實體之間的關係是否對線上社交網路之其他使用者為可見。類似地,應用於特定節點之隱私設定可控制對應於節點之使用者或概念對線上社交網路之其他使用者是否為可見。作為一實例而非作為限制,第一使用者可向社交網路連接系統160共用對象。對象可與藉由邊緣1306連接至第一使用者之使用者節點1302的概念節點1304相關聯。第一使用者可指定應用於連接至對象之概念節點1304的特定邊緣1306之隱私設定,或可指定應用於連接至概念節點1304之所有邊緣1306的隱私設定。作為另一實例而非作為限制,第一使用者可共用特定對象型之對象集合(例如,影像集合)。第一使用者可相對於與彼特定對象型之第一使用者相關聯之所有對象將隱私設定指定為具有特定隱私設定(例如,指定由第一使用者發佈之所有影像僅對第一使用者及/或在影像中標記之使用者之朋友可見)。
在特定具體實例中,社交網路連接系統160可(例如,在網頁、模組、一或多個對話框或任何另一合適之介面內)向第一使用者呈現「隱私精靈」以輔助第一使用者指定一或多個隱私設定。隱私精靈可顯示指令、合適之隱私相關資訊、當前隱私設定、用於接受來自第一使用者之指定隱私設定之改變或確認的一或多個輸入之一或多個輸入欄位,或其任何合適組合。在特定具體實例中,社交網路連接系統160可向第一使用者提供「儀錶板」功能性,其可向第一使用者顯示第一使用者之當前隱私設定。儀錶板功能性可在任何適當時間向第一使用者顯示(例如,在來自第一使用者之召喚儀錶板功能性的輸入後、在特定事件或觸發動作之發生後)。儀錶板功能性可允許第一使用者以任何合適方式在任何時間下修改第一使用者之當前隱私設定中之一或多者(例如,將第一使用者再引導至隱私精靈)。
與對象相關聯之隱私設定可指定准許存取或拒絕存取之任何合適之精細度。作為一實例而非作為限制,存取或拒絕存取可針對特定使用者(例如,僅我、我的室友、我的老闆)、在特定分隔程度內之使用者(例如,朋友、朋友的朋友)、使用者群組(例如,遊戲俱樂部、我的家人)、使用者網路(例如,特定雇主之雇員、特定大學之學生或校友)、所有使用者(「公開」)、無使用者(「私人」)、第三方系統170之使用者、特定應用程式(例如,第三方應用程式、外部網站)、其他合適之實體或其任何合適組合而指定。儘管本發明描述准許存取或拒絕存取之特定精細度,但本發明涵蓋准許存取或拒絕存取之任何合適之精細度。
在特定具體實例中,一或多個伺服器162可為用於強制執行隱私設定之授權/隱私伺服器。回應於來自使用者(或其他實體)的對儲存於資料儲存區164中之特定對象的請求,社交網路連接系統160可針對對象將請求發送至資料儲存區164。若授權伺服器基於與對象相關聯之隱私設定而判定使用者經授權存取對象,則請求可識別與請求相關聯之使用者,且可僅將對象發送至使用者(或使用者之用戶端系統130)。若請求使用者未經授權存取對象,則授權伺服器可防止自資料儲存區164擷取所請求對象,或可防止所請求對象經發送至使用者。在搜尋-詢問情境中,僅在查詢使用者經授權以存取對象之情況下(例如,在對象之隱私設定允許其暴露於查詢使用者、由查詢使用者發現或以其他方式對查詢使用者為可見之情況下),才可提供對象作為搜尋結果。在特定具體實例中,對象可表示經由使用者之新聞饋送對使用者為可見的內容。作為一實例而非作為限制,一或多個對象可對使用者之「趨勢(Trending)」頁面為可見的。在特定具體實例中,對象可對應於特定使用者。對象可為與特定使用者相關聯之內容,或可為儲存於社交網路連接系統160或另一計算系統上之特定使用者之帳戶或資訊。作為一實例而非作為限制,第一使用者可經由線上社交網路之「你可能認識的人」功能或藉由檢視第一使用者之朋友清單來檢視線上社交網路之一或多個第二使用者。作為一實例而非作為限制,第一使用者可指定其不希望在其新聞饋送或朋友清單中看到與特定第二使用者相關聯之對象。若對象之隱私設定不允許其暴露於使用者、由使用者發現或對使用者為可見,則可將該對象自搜尋結果排除。儘管本發明描述以特定方式強制執行隱私設定,但本發明涵蓋以任何合適之方式強制執行隱私設定。
在特定具體實例中,與使用者相關聯之相同類型的不同對象可具有不同隱私設定。與使用者相關聯之不同類型之對象可具有不同類型之隱私設定。作為一實例而非作為限制,第一使用者可指定第一使用者之狀態更新為公開的,但由第一使用者共用之任何影像僅對於線上社交網路上之第一使用者之朋友為可見。作為另一實例而非作為限制,使用者可針對不同類型之實體指定不同隱私設定,諸如個別使用者、朋友的朋友、追隨者、使用者群組或公司實體。作為另一實例而非作為限制,第一使用者可指定可檢視由第一使用者發佈之視訊的使用者群組,同時保持視訊對第一使用者之雇主為可見。在特定具體實例中,可針對不同使用者群組或使用者人口統計資料來提供不同隱私設定。作為一實例而非作為限制,第一使用者可指定與第一使用者上同一所大學之其他使用者可檢視第一使用者之圖像,但作為第一使用者之家庭成員的其他使用者不可檢視彼等相同圖像。
在特定具體實例中,社交網路連接系統160可針對特定對象類型之每一對象來提供一或多個預設隱私設定。針對經設定為預設之對象的隱私設定可由與彼對象相關聯之使用者改變。作為一實例而非作為限制,由第一使用者發佈之所有影像可具有僅對第一使用者之朋友為可見的預設隱私設定,且對於特定影像,第一使用者可將影像之隱私設定改變為對朋友及朋友的朋友為可見。
在特定具體實例中,隱私設定可允許第一使用者指定(例如,藉由選擇加入、藉由不參加)社交網路連接系統160或輔助系統140是否可出於任何目的接收、收集、記錄或儲存與使用者相關聯之特定對象或資訊。在特定具體實例中,隱私設定可允許第一使用者指定特定應用程式或程序是否可存取、儲存或使用與使用者相關聯之特定對象或資訊。隱私設定可允許第一使用者選擇加入或不參加使對象或資訊由特定應用程式或程序存取、儲存或使用。社交網路連接系統160或輔助系統140可存取此類資訊以便向第一使用者提供特定功能或服務,而社交網路連接系統160或輔助系統140不能夠出於任何其他目的來存取彼資訊。在存取、儲存或使用此類對象或資訊之前,社交網路連接系統160或輔助系統140可在允許任何此動作之前提示使用者提供指定哪些應用程式或程序(若存在)可存取、儲存或使用對象或資訊的隱私設定。作為一實例而非作為限制,第一使用者可經由與線上社交網路相關之應用程式(例如,訊息傳遞應用程式)將訊息傳輸至第二使用者,且可指定此類訊息不應由社交網路連接系統160或輔助系統140儲存的隱私設定。
在特定具體實例中,使用者可指定與第一使用者相關聯之特定類型之對象或資訊是否可由社交網路連接系統160或輔助系統140存取、儲存或使用。作為一實例而非作為限制,第一使用者可指定由第一使用者經由社交網路連接系統160或輔助系統140發送之影像不可由社交網路連接系統160或輔助系統140儲存。作為另一實例而非作為限制,第一使用者可指定自第一使用者發送至特定第二使用者的訊息不可由社交網路連接系統160或輔助系統140儲存。作為又一實例而非作為限制,第一使用者可指定經由特定應用程式發送之所有對象均可由社交網路連接系統160或輔助系統140保存。
在特定具體實例中,隱私設定可允許第一使用者指定與第一使用者相關聯之特定對象或資訊是否可自特定用戶端系統130或第三方系統170存取。隱私設定可允許第一使用者選擇加入或不參加使對象或資訊自特定裝置(例如,使用者之智慧型手機上之電話簿)、自特定應用程式(例如,訊息傳遞應用程式)或自特定系統(例如,電子郵件伺服器)存取。社交網路連接系統160或輔助系統140可提供關於每一裝置、系統或應用程式之預設隱私設定,及/或可提示第一使用者針對每一情境指定特定隱私設定。作為一實例而非作為限制,第一使用者可利用社交網路連接系統160或輔助系統140之位置服務特徵來提供針對餐廳或使用者附近之其他場所的推薦。第一使用者之預設隱私設定可指定社交網路連接系統160或輔助系統140可使用自第一使用者之用戶端系統130提供的位置資訊來提供基於位置之服務,但社交網路連接系統160或輔助系統140不可儲存第一使用者之位置資訊或將其提供至任何第三方系統170。第一使用者可接著更新隱私設定以允許由第三方影像共用應用程式來使用位置資訊以便對相片進行地理標記。
在特定具體實例中,隱私設定可允許使用者指定可自其存取對象之一或多個地理位置。對對象的存取或拒絕存取可取決於嘗試存取對象之使用者的地理位置。作為一實例而非作為限制,使用者可共用對象且指定僅同一城市中之使用者可存取或檢視對象。作為另一實例而非作為限制,第一使用者可共用對象且指定對象僅在第一使用者處於特定位置時對第二使用者為可見。若第一使用者離開特定位置,則對象不可再對第二使用者為可見。作為另一實例而非作為限制,第一使用者可指定對象僅對在相距第一使用者的臨限距離內之第二使用者為可見。若第一使用者隨後改變位置,則可存取對象之初始第二使用者可失去存取,同時第二使用者之新群組可能夠存取,此係由於其出現於第一使用者之臨限距離內。
在特定具體實例中,社交網路連接系統160或輔助系統140可具有可出於使用者鑑認或體驗個人化目的而使用使用者之個人或生物識別資訊作為輸入的功能性。使用者可選擇利用此等功能性以增強其在線上社交網路上之體驗。作為一實例而非作為限制,使用者可將個人或生物識別資訊提供社交網路連接系統160或輔助系統140。使用者之隱私設定可指定此類資訊可僅用於特定程序,諸如鑑認,且進一步指定此類資訊不可與任何第三方系統170共用或用於與社交網路連接系統160或輔助系統140相關聯之其他程序或應用程式。作為另一實例而非作為限制,社交網路連接系統160可為使用者提供將聲紋錄音提供至線上社交網路的功能性。作為一實例而非作為限制,若使用者希望利用線上社交網路之此功能,則使用者可提供他或她自身的語音之語音錄音,以提供線上社交網路上之狀態更新。語音輸入之錄音可與使用者之聲紋相比較以判定使用者說出何字。使用者之隱私設定可指定此類語音錄音僅可用於語音輸入目的(例如,鑑認使用者、發送語音訊息、改良語音辨識,以便使用線上社交網路之語音操作特徵),且進一步指定此類語音錄音不可與任何第三方系統170共用或由與社交網路連接系統160相關聯之其他程序或應用程式使用。作為另一實例而非作為限制,社交網路連接系統160可為使用者提供將參考影像(例如,臉部資料檔、視網膜掃描)提供至線上社交網路的功能性。線上社交網路可比較參考影像與稍後接收到之影像輸入(例如,以鑑認使用者、在相片中標記使用者)。使用者之隱私設定可指定此類影像可僅用於有限目的(例如,鑑認、在相片中標記使用者),且進一步指定此類影像不可與任何第三方系統170共用或由與社交網路連接系統160相關聯之其他程序或應用程式使用。
系統及方法
圖 16說明實例電腦系統1600。在特定具體實例中,一或多個電腦系統1600進行本文所描述或說明之一或多個方法之一或多個步驟。在特定具體實例中,一或多個電腦系統1600提供本文所描述或說明之功能性。在特定具體實例中,在一或多個電腦系統1600上運行之軟體進行本文所描述或說明的一或多個方法之一或多個步驟或提供本文所描述或說明的功能性。特定具體實例包括一或多個電腦系統1600之一或多個部分。本文中,適當時,對電腦系統之參考可涵蓋計算裝置,且反之亦然。此外,適當時,對電腦系統之參考可涵蓋一或多個電腦系統。
本發明涵蓋任何合適數目個電腦系統1600。本發明涵蓋採用任何合適實體形式的電腦系統1600。作為一實例而非作為限制,電腦系統1600可為嵌入式電腦系統、系統晶片(system-on-chip;SOC)、單板電腦系統(single-board computer system;SBC)(諸如模組電腦(computer-on-module;COM)或模組系統(system-on-module;SOM))、桌上型電腦系統、膝上型電腦或筆記本電腦系統、交互式公共資訊查詢站、大型電腦、電腦系統之網格、行動電話、個人數位助理(PDA)、伺服器、平板電腦系統,或此等中之兩者或更多者之組合。適當時,電腦系統1600可包括一或多個電腦系統1600;為整體或分佈式;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或駐留於雲端中,該雲端可包括一或多個網路中之一或多個雲端組件。適當時,一或多個電腦系統1600可在無實質空間或時間限制之情況下進行本文所描述或說明的一或多個方法之一或多個步驟。作為一實例而非作為限制,一或多個電腦系統1600可即時或以批量模式進行本文所描述或說明的一或多個方法之一或多個步驟。適當時,一或多個電腦系統1600可在不同時間或在不同位置進行本文所描述或說明的一或多種方法之一或多個步驟。
在特定具體實例中,電腦系統1600包括處理器1602、記憶體1604、儲存裝置1606、輸入/輸出(input/output;I/O)介面1608、通信介面1610及匯流排1612。儘管本發明描述及說明具有在特定配置中之特定數目個特定組件的特定電腦系統,但本發明涵蓋具有在任何合適配置中之任何合適數目個任何合適組件的任何合適之電腦系統。
在特定具體實例中,處理器1602包括用於執行指令(諸如組成電腦程式之指令)之硬體。作為一實例而非作為限制,為執行指令,處理器1602可自內部暫存器、內部快取記憶體、記憶體1604或儲存裝置1606擷取(或提取)指令;對其進行解碼且加以執行;且接著將一或多個結果寫入至內部暫存器、內部快取記憶體、記憶體1604或儲存裝置1606。在特定具體實例中,處理器1602可包括用於資料、指令或位址之一或多個內部快取記憶體。適當時,本發明涵蓋包括任何合適數目個任何合適的內部快取記憶體的處理器1602。作為一實例而非作為限制,處理器1602可包括一或多個指令快取記憶體、一或多個資料快取記憶體及一或多個轉譯後備緩衝器(translation lookaside buffer;TLB)。指令快取記憶體中之指令可為記憶體1604或儲存裝置1606中之指令的複本,且指令快取記憶體可加速由處理器1602進行的對於彼等指令的擷取。資料快取記憶體中之資料可為記憶體1604或儲存裝置1606中供在處理器1602處執行的指令在其上操作之資料的複本;供在處理器1602處執行之後續指令存取或供寫入至記憶體1604或儲存裝置1606的在處理器1602處執行的先前指令之結果;或其他合適資料。資料快取記憶體可加速由處理器1602進行的讀取或寫入操作。TLB可加速用於處理器1602之虛擬位址轉譯。在特定具體實例中,處理器1602可包括用於資料、指令或位址之一或多個內部暫存器。適當時,本發明涵蓋包括任何合適數目個任何合適的內部暫存器的處理器1602。適當時,處理器1602可包括一或多個算術邏輯單元(arithmetic logic unit;ALU);為多核處理器;或包括一或多個處理器1602。儘管本發明描述及說明特定處理器,但本發明涵蓋任何合適的處理器。
在特定具體實例中,記憶體1604包括用於儲存供處理器1602執行之指令或供處理器1602在其上操作之資料的主記憶體。作為一實例而非作為限制,電腦系統1600可自儲存裝置1606或另一來源(諸如另一電腦系統1600)將指令載入至記憶體1604。處理器1602可接著自記憶體1604將指令載入至內部暫存器或內部快取記憶體。為執行指令,處理器1602可自內部暫存器或內部快取記憶體擷取指令且對其進行解碼。在指令執行期間或之後,處理器1602可將一或多個結果(其可為中間或最終結果)寫入至內部暫存器或內部快取記憶體。處理器1602可接著將彼等結果中之一或多者寫入至記憶體1604。在特定具體實例中,處理器1602僅執行一或多個內部暫存器或內部快取記憶體中或記憶體1604(與儲存裝置1606相對或在別處)中的指令,且僅對一或多個內部暫存器或內部快取記憶體中或記憶體1604(與儲存裝置1606相對或在別處)中之資料進行操作。一或多個記憶體匯流排(其可各自包括位址匯流排及資料匯流排)可將處理器1602耦接至記憶體1604。如下文所描述,匯流排1612可包括一或多個記憶體匯流排。在特定具體實例中,一或多個記憶體管理單元(memory management unit;MMU)駐存於處理器1602與記憶體1604之間,且促進對由處理器1602請求之記憶體1604的存取。在特定具體實例中,記憶體1604包括隨機存取記憶體(random access memory;RAM)。適當時,此RAM可為揮發性記憶體。適當時,此RAM可為動態RAM(dynamic RAM;DRAM)或靜態RAM(static RAM;SRAM)。此外,適當時,此RAM可為單埠或多埠RAM。本發明涵蓋任何合適之RAM。適當時,記憶體1604可包括一或多個記憶體1604。儘管本發明描述及說明特定記憶體,但本發明涵蓋任何合適之記憶體。
在特定具體實例中,儲存裝置1606包括用於資料或指令之大容量儲存裝置。作為一實例而非作為限制,儲存裝置1606可包括硬碟驅動機(hard disk drive;HDD)、軟碟驅動機、快閃記憶體、光學光碟、磁性光學光碟、磁帶或通用串列匯流排(Universal Serial Bus;USB)隨身碟,或此等中之兩者或更多者之組合。適當時,儲存裝置1606可包括可移式或非可移式(或固定)媒體。適當時,儲存裝置1606可在電腦系統1600內部或外部。在特定具體實例中,儲存裝置1606為非揮發性固態記憶體。在特定具體實例中,儲存裝置1606包括唯讀記憶體(read-only memory;ROM)。適當時,此ROM可為經掩模程式化ROM、可程式化ROM(programmable ROM;PROM)、可抹除PROM(erasable PROM;EPROM)、電可抹除PROM(electrically erasable PROM;EEPROM)、電可改ROM(electrically alterable ROM;EAROM),或快閃記憶體或此等中之兩者或更多者之組合。本發明涵蓋採用任何合適實體形式的大容量儲存裝置1606。適當時,儲存裝置1606可包括促進在處理器1602與儲存裝置1606之間的通信之一或多個儲存裝置控制單元。適當時,儲存裝置1606可包括一或多個儲存裝置1606。儘管本發明描述及說明特定儲存裝置,但本發明涵蓋任何合適之儲存裝置。
在特定具體實例中,I/O介面1608包括硬體、軟體或兩者,從而提供一或多個介面用於在電腦系統1600與一或多個I/O裝置之間的通信。適當時,電腦系統1600可包括此等I/O裝置中之一或多者。此等I/O裝置中之一或多者可實現在個人與電腦系統1600之間的通信。作為一實例而非作為限制,I/O裝置可包括鍵盤、小鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、靜態攝影機、手寫筆、平板電腦、觸控螢幕、軌跡球、視訊攝影機,另一合適之I/O裝置或此等中之兩者或更多者之組合。I/O裝置可包括一或多個感測器。本發明涵蓋任何合適之I/O裝置及用於其之任何合適之I/O介面1608。適當時,I/O介面1608可包括一或多個裝置或軟體驅動器,使得處理器1602能夠驅動此等I/O裝置中之一或多者。適當時,I/O介面1608可包括一或多個I/O介面1608。儘管本發明描述及說明特定I/O介面,但本發明涵蓋任何合適之I/O介面。
在特定具體實例中,通信介面1610包括硬體、軟體或兩者,從而提供一或多個介面用於在電腦系統1600與一或多個其他電腦系統1600或一或多個網路之間的通信(諸如基於封包之通信)。作為一實例而非作為限制,通信介面1610可包括用於與乙太網路或其他基於有線之網路通信的網路介面控制器(network interface controller;NIC)或網路配接器、或用於與無線網路(諸如WI-FI網路)通信的無線NIC(wireless NIC;WNIC)或無線配接器。本發明涵蓋任何合適之網路及用於其之任何合適之通信介面1610。作為一實例而非作為限制,電腦系統1600可與特用網路、個人區域網路(personal area network ;PAN)、區域網路(local area network;LAN)、廣域網路(wide area network;WAN)、都會區域網路(metropolitan area network;MAN)或網際網路之一或多個部分、或此等中之兩者或更多者之組合通信。此等網路中之一或多者的一或多個部分可為有線或無線的。作為一實例,電腦系統1600可與無線PAN(wireless PAN;WPAN)(諸如藍牙WPAN)、WI-FI網路、WI-MAX網路、蜂巢式電話網路(諸如全球行動通信系統(Global System for Mobile Communication;GSM)網路)、或其他合適之無線網路或此等中之兩者或更多者之組合通信。適當時,電腦系統1600可包括用於此等網路中之任一者的任何合適之通信介面1610。適當時,通信介面1610可包括一或多個通信介面1610。儘管本發明描述及說明特定通信介面,但本發明涵蓋任何合適之通信介面。
在特定具體實例中,匯流排1612包括將電腦系統1600之組件彼此耦接的硬體、軟體或兩者。作為一實例而非作為限制,匯流排1612可包括加速圖形埠(Accelerated Graphics Port;AGP)或另一圖形匯流排、增強行業標準架構(Enhanced Industry Standard Architecture;EISA)匯流排、前側匯流排(front-side bus;FSB)、超傳輸(HYPERTRANSPORT;HT)互連、行業標準架構(Industry Standard Architecture;ISA)匯流排、INFINIBAND互連、低針腳數(low-pin-count;LPC)匯流排、記憶體匯流排、微型頻道架構(Micro Channel Architecture;MCA)匯流排、周邊組件互連(Peripheral Component Interconnect;PCI)匯流排、PCI高速(PCI-Express;PCIe)匯流排、串列進階附接技術(serial advanced technology attachment;SATA)匯流排、視訊電子標準協會局部(Video Electronics Standards Association local;VLB)匯流排,或另一合適之匯流排或此等中之兩者或更多者之組合。適當時,匯流排1612可包括一或多個匯流排1612。儘管本發明描述及說明特定匯流排,但本發明涵蓋任何合適之匯流排或互連件。
本文中,適當時,一或多個電腦可讀取非暫時性儲存媒體可包括一或多個基於半導體之或其他積體電路(integrated circuit;IC)(諸如場可程式化閘陣列(field-programmable gate array;FPGA)或特殊應用IC(application-specific IC;ASIC))、硬碟機(HDD)、混合式硬碟機(hybrid hard drive;HHD)、光學光碟、光學光碟機(optical disc drives;ODD)、磁性光學光碟、磁性光學驅動機、軟碟、軟碟機(floppy disk drive;FDD)、磁帶、固態硬碟機(solid-state drive;SSD)、RAM硬碟機、安全數位卡或驅動機、任何其他合適之電腦可讀取非暫時性儲存媒體,或此等中之兩者或更多者的任何合適組合。適當時,電腦可讀取非暫時性儲存媒體可為揮發性、非揮發性或揮發性與非揮發性之組合。
雜項
本文中,除非另外明確指示或上下文另外指示,否則「或」為包括性且並非排他性的。因此,除非另外明確指示或上下文另外指示,否則本文中「A或B」意謂「A、B或兩者」。此外,除非另外明確指示或上下文另外指示,否則「及」為聯合及各自兩者。因此,除非另外明確指示或上下文另外指示,否則本文中「A及B」意謂「A及B,聯合地或各自地」。
本發明之範疇涵蓋所屬技術領域中具有通常知識者將瞭解的本文所描述或說明之實例具體實例的所有改變、取代、變化、更改及修改。本發明之範疇不限於本文所描述或說明之實例具體實例。此外,儘管本發明將本文各別具體實例描述及說明為包括特定組件、元件、特徵、功能、操作或步驟,但此等具體實例中之任一者可包括所屬技術領域中具有通常知識者將瞭解的本文中任何位置描述或說明的組件、元件、特徵、功能、操作或步驟中之任一者的任何組合或排列。此外,所附申請專利範圍中對經調適以、經配置以、能夠、經組態以、經啟用以、經操作以或可操作以進行一特定功能的設備或系統或設備或系統之組件的參考涵蓋只要彼設備、系統或組件如此經調適、經配置、能夠、經組態、經啟用、經操作或可操作,彼設備、系統、組件(不管是其抑或彼特定功能)即經激活、接通或解鎖。另外,儘管本發明將特定具體實例描述或說明為提供特定優勢,但特定具體實例可提供此等優勢中之無一者、一些或所有。
100:網路環境
110:網路
130:用戶端系統
130a:智慧型TV
130b:智慧型揚聲器
130c:智慧型平板電腦
130d:智慧型手錶
130e:智慧型眼鏡
130f:智慧型手機
132:網頁瀏覽器
134:社交網路連接應用程式
136:輔助應用程式
137:顯現裝置
138:伴隨裝置
140:輔助系統
150:鏈路
160:社交網路連接系統
162:伺服器
164:資料儲存區
170:第三方系統
200:架構
202:虛線
205:決策點
206:裝置上協調器
208a:自動話語辨識模組
208b:自動話語辨識模組
210a:自然語言理解模組
210b:自然語言理解模組
212:實體解析模組
212a:實體解析模組
212b:實體解析模組
215:決策點
216:對話管理器
216a:裝置上對話管理器
216b:對話管理器模組
218:對話狀態追蹤器
218a:對話狀態追蹤器
218b:對話狀態追蹤器
220:情境引擎
220a:情境引擎
220b:情境引擎
222:動作選擇器
222a:動作選擇器
222b:動作選擇器
224:對話管理器代理
225:決策點
226:仲裁器
226a:仲裁器
226b:仲裁器
228:代理程式
228a:代理程式
228b:代理程式
230:遞送系統
230a:遞送系統
230b:遞送系統
232:顯現輸出模組
300:流程圖
305:輔助服務模組
310:請求管理器
312:情境提取器
314:交談式理解對象產生器
320:資料儲存區
330:允許清單/阻擋清單
332:特徵化
334:域分類/選擇
336a:後設意圖分類器
336b:意圖分類器
338a:後設槽標記器
338b:槽標記器
340:域實體解析
342:通用實體解析
350:知識
352:圖
354:輔助使用者記憶體
356:對話意圖解析
360:對話策略
362:通用策略
364:任務策略
370:CU編排器
372:自然語言產生組件
374:UI有效負載產生器
376:回應排序器
380:回應產生組件
382:對話狀態寫入組件
390:文字至話語組件
400:任務中心流程圖
410:任務追蹤器
411:意圖處置程式
412:任務ID解析組件
413:引數解析組件
414:任務候選排序模組
415:基於規則之排序器
416:任務候選產生模組
417:任務ID解析組件
418:引數解析組件
419:合併層
420:交談理解加強引擎追蹤器
430:任務規格管理器API
435:運行時間組態
500:架構
505:音訊串流
510:話語處理器
515:調解模組
520:集群模組
525:ASR調解模組
530:調解狀態
535:調解器
540:調解檢查模組
545:提前終止處理模組
600:實例圖工作流程
610:動作執行器
620:任務恢復模組
705:使用者
710:使用者請求
715:回復
805:使用者
810:使用者請求
815:回復
905:使用者
910:使用者請求
915:回復
1005:使用者
1010:使用者請求
1015:回復
1020:使用者請求
1025:回復
1105:使用者
1110:使用者請求
1115:回復
1200:方法
1210:步驟
1220:步驟
1230:步驟
1240:步驟
1250:步驟
1260:步驟
1270:步驟
1280:步驟
1290:步驟
1300:社交圖
1302:使用者節點
1304:概念節點
1306:邊緣
1400:向量空間
1410:向量
1420:向量
1430:向量
1500:人工神經網路
1505:節點
1510:輸入層
1515:節點
1520:隱藏層
1525:連接
1530:隱藏層
1540:隱藏層
1550:輸出層
1600:電腦系統
1602:處理器
1604:記憶體
1606:儲存裝置
1608:輸入/輸出介面
1610:通信介面
1612:匯流排
[圖1]說明與輔助系統相關聯之實例網路環境。
[圖2]說明輔助系統之實例架構。
[圖3]說明輔助系統之實例流程圖。
[圖4]說明處理使用者輸入之實例任務中心流程圖。
[圖5]說明用於多裝置調解之實例架構。
[圖6]說明用於兩個裝置之間的調解之實例圖工作流程。
[圖7]說明實例多裝置調解。
[圖8]說明另一實例多裝置調解。
[圖9]說明另一實例多裝置調解。
[圖10A]說明當使用者自第一位置移動至第二位置時之實例多裝置調解。
[圖10B]說明當使用者自第一位置移動至第二位置時之實例多裝置調解。
[圖11]說明另一實例多裝置調解。
[圖12]說明用於多裝置調解之實例方法。
[圖13]說明實例社交圖。
[圖14]說明嵌入空間之實例視圖。
[圖15]說明實例人工神經網路。
[圖16]說明實例電腦系統。
1200:方法
1210:步驟
1220:步驟
1230:步驟
1240:步驟
1250:步驟
1260:步驟
1270:步驟
1280:步驟
1290:步驟
Claims (20)
- 一種藉由與複數個用戶端系統相關聯之輔助系統進行之方法,其包含: 自第一使用者接收語音請求,其中該第一使用者意欲啟動該複數個用戶端系統當中的特定用戶端系統,且其中該複數個用戶端系統係在該第一使用者之收聽範圍內; 存取來自該複數個用戶端系統中之每一者的與該語音請求相關聯之複數個信號; 基於所存取信號將來自該複數個用戶端系統之第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統;及 回應於該語音請求而指示該第一用戶端系統提供來自該輔助系統之回應。
- 如請求項1之方法,其進一步包含: 基於該語音請求來判定與該第一使用者相關聯之意圖; 其中將該第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統係進一步基於經判定之該意圖。
- 如請求項2之方法,其進一步包含: 判定對應於該意圖之任務; 判定該複數個用戶端系統中之每一者之裝置能力;及 基於該任務及各別用戶端系統之該裝置能力來計算該複數個用戶端系統中之每一者的匹配得分,其中該第一用戶端系統與最高等級匹配得分相關聯。
- 如請求項1之方法,其中將該第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統係進一步基於一或多個任務策略。
- 如請求項1之方法,其進一步包含: 基於來自該複數個用戶端系統中之每一者的該複數個信號分別計算與該複數個用戶端系統相關聯之複數個可信度得分;及 基於該複數個用戶端系統之各別可信度得分來對該複數個用戶端系統進行排序; 其中該第一用戶端系統為該複數個用戶端系統中之最高等級用戶端系統。
- 如請求項1之方法,其進一步包含: 跨該複數個用戶端系統產生網狀網路,其中該複數個用戶端系統係在彼此之無線通信範圍內。
- 如請求項6之方法,其中該輔助系統在該複數個用戶端系統中之一或多者上運行,且其中該方法進一步包含: 經由該網狀網路跨該複數個用戶端系統以自該複數個用戶端系統中之每一者分散該複數個信號。
- 如請求項7之方法,其進一步包含: 在該複數個用戶端系統之間比較經分散之該複數個信號,其中將該第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統係進一步基於該比較。
- 如請求項6之方法,其中該網狀網路係基於公用密鑰、私用密鑰或通信協定中之一或多者來產生。
- 如請求項6之方法,其進一步包含: 基於發現協定來發現該複數個用戶端系統,其中該發現係經由在該複數個用戶端系統之間的該網狀網路或同級間通信中之一或多者。
- 如請求項1之方法,其中將該第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統係進一步基於與該第一使用者相關聯之使用者偏好。
- 如請求項1之方法,其中該複數個信號包含以下中之兩者或更多者: 儲存於各別用戶端系統上的短期記憶; 指示該第一使用者與該各別用戶端系統之先前互動的時近性; 指示在該各別用戶端系統處接收到之該語音請求的時間; 在該各別用戶端系統處接收到之該語音請求的音量; 在該各別用戶端系統處接收到之該語音請求之信號雜訊比; 該第一使用者與該各別用戶端系統的參與程度; 與由該各別用戶端系統所俘獲之該第一使用者相關聯之凝視資訊; 該各別用戶端系統之姿勢; 該第一使用者至該各別用戶端系統之距離;或 與該第一使用者相關聯之情境資訊。
- 如請求項1之方法,其中該輔助系統在遠端伺服器上運行,且其中該方法進一步包含: 在該遠端伺服器處自該複數個用戶端系統接收複數個音訊信號,其中該複數個音訊信號中之每一者包含在各別用戶端系統處接收到之該語音請求;及 在該遠端伺服器處對該複數個音訊信號進行分組。
- 如請求項13之方法,其中該語音請求與揚聲器識別符(ID)相關聯,其中對該複數個音訊信號進行分組係基於該揚聲器ID。
- 如請求項13之方法,其中該複數個用戶端系統各自與IP位址相關聯,且其中對該複數個音訊信號進行分組係基於與該複數個用戶端系統之每一用戶端系統相關聯之該IP位址。
- 如請求項13之方法,其中該複數個用戶端系統各自與使用者識別符(ID)相關聯,且其中對該複數個音訊信號進行分組係基於與該複數個用戶端系統之每一用戶端系統相關聯之該使用者ID。
- 如請求項1之方法,其中該語音請求包含對該特定用戶端系統之不明確指代。
- 如請求項1之方法,其中該語音請求不包含對該特定用戶端系統之指代。
- 一或多個電腦可讀取非暫時性儲存媒體,其包含軟體,該軟體在經執行時操作上以: 藉由與複數個用戶端系統相關聯之輔助系統以自第一使用者接收語音請求,其中該第一使用者意欲啟動該複數個用戶端系統當中的特定用戶端系統,其中該複數個用戶端系統係在該第一使用者之收聽範圍內; 藉由該輔助系統存取來自該複數個用戶端系統中之每一者的與該語音請求相關聯之複數個信號; 藉由該輔助系統基於所存取信號將來自該複數個用戶端系統之第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統;及 藉由該輔助系統回應於該語音請求而指示該第一用戶端系統提供來自該輔助系統之回應。
- 一種包含一或多個處理器及一非暫時性記憶體之系統,該非暫時性記憶體耦接至該一或多個處理器,該非暫時性記憶體包含由該一或多個處理器可執行之指令,該一或多個處理器在執行該指令時操作上以: 藉由與複數個用戶端系統相關聯之輔助系統以自第一使用者接收語音請求,其中該第一使用者意欲啟動該複數個用戶端系統當中的特定用戶端系統,其中該複數個用戶端系統係在該第一使用者之收聽範圍內; 藉由該輔助系統存取來自該複數個用戶端系統中之每一者的與該語音請求相關聯之複數個信號; 藉由該輔助系統基於所存取信號將來自該複數個用戶端系統之第一用戶端系統識別為該第一使用者意欲啟動的該特定用戶端系統;及 藉由該輔助系統回應於該語音請求而指示該第一用戶端系統提供來自該輔助系統之回應。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163177812P | 2021-04-21 | 2021-04-21 | |
US63/177,812 | 2021-04-21 | ||
US17/336,716 US20220358917A1 (en) | 2021-04-21 | 2021-06-02 | Multi-device Mediation for Assistant Systems |
US17/336,716 | 2021-06-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202301080A true TW202301080A (zh) | 2023-01-01 |
Family
ID=82117298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111107737A TW202301080A (zh) | 2021-04-21 | 2022-03-03 | 輔助系統的多裝置調解 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220358917A1 (zh) |
EP (1) | EP4327198A1 (zh) |
TW (1) | TW202301080A (zh) |
WO (1) | WO2022226244A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230247421A1 (en) * | 2022-02-03 | 2023-08-03 | Uab 360 It | Enabling a secure mesh network using public keys and communication parameters of devices |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811312B2 (en) * | 2014-12-22 | 2017-11-07 | Intel Corporation | Connected device voice command support |
US10026399B2 (en) * | 2015-09-11 | 2018-07-17 | Amazon Technologies, Inc. | Arbitration between voice-enabled devices |
KR20180085931A (ko) * | 2017-01-20 | 2018-07-30 | 삼성전자주식회사 | 음성 입력 처리 방법 및 이를 지원하는 전자 장치 |
US10546583B2 (en) * | 2017-08-30 | 2020-01-28 | Amazon Technologies, Inc. | Context-based device arbitration |
EP3751823B1 (en) * | 2018-03-14 | 2023-06-28 | Google LLC | Generating iot-based notification(s) and provisioning of command(s) to cause automatic rendering of the iot-based notification(s) by automated assistant client(s) of client device(s) |
US10685669B1 (en) * | 2018-03-20 | 2020-06-16 | Amazon Technologies, Inc. | Device selection from audio data |
US10782986B2 (en) | 2018-04-20 | 2020-09-22 | Facebook, Inc. | Assisting users with personalized and contextual communication content |
US10860096B2 (en) * | 2018-09-28 | 2020-12-08 | Apple Inc. | Device control using gaze information |
US10521185B1 (en) * | 2019-02-19 | 2019-12-31 | Blackberry Limited | Privacy-enabled voice-assisted intelligent automated assistant user interface device |
-
2021
- 2021-06-02 US US17/336,716 patent/US20220358917A1/en not_active Abandoned
-
2022
- 2022-03-03 TW TW111107737A patent/TW202301080A/zh unknown
- 2022-04-21 WO PCT/US2022/025844 patent/WO2022226244A1/en active Application Filing
- 2022-04-21 EP EP22726559.2A patent/EP4327198A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022226244A1 (en) | 2022-10-27 |
EP4327198A1 (en) | 2024-02-28 |
US20220358917A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11823289B2 (en) | User controlled task execution with task persistence for assistant systems | |
US11159767B1 (en) | Proactive in-call content recommendations for assistant systems | |
EP4046097A1 (en) | Generating proactive content for assistant systems | |
CN116018791A (zh) | 在助手系统中使用单个请求进行多人呼叫 | |
TW202301081A (zh) | 輔助系統之基於真實世界文字偵測的任務執行 | |
TW202301080A (zh) | 輔助系統的多裝置調解 | |
US20240054156A1 (en) | Personalized Labeling for User Memory Exploration for Assistant Systems | |
TW202307643A (zh) | 助理系統進行有興趣時刻的自動捕捉 | |
US20230353652A1 (en) | Presenting Personalized Content during Idle Time for Assistant Systems | |
CN117396837A (zh) | 助理系统的多设备调解 | |
TW202240461A (zh) | 使用輔助系統的語音和手勢輸入之文字編輯 | |
CN117377942A (zh) | 助理系统的主动收听 | |
CN117396838A (zh) | 助理系统的基于真实世界文本检测的任务执行 | |
CN117396836A (zh) | 由助理系统自动采集有趣时刻 |