TW202307643A - 助理系統進行有興趣時刻的自動捕捉 - Google Patents

助理系統進行有興趣時刻的自動捕捉 Download PDF

Info

Publication number
TW202307643A
TW202307643A TW111114580A TW111114580A TW202307643A TW 202307643 A TW202307643 A TW 202307643A TW 111114580 A TW111114580 A TW 111114580A TW 111114580 A TW111114580 A TW 111114580A TW 202307643 A TW202307643 A TW 202307643A
Authority
TW
Taiwan
Prior art keywords
user
sensor
certain embodiments
context
client system
Prior art date
Application number
TW111114580A
Other languages
English (en)
Inventor
李一雷
路喜爾 希里瓦史塔瓦
艾蜜莉 王
麥可 羅伯特 韓森
劉白楊
劉洪磊
艾力克西 珍納戴維奇 逤爾克夫
阿漢默德 麥格蒂 漢莫帝 穆漢默德
阿里列查 迪拉夫祖恩
艾咪 勞森 比爾曼
義明 蒲
劉冰
帕歐里 克里斯托福 德
克里斯多福 夏蘭德
克里斯多福 E 巴爾麥斯
丹尼爾 約翰 維格多爾
陳元匯
丹尼斯 薩文寇夫
艾瑞克 羅伯特 洛斯厄普
蓋比瑞爾 凱瑟琳 默思基
甘納許 范恩卡特許
左浩
許虎
伊恩 葛拉夫
伊拉納 奧莉 夏洛維茲
傑克森 羅辛
約翰 雅各博 伯雷克雷
傑瑞米 吉爾摩 卡恩
潔西卡 奇鍥恩斯
李季航
勁松 于
喬許瓦 文森特
賈斯汀 丹尼
克利許納 查潭納 哥普賽提 西林尼瓦斯
凱爾 亞奇
雷夫 海分 馬廷森
洛伊德 西雷爾
馬克 派倫特
馬修 丹 費茲里
梅格哈 強強瓦拉
梅格哈 提瓦里
麥可 葛路克
尼可拉斯 霍黑 福羅列斯
皮由希 凱姆卡
蒲雅 賽提
普拉默德 格朗納斯
羅營 達巴斯
文勝煥
史黛芬妮 聖淘莎
史瓦提 高爾
新 甘
正平 左
崔正華
Original Assignee
美商元平台公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商元平台公司 filed Critical 美商元平台公司
Publication of TW202307643A publication Critical patent/TW202307643A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06V20/47Detecting features for summarising video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在一實施例中,一種方法包含從和一第一使用者相關的一客戶端系統存取藉由所述客戶端系統的感測器所捕捉的感測器信號,其中所述客戶端系統包括複數個感測器,並且其中所述感測器信號根據級聯模型策略而從所述感測器被存取,其中每一個級聯模型策略利用和每一個感測器相關的一個別成本或相關性中的一或多個,其根據機器學習模型以及所述感測器信號來偵測在和所述第一使用者的一活動相關的所述第一使用者的一情境上的改變,其中在所述第一使用者的所述情境上的改變滿足和所述活動相關的一觸發狀況,並且響應於所述第一使用者的所述情境上的偵測到的改變以藉由所述客戶端系統的相機來自動地捕捉視覺資料。

Description

助理系統進行有興趣時刻的自動捕捉
此揭露內容大致有關於網路環境內的資料庫以及檔案管理,並且尤其是有關用於智慧型助理系統的硬體及軟體。 優先權
此申請案主張2021年4月21日申請的美國臨時專利申請案號63/177812的益處,其被納入在此作為參考。
助理系統可為使用者的利益而根據使用者輸入、位置感知、以及獲取來自各種線上來源的資訊(例如天氣狀況、交通擁塞、新聞、股票價格、使用者的行事曆、零售價格、等等)的能力的組合來提供資訊或服務。所述使用者輸入可包含尤其是在即時通訊應用程式或其它應用程式中的文本(例如,線上聊天)、語音、影像、動作、或是其之組合。所述助理系統可根據所述使用者輸入來執行管理員類型的服務(例如,預約晚餐、購買活動票券、安排旅行)或是提供資訊。所述助理系統亦可在無使用者起始或互動下,根據線上資訊及事件來執行管理或資料處理的工作。那些可藉由助理系統執行的工作的例子可包含行事曆管理(例如,傳送有關晚餐約會使用者由於交通狀況而快遲到的警告、更新每一方的行事曆、以及更改餐廳的預約時間)。所述助理系統可藉由計算裝置、應用程式介面(API)、以及應用程式在使用者裝置上的普及的組合而被致能。
社群網路系統(其可包含社群網路網站)可致能其使用者(例如個人或團體)來和其互動以及透過其來彼此互動。所述社群網路系統可在來自使用者的輸入下,在所述社群網路系統中產生及儲存和所述使用者相關的使用者簡檔(profile)。所述使用者簡檔可包含人口統計資訊、通訊通道資訊、以及有關使用者個人的興趣資訊。所述社群網路系統亦可在來自使用者的輸入下,產生及儲存所述使用者與所述社群網路系統的其他使用者的關係記錄,並且提供服務(例如個人資料/新聞動態消息貼文、相片分享、活動社團、消息傳遞、遊戲、或是廣告)以促進在兩個或多個使用者之間的社交互動。
所述社群網路系統可透過一或多個網路,傳送相關其服務的內容或訊息至使用者的行動或其它計算裝置。使用者亦可在所述使用者的行動或其它計算裝置上安裝軟體應用程式,以用於存取在所述社群網路系統之內的所述使用者的使用者簡檔及其它資料。所述社群網路系統可以產生一組個人化內容物件以顯示給使用者,例如連接到所述使用者的其他使用者的匯總報導的新聞動態消息。
在特定實施例中,所述助理系統可協助使用者獲得資訊或服務。所述助理系統可致能所述使用者在有狀態及多回合對話中經由各種模式的使用者輸入(例如,音訊、語音、文本、影像、視訊、姿勢、動作、位置、方位)來和所述助理系統互動,以從所述助理系統得到協助。舉例且非限制性的,所述助理系統可支援單模態輸入(例如,只有語音輸入)、多模態輸入(例如,語音輸入及文本輸入)、混合/多模態輸入、或是其之任意組合。由使用者提供的使用者輸入可以是和特定相關助理的工作相關,並且例如可包含使用者請求(例如,口頭請求一動作的資訊或執行)、使用者和所述助理系統相關的一助理應用程式的互動(例如,經由觸碰或姿勢的UI元素的選擇)、或是所述助理系統可偵測及理解的任何其它類型的適當使用者輸入(例如,藉由所述使用者的客戶端裝置偵測到的使用者移動)。所述助理系統可產生及儲存使用者簡檔,其包括和所述使用者相關的個人以及情境資訊(contextual information)兩者。在特定實施例中,所述助理系統可利用自然語言理解技術(NLU)來分析所述使用者輸入。所述分析可以是根據所述使用者的使用者簡檔,以獲得更加個人化及情境感知的理解。所述助理系統可根據所述分析來解析和所述使用者輸入相關的實體。在特定實施例中,所述助理系統可和不同代理互動,以獲得和所解析出的實體相關的資訊或服務。所述助理系統可針對於所述使用者,藉由利用自然語言生成技術(NLG)來產生一有關所述資訊或服務的響應。透過和所述使用者的互動,所述助理系統可使用對話管理技術來管理及推進與所述使用者的談話流程。在特定實施例中,所述助理系統可藉由概述所述資訊來進一步協助所述使用者有效用且有效率地消化所獲得的資訊。所述助理系統亦可藉由提供幫助使用者和一線上社群網路互動的工具(例如,產生貼文、評論、訊息),來協助所述使用者更加參與所述線上社群網路。所述助理系統額外可協助所述使用者管理不同工作,例如是追蹤活動。在特定實施例中,所述助理系統可在無使用者輸入下,根據所述使用者簡檔來在一相關所述使用者的時間主動地執行相關使用者興趣及偏好的工作。在特定實施例中,所述助理系統可檢查隱私設定,以確保存取一使用者的簡檔或是其他使用者資訊並且執行不同工作是所述使用者的隱私設定所容許的主題。
在特定實施例中,所述助理系統可經由建構在客戶側的程序以及伺服器側的程序兩者上的一混合架構來協助所述使用者。所述客戶側的程序以及所述伺服器側的程序可以是兩個用於處理一使用者輸入的平行工作流程,並且提供協助給所述使用者。在特定實施例中,所述客戶側的程序可在和一使用者相關的一客戶端系統上,本地加以執行。對比之下,所述伺服器側的程序可在一或多個計算系統上,遠端地加以執行。在特定實施例中,在所述客戶端系統上的一仲裁器可協調接收使用者輸入(例如,一音訊信號),決定是否使用一客戶側程序、一伺服器側程序、或是兩者以響應於所述使用者輸入,並且分析來自每一個程序的處理結果。所述仲裁器可根據前述分析來指示在所述客戶側或是伺服器側上的代理來執行和所述使用者輸入相關的工作。所述執行結果可進一步被呈現為輸出至所述客戶端系統。藉由利用客戶側及伺服器側的程序兩者,所述助理系統可在計算資源的最佳利用下有效地協助使用者,同時保護使用者隱私且強化安全性。
在特定實施例中,所述助理系統可容許使用者參與其真實世界活動,同時仍然能夠輕易地從其助理致能客戶端系統,經由一自動捕捉特點來拍攝照片或視頻。在所述自動捕捉特點下,使用者可設定一延遲觸發(例如,告訴其助理致能智慧型眼鏡在一未來活動的開始時拍攝照片或視頻),因而所述助理系統可偵測所述使用者的情境的改變以自動地判斷所述活動何時開始、識別有興趣時刻、以及捕捉那些時刻。舉例且非限制性的,一使用者將在明天健行。所述使用者可說“嘿助理,記得明天在健行期間拍攝照片”。當所述使用者隔天到達健行步道時,所述助理系統可利用GPS資訊來判斷所述使用者正要開始健行。接著當所述使用者正在健行時,所述助理系統可根據各種信號來決定有興趣時刻,並且拍攝這些時刻的照片。在所述健行結束之後,所述助理系統可停止拍攝照片。所述助理系統可進一步自動整理所述照片並且將它們拼接在一起成為一精彩視頻給所述使用者。所述助理系統可利用不同信號來判斷一活動的開始及結束以及所述有興趣時刻,其可包括視覺信號、聲音信號、動作信號、等等。所述助理系統可根據所述模型所用的輸入信號來利用具有不同計算成本的一系列的機器學習模型。所述自動捕捉特點可反應性且主動地被利用來幫助使用者捕捉其活動的有興趣時刻。當反應性地被利用時,所述使用者可能需要設定一觸發,一旦所述觸發狀況發生後則啟動自動捕捉。當主動地被利用時,所述助理系統可根據對於所述使用者的認知(例如,使用者偏好設定、使用者記憶、等等)來觸發自動捕捉。所述自動捕捉可致能所述助理系統來解決數個限制,其包含在捕捉有興趣時刻的使用者經驗上的摩擦、在所述客戶端系統上的電源管理、隱私敏感資訊的保護、以及在執行捕捉有興趣時刻的工作中的延遲。儘管此揭露內容描述藉由特定系統用一特定方式來自動捕捉特定時刻,但是此揭露內容思及藉由任何適當系統以任何適當方式來自動捕捉任何適當時刻。
在特定實施例中,所述助理系統可從和一第一使用者相關的客戶端系統存取藉由所述客戶端系統的一或多個感測器所捕捉的一或多個感測器信號。所述客戶端系統可包括複數個感測器。在特定實施例中,所述一或多個感測器信號可根據一或多個級聯模型(cascading model)策略而從所述一或多個感測器來加以利用。每一個級聯模型策略可利用和每一個感測器相關的一個別成本或相關性中的一或多個。所述助理系統接著可根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的一活動相關的所述第一使用者的一情境上的改變。在特定實施例中,在所述第一使用者的所述情境上的改變可能滿足和所述活動相關的一觸發狀況。所述助理系統可進一步響應於所述第一使用者的所述情境上的偵測到改變,藉由所述客戶端系統的一或多個相機來自動地捕捉視覺資料。
針對於自動捕捉有興趣的時刻,存在某些技術上的挑戰。一技術上的挑戰可能包含偵測滿足所述觸發的所述使用者的情境的改變。由在此揭露的實施例所提出的解決此挑戰的解決方案可以是利用不同感測器的不同信號、以及根據這些信號的機器學習模型,因為所述感測器信號可包括描繪所述使用者的情境以及所述有興趣時刻的特性的資訊,並且所述機器學習模型可分析這些感測器信號以偵測所述情境的改變。另一技術上的挑戰可能包含判斷所述有興趣時刻。藉由在此揭露的實施例所提出以解決此挑戰的一解決方案可以是利用不同感測器的不同信號以及根據這些信號的機器學習模型,因為所述感測器信號可包括描繪所述有興趣時刻的特性的資訊,並且所述機器學習模型可分析這些感測器信號以判斷所述有興趣時刻。藉由在此揭露的實施例所提出以解決此挑戰的另一解決方案可以是根據不同標準來判斷有興趣時刻,因為這些標準可以提供量化量測來評估有趣性。藉由在此揭露的實施例所提出以解決此挑戰的另一解決方案可以是利用一資料驅動方法以及全面使用者研究來學習模型,其可判斷有興趣時刻,因為在所述迴圈中涉及多個使用者以提供大量的人為判斷有趣性可使得所述模型在用像人類一樣的方式來判斷有趣性上更加強健的。另一技術上的挑戰可能包含節省在客戶端系統上的計算資源。藉由在此揭露的實施例所提出以解決此挑戰的一解決方案可以是利用根據級聯模型策略的一系列的機器學習模型,根據其個別計算成本而利用不同感測器信號,以判斷滿足所述觸發狀況的使用者的情境的改變以及有興趣時刻,因為所述助理系統可主要地使用便宜感測器信號並且節約地使用昂貴感測器信號。
在此揭露的某些實施例可提供一或多個技術上的優點。所述實施例的一技術上的優點可包含致能使用者能夠參與真實世界活動,同時輕易地使得所述活動的有興趣時刻被記錄,因為所述助理系統可自動地偵測使用者的情境的改變以識別有興趣時刻,並且在所述活動期間,在無使用者的指令下捕捉它們。所述實施例的另一技術上的優點可包含有效率地利用小型客戶端系統的有限計算資源於自動捕捉,因為所述客戶端系統只作動來捕捉有興趣時刻,而更為能量/記憶體有效率的。所述實施例的另一技術上的優點可包含降低用於自動捕捉的延遲,其藉由跳過整個用於處理語音命令的助理堆疊,並且藉由利用客戶側分類模型以用於判斷何時執行自動捕捉。在此揭露的某些實施例可提供以上技術上的優點中的全無、部分或是全部。一或多個其它技術上的優點對於有鑑於本揭露內容的圖式、說明及請求項的熟習此項技術者而言可以是相當明顯的。
在此揭露的實施例只是例子而已,因而此揭露內容的範疇並不限於它們。特定實施例可包含在此揭露的實施例的構件、元件、特點、功能、操作、或是步驟的全部、部分或是全無。根據本發明的實施例是特別揭露在所附的請求項中,其針對於方法、儲存媒體、系統以及電腦程式產品,其中在一請求項類型(例如方法)中被提及的任何特點都也可在另一請求項類型(例如系統)中主張。在所附請求項中的向前依附或參照只是為了格式的原因來選擇。然而,任何產生自刻意的參考回到任何先前的請求項之標的(尤其是多重依附)也都可主張,因而請求項及其之特點的任意組合被揭示並且可主張,而不論在所附請求項中所選的依附為何。可主張的標的不只包括如同在所附請求項中陳述的特點的組合,而且亦包括在所述請求項中的特點的任何其它組合,其中在所述請求項中提及的每一個特點可和任何在所述請求項中的其它特點或是其它特點的組合來加以組合。再者,在此敘述或描繪的實施例及特點的任一個都可在一個別請求項中主張,且/或用與在此敘述或描繪的任何實施例或特點、或是與所附請求項的特點的任一個的任意組合來主張。
系統概觀
圖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的一或多個部分可包含一特用網路、一內部網路、一外部網路、一虛擬私人網路(VPN)、一區域網路(LAN)、一無線LAN(WLAN)、一廣域網路(WAN)、一無線WAN(WWAN)、一都會區域網路(MAN)、網際網路的一部分、公共交換電信網路(PSTN)的一部分、一蜂巢式技術為基礎的網路、一衛星通訊技術為基礎的網路、其它網路110、或是兩個或多個此種網路110的組合。
鏈路150可連接一客戶端系統130、一助理系統140、一社群網路系統160、以及一第三方系統170至一通訊網路110、或是連接至彼此。此揭露內容思及任何適當的鏈路150。在特定實施例中,一或多個鏈路150包含一或多個有線的(例如數位用戶線路(DSL)或是有線電纜資料服務介面規範(DOCSIS))、無線的(例如Wi-Fi或是全球互通微波存取(WiMAX))、或是光學的(例如同步光纖網路(SONET)或是同步數位階層(SDH))連結。在特定實施例中,一或多個鏈路150分別包含一臨時網路、一內部網路、一外部網路、一VPN、一LAN、一WLAN、一WAN、一WWAN、一MAN、網際網路的一部分、PSTN的一部分、一蜂巢式技術為基礎的網路、一衛星通訊技術為基礎的網路、其它鏈路150、或是兩個或多個此種鏈路150的一組合。鏈路150並不一定需要遍及網路環境100都相同。一或多個第一鏈路150可在一或多個方面與一或多個第二鏈路150不同。
在特定實施例中,一客戶端系統130可以是任何適當的電子裝置,其包含硬體、軟體、或是內嵌的邏輯構件、或是兩個或多個此種構件的組合,並且可以是能夠實行藉由一客戶端系統130所實施或支援的功能。舉例且非限制性的,所述客戶端系統130可包含例如是桌上型電腦、筆記型電腦或膝上型電腦的電腦系統、小筆電、平板電腦、電子書閱讀器、GPS裝置、相機、個人數位助理(PDA)、手持式電子裝置、行動電話、智慧型手機、智慧型揚聲器、智慧型手錶、智慧型眼鏡、擴增實境(AR)智慧型眼鏡、虛擬實境(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,並且可具有一或多個附加元件、外掛、或是其它延伸功能。在一客戶端系統130的使用者可輸入一統一資源定位符(URL)或是其它位址,其導引一網路瀏覽器132至一特定伺服器(例如伺服器162、或是和一第三方系統170相關的一伺服器),並且所述網路瀏覽器132可產生一超文本傳輸協定(HTTP)請求,並且傳遞所述HTTP請求至伺服器。所述伺服器可接受所述HTTP請求,並且響應於所述HTTP請求來傳遞至一客戶端系統130一或多個超文本標記語言(HTML)檔案。所述客戶端系統130可根據來自所述伺服器的HTML檔案來顯現一網路介面(例如一網頁),以用於呈現給使用者。此揭露內容是思及任何適當的來源檔案。舉例且非限制性的,一網路介面可根據特定需求,從HTML檔案、可延伸超文本標記語言(XHTML)檔案、或是可延伸標記語言(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亦可以是所述助理系統140的部分。在特定的實施例中,所述助理應用程式136可經由所述網路瀏覽器132來加以利用。在特定實施例中,使用者可藉由透過各種模式(例如,音訊、語音、文字、視覺、影像、視頻、姿勢、動作、活動、位置、方位)來提供使用者輸入至所述助理應用程式136來和所述助理系統140互動。所述助理應用程式136可傳遞(例如,經由所述助理機器人)所述使用者輸入至所述助理系統140。根據所述使用者輸入,所述助理系統140可產生響應。所述助理系統140可傳送所產生的響應至所述助理應用程式136。所述助理應用程式136接著可經由各種模式(例如,音訊、文字、影像、以及視頻)來呈現所述響應給在所述客戶端系統130的使用者。舉例且非限制性的,使用者可經由所述客戶端系統130的麥克風,藉由提供一使用者輸入(例如,一口頭請求有關附近的車輛交通的目前狀態的資訊)至所述助理機器人來和所述助理系統140互動。所述助理應用程式136接著可以透過網路110來傳遞所述使用者輸入至所述助理系統140。所述助理系統140於是可分析所述使用者輸入、根據所述使用者輸入的分析(例如,從一第三方來源獲得的車輛交通資訊)來產生一響應、以及傳遞所產生的響應回到所述助理應用程式136。所述助理應用程式136接著可用任何適當方式(例如,在所述客戶端系統130的一顯示器上顯示一文字為基礎的推送通知、及/或描繪附近的車輛交通的本地地圖的影像)來呈現所產生的響應給所述使用者。
在特定實施例中,一客戶端系統130可實施喚醒詞偵測技術以容許使用者利用和助理系統140相關的一或多個喚醒詞來便利地啟動所述助理系統140。舉例且非限制性的,在客戶端系統130上的系統音訊API可持續地監視在所述客戶端系統130接收到的包括音訊資料(例如,語音資料的訊框)的使用者輸入。在此例子中,和所述助理系統140相關的一喚醒詞可以是所述語音短語“嘿助理”。在此例子中,當在客戶端系統130上的系統音訊API在所監測的音訊資料中偵測到所述語音短語“嘿助理”時,所述助理系統140可被啟動以用於後續和所述使用者的互動。在替代的實施例中,類似偵測技術可被實施來啟動所述助理系統140,其利用和所述助理系統140相關的特定非音訊的使用者輸入。例如,所述非音訊的使用者輸入可以是藉由客戶端系統130的一低功率感測器(例如,相機)偵測到的特定的視覺信號。舉例且非限制性的,所述視覺信號可以是一靜態影像(例如,條碼、QR碼、通用產品代碼(UPC))、所述使用者的位置(例如,所述使用者朝向客戶端系統130的注視)、一使用者動作(例如,所述使用者指向一物體)、或是任何其它適當的視覺信號。
在特定實施例中,一客戶端系統130可包含一顯現裝置137以及選配的一隨附裝置138。所述顯現裝置137可被配置以顯現藉由所述助理系統140所產生的輸出給所述使用者。所述隨附裝置138可被配置以在特定情況中(例如,當所述顯現裝置137無法執行所述計算時),在所述隨附裝置138上本地(亦即,在裝置上)執行和特定工作相關的計算(例如,和所述助理系統140的通訊)。在特定的實施例中,所述客戶端系統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可經由一或多個無線通訊協定(例如,藍芽)來和彼此相關聯的(亦即,配對的)。
以下範例的工作流程描繪一顯現裝置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或其它實體接收內容、或是容許使用者能夠透過一應用程式介面(API)或其它通訊通道來和這些實體互動。
在特定實施例中,一第三方系統170可包含一或多種類型的伺服器、一或多個資料儲存庫、一或多個包含但不限於API的介面、一或多個網路服務、一或多個內容來源、一或多個網路、或是例如伺服器可和其通訊的任何其它適當的構件。一第三方系統170可藉由一不同於操作所述社群網路系統160的實體之實體來操作。然而,在特定實施例中,所述社群網路系統160以及第三方系統170可彼此結合地運作,以提供社群網路服務給所述社群網路系統160或是第三方系統170的使用者。從此意思上說,所述社群網路系統160可提供一平台或骨幹,而其它例如是第三方系統170的系統可利用來提供社群網路服務及功能給橫跨網際網路的使用者。
在特定實施例中,一第三方系統170可包含一第三方內容物件提供者。一第三方內容物件提供者可包含一或多個內容物件的來源,其可被傳遞至一客戶端系統130。舉例且非限制性的,內容物件可包含有關使用者感興趣的事物或活動的資訊,例如是電影放映時間、電影評論、餐廳評論、餐廳菜單、產品資訊及評論、或是其它適當的資訊。舉另一例子且非限制性的,內容物件可包含鼓勵性質的內容物件,例如是優惠券、折扣票、禮券、或是其它適當的鼓勵性質物件。在特定實施例中,一第三方內容提供者可利用一或多個第三方代理以提供內容物件及/或服務。一第三方代理可以是被代管及執行在所述第三方系統170上的一實施方式。
在特定實施例中,所述社群網路系統160亦包含使用者產生的內容物件,其可強化使用者和所述社群網路系統160的互動。使用者產生的內容可包含使用者可增加、上載、傳送、或是“貼文”至所述社群網路系統160的任何事物。舉例且非限制性的,使用者從一客戶端系統130傳遞貼文至所述社群網路系統160。貼文可包含資料,例如狀態更新或其它文字資料、位置資訊、照片、視頻、連結、音樂或是其它類似的資料或媒體。內容亦可藉由一第三方透過一“通訊通道”,例如新聞動態消息或串流而被加到所述社群網路系統160。
在特定實施例中,所述社群網路系統160可包含各種伺服器、子系統、程式、模組、日誌、以及資料儲存庫。在特定的實施例中,所述社群網路系統160可包含以下的一或多個:一網路伺服器、動作登錄器、API請求伺服器、相關性及排名引擎、內容物件的分類器、通知控制器、動作日誌、第三方的內容物件的接觸日誌、推論模組、授權/隱私伺服器、搜尋模組、廣告定位模組、使用者介面模組、使用者簡檔儲存庫、連結儲存庫、第三方的內容儲存庫、或是位置儲存庫。所述社群網路系統160亦可包含適當構件,例如網路介面、安全機構、負載平衡器、故障切換伺服器、管理及網路操作控制台、其它適當的構件、或是其之任何適當的組合。在特定實施例中,所述社群網路系統160可包含一或多個用於儲存使用者簡檔的使用者簡檔儲存庫。一使用者簡檔例如可包含傳記資訊、人口統計的資訊、行為資訊、社交資訊、或是其它類型的描述資訊,例如是工作經驗、學歷、嗜好或偏好、興趣、喜好、或是位置。興趣資訊可包含相關於一或多個種類的興趣。種類可以是一般或特定的。舉例且非限制性的,若使用者“喜歡”有關一鞋子品牌的物品,則所述類型可以是所述品牌、或是“鞋子”或“衣服”的一般的類型。一連結儲存庫可被使用於儲存有關使用者的連結資訊。所述連結資訊可指出擁有類似或共同的工作經驗、群組成員、嗜好、學歷、或是以任何方式相關或共享共同屬性的使用者。所述連結資訊亦可包含使用者定義的在不同使用者及內容(內部及外部的)之間的連結。一網路伺服器可被使用於經由一網路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可執行包含回音消除、雜訊去除、波束成形、自使用者語音啟動、發話人識別、語音活動偵測(VAD)的技術、及/或任何其它適當的聲波技術,以便於產生容易可藉由所述助理系統140處理的音訊資料。在特定實施例中,所述助理系統140可支援單模態輸入(例如,只有語音輸入)、多模態輸入(例如,語音輸入及文字輸入)、混合/多模態輸入、或是其之任意組合。在特定實施例中,一使用者輸入可以是在單回合中被傳送至所述助理系統140的一使用者產生的輸入。由一使用者提供的使用者輸入可以是和特定相關助理工作相關的,並且例如可包含使用者請求(例如,口頭請求一動作的資訊或執行)、使用者和所述助理系統140相關的助理應用程式136的互動(例如,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藉由在所述客戶端系統130上本地執行客戶側的程序,結合在一或多個遠端的伺服器上(例如,和助理系統140相關的一伺服器)執行伺服器側的程序來處理一使用者輸入並且提供協助給所述使用者。例如,所述客戶端系統130以及和助理系統140相關的伺服器都可執行自動話音辨識(ASR)以及自然語言理解技術(NLU)的程序,但是所述客戶端系統130可委派對話、代理、以及自然語言生成技術(NLG)的程序來藉由和助理系統140相關的伺服器加以執行。
在特定實施例中,一操作模式的選擇可以是至少部分根據一裝置狀態、和一使用者輸入相關的一工作、及/或一或多個額外因素。舉例且非限制性的,如上所述,一因數可以是針對於客戶端系統130的網路連接狀態。例如,若所述客戶端系統130並未連接至網路110(亦即,當客戶端系統130是離線的),則所述助理系統140可在所述第一操作模式中(亦即,裝置上模式)處理一使用者輸入。舉另一例子且非限制性的,另一因數可根據用於所述客戶端系統130的可利用電池電力(亦即,電池狀態)的量測。例如,若客戶端系統130有需要節約電池電力(例如,當客戶端系統130只有最小可利用的電池電力、或是使用者已經指出希望節約所述客戶端系統130的電池電力時),所述助理系統140可在所述第二操作模式(亦即,雲端模式)或是所述第三操作模式(亦即,混合模式)處理一使用者輸入,以便於在所述客戶端系統130上執行較不電力密集型的操作。舉又一例子且非限制性的,另一因數可以是一或多個隱私限制(例如,指明的隱私設定、可適用的隱私策略)。例如,若一或多個隱私限制限制或排除特定資料被發送至遠端伺服器(例如,和所述助理系統140相關的一伺服器),則所述助理系統140可在所述第一操作模式中(亦即,裝置上模式)處理一使用者輸入以便於保護使用者隱私。舉又一例子且非限制性的,另一因數可以是在所述客戶端系統130以及一遠端伺服器(例如,和助理系統140相關的伺服器)之間的去同步的情境資料。例如,所述客戶端系統130以及和助理系統140相關的伺服器可能被判斷為具有不一致的、遺失的、及/或未取得一致的情境資料,所述助理系統140可所述第三操作模式中(亦即,混合模式)處理一使用者輸入,以降低和所述使用者輸入相關的不足分析的可能性。舉又一例子且非限制性的,另一因數可以是針對於在客戶端系統130以及一遠端伺服器(例如,和助理系統140相關的伺服器)之間的連線延遲的一量測。例如,若和一使用者輸入相關的一工作可顯著地受益於及/或需要提示或是立即執行(例如,捕捉照片的工作),則所述助理系統140可在所述第一操作模式中(亦即,裝置上模式)處理所述使用者輸入,以確保所述工作用及時方式被執行。舉又一例子且非限制性的,另一因數可以是針對相關於和一使用者輸入相關的一工作的一特點,所述特點是否只由一遠端伺服器(例如,和助理系統140相關的伺服器)所支援。例如,若在所述使用者輸入之際,所述相關特點需要只藉由和助理系統140相關的伺服器所支援的先進技術功能(例如,高功率處理功能、快速更新週期),而未被客戶端系統130所支援,則所述助理系統140可在所述第二操作模式(亦即,雲端模式)或是所述第三操作模式(亦即,混合模式)處理所述使用者輸入,以便受益於所述相關特點。
在特定實施例中,在所述客戶端系統130上的一裝置上協調器(orchestrator)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可執行命名實體解析(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上(例如,一較小及/或自助的(bootstrapped)版本的一知識圖譜),則所述裝置上協調器206可選擇所述第一操作模式(亦即,裝置上模式)。
在特定實施例中,若所述裝置上協調器206在決策點(D1)215判斷處理是應該繼續利用所述第一操作模式(亦即,裝置上模式)或是所述第三操作模式(亦即,混合模式),則所述客戶側程序可如同在圖2中所繪地繼續。舉例且非限制性的,來自所述實體解析模組212a的輸出可被傳送至一裝置上對話管理器216a。在特定的實施例中,所述裝置上對話管理器216a可包括一對話狀態追蹤器218a以及一動作選擇器222a。所述裝置上對話管理器216a可具有複雜對話邏輯以及產品相關的商業邏輯,以管理在所述使用者以及所述助理系統140之間的談話的對話狀態以及流程。所述裝置上對話管理器216a可包含用於端到端整合以及多回合支援的完整功能(例如,確認、消除歧義)。所述裝置上對話管理器216a亦可以是有關計算限制以及包含記憶體、計算(CPU)、以及二進位尺寸的資源限制為輕量型。所述裝置上對話管理器216a亦可以是可擴充的,以改善開發者體驗。在特定的實施例中,所述裝置上對話管理器216a可幫助所述助理系統140,其例如藉由提供離線支援以減輕網路連線問題(例如,不穩定或是無法利用的網路連線)、藉由利用客戶側的程序以避免隱私敏感的資訊從客戶端系統130被發送離開、以及藉由在高度延遲敏感情節中提供穩定的使用者體驗。
在特定實施例中,所述裝置上對話管理器216a可進一步進行假觸發減輕。假觸發減輕的實施可偵測及避免來自使用者輸入的假觸發,否則將會喚起所述助理系統140(例如,一非計劃中的喚醒詞),並且其可進一步避免所述助理系統140根據所述假觸發而產生資料記錄,其可能是不正確的及/或受隱私限制的。舉例且非限制性的,若一使用者是在一語音通話中,則所述使用者在所述語音通話期間的談話可被視為隱私的,因而所述假觸發減輕可限制對於藉由所述使用者的客戶端系統130本地接收到的音訊的使用者輸入的喚醒詞偵測。在特定實施例中,所述裝置上對話管理器216a可根據一無意義話偵測器來實施假觸發減輕。若所述無意義話偵測器在高可信度下判斷一接收到的喚醒詞在其從所述使用者接收到的時點,在邏輯及/或在情境上不是合理的,則所述裝置上對話管理器216a可判斷所述使用者並不欲喚起所述助理系統140。
在特定實施例中,由於所述客戶端系統130有限的計算能力,所述裝置上對話管理器216a可根據特別針對於客戶端系統130調適的學習演算法來進行裝置上學習。舉例且非限制性的,聯盟式(federated)學習技術可藉由所述裝置上對話管理器216a來實施。聯盟式學習是一特定類型的分散式機器學習技術,其可利用在終端裝置(例如,行動電話)上儲存的去中心化資料來訓練機器學習模型。在特定實施例中,所述裝置上對話管理器216a可利用聯盟式使用者的表示學習模型,以延伸現有的神經網路的個人化技術至聯盟式學習藉由所述裝置上對話管理器216a的實施。聯盟式使用者的表示學習可藉由學習工作特有的使用者表示(亦即,嵌入)及/或藉由個人化模型權重,來個人化聯盟式學習模型。聯盟式使用者的表示學習是簡單、可擴充、保存隱私、以及資源有效率的。聯盟式使用者的表示學習可將模型參數分成聯盟及私人參數。私人參數(例如私人使用者嵌入)可在一客戶端系統130上本地訓練,而不是被轉移到一遠端伺服器(例如,和助理系統140相關的伺服器)、或是藉由遠端伺服器平均。相對地,聯盟參數可以在所述伺服器上遠端地訓練。在特定的實施例中,所述裝置上對話管理器216a可利用一主動聯盟式學習模型,其可發送在所述遠端伺服器上訓練的一全域的模型至客戶端系統130,並且在所述客戶端系統130上本地計算梯度。主動聯盟式學習可致能所述裝置上對話管理器216a最小化和下載模型及上載梯度相關的發送成本。對於主動聯盟式學習而言,在每一回合中,客戶端系統130可用半隨機方式,至少部分根據所述客戶端系統130上的目前模型及資料的一機率而被選擇,以便於最佳化用於訓練所述聯盟式學習模型的效率。
在特定實施例中,所述對話狀態追蹤器218a可隨著時間過去,追蹤當一使用者與世界互動、以及所述助理系統140與所述使用者互動時的狀態改變。舉例且非限制性的,在可適用的隱私策略下,所述對話狀態追蹤器218a例如可追蹤所述使用者正談論什麼、所述使用者和誰在一起、所述使用者位在何處、目前進行中的工作為何、以及所述使用者注視在何處。
在特定實施例中,在決策點(D1)215,所述裝置上協調器206可決定為了所述第二操作模式(亦即,雲端模式)或是所述第三操作模式(亦即,混合模式)而轉傳所述使用者輸入至所述伺服器。舉例且非限制性的,若特定功能或程序(例如,消息傳遞)並未在所述客戶端系統130上被支援,則所述裝置上協調器206可在決策點(D1)215決定使用所述第三操作模式(亦即,混合模式)。在特定實施例中,所述裝置上協調器206可使得來自所述NLU模組210a、所述情境引擎220a、以及所述實體解析模組212a的輸出,經由一對話管理器代理224而被轉傳至遠端的對話管理器216b的一實體解析模組212b,以繼續所述處理。所述對話管理器代理224可以是用於在所述客戶端系統130以及所述伺服器之間的資訊/事件交換的一通訊通道。在特定實施例中,所述對話管理器216b可額外包括一遠端的仲裁器226b、一遠端的對話狀態追蹤器218b、以及一遠端的作用選擇器222b。在特定實施例中,所述助理系統140可能已經在決策點(D0)205開始在所述第二操作模式(亦即,雲端模式)下處理一使用者輸入,並且所述裝置上協調器206在決策點(D1)215可決定繼續根據所述第二操作模式(亦即,雲端模式)來處理所述使用者輸入。於是,來自所述NLU模組210b以及所述情境引擎220b的輸出可在所述遠端的實體解析模組212b被接收到。遠端的實體解析模組212b可具有與本地的實體解析模組212a類似的功能,其可包括解析和所述槽位相關的實體。在特定實施例中,所述實體解析模組212b在解析所述實體時可存取所述社交圖、所述知識圖譜、或是所述概念圖中的一或多個。來自所述實體解析模組212b的輸出可在所述仲裁器226b被接收到。
在特定實施例中,遠端的仲裁器226b可負責在客戶側以及伺服器側的上游結果(例如,來自所述NLU模組210a/b的結果、來自所述實體解析模組212a/b的結果、以及來自所述情境引擎220a/b的結果)之間做選擇。所述仲裁器226b可傳送所選的上游結果至遠端的對話狀態追蹤器218b。在特定實施例中,類似於本地的對話狀態追蹤器218a,遠端的對話狀態追蹤器218b可利用工作規範來轉換所述上游結果成為候選工作,並且利用實體解析來解析引數。
在特定實施例中,在決策點(D2)225,所述裝置上協調器206可決定是否繼續根據所述第一操作模式(亦即,裝置上模式)來處理所述使用者輸入、或是轉傳所述使用者輸入至所述伺服器以用於所述第三操作模式(亦即,混合模式)。所述決策例如可依據所述客戶側程序是否能夠成功地解決所述工作及槽位、是否存在具有一特定特點支援的一有效工作策略、及/或在所述客戶側程序以及所述伺服器側程序之間的情境差異而定。在特定實施例中,在決策點(D2)225所做的決策可以是用於多回合情節。在特定實施例中,可以有至少兩個可能情節。在一第一情節中,所述助理系統140可能已經在所述第一操作模式中(亦即,裝置上模式),利用客戶側對話狀態來開始處理一使用者輸入。若所述助理系統140在某個時點決定切換成使得所述遠端伺服器處理所述使用者輸入,則所述助理系統140可產生具有目前工作狀態的一程式化/預先定義工作,並且將其轉傳至所述遠端伺服器。針對於後續回合,所述助理系統140可在所述第三操作模式(亦即,混合模式)中利用所述伺服器側對話狀態來繼續處理。在另一情節中,所述助理系統140可能已經開始在所述第二操作模式(亦即,雲端模式)或是所述第三操作模式(亦即,混合模式)中處理所述使用者輸入,並且對於所有後續回合可能實質依賴伺服器側對話狀態。若所述裝置上協調器206判斷繼續根據所述第一操作模式(亦即,裝置上模式)來處理所述使用者輸入,則來自所述對話狀態追蹤器218a的輸出可在所述動作選擇器222a被接收到。
在特定實施例中,在決策點(D2)225,所述裝置上協調器206可決定轉傳所述使用者輸入至所述遠端伺服器,並且在所述第二操作模式(亦即,雲端模式)或是所述第三操作模式(亦即,混合模式)中繼續處理所述使用者輸入。所述助理系統140可產生具有目前工作狀態的一程式化/預先定義工作,並且將其轉傳至所述伺服器,其可在所述動作選擇器222b被接收到。在特定實施例中,所述助理系統140可能已經開始在所述第二操作模式(亦即,雲端模式)中處理所述使用者輸入,並且所述裝置上協調器206在決策點(D2)225可決定繼續在所述第二操作模式(亦即,雲端模式)中處理所述使用者輸入。於是,來自所述對話狀態追蹤器218b的輸出可在所述動作選擇器222b被接收到。
在特定實施例中,所述動作選擇器222a/b可執行互動管理。所述動作選擇器222a/b可決定及觸發一組一般可執行動作。所述動作可在所述客戶端系統130上、或是在所述遠端伺服器被執行。舉例且非限制性的,這些動作可包含提供資訊或建議給所述使用者。
在特定實施例中,所述動作可和代理228a/b、使用者、及/或所述助理系統140本身互動。這些動作可包括包含一槽位請求、一確認、一消除歧義、或是一代理執行中的一或多個的動作。所述動作可與所述動作選擇器222a/b的基礎實施方式無關。對於更複雜情節而言,例如多回合工作或是具有複雜商業邏輯的工作,所述本地的動作選擇器222a可呼叫一或多個本地的代理228a,並且所述遠端的動作選擇器222b可呼叫一或多個遠端的代理228b以執行所述動作。代理228a/b可經由工作ID而被喚起,因而任何動作都可利用該工作ID而被指定路由至正確的代理228a/b。在特定實施例中,一代理228a/b可被配置以作為橫跨針對於一領域的複數個內容提供者的一中介者(broker)。一內容提供者可以是負責實行和一意圖相關的一動作、或是完成和所述意圖相關的一工作的一實體。在特定實施例中,代理228a/b可提供數個功能給所述助理系統140,其例如包含原生樣版產生、工作特有商業邏輯、以及查詢外部API。當執行針對於一工作動作時,代理228a/b可利用來自所述對話狀態追蹤器218a/b的情境,並且亦可更新所述對話狀態追蹤器218a/b。在特定實施例中,代理228a/b亦可從一對話動作產生部分的酬載。
在特定實施例中,所述本地的代理228a可針對於不同平台(例如,智慧型眼鏡相對於VR頭戴式裝置)而使得不同實施方式被編譯/註冊。在特定實施例中,多個裝置特有的實施方式(例如,用於一客戶端系統130的即時的通話、或是在所述客戶端系統130上的一消息傳遞應用程式)可藉由單一代理228a內部地處理。或者是,裝置特有實施方式可藉由和多個域相關的多個代理228a來處理。舉例且非限制性的,呼叫智慧型眼鏡上的一代理228a可用與呼叫智慧型手機上的一代理228a不同的方式來實施。不同平台亦可利用不同數量的代理228a。所述代理228a亦可以是跨平台的(亦即,在所述客戶端系統130上的不同作業系統)。此外,所述代理228a可具有最小化的起動時間或是二進位尺寸的影響。本地的代理228a可適合用於特定使用案例。舉例且非限制性的,一使用案例可以是在所述客戶端系統130上的緊急通話。舉另一例子且非限制性的,另一使用案例可以是在無網路連線下響應於一使用者輸入。舉又一例子且非限制性的,另一使用案例可以是特定領域/工作可能是隱私敏感的,因而可禁止使用者輸入被傳送至所述遠端伺服器。
在特定實施例中,所述本地的動作選擇器222a可呼叫本地的傳送系統230a以用於執行所述動作,並且所述遠端的動作選擇器222b可呼叫遠端的傳送系統230b以用於執行所述動作。所述傳送系統230a/b可在從所述對話狀態追蹤器218a/b接收觸發信號之後,藉由執行對應動作來傳遞一預定義事件。所述傳送系統230a/b可確保事件在一活動連線下被傳遞至一主機。舉例且非限制性的,所述傳送系統230a/b可廣播至屬於一使用者的所有線上裝置。舉另一例子且非限制性的,所述傳送系統230a/b可傳遞事件至目標特有裝置。所述傳送系統230a/b可進一步利用最新裝置情境來顯現一酬載。
在特定實施例中,所述裝置上對話管理器216a可額外包括個別本地的動作執行模組,並且所述遠端的對話管理器216b可額外包括個別遠端的動作執行模組。所述本地的執行模組以及所述遠端的動作執行模組可具有類似的功能。在特定實施例中,所述動作執行模組可呼叫所述代理228a/b以執行工作。所述動作執行模組可額外執行藉由所述動作選擇器222a/b所決定的一組一般可執行動作。所述一組可執行動作可經由所述傳送系統230a/b來和代理228a/b、使用者、以及所述助理系統140本身互動。
在特定實施例中,若所述使用者輸入利用所述第一操作模式(亦即,裝置上模式)來處理,則來自所述代理228a及/或所述傳送系統230a的結果可被回傳至所述裝置上對話管理器216a。所述裝置上對話管理器216a接著可根據這些結果來指示一本地的仲裁器226a以產生一最終響應。所述仲裁器226a可集合所述結果,並且評估它們。舉例且非限制性的,所述仲裁器226a可排名及選擇一最佳結果以用於響應於所述使用者輸入。若所述使用者請求是在所述第二操作模式(亦即,雲端模式)中處理,則來自所述代理228b及/或所述傳送系統230b的結果可被回傳至所述遠端的對話管理器216b。所述遠端的對話管理器216b可根據這些結果,經由所述對話管理器代理224來指示所述仲裁器226a以產生最終響應。類似地,所述仲裁器226a可分析所述結果並且選擇最佳結果以提供給所述使用者。若所述使用者輸入根據所述第三操作模式(亦即,混合模式)來處理,則所述客戶側結果以及伺服器側結果(例如,來自代理228a/b及/或傳送系統230a/b)可分別藉由所述裝置上對話管理器216a以及遠端的對話管理器216b而都被提供至所述仲裁器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、處理來自自我中心的相機(例如,在運動、捕捉角度、解析度下)的影像/視頻、達成類似有關具有較低解析度的影像的程度的正確性及速度、進行人們、地方及物件的一次性套合及識別、及/或執行在一客戶端系統130上的視覺識別。
在特定實施例中,所述助理系統140可充分利用電腦視覺技術以達成視覺認知。除了電腦視覺技術之外,所述助理系統140可探索能夠補充這些技術以提高物件識別的選項。在特定實施例中,所述助理系統140可以利用補充信號,例如一物件的標籤的光學字元辨識(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可將所述情境資訊以及所產生CU物件儲存在一資料儲存庫320中,其是被實施在所述助理系統140中的一特定資料儲存庫。
在特定實施例中,所述請求管理器310可傳送所產生CU物件至所述NLU模組210。所述NLU模組210可執行複數個步驟以處理所述CU物件。所述NLU模組210首先可透過一允許名單/阻擋名單330來執行所述CU物件。在特定實施例中,所述允許名單/阻擋名單330可包括匹配所述使用者輸入的解釋資料。所述NLU模組210接著可執行所述CU物件的特徵化332。所述NLU模組210接著可根據從所述特徵化332產生的特點,在使用者輸入上執行領域分類/選擇334以分類所述使用者輸入到預先定義領域中。在特定實施例中,一領域可表示一互動社交情境(例如,教育)、或是用於一組意圖的一命名空間(例如,音樂)。所述領域分類/選擇的結果可進一步根據兩個相關的程序來處理。在一程序中,所述NLU模組210可利用一元意圖(meta-intent)分類器336a來處理所述領域分類/選擇的結果。所述元意圖分類器336a可判斷描述所述使用者的意圖的種類。一意圖可以是在語義的意圖的一預先定義分類法(taxonomy)中的一元素,其可指出一使用者和所述助理系統140互動的一目的。所述NLU模組210a可分類一使用者輸入到所述預先定義分類法的一成員中。例如,所述使用者輸入可以是“播放貝多芬第5號交響曲”,因而所述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可採用所述使用者輸入作為輸入,並且將其制定成為一向量。所述意圖分類器336b接著可根據在代表所述使用者輸入的向量以及代表不同預先定義意圖的向量之間的向量比較,來計算所述使用者輸入和不同預先定義意圖相關的機率。以一種類似方式,所述槽位標記器338b可採用所述使用者輸入作為輸入,並且制定每一個單詞成為一向量。所述槽位標記器338b接著可根據在代表所述單詞的向量以及代表不同預先定義槽位的向量之間的向量比較,來計算每一個單詞和不同預先定義槽位相關的機率。所述使用者的意圖可被分類為“兌換外幣”。所述使用者輸入的槽位可包括“500”、“美元”、“帳戶”、以及“日元”。所述使用者的元意圖可被分類為“金融服務”。所述元槽位可包括“金融”。
在特定實施例中,所述自然語言理解技術(NLU)模組210可額外從一社交圖、一知識圖譜、或是一概念圖中的一或多個抽取出資訊,並且可擷取在所述客戶端系統130上本地儲存的一使用者的簡檔。所述NLU模組210可在分析所述使用者輸入時額外考量情境資訊。所述NLU模組210可進一步處理來自這些不同來源的資訊,其藉由識別及匯總資訊、註釋所述使用者輸入的n元語法、根據所述匯總資訊來利用信賴分數排名所述n元語法、以及制定所述排名的n元語法成為可被所述NLU模組210使用於理解所述使用者輸入的特點。在特定實施例中,所述NLU模組210可用一個人化及情境感知方式,從所述使用者輸入識別一領域、一意圖、或是一槽位中的一或多個。舉例且非限制性的,一使用者輸入可包括“給我看看如何到達咖啡館”。所述NLU模組210可根據所述使用者的個人資訊以及相關情境資訊,來識別所述使用者想要去的一特定咖啡館。在特定實施例中,所述NLU模組210可包括一特定語言詞典、一語法分析器、以及文法規則,以分割句子成為一內部表示。所述NLU模組210亦可包括一或多個執行素樸語義學或是隨機語義分析的程式,並且可進一步使用語用學(pragmatics)來理解使用者輸入。在特定實施例中,所述語法分析器可以是根據一深度學習架構,其包括多個長短期記憶(LSTM)網路。舉例且非限制性的,所述語法分析器可以是根據一循環神經網路文法(RNNG)模型,其是一種類型的循環及遞迴LSTM演算法。更多有關自然語言理解技術(NLU)的資訊可見於2018年6月18日申請的美國專利申請案號16/011062、2018年7月2日申請的美國專利申請案號16/025317、以及2018年7月17日申請的美國專利申請案號16/038120中,所述美國專利申請案的每一個都被納入作為參考。
在特定實施例中,所述NLU模組210的輸出可被傳送至所述實體解析模組212,以解析相關實體。實體例如可包含獨特的使用者或概念,其分別可具有唯一識別符(ID)。所述實體可包含一真實世界實體(來自一般知識庫)、一使用者實體(來自使用者的記憶)、一情境實體(裝置情境/對話情境)、或是一值解析度(數字、日期時間、等等)中的一或多個。在特定實施例中,所述實體解析模組212可包括領域實體解析340以及一般實體解析342。所述實體解析模組212可執行一般及領域特有的實體解析。所述一般實體解析342可藉由分類所述槽位以及元槽位到不同的一般話題來解析所述實體。所述領域實體解析340可藉由分類所述槽位以及元槽位到不同領域來解析所述實體。舉例且非限制性的,響應於詢問一特定品牌的電動車的優點的輸入,所述一般實體解析342可解析所參照的品牌的電動車為交通工具,而所述領域實體解析340可解析所參照的品牌的電動車為電動車。
在特定實施例中,實體可根據有關世界及所述使用者的知識350而被解析出。所述助理系統140可從所述圖352抽取出本體(ontology)資料。舉例且非限制性的,所述圖352可包括一知識圖譜、一社交圖、或是一概念圖中的一或多個。所述本體資料可包括在不同槽位/元槽位以及領域之間的結構關係。所述本體資料亦可包括所述槽位/元槽位是如何可在其中較高階包括所述領域的階層之內被分組、相關的資訊,並且根據相似以及差異之處來細分。例如,所述知識圖譜可包括複數個實體。每一個實體可包括和一或多個屬性值相關的單一記錄。所述特定記錄可以是和唯一實體識別符相關。每一個記錄可具有用於所述實體的一屬性的各式各樣值。每一個屬性值可是和一信賴機率及/或一語義的權重相關的。用於一屬性值的一信賴機率代表用於所給定屬性的所述值是正確的機率。考量所有可利用的資訊,用於一屬性值的一語義權重可代表所述值在語義上有多適合用於所給定屬性。例如,所述知識圖譜可包括名稱為“BookName”的一本書的實體,其可包含從多個內容來源(例如,一線上社群網路、線上百科全書、書評來源、媒體資料庫、以及娛樂內容來源)抽取出的資訊,其可被重複資料刪除、解析、以及合併來產生用於所述知識圖譜的單一唯一記錄。在此例子中,所述名稱為“BookName”的實體可以是和用於一“類型”實體屬性的一“幻想”屬性值相關的。更多有關所述知識圖譜的資訊可見於2018年7月27日申請的美國專利申請案號16/048049、以及2018年7月27日申請的美國專利申請案號16/048101中,所述美國專利申請案的每一個都被納入作為參考。
在特定實施例中,所述助理使用者記憶體(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的資訊以執行共指(coreference),以解析在所述情境中的所述參照至實體,例如“他”、“她”、“第一個”、或是“最後一個”。在特定實施例中,針對於共指,所述實體解析模組212可產生參照給藉由所述NLU模組210所判斷的實體。所述實體解析模組212接著可正確地解析這些參照。舉例且非限制性的,一使用者輸入可能包括“幫我找出最近雜貨店並且指引我到那邊”。根據共指,所述實體解析模組212可解釋“那邊”為“最近雜貨店”。在特定實施例中,共指可依據來自所述情境引擎220以及所述對話管理器216的資訊而定,以便於在改善的正確性下解釋參照。在特定實施例中,所述實體解析模組212可在所述情境(裝置情境或是對話情境)下額外解析一實體,例如,在螢幕上展示的實體、或是來自最後一個談話歷史的一實體。針對於值解析度,所述實體解析模組212可將所提到內容解析至具有標準化形式的確切值,例如數值、日期時間、地址、等等。
在特定實施例中,所述實體解析模組212首先可在可適用的隱私限制上執行檢查,以便於保證執行實體解析並不違反任何可適用的隱私策略。舉例且非限制性的,將被解析的一實體可能是另一使用者,其在其隱私設定中指明其身分不應該在所述線上社群網路上可供搜尋的。在此例中,所述實體解析模組212可避免響應於一使用者輸入而回傳該使用者的實體識別符。藉由利用從所述社交圖、所述知識圖譜、所述概念圖、以及所述使用者簡檔獲得的敘述資訊,並且藉由符合任何可適用的隱私策略,所述實體解析模組212可用個人化、情境感知、以及隱私受保護的方式來解析和一使用者輸入相關的實體。
在特定實施例中,所述實體解析模組212可和所述ASR模組208一起工作以執行實體解析。以下例子描繪所述實體解析模組212是如何可解析一實體名稱。所述實體解析模組212首先可展開和一使用者相關的名稱成為其個別標準化文字形式為語音輔音表示,其可利用一雙元音素(double metaphone)演算法而在語音上被轉錄。所述實體解析模組212接著可決定一組n個最佳候選轉錄,並且在所述組的n個最佳候選轉錄中的所有語音轉錄上執行一平行理解程序。在特定實施例中,解析出相同意圖的每一個轉錄接著可被合併成為單一意圖。每一個意圖接著可被指定一對應於針對該意圖的最高得分的候選轉錄得分。在所述合併期間,所述實體解析模組212可識別和每一個槽位相關的各種可能文字轉錄,其藉由和所述槽位的轉錄相關的邊界時序偏移而為相關聯的。所述實體解析模組212接著可對於每一個槽位從複數個(例如,1000個)候選轉錄抽取出可能的候選轉錄的一子集合,而不論它們是否被分類到相同意圖。以此種方式,所述槽位及意圖可以是片語得分表列。在特定實施例中,一個能夠處理所述意圖的新工作或是執行工作可被識別,並且被提供所述意圖(例如,用於傳送一訊息至另一使用者的一意圖的一訊息編製工作)。所述識別出的工作接著可藉由提供所述實體解析模組212和其槽位中之一相關的所述得分的片語表列、以及其被解析應該對照的種類,來觸發所述實體解析模組212。舉例且非限制性的,若一實體屬性被指明為“朋友”,則所述實體解析模組212可透過可在匹配程序的編輯時間執行的相同擴充套件來執行每一個候選表列的術語。所述術語的每一個候選擴充套件可在預編譯的字典樹(trie)匹配結構中加以匹配。匹配可利用一至少部分根據所述被轉錄的輸入、匹配形式、以及朋友名稱的函數而被評分。舉另一例子且非限制性的,若一實體屬性被指明為“名人/引人注意的人”,則所述實體解析模組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,而且可解析任何參照/指稱項(mention)並且追蹤所述狀態。在特定實施例中,所述對話狀態追蹤器218可利用工作規範來轉換上游結果成為候選工作,並且利用實體解析來解析引數。使用者狀態(例如,使用者目前活動)以及工作狀態(例如,觸發狀況)都可被追蹤。給定所述目前狀態,所述對話狀態追蹤器218可產生候選工作,而所述助理系統140可為了所述使用者來處理及執行。舉例且非限制性的,候選工作可包含“顯示建議”、“獲得天氣資訊”或是“拍攝照片”。在特定實施例中,所述對話狀態追蹤器218可根據例如來自一知識圖譜、一使用者記憶、以及一使用者工作歷史的可利用資料以產生候選工作。在特定實施例中,所述對話狀態追蹤器218接著可利用所述被解析引數來解析所述觸發物件。舉例且非限制性的,一使用者輸入“今晚當媽媽在線上而且我在家時,提醒我打電話給她”可藉由所述對話狀態追蹤器218來執行從所述NLU輸出轉換至所述觸發表示,即如同在以下的表1中所繪:
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] ] ] ]   
Figure 02_image001
Triggers: { andTriggers: [ condition: {ContextualEvent(mom is online)}, condition: {ContextualEvent(location is home)}, condition: {ContextualEvent(time is tonight)}]))]}   
表1:從NLU輸出至觸發表示的範例轉換 在以上的例子中,“媽媽”、“家”以及“今晚”是藉由其個別實體personEntity、locationEntity、datetimeEntity來加以表示。
在特定實施例中,所述對話管理器216可映射藉由所述情境引擎220所判斷的事件成為動作。舉例且非限制性的,一動作可以是一自然語言生成技術(NLG)動作、一顯示或疊圖、一裝置動作、或是一擷取動作。所述對話管理器216亦可執行情境追蹤以及互動管理。情境追蹤可包括匯總即時事件串流成為統一使用者狀態。互動管理可包括選擇在每一個狀態中的最佳動作。在特定實施例中,所述對話狀態追蹤器218可執行情境追蹤(亦即,追蹤相關於所述使用者的事件)。為了支援事件串流的處理,所述對話狀態追蹤器218a可利用一事件處理程序(例如,用於消除歧義、確認、請求),其可消耗各種類型的事件並且更新一內部助理狀態。每一個事件類型可具有一或多個處理程序。每一個事件處理程序可修改所述助理狀態的某一切片。在特定實施例中,所述事件處理程序可在所述狀態的不相交子集合上操作(亦即,只有一處理程序可寫入存取至所述狀態中的一特定欄位)。在特定實施例中,所有的事件處理程序可具有處理一給定事件的機會。舉例且非限制性的,所述對話狀態追蹤器218可在每一個事件上平行執行所有的事件處理程序,並且接著可合併由每一個事件處理程序所提出的狀態更新(例如,對於每一個事件,大多數的處理程序可能傳回空更新)。
在特定實施例中,所述對話狀態追蹤器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可執行一快速搜尋演算法(例如,類似於布林可滿足性),以根據所述目前狀態來識別哪些策略應該被觸發。在特定實施例中,若多個策略被觸發,則所述動作選擇器222可利用一平分決勝機制以挑選一特定策略。或者是,所述動作選擇器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,最高優先權的策略單元可包括白名單/黑名單的覆蓋,其可能必須藉由設計才發生;中間優先權單元可包括被設計用於動作選擇的機器學習模型;並且較低優先權單元可包括當所述機器學習模型選擇不處理一情況時的規則為基礎的回退(fallback)。在特定實施例中,機器學習模型為基礎的一般策略單元可幫助所述助理系統140減少冗餘的消除歧義或確認步驟,藉此降低執行所述使用者輸入的回合數。
在特定實施例中,藉由所述動作選擇器222判斷的動作可被傳送至所述傳送系統230。所述傳送系統230可包括一CU組合器370、一響應產生構件380、一對話狀態寫入構件382、以及一文字轉語音(TTS)構件390。明確地說,所述動作選擇器222的輸出可在所述CU組合器370被接收。在特定實施例中,來自所述動作選擇器222的輸出可被制定為一<k,c,u,d>元組(tuple),其中k指出一知識來源,c指出一通訊目標,u指出一使用者模型,並且d指出一話語模型。
在特定實施例中,所述CU組合器370可利用一自然語言生成技術(NLG)構件372來對於所述使用者產生一通訊內容。在特定實施例中,所述NLG構件372可利用不同語言模型及/或語言樣版以產生自然語言輸出。自然語言輸出的產生可以是應用特定的。自然語言輸出的產生亦可以是針對於每一個使用者個人化的。在特定實施例中,所述NLG構件372可包括一內容決定構件、一句子規劃器、以及一表層實現構件。所述內容決定構件可根據所述知識來源、通訊目標、以及使用者的預期來決定通訊內容。舉例且非限制性的,所述決定可以是根據一描述邏輯。所述描述邏輯例如可包括三個基本觀念,其是個體(代表在所述領域中的物件)、概念(描述個體的集合)、以及屬性(代表在個體或概念之間的二元關係)。所述描述邏輯的特徵可以是在於一組建構子(constructor),其容許所述自然語言生成技術器從原子概念/屬性來建構複雜的概念/屬性。在特定實施例中,所述內容決定構件可執行以下工作來決定所述通訊內容。第一個工作可包括一轉譯工作,其中所述NLG構件372的輸入可被轉譯成概念。第二個工作可包括一選擇工作,其中相關概念可根據所述使用者模型而在那些從所述轉譯工作所產生的加以選擇。所述第三個工作可包括一驗證工作,其中所選概念的一致性可被驗證。所述第四個工作可包括一實例化工作,其中所述經驗證概念可被實例化為一可執行檔案,其可藉由所述NLG構件372來加以處理。所述句子規劃器可決定所述通訊內容的組織以使得其為人類可理解的。所述表層實現構件可決定要使用的特定單詞、所述句子的順序、以及所述通訊內容的類型。
在特定實施例中,所述CU組合器370亦可利用UI酬載產生器374來決定所產生通訊內容的一模態。由於所產生通訊內容可被視為對於所述使用者輸入的一響應,因此所述CU組合器370可額外利用一響應排名器376來排名所產生的通訊內容。舉例且非限制性的,所述排名可指出所述響應的優先權。在特定實施例中,所述CU組合器370可包括一自然語言合成(NLS)構件,其可以是與所述NLG構件372分開的。所述NLS構件可指明由所述CU組合器370所產生的合成語音的屬性,其包含性別、音量、速度、類型、或是音域,以便於客製化針對於一特定使用者、工作、或是代理的響應。所述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可接收由所述對話管理器216提供的來自所述代理228的結果、及/或來自所述傳送系統230的結果。所述裝置上協調器206接著可轉傳這些結果至仲裁器226。所述仲裁器226可匯總這些結果、分析它們、選擇最佳結果、並且提供所選結果至所述顯現輸出模組232。在特定實施例中,所述仲裁器226在分析這些結果時可諮詢對話策略360以獲得指導。在特定實施例中,所述顯現輸出模組232可產生適合用於所述客戶端系統130的一響應。
圖4描繪處理一使用者輸入的一範例的以工作為中心的流程圖400。在特定實施例中,所述助理系統140可不僅協助使用者語音啟動的經驗,而且協助更主動的多模態經驗,其在理解使用者情境上被啟動。在特定實施例中,所述助理系統140可依賴為此種目的之助理工作。一助理工作可以是一中央概念,其橫跨整體助理堆疊而被共享以理解使用者意圖,和所述使用者及世界互動以為了所述使用者來完成正確工作。在特定實施例中,一助理工作可以是具有助理功能的原始單元。其可包括資料提取、更新某個狀態、執行某個命令、或是由一較小組的工作所構成的複雜工作。正確且成功地完成一工作以傳遞所述值至所述使用者可以是所述助理系統140被最佳化所為了的目標。在特定實施例中,一助理工作可被定義為一功能或是一特點。若多個產品表層具有完全相同的需求,則所述助理工作可以是橫跨它們而共用,因而其可輕易地被追蹤。它也可從一個裝置傳遞到另一裝置,並且輕易地在工作中被另一裝置提取,因為所述原始單元是一致的。此外,所述助理工作的一致格式可容許工作在所述助理堆疊中的不同模組上的開發人員更輕易地圍繞它來設計。再者,其可容許工作共用。舉例且非限制性的,若一使用者正在智慧型眼鏡上聽音樂,則所述使用者可說“在我的電話上播放此音樂”。在所述電話尚未被喚醒或是有一工作要執行的事件中,所述智慧型眼鏡可制定一工作,其被提供至所述電話,接著可藉由所述電話而被執行以開始播放音樂。在特定實施例中,若所述助理工作具有不同的預期行為,則所述助理工作可個別地由每一個表層來維持。在特定實施例中,所述助理系統140可根據在不同模態的使用者輸入或是其它信號來識別正確工作、進行談話以收集所有必要資訊、以及利用在伺服器或是本地產品表層的內部或外部實施的動作選擇器222來完成該工作。在特定實施例中,所述助理堆疊可包括一組處理構件,從喚醒、辨識使用者輸入、理解使用者意圖、對所述工作進行推理、履行一工作以產生具有語音的自然語言的響應。
在特定實施例中,所述使用者輸入可包括語音輸入。所述語音輸入可在所述ASR模組208被接收到,以用於從所述語音輸入抽取文本轉錄。所述ASR模組208可利用統計模型來決定對應於由所述助理系統140所接收到的語音的一給定部分的最可能單詞順序以作為音訊輸入。所述模型可包含隱藏式馬可夫(Markov)模型、神經網路、深度學習模型、或是其之任意組合中的一或多個。所接收到的音訊輸入可在一特定取樣速率(例如,16、44.1、或是96kHz)以及代表每一個樣本的一特定位元數目(例如,8、16、24個位元)下被編碼成為數位資料。
在特定實施例中,所述ASR模組208可包括一字素到音素(G2P)模型、一發音學習模型、一個人化聲學模型、一個人化語言模型(PLM)、或是一端點模型中的一或多個。在特定實施例中,所述字素到音素(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:contact])、對話狀態(例如,短期的通話記錄)、使用者記憶(例如使用者偏好、位置、長期的通話記錄、等等)、或是裝置情境(例如計時器狀態、螢幕內容、等等)而被解析。在特定實施例中,所述引數模態可以是文字、音訊、影像、或是其它結構式資料。所述槽位至引數的對映可藉由一填充策略及/或語言本體來界定。在特定實施例中,給定所述工作觸發規範,所述工作候選者產生模組416可根據所述被解析工作ID及引數來尋找將被觸發的工作表列以作為工作候選者。
在特定實施例中,所產生的工作候選者可被傳送至所述工作候選者排名模組414,以進一步被排名。所述工作候選者排名模組414可利用一規則為基礎排名器415來排名它們。在特定實施例中,所述規則為基礎排名器415可包括一組啟發法以偏移某些領域工作。所述排名邏輯可如下被描述為具有情境優先權的原理。在特定實施例中,一使用者指明的工作優先權可高於一在前景工作。當所述意圖是一元意圖時,所述在前景工作的優先權可高於一裝置領域工作。所述裝置領域工作的優先權可高於一觸發意圖領域的一工作。舉例且非限制性的,若所述工作領域在發聲中被提及或指明,例如是“在TIMER應用程式中產生一計時器”,則所述排名可挑選所述工作。舉另一例子且非限制性的,若所述工作領域在前景或主動狀態,則所述排名可挑選所述工作,例如當所述TIMER應用程式在前景而且有一有效計時器時,“停止所述計時器”以停止所述計時器。舉又一例子且非限制性的,若所述意圖是一般元意圖,則所述排名可挑選所述工作,並且當沒有其它主動應用或主動狀態時,所述工作是裝置控制。舉又一例子且非限制性的,若所述工作是與所述意圖領域相同的,則所述排名可挑選所述工作。在特定實施例中,所述工作候選者排名模組414可自訂多一些邏輯來檢查意圖/槽位/實體類型的匹配。所述排名的工作候選者可被傳送至所述合併層419。
在特定實施例中,來自所述實體解析模組212的輸出亦可被傳送至所述意圖處理程序411的一工作ID解析構件412。類似於所述工作ID解析構件417,所述工作ID解析構件412可解析所述對應工作的工作ID。在特定實施例中,所述意圖處理程序411可額外包括一引數解析構件413。類似於所述引數解析構件418,所述引數解析構件413可利用用於所述被解析工作ID的參數規範來解析所述引數名稱。在特定實施例中,意圖處理程序411可處理工作不可知論的(agnostic)特點,並且可能未被表示在工作特定的工作規範之內。除了工作候選者以外,意圖處理程序411可輸出狀態候選者,例如參數更新、確認更新、消除歧義更新、等等。在特定實施例中,某些工作可能需要非常複雜的觸發狀況或是非常複雜的引數填充邏輯,其可能不是其它工作可重複使用的,即使它們在所述工作規範中被支援(例如,通話中的語音命令、經由[IN:PLAY_MEDIA]的媒體工作、等等)。意圖處理程序411亦可適合用於此種類型的工作。在特定實施例中,來自所述意圖處理程序411的結果可優先於來自所述工作候選者排名模組414的結果。來自所述意圖處理程序411的結果亦可被傳送至所述合併層419。
在特定實施例中,所述合併層419可結合來自所述意圖處理程序411的結果以及來自所述工作候選者排名模組414的結果。所述對話狀態追蹤器218可建議每一個工作為一新狀態以供所述對話策略360從其選擇,藉此產生一表列的狀態候選者。所述合併結果可進一步被傳送至一談話理解增強引擎(CURE)追蹤器420。在特定實施例中,所述CURE追蹤器420可以是一個人化學習程序,以改善所述狀態候選者在不同情境下藉由所述對話狀態追蹤器218利用即時使用者回饋的決定。更多有關談話理解增強引擎的資訊可見於2021年2月26日申請的美國專利申請案號17/186459中,其被納入作為參考。
在特定實施例中,藉由所述CURE追蹤器420產生的狀態候選者可被傳送至所述動作選擇器222。所述動作選擇器222可諮詢所述工作策略364,其可以是從經由所述工作規範管理器API 430所存取的執行規範產生的。在特定實施例中,所述執行規範可描述一工作應該如何被執行、以及所述動作選擇器222可能需要採取什麼動作以完成所述工作。
在特定實施例中,所述動作選擇器222可決定和所述系統相關的動作。此種動作可牽涉到所述代理228來執行。因此,所述動作選擇器222可傳送所述系統動作至所述代理228,並且所述代理228可傳回這些動作的執行結果。在特定實施例中,所述動作選擇器可決定和所述使用者或裝置相關的動作。此種動作可能需要藉由所述傳送系統230來執行。因此,所述動作選擇器222可傳送所述使用者/裝置動作至所述傳送系統230,並且所述傳送系統230可傳回這些動作的執行結果。
在此揭露的實施例可包含一人工實境系統、或是結合一人工實境系統來加以實施。人工實境是一種形式的實境,其在呈現給一使用者之前已經用某種方式調整,例如可包含一虛擬實境(VR)、一擴增實境(AR)、一混合實境(MR)、一混雜實境、或是其之某種組合及/或衍生。人工實境內容可包含完全是所產生內容、或是結合所捕捉內容(例如,真實世界的照片)之產生內容。所述人工實境內容可包含視頻、音訊、觸覺回授、或是其之某種組合,並且其之任一個都可用單一通道或是多個通道來加以呈現(例如是產生三維效果給觀看者的立體視頻)。此外,在某些實施例中,人工實境亦可以是和應用程式、產品、配件、服務、或是其之某種組合相關的,其例如被用來在一人工實境中產生內容,且/或在一人工實境中被使用(例如,在人工實境中執行活動)。提供人工實境內容的人工實境系統可在各種平台上加以實施,其包含連接至一主機電腦系統的一頭戴式顯示器(HMD)、一獨立HMD、一行動裝置或計算系統、或是任何其它能夠提供人工實境內容給一或多個觀看者的硬體平台。 有興趣時刻的自動捕捉
在特定實施例中,所述助理系統140可容許使用者參與其真實世界活動,同時仍然能夠輕易地從其助理致能客戶端系統130s,經由一自動捕捉特點來拍攝照片或視頻。在所述自動捕捉特點下,使用者可設定一延遲觸發(例如,告訴其智慧型眼鏡在一未來活動的開始時拍攝照片或視頻),因而所述助理系統140可偵測所述使用者的情境的改變以自動地判斷所述活動何時開始、識別有興趣時刻、以及捕捉那些時刻。舉例且非限制性的,一使用者將在明天健行。所述使用者可以說“嘿助理,記得明天在健行期間拍攝照片”。當所述使用者隔天到達健行步道時,所述助理系統140可利用GPS資訊來判斷所述使用者正要開始健行。接著當所述使用者正在健行時,所述助理系統140可根據各種信號來決定有興趣時刻,並且拍攝這些時刻的照片。在所述健行結束之後,所述助理系統140可停止拍攝照片。所述助理系統140可進一步自動整理所述照片並且將它們拼接在一起成為一精彩視頻給所述使用者。所述助理系統140可利用不同信號來判斷一活動的開始及結束以及所述有興趣時刻,其可包括視覺信號、聲音信號、動作信號、等等。所述助理系統140可根據所述模型所用的輸入信號來利用具有不同計算成本的一系列的機器學習模型。所述自動捕捉特點可反應性且主動地被利用來幫助使用者捕捉其活動的有興趣時刻。當反應性地被利用時,所述使用者可能需要設定一觸發,一旦所述觸發狀況發生後則啟動自動捕捉。當主動地被利用時,所述助理系統140可根據對於所述使用者的認知(例如,使用者偏好設定、使用者記憶、等等)來觸發自動捕捉。所述自動捕捉可致能所述助理系統140來解析數個限制,其包含在捕捉有興趣時刻的使用者經驗上的摩擦、在所述客戶端系統130上的電源管理、隱私敏感資訊的保護、以及在執行捕捉有興趣時刻的工作中的延遲。儘管此揭露內容描述藉由特定系統用一特定方式來自動捕捉特定時刻,但是此揭露內容思及藉由任何適當系統以任何適當方式來自動捕捉任何適當時刻。
在特定的實施例中,所述助理系統140可從和一第一使用者相關的客戶端系統130存取藉由所述客戶端系統130的一或多個感測器所捕捉的一或多個感測器信號。所述客戶端系統130可包括複數個感測器。在特定實施例中,所述一或多個感測器信號可根據一或多個級聯模型策略而從所述一或多個感測器來加以存取。每一個級聯模型策略可利用和每一個感測器相關的一個別成本或相關性中的一或多個。所述助理系統140接著可根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的一活動相關的所述第一使用者的一情境上的改變。在特定實施例中,在所述第一使用者的所述情境上的改變可能滿足和所述活動相關的一觸發狀況。所述助理系統140可進一步響應於所述第一使用者的所述情境上的偵測到的改變,藉由所述客戶端系統130的一或多個相機來自動地捕捉視覺資料。
在特定實施例中,所述助理系統140可提供免手持體驗,以利用所述自動捕捉特點來幫助使用者停留在當下並且保持在場。所述自動捕捉特點可提供一便利方式來利用例如智慧型眼鏡或AR眼鏡的客戶端系統130以捕捉珍貴時刻,其自動地選擇及捕捉具有高有趣性的正確時刻。在特定實施例中,有趣性可表示一活動時刻藉由賦予情感或概念意義以喚醒來自使用者響應的力量。具有高有趣性時刻可更佳吸引使用者。有趣性可以是與人們相信他們會記住的事物相關聯的。有趣性亦可表示引起好奇心的事物,並且可以是引起注意的前兆。在特定實施例中,來自認知科學、早期視覺系統的神經生理學、以及人體實驗和計算建模的混合的見解可被用來評估有趣性。舉例且非限制性的,有趣性可根據各種線索,例如美觀、不平凡以及一般偏好來評估。相應地,一組在計算上捕捉這些有趣性方面特點可被用來學習一模型,以從它們預測有趣性。在特定實施例中,所述助理系統140可根據所述一或多個機器學習模型以及所述一或多個感測器信號來判斷在所述一或多個時刻的每一個的有趣性量度高於有趣性臨界量度。在所述自動捕捉特點下,所述助理系統140可解決硬體限制,例如短暫電池壽命、視頻捕捉長度、影像/視頻捕捉頻率、資料傳輸速率、以及使用隨附應用程式的頻率。
為了容許使用者在捕捉所述有興趣時刻同時參與其活動之目的,持續地捕捉時刻會由於以下原因而可能是不切實際的。首先,此方法可能太耗能/記憶體的,其可能不適合用於例如智慧型眼鏡的小型客戶端系統130。第二,人們可能並不想要只拍下一切的照片/視頻。而是,他們可能想要整理過的有意義且有興趣的照片/視頻。第三,持續地拍攝照片/視頻可能有隱私影響(例如,即使使用者上洗手間,所述捕捉仍可能繼續)。所述自動捕捉特點可解決前述限制,並且容許人們參與其活動,同時仍然能夠輕易地拍攝照片/視頻。舉例且非限制性的,若使用者在每次他們想要拍攝時都需要說“嘿助理,拍張照片/視頻”,此種在使用者體驗上的摩擦是煩人且尷尬的。對比之下,當嘗試捕捉其活動的有興趣時刻,利用自動捕捉下,使用者可以有完全免手持體驗,而不需要每次告訴所述助理系統140這樣做。因此,所述助理系統140可有一技術上優點是致能使用者能夠參與真實世界活動,同時輕易地使得所述活動的有興趣時刻被記錄,因為所述助理系統140可在所述活動期間,在無使用者的指令下自動地偵測使用者的情境的改變以識別有興趣時刻並且捕捉它們。在特定實施例中,所述助理系統140可設計及訓練多模態(視頻、音訊、慣性量測單元)機器學習模型,以決定如何從所述客戶端系統130自動地捕捉高品質的、可共享的照片及視頻。其中自動捕捉可能是有用的範例活動可以是健行、露營、滑雪、釣魚、健身房鍛煉、健身活動、跑步/慢跑、等等。為了解決所述隱私問題,在判斷使用者經過一隱私敏感環境之際,所述自動捕捉可自動地關閉所述相機。所述自動捕捉亦可降低由必須透過所述整體助理堆疊來處理這些語音命令所引起的延遲。舉例且非限制性的,所述助理系統140可能偵測到在聚會上有笑聲,因而接著自動地開始所述時刻的捕捉,而不透過所述整體助理堆疊。所述自動捕捉可進一步降低因為利用低功率的客戶側分類模型於判斷何時拍攝照片/視頻以及要捕捉何物的延遲。
圖5是描繪用於有興趣時刻的自動捕捉的一範例的工作流程。所述客戶端系統130可在所述客戶端系統130接收一使用者請求來捕捉和所述活動相關的視覺資料。如同在圖5中的一例子,使用者請求510可能是“嘿助理,拍下我明天下午在聖克魯斯(Santa Cruz)健行的視頻”。所述客戶端系統130可根據所述使用者請求來決定所述觸發狀況。例如,針對於使用者請求510,所述觸發狀況可包括所述健行的開始。在特定實施例中,有效自動捕捉可有多個階段。第一階段可以是預測所述目標活動(例如,“健行”)是否正在發生。在特定實施例中,此種預測可以是根據情境信號520。舉例且非限制性的,所述情境信號520可幫助所述系統判斷所述使用者的情境530,其包括位置為聖克魯斯、時間為明天12pm過後、移動類型為走路、場景為戶外、環境為自然、以及人們為在場的。一旦所述助理系統140相當有信心所述目標活動正在發生,則下一個階段可以是根據一或多個標準來預測正在發生目標活動的場景是否可能在視覺上有興趣的且可共享的。所述助理系統140接著可以捕捉包括所述活動的一或多個時刻540的視覺資料。在特定實施例中,所述一或多個時刻的每一個可以是和有趣性量度相關的,其大於有趣性臨界量度。所述視覺資料可被儲存為一或多個媒體資料檔550。舉例且非限制性的,所述一或多個媒體資料檔的每一個可包括一影像或是一視頻中的一或多個。所述助理系統140可進一步執行捕捉後處理,以自動地結合、編輯、以及整理所捕捉照片及視頻成為一吸引人的精彩視頻,其可輕易地共享給其他使用者或是線上社群網路。所述助理系統140可依賴精彩片段偵測以及視頻摘要,以執行捕捉後處理。在特定實施例中,所述助理系統140可根據所述一或多個機器學習模型以及所述一或多個感測器信號來偵測所述活動的結束。所述助理系統140接著可根據在所述活動期間所捕捉的視覺資料,根據所述視覺資料的摘要來產生一精彩視頻。所述摘要可以是根據所述視覺資料的有趣性量度。所述助理系統140可進一步在所述客戶端系統130呈現所述精彩視頻給所述第一使用者。
在特定實施例中,所述助理系統140可針對於自動捕捉而利用不同解決方案。一解決方案可以是將所述使用者的指令作為輸入以設定一延遲觸發,並且一旦所述使用者的情境的改變滿足所述觸發,則自動地開始捕捉所述活動。一客戶端系統130的板上感測器可以是能夠拾取信號,其提供用於理解所述使用者的情境的資訊。這些感測器按照它們各自的計算成本的順序可包含慣性量測單元(IMU)(例如,加速度計及陀螺儀)、音訊麥克風、肌電圖(EMG)感測器、GPS、裝置上的相機。於是,所述一或多個感測器信號可包括一慣性量測單元(IMU)信號、一音訊信號、一GPS信號、一肌電圖(EMG)信號、或是一視覺信號中的一或多個。此外,對於所述使用者(例如,從助理使用者記憶體354)以及所述世界(例如,從所述知識圖譜)的認知亦可以是可利用的。所述助理系統140可利用這些感測器信號以偵測所述使用者的情境的改變。舉例且非限制性的,所述使用者可要求所述助理系統140捕捉一生日聚會的有興趣時刻。所述助理系統140可根據有關所述使用者的知識來判斷所述生日聚會的時間及位置、以及所述生日聚會是為誰(例如,所述使用者的孩子)。於是,當有滿足所述觸發的所述使用者的情境的改變時(亦即,所述時間到來並且所述使用者在所述聚會位置),所述助理系統140可開始所述聚會的自動捕捉,但是聚焦在當所述孩子高興時(根據藉由一卷積神經網路模型的情感分析為相對於哭泣的)捕捉所述使用者的孩子的照片(根據藉由一電腦視覺模型的臉部辨識為相對於在所述聚會的其他人)。
在特定實施例中,所述助理系統140可利用所述情境引擎220來偵測所述情境的改變。所述情境引擎220可包括一組人工智慧(AI)模型。當利用助理致能客戶端系統130時,所述情境引擎220可提供有關所述使用者及其環境的情境信號(亦即,特點及/或類型層級預測)。所述情境引擎220可以是在低層的客戶端系統130以及世界信號之上的第一層。所述情境引擎220可消耗兩個來源的資料:(1)所述客戶端系統130的板上感測器、以及(2)使用者及世界知識。所述感測器可包括IMU(加速度計及陀螺儀)、GPS、麥克風、以及裝置上相機。對於使用者及世界知識,所述情境引擎220可具有有關所述使用者的日曆、他們參加的活動、以及位置歷史記錄,例如日常地點和重要地點、等等的資訊。作為輸出,所述情境引擎220可提供有關一組預先定義情境狀態的預測。這些預測接著可被所述助理系統140使用以偵測所述使用者的情境的改變。舉例且非限制性的,所述情境引擎可提供有關使用者動作的預測,例如坐、站、走路、跑步、開車、等等。舉另一例子且非限制性的,所述情境引擎可提供有關一使用者是否在談話中正在說話或是聽話的預測。舉另一例子且非限制性的,所述情境引擎可提供有關使用者環境的預測,例如嘈雜的、包含居家、辦公室、餐廳等的室內環境、包含街道、公園、城市、後院、屋頂等的戶外環境、包含汽車、公車、火車、自行車等的交通工具、過亮或是過暗的。所述情境引擎220可藉由利用裝置上模型進行預測,來最小化判斷例如在使用者環境及動作上的轉變的延遲。
在特定實施例中,一種用於解決偵測滿足所述觸發的使用者的情境的改變以及判斷有興趣時刻的技術上的挑戰的解決方案可以是利用不同感測器的不同信號以及根據這些信號的機器學習模型,因為所述感測器信號可包括描繪所述使用者的情境以及所述有興趣時刻的特性的資訊,並且所述機器學習模型可分析這些感測器信號來偵測所述情境的改變並且判斷所述有興趣時刻。類似地,所述助理系統140可依賴所述情境引擎220來使用感測器信號以偵測所述使用者的情境的改變。對於利用不同信號,所述助理系統可根據一或多個級聯模型策略,利用來自一感測器的一信號以進行預篩選,並且只有在需要時使用來自另一感測器的另一信號。在特定實施例中,每一個級聯模型策略可利用和每一個感測器相關的一個別相關性。更明確地說,每一個級聯模型策略可指明若一第一相關性高於一第二相關性,則在存取來自和所述第二相關性相關的一第二感測器的一第二感測器信號之前,先存取來自和所述第一相關性相關的一第一感測器的一第一感測器信號。在特定實施例中,和每一個感測器相關的個別相關性可以是根據所述活動而被決定的。舉例且非限制性的,所述助理系統140可為了一使用者而自動捕捉所述使用者的健行。所述助理系統140首先可利用GPS信號來追蹤所述使用者的從住家至靠近步道的停車場的通勤,亦即所述使用者的情境從家庭改變至所述停車場。一旦所述GPS信號指出所述使用者在所述停車場,則所述助理系統140可開始利用IMU信號以偵測所述使用者的步行活動。所述助理系統140接著可利用低功率模式或是低每秒幀數(FPS)模式來短暫地導通相機,以判斷所述使用者是否在所述步道,亦即所述使用者的情境從所述停車場改變至所述步道。在判斷所述使用者在所述步道之後,所述助理系統140可在最高解析度或是高FPS下利用所述相機來捕捉所述健行的有興趣時刻,亦即所述使用者的情境從所述步道的非有興趣部分改變至所述步道的有興趣部分。所述助理系統140可利用一機器學習模型以決定接下來使用哪一個感測器信號。此外,所述助理系統140可利用預先定義規則來決定接下來使用哪一個感測器信號。再者,所述助理系統140可利用每一個感測器的功率/延遲/正確性簡檔作為所述規則基礎或是所述機器學習模型的輸入,以決定接下來使用哪一個感測器信號。
在特定實施例中,為了解決節省在客戶端系統130上的計算資源的技術上的挑戰,所述助理系統140可依賴一解決方案為根據級聯模型策略來利用一系列的機器學習模型,其根據感測器信號的個別計算成本來利用不同感測器信號以判斷滿足所述觸發狀況的使用者的情境的改變以及有興趣時刻,因為所述助理系統140可以主要使用便宜的感測器信號,而節約地使用昂貴的感測器信號。換言之,每一個級聯模型策略可利用和每一個感測器相關的一個別成本。更明確地說,每一個級聯模型策略可指明若一第一成本低於一第二成本,則在存取來自和所述第二成本相關的一第二感測器的一第二感測器信號之前,先存取來自和所述第一成本相關的一第一感測器的一第一感測器信號。舉例且非限制性的,所述助理系統140可維持高可信度,其主要利用便宜的感測器信號(例如,音訊信號、IMU信號、等等),而節約地利用昂貴的視覺信號。譬如,一旦時間及位置(亦即,GPS)標準符合後,IMU信號可判斷所述使用者是否已經開始步行,並且音訊信號可理解一使用者是否在大自然。在從IMU及音訊信號不斷的驗證下,視頻接著只能夠在高健行信賴度期間被導通。藉由利用IMU及音訊,能量及延遲可被保存以改善自動捕捉體驗。由於模型以及信號/感測器是彼此正交的,所述助理可對於相同信號使用多個模型、或是對於每一個信號使用一不同模型。
在特定實施例中,所述一或多個級聯模型策略可對於複數個活動的每一個指明存取來自所述複數個感測器的感測器信號的一特定順序。來自所述複數個感測器的額外感測器可根據和在所述情境上的改變的偵測相關的信賴分數而被利用。根據所述級聯模型策略,偵測在和所述第一使用者的活動相關的所述第一使用者的情境上的改變可包括以下步驟。所述助理系統140可根據所述一或多個機器學習模型以及所述複數個感測器的一第一感測器的一第一感測器信號,來計算和在與所述第一使用者的活動相關的所述第一使用者的情境上的改變相關的一第一信賴分數。所述助理系統140接著可判斷所述第一信賴分數是否大於一臨界信賴分數。根據所述第一信賴分數是否大於所述臨界分數的判斷,所述助理系統140可執行不同動作。若所述第一信賴分數大於所述臨界分數,則所述助理系統140可確認在和所述第一使用者的活動相關的所述第一使用者的情境上的改變。否則,所述助理系統140可從和所述第一使用者相關的客戶端系統130存取所述複數個感測器的一第二感測器的一第二感測器信號。所述第二感測器信號可根據所述一或多個級聯模型策略而被存取。所述助理系統140可進一步根據所述一或多個機器學習模型以及所述第二感測器信號,來計算和在與所述第一使用者的活動相關的所述第一使用者的情境上的改變相關的一第二信賴分數。若所述第二信賴分數大於所述臨界分數,則所述助理系統140可確認在和所述第一使用者的活動相關的所述第一使用者的情境上的改變。舉例且非限制性的,所述助理可根據一非常便宜感測器,例如IMU信號,在一低成本模型下開始輸入的分析。若所述助理並不確定(例如,有關有興趣事物正在發生的信賴度是低的),則所述助理可利用根據音訊信號的一中成本模型。若所述助理仍然不確定,則所述助理可利用根據來自在低功率/低IPS模式中的相機的視覺信號的一較昂貴模型。若所述助理仍然不確定,則所述助理可利用根據來自在高品質模式中的相機的視覺信號的一模型。
若所有單感測器模型都無法偵測使用者的情境的改變滿足所述觸發或是判斷所述有興趣時刻,則所述助理系統140可利用根據多個信號的一更加昂貴的多感測器模型,作為用於判斷的最後一層級模型。在此多模態級聯模型中,所述最後模型可以是根據所有感測器信號的一模型,其可被保留到最後以節約能量。明確地說,偵測在和所述第一使用者的活動相關的所述第一使用者的情境上的改變可包括以下步驟。在特定實施例中,所述助理系統140可根據所述一或多個機器學習模型以及所述一或多個感測器信號,來計算和在與所述第一使用者的活動相關的所述第一使用者的情境上的改變相關的一第一信賴分數。所述助理系統140接著可判斷所述第一信賴分數是否大於一臨界分數。根據所述第一信賴分數是否大於所述臨界分數的判斷,所述助理系統140可執行不同動作。若所述第一信賴分數大於所述臨界分數,則所述助理系統140可確認在和所述第一使用者的活動相關的所述第一使用者的情境上的改變。否則,所述助理系統140可從和所述第一使用者相關的客戶端系統130,存取藉由所述客戶端系統的複數個感測器所捕捉的複數個感測器信號。所述複數個感測器信號可根據所述一或多個級聯模型策略而被存取。所述助理系統140可進一步根據所述一或多個機器學習模型以及所述複數個感測器信號,來計算和在與所述第一使用者的活動相關的所述第一使用者的情境上的改變相關的一第二信賴分數。若所述第二信賴分數大於所述臨界分數,則所述助理系統140可確認在和所述第一使用者的活動相關的所述第一使用者的情境上的改變。繼續先前所述的健行例子,若所述助理系統140利用一或多個單感測器模型而不確定情境的改變,則所述助理系統可利用根據所有感測器信號的一模型來偵測情境的改變。
在前述級聯方法下,有多層級模型及感測器被階層式地使用,以確保高正確性以及低平均成本。例如,當所述使用者正在健行並且突然停止時,所述助理首先可利用IMU信號以偵測所述停止(亦即,情境從步行至站立的改變),並且接著使用藉由所述相機捕捉的視覺信號來判斷是否有一有興趣時刻(亦即,情境從非有興趣時刻至有興趣時刻的改變)以拍攝一畫面/視頻。因此,當所述助理嘗試做出有關是否應該開始捕捉影像/視頻的決策時,機器學習模型的系列被設定成從較便宜模型“級聯”至較昂貴模型。然而,所述助理可先考量每一個感測器的相關性,並且接著考量所述成本。繼續先前所述健行例子,即使GPS是比IMU昂貴的,但是所述助理仍然可先利用GPS來判斷所述使用者的位置,而接著利用IMU來判斷所述使用者是否正在步行。
在特定實施例中,所述助理系統140可根據不同標準來判斷有興趣時刻,其可以是一種用於解決判斷所述有興趣時刻的技術上的挑戰的有效解決方案,因為這些標準可提供量化量測來評估有趣性。若所述音訊信號指出在人們之間的談話,則所述助理系統140可判斷所述有興趣時刻,使得其在合乎邏輯的時間開始最佳化對話的理解。若所述視覺信號有時牽涉到一與運動有關的關鍵事件,像是跳入游泳池、揮手或踢球,則所述助理系統140可判斷所述有興趣時刻,使得其納入該運動。若有一環境改變,則所述助理系統140可判斷所述有興趣時刻,使得其顯示在場景上的關鍵變化,例如煙花或生日蛋糕蠟燭。若有一具有旋轉改變的顯著角運動,則所述助理系統140可判斷此種運動為所述有興趣時刻。此種運動的例子可包括當使用者穿戴頭戴式裝置或是握著相機且旋轉在其手中的裝置時,轉頭(一顯著量)來看向左/右/上/下。若在所述相機上相較於一使用者正在執行的活動本質有一顯著運動量,則所述助理系統140可判斷所述有興趣時刻為包括此種顯著運動量。此種運動的例子可包括頭戴式裝置掉在地上、或是使用者在步行/健行/跑步期間跌倒。舉例且非限制性的,對於健行而言,所述助理系統140可根據某些健行特定的標準來判斷有興趣時刻。這些標準可包括聽得見某人在笑、某人發出可聽見的感嘆(例如,“哇!”)、一個人出現在所述步道上、一隻狗或是其它有趣動物出現在所述步道上、所述使用者在所述健行期間停下腳步並且四處張望(例如當他們看見美麗風景時)、專注於遠景或視點的相機饋送、所述使用者暫停以聚焦在一附近有趣物體(例如,瀑布、大樹、有趣的植物)、所述使用者手指(在相機視野幀中可見的)指向在所述步道上或周圍事物。在特定實施例中,所述助理系統140可額外根據所述視覺信號的品質,例如和所述視覺信號相關的模糊、照明、旋轉、大動作(例如,在頭或是使用者身體的動作)來判斷有興趣時刻。
在特定實施例中,所述助理系統140可建構小型的裝置上模型,以用於經由硬體感知神經架構搜尋的自動捕捉。相較於其雲端對等部分,所述裝置上模型可具有改善延遲。此外,所述裝置上模型可節約自動捕捉所需的能量及功率。所述助理系統140可具有一技術上的優點為有效率地利用小型的客戶端系統130的有限計算資源於自動捕捉,因為所述客戶端系統130只工作來捕捉有興趣時刻而更為能量/記憶體有效率的。另一技術上的優點可包含用於自動捕捉的降低延遲,其藉由跳過用於處理語音命令的整個助理堆疊、以及藉由利用客戶側分類模型於判斷何時執行自動捕捉。在特定實施例中,因為所述客戶端系統130的有限處理能力,裝置上神經網路模型設計可能是具有挑戰性的。因此,降低延遲並且改善模型的能量效率可能是重要的。在特定實施例中,所述助理系統140可利用量化、教師-學生學習、或是預先訓練,來改善延遲以及模型的能量效率。當執行模型時,量化是利用整數運算,而不是浮點運算,其可顯著地降低模型執行成本。舉例且非限制性的,所述助理系統140可對於所述行動CPU平台利用一可部署的量化Conv3D運算子,以建構量化視頻理解模型。
在特定實施例中,所述助理系統140可利用一種資料驅動方法以及全面使用者研究,以學習可判斷有興趣時刻的模型,其可以是用於解決判斷所述有興趣時刻的技術上的挑戰的一有效解決方案,因為在所述迴圈中涉及使用者來提供大量的人為判斷有趣性可使得所述模型在以類似人類方式判斷有趣性上更加強健。並非例如“在3秒後開始捕捉”的確定性邏輯,所述助理系統140可自動地分析目前內容,並且只捕捉所述有興趣時刻。在特定實施例中,所述一或多個機器學習模型中的一或多個可根據對應於複數個活動的複數個時刻的複數個感測器信號來加以訓練。所述複數個感測器信號的每一個可以是和有趣性預設量度相關的。舉例且非限制性的,針對於健行,所述助理系統140可利用從大量的由使用者評價為大場景的影像所學習的一模型而只捕捉最佳場景。舉另一例子且非限制性的,針對於一棒球比賽,所述助理系統140可利用從大量的包括全壘打而且由使用者評價為比賽中最難忘時刻的視頻所學習的一模型,來自動地捕捉全壘打。在特定實施例中,所述助理系統140可利用來自不同來源的資料,例如是線上社群網路的新聞動態消息。所述助理系統140可聚焦在利用自我中心的資料,其更仔細地反映穿戴智慧型眼鏡、AR眼鏡及VR頭戴式裝置的使用者,並且改善模型建立的工作。對於判斷有興趣時刻,不同類型的感測器信號可不同地被使用。舉例且非限制性的,IMU信號可以是分析可能指出聚焦或興趣的頭部移動有用的,而音訊信號可以是在從笑聲或感嘆識別精彩視頻上有用的。有趣性亦可進一步經由利用來自所述助理使用者記憶體354的記憶服務的個人化而被識別。例如,若一使用者愛狗,所述助理系統140可嘗試捕捉更多有關狗的視頻。在特定實施例中,所述助理系統140可進一步提供一工具以視覺化用於有趣性偵測模型的下游輸出,以判斷影像或是視頻短片是否有興趣且有效的。
圖6A-6D描繪一生日聚會的一範例的自動捕捉。圖6A描繪一範例的使用者請求一生日聚會的自動捕捉。使用者605可穿戴助理致能智慧型眼鏡以作為他的客戶端系統130。所述使用者請求610可能是“嘿助理,為Elena明天的生日拍幾張照片”。所述助理系統140接著可回覆“收到。會做。”615。在特定實施例中,所述助理系統140可根據對於所述使用者605的認知而判斷Elena是所述使用者605的女兒。圖6B描繪所述生日聚會的一範例的發生。如同在圖6B中所繪,使用者605現在可以是在Elena 620的生日聚會。由於所述生日聚會正在發生,所述助理系統140可開始自動捕捉所述聚會的有興趣時刻。圖6C是描繪所述生日聚會的一範例的自動捕捉時刻。使用者605可能是正看著Elena 620和其他小孩玩耍。所述助理系統140可判斷此為一有興趣時刻。於是,所述智慧型眼鏡可自動捕捉此種時刻成為一影像625。圖6D描繪所述生日聚會的另一範例的自動捕捉時刻。使用者605可能是正看著Elena 620吹熄生日蠟燭。所述助理系統140可判斷此為另一有興趣時刻。於是,所述智慧型眼鏡可自動捕捉此種時刻成為另一影像630。
圖7A-7C描繪一棒球比賽的一範例的自動捕捉。圖7A描繪一範例的使用者請求一棒球比賽的自動捕捉。使用者705可以是穿戴智慧型眼鏡作為他的客戶端系統130。所述使用者請求710可以是“嘿助理,為明天的比賽拍一些視頻”。所述助理系統140接著可回覆“收到。會做。”715。圖7B描繪所述棒球比賽的一範例的發生。如同在圖7B中所繪,使用者705現在可以是在所述棒球比賽。由於所述棒球比賽正在發生,因此所述助理系統140可開始自動捕捉所述比賽的有興趣時刻。圖7C描繪一全壘打的一範例的自動捕捉時刻。使用者705可能正在觀看所述比賽,並且一全壘打正在發生。所述助理系統140可判斷此是一有興趣時刻。於是,所述智慧型眼鏡可自動捕捉此種時刻成為視頻720。
圖8描繪一種用於自動捕捉有興趣時刻之範例的方法800。所述方法可開始在步驟810,其中所述助理系統140可在和一第一使用者相關的一客戶端系統130接收一使用者請求,以捕捉和所述第一使用者的一活動相關的視覺資料。在步驟820,所述助理系統140可根據所述使用者請求來決定一觸發狀況。在步驟830,所述助理系統140可從所述客戶端系統130存取藉由所述客戶端系統的一或多個感測器所捕捉的一或多個感測器信號,其中所述客戶端系統包括複數個感測器,其中所述一或多個感測器信號根據一或多個級聯模型策略而從所述一或多個感測器被存取,其中每一個級聯模型策略利用和每一個感測器相關的一個別成本或相關性中的一或多個,其中所述一或多個感測器信號包括一慣性量測單元(IMU)信號、一音訊信號、一GPS信號、一肌電圖(EMG)信號、或是一視覺信號中的一或多個,其中所述一或多個級聯模型策略對於複數個活動的每一個指明存取來自所述複數個感測器的感測器信號的一特定順序,其中來自所述複數個感測器的額外感測器根據和在情境上的改變的偵測相關的信賴分數而被利用,其中當每一個級聯模型策略利用和每一個感測器相關的一個別成本時,每一個級聯模型策略指定若一第一成本低於一第二成本,則在存取來自和所述第二成本相關的一第二感測器的一第二感測器信號之前,先存取來自和所述第一成本相關的一第一感測器的一第一感測器信號,並且其中當每一個級聯模型策略利用和每一個感測器相關的一個別相關性時,每一個級聯模型策略指定若一第一相關性高於一第二相關性,則在存取來自和所述第二相關性相關的一第二感測器的一第二感測器信號之前,先存取來自和所述第一相關性相關的一第一感測器的一第一感測器信號。在步驟840,所述助理系統140可根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的活動相關的所述第一使用者的一情境上的一改變,其中在所述第一使用者的所述情境上的改變滿足和所述活動相關的所述觸發狀況。在步驟850,所述助理系統140可響應於所述第一使用者的所述情境上的偵測到的改變,藉由所述客戶端系統130的一或多個相機來自動地捕捉視覺資料,其中所述視覺資料包括所述活動的一或多個時刻,其中所述一或多個時刻的每一個和大於有趣性臨界量度之有趣性量度相關,其中所述視覺資料被儲存為一或多個媒體資料檔,並且其中所述一或多個媒體資料檔的每一個包括一影像或是一視頻中的一或多個。在步驟860,所述助理系統140可以根據所述一或多個機器學習模型以及所述一或多個感測器信號,來偵測所述活動的結束。在步驟870,所述助理系統140可根據在所述活動期間所捕捉的視覺資料,來根據所述視覺資料的一摘要以產生一精彩視頻,其中所述摘要是根據所述視覺資料的有趣性量度。在步驟880,所述助理系統140可在所述客戶端系統130呈現所述精彩視頻給所述第一使用者。在適當情況,特定實施例可重複圖8的方法的一或多個步驟。儘管此揭露內容描述並且描繪圖8的方法的特定步驟為以一特定順序發生,但是此揭露內容思及圖8的方法的任何適當步驟以任何適當順序來發生。再者,儘管此揭露內容描述並且描繪一種用於自動捕捉有興趣時刻之範例的方法是包含圖8的方法的特定步驟,但是此揭露內容思及任何用於自動捕捉有興趣時刻之適當的方法是包含任何適當步驟,其在適當情況可包含圖8的方法的步驟的全部、一些或是全無。再者,儘管此揭露內容描述並且描繪特定構件、裝置或系統實行圖8的方法的特定步驟,但是此揭露內容思及任何適當構件、裝置或系統的任何適當的組合實行圖8的方法的任何適當步驟。 社交圖
圖9描繪一範例的社交圖900。在特定實施例中,所述社交網絡系統160可在一或多個資料儲存庫中儲存一或多個社交圖900。在特定實施例中,所述社交圖900可包含多個節點,其可包含多個使用者節點902或多個概念節點904、以及連接所述節點的多個邊緣906。每一個節點可以是和唯一實體(亦即,使用者或概念)相關的,其中的每一個可具有唯一識別符(ID),例如唯一號碼或使用者名稱。出於教導目的,在圖9中描繪的範例的社交圖900以二維視覺圖表示來展示。在特定的實施例中,一社群網路系統160、一客戶端系統130、一助理系統140、或是一第三方系統170可存取所述社交圖900以及用於適當應用的相關社交圖資訊。所述社交圖900的節點及邊緣可例如在一資料儲存庫(例如一社交圖資料庫)中被儲存為資料物件。此種資料儲存庫可包含所述社交圖900的節點或邊緣的一或多個可搜尋或是可查詢索引。
在特定的實施例中,一使用者節點902可對應於所述社群網路系統160或是所述助理系統140的一使用者。舉例且非限制性的,一使用者可以是一個人(人類使用者)、一實體(例如,一企業、商業、或是第三方的應用程式)、或是一群組(例如,個人或實體的群組),其利用或透過所述社群網路系統160或是所述助理系統140來互動或通訊。在特定的實施例中,當一使用者向所述社群網路系統160註冊帳戶時,所述社群網路系統160可產生對應於所述使用者的一使用者節點902,並且將所述使用者節點902儲存在一或多個資料儲存庫中。在適當情況,在此所述的使用者及使用者節點902可以是指註冊使用者以及和註冊使用者相關的使用者節點902。額外或作為替代方案,在此所述的使用者及使用者節點902在適當情況可以是指尚未向所述社群網路系統160註冊的使用者。在特定實施例中,一使用者節點902可以是和由一使用者提供的資訊、或是由包含所述社群網路系統160的各種系統收集的資訊相關的。舉例且非限制性的,一使用者可提供他或她的名稱、簡檔圖片、聯絡資訊、出生日期、性別、婚姻狀況、家庭狀態、就業、教育背景、偏好、興趣、或是其他人口統計的資訊。在特定實施例中,一使用者節點902可以是和對應於和一使用者相關的資訊的一或多個資料物件相關的。在特定實施例中,一使用者節點902可對應於一或多個網路介面。
在特定實施例中,一概念節點904可對應於一概念。舉例且非限制性的,一概念可對應於一地點(例如,電影院、餐廳、地標、或是城市);一網站(例如,和所述社群網路系統160相關的一網站、或是和一網路應用程式伺服器相關的一第三方網站);一實體(例如,一人、商業、群組、體育團隊或名人);一資源(例如,一音訊檔、視頻檔、數位照片、文字檔、結構化文件、或是應用程式),其可以是位在所述社群網路系統160之內、或是在一外部伺服器(例如網路應用伺服器)上;真實或智慧財產權(例如,雕塑、繪畫、電影、遊戲、歌曲、想法、照片、或是書面作品);一遊戲;一活動;一想法或理論;其它適當概念;或是兩個或多個此種概念。一概念節點904可以是和由一使用者提供的一概念資訊、或是藉由包含所述社群網路系統160以及所述助理系統140的各種系統所收集的資訊相關的。舉例且非限制性的,一概念資訊可包含一名稱或是一標題;一或多個影像(例如,一本書的封面頁的一影像);一位置(例如,一地址或是一地理位置);一網站(其可以是和一URL相關的);連絡人資訊(例如,一電話號碼或是一電子郵件位址);其它適當概念資訊;或是此種資訊的任何適當的組合。在特定實施例中,一概念節點904可以是和對應於和概念節點904相關的資訊的一或多個資料物件相關的。在特定實施例中,一概念節點904可以對應於一或多個網路介面。
在特定實施例中,在所述社交圖900中的一節點可代表一網路介面(其可被稱為一“簡檔介面”)、或是藉由一網路介面來加以表示。簡檔介面可以是由所述社群網路系統160或所述助理系統140託管或是可存取的。簡檔介面亦可以是在和一第三方系統170相關的第三方網站上託管的。舉例且非限制性的,對應於一特定外部網路介面的一簡檔介面可以是所述特定外部網路介面,並且所述簡檔介面可以對應於一特定概念節點904。簡檔介面可由其他使用者的全部或所選子集查看。舉例且非限制性的,一使用者節點902可具有一對應使用者簡檔介面,其中所述對應使用者可添加內容、做出聲明、或以其它方式表達他或她自己。舉另一例子且非限制性的,一概念節點904可具有一對應概念簡檔介面,其中一或多個使用者可添加內容、做出聲明、或表達自己,特別關於對應於概念節點904的概念。
在特定實施例中,一概念節點904可代表由一第三方系統170託管的一第三方網路介面或資源。所述第三方網路介面或資源可包含內容、一可選圖像或其它圖像、或是代表一動作或活動的其它可互動物件、及其它元件。舉例且非限制性的,一第三方網路介面可包含一可選圖像,例如是“喜歡”、“報到”、“吃”、“推薦”、或是其它適當的動作或活動。觀看所述第三方網路介面的一使用者可藉由選擇所述圖像中之一(例如,“報到”)來執行一動作,使得一客戶端系統130傳送一指出所述使用者的動作的訊息至所述社群網路系統160。響應於所述訊息,所述社群網路系統160可在對應於所述使用者的一使用者節點902以及對應於所述第三方網路介面或資源的一概念節點904之間產生一邊緣(例如,一報到類型邊緣),並且將邊緣906儲存在一或多個資料儲存庫中。
在特定實施例中,在所述社交圖900中的一對節點可藉由一或多個邊緣906來連接至彼此。連接一對節點的一邊緣906可代表在所述一\對節點之間的一關係。在特定實施例中,一邊緣906可包含或代表對應於在一對節點之間的關係的一或多個資料物件或屬性。舉例且非限制性的,一第一使用者可指出一第二使用者是所述第一使用者的一“朋友”。響應於此指示,所述社群網路系統160可傳送一“朋友請求”至所述第二使用者。若所述第二使用者確認所述“朋友請求”,則所述社群網路系統160可在所述社交圖900中產生連接所述第一使用者的使用者節點902至所述第二使用者的使用者節點902的一邊緣906,並且在資料儲存庫164中的一或多個內將邊緣906儲存為社交圖資訊。在圖9的例子中,所述社交圖900包含一邊緣906,其指出在使用者“A”及使用者“B”的使用者節點902之間的一朋友關係、以及一邊緣,其指出在使用者“C”及使用者“B”的使用者節點902之間的一朋友關係。儘管此揭露內容描述或描繪連接特定使用者節點902的具有特定屬性的特定邊緣906,但是此揭露內容思及連接使用者節點902的具有任何適當屬性的任何適當的邊緣906。舉例且非限制性的,一邊緣906可代表朋友關係、家庭關係、商業或就業關係、愛好者關係(包括例如喜好等)、追隨者關係、訪客關係(包括例如訪問、觀看、報到、共享等)​、訂戶關係、上級/從屬關係、互惠關係、非互惠關係、其它合適類型的關係、或兩個或更多個此種關係。再者,儘管此揭露內容大致描述節點為連接的,此揭露內容亦描述使用者或概念為連接的。在此,對於連接的使用者或概念的參照在適當情況可以是指對應於那些在所述社交圖900中藉由一或多個邊緣906連接的使用者或概念節點。分別由兩個節點表示的兩個物件之間的分離程度是在所述社交圖900中連接所述兩個節點的最短路徑中的邊緣計數。舉例且非限制性的,在所述社交圖900中,使用者“C”的使用者節點902經由多個路徑來連接至使用者“A”的使用者節點902,其例如包含一直接通過使用者“B”的使用者節點902的第一路徑、一通過公司“CompanyName”的概念節點904以及使用者“D”的使用者節點902的第二路徑、以及一通過代表學校“SchoolName”、使用者“G”、公司“CompanyName”及使用者“D”的使用者節點902及概念節點904的第三路徑。使用者“C”及使用者“A”具有兩個分離程度,因為連接其對應節點的最短路徑(亦即,所述第一路徑)包含兩個邊緣906。
在特定實施例中,在一使用者節點902以及一概念節點904之間的一邊緣906可代表藉由和使用者節點902相關的一使用者朝向和一概念節點904相關的一概念所執行的一特定動作或活動。舉例且非限制性的,如同在圖9中所繪,一使用者可“喜歡”、“參加”、“播放”、“聆聽”、“烹飪”、“工作在”、或是“閱讀”一概念,其每一個可對應於一邊緣類型或是子類型。對應於一概念節點904的一概念簡檔介面例如可包含一可選“報到”圖像(例如,一可點選“報到”圖像)、或是一可選“加到我的最愛”圖像。類似地,在一使用者點選這些圖像之後,所述社群網路系統160可響應於對應一個別動作的一使用者的動作來產生一“我的最愛”邊緣或是一“報到”邊緣。舉另一例子且非限制性的,一使用者(使用者“C”)可利用一特定應用程式(一第三方線上音樂應用程式)來聆聽一特定歌曲(“SongName”)。在此例中,所述社群網路系統160可在對應於所述使用者的使用者節點902以及對應於所述歌曲以及應用程式的概念節點904之間產生一“聆聽”邊緣906以及一“使用”邊緣(如同在圖9中所繪),以指出所述使用者聆聽所述歌曲並且使用所述應用程式。再者,所述社群網路系統160可在對應於所述歌曲以及所述應用程式的概念節點904之間產生一“播放”邊緣906(如同在圖9中所繪),以指出所述特定歌曲藉由所述特定應用程式來播放。在此例中,“播放”邊緣906對應於藉由一外部應用程式(所述第三方線上音樂應用程式)在一外部音訊檔(所述歌曲“SongName”)上所執行的一動作。儘管此揭露內容描述具有特定屬性的特定邊緣906連接使用者節點902以及概念節點904,但是此揭露內容思及具有任何適當屬性的任何適當的邊緣906連接使用者節點902以及概念節點904。再者,儘管此揭露內容描述在一使用者節點902以及一概念節點904之間的邊緣代表單一關係,但是此揭露內容思及在一使用者節點902以及一概念節點904之間的邊緣代表一或多個關係。舉例且非限制性的,一邊緣906可代表一使用者喜歡並且已經利用在一特定概念。或者是,另一邊緣906可代表在一使用者節點902以及一概念節點904之間的每一種類型的關係(或是單一關係的倍數)(如同在圖9中所繪,在用於使用者“E”的使用者節點902以及用於“線上音樂應用程式”的概念節點904之間)。
在特定實施例中,所述社群網路系統160可所述社交圖900中的一使用者節點902以及一概念節點904之間產生一邊緣906。舉例且非限制性的,觀看一概念簡檔介面的一使用者(例如,藉由利用一網路瀏覽器、或是由所述使用者的客戶端系統130託管的一特殊用途的應用程式)可藉由點選或選擇一“喜歡”圖像來指出他或她喜歡由所述概念節點904表示的概念,此可使得所述使用者的客戶端系統130傳送給所述社群網路系統160一訊息指出所述使用者喜歡和所述概念簡檔介面相關的概念。響應於所述訊息,如同由在所述使用者以及概念節點904之間的“喜歡”邊緣906所描繪的,所述社群網路系統160可在和所述使用者相關的使用者節點902以及概念節點904之間產生一邊緣906。在特定實施例中,所述社群網路系統160可在一或多個資料儲存庫中儲存一邊緣906。在特定實施例中,一邊緣906可響應於一特定使用者動作而自動地藉由所述社群網路系統160來形成。舉例且非限制性的,若一第一使用者上傳一照片、閱讀一本書、看一部電影、或是聆聽一首歌,則一邊緣906可被形成在對應於所述第一使用者的使用者節點902以及對應於那些概念的概念節點904之間。儘管此揭露內容描述用特定方式來形成特定邊緣906,但是此揭露內容思及以任何適當的方式來形成任何適當的邊緣906。 向量空間及嵌入
圖10描繪一向量空間1000的一範例的視圖。在特定實施例中,一物件或是一n元語法可在一d維向量空間中來加以表示,其中d表示任何適當數量的維度。儘管所述向量空間1000被描繪為一個三維空間,但是此僅為了舉例說明目的而已,因為所述向量空間1000可具有任何適當維度。在特定實施例中,一n元語法可在所述向量空間1000中被表示為一向量,其被稱為一術語“嵌入”。每一個向量可包括對應於所述向量空間1000中的一特定點的座標(亦即,所述向量的端點)。舉例且非限制性的,如同在圖10中所繪,向量1010、1020及1030可在所述向量空間1000中被表示為點。一n元語法可被對映到一個別向量表示。舉例且非限制性的,n元語法
Figure 02_image003
Figure 02_image005
分別可藉由施加由一字典所定義的一函數
Figure 02_image007
而被對映到所述向量空間1000中的向量
Figure 02_image009
以及
Figure 02_image011
,使得
Figure 02_image013
並且
Figure 02_image015
。舉另一例子且非限制性的,一被訓練以映射文本成為一向量表示的字典可被利用、或是此種字典本身可經由訓練來加以產生。舉另一例子且非限制性的,一單詞嵌入模型可被用來映射一n元語法成為在所述向量空間1000中的一向量表示。在特定實施例中,一n元語法可藉由利用一機器學習模型(例如,一神經網路)而被對映到所述向量空間1000中的一向量表示。所述機器學習模型可以是已經利用一序列的訓練資料來訓練的(例如,一分別包括n元語法的物件的語料庫)。
在特定實施例中,一物件可在所述向量空間1000中被表示為一向量,其被稱為一特點向量或是一物件嵌入。舉例且非限制性的,物件
Figure 02_image017
Figure 02_image019
分別可藉由施加一函數
Figure 02_image007
而被對映到所述向量空間1000中的向量
Figure 02_image009
Figure 02_image011
,使得
Figure 02_image021
並且
Figure 02_image023
。在特定實施例中,一物件可根據所述物件的一或多個性質、屬性或特點、所述物件與其它物件的關係、或是和所述物件相關的任何其它適當資訊而被對映到一向量。舉例且非限制性的,一函數
Figure 02_image007
可藉由特徵萃取來映射物件成為向量,其可從一組最初量測資料開始,並且建構導出值(例如,特徵)。舉例且非限制性的,包括一視頻或是一影像的一物件可藉由利用一演算法以偵測或分離出所述物件的各種所要部分或形狀,而被對映到一向量。被用來計算所述向量的特徵可以是根據從邊緣偵測、角點偵測、斑點偵測、脊偵測、尺度不變特徵轉換、邊緣方向、變化強度、自相關、動作偵測、光流、二值化、斑點提取、模板匹配、霍夫(Hough)轉換(例如,線、圓、橢圓、任意形狀)獲得的資訊、或是任何其它適當的資訊。舉另一例子且非限制性的,一包括音訊資料的物件可根據例如一頻譜斜率、一音調係數、一音訊頻譜質心、一音訊頻譜波封、一梅爾頻率倒譜、或是任何其它適當資訊的特徵而被對映到一向量。在特定實施例中,當一物件具有太大而不能被有效率地處理或包括冗餘資料的資料時,一函數
Figure 02_image007
可利用一轉換縮減特徵集(例如,特徵選擇)來映射所述物件至一向量。在特定實施例中,一函數
Figure 02_image007
可根據和一物件
Figure 02_image025
相關的一或多個n元語法來映射物件
Figure 02_image025
成為一向量
Figure 02_image027
。儘管此揭露內容描述用一特定方式來在一向量空間中表示一n元語法或是一物件,但是此揭露內容思及以任何適當方式來在一向量空間中表示一n元語法或是一物件。
在特定實施例中,所述社群網路系統160可計算在向量空間1000中的向量的一相似性度量。一相似性度量可以是一餘弦相似性、一明氏(Minkowski)距離、一馬氏(Mahalanobis)距離、一雅卡爾(Jaccard)相似性係數、或是任何適當的相似性度量。舉例且非限制性的,
Figure 02_image009
Figure 02_image011
的一相似性度量可以是一餘弦相似性
Figure 02_image029
。舉另一例子且非限制性的,
Figure 02_image009
Figure 02_image011
的一相似性度量可以是一歐氏(Euclidean)距離
Figure 02_image031
兩個向量的一相似性度量可將分別對應於所述兩個向量的兩個物件或n元語法彼此有多類似表示為藉由在所述向量空間1000中的所述兩個向量之間的距離所量測。舉例且非限制性的,根據在個別向量之間的距離,向量1010及向量1020可比對應於向量1010及向量1030的物件對應於彼此更類似的物件。儘管此揭露內容描述用一特定方式來計算在向量之間的一相似性度量,但是此揭露內容思及以任何適當方式來計算在向量之間的一相似性度量。
更多有關向量空間、嵌入、特徵向量、以及相似性度量的資訊可見於2015年11月23日申請的美國專利申請案號14/949436、2016年10月5日申請的美國專利申請案號15/286315、以及2016年11月30日申請的美國專利申請案號15/365789中,所述美國專利申請案的每一個是被納入作為參考。 人工神經網路
圖11描繪一範例的人工神經網路(“ANN”)1100。在特定實施例中,一ANN可以是指包括一或多個節點的一計算模型。範例的ANN 1100可包括一輸入層1110、隱藏層1120、1130、1140、以及一輸出層1150。所述ANN 1100的每一層可包括一或多個節點,例如一節點1105或是一節點1115。在特定實施例中,一ANN的每一個節點可連接至所述ANN的另一節點。舉例且非限制性的,所述輸入層1110的每一個節點可連接至所述隱藏層1120的一或多個節點。在特定實施例中,一或多個節點可以是一偏置節點(例如,在一層中的未連接至一先前層中的任何節點而且並未從其接收輸入的一節點)。在特定實施例中,在每一層中的每一個節點都可連接至一先前層或是後續層的一或多個節點。儘管圖11描繪具有一特定數目的層、一特定數目的節點、以及在節點之間的特定連接的一特定ANN,但是此揭露內容思及具有任何適當數目的層、任何適當數目的節點、以及在節點之間的任何適當連接的任何適當ANN。舉例且非限制性的,儘管圖11描繪在所述輸入層1110的每一個節點以及所述隱藏層1120的每一個節點之間的連接,但是所述輸入層1110的一或多個節點可不連接至所述隱藏層1120的一或多個節點。
在特定實施例中,一ANN可以是一前饋ANN(例如,沒有循環或迴圈的ANN,其中在節點之間的通訊流動在一方向上,其開始在所述輸入層並且前進到後續層)。舉例且非限制性的,所述隱藏層1120的每一個節點的輸入可包括所述輸入層1110的一或多個節點的輸出。舉另一例子且非限制性的,所述輸出層1150的每一個節點的輸入可包括所述隱藏層1140的一或多個節點的輸出。在特定實施例中,一ANN可以是一深度神經網路(例如,包括至少兩個隱藏層的神經網路)。在特定實施例中,一ANN可以是一深度殘差網路。一深度殘差網路可以是一前饋ANN,其包括被組織成殘差模塊的隱藏層。進入所述第一殘差模塊之後的每一個殘差模塊的輸入可以是先前殘差模塊的輸出以及先前殘差模塊的輸入的一函數。舉例且非限制性的,進入殘差模塊
Figure 02_image033
的輸入可以是
Figure 02_image035
,其中
Figure 02_image037
可以是殘差模塊
Figure 02_image039
的輸出,
Figure 02_image041
可以是進入殘差模塊
Figure 02_image039
的輸入。儘管此揭露內容是描述一特定ANN,但是此揭露內容思及任何適當的ANN。
在特定實施例中,一激勵函數可對應於一ANN的每一個節點。一節點的一激勵函數可定義一節點針對於一給定輸入的輸出。在特定實施例中,一節點的一輸入可包括一組輸入。舉例且非限制性的,一激勵函數可以是一恆等函數、一二元階梯函數、一邏輯函數、或是任何其它適當函數。舉另一例子且非限制性的,針對於一節點
Figure 02_image043
的一激勵函數可以是sigmoid函數
Figure 02_image045
、雙曲線正切函數
Figure 02_image047
、整流
Figure 02_image049
、或是任何其它適當的函數
Figure 02_image051
,其中
Figure 02_image053
可以是節點
Figure 02_image043
的有效輸入。在特定實施例中,對應於一節點的一激勵函數的輸入可以是加權的。每一個節點可根據加權輸入,利用一對應激勵函數來產生輸出。在特定實施例中,在節點之間的每一個連接都可以是和一權重相關的。舉例且非限制性的,在所述節點1105以及所述節點1115之間的一連接1125可具有一0.4的加權係數,其可指出0.4乘上所述節點1105的輸出被使用作為所述節點1115的一輸入。舉另一例子且非限制性的,節點
Figure 02_image043
的輸出
Figure 02_image055
可以是
Figure 02_image057
,其中
Figure 02_image059
可以是對應於節點
Figure 02_image043
的激勵函數,
Figure 02_image061
可以是節點
Figure 02_image043
的有效輸入,
Figure 02_image063
可以是連接至節點
Figure 02_image043
的一節點
Figure 02_image065
的輸出,並且
Figure 02_image067
可以是在節點
Figure 02_image065
及節點
Figure 02_image043
之間的加權係數。在特定實施例中,所述輸入層的節點的輸入可以是根據代表一物件的一向量。儘管此揭露內容描述節點的特定輸入及輸出,但是此揭露內容思及節點的任何適當輸入及輸出。再者,儘管此揭露內容可能描述在節點之間的特定連接及權重,但是此揭露內容思及在節點之間的任何適當連接及權重。
在特定實施例中,一ANN可利用訓練資料來訓練。舉例且非限制性的,訓練資料可包括所述ANN 1100的輸入以及一預期輸出。舉另一例子且非限制性的,訓練資料可包括向量,其分別代表一訓練物件、以及針對於每一個訓練物件的一預期標籤。在特定實施例中,訓練一ANN可包括藉由最佳化一目標函數來修改和在所述ANN的節點之間的連接相關的權重。舉例且非限制性的,一訓練方法可被使用(例如,共軛梯度法、梯度下降法、隨機梯度下降)以反向傳播被量測為在每一個代表一訓練物件的向量之間的距離的誤差平方和(例如,利用一最小化所述誤差平方和的代價函數)。在特定實施例中,一ANN可利用一丟棄(dropout)技術來加以訓練。舉例且非限制性的,一或多個節點在訓練時可暫時被省略(例如,沒有接收輸入而且沒有產生輸出)。針對於每一個訓練物件,所述ANN的一或多個節點可能有某個機率被省略。針對於一特定訓練物件而被省略的節點可以是不同於針對其它訓練物件而被省略的節點(例如,所述節點可按照逐一物件而暫時被省略)。儘管此揭露內容描述用一特定方式來訓練一ANN,但是此揭露內容思及以任何適當方式來訓練一ANN。 隱私
在特定實施例中,一計算系統的一或多個物件(例如,內容或是其它類型的物件)可以是和一或多個隱私設定相關的。所述一或多個物件可被儲存在任何適當計算系統上、或者是和應用程式相關的,例如一社群網路系統160、一客戶端系統130、一助理系統140、一第三方系統170、一社群網路應用程式、一助理應用程式、一消息傳遞應用程式、一相片分享應用程式、或是任何其它適當計算系統或應用程式。儘管在此論述的例子是在一線上社群網路的背景中,但是這些隱私設定可被施加至任何其它適當計算系統。用於一物件的隱私設定(或是“存取設定”)可用任何適當方式來儲存,例如和所述物件相關聯、在一授權伺服器上用一索引、用其它適當方式、或是用其之適當的組合。用於一物件的一隱私設定可指明所述物件(或是和所述物件相關的特定資訊)在所述線上社群網路之內如何可被存取、儲存、或以其它方式使用(例如,觀看、共享、修改、複製、執行、顯現、或是識別)。當用於一物件的隱私設定容許一特定使用者或其它實體存取該物件時,所述物件可被描述為相關該使用者或其它實體“可見的”。舉例且非限制性的,所述線上社群網路的一使用者可指明用於一使用者簡檔頁的隱私設定,其指明一組可利用在所述使用者簡檔頁上的工作經驗資訊的使用者,因此排除其他使用者來利用該資訊。
在特定實施例中,用於一物件的隱私設定可指明一“阻止名單”的使用者或其它實體,其不應該被容許利用和所述物件相關的某些資訊。在特定實施例中,所述阻止名單可包含第三方實體。所述阻止名單可指明不可見到此一物件的一或多個使用者或實體。舉例且非限制性的,一使用者可指明一組不可存取和所述使用者相關的相簿的使用者,因此將那些使用者排除存取所述相簿(同時亦可能容許不在所指明使用者組內的某些使用者利用所述相簿)。在特定實施例中,隱私設定可以是和特定社交圖元素相關的。一社交圖元素(例如一節點或是一邊緣)的隱私設定可指明所述社交圖元素、和所述社交圖元素相關的資訊、或是和所述社交圖元素相關的物件如何可利用所述線上社群網路而被利用。舉例且非限制性的,一特定照片可具有一隱私設定,其指明所述照片只能夠被所述照片中標記的使用者、以及所述照片中標記的使用者的朋友利用。在特定實施例中,隱私設定可容許使用者選擇加入或是選擇退出使其內容、資訊、或是動作被所述社群網路系統160或助理系統140儲存/登錄、或是與其它系統(例如,一第三方系統170)共享的。儘管此揭露內容描述以一特定方式來利用特定隱私設定,但是此揭露內容思及以任何適當方式來利用任何適當的隱私設定。
在特定實施例中,隱私設定可根據一社交圖900的一或多個節點或邊緣而定。一隱私設定可針對於所述社交圖900的一或多個邊緣906或邊緣類型、或是相關所述社交圖900的一或多個節點902、904或節點類型而被指明。被施加至連接兩個節點的一特定邊緣906的隱私設定可控制在對應於所述節點的兩個實體之間的關係是否為所述線上社群網路的其他使用者可見的。類似地,被施加至一特定節點的隱私設定可控制對應於所述節點的使用者或概念是否為所述線上社群網路的其他使用者可見的。舉例且非限制性的,一第一使用者可共享一物件至所述社群網路系統160。所述物件可藉由一邊緣906以和連接至所述第一使用者的一使用者節點902的一概念節點904相關。所述第一使用者可指明施加至連接到所述物件的概念節點904的一特定邊緣906的隱私設定、或是可指明施加至連接到所述概念節點904的所有邊緣906的隱私設定。舉另一例子且非限制性的,所述第一使用者可共享一特定物件類型的一組物件(例如,一組影像)。所述第一使用者可指明和所述第一使用者相關的該特定物件類型的所有物件相關的隱私設定為具有一特定隱私設定(例如,指明由所述第一使用者貼上的所有影像只有所述第一使用者的朋友及/或在所述影像中標記的使用者可見的)。
在特定實施例中,所述社群網路系統160可呈現一“隱私精靈”(例如,在一網頁、一模組、一或多個對話框、或是任何其它適當的介面之內)給所述第一使用者,以協助所述第一使用者指明一或多個隱私設定。所述隱私精靈可顯示指令、適當隱私相關的資訊、目前隱私設定、用於接受來自所述第一使用者的一或多個指明隱私設定的改變或確認的輸入的一或多個輸入欄位、或是其之任何適當的組合。在特定實施例中,所述社群網路系統160可提供一“儀表板”功能給所述第一使用者,其可顯示所述第一使用者的目前隱私設定給所述第一使用者。所述儀表板功能可在任何適當時間顯示給所述第一使用者(例如,接在來自所述第一使用者的召喚所述儀表板功能的一輸入之後、接在一特定事件或觸發動作的發生之後)。所述儀表板功能可容許所述第一使用者能夠在任何時間,以任何適當方式來修改所述第一使用者的目前隱私設定中的一或多個(例如,重新導向所述第一使用者至所述隱私精靈)。
和一物件相關的隱私設定可指明任何適當細微度的容許存取或是拒絕存取。舉例且非限制性的,存取或是拒絕存取可針對於特定使用者(例如,只有我、我的室友、我的上司)、在一特定分離度之內的使用者(例如,朋友、朋友的朋友)、使用者群組(例如,遊戲俱樂部、我的家人)、使用者網絡(例如,特定雇主的員工、特定大學的學生或校友)、所有使用者(“大眾”)、沒有使用者(“私人”)、第三方系統170的使用者、特定應用程式(例如,第三方應用程式、外部網站)、其它適當實體、或是其之任何適當的組合來加以指明。儘管此揭露內容描述容許存取或是拒絕存取的特定細微度,但是此揭露內容思及容許存取或是拒絕存取的任何適當細微度。
在特定實施例中,一或多個伺服器162可以是用於實施隱私設定的授權/隱私伺服器。響應於來自一使用者(或其它實體)針對於被儲存在一資料儲存庫164中的一特定物件的一請求,所述社群網路系統160可傳送針對於所述物件的一請求至所述資料儲存庫164。所述請求可識別和所述請求相關的使用者,並且若所述授權伺服器根據和所述物件相關的隱私設定而判斷所述使用者被授權以利用所述物件,則所述物件只能夠被傳送至所述使用者(或是所述使用者的一客戶端系統130)。若所述請求的使用者並未被授權利用所述物件,則所述授權伺服器可避免所請求物件從所述資料儲存庫164被擷取、或是可避免所請求物件被傳送至所述使用者。在搜尋-查詢背景中,只有若所述查詢使用者被授權利用所述物件,例如若用於所述物件的隱私設定容許其能夠被顯現、發現、或以其它方式可見於所述查詢使用者,則一物件可被提供為一搜尋結果。在特定實施例中,一物件可代表一使用者可透過所述使用者的一新聞動態消息見到的內容。舉例且非限制性的,一或多個物件可以是一使用者的“趨勢”頁可見的。在特定實施例中,一物件可對應於一特定使用者。所述物件可以是和所述特定使用者相關的內容、或者可以是被儲存在所述社群網路系統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相關的其它程序或應用程式利用。 系統及方法
圖12描繪一範例的電腦系統1200。在特定實施例中,一或多個電腦系統1200執行一或多種在此敘述或描繪的方法的一或多個步驟。在特定實施例中,一或多個電腦系統1200提供在此敘述或描繪的功能。在特定實施例中,在一或多個電腦系統1200上執行的軟體執行一或多種在此敘述或描繪的方法的一或多個步驟、或是提供在此敘述或描繪的功能。特定實施例包含一或多個電腦系統1200的一或多個部分。在此,對於一電腦系統的參照在適當情況可涵蓋一計算裝置,並且反之亦然。再者,對於一電腦系統的參照在適當情況可涵蓋一或多個電腦系統。
此揭露內容思及任何適當數量的電腦系統1200。此揭露內容思及具有任何適當實體形式的電腦系統1200。舉例且非限制性的,電腦系統1200可以是一內嵌式電腦系統、一系統單晶片(SOC)、單板電腦系統(SBC)(例如,一模組化電腦(COM)或模組化系統(SOM))、一桌上型電腦系統、一膝上型或筆記型電腦系統、一互動資訊站(interactive kiosk)、一大型計算機、一電腦系統網格、一行動電話、一個人數位助理(PDA)、一伺服器、一平板電腦系統、或是這些中的兩個或多個的一組合。在適當情形中,電腦系統1200可包含一或多個電腦系統1200;為一體的或分散的;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或是存在於雲端中,其可包含在一或多個網路中的一或多個雲端構件。在適當情形中,一或多個電腦系統1200可在無實質空間或時間的限制下執行一或多種在此敘述或描繪的方法的一或多個步驟。舉例且非限制性的,一或多個電腦系統1200可即時地或是在批次模式中執行一或多種在此敘述或描繪的方法的一或多個步驟。在適當情況,一或多個電腦系統1200可在不同時間或是在不同位置執行一或多種在此敘述或描繪的方法的一或多個步驟。
在特定實施例中,電腦系統1200包含一處理器1202、記憶體1204、儲存體1206、一輸入/輸出(I/O)介面1208、一通訊介面1210、以及一匯流排1212。儘管此揭露內容描述且描繪一特定電腦系統具有在一特定配置下的一特定數量的特定構件,但是此揭露內容思及具有在任何適當配置下的任何適當數量的任何適當的構件之任何適當的電腦系統。
在特定實施例中,處理器1202包含用於執行例如那些構成一電腦程式的指令的硬體。舉例且非限制性的,為了執行指令,處理器1202可從一內部暫存器、一內部快取、記憶體1204、或是儲存體1206擷取(或提取)所述指令;解碼及執行它們;並且接著將一或多個結果寫入到一內部暫存器、一內部快取、記憶體1204、或是儲存體1206。在特定實施例中,處理器1202可包含用於資料、指令、或位址的一或多個內部快取。此揭露內容思及處理器1202在適當情況包含任何適當數量的任何適當的內部快取。舉例且非限制性的,處理器1202可包含一或多個指令快取、一或多個資料快取、以及一或多個轉譯後備緩衝器(TLB)。在所述指令快取中的指令可以是在記憶體1204或儲存體1206中的指令的副本,並且所述指令快取可加速那些指令藉由處理器1202的取出。在所述資料快取中的資料可以是資料在記憶體1204或儲存體1206中的副本,以供在處理器1202執行的指令在其上運算;在處理器1202執行的先前指令的結果,以供藉由在處理器1202執行的後續指令存取、或是用於寫入到記憶體1204或儲存體1206;或是其它適當的資料。所述資料快取可加速藉由處理器1202的讀取或寫入的操作。所述TLB可加速用於處理器1202的虛擬位址的轉譯。在特定實施例中,處理器1202可包含一或多個用於資料、指令、或位址的內部暫存器。此揭露內容思及處理器1202在適當情況包含任何適當數量的任何適當的內部暫存器。在適當情形中,處理器1202可包含一或多個算術邏輯單元(ALU);其是一多核心處理器;或是包含一或多個處理器1202。儘管此揭露內容描述且描繪一特定處理器,但此揭露內容思及任何適當的處理器。
在特定實施例中,記憶體1204包含主要記憶體以用於儲存供處理器1202執行的指令、或是供處理器1202在其上運算的資料。舉例且非限制性的,電腦系統1200可從儲存體1206或是另一來源(例如,另一電腦系統1200)載入指令到記憶體1204。處理器1202接著可從記憶體1204載入所述指令到一內部暫存器或是內部快取。為了執行所述指令,處理器1202可從所述內部暫存器或內部的快取擷取所述指令,並且解碼它們。在所述指令的執行期間或是之後,處理器1202可寫入一或多個結果(其可以是中間或最終結果)至所述內部暫存器或是內部快取。處理器1202接著可將那些結果中的一或多個寫入到記憶體1204。在特定實施例中,處理器1202只執行在一或多個內部暫存器或內部快取中、或是在記憶體1204中的指令(相對於儲存體1206或是在別處)、並且只在一或多個內部暫存器或內部快取中、或是在記憶體1204中的資料上運算(相對於儲存體1206或是在別處)。一或多個記憶體匯流排(其分別可包含一位址匯流排以及一資料匯流排)可將處理器1202耦接至記憶體1204。如同在以下敘述的,匯流排812可包含一或多個記憶體匯流排。在特定實施例中,一或多個記憶體管理單元(MMU)位在處理器1202與記憶體1204之間,並且使得由處理器1202所請求的對於記憶體1204的存取變得容易。在特定實施例中,記憶體1204包含隨機存取記憶體(RAM)。此RAM在適當情況可以是揮發性記憶體。在適當情形中,此RAM可以是動態RAM(DRAM)或靜態RAM(SRAM)。再者,在適當情況,此RAM可以是單埠或多埠RAM。此揭露內容思及任何適當RAM。記憶體1204在適當情況可包含一或多個記憶體1204。儘管此揭露內容描述且描繪特定記憶體,但是此揭露內容思及任何適當的記憶體。
在特定實施例中,儲存體1206包含用於資料或指令的大量儲存。舉例且非限制性的,儲存體1206可包含一硬碟機(HDD)、一軟碟機、快閃記憶體、一光碟、一磁光碟片、磁帶、或是一通用串列匯流排(USB)隨身碟、或是這些的兩個或多個的一組合。儲存體1206在適當情況可包含可拆卸或非可拆卸的(或固定的)媒體。儲存體1206在適當情況可在電腦系統1200的內部或外部。在特定實施例中,儲存體1206是非揮發性固態記憶體。在特定實施例中,儲存體1206包含唯讀記憶體(ROM)。在適當情形中,此ROM可以是遮罩程式化ROM、可程式化ROM(PROM)、可抹除PROM(EPROM)、電性可抹除PROM(EEPROM)、電性可變ROM(EAROM)、或是快閃記憶體、或是這些的兩個或多個的一組合。此揭露內容思及採用任何適當的實體形式的大量儲存體1206。儲存體1206在適當情況可包含一或多個儲存控制單元,其使得在處理器1202以及儲存體1206之間的通訊變得容易。在適當情形中,儲存體1206可包含一或多個儲存體1206。儘管此揭露內容描述且描繪特定儲存體,但是此揭露內容思及任何適當的儲存體。
在特定實施例中,I/O介面1208包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1200以及一或多個I/O裝置之間的通訊的介面。電腦系統1200在適當情況可包含這些I/O裝置中的一或多個。這些I/O裝置中的一或多個可致能在人以及電腦系統1200之間的溝通。舉例且非限制性的,一I/O裝置可包含一鍵盤、小型鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、相機、指示筆、平板電腦、觸控螢幕、軌跡球、視頻攝影機、其它適當的I/O裝置、或是這些的兩個或多個的一組合。一I/O裝置可包含一或多個感測器。此揭露內容思及任何適當的I/O裝置以及用於它們的任何適當的I/O介面1208。在適當情形中,I/O介面1208可包含一或多個裝置或軟體驅動程式,其致能處理器1202來驅動這些I/O裝置中的一或多個。I/O介面1208在適當情況可包含一或多個I/O介面1208。儘管此揭露內容描述且描繪一特定I/O介面,但是此揭露內容思及任何適當的I/O介面。
在特定實施例中,通訊介面1210包含硬體、軟體、或是兩者,其提供一或多個用於在電腦系統1200以及一或多個其它電腦系統1200或一或多個網路之間的通訊(例如,封包為基礎的通訊)的介面。舉例且非限制性的,通訊介面1210可包含一網路介面控制器(NIC)或網路轉接器以用於和一乙太網路或其它有線為基礎的網路通訊、或是包含一無線NIC(WNIC)或無線轉接器以用於和一例如是WI-FI網路的無線網路通訊。此揭露內容思及任何適當網路以及用於其之任何適當的通訊介面1210。舉例且非限制性的,電腦系統1200可和一特用網路、一個人區域網路(PAN)、一區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(MAN)、或網際網路的一或多個部分、或是這些中的兩個或多個的一組合通訊。這些網路中的一或多個的一或多個部分可以是有線或無線的。舉例而言,電腦系統1200可和一無線PAN(WPAN)(例如,一藍芽WPAN)、一WI-FI網路、一WI-MAX網路、一行動電話網路(例如,一全球行動通訊系統(GSM)網路)、或其它適當無線網路、或是這些中的兩個或多個的一組合通訊。電腦系統1200在適當情況可包含用於這些網路的任一者的任何適當的通訊介面1210。通訊介面1210在適當情況可包含一或多個通訊介面1210。儘管此揭露內容描述且描繪一特定的通訊介面,但是此揭露內容思及任何適當的通訊介面。
在特定實施例中,匯流排1212包含硬體、軟體、或是兩者,其將電腦系統1200的構件彼此耦接。舉例且非限制性的,匯流排1212可包含一加速圖形埠(AGP)或其它圖形匯流排、一強化工業標準架構(EISA)匯流排、一前端匯流排(FSB)、一超傳輸(HT)互連、一工業標準架構(ISA)匯流排、一無限頻寬互連、一低接腳數(LPC)匯流排、一記憶體匯流排、一微通道架構(MCA)匯流排、一週邊元件互連(PCI)匯流排、一PCI-Express(PCIe)匯流排、一串列先進技術附接(SATA)匯流排、一視頻電子標準協會區域(VLB)匯流排、或其它適當匯流排、或是這些中的兩個或多個的一組合。匯流排1212在適當情況可包含一或多個匯流排1212。儘管此揭露內容描述且描繪一特定匯流排,但是此揭露內容思及任何適當的匯流排或互連。
在此,一或多種電腦可讀取非暫態儲存媒體在適當情況可包含一或多個半導體為基礎或其它的積體電路(IC)(例如,場可程式化閘陣列(FPGA)、或特殊應用IC(ASIC))、硬碟機(HDD)、混合硬碟機(HHD)、光碟、光碟機(ODD)、磁光碟片、磁光機、軟碟片、軟碟機(FDD)、磁帶、固態硬碟(SSD)、虛擬磁碟、安全數位卡或碟、任何其它適當的電腦可讀取非暫態儲存媒體、或是這些中的兩個或多個的任何適當的組合。一電腦可讀取非暫態儲存媒體在適當情況可以是揮發性、非揮發性、或是揮發性及非揮發性的一組合。 雜項
在此,除非有明確相反指出或是上下文有相反指出,否則“或”是包括而非排它性的。因此,除非有明確相反指出或是上下文有相反指出,否則在此的“A或B”是表示“A、B、或是兩者”。再者,除非有明確相反指出或是上下文有相反指出,否則“及”是聯合且分別的。因此,除非有明確相反指出或是上下文有相反指出,否則在此的“A及B”是表示“聯合或分別的A及B”。
此揭露內容的範疇包含具有在此項技術中的普通技能者將會理解的對於在此敘述或描繪的範例實施例的所有改變、替代、變化、變動及修改。此揭露內容的範疇並不限於在此敘述或描繪的範例實施例。再者,儘管此揭露內容在此描述且描繪個別的實施例為包含特定的構件、元件、特點、功能、操作、或是步驟,但是這些實施例的任一個都可包含具有在此項技術中的普通技能者將會理解的在此任何地方所敘述或描繪的構件、元件、特點、功能、操作、或是步驟的任一個的任何組合或排列。再者,在所附的請求項中對於被調適、安排、能夠、配置、致能、可運作、或操作以執行一特定功能的一設備或系統、或是一設備或系統的一構件的參照是包含所述設備、系統、構件,而不論其或所述特定的功能是否被起動、導通、或解鎖,只要所述設備、系統、或構件如此被調適、安排、能夠、配置、致能、可運作、或是操作即可。此外,儘管此揭露內容描述或描繪特定實施例為提供特定的優點,但是特定實施例可以提供這些優點的全無、一些、或是全部。
100:網路環境 110:網路 130:客戶端系統 132:網路瀏覽器 134:社群網路應用程式 136:助理應用程式 137:顯現裝置 138:隨附裝置 140:助理系統 150:鏈路 160:社群網路系統 162:伺服器 164:資料儲存庫 170:第三方系統 200:架構 202:虛線 205:決策點(D0) 206:裝置上協調器 208a:自動話音辨識(ASR)模組 208b:自動話音辨識(ASR)模組 210a:自然語言理解技術(NLU)模組 210b:自然語言理解技術(NLU)模組 212:實體解析模組 212a:實體解析模組 212b:實體解析模組 215:決策點(D1) 216:對話管理器 216a:裝置上對話管理器 216b:對話管理器模組 218a:對話狀態追蹤器 218b:對話狀態追蹤器 220:情境引擎 220a:情境引擎 220b:情境引擎 222a:動作選擇器 222b:動作選擇器 224:對話管理器代理 225:決策點(D2) 226:仲裁器 226a:仲裁器 226b:仲裁器 228:代理 228a:代理 228b:代理 230a:傳送系統 230b:傳送系統 232:顯現輸出模組 300:流程圖 305:助理服務模組 310:請求管理器 312:情境抽取器 314:談話理解(CU)物件產生器 320:資料儲存庫 330:允許名單/阻擋名單 332:特徵化 334:領域分類/選擇 336a:元意圖分類器 336b:意圖分類器 338a:元槽位標記器 338b:槽位標記器 340:領域實體解析 342:一般實體解析 350:知識 352:圖 354:助理使用者記憶體(AUM) 356:對話意圖解析 360:對話策略 362:一般策略 364:工作策略 370:CU組合器 372:自然語言生成技術(NLG)構件 374:UI酬載產生器 376:響應排名器 380:響應產生構件 382:對話狀態寫入構件 390:文字轉語音(TTS)構件 400:流程圖 410:工作追蹤器 411:意圖處理程序 412:工作ID解析構件 413:參數解析構件 414:工作候選者排名模組 415:規則為基礎的排名器 416:工作候選者產生模組 417:工作ID解析構件 418:參數解析構件 419:合併層 420:談話理解增強引擎(CURE)追蹤器 430:工作規範管理器API 435:執行階段配置 510:使用者請求 520:情境信號 530:情境 540:時刻 550:媒體資料檔 605:使用者 610:使用者請求 615:回覆 620:Elena 625:影像 630:影像 705:使用者 710:使用者請求 715:回覆 720:視頻 800:方法 810:步驟 820:步驟 830:步驟 840:步驟 850:步驟 860:步驟 870:步驟 880:步驟 900:社交圖 902:使用者節點 904:概念節點 906:邊緣 1000:向量空間 1010、1020、1030:向量 1100:人工神經網路(ANN) 1105:節點 1110:輸入層 1115:節點 1120:隱藏層 1125:連接 1130、1140:隱藏層 1150:輸出層 1200:電腦系統 1202:處理器 1204:記憶體 1206:儲存體 1208:I/O介面 1210:通訊介面
[圖1]描繪和一助理系統相關的一範例的網路環境。
[圖2]描繪所述助理系統的一範例的架構。
[圖3]描繪所述助理系統的一範例的流程圖。
[圖4]描繪處理一使用者輸入的一範例的以工作為中心的流程圖。
[圖5]描繪用於有興趣時刻的自動捕捉的一範例的工作流程。
[圖6A]描繪一範例的使用者請求生日聚會的自動捕捉。
[圖6B]描繪一範例的所述生日聚會的發生。
[圖6C]描繪所述生日聚會的一範例的被自動捕捉時刻。
[圖6D]描繪所述生日聚會的另一範例的被自動捕捉時刻。
[圖7A]描繪一範例的使用者請求棒球比賽的自動捕捉。
[圖7B]描繪一範例的所述棒球比賽的發生。
[圖7C]描繪全壘打的一範例的被自動捕捉時刻。
[圖8]描繪一種用於自動捕捉有興趣時刻之範例的方法。
[圖9]描繪一範例的社交圖。
[圖10]描繪一嵌入空間的一範例的視圖。
[圖11]描繪一範例的人工神經網路。
[圖12]描繪一範例的電腦系統。
800:方法
810:步驟
820:步驟
830:步驟
840:步驟
850:步驟
860:步驟
870:步驟
880:步驟

Claims (20)

  1. 一種藉由客戶端系統進行之方法,其包括: 從和第一使用者相關的所述客戶端系統存取藉由所述客戶端系統的一或多個感測器所捕捉的一或多個感測器信號,其中所述客戶端系統包括複數個感測器,並且其中所述一或多個感測器信號根據一或多個級聯模型策略而從所述一或多個感測器被存取,其中每一個級聯模型策略利用和每一個感測器相關的個別成本或相關性中的一或多個; 根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的活動相關的所述第一使用者的情境上的改變,其中在所述第一使用者的所述情境上的改變滿足和所述活動相關的觸發狀況;以及 響應於偵測到的所述第一使用者的所述情境上的改變,藉由所述客戶端系統的一或多個相機來自動地捕捉視覺資料。
  2. 如請求項1之方法,其中所述視覺資料包括所述活動的一或多個時刻,其中所述一或多個時刻的每一個和大於有趣性臨界量度之有趣性量度相關。
  3. 如請求項2之方法,其進一步包括: 根據所述一或多個機器學習模型以及所述一或多個感測器信號來判斷所述一或多個時刻的每一個的所述有趣性量度高於所述有趣性臨界量度。
  4. 如請求項3之方法,其中所述一或多個機器學習模型中的一或多個根據對應於複數個活動的複數個時刻的複數個感測器信號來訓練,其中所述複數個感測器信號的每一個和有趣性預設量度相關。
  5. 如請求項1之方法,其中所述視覺資料被儲存為一或多個媒體資料檔,其中所述一或多個媒體資料檔的每一個包括影像或視頻中的一或多個。
  6. 如請求項1之方法,其進一步包括: 根據所述一或多個機器學習模型以及所述一或多個感測器信號來偵測所述活動的結束; 根據在所述活動期間所捕捉的所述視覺資料,以根據所述視覺資料的摘要來產生精彩視頻,其中所述摘要根據所述視覺資料的有趣性量度;以及 在所述客戶端系統呈現所述精彩視頻給所述第一使用者。
  7. 如請求項1之方法,其中所述一或多個感測器信號包括慣性量測單元(IMU)信號、音訊信號、GPS信號、肌電圖(EMG)信號、或是視覺信號中的一或多個。
  8. 如請求項1之方法,其中每一個級聯模型策略利用和每一個感測器相關的個別成本,並且其中每一個級聯模型策略指定若第一成本低於第二成本,則在存取來自和所述第二成本相關的第二感測器的第二感測器信號之前,先存取來自和所述第一成本相關的第一感測器的第一感測器信號。
  9. 如請求項1之方法,其中偵測在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變包括: 根據所述一或多個機器學習模型以及所述複數個感測器的第一感測器的第一感測器信號來計算和在與所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變相關的第一信賴分數; 判斷所述第一信賴分數是否大於臨界信賴分數;以及 根據所述第一信賴分數是否大於所述臨界分數的所述判斷: 若所述第一信賴分數大於所述臨界分數,則確認在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變; 否則: 從和所述第一使用者相關的所述客戶端系統存取所述複數個感測器的第二感測器的第二感測器信號,其中所述第二感測器信號根據所述一或多個級聯模型策略而被存取;以及 根據所述一或多個機器學習模型以及所述第二感測器信號來計算和在與所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變相關的第二信賴分數,其中若所述第二信賴分數大於所述臨界分數,則確認在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變。
  10. 如請求項1之方法,其中每一個級聯模型策略利用和每一個感測器相關的個別相關性,並且其中每一個級聯模型策略指定若第一相關性高於第二相關性,則在存取來自和所述第二相關性相關的第二感測器的第二感測器信號之前,先存取來自和所述第一相關性相關的第一感測器的第一感測器信號。
  11. 如請求項10之方法,其中和每一個感測器相關的所述個別相關性根據所述活動而被判斷出。
  12. 如請求項1之方法,其進一步包括: 在所述客戶端系統接收使用者請求以捕捉和所述活動相關的視覺資料;以及 根據所述使用者請求來判斷所述觸發狀況。
  13. 如請求項1之方法,其中偵測在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變包括: 根據所述一或多個機器學習模型以及所述一或多個感測器信號來計算和在與所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變相關的第一信賴分數; 判斷所述第一信賴分數是否大於臨界分數;以及 根據所述第一信賴分數是否大於所述臨界分數的所述判斷: 若所述第一信賴分數大於所述臨界分數,則確認在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變; 否則: 從和所述第一使用者相關的所述客戶端系統存取藉由所述客戶端系統的所述複數個感測器所捕捉的複數個感測器信號,其中所述複數個感測器信號根據所述一或多個級聯模型策略而被存取;以及 根據所述一或多個機器學習模型以及所述複數個感測器信號來計算和在與所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變相關的第二信賴分數,其中若所述第二信賴分數大於所述臨界分數,則確認在和所述第一使用者的所述活動相關的所述第一使用者的所述情境上的改變。
  14. 如請求項1之方法,其中所述一或多個級聯模型策略對於複數個活動的每一個指明存取來自所述複數個感測器的感測器信號的特定順序,其中來自所述複數個感測器的額外感測器根據和在所述情境上的改變的偵測相關的信賴分數而被存取。
  15. 一或多種體現軟體之電腦可讀取非暫態儲存媒體,當所述軟體被執行時在運作上以: 從和第一使用者相關的客戶端系統存取藉由所述客戶端系統的一或多個感測器所捕捉的一或多個感測器信號,其中所述客戶端系統包括複數個感測器,並且其中所述一或多個感測器信號根據一或多個級聯模型策略以從所述一或多個感測器被存取,其中每一個級聯模型策略利用和每一個感測器相關的個別成本或相關性中的一或多個; 根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的活動相關的所述第一使用者的情境上的改變,其中在所述第一使用者的所述情境上的改變滿足和所述活動相關的觸發狀況;以及 響應於偵測到的所述第一使用者的所述情境上的改變以藉由所述客戶端系統的一或多個相機來自動地捕捉視覺資料。
  16. 如請求項15之電腦可讀取非暫態儲存媒體,其中所述一或多個感測器信號包括慣性量測單元(IMU)信號、音訊信號、GPS信號、肌電圖(EMG)信號、或是視覺信號中的一或多個。
  17. 如請求項15之電腦可讀取非暫態儲存媒體,其中每一個級聯模型策略利用和每一個感測器相關的個別成本,並且其中每一個級聯模型策略指定若第一成本低於第二成本,則在存取來自和所述第二成本相關的第二感測器的第二感測器信號之前,先存取來自和所述第一成本相關的第一感測器的第一感測器信號。
  18. 一種包括一或多個處理器;以及耦接至所述一或多個處理器的非暫態記憶體之系統,其包括藉由所述一或多個處理器可執行的指令,當所述一或多個處理器執行所述指令時在運作上以:  從和第一使用者相關的客戶端系統存取藉由所述客戶端系統的一或多個感測器所捕捉的一或多個感測器信號,其中所述客戶端系統包括複數個感測器,並且其中所述一或多個感測器信號根據一或多個級聯模型策略以從所述一或多個感測器被存取,其中每一個級聯模型策略利用和每一個感測器相關的個別成本或相關性中的一或多個; 根據一或多個機器學習模型以及所述一或多個感測器信號來偵測在和所述第一使用者的活動相關的所述第一使用者的情境上的改變,其中在所述第一使用者的所述情境上的改變滿足和所述活動相關的觸發狀況;以及 響應於偵測到的所述第一使用者的所述情境上的改變以藉由所述客戶端系統的一或多個相機來自動地捕捉視覺資料。
  19. 如請求項18之系統,其中所述一或多個感測器信號包括慣性量測單元(IMU)信號、音訊信號、GPS信號、肌電圖(EMG)信號、或是視覺信號中的一或多個。
  20. 如請求項18之系統,其中每一個級聯模型策略利用和每一個感測器相關的個別成本,並且其中每一個級聯模型策略指定若第一成本低於第二成本,則在存取來自和所述第二成本相關的第二感測器的第二感測器信號之前,先存取來自和所述第一成本相關的第一感測器的第一感測器信號。
TW111114580A 2021-04-21 2022-04-18 助理系統進行有興趣時刻的自動捕捉 TW202307643A (zh)

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/394,096 US20220366170A1 (en) 2021-04-21 2021-08-04 Auto-Capture of Interesting Moments by Assistant Systems
US17/394,096 2021-08-04

Publications (1)

Publication Number Publication Date
TW202307643A true TW202307643A (zh) 2023-02-16

Family

ID=82019266

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111114580A TW202307643A (zh) 2021-04-21 2022-04-18 助理系統進行有興趣時刻的自動捕捉

Country Status (4)

Country Link
US (1) US20220366170A1 (zh)
EP (1) EP4327200A1 (zh)
TW (1) TW202307643A (zh)
WO (1) WO2022226140A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals
CN116519895B (zh) * 2023-04-20 2024-03-29 安徽禾美环保集团有限公司 一种基于大数据平台的水质在线监测分析管理系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11914674B2 (en) * 2011-09-24 2024-02-27 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US11195057B2 (en) * 2014-03-18 2021-12-07 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
EP3268820A1 (en) * 2015-03-11 2018-01-17 Siemens Industry, Inc. Prediction in building automation
US9769367B2 (en) * 2015-08-07 2017-09-19 Google Inc. Speech and computer vision-based control
US10026399B2 (en) * 2015-09-11 2018-07-17 Amazon Technologies, Inc. Arbitration between voice-enabled devices
US10043516B2 (en) * 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
KR20180085931A (ko) * 2017-01-20 2018-07-30 삼성전자주식회사 음성 입력 처리 방법 및 이를 지원하는 전자 장치
WO2018160199A1 (en) * 2017-03-03 2018-09-07 Google Llc Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices
JP6766086B2 (ja) * 2017-09-28 2020-10-07 キヤノン株式会社 撮像装置およびその制御方法
WO2019124055A1 (ja) * 2017-12-18 2019-06-27 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体
US20210081698A1 (en) * 2018-02-09 2021-03-18 Nano Techgalaxy, Inc. D/B/A Galaxy.Ai Systems and methods for physical object analysis
EP3782160A4 (en) * 2018-03-19 2021-12-15 Cognifisense, Inc. COMPUTER SYSTEMS AND METHODS FOR GENERATING AND MODIFYING A MULTISENSORY EXPERIENCE TO IMPROVE HEALTH OR PERFORMANCE
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
EP3686772A1 (en) * 2019-01-25 2020-07-29 Tata Consultancy Services Limited On-device classification of fingertip motion patterns into gestures in real-time

Also Published As

Publication number Publication date
US20220366170A1 (en) 2022-11-17
WO2022226140A1 (en) 2022-10-27
EP4327200A1 (en) 2024-02-28

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
CN114930363A (zh) 为助理系统生成主动内容
US11861315B2 (en) Continuous learning for natural-language understanding models for assistant systems
US20220374645A1 (en) Task Execution Based on Real-world Text Detection for Assistant Systems
CN116018791A (zh) 在助手系统中使用单个请求进行多人呼叫
US20220279051A1 (en) Generating Proactive Reminders for Assistant Systems
US20220366904A1 (en) Active Listening for Assistant Systems
TW202307643A (zh) 助理系統進行有興趣時刻的自動捕捉
TW202301080A (zh) 輔助系統的多裝置調解
CN116888661A (zh) 用于辅助系统的包括非拉丁或不可解析内容项的通信内容的读出
US20240054156A1 (en) Personalized Labeling for User Memory Exploration for Assistant Systems
TW202240461A (zh) 使用輔助系統的語音和手勢輸入之文字編輯
US11983329B1 (en) Detecting head gestures using inertial measurement unit signals
US20240184378A1 (en) Detecting Head Gestures Using Inertial Measurement Unit Signals
US20230419952A1 (en) Data Synthesis for Domain Development of Natural Language Understanding for Assistant Systems
US20230353652A1 (en) Presenting Personalized Content during Idle Time for Assistant Systems
CN117396836A (zh) 由助理系统自动采集有趣时刻
CN118154114A (zh) 使用惯性测量单元信号检测头部姿势
CN117396837A (zh) 助理系统的多设备调解
CN117765940A (zh) 为助理系统呈现与语音命令相关联的注意状态
CN117396838A (zh) 助理系统的基于真实世界文本检测的任务执行
CN117377942A (zh) 助理系统的主动收听