語義富對象的動態用戶體驗的製作方法
2023-09-20 09:43:35
專利名稱:語義富對象的動態用戶體驗的製作方法
語義富對象的動態用戶體驗
北旦 冃牙、
用戶經常通過一系列基於表單的操作或者動作來與計算機應用程式交互以 訪問該應用程式的功能。例如,使用諸如滑鼠的輸入設備選擇在計算機顯示器上 的一圖標對象後,可向用戶展示一選項菜單。用戶於是可使用該應用程式的功能 選擇其中一個選項以與所選的圖標對象交互(例如,"複製"高亮的文本或者"發 送"所選擇的文本給一電子郵件接收者)。由此,這組菜單變成了對於該應用程 序的用戶體驗中的一個進入點。因為應用程式一般包括沒有顯示給用戶的其他功 能,目前可用的用戶接口設計不利地將用戶限制在僅僅是那些被顯示的選項上。 因此,用戶不能看見設計者/開發者沒有編碼或者顯示在當前用戶接口設計上的 表單。為了示出應用程式全部的或者大多數的功能,用戶接口設計者或者開發者 目前需要硬編碼這些功能。
例如,商業應用程式使用表單、導航、查詢接口以及其他特定用戶接口 (UI) 產物來創建所期望的用戶體驗。該ui產物的設計確定了使得用戶進入到應用程 序狀態和行為的進入點。然而,該ui產物的設計同時也限制了這些進入點。除
了示例之外,工作流應用程式通常在專用於特定任務實例的表單(例如,用於"批 準該命令"任務的表單)向用戶曝露任務。因此,用戶可能無法如他們所希望的 那樣多得了解一個特定的任務(例如,如果跳過這個任務會發生什麼?是不是還 存在和這個任務相關的其他沒有完成的任務?),這使得協作和共享信息變得復 雜。
一些現存的系統試圖通過提供一快捷鍵列表或者提示來允許用戶進一步與 應用程式交互而增強選項的標準或者默認菜單。然而,這些增強的選項通常在一 分開的列表上顯示並且僅僅是靜態地擴展了該默認選項,並且強迫用戶記憶更多 的非用戶友好快捷鍵。
目前可用的工作流應用程式在他們的專用任務m中提供有限的默認選項。 一些其他的為特定目的構造的系統的特定用途進程和ui通過定製代碼或者定製
5來提供對於應用程式的其他功能的訪問。在該工作流的示例中,附加信息可以是 用於專用任務UI的定製代碼,但是UI設計者並不可能預見到與該專用任務UI 相關的每一個可能的組合或者用戶可能希望探索的方向。因此,除了有時過度麻 煩之外,這些定製代碼或者定製通常不能覆蓋所有可能的功能,並且它們是靜態 的,因此定製只有特定的和有限的用途。
向用戶展現足夠的功能有部分的問題是出在設備上,比如具有小的表單因素 的行動裝置,無法支持傳統的"詳細的"表單(即,頭部和框架具有相對大量空 間及文本信息的表單)。例如,詳細的表單包括按鈕、導航條、子表隨著在父表 中的選擇同步移動的父-子表,等等。因此,難以同時向用戶通知他們正在進行 交互的信息的特徵以及該信息周圍的潛在的商業應用程式可用的行為。通過語音 命令來解決信息的能力變得越來越重要。
語音命令允許用戶處理比傳統的可視表單更大數量的可能性(即,句子)。 儘管音頻接口系統,例如語音識別系統提供基本功能組,但用戶並不需要知道哪 些功能對於他們是可用的。例如,在傳統的自動客戶服務系統中,用戶可通過一 組預先錄製的人類的語音來接收一組選項。用戶可被要求對著一電話聽筒說出他 或她需要訪問什麼類型的客戶服務。作為說明,假設用戶希望與客戶代表通話詢 問有關她的帳單。 一開始,用戶可由一自動語音系統提示而選擇她所呼叫的服務 區域"帳戶帳單"、"附加服務"、"技術支持"或者"其他"服務。在該實 例中,用戶可通過聲明所希望的服務而響應該語音提示。在這開始的選擇之後, 用戶會在她被引導向直接與真實的客戶代表通話之前接收到呈現給用戶的進一 步的或者後續的選項組。在許多的實例中,現存的音頻接口系統允許用戶通過說 出"代理"、"代表"或者"與代理通話"而繞過這些所呈現的選項並接到真實 的人工客戶服務。然而,儘管該音頻系統具有執行這個動作的能力,這個"隱藏" 的捷徑對於用戶來說通常不是明顯的。
概述
本發明的實施例通過數據源和應用程式使用元數據通過語義富對象(SR0s)
向用戶曝露可用的能力,從而克服了先前系統的缺陷。除了通過單個的SRO對於
一用戶可用的內容之外,元數據包括經由同樣的或者不同的應用程式和數據源所曝露的SR0的不同組合確定哪些是對於用戶可用的信息。可選的實施例還允許用
戶確定如何在組合中使用SR0。動作的曝露功能可被用戶以方便的方式結合或者 使用,以進一步地曝露應用程式的動作和功能。依照本發明的一方面,SR0中的 元數據可被提取並與來自另一個SRO的元數據結合以使得可以在不連續的、單個 的動作(例如,複製、粘貼等等)之外向用戶呈現符合語義規則的動作(例如, "和約翰共享該文件並在他的日程上將其放置在2005年7月1日上午10: 00)。
有利地,通過SRO中曝露的元數據,本發明的實施例無格式語句用無格式語 句向用戶提供應用程式的動作,以使得應用程式中的進程對於用戶來說是透明 的。本發明的實施例同樣曝露具有元數據的SRO實例,以使得應用程式可以確定 合適的和可用的動作,而不需要遵照標準或者靜態用戶接口 (UI)的配置。
換而言之換而言之,本發明的一些方面提供了對於下述問題的完整的解決方 案UI中關於確定和限制用戶完全訪問來自商業應用程式的可用的豐富的行為和 理解的能力的客戶邏輯。本發明的一些方面同樣通過增加由基本的應用程式和數 據源所投影出的行為的語義豐富程度來降低傳統基於表單UI設計中所需要的代 碼量。
或者,本發明可包括各種其他方法和裝置。
其他特徵將在下文中部分地變得明顯、部分地被指出。
本概述是用於以簡化的形式引入對概念的選擇,這些概念將在下面的詳細描 述中被進一步描述。本概述並非旨在標識所作權利要求的主題的關鍵特徵或者是 基本特徵,也不是旨在被用作確定所作權利要求的主題的範圍。
圖1是示出依照本發明的一實施例在利用語義富對象(SRO)的進程中提供 動態用戶體驗的系統的示例圖2是示出依照本發明的一實施例示出包括元數據的SRO的數據結構的示例
框圖3是示出依照本發明的一實施例由SRO的元數據表示的功能的示例框圖; 圖4是示出依照本發明的一實施例從SR0中提取元數據的動態用戶體驗的示 例框圖;圖5是示出依照本發明的一實施例在使用語義富對象(SR0)的進程中提供 動態用戶體驗的示例流程圖6A-6C是示出依照本發明的一實施例響應於來自用戶使用指點設備(例 如,滑鼠)的交互動作而提供可用動作組的框圖7是示出其中可實現本發明的適當的計算系統環境的示例的框附件A描述了依照本發明的一實施例的語音動作的示例。
在所有的附圖中,相應的附圖符號指示對應的部分。
詳細描述
首先參考圖l,框圖示出了依照本發明的一實施例在使用語義富對象(SR0) 的進程中提供動態用戶體驗的系統100。例如,系統100可以是諸如圖7中的計 算機130的計算系統、計算設備、計算機伺服器、多個計算機伺服器、或者其他 能夠執行計算機可執行指令、應用、應用程式軟體、應用程式112、計算機可執 行線程或者代碼的計算設備。在另一個實施例中,系統100包括在分布式系統中 的計算設備,在該分布式系統中,計算設備通過諸如內聯網、網際網路等的公共通 信網絡連接。
繼續參考圖1,系統100包括與接口 104相關聯的處理器102。處理器102 處理用戶106通過接口 104發送的指令或者命令,還執行計算機可執行指令、線 程、應用、應用程式等等。接口 104從用戶106接收交互手勢。例如,接口 104 可以是顯示器,比如圖7中所示的顯示器,而用戶106可以使用輸入設備,比如 滑鼠182或者鍵盤180來選擇顯示在顯示器上的一個或多個對象。在另一個實施 例中,接口 104可以是與語音識別系統耦合的音頻設備,以提供與用戶106之間 的交互音頻對話,以使得用戶106能夠以音頻的形式響應音頻提示。
系統100還包括的存儲器108,其可以是易失性的或者非易失性的,圖7中 系統存儲器134或者非易失性的存儲器接口 166,或者其他用於存儲數據的計算 機可讀介質,所述數據可以通過諸如內聯網、網際網路或其他類型的通信網絡的公 共通信網絡發送。
在一個實施例中,存儲器108存儲多個語義富對象(SRO) 110,該SRO包括 作為應用程式112中的動作和數據狀態的影射出投影的元數據。例如,應用程式
8112可包括動作、函數、操作等等以執行一任務或者處理一個事件,還可以保留 有關於該任務(例如,該任務是關於為某個客戶處理特定的訂單)的主題的數據
(見有關圖2的進一步討論)。作為說明, 一工作流管理應用程式處理工作流進
程,包括分配任務、委託任務等等。 一通信軟體可包括諸如促進兩方之間的通信 (例如,發送電子郵件、在各方之間共享文件等等)或者提供消息傳送服務的動 作。作為另一個說明, 一多媒體軟體可包括諸如組織媒體對象(例如,音頻文件、 靜態圖片文件、或者動態圖片文件)或者與另一人傳送媒體對象的動作。 目前, 一組靜態的基於表單的用戶接口向用戶呈現這些應用程式或者進程中
的動作。例如,許多已知的UI具有諸如"文件、編輯、工具或者幫助"的標準
的高層菜單選項組以供用戶選擇。這些高層菜單選項中的每一個進一步提供附加
的選項。進一步參考該示例,高層"文件"菜單選項可包括"打開、存儲、退出、 列印",或者其他的子選項。總的來說,用戶需要學習這些不同的離散的菜單選
項以熟悉應用程式112或者進程,或者與它們交互。該學習的體驗將和學習一門 新的語言類似;在與應用程式112交互之間先學習詞彙和語法或者邏輯規則(比
如,"打開"選項是"文件"而不是"編輯"的子菜單,等等)。
有利地,本發明的實施例使用元數據表示應用程式112或者進程中的動作,
以使得一組可用的或者合適的動作可以根據用戶的選擇而呈現給用戶,並且是以 無格式語句或者語義格式。在一個替換實施例中, 一組可用的或者合適的動作基
於應用程式112的環境或者執行環境而選擇性地提供或者呈現給用戶。再次參考 圖1, SR0是提供給用戶用於在一諸如系統100的執行環境中直接操作、檢查或 者共享的項目或者對象。或者,一SRO可通過諸如表單的媒介而提供給用戶,該 表單能夠限制或者豐富來自SR0的可用行為。在一個實施例中,SR0可特定於由 用戶106直接控制的環境或者執行環境。例如,計算機網絡系統的管理員可被呈 現一組完整的可用功能以管理該計算機網絡。另一方面,工作站用戶A可僅僅被 呈現一小組選項,因為工作站用戶A的角色是工作站用戶。
應該理解基於表單的UI設計可與SRO —起使用或者在SRO的頂部使用。例 如,UI開發者可以提供帶有對用戶的選項的表單,通過接收SRO中豐富的信息, UI的開發者不需要編碼表單中呈現的所有或者一些選項。或者,本發明的實施例 使用SRO來降低表單中的邏輯編碼量,這些邏輯編碼是以UI開發者通常提供用於向用戶呈現並使得功能對於用戶可用的形式的。
在一個替換實施例中,系統100存儲數據,該數據包括與執行進行或應用程
序112的性能歷史相關的數據、先前用戶與進程執行的交互以及存儲器108中的 進程執行模型,以使得系統100在從SR0 110中提取元數據時能夠向用戶106展 示一組習慣的或者常用的動作。
現在參考圖2,框圖是示出依照本發明的一實施例的包括元數據的數據結構 202。第一數據欄位204包括表示與一進程相關聯的動作的元數據。例如,第一 數據欄位204可包括與動作可用代碼206相關的元數據、與動作執行代碼208相 關的元數據、與手勢進程標識號(PIN) 210相關的元數據、與可擴展性方法212 相關的元數據、以及與對象模型214相關的元數據。
數據結構202還包括第二數據欄位216,包括表示的進程執行環境的元數據, 其中第一數據欄位與所述第二數據欄位相關以定義一組將在進程的執行環境中 執行的可用動作。例如,第二數據欄位216可包括與應用程式環境218相關的元 數據以及與周圍服務定義220相關的元數據。例如,周圍服務定義220包括與將 一交互手勢匹配到進程或者應用程式112的動作的實現的數據相關的元數據。例 如,假設應用程式112或者SRO的環境是用彙編程式語言執行的計算機可執行指 令的網絡應用服務。在該示例中,該周圍服務定義220可提供與給定的交互手勢 相關的元數據以及相應的將由該網絡應用服務執行的彙編語言。
在另一個實施例中,應用程式環境218還包括SRO試圖投影其動作影射出的 應用程式的環境或者執行環境相關的數據。例如,包括在應用程式環境218中的 數據可包括用戶名、用戶類型、用戶執行環境(諸如計算機標識號、作業系統版 本等等),或者有關用戶對於一個或多個選項的接入性的約束或者限制。
在一個實施例中,數據結構202還包括第三數據欄位222,其包括表示一組 語義規則的元數據,其中該語義規則定義一個或多個與第一數據欄位中的元數據 和第二數據欄位中的元數據相關聯的交互手勢。例如,第三數據欄位222可包括 與手勢圖224相關的元數據、與語音動作圖226相關的元數據、以及與一組環境 規則228相關的元數據。作為說明,用戶106可通過交互手勢與系統100中的SRO 交互,包括在計算機桌面上使用滑鼠選擇並拖動一個圖標、以音頻的方式響應一 音頻提示、或者其他方式(比如,在電話鍵盤或者鍵盤上按鍵)。這些交互手勢使得系統100可以將從所選擇的SR0中提取的元數據映射到一組對於用戶可用的動作以便與所述包括工作流的進程交互。
在一個實施例中, 一組語義規則基於與包括在應用程式環境218中的應用程式執行環境或者環境相關的元數據和數據進行解釋或者評價。例如,當將SR0被應用程式/進程/數據源中影射出時,其包括一些初始數據作為環境。UI環境(或者是包括在SR0內曝露SR0的UI,或者在SR0的頂部提供附加層,諸如表單)可以將數據聲明到環境中或者從中撤銷。比如, 一組語義規則可評價所述用戶名稱/類型數據並在應用語義規則組解釋用戶的交互手勢以從所選擇的SR0中提取對於用戶可用的一組動作之前在該UI中聲明這些數據。在另一個示例中, 一組語義規則可評價一動作並確定這樣的動作只能被使用一次。由此,UI不會將該動作提供給用戶。
當數據結構202包括具有圖示類型的元數據的數據欄位時,還可包括具有和應用程式112中的進程的執行或者進程的執行環境相關的信息的其他元數據類型或者數據而不脫離本發明的範圍。此外,當本發明的實施例使用元數據作為示例數據類型時,可使用其他數據配置或者組織而不脫離本發明的範圍,所述數據配置或者組織描述該數據被執行時所管理和/或執行的每一個元素,以使得不需要在執行之前重新編譯該數據。
為了進一步說明SR0,圖3是示出依照本發明的一實施例由SR0的元數據表示的功能的框圖。在所示實施例中,諸如聚集應用程式302、網絡服務應用程式304、任務流應用程式306、環境空間應用程式308和文檔應用程式310的進程包括一個或多個動作。此外,使用一個或多個SR0 312、 314、 316、 318和320以使得可曝露應用程式的各個方面和動作可。有利地,本發明的各個方面通過使用SR0曝露在各個應用程式中的功能。例如,任務流應用程式306可通過箭頭322向SR0 318發送一任務事件,其可通過用戶創建一任務來表示。當用戶在SR0318中創建所述任務事件並分配該任務給一個體以執行該任務後,SRO 318經由箭頭324產生一任務事件至SRO 320,該SRO 320於是經由箭頭326產生動作事件至SRO 312。由此,根據本發明,每一個SRO都是通用的,並且可響應於不同的事件或者動作由不同的和各個應用程式使用。
還是參考圖3,在圖3中示出的應用程式和SRO之間的箭頭表示SRO和應用
11程序之間的示例語義關係。例如,從網絡服務應用程式304至SR0 312的箭頭328可表示網絡服務應用程式304通過SR0 312曝露動作或者事件給用戶(例如,用戶106)。在另一個示例中,從SRO 318至SR0 320的箭頭可表示任務被分配給商店的區域經理。由此,通過SRO的類型來表示進程中的一個或多個動作,以曝露應用程式的進程的功能,系統100向用戶提供動態用戶體驗。
為了說明一個相對簡單的動態用戶體驗,圖4是示出依照本發明的一實施例從SRO中提取元數據的框圖。例如,如圖4所示,地圖類型SRO 402包括與位置相關的元數據。在所示示例中,地圖類型402表示西雅圖的地圖。還是參考圖4,天氣類型的SRO 404包括與時間相關的元數據。如所示的,天氣類型的SRO表示2005年6月3日上午10點西雅圖的天氣狀況是多雲,氣溫華氏67度。
當用戶106選擇或者獲取西雅圖著名的旅遊景點"Space Needle"的照片時,"Space Needle"的照片由照片類型SRO 406表示,其包括與照片質量、時間和位置相關的元數據。由此,通過使用元數據表示照片類型SRO 406以及通過從照片類型SRO 406、地圖類型SRO 402和天氣類型SR0 404中提取元數據,可用對話框或者窗口 408向用戶106呈現,其包括Space Needle相對於西雅圖的位置的地圖、Space Needle相對於西雅圖的位置全球定位衛星(GPS)位置、SpaceNeedle周邊的當前天氣狀況、和/或Space Needle周邊的天氣預報。在一個替換實施例中,通過對於SRO的使用使得用戶能夠對於Space Needle採取附加的動作,比如要求旅行細節或者購買Space Needle的地圖。
現在參考圖5,流程圖示出依照本發明的一實施例在使用語義富對象(SRO)的進程中提供動態用戶體驗的方法。具體而言,圖5示出了使用鍵盤的用戶交互手勢的示例。 一開始,在502,通知類型的SRO 506表示進程中的一個或多個動作,包括與動作以及該動作的執行環境相關聯的元數據。在504,接口104從用戶106接收用於選擇至少一個SR0以執行進程中所期望的動作的交互手勢。在所示出的示例中,用戶106根據通知類型的SR0 506通過鍵盤輸入文本"Jennifer'Finding Neverland"。用戶106所期望的動作是與Jennifer —起觀看"FindingNeverland"。在508,系統100響應於所接收的交互手勢從通知類型SRO 506中提取元數據以判定期望的動作是否在該進程的執行環境中可用。
在該判定中,處理器102首先在510定義一組語義規則以評價或者解釋所述交互手勢"Jennifer 'Finding Naverland '"。如上文所討論的,每一個SRO 攜帶有一些用於評價一組語義規則的數據(諸如在第二數據欄位216中的應用程 序環境218中的)。在一個示例中,應用程式環境218中的一些數據可由應用程 序影射出, 一些可由UI環境(例如,通過持有SRO的表單)聲明/撤銷。所定義 的語義規則可標識"Jennifer"指向角色類型SRO,而"Finding Neverland"指 向位置類型SR0。在確定了 "Finding Neverland"不是指向位置之後,所定義的 語義規則進一步標識"Finding Neverland"是對象的名字,比如文本、文件的 題目等等。由此,系統100可在存儲器108所存儲的可用文件中進行搜索,或者 從應用程式訪問數據以確定"Finding Neverland"的語義含義是文本或者是媒 體對象類型的SRO。系統100繼續在514使用語義規則解析"Jennifer"和"Finding Neverland",系統100在516提供一組可用的動作以執行所期望的動作。在一 個實施例中,SRO中包括代碼、線程、或者第一數據欄位204中的計算機可執行 指令,諸如動作可用代碼206、動作執行代碼208等等。例如,代碼可用於使得 動作被執行。在另一個實施例中,代碼可以是複雜的代碼,諸如,如果動作是由 網絡服務所提供,這種情況下動作執行代碼會需要知道如何與該網絡服務通信。
在該示例中,系統100確定Jennifer是用戶個人聯繫人列表(例如,地址 簿、電子郵件聯繫人列表、或者其他通信聯繫人列表)中的角色類型SRO的一個 實例,而"Finding Neverland"是電影的題目。由此,在518,系統100提供一 組可用動作,諸如"Jennifer的聯繫方式342-4-3-3323,從VideoRental商店 租借電影"Finding Neverland"或者"在劇院A購買Finding Neverland的電 影票,並且根據用戶的日程安排和劇院A的上映時間用戶在周六和周日的 4:00-10:00是有空的"。換而言之,用戶106不必要從用戶電話簿中選擇Jennifer 以查找她的電話,瀏覽網際網路以確定片名為"Finding Neverland"是可用的, 或者尋找劇院A的位置並且確定可用的上映時間,系統100向用戶106提供動態 的、具有語境的、有趣的用戶體驗。因此,用戶106並不被限制於由應用程式提 供的標準的或者甚至是定製編碼的動作。相反的,SRO使用元數據曝露應用程式 中的進程的功能和動作,並以簡單的無格式語言向用戶106提供動作。
在一個實施例中,包括語音動作(參考附件A的進一步詳細說明)的用戶的 交互手勢被映射到SRO的元數據,以使得系統100可響應於視覺和音頻的交互手
13勢的組合從所選擇的SRO中提取元數據以確定所期望的動作。
在另一個替換實施例中,用戶通過交互手勢產生一個或多個事件,比如滑鼠
點擊、滑鼠在顯示器上的移動等等。系統ioo從用戶處接收或者截獲事件,並按
照一組語義規則通過SRO的元數據將這些事件映射到曝露的動作。當元數據從系 統100中被提取時,響應於所述交互手勢, 一組可用動作被呈現給用戶。系統100 可選擇性地執行或者運行該可用動作。
圖6A至圖6C是進一步示出依照本發明的一實施例響應於來自用戶的通過指 點設備(例如,滑鼠)輸入的交互手勢而提供一組可用動作的框圖。在該示例中, 通過指點設備輸入的交互手勢包括
點擊激活事項;
將一個對象拖/放至另一個對象上以執行某些操作; 右擊以學習與某事件相關的更多或合獲得更多的選項; 對於組對象"拉框"或者對其整體執行共用操作;或者
通過非分級的隱喻查找一些內容,並且滾讀結果以及可能地導航到它們。
圖6A示出了用於向用戶106提供一組可用動作的顯示區域602和可操作空 間604。圖標或者事件對象606表示SRO。在該示例中,事件對象606表示"命 令123"。顯示區域602還包括搜索條目欄位608和610,當用戶按下"查找" 按鈕612時可執行査詢。
現在參考圖6B,用戶106使用指點設備首先選擇事件對象606,拖動事件對 象606 (虛構的事件對象614指示用戶106的拖拉移動),並將事件對象606放 置在可操作空間604內作為事件對象616。在一個實施例中,該拖-放交互手勢可 根據下述規則映射至SRO的元數據
規則l:〈主題、UI手勢、對象、環境、默認動作組〉
在該規則下,交互手勢(例如"拖/放")被綁定至執行環境(例如,可操 作空間604)中的主題SRO (例如,銷售報告)和對象SRO (例如,商業學院)。 或者,用戶106的該拖-放交互手勢可按照下述的規則映射至SRO的元數據 規則2〈主題、動作、語音動作〉
在該示例中,在主題SRO上可用的動作被映射至諸如請求、通知或者命令的 語音動作。在另一個替換實施例中,用戶106可使用諸如拖-放滑鼠動作的交互手勢來 將一 SRO與一個或多個其它的SRO相關聯以將一組可用的動作組合成包括一個 SRO和一個或多個其它SRO的動作或者行為語義句子。例如,用戶106可選擇SRO X,可能是響應於該用戶106的交互手勢,以使得由該元數據所曝露的動作或者 行為能被組合成為一個句子,例如"分配任務A給用戶B並在用戶B完成改任務 之後發送提醒給用戶B的直接主管。"
在圖6C中, 一組可用動作618在從用戶106接收到拖-放交互手勢之後被顯 示或者提供給用戶106。在該涉及工作流的示例中,該組可用的動作618包括"處 理歷史"(下拉的箭頭620指示當用戶106用該指點設備指示該下拉箭頭620或 者用戶106使用該指點設備選擇該下拉箭頭時可用的附加動作。在所顯示的"處 理歷史"中,當系統100從"命令123"中提取元數據時,向用戶106呈現一組 與"命令123"相關的信息以判定"處理歷史"中所包括的信息對於用戶106是 否可用。
例如,處理歷史顯示2005年3月4日由用戶l在西雅圖做出的對於"命令 123"的購買訂單的確認的信息。注意到用戶106沒有在圖6A中初始選擇諸如"顯 示互利歷史"或者"顯示購買訂單確認"的動作。相反的,用戶106僅僅拖-放 事件對象606至可操作空間604上,而系統100從表示"命令123"的事件對象 中提取元數據,以響應於這樣對可操作空間604的拖-放交互手勢向用戶106提 供一組可用的動作。由此,實施例有利地提供通用的SRO以增強用戶體驗,但是 並不要求用戶記住或者記憶基於表單的菜單上的快捷鍵或者選項。
在另一個實施例中,根據規則l,系統100在從源和目標SR0提取元數據後 提供一可用動作的列表。如果默認的動作組是可用的,系統100可根據性能歷史 在用戶的交互之前修改一先前的列表等等。或者,系統100可從主題和對象SR0 向用戶106呈現整個的可用動作列表。
在根據規則2的另一個實施例中,系統100根據一組語音動作翻譯可用動作。 在該示例中,假設有3個SR0: —個SRO表示"用戶1"、另一個SR0表示"用 戶2"(—個學院),第三個表示與"由商業單元過濾的西部區域的銷售數量") 相關的商業對象。在選擇了商業對象之後,用戶1在表示用戶2的SR0上拖動商 業類型SRO,並將該商業類型SR0放置在表示用戶2的SRO上。在接收到該種視覺交互手勢後,系統100從三個SRO中提取元數據並映射到用戶106可能提供的
諸如下述語音動作的音頻交互手勢
A. 與用戶2共享該商業對象;
B. 關於該商業對象進行通信,比如詢問用戶2關於該商業對象的有效性的問 題;或者
C. 使得用戶2成為該商業對象的管理員/擁有者(或者允許用戶2具有訪問 該商業對象的特定權利)。
在一個實施例中,用戶106還可以通過在搜索條目欄位608和610中輸入搜 索術語將該拖-放交互手勢與文本查詢相結合。例如,如果用戶106對於具體主 題/對象對的特定實例經常使用特定的語音動作,系統100能提議這些組合是在 該主題/對象對的所有實例上可用的新的語音動作。由此,與語音動作相關的元 數據可基於先前用戶的交互習慣或者歷史使用新的語音動作更新。因此,本發明 的實施例消除了對於為用戶設計一動作的定製代碼或者定製序列的需求。
在另一個替換實施例中,在用戶對進程的執行做出交互之前,該進程的執行 的性能歷史、以及進程執行模型可被表示為具有與該應用程式中的進程的動作相 關的SRO而展現。由此,諸如搜索的動作可對於先前用戶交互SRO可用,使得該 組可用動作對於用戶106是可管理、可査詢、可升級的。
圖7是形式為計算機130的通用計算設備的一個示例。在本發明的一實施例 中,諸如計算機130的計算機可用於其他在此處所示和描述的附圖中。計算機130 具有一個或多個處理單元132和系統存儲器134。在所示的實施例中,系統總線 136把包括系統存儲器134在內的各種系統組件耦合至處理單元132。總線136 表示多種類型總線結構的任一種的一種或多種,包括存儲器總線或存儲器控制 器、外圍設備總線、加速圖形接口及使用多種總線體系結構的任一種的處理器或 本地總線。通過示例但非限制,這種結構包括工業標準結構(ISA)總線、微通道 結構(MCA)總線、增強型ISA(EISA)總線、視頻電子標準聯盟(VESA)本地總線、及 外圍組件互連(PCI)總線(也稱為Mezzanine總線)。
計算機130 —般包括至少一些形式的計算機可讀介質。計算機可讀介質可以 是能由計算機130訪問的任何可用介質並包括易失性和非易失性的介質、可移動 和不可移動介質。通過示例但非限制,計算機可讀介質可以包括計算機存儲介質和通信介質。計算機存儲介質包括易失性和非易失性、可移動和不可移動介質, 它們以用於存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據這樣的信
息的任意方法或技術來實現。例如計算機存儲介質包括RAM、 R0M、 EEPR0M、快閃記憶體 或其它存儲技術、CD-R0M、數位化通用光碟(DVD)或其它光碟存儲器、磁帶盒、 磁帶、磁碟存儲器或其它磁性存儲設備、或用於存儲期望信息並能由計算機130 訪問的任意其它介質。通信介質通常具體化為諸如載波或其它傳輸機制的已調製 數據信號中的計算機可讀指令、數據結構、程序模塊或其它數據,並包括任一信 息傳送介質。介質介質本領域的技術人員對於已調數據信號是熟知的,意指以對 信號內信息進行編碼的方式設置或改變其一個或多個特徵的信號。通過示例但非 限制,通信介質包括諸如有線網絡或直接線連接這樣的有線介質、以及諸如聲音、 RF、紅外這樣的無線介質及其它無線介質。上述的任一組合應該也包含在計算機 可讀介質的範圍內。
系統存儲器134包括計算機存儲介質,其形式為易失性和/或非易失性存儲 器。在所示的實施例中,該系統存儲器134包括只讀存儲器(R0M)138和隨機存取 存儲器(RAM)140。基本輸入/輸出系統142 (BIOS)通常存儲在ROM 138內,它包含 例如啟動期間幫助在計算機130內的元件間傳輸信息的基本例程。RAM 140通常 包含處理單元132可以立即訪問和/或當前正在操作數據和/或程序模塊,。通過 示例但非限制,圖7說明了作業系統144、應用程式146、其它程序模塊148和 程序數據150。
計算機130還可以包括其它可移動/不可移動、易失性/非易失性計算機存儲 介質。僅作為示例,圖7示出了對不可移動、非易失性磁性介質進行讀寫的硬碟 驅動器154。圖7還圖示了對可移動、非易失性磁碟158進行讀寫的磁碟驅動器 156、以及對可移動、非易失性光碟162,如CD R0M或其它光學進行讀寫的光碟 驅動器160,介質。在示例性操作環境中可用的其它可移動/不可移動、易失性/ 非易失性計算存儲介質包括、但不限於磁帶盒、快閃記憶體卡、數字通用盤、數字視 頻磁帶、固態RAM、固態ROM等等。硬碟驅動器154、磁碟驅動器156和光碟驅 動器160 —般通過如接口 166這樣的不可移動存儲器接口與系統總線136相連。
上面討論並在圖7中示出的驅動器和它們的相關聯計算機存儲介質為計算 機130提供了計算機可讀指令、數據結構、程序模塊和其它數據的存儲。在圖7
17中,例如,示出硬碟驅動器154存儲作業系統170、應用程式172、其它程序模 塊174和程序數據176。注意到這些組件可與作業系統144、應用程式146、其它 程序模塊148和程序數據150相同,或者與它們不同。這裡為作業系統170、應 用程序172、其它程序模塊174和程序數據176給出不同標號以說明它們至少是 不同的副本。
用戶可以通過諸如鍵盤180和指點設備182 (例如滑鼠、跟蹤球或觸摸板) 這樣的輸入設備把命令和信息輸入到計算機110中。其它輸入設備(未示出)可以 包括麥克風、遊戲杆、遊戲墊、圓盤式衛星天線、掃描儀等等。這些和其它輸入 設備通常通過與系統總線136耦合的用戶輸入接口 184與處理單元132相連,但 也可以用其它接口和總線結構連接,如並行埠、遊戲埠或通用串行總線 (USB)。監視器188或其它類型的顯示設備也通過諸如視頻接口 190這樣的接口 與系統總線136相連。除了監視器188之外,計算機還可以包括其它外圍輸出設 備(未示出),如揚聲器和印表機,它們可以通過輸出外圍接口 (未示出)連接。
計算機130可以使用到一個或多個遠程計算機,如遠程計算機194的邏輯連 接在網絡化環境中操作。遠程計算機194可以是個人計算機、伺服器、路由器、 網絡PC、對等設備或其它公共網絡節點,並且通常包括許多或所有相對於計算機 130所描述的元件。圖7所述的邏輯連接包括區域網(LAN) 196和廣域網(WAN) 198, 但可以還包括其它網絡。LAN 136或者WAN 138可以是有線的網絡、無線網絡或 者它們的組合。這種聯網環境常見於辦公室、企業範圍計算機網絡、內聯網和全 球型計算機網絡(例如網際網路)。
當用於LAN聯網環境中時,計算機130通過網絡接口或適配器186與LAN 196 相連。當用於WAN聯網環境中時,計算機130通常包括數據機178或用於通 過WAN 198,如網際網路建立通信的其它裝置。數據機178可以是內置或外置 的,它可以通過用戶輸入接口 184或其它適當機制與系統總線136相連。在網絡 化環境中,關於計算機130所描述的程序模塊或其部分可以存儲在遠程存儲器存 儲設備中。通過示例但非限制,圖7示出了遠程應用程式192駐留在存儲器設備 上。可以理解,所示網絡連接是示例性的,也可以使用在計算機間建立通信鏈路 的其它手段。
通常,計算機130的數據處理器由不同時間存儲於該計算機的各個計算機可
18讀存儲介質中的指令進行編程。程序和作業系統一般是分開的,例如,在軟盤或
者CD-R0M上。從那裡,它們被安裝或者載入到計算機的輔助存儲器中。在執行 時,它們至少被部分地載入到計算機的主電子存儲器中。當這些介質包含用於實 現下面結合微處理器或者其他數據處理器而實現的步驟的指令或者程序時,此處 描述的發明包括這些以及其他各種類型的計算機可讀存儲介質。當計算機被按照 此處所描述的方法和技術進行編程時,本發明還包括計算機本身。
為了說明的目的,程序和其他可執行的程序組件,比如作業系統在此處被示 為分離的塊。然而,應該認識到這些程序和組件在各種時間駐留在計算機的不同 存儲器組件中,並且被計算機的數據處理器所執行。
儘管是結合包括計算機130的示例性計算系統環境進行描述,本發明可以用 多種其它通用或專用計算系統環境或配置來操作。該計算系統環境不是為了提出 任何對於本發明的使用或者功能的範圍的限制。此外,計算系統環境不應被解釋 為對與示例性操作環境中所述的組件的任一或組合有任何依賴或要求。可以適合
與本發明一起使用的公知計算系統、環境和/或配置的示例包括、但不限於個
人計算機、伺服器計算機、手持式或膝上設備、多處理器系統、基於微處理器的
系統、機頂盒、可編程消費者電子設備、網絡PC、小型計算機、大型計算機、包
括任一上述系統或設備的分布式計算環境等等。
本發明可以在諸如由計算機執行的程序模塊等計算機可執行指令的一般上 下文來描述。 一般而言,程序模塊包括例程、程序、對象、組件、數據結構等, 它們執行特定任務或實現特定的抽象數據類型。本發明還可以在分布式計算環境 中實踐,其中由通過通信網絡連接的遠程處理設備來執行任務。在分布式計算環
境中,程序模塊可以位於包括存儲器存儲設備的本地和遠程存儲介質中。
軟體體系結構環境中的接口包括軟體模塊、組件、代碼部分、或者計算機可 執行指令的其他序列。接口包括,例如第一模塊訪問第二模塊以代表第一模塊執 行計算任務。在一個示例中,第一和第二模塊包括,諸如由作業系統提供的應用
程序接口 (API)、組件對象模型(COM)接口 (例如,對於端對端應用程式通信)、 以及可擴展標記語言元數據交換格式(XMI)接口 (例如,用於在網絡服務之間 通信)。
接口可以是牢固耦合的同步實現,諸如在Java2平臺企業版(J2EE) 、 C0M、或者分布式COM (DC0M)示例中。或者或此外,接口還可以是鬆散耦合的異步實 現,諸如在網絡服務中(例如,使用簡單對象訪問協議)。 一般而言,接口包括
下列特徵的任一組合牢固耦合、鬆散耦合、同步以及異步。此外,該接口可符
合標準協議、專用協議或者標準協議和專用協議的任意組合。
此處描述的接口可以全部都是單個接口的部分、或者是被實現為獨立的接口 或者任何它們的組合。這些接口可被本地執行或者遠程執行以提供功能。此外, 接口可包比此處所圖示或者描述的更多或者更少的功能。
在操作中,計算機130執行諸如在圖4中所示出的計算機可執行指令。例如, 計算機130通過語義富對象(SR0)表示進程中的一個或多個動作以曝露該進程 的功能。每一個SRO包括與動作及其執行環境相關的元數據。計算機130還從用 戶接收交互手勢用於選擇至少一個SRO以執行該進程中期望的動作。計算機130 還從所選擇的SRO中提取元數據以判定該期望的動作是否在該進程的執行環境中 可用。此處所示或者描述的方法的執行順序或者性能並非必需如此,除非另有指 明。即,本發明的要素可以任何的順序執行,除非另有指明,並且該方法可包括 比此處揭示的更多或者更少的要素。例如,期望在另一要素之前、同時或者之後
執行或者履行特定的要求是在本發明的範圍之內。
當引入本發明或者其實施例的要素時,冠詞"一"、"一個"、、"該"、
"所述"是為了表示一個或多個要素。術語"包括"、"包含"和"具有"旨在 意為包括的,並且意味著還可以具有除了被列出的要素之外其他的要素。
根據以上內容,可以看出實現了本發明的若干個目的,並獲得了其他有利結 果。由於可對上述系統和方法進行各種改變而不脫離本發明的範圍,上述描述中 包含的以及在附圖中示出的所有事物被解釋為示例性而非限制性的。附件A
語音動作的示例.-
語音動作具有若干個特點和特徵。在形式上,它們包括揚聲器、收聽器以及
它們之間的通信動作。例如,J. L. Austin和John. R.Searle開發了一種相當嚴格 的技術詞彙來描述語音動作理論(SAT)-涉及語音動作的三個方面的區別(例如, Searle、 John. R. , Speech Acts—(語音動作,),語言哲學中的論文,劍橋劍橋 大學出版社1969):
A. 非語內表現行為動作(字面上的意思);
B. 語內表現行為動作(所執行的動作,例如請求);以及
C. 言語表達效果動作(通過表現所完成的,社會效果)。 使用語義規則和手勢代數學操作器,人A可點擊代表人B的SRO並且給出一
個更具有含義,但是是普通的語音動作的列表-
A. 請求人B做什麼事...;
B. 問人B問題;
C. 向人B承諾做什麼事...;
D. 通知人B什麼事...;或者
E. 與人B共享資源/對象。
權利要求
1.一種在進程內提供動態用戶體驗的計算機化的方法,所述計算機化的方法包括使用多個語義富對象(SRO)表示所述進程中的一個或多個動作以曝露所述進程的功能,所述多個SRO各自包括與一個動作相關聯的元數據和與所述動作的執行環境有關的數據;從用戶接收選擇所述多個SRO中的至少一個以在所述進程中執行期望的動作的交互手勢;以及響應於所接收的交互手勢從所選擇的SRO中提取所述元數據,以確定所期望的動作在所述進程的執行環境中是否可用。
2. 如權利要求1所述的計算機化的方法,其特徵在於,所述多個SRO中的 每一個還包括用於執行所述動作的代碼,並且其中提取所述元數據包括響應於所 接收的交互手勢執行所包括的代碼以確定所期望的動作在所述進程的執行環境 中是否可用。
3. 如權利要求1所述的計算機化的方法,還包括響應於所接收的交互手勢, 基於所提取的元數據提供一組可用的動作以供用戶與所述進程交互。
4. 如權利要求3所述的計算機化的方法,其特徵在於,提供一組可用的動 作包括下列至少之一在基於表單的用戶接口中顯示通過所述多個SRO曝露的 所述一組可用的動作,以及生成用於選擇性地顯示所述一組可用的動作以供用戶 與所述進程交互的用戶接口,並且其中所述進程包括下列中的一個或多個應用 程序、應用軟體、以及工作流處理應用程式。
5. 如權利要求1所述的計算機化的方法,還包括基於所提取的元數據和所 接收的交互手勢執行所期望的動作,並且還包括定義一組語義規則以解釋從用戶 接收的交互手勢。
6. 如權利要求1所述的計算機化的方法,還包括響應於來自用戶的詢問提 供多個SRO,並且還包括將所提取的元數據與下列中的一個或多個相關所述進 程的執行的性能歷史、先前用戶與所述進程的執行的交互、以及進程執行模型。
7. 如權利要求1所述的計算機化的方法,還包括將所述交互手勢映射到所述多個SRO中的每一個的元數據,並且還包括將所選擇的SRO的所提取的元數 據與一個或多個其它SRO的元數據相關聯以將一組可用的動作組合成包括由所 選擇的SRO和所述一個或多個其它SRO所表示的動作的語義句子。
8. 如權利要求1所述的計算機化的方法,其特徵在於, 一個或多個計算機 可讀介質包括用於執行如權利要求1所述的計算機化的方法的計算機可執行指 令。
9. 一種用於主動生成行為以供用戶與一進程交互的系統,該系統包括 存儲器,用於存儲一個或多個語義富對象(SRO),所述SRO中的每一個包括對應於一行為和其執行環境的元數據,所述SRO中的每一個還包括與所述 行為的執行相關的數據;接口,用於從用戶接收對於一個或多個SRO的選擇;處理器,用於執行通過將從所述接口接收的選擇與所選擇的SRO中存儲的 元數據相關聯而生成對用戶可用的一組行為的計算機可執行指令;以及其中所述接口向用戶提供所生成的一組行為以供在所述執行環境中與所述進程交互。
10. 如權利要求9所述的系統,還包括具有用於從用戶接收對於所述一個或 多個SRO的選擇的用戶選擇設備的用戶接口。
11. 如權利要求9所述的系統,其特徵在於,所述處理器被進一步配置成將 從所述接口接收的選擇映射到所述SRO中的每一個的存儲的元數據。
12. 如權利要求11所述的系統,還包括將一組語音動作映射至所述SRO中 的每一個的存儲的元數據的資料庫。
13. 如權利要求9所述的系統,其特徵在於,所述接口從用戶接收對於要與 一個或多個其它SRO相關聯的一個SRO的選擇,並且其中所述處理器被配置成 基於所接收的選擇和所述一個SRO以及所述一個或多個其它SRO中的存儲的元 數據生成一組對用戶可用的將所述一個SRO與所述一個或多個其它SRO相關聯 的行為。
14. 如權利要求9所述的系統,其特徵在於,所述處理器進一步被配置成執 行所存儲的與所述行為的執行相關的數據,以基於所存儲的元數據和從所述接口 接收的選擇生成所述一組行為。
15. 如權利要求9所述的系統,其特徵在於,所述接口被配置成響應於來自用戶的查詢提供一個或多個SRO,基於所述進 程的執行環境選擇性地提供所生成的所述SRO的一組行為,並通過基於表單的 用戶接口從用戶接收對於一個或多個SRO的選擇,以及所述處理器進一步配置成將所存儲的元數據與下列中的一個或多個相關所 述進程的執行的性能歷史、先前用戶與所述進程的執行的交互、以及進程執行模 型。
16. 如權利要求9所述的系統,其特徵在於,所述處理器被進一步配置成定 義一組語義規則來解釋通過所述接口從用戶接收的選擇,並且其中所述處理器通 過基於所定義的一組語義規則來確定所述一組期望的行為在所述進程的執行環 境中是否可用來生成所述一組可用的行為。
17. —種其上存儲有語義富對象的數據結構的計算機可讀介質,所述計算機 可讀介質包括第一數據欄位,包括表示一個或多個與一進程相關聯的動作的元數據;以及 第二數據欄位,包括表示所述進程的執行環境的元數據,所述第一數據欄位與所述第二數據欄位相關聯以定義一組將在所述進程的執行環境中被執行的可用動作。
18. 如權利要求17所述的計算機可讀介質,還包括第三數據欄位,所述第 三數據欄位包括表示一組語義規則的元數據,所述語義規則定義一個或多個與所 述第一數據欄位中的元數據以及所述第二數據欄位中的元數據相關聯的交互手 勢。
19. 如權利要求18所述的計算機可讀介質,其特徵在於,所述第三數據字 段中的元數據包括表示一組交互手勢和一組語音動作的元數據,所述一組交互手 勢和所述一組語音動作被映射到所述第一數據欄位中的元數據以及所述第二數 據欄位中的元數據。
20. 如權利要求17所述的計算機可讀介質,還包括一個或多個數據欄位, 所述一個或多個數據欄位包括與下列中的一個或多個相關聯的元數據 一組進程 周圍服務定義、交互手勢號、進程可擴展性方法、進程對象模型、進程的執行的 性能歷史、先前用戶與進程的執行的交互、行為的執行、以及進程執行模型。
全文摘要
用於動態用戶體驗的語義富對象。進程中的一個或多個動作由語義富對象(SRO)表示,以曝露該進程的功能。每一個SRO包括與一動作以及其執行環境相關聯的元數據。響應於來自用戶的用於選擇至少一個SRO的交互手勢,在該進程中執行期望的動作,從所選擇的SRO中提取元數據以判定所期望的動作在該進程的執行環境中是否可用。
文檔編號G06F9/45GK101495965SQ200680019621
公開日2009年7月29日 申請日期2006年5月16日 優先權日2005年6月28日
發明者A·斯託賈維奇, V·米塔爾 申請人:微軟公司