TW202240461A - 使用輔助系統的語音和手勢輸入之文字編輯 - Google Patents
使用輔助系統的語音和手勢輸入之文字編輯 Download PDFInfo
- Publication number
- TW202240461A TW202240461A TW111105810A TW111105810A TW202240461A TW 202240461 A TW202240461 A TW 202240461A TW 111105810 A TW111105810 A TW 111105810A TW 111105810 A TW111105810 A TW 111105810A TW 202240461 A TW202240461 A TW 202240461A
- Authority
- TW
- Taiwan
- Prior art keywords
- user
- text message
- message
- certain embodiments
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 114
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 62
- 230000009471 action Effects 0.000 description 121
- 230000006855 networking Effects 0.000 description 95
- 230000008859 change Effects 0.000 description 83
- 239000003795 chemical substances by application Substances 0.000 description 62
- 230000004044 response Effects 0.000 description 46
- 230000008569 process Effects 0.000 description 43
- 238000004891 communication Methods 0.000 description 37
- 238000012545 processing Methods 0.000 description 35
- 230000003993 interaction Effects 0.000 description 34
- 238000012790 confirmation Methods 0.000 description 28
- 230000000875 corresponding effect Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 27
- 230000000007 visual effect Effects 0.000 description 27
- 230000008901 benefit Effects 0.000 description 23
- 235000011888 snacks Nutrition 0.000 description 16
- 239000004984 smart glass Substances 0.000 description 15
- 238000013518 transcription Methods 0.000 description 14
- 230000035897 transcription Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 12
- 230000033001 locomotion Effects 0.000 description 12
- 230000001755 vocal effect Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000013475 authorization Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 239000003550 marker Substances 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000001073 episodic memory Effects 0.000 description 4
- 235000021022 fresh fruits Nutrition 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000000116 mitigating effect Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 239000010813 municipal solid waste Substances 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- HCHKCACWOHOZIP-UHFFFAOYSA-N Zinc Chemical compound [Zn] HCHKCACWOHOZIP-UHFFFAOYSA-N 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000004941 influx Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000013550 pizza Nutrition 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0236—Character input methods using selection techniques to select from displayed items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Economics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Acoustics & Sound (AREA)
- Game Theory and Decision Science (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
在一實施例中,一種方法包括:經由一用戶端系統之一使用者介面基於在該用戶端系統處接收到之一使用者發音來呈現包含n元語法之一文字訊息;在該用戶端系統處接收編輯該文字訊息的一第一使用者請求;經由該使用者介面呈現在視覺上劃分成區塊之該文字訊息,其中每一區塊包含該文字訊息之該些n元語法中之一或多者,且每一區塊中之該些n元語法相對於彼此為連續的,且基於藉由一自然語言理解(NLU)模組對該文字訊息之一分析而將每一區塊中之該些n元語法分組於該區塊內;在該用戶端系統處接收編輯該些區塊中之一或多者的一第二使用者請求;及經由該使用者介面呈現基於該第二使用者請求所產生之一經編輯文字訊息。
Description
本發明大體而言係關於網路環境內之資料庫及檔案管理,且特定而言係關於用於智慧型輔助系統之硬體及軟體。
本申請案根據35 U.S.C. § 119(e)主張2021年3月3日申請之美國臨時專利申請案第63/156209號的權益,該專利申請案以引用之方式併入本文中
輔助系統可基於使用者輸入、位置感知及從多種線上來源(諸如天氣條件、交通堵塞、新聞、股票價格、使用者排程、零售價格等)存取資訊之能力的組合而代表使用者提供資訊或服務。使用者輸入可包括文字(例如,線上聊天)(尤其在即時訊息傳遞應用程式或其他應用程式中)、語音、影像、運動或其組合。輔助系統可進行禮賓型(concierge-type)服務(例如,進行晚餐預約、購買事件票證、進行旅行安排)或基於使用者輸入來提供資訊。輔助系統亦可在無使用者起始或互動之情況下基於線上資訊及事件進行管理或資料處置任務。可由輔助系統進行之任務之實例可包括排程管理(例如,將使用者因交通條件而遲到之提醒發送給晚餐約會、更新兩方之排程及改變餐館預約時間)。輔助系統可藉由計算裝置、應用程式設計介面(application programming interface;API)及使用者裝置上之應用程式之增殖的組合來啟用。
可包括社交網路連接網站之社交網路連接系統可使其使用者(諸如個人或組織)能夠與其互動且經由其彼此互動。社交網路連接系統可使用來自使用者之輸入在社交網路連接系統中創建及儲存與使用者相關聯之使用者設定檔。使用者設定檔可包括人口統計資訊、通信通道資訊及關於使用者個人興趣的資訊。社交網路連接系統亦可使用來自使用者之輸入創建及儲存使用者與社交網路連接系統之其他使用者的關係之記錄,以及提供服務(例如,設定檔/新聞饋送貼文、相片共享、事件組織、訊息傳遞、遊戲或廣告)以促進使用者之間或當中的社交互動。
社交網路連接系統可經由一或多個網路將與其服務相關之內容或訊息發送至使用者之行動或另一計算裝置。使用者亦可在該使用者之行動或另一計算裝置上安裝軟體應用程式,以用於存取使用者之使用者設定檔及社交網路連接系統內之其他資料。社交網路連接系統可產生內容對象之個人化集合以顯示給使用者,諸如連接至該使用者之其他使用者之聚合故事之新聞饋送。
在特定實施例中,輔助系統可輔助使用者獲得資訊或服務。輔助系統可使得使用者能夠經由各種模態(例如,音訊、語音、文字、影像、視訊、手勢、運動、位置、定向)之使用者輸入在狀態及多輪次(multi-turn)交談中與輔助系統互動,以接收來自輔助系統之輔助。作為一實例而非作為限制,輔助系統可支援單模態輸入(例如,僅語音輸入)、多模態輸入(例如,語音輸入及文字輸入)、混合/多模態輸入或其任何組合。由使用者提供之使用者輸入可與特定輔助相關任務相關聯,且可包括例如使用者請求(例如,對動作之資訊或進行的口頭請求)、與輔助應用程式(其與輔助系統相關聯)之使用者互動(例如,經由觸控或手勢選擇UI元素),或可由輔助系統偵測到及理解的任何其他類型之合適之使用者輸入(例如,由使用者之用戶端裝置偵測到之使用者移動)。輔助系統可創建及儲存包含與使用者相關聯之個人及情境資訊兩者的使用者設定檔。在特定實施例中,輔助系統可使用自然語言理解(natural-language understanding;NLU)分析使用者輸入。分析可係基於使用者之使用者設定檔以用於更個人化及情境感知之理解。輔助系統可基於分析來解析與使用者輸入相關聯之實體。在特定實施例中,輔助系統可與不同代理程式互動以獲得與經解析實體相關聯之資訊或服務。輔助系統可藉由使用自然語言產生(natural-language generation;NLG)來產生關於資訊或服務之對使用者的回應。經由與使用者之互動,輔助系統可使用對話管理技術來管理及推進與使用者之交談流程。在特定實施例中,輔助系統可藉由彙總資訊進一步輔助使用者有效且高效地分解所獲得之資訊。輔助系統亦可藉由提供幫助使用者與線上社交網路互動(例如,創建貼文、評論、訊息)之工具來輔助使用者更多地參與線上社交網路。輔助系統可另外輔助使用者管理不同任務,諸如追蹤事件。在特定實施例中,輔助系統可在無使用者輸入之情況下在與使用者相關之時間處基於使用者設定檔主動地執行與使用者興趣及偏好相關之任務。在特定實施例中,輔助系統可檢查隱私設定以確保存取使用者之設定檔或其他使用者資訊且執行不同任務經准許服從使用者之隱私設定。
在特定實施例中,輔助系統可經由在用戶端側程序及伺服器側程序兩者上建立之混合架構來輔助使用者。用戶端側程序及伺服器側程序可為用於處理使用者輸入且向使用者提供輔助之兩個並行工作流程。在特定實施例中,用戶端側程序可在與使用者相關聯之用戶端系統上本端地進行。相比之下,伺服器側程序可在一或多個計算系統上遠端地進行。在特定實施例中,用戶端系統上之仲裁器可協調接收使用者輸入(例如,音訊信號)、判定是使用用戶端側程序、伺服器側程序抑或兩者、對使用者輸入作出回應,及分析來自每一程序之處理結果。仲裁器可基於前述分析指示用戶端側或伺服器側上之代理程式執行與使用者輸入相關聯之任務。執行結果可進一步顯現為至用戶端系統之輸出。藉由充分利用用戶端側及伺服器側程序兩者,輔助系統可以計算資源之最佳使用率有效地輔助使用者,同時保護使用者隱私且增強安全性。
在特定實施例中,當滑鼠或其他精細指針不可用於選擇用戶端系統之文字的字或區段時,輔助系統可使得使用者能夠使用語音及手勢來編輯訊息。在替代實施例中,輔助系統亦可使得使用者能夠結合普通指針輸入使用語音及手勢編輯訊息。輔助系統可向使用者提供若干功能以編輯訊息。第一功能可為快速清除編輯,其中使用者可滑移以在輸入初始訊息之後發送訊息之前清除整個訊息。輔助系統可接著提示使用者輸入新訊息,而無需使用者再次說出喚醒字。第二功能可為二步驟語音編輯。在二步驟語音編輯之情況下,使用者可輸入初始訊息,諸如「告訴Kevin我會在10分鐘內到那裏」,且接著想要藉由說出「我想改變它」來改變該訊息。輔助系統可接著提示使用者說出其想要改變之內容。舉例而言,使用者可說出「改變時間」或「將時間改變為20分鐘」。輔助系統可接著尋找在初始訊息中對「時間」之參考且將其改變為「20分鐘」。在一步驟語音編輯之情況下,使用者可直接說出「將時間改變為20分鐘」,而不告訴輔助系統他/她想要編輯訊息,輔助系統可針對該訊息自動識別改變之內容。類似地,在二步驟語音編輯之情況下,使用者可說出「改變時間」,且輔助系統可回應「改變什麼?」,且使用者可說出「將它改變為20分鐘」或「將10分鐘改變為20分鐘」。輔助系統可進一步使用n元語法(n-gram)或區塊編輯以使得使用者能夠藉由將用戶端系統之顯示器中的訊息之組塊之編輯分成語音/手勢可存取區塊來編輯訊息。輔助系統可將使用者之口述智慧地打斷成共同片語(「n元語法」)及/或區塊,此可允許經由語音或手勢更容易地選擇。舉例而言,若使用者說出「在20分鐘內到那裏」但想要改變該訊息,則輔助系統可將訊息打斷成兩個n元語法區塊[到那裏]及[在20分鐘內]。使用者可接著使用手勢選擇[在20分鐘內]且說出「在30分鐘內」以改變該訊息,同時在此程序期間,用戶端系統之麥克風可繼續收聽使用者。作為n元語法或區塊編輯之替代方案,在接收到使用者之改變該訊息的請求後,輔助系統即可在使用者之口述中之字上安置一數字序列。因此,使用者可容易地參考個別字以改變該些字。結合如前述之編輯方法,輔助系統可使用凝視作為額外信號以判定使用者想要輸入文字之時間及/或對經輸入文字進行編輯。因此,輔助系統可具有改良使用者在編輯經口述文字時之體驗的技術優勢,此係由於輔助系統可提供使得使用者能夠方便地編輯文字的多種功能。儘管本發明描述藉由特定系統以特定方式編輯特定訊息,但本發明涵蓋藉由任何合適之系統以任何合適之方式編輯任何合適之訊息。
在特定實施例中,用戶端系統可經由該用戶端系統之使用者介面基於在該用戶端系統處接收到之使用者發音呈現文字訊息。文字訊息可包含複數個n元語法。用戶端系統可接著在該用戶端系統處接收編輯文字訊息的第一使用者請求。在特定實施例中,用戶端系統可經由使用者介面呈現在視覺上劃分成複數個區塊之文字訊息。每一區塊可包含文字訊息之n元語法中之一或多者。在特定實施例中,每一區塊中之n元語法可相對於彼此為連續的,且基於藉由自然語言理解(NLU)模組對文字訊息之分析而分組於區塊內。用戶端系統可接著在該用戶端系統處接收編輯複數個區塊中之一或多者的第二使用者請求。在特定實施例中,用戶端系統可進一步經由使用者介面呈現經編輯文字訊息。可基於第二使用者請求產生經編輯文字訊息。
針對高效文字編輯存在某些技術挑戰。一個技術挑戰可包括高效且準確地定位使用者想要編輯之文字片段。由本文中所揭示之實施例呈現之用以解決此挑戰的解決方案可使用語音輸入、手勢輸入、凝視輸入及區塊之視覺指示符的組合,此係由於這些不同輸入可彼此互補以改良判定使用者想要編輯哪一文字片段的準確度,而視覺指示符可幫助使用者使用不同輸入容易地瞄準此文字片段。另一技術挑戰可包括區分使用者與輔助系統之語音互動及與另一個人之語音互動。由本文中所揭示之實施例呈現之用以解決此挑戰的解決方案可利用使用者之凝視輸入,此係由於當使用者在說話且凝視輔助系統(例如,使用者介面)時,更可能的係使用者之語音輸入係針對輔助系統。另一技術挑戰可包括對使用者之語音輸入中的文字片段之歧義參考進行歧義消除。由本文中所揭示之實施例呈現之用以解決此挑戰的解決方案可使用用於歧義消除之語音相似度模型,此係由於此模型可判定由使用者輸入之經辨識文字的可信度得分,其可進一步用於判定使用者想要改變哪一文字片段(例如,具有低可信度得分)。
本文中所揭示之某些實施例可提供一或多個技術優勢。實施例之技術優勢可包括改良使用者在編輯經口述文字時之體驗,此係由於輔助系統可提供使得使用者能夠方便地編輯文字的多種功能。鑒於本發明之圖式、描述及申請專利範圍,一或多個其他技術優勢對於所屬技術領域中具有通常知識者可為顯而易見的。
本文中所揭示之實施例僅為實例,且本發明之範圍不限於該些實例。特定實施例可包括本文中所揭示之實施例的組件、元件、特徵、功能、操作或步驟中之所有、一些或無一者。根據本發明之實施例尤其在針對一種方法、儲存媒體、系統及電腦程式產品之所附申請專利範圍中揭示,其中在一個技術方案類別中提及之任何特徵,例如方法,亦可在另一技術方案類別(例如,系統)中主張。出於僅形式原因而選擇所附申請專利範圍中的依賴性或反向參考。然而,亦可主張由對任何前述技術方案之反向故意參考(尤其多個依賴性)產生的任何主題,以使得技術方案及其特徵之任何組合經揭示且可無關於在所附申請專利範圍中選擇的依賴性而主張。可主張的主題不僅包含如所附申請專利範圍中陳述的特徵之組合且亦包含技術方案中特徵之任何其他組合,其中技術方案中所提及的每一特徵可與任何其他特徵或技術方案中之其他特徵之組合組合。此外,本文中描述或描繪的實施例及特徵中之任一者可在獨立技術方案中及/或在與本文中描述或描繪的任何實施例或特徵或與所附申請專利範圍之特徵中之任一者的任何組合中主張。
系統概述
圖 1說明與輔助系統相關聯之實例網路環境100。網路環境100包括藉由網路110彼此連接之用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170。儘管圖1說明用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110之特定配置,但本發明涵蓋用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110之任何合適之配置。作為一實例而非作為限制,用戶端系統130、社交網路連接系統160、輔助系統140及第三方系統170中之兩者或更多者可繞過網路110彼此直接連接。作為另一實例,用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170中之兩者或更多者可整體或部分地彼此實體或邏輯共定位。此外,儘管圖1說明特定數目個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110,但本發明涵蓋任何合適數目個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110。作為一實例而非作為限制,網路環境100可包括多個用戶端系統130、輔助系統140、社交網路連接系統160、第三方系統170及網路110。
本發明涵蓋任何合適之網路110。作為一實例而非作為限制,網路110之一或多個部分可包括特用網路、企業內部網路、企業間網路、虛擬專用網路(virtual private network;VPN)、區域網路(local area network;LAN)、無線LAN(wireless LAN;WLAN)、廣域網路(wide area network;WAN)、無線WAN(wireless WAN;WWAN)、都會區域網路(metropolitan area network;MAN)、網際網路之一部分、公開交換電話網路(Public Switched Telephone Network;PSTN)之一部分、基於蜂巢式技術之網路、基於衛星通信技術之網路、另一網路110,或兩個或更多個此類網路110之組合。
鏈路150可將用戶端系統130、輔助系統140、社交網路連接系統160及第三方系統170連接至通信網路110或彼此連接。本發明涵蓋任何合適之鏈路150。在特定實施例中,一或多個鏈路150包括一或多個有線(諸如數位用戶線(Digital Subscriber Line;DSL)或有線資料服務介面規格(Data Over Cable Service Interface Specification;DOCSIS))、無線(諸如Wi-Fi或微波存取全球互通(Worldwide Interoperability for Microwave Access;WiMAX))或光學(諸如同步光網路(Synchronous Optical Network;SONET)或同步數位階層(Synchronous Digital Hierarchy;SDH))鏈路。在特定實施例中,一或多個鏈路150各自包括特用網路、企業內部網路、企業間網路、VPN、LAN、WLAN、WAN、WWAN、MAN、網際網路之一部分、PSTN之一部分、基於蜂巢式技術之網路、基於衛星通信技術之網路、另一鏈路150,或兩個或更多個此類鏈路150之組合。在整個網路環境100中,鏈路150不必為相同的。一或多個第一鏈路150可在一或多個方面不同於一或多個第二鏈路150。
在特定實施例中,用戶端系統130可為任何合適之電子裝置,其包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,且能夠實行由用戶端系統130實施或支援之功能性。作為一實例而非作為限制,用戶端系統130可包括電腦系統,諸如桌上型電腦、筆記型電腦或膝上型電腦、迷你筆記型電腦、平板電腦、電子書讀取器、GPS裝置、攝影機、個人數位助理(personal digital assistant;PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、智慧型揚聲器、智慧型手錶、智慧型眼鏡、擴增實境(augmented-reality;AR)智慧型眼鏡、虛擬實境(virtual reality;VR)頭戴裝置、其他合適之電子裝置,或其任何合適之組合。在特定實施例中,用戶端系統130可為智慧型輔助裝置。關於智慧型輔助裝置之更多資訊可見於2018年4月9日申請之美國專利申請案第15/949011號、2018年10月5日申請之美國專利申請案第16/153574號、2018年1月3日申請之美國設計專利申請案第29/631910號、2018年1月2日申請之美國設計專利申請案第29/631747號、2018年1月3日申請之美國設計專利申請案第29/631913號及2018年1月3日申請之美國設計專利申請案第29/631914號,該些申請案中之每一者以引用之方式併入。本發明涵蓋任何合適之用戶端系統130。在特定實施例中,用戶端系統130可使得用戶端系統130處之網路使用者能夠存取網路110。用戶端系統130亦可使得使用者能夠與其他用戶端系統130處之其他使用者通信。
在特定實施例中,用戶端系統130可包括網頁瀏覽器132,且可具有一或多個附加元件(add-on)、外掛程式或其他擴展。用戶端系統130處之使用者可輸入統一資源定位符(Uniform Resource Locator;URL)或將網頁瀏覽器132引導至特定伺服器(諸如伺服器162或與第三方系統170相關聯之伺服器)之其他位址,且網頁瀏覽器132可產生超文字傳送協定(Hyper Text Transfer Protocol;HTTP)請求且將HTTP請求傳達至伺服器。伺服器可接受HTTP請求且回應於該HTTP請求而將一或多個超文字標示語言(Hyper Text Markup Language;HTML)檔案傳達至用戶端系統130。用戶端系統130可基於來自伺服器之HTML檔案來顯現網頁介面(例如,網頁)以用於呈現給使用者。本發明涵蓋任何合適之源檔案。作為一實例而非作為限制,根據特定需求,網頁介面可自HTML檔案、可延伸超文字標示語言(Extensible Hyper Text Markup Language;XHTML)檔案或可延伸標示語言(Extensible Markup Language;XML)檔案顯現。此類介面亦可執行指令碼、標示語言與指令碼之組合,及其類似者。在本文中,在適當之情況下,對網頁介面之參考涵蓋一或多個對應源檔案(瀏覽器可使用該些源檔案來顯現網頁介面)且反之亦然。
在特定實施例中,用戶端系統130可包括安裝於用戶端系統130上之社交網路連接應用程式134。用戶端系統130處之使用者可使用社交網路連接應用程式134在線上社交網路上進行存取。用戶端系統130處之使用者可使用社交網路連接應用程式134來與使用者之社交連接(例如,朋友、追隨者、追隨帳戶、連絡人等)通信。用戶端系統130處之使用者亦可使用社交網路連接應用程式134來與線上社交網路上之複數個內容對象(例如,貼文、新聞文章、臨時內容等)互動。作為一實例而非作為限制,使用者可使用社交網路連接應用程式134瀏覽熱門話題及突發新聞。
在特定實施例中,用戶端系統130可包括輔助應用程式136。用戶端系統130處之使用者可使用輔助應用程式136來與輔助系統140互動。在特定實施例中,輔助應用程式136可包括輔助xbot功能性作為與用戶端系統130之使用者互動之前端介面,包括接收使用者輸入及呈現輸出。在特定實施例中,輔助應用程式136可包含單獨應用程式。在特定實施例中,輔助應用程式136可整合至社交網路連接應用程式134或另一合適之應用程式(例如,訊息傳遞應用程式)中。在特定實施例中,輔助應用程式136亦可整合至用戶端系統130、輔助硬體裝置或任何其他合適之硬體裝置中。在特定實施例中,輔助應用程式136亦可為輔助系統140之部分。在特定實施例中,輔助應用程式136可經由網頁瀏覽器132來存取。在特定實施例中,使用者可藉由經由各種模態(例如,音訊、語音、文字、視覺、影像、視訊、手勢、運動、活動、位置、定向)將使用者輸入提供至輔助應用程式136而與輔助系統140互動。輔助應用程式136可將使用者輸入傳達至輔助系統140(例如,經由輔助xbot)。基於使用者輸入,輔助系統140可產生回應。輔助系統140可將所產生之回應發送至輔助應用程式136。輔助應用程式136可接著經由各種模態(例如,音訊、文字、影像及視訊)向用戶端系統130處之使用者呈現回應。作為一實例而非作為限制,使用者可藉由經由用戶端系統130之麥克風將使用者輸入(例如,對關於附近車輛交通之當前狀態之資訊的口頭請求)提供至輔助xbot而與輔助系統140互動。輔助應用程式136可接著經由網路110將使用者輸入傳達至輔助系統140。輔助系統140可相應地分析使用者輸入,基於對使用者輸入之分析產生回應(例如,自第三方來源獲得之車輛交通資訊),且將所產生之回應傳達回至輔助應用程式136。輔助應用程式136可接著以任何合適之方式(例如,在用戶端系統130之顯示器上顯示基於文字之推播通知及/或說明附近車輛交通之本地地圖的影像)向使用者呈現所產生之回應。
在特定實施例中,用戶端系統130可實施喚醒字偵測技術以允許使用者使用與輔助系統140相關聯之一或多個喚醒字方便地啟動輔助系統140。作為一實例而非作為限制,用戶端系統130上之系統音訊API可持續監視包含在用戶端系統130處接收到之音訊資料(例如,語音資料之訊框)的使用者輸入。在此實例中,與輔助系統140相關聯之喚醒字可為語音片語「嗨,助理」。在此實例中,當用戶端系統130上之系統音訊API在經監視音訊資料中偵測到語音片語「嗨,助理」時,可啟動輔助系統140以用於與使用者之後續互動。在替代實施例中,類似偵測技術可經實施以使用與輔助系統140相關聯之特定非音訊使用者輸入啟動輔助系統140。舉例而言,非音訊使用者輸入可為藉由用戶端系統130之低功率感測器(例如,攝影機)偵測到之特定視覺信號。作為一實例而非作為限制,視覺信號可為靜態影像(例如,條碼、QR碼、通用產品碼(universal product code;UPC))、使用者之方位(例如,使用者朝向用戶端系統130之凝視)、使用者運動(例如,使用者指向一對象處),或任何其他合適之視覺信號。
在特定實施例中,用戶端系統130可包括顯現裝置137且視情況包括伴隨裝置138。顯現裝置137可經組態以向使用者顯現由輔助系統140產生之輸出。伴隨裝置138可經組態以在特定情形下(例如,當顯現裝置137無法進行與特定任務(例如,與輔助系統140之通信)相關聯之計算時)在伴隨裝置138上本端地(亦即,裝置上)進行該些計算。在特定實施例中,用戶端系統130、顯現裝置137及/或伴隨裝置138可各自為合適之電子裝置,其包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,且能夠個別地或協作地實行由本文中所描述之用戶端系統130實施或支援的功能性。作為一實例而非作為限制,用戶端系統130、顯現裝置137及/或伴隨裝置138可各自包括電腦系統,諸如桌上型電腦、筆記型電腦或膝上型電腦、迷你筆記型電腦、平板電腦、電子書讀取器、GPS裝置、攝影機、個人數位助理(PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、智慧型揚聲器、虛擬實境(VR)頭戴裝置、擴增實境(AR)智慧型眼鏡、其他合適之電子裝置,或其任何合適之組合。在特定實施例中,用戶端系統130、顯現裝置137及伴隨裝置138中之一或多者可作為智慧型輔助裝置操作。作為一實例而非作為限制,顯現裝置137可包含智慧型眼鏡且伴隨裝置138可包含智慧型手機。作為另一實例而非作為限制,顯現裝置137可包含智慧型手錶且伴隨裝置138可包含智慧型手機。作為又一實例而非作為限制,顯現裝置137可包含智慧型眼鏡且伴隨裝置138可包含用於智慧型眼鏡之智慧型遙控器。作為又一實例而非作為限制,顯現裝置137可包含VR/AR頭戴裝置且伴隨裝置138可包含智慧型手機。
在特定實施例中,使用者可個別地或組合地使用顯現裝置137或伴隨裝置138來與輔助系統140互動。在特定實施例中,用戶端系統130、顯現裝置137及伴隨裝置138中之一或多者可藉由持續監視與輔助系統140相關聯之一或多個喚醒字而實施多階段喚醒字偵測模型,以使得使用者能夠方便地啟動輔助系統140。在喚醒字偵測模型之第一階段處,顯現裝置137可接收音訊使用者輸入(例如,語音資料之訊框)。若顯現裝置137與伴隨裝置138之間的無線連接係可用的,則顯現裝置137上之應用程式可經由無線連接將接收到之音訊使用者輸入傳達至伴隨裝置138上之伴隨應用程式。在喚醒字偵測模型之第二階段處,伴隨裝置138上之伴隨應用程式可處理接收到之音訊使用者輸入以偵測與輔助系統140相關聯之喚醒字。伴隨裝置138上之伴隨應用程式可接著經由無線網路110將偵測到之喚醒字傳達至與輔助系統140相關聯之伺服器。在喚醒字偵測模型之第三階段處,與輔助系統140相關聯之伺服器可對偵測到之喚醒字進行關鍵字驗證,以驗證使用者是否意欲啟動輔助系統140及接收來自輔助系統140的輔助。在替代實施例中,處理、偵測或關鍵字驗證中之任一者可由顯現裝置137及/或伴隨裝置138進行。在特定實施例中,當輔助系統140已由使用者啟動時,顯現裝置137上之應用程式可經組態以接收來自使用者之使用者輸入,且伴隨裝置138上之伴隨應用程式可經組態以處置由顯現裝置137上之應用程式接收到之使用者輸入(例如,使用者請求)。在特定實施例中,顯現裝置137及伴隨裝置138可經由一或多個無線通信協定(例如,藍牙(Bluetooth))彼此相關聯(亦即,配對)。
以下實例工作流程說明顯現裝置137及伴隨裝置138可如何處置由使用者提供之使用者輸入。在此實例中,顯現裝置137上之應用程式可接收包含針對顯現裝置137之使用者請求的使用者輸入。顯現裝置137上之應用程式可接著判定顯現裝置137與伴隨裝置138之間的無線連接之狀態(亦即,網路共享狀態)。若顯現裝置137與伴隨裝置138之間的無線連接不可用,則顯現裝置137上之應用程式可經由網路110將使用者請求(視情況包括可用於顯現裝置137之額外資料及/或情境資訊)傳達至輔助系統140。輔助系統140可接著產生對使用者請求之回應且將所產生之回應傳達回至顯現裝置137。顯現裝置137可接著以任何合適之方式向使用者呈現回應。替代地,若顯現裝置137與伴隨裝置138之間的無線連接可用,則顯現裝置137上之應用程式可經由無線連接將使用者請求(視情況包括可用於顯現裝置137之額外資料及/或情境資訊)傳達至伴隨裝置138上之伴隨應用程式。伴隨裝置138上之伴隨應用程式可接著經由網路110將使用者請求(視情況包括可用於伴隨裝置138之額外資料及/或情境資訊)傳達至輔助系統140。輔助系統140可接著產生對使用者請求的回應且將所產生之回應傳達回至伴隨裝置138。伴隨裝置138上之伴隨應用程式可接著將所產生之回應傳達至顯現裝置137上之應用程式。顯現裝置137可接著以任何合適之方式向使用者呈現回應。在前述實例工作流程中,顯現裝置137及伴隨裝置138可在工作流程之每一各別步驟處各自進行一或多個計算及/或程序。在特定實施例中,本文中所揭示之計算及/或程序的進行可至少部分地基於顯現裝置137及/或伴隨裝置138之裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素自適應地在顯現裝置137與伴隨裝置138之間切換。作為一實例而非作為限制,一個因素可為顯現裝置137與伴隨裝置138之間的無線連接之信號強度。舉例而言,若顯現裝置137與伴隨裝置138之間的無線連接之信號強度強,則計算及程序可自適應地切換為實質上由伴隨裝置138進行,以便例如受益於伴隨裝置138之CPU的較大處理功率。替代地,若顯現裝置137與伴隨裝置138之間的無線連接之信號強度弱,則計算及程序可自適應地切換為實質上由顯現裝置137以獨立方式進行。在特定實施例中,若用戶端系統130不包含伴隨裝置138,則前述計算及程序可僅由顯現裝置137以獨立方式單獨進行。
在特定實施例中,輔助系統140可輔助使用者進行各種輔助相關任務。當執行這些輔助相關任務時,輔助系統140可與社交網路連接系統160及/或第三方系統170互動。
在特定實施例中,社交網路連接系統160可為網路可定址計算系統,其可代管線上社交網路。社交網路連接系統160可產生、儲存、接收及發送社交網路連接資料,諸如使用者設定檔資料、概念設定檔資料、社交圖資訊,或與線上社交網路相關之其他適合之資料。社交網路連接系統160可由網路環境100之其他組件直接或經由網路110存取。作為一實例而非作為限制,用戶端系統130可使用網頁瀏覽器132或與社交網路連接系統160相關聯之原生應用程式(例如,行動社交網路連接應用程式、訊息傳遞應用程式、另一合適之應用程式或其任何組合)直接或經由網路110存取社交網路連接系統160。在特定實施例中,社交網路連接系統160可包括一或多個伺服器162。每一伺服器162可為單式伺服器或橫跨多個電腦或多個資料中心之分佈式伺服器。作為一實例而非作為限制,每一伺服器162可為網頁伺服器、新聞伺服器、郵件伺服器、訊息伺服器、廣告伺服器、檔案伺服器、應用程式伺服器、交換伺服器、資料庫伺服器、代理伺服器、適合於進行本文中所描述之功能或程序的另一伺服器,或其任何組合。在特定實施例中,每一伺服器162可包括硬體、軟體或嵌入式邏輯組件,或兩個或更多個此類組件之組合,以用於實行由伺服器162實施或支援之適當功能性。在特定實施例中,社交網路連接系統160可包括一或多個資料儲存區164。資料儲存區164可用於儲存各種類型之資訊。在特定實施例中,儲存於資料儲存區164中之資訊可根據特定資料結構來組織。在特定實施例中,每一資料儲存區164可為關係、柱狀、相關性或其他適合之資料庫。儘管本發明描述或說明特定類型之資料庫,但本發明涵蓋任何合適類型之資料庫。特定實施例可提供使得用戶端系統130、社交網路連接系統160、輔助系統140或第三方系統170能夠管理、擷取、修改、添加或刪除儲存於資料儲存區164中之資訊的介面。
在特定實施例中,社交網路連接系統160可將一或多個社交圖儲存於一或多個資料儲存區164中。在特定實施例中,社交圖可包括多個節點及連接節點之多個邊緣,該些節點可包括多個使用者節點(每一使用者節點對應於特定使用者)或多個概念節點(每一概念節點對應於特定概念)。社交網路連接系統160可向線上社交網路之使用者提供與其他使用者通信及互動之能力。在特定實施例中,使用者可經由社交網路連接系統160加入線上社交網路且接著添加連接(例如,關係)至其想要連接至的社交網路連接系統160之數個其他使用者。本文中,術語「朋友」可指代使用者已經由社交網路連接系統160與其形成連接、關聯或關係之社交網路連接系統160的任何其他使用者。
在特定實施例中,社交網路連接系統160可向使用者提供對由社交網路連接系統160支援之各種類型之項目或對象採取動作之能力。作為一實例而非作為限制,項目及對象可包括社交網路連接系統160之使用者可能所屬的群組或社交網路、使用者可能感興趣的事件或日曆條目、使用者可使用之基於電腦之應用程式、允許使用者經由服務購買或出售項目之交易、使用者可進行之與廣告之互動,或其他合適之項目或對象。使用者可與能夠在社交網路連接系統160中表示或由第三方系統170之外部系統表示之任何內容互動,該第三方系統170與社交網路連接系統160分離且經由網路110耦合至社交網路連接系統160。
在特定實施例中,社交網路連接系統160能夠連結多種實體。作為一實例而非作為限制,社交網路連接系統160可使得使用者能夠彼此互動以及自第三方系統170或其他實體接收內容,或允許使用者經由應用程式設計介面(application programming interface;API)或其他通信通道與這些實體互動。
在特定實施例中,第三方系統170可包括一或多種類型之伺服器、一或多個資料儲存區、包括但不限於API之一或多個介面、一或多個網頁服務、一或多個內容源、一或多個網路,或例如伺服器可與其通信之任何其他合適之組件。第三方系統170可由不同於操作社交網路連接系統160之實體的實體操作。然而,在特定實施例中,社交網路連接系統160及第三方系統170可彼此結合操作以將社交網路連接服務提供給社交網路連接系統160或第三方系統170之使用者。在此意義上,社交網路連接系統160可提供平台或主結構(backbone),諸如第三方系統170之其他系統可使用該平台或主結構以將社交網路連接服務及功能性提供給網際網路上之使用者。
在特定實施例中,第三方系統170可包括第三方內容對象提供者。第三方內容對象提供者可包括內容對象之一或多個來源,該些內容對象可經傳達至用戶端系統130。作為一實例而非作為限制,內容對象可包括關於使用者感興趣的事物或活動之資訊,諸如電影放映時間、電影評論、餐館評論、餐館菜單、產品資訊及評論,或其他合適之資訊。作為另一實例而非作為限制,內容對象可包括激勵內容對象,諸如優惠券、折扣票、禮券或其他合適之激勵對象。在特定實施例中,第三方內容提供者可使用一或多個第三方代理程式來提供內容對象及/或服務。第三方代理程式可為在第三方系統170上代管及執行之實施方案。
在特定實施例中,社交網路連接系統160亦包括使用者產生之內容對象,其可增強使用者與社交網路連接系統160之互動。使用者產生之內容可包括使用者可添加、上傳、發送或「發佈」至社交網路連接系統160之任何內容。作為一實例而非作為限制,使用者將貼文自用戶端系統130傳達至社交網路連接系統160。貼文可包括諸如狀態更新之資料或其他文字資料、位置資訊、相片、視訊、鏈路、音樂或者其他類似資料或媒體。內容亦可由第三方經由「通信通道」(諸如新聞饋送或串流)添加至社交網路連接系統160。
在特定實施例中,社交網路連接系統160可包括多種伺服器、子系統、程式、模組、日誌及資料儲存區。在特定實施例中,社交網路連接系統160可包括以下各者中之一或多者:網頁伺服器、動作記錄器、API請求伺服器、相關性及排序引擎、內容對象分類器、通知控制器、動作日誌、第三方內容對象曝光日誌、推斷模組、授權/隱私伺服器、搜尋模組、廣告定位模組、使用者介面模組、使用者設定檔儲存區、連接儲存區、第三方內容儲存區,或位置儲存區。社交網路連接系統160亦可包括合適之組件,諸如網路介面、安全性機構、加載平衡器、故障接管伺服器、管理及網路操作控制台、其他合適之組件,或其任何合適之組合。在特定實施例中,社交網路連接系統160可包括用於儲存使用者設定檔之一或多個使用者設定檔儲存區。使用者設定檔可包括例如傳記(biographic)資訊、人口統計資訊、行為資訊、社交資訊或其他類型之描述性資訊,諸如工作經驗、教育歷史、業餘愛好或偏好、興趣、親和力或位置。興趣資訊可包括與一或多個類別相關之興趣。類別可為通用或特定的。作為一實例而非作為限制,若使用者「喜歡」關於鞋子品牌之文章,則類別可為品牌或「鞋」或「衣服」之通用類別。連接儲存區可用於儲存關於使用者之連接資訊。連接資訊可指示具有類似或共同工作經驗、群組會員、業餘愛好、教育歷史或以任何方式相關或具有共同屬性之使用者。連接資訊亦可包括不同使用者與內容之間的使用者定義之連接(內部及外部兩者)。網頁伺服器可用於經由網路110將社交網路連接系統160連結至一或多個用戶端系統130或一或多個第三方系統170。網頁伺服器可包括用於接收訊息及在社交網路連接系統160與一或多個用戶端系統130之間路由訊息之郵件伺服器或另一訊息傳遞功能性。API請求伺服器可允許例如輔助系統140或第三方系統170藉由調用一或多個API存取來自社交網路連接系統160之資訊。動作記錄器可用於自網頁伺服器接收關於使用者自社交網路連接系統160上線或下線之動作的通信。結合動作日誌,可維護使用者對第三方內容對象暴露之第三方內容對象日誌。通知控制器可將關於內容對象之資訊提供至用戶端系統130。資訊可作為通知推送至用戶端系統130,或可回應於包含自用戶端系統130接收到之使用者請求的使用者輸入自用戶端系統130提取資訊。授權伺服器可用於推行社交網路連接系統160之使用者的一或多個隱私設定。使用者之隱私設定可判定可共用與使用者相關聯之特定資訊之方式。授權伺服器可允許使用者諸如藉由設定適當的隱私設定來選擇加入或退出使其動作由社交網路連接系統160記錄或與其他系統(例如,第三方系統170)共用。第三方內容對象儲存區可用於儲存自諸如第三方系統170之第三方接收到之內容對象。位置儲存區可用於儲存自與使用者相關聯之用戶端系統130接收到之位置資訊。廣告定價模組可組合社交資訊、當前時間、位置資訊或其他合適之資訊以將呈通知形式的相關廣告提供給使用者。
輔助系統
圖 2說明輔助系統140之實例架構200。在特定實施例中,輔助系統140可輔助使用者獲得資訊或服務。輔助系統140可使得使用者能夠經由各種模態(例如,音訊、語音、文字、影像、視訊、手勢、運動、位置、定向)之使用者輸入在狀態及多輪次交談中與輔助系統140互動,以接收來自輔助系統140之輔助。作為一實例而非作為限制,使用者輸入可包含基於使用者之語音(例如,語音命令)之音訊輸入,其可由用戶端系統130上之系統音訊API(應用程式設計介面)處理。系統音訊API可進行包括回波消除、雜訊移除、波束成形、自使用者語音啟動、揚聲器識別、語音活動偵測(voice activity detection;VAD)及/或任何其他合適之聲學技術的技術,以便產生可易於由輔助系統140處理之音訊資料。在特定實施例中,輔助系統140可支援單模態輸入(例如,僅語音輸入)、多模態輸入(例如,語音輸入及文字輸入)、混合/多模態輸入或其任何組合。在特定實施例中,使用者輸入可為在單輪次中發送至輔助系統140的使用者產生之輸入。由使用者提供之使用者輸入可與特定輔助相關任務相關聯,且可包括例如使用者請求(例如,對動作之資訊或進行的口頭請求)、與輔助應用程式136(其與輔助系統140相關聯)之使用者互動(例如,經由觸控或手勢選擇UI元素),或可由輔助系統140偵測到及理解的任何其他類型之合適之使用者輸入(例如,由使用者之用戶端裝置130偵測到之使用者移動)。
在特定實施例中,輔助系統140可創建及儲存包含與使用者相關聯之個人及情境資訊兩者的使用者設定檔。在特定實施例中,輔助系統140可使用自然語言理解(NLU)技術分析使用者輸入。分析可係至少部分地基於使用者之使用者設定檔以用於更個人化及情境感知之理解。輔助系統140可基於分析來解析與使用者輸入相關聯之實體。在特定實施例中,輔助系統140可與不同代理程式互動以獲得與經解析實體相關聯之資訊或服務。輔助系統140可藉由使用自然語言產生(NLG)來產生關於資訊或服務之對使用者的回應。經由與使用者之互動,輔助系統140可使用對話管理技術來管理及轉遞與使用者之交談流程。在特定實施例中,輔助系統140可藉由彙總資訊進一步輔助使用者有效且高效地分解所獲得之資訊。輔助系統140亦可藉由提供幫助使用者與線上社交網路互動(例如,創建貼文、評論、訊息)之工具來輔助使用者更多地參與線上社交網路。輔助系統140可另外輔助使用者管理不同任務,諸如追蹤事件。在特定實施例中,輔助系統140可在無使用者輸入之情況下在與使用者相關之時間處基於使用者設定檔主動地執行與使用者興趣及偏好相關之任務。在特定實施例中,輔助系統140可檢查隱私設定以確保存取使用者之設定檔或其他使用者資訊且執行不同任務經准許服從使用者之隱私設定。關於輔助使用者服從隱私設定之更多資訊可見於2018年11月6日申請之美國專利申請案第16/182542號,該申請案以引用之方式併入。
在特定實施例中,輔助系統140可經由在可在各種操作模式下操作之用戶端側程序及伺服器側程序兩者上建立之架構來輔助使用者。在圖2中,用戶端側程序說明於虛線202上方,而伺服器側程序說明於虛線202下方。第一操作模式(亦即,裝置上模式)可為一工作流程,其中輔助系統140處理使用者輸入,且藉由主要或獨佔地在用戶端系統130上本端地進行用戶端側程序而向使用者提供輔助。舉例而言,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),則輔助系統140可在僅利用用戶端側程序之第一操作模式下處置使用者輸入。第二操作模式(亦即,雲端模式)可為一工作流程,其中輔助系統140處理使用者輸入,且藉由主要或獨佔地在一或多個遠端伺服器(例如,與輔助系統140相關聯之伺服器)上進行伺服器側程序而向使用者提供輔助。如圖2中所說明,第三操作模式(亦即,摻合模式)可為一並行工作流程,其中輔助系統140處理使用者輸入,且藉由結合一或多個遠端伺服器(例如,與輔助系統140相關聯之伺服器)上之伺服器側程序在用戶端系統130上本端地進行用戶端側程序而向使用者提供輔助。舉例而言,用戶端系統130及與輔助系統140相關聯之伺服器均可進行自動話語辨識(automatic speech recognition;ASR)及自然語言理解(NLU)程序,但用戶端系統130可委託待由與輔助系統140相關聯之伺服器進行的對話、代理程式及自然語言產生(NLG)程序。
在特定實施例中,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,如上文所描述,一個因素可為用戶端系統130之網路連接性狀態。舉例而言,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入。作為另一實例而非作為限制,另一因素可係基於用戶端系統130之可用電池功率(亦即,電池狀態)之量測值。舉例而言,若需要用戶端系統130節省電池功率(例如,當用戶端系統130具有最小可用電池功率或使用者已指示需要節省用戶端系統130之電池功率時),則輔助系統140可在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下處置使用者輸入,以便對用戶端系統130進行更少電力密集型操作。作為又一實例而非作為限制,另一因素可為一或多個隱私約束(例如,指定隱私設定、適用隱私策略)。舉例而言,若一或多個隱私約束限制或阻止特定資料傳輸至遠端伺服器(例如,與輔助系統140相關聯之伺服器),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入,以便保護使用者隱私。作為又一實例而非作為限制,另一因素可為用戶端系統130與遠端伺服器(例如,與輔助系統140相關聯之伺服器)之間的去同步(desynchronized)情境資料。舉例而言,可判定用戶端系統130及與輔助系統140相關聯之伺服器具有不一致、丟失及/或未調和情境資料,輔助系統140可在第三操作模式(亦即,摻合模式)下處置使用者輸入,以減小與使用者輸入相關聯之不充分分析的似然性。作為又一實例而非作為限制,另一因素可為用戶端系統130與遠端伺服器(例如,與輔助系統140相關聯之伺服器)之間的連接之等待時間的量測值。舉例而言,若與使用者輸入相關聯之任務可顯著受益於及/或要求迅速或立即執行(例如,相片俘獲任務),則輔助系統140可在第一操作模式(亦即,裝置上模式)下處置使用者輸入,以確保以及時方式進行任務。作為又一實例而非作為限制,另一因素可為對於與使用者輸入相關聯之任務相關的特徵,該特徵是否僅由遠端伺服器(例如,與輔助系統140相關聯之伺服器)支援。舉例而言,若相關特徵要求在使用者輸入時僅由與輔助系統140相關聯之伺服器支援且不由用戶端系統130支援的進階技術功能性(例如,高供電處理能力、快速更新循環),則輔助系統140可在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下處置使用者輸入,以便受益於相關特徵。
在特定實施例中,用戶端系統130上之裝置上協調器206可協調接收使用者輸入,且可在實例工作流程中之一或多個決策點處判定應使用上文所描述之操作模式中之哪一者來處理或繼續處理使用者輸入。如上文所論述,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,參考圖2中所說明之工作流程架構,在自使用者接收到使用者輸入之後,裝置上協調器206可在決策點(D0)205處判定是在第一操作模式(亦即,裝置上模式)、第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下開始處理使用者輸入。舉例而言,在決策點(D0)205處,若用戶端系統130未連接至網路110(亦即,當用戶端系統130離線時),若一或多個隱私約束明確要求裝置上處理(例如,將另一個人添加或移除至使用者之間的私人呼叫),或若使用者輸入與不要求或不受益於伺服器側處理之任務(例如,設定鬧鐘或呼叫另一使用者)相關聯,則裝置上協調器206可選擇第一操作模式(亦即,裝置上模式)。作為另一實例,在決策點(D0)205處,若用戶端系統130需要節省電池功率(例如,當用戶端系統130具有最小可用電池功率或使用者已指示需要節省用戶端系統130之電池功率時)或需要限制計算資源之額外利用率(例如,當在用戶端裝置130上操作之其他程序要求高CPU利用率(例如,SMS訊息傳遞應用程式)時),則裝置上協調器206可選擇第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)。
在特定實施例中,若裝置上協調器206在決策點(D0)205處判定應使用第一操作模式(亦即,裝置上模式)或第三操作模式(亦即,摻合模式)處理使用者輸入,則用戶端側程序可如圖2中所說明而繼續。作為一實例而非作為限制,若使用者輸入包含話語資料,則話語資料可在用戶端系統130上之本端自動話語辨識(ASR)模組208a處接收到。ASR模組208a可允許使用者口述且使話語轉錄為書面文字、使文件合成為音訊串流或發出由此系統辨識的命令。
在特定實施例中,ASR模組208a之輸出可經發送至本端自然語言理解(NLU)模組210a。NLU模組210a可進行命名實體解析(named entity resolution;NER),或命名實體解析可由實體解析模組212a進行,如下文所描述。在特定實施例中,意圖、槽或域中之一或多者可為NLU模組210a之輸出。
在特定實施例中,使用者輸入可包含非話語資料,其可在本端情境引擎220a處接收到。作為一實例而非作為限制,非話語資料可包含位置、視覺、觸控、手勢、世界更新、社交更新、情境資訊、與人相關之資訊、活動資料及/或任何其他合適之類型之非話語資料。非話語資料可進一步包含由用戶端系統130感測器(例如,麥克風、攝影機)接收到之感覺資料,其可在服從隱私約束之情況下存取且藉由電腦視覺技術進一步分析。在特定實施例中,電腦視覺技術可包含人類重建構、人臉偵測、人臉辨識、手部追蹤、眼動追蹤及/或任何其他合適之電腦視覺技術。在特定實施例中,非語音資料可服從幾何構造,其可包含使用由用戶端系統130收集的任何合適之類型之資料建構使用者周圍之對象。作為一實例而非作為限制,使用者可佩戴AR眼鏡,且幾何構造可用以判定表面及項目之空間位置(例如,地板、牆壁、使用者之手部)。在特定實施例中,非話語資料可為藉由AR眼鏡或VR頭戴裝置所俘獲之慣性資料,且該慣性資料可為與線性及角度運動相關聯之資料(例如,與使用者之身體移動相關聯之量測值)。在特定實施例中,情境引擎220a可基於非話語資料判定各種類型之事件及情境。
在特定實施例中,NLU模組210a及/或情境引擎220a之輸出可經發送至實體解析模組212a。實體解析模組212a可解析與由NLU模組210a輸出之一或多個槽相關聯之實體。在特定實施例中,每一經解析實體可與一或多個實體識別符相關聯。作為一實例而非作為限制,識別符可包含對應於特定使用者之唯一使用者識別符(ID)(例如,用於社交網路連接系統160之唯一使用者名稱或使用者ID號)。在特定實施例中,每一經解析實體亦可與可信度得分相關聯。關於解析實體之更多資訊可見於2018年7月27日申請之美國專利第10,803,050號及2018年7月27日申請之美國專利申請案第16/048072號,該些申請案中之每一者以引用之方式併入。
在特定實施例中,在決策點(D0)205處,裝置上協調器206可判定應在第二操作模式(亦即,雲端模式)下抑或第三操作模式(亦即,摻合模式)下處置使用者輸入。在這些操作模式下,使用者輸入可由以與上文所描述之用戶端側程序類似方式之某些伺服器側模組處置。
在特定實施例中,若使用者輸入包含話語資料,則使用者輸入之話語資料可在遠端伺服器(例如,與輔助系統140相關聯之伺服器)上之遠端自動話語辨識(ASR)模組208b處接收到。ASR模組208b可允許使用者口述且使話語轉錄為書面文字、使文件合成為音訊串流或發出由此系統辨識的命令。
在特定實施例中,ASR模組208b之輸出可經發送至遠端自然語言理解(NLU)模組210b。在特定實施例中,NLU模組210b可進行命名實體解析(NER),或命名實體解析可由對話管理器模組216b之實體解析模組212b進行,如下文所描述。在特定實施例中,意圖、槽或域中之一或多者可為NLU模組210b之輸出。
在特定實施例中,使用者輸入可包含非話語資料,其可在遠端情境引擎220b處接收到。在特定實施例中,遠端情境引擎220b可基於非話語資料判定各種類型之事件及情境。在特定實施例中,NLU模組210b及/或情境引擎220b之輸出可經發送至遠端對話管理器216b。
在特定實施例中,如上文所論述,用戶端系統130上之裝置上協調器206可協調接收使用者輸入,且可在實例工作流程中之一或多個決策點處判定應使用上文所描述之操作模式中之哪一者來處理或繼續處理使用者輸入。如上文進一步論述,操作模式之選擇可係至少部分地基於裝置狀態、與使用者輸入相關聯之任務及/或一或多個額外因素。作為一實例而非作為限制,繼續參考圖2中所說明之工作流程架構,在實體解析模組212a產生輸出或空輸出之後,裝置上協調器206可在決策點(D1)215處判定是在第一操作模式(亦即,裝置上模式)、第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下繼續處理使用者輸入。舉例而言,在決策點(D1)215處,若識別出之意圖與等待時間敏感之處理任務(例如,拍攝相片、暫停秒錶)相關聯,則裝置上協調器206可選擇第一操作模式(亦即,裝置上模式)。作為另一實例而非作為限制,若訊息傳遞任務未由用戶端系統130上之裝置上處理支援,則裝置上協調器206可選擇第三操作模式(亦即,摻合模式)以處理與訊息傳遞請求相關聯之使用者輸入。作為又一實例,在決策點(D1)215處,若正處理之任務要求存取未儲存於用戶端系統130上之社交圖、知識圖或概念圖,則裝置上協調器206可選擇第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)。替代地,若包括任務之必需資訊的資訊圖之充分版本存在於用戶端系統130上(例如,知識圖之更小及/或自啟式版本),則裝置上協調器206可改為選擇第一操作模式(亦即,裝置上模式)。
在特定實施例中,若裝置上協調器206在決策點(D1)215處判定處理應繼續使用第一操作模式(亦即,裝置上模式)或第三操作模式(亦即,摻合模式),則用戶端側程序可如圖2中所說明而繼續。作為一實例而非作為限制,來自實體解析模組212a的輸出可經發送至裝置上對話管理器216a。在特定實施例中,裝置上對話管理器216a可包含對話狀態追蹤器218a及動作選擇器222a。裝置上對話管理器216a可具有複雜對話邏輯及產品相關商業邏輯,以管理使用者與輔助系統140之間的對話狀態及交談流程。裝置上對話管理器216a可包括端對端整合及多輪次支援之全功能性(例如,確認、歧義消除)。裝置上對話管理器216a亦可相對於包括記憶體、計算(CPU)及二進位大小約束之計算限制及資源而為輕量的。裝置上對話管理器216a亦可為可調式的以改良開發者體驗。在特定實施例中,裝置上對話管理器216a可例如藉由提供離線支援以減輕網路連接性問題(例如,不穩定或不可用網路連接)、藉由使用用戶端側程序來防止隱私敏感資訊自用戶端系統130傳輸出去,及藉由在高等待時間敏感情形中提供穩定使用者體驗而使輔助系統140受益。
在特定實施例中,裝置上對話管理器216a可進一步進行錯誤觸發緩解。錯誤觸發緩解之實施方案可偵測及防止來自使用者輸入之錯誤觸發(否則其將調用輔助系統140(例如,非預期之喚醒字)),且可進一步防止輔助系統140基於可能不準確及/或經歷隱私約束之錯誤觸發而產生資料記錄。作為一實例而非作為限制,若使用者處於語音呼叫,則使用者在語音呼叫期間之交談可視為私人的,且錯誤觸發緩解可限制對由使用者之用戶端系統130本端地接收到之音訊使用者輸入的喚醒字之偵測。在特定實施例中,裝置上對話管理器216a可基於無意義偵測器實施錯誤觸發緩解。若無意義偵測器以高可信度判定接收到之喚醒字在其自使用者接收到之時間點處在邏輯及/或情境上係不合理的,則裝置上對話管理器216a可判定使用者並不意欲調用輔助系統140。
在特定實施例中,歸因於用戶端系統130之有限計算能力,裝置上對話管理器216a可基於尤其針對用戶端系統130自訂之學習演算法進行裝置上學習。作為一實例而非作為限制,可由裝置上對話管理器216a實施聯合學習技術。聯合學習為特定類別之分佈式機器學習技術,其可使用儲存於終端裝置(例如,行動電話)上之分散式資料來訓練機器學習模型。在特定實施例中,裝置上對話管理器216a可使用聯合使用者表現學習模型將現有神經網路個人化技術擴展至由裝置上對話管理器216a進行之聯合學習的實施。聯合使用者表現學習可藉由學習任務特定使用者表示(亦即,嵌入(embedding))及/或藉由個人化模型權重對聯合學習模型進行個人化。聯合使用者表現學習為簡單、可調、隱私保護且資源高效的。聯合使用者表現學習可將模型參數劃分成聯合及私人參數。私人參數(諸如私人使用者嵌入)可在用戶端系統130上本端地經訓練而非傳送至遠端伺服器(例如,與輔助系統140相關聯之伺服器)或由該遠端伺服器求平均。相比之下,聯合參數可在伺服器上遠端地經訓練。在特定實施例中,裝置上對話管理器216a可使用主動聯合學習模型,其可將在遠端伺服器上訓練之全域模型傳輸至用戶端系統130且在用戶端系統130上本端地計算梯度。主動聯合學習可使得裝置上對話管理器216a能夠最小化與下載模型及上載梯度相關聯之傳輸成本。對於主動聯合學習,在每一輪次中,均可至少部分地基於在當前模型上調節之機率及用戶端系統130上之資料以半隨機方式選擇用戶端系統130,以便最佳化訓練聯合學習模型之效率。
在特定實施例中,當使用者與世界互動且輔助系統140與使用者互動時,對話狀態追蹤器218a可追蹤隨時間推移之狀態變化。作為一實例而非作為限制,對話狀態追蹤器218a可在服從適用隱私策略之情況下追蹤例如使用者正談論何內容、使用者與誰在一起、使用者在何處、當前正進行何任務,及使用者正凝視何處。
在特定實施例中,在決策點(D1)215處,裝置上協調器206可判定針對第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)將使用者輸入轉遞至伺服器。作為一實例而非作為限制,若特定功能性或程序(例如,訊息傳遞)未由用戶端系統130上支援,則裝置上協調器206可在決策點(D1)215處判定使用第三操作模式(亦即,摻合模式)。在特定實施例中,裝置上協調器206可使得經由對話管理器代理224將來自NLU模組210a、情境引擎220a及實體解析模組212a之輸出轉遞至遠端對話管理器216b之實體解析模組212b以繼續處理。對話管理器代理224可為用於用戶端系統130與伺服器之間的資訊/事件交換之通信通道。在特定實施例中,對話管理器216b可另外包含遠端仲裁器226b、遠端對話狀態追蹤器218b及遠端動作選擇器222b。在特定實施例中,輔助系統140可能已在決策點(D0)205處開始使用第二操作模式(亦即,雲端模式)處理使用者輸入,且裝置上協調器206可在決策點(D1)215處判定基於第二操作模式(亦即,雲端模式)繼續處理使用者輸入。因此,可在遠端實體解析模組212b處接收到來自NLU模組210b及情境引擎220b之輸出。遠端實體解析模組212b可具有與本端實體解析模組212a類似之功能性,該本端實體解析模組212a可包含與槽相關聯之解析實體。在特定實施例中,實體解析模組212b可在解析實體時存取社交圖、知識圖或概念圖中之一或多者。可在仲裁器226b處接收到來自實體解析模組212b之輸出。
在特定實施例中,遠端仲裁器226b可負責在用戶端側上游結果與伺服器側上游結果(例如,來自NLU模組210a/b之結果、來自實體解析模組212a/b之結果,及來自情境引擎220a/b之結果)之間進行選擇。仲裁器226b可將所選上游結果發送至遠端對話狀態追蹤器218b。在特定實施例中,類似於本端對話狀態追蹤器218a,遠端對話狀態追蹤器218b可使用任務規格(task specification)將上游結果轉換成候選任務且用實體解析來解析引數。
在特定實施例中,在決策點(D2)225處,裝置上協調器206可判定是基於第一操作模式(亦即,裝置上模式)繼續處理使用者輸入抑或針對第三操作模式(亦即,摻合模式)將使用者輸入轉遞至伺服器。決策可取決於例如用戶端側程序是否能夠成功地解析任務及槽、是否存在具有特定特徵支援之有效任務策略,及/或用戶端側程序與伺服器側程序之間的情境差異。在特定實施例中,在決策點(D2)225處進行之決策可用於多輪次情形。在特定實施例中,可存在至少兩種可能情形。在第一情形中,輔助系統140可能已使用用戶端側對話狀態在第一操作模式(亦即,裝置上模式)下開始處理使用者輸入。若在一些時刻輔助系統140決定切換為使遠端伺服器處理使用者輸入,則輔助系統140可創建具有當前任務狀態之程式化/預定義任務且將其轉遞至遠端伺服器。對於後續輪次,輔助系統140可使用伺服器側對話狀態在第三操作模式(亦即,摻合模式)下繼續處理。在另一情形中,輔助系統140可能已在第二操作模式(亦即,雲端模式)或第三操作模式(亦即,摻合模式)下開始處理使用者輸入,且可實質上依賴於用於所有後續輪次之伺服器側對話狀態。若裝置上協調器206判定基於第一操作模式(亦即,裝置上模式)繼續處理使用者輸入,則可在動作選擇器222a處接收到來自對話狀態追蹤器218a之輸出。
在特定實施例中,在決策點(D2)225處,裝置上協調器206可判定是在第二操作模式(亦即,雲端模式)抑或第三操作模式(亦即,摻合模式)下將使用者輸入轉遞至遠端伺服器且繼續處理使用者輸入。輔助系統140可創建具有當前任務狀態之程式化/預定義任務且將其轉遞至伺服器,可在動作選擇器222b處接收到該程式化/預定義任務。在特定實施例中,在決策點(D2)225處,輔助系統140可能已在第二操作模式(亦即,雲端模式)下開始處理使用者輸入,且裝置上協調器206可判定在第二操作模式(亦即,雲端模式)下繼續處理使用者輸入。因此,可在動作選擇器222b處接收到來自對話狀態追蹤器218b之輸出。
在特定實施例中,動作選擇器222a/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可分析結果且選擇最佳結果以提供給使用者。若基於第三操作模式(亦即,摻合模式)處置使用者輸入,則可分別藉由裝置上對話管理器216a及遠端對話管理器216b將用戶端側結果及伺服器側結果(例如,來自代理程式228a/b及/或遞送系統230a/b)兩者提供至仲裁器226a。仲裁器226可接著在用戶端側結果與伺服器側結果之間進行選擇以判定呈現給使用者之最終結果。在特定實施例中,在這些結果之間進行決定之邏輯可取決於特定使用案例。
在特定實施例中,本端仲裁器226a可基於最終結果產生回應且將其發送至顯現輸出模組232。顯現輸出模組232可判定如何以適合於用戶端系統130之方式顯現輸出。作為一實例而非作為限制,對於VR頭戴裝置或AR智慧型眼鏡,顯現輸出模組232可判定使用可經由VR頭戴裝置或AR智慧型眼鏡顯示的基於視覺之模態(例如,影像或視訊剪輯)顯現輸出。作為另一實例,回應可顯現為可由使用者經由VR頭戴裝置或AR智慧型眼鏡播放之音訊信號。作為又一實例,回應可顯現為用於增強使用者體驗之擴增實境資料。
在特定實施例中,除判定用以處理使用者輸入之操作模式以外,裝置上協調器206亦可判定是在顯現裝置137上處理使用者輸入、在伴隨裝置138上處理使用者輸入抑或在遠端伺服器上處理使用者請求。顯現裝置137及/或伴隨裝置138可各自以與上文所揭示類似之方式使用輔助堆疊處理使用者輸入。作為一實例而非作為限制,裝置上協調器206可判定應在顯現裝置137上進行處理之部分、應在伴隨裝置138上進行處理之部分,及應在遠端伺服器上進行其餘處理。
在特定實施例中,輔助系統140可具有多種能力,包括音訊認知、視覺認知、信號智慧、推理及記憶。在特定實施例中,音訊認知之能力可使得輔助系統140能夠例如理解與不同語言中之各種域相關聯之使用者之輸入、理解及彙總交談、進行裝置上音訊認知以用於複雜命令、藉由語音識別使用者、自交談及交談之自動標記區段提取話題、在無喚醒字之情況下啟用音訊互動、自環境雜訊及交談過濾及放大使用者語音,及/或在附近存在多個用戶端系統130之情況下理解使用者正與哪一用戶端系統130說話。
在特定實施例中,視覺認知之能力可使得輔助系統140能夠例如進行人臉偵測及追蹤、辨識使用者、以不同角度在大城市區域中辨識感興趣之人、經由現有機器學習模型與一次性學習之組合在世界辨識感興趣之對象、辨識感興趣之時刻且自動俘獲該時刻、達成跨不同時間片段之多個視覺訊框上之語義理解、為人、場所或對象辨識中之額外能力提供平台支援、辨識完整設定集合及包括個人化位置之微位置、辨識複雜活動、辨識複雜手勢以控制用戶端系統130、處置來自自我中心(egocentric)攝影機之影像/視訊(例如,具有運動、俘獲角、解析度)、實現關於具有較低解析度之影像的類似位準之準確度及速度、進行人、場所及對象之一次性註冊及辨識,及/或在用戶端系統130上進行視覺辨識。
在特定實施例中,輔助系統140可充分利用電腦視覺技術來達成視覺認知。除電腦視覺技術以外,輔助系統140亦可探索可補充這些技術之選項以使對象辨識之規模擴大。在特定實施例中,輔助系統140可使用補充信號來識別使用者,該些信號諸如對象之標記的光學字元辨識(optical character recognition;OCR)、用於場所辨識之GPS信號,及/或來自使用者之用戶端系統130的信號。在特定實施例中,輔助系統140可進行普通場景辨識(例如,家、工作、公共空間)以設定使用者之情境,且減小電腦視覺搜尋空間以識別可能之對象或人。在特定實施例中,輔助系統140可指導使用者訓練輔助系統140。舉例而言,眾包(crowdsourcing)可用於使使用者標記對象且幫助輔助系統140隨時間推移辨識更多對象。作為另一實例,當使用輔助系統140時,使用者可註冊其個人對象作為初始設置之部分。輔助系統140可進一步允許使用者為與其互動之對象提供正/負信號以針對該些使用者訓練及改良個人化模型。
在特定實施例中,信號智慧之能力可使得輔助系統140能夠例如判定使用者位置、理解日期/時間、判定家人位置、理解使用者之行事曆及未來所要位置、整合更豐富聲音理解以經由僅聲音識別設定/情境,及/或在運行時間建立可個人化至使用者之個別常式的信號智慧模型。
在特定實施例中,推理之能力可使得輔助系統140能夠例如在未來任何時刻拾取先前交談執行緒、合成所有信號以理解微情境及個人化情境、自使用者之歷史行為學習互動模式及偏好且準確地建議其可能重視之互動、基於微情境理解產生高度預測主動之建議、理解使用者可能在一天中之何時想要看到何內容,及/或理解場景之變化及其可如何影響使用者之所要內容。
在特定實施例中,記憶之能力可使得輔助系統140能夠例如記住使用者先前呼叫或與之互動的哪些社交連接、寫入至記憶中及任意查詢記憶(亦即,開放口述及自動標籤)、基於先前互動及長期學習提取更豐富偏好、記住使用者之生活歷史、自自我中心之資料串流及自動目錄提取豐富資訊,及/或以結構化形式寫入至記憶以形成豐富之短期、情節性及長期記憶。
圖 3說明輔助系統140之實例流程圖300。在特定實施例中,輔助服務模組305可在接收到使用者輸入後即刻存取請求管理器310。在特定實施例中,請求管理器310可包含情境提取器312及交談式理解對象產生器(CU對象產生器)314。情境提取器312可提取與使用者輸入相關聯之情境資訊。情境提取器312亦可基於在用戶端系統130上執行之輔助應用程式136更新情境資訊。作為一實例而非作為限制,情境資訊之更新可包含顯示於用戶端系統130上之內容項目。作為另一實例而非作為限制,情境資訊之更新可包含是否在用戶端系統130上設定鬧鐘。作為另一實例而非作為限制,情境資訊之更新可包含是否在用戶端系統130上播放歌曲。CU對象產生器314可產生與使用者輸入相關之特定內容對象。內容對象可包含與使用者輸入相關聯之對話會話資料及特徵,其可與輔助系統140之所有模組共用。在特定實施例中,請求管理器310可在資料儲存區320中儲存情境資訊及所產生之內容對象,該資料儲存區320為實施於輔助系統140中之特定資料儲存區。
在特定實施例中,請求管理器310可將所產生之內容對象發送至NLU模組210。NLU模組210可進行複數個步驟以處理內容對象。NLU模組210可首先經由允許清單(allowlist)/阻擋清單(blocklist)330運行內容對象。在特定實施例中,允許清單/阻擋清單330可包含匹配使用者輸入之解譯資料。NLU模組210可接著進行內容對象之特徵化332。NLU模組210可接著基於由特徵化332引起之特徵對使用者輸入進行域分類/選擇334以將使用者輸入分類至預定義域中。在特定實施例中,域可表示互動(例如,教育)之社交情境,或用於意圖集合(例如,音樂)之名字空間。域分類/選擇結果可基於兩個相關過程進一步處理。在一個過程中,NLU模組210可使用後設意圖分類器336a處理域分類/選擇結果。後設意圖分類器336a可判定描述使用者之意圖的類別。意圖可為語義意向之預定義分類學中之元素,其可指示使用者與輔助系統140互動之目的。NLU模組210a可將使用者輸入分類至預定義分類學之成員中。舉例而言,使用者輸入可為「播放貝多芬第五號(Beethoven’s 5th)」且NLU模組210a可將該輸入分類為具有意圖[IN:play_music]。在特定實施例中,為多個域所共用之意圖可由後設意圖分類器336a處理。作為一實例而非作為限制,後設意圖分類器336a可係基於機器學習模型,該機器學習模型可採用域分類/選擇結果作為輸入且計算輸入與特定預定義後設意圖相關聯之機率。NLU模組210可接著使用後設槽標記器338a來註解來自後設意圖分類器336a之分類結果的一或多個後設槽。槽可為對應於表示基本語義實體之使用者輸入內的字元串之命名子串。舉例而言,「披薩」之槽可為[SL:dish]。在特定實施例中,有效或預期命名槽集合可在分級意圖上調節。作為一實例而非作為限制,對於意圖[IN:play_music],有效槽可為[SL:song_name]。在特定實施例中,後設槽標記器338a可標記通用槽,諸如參考項目(例如,第一)、槽之類型、槽之值等。在特定實施例中,NLU模組210可使用意圖分類器336b處理域分類/選擇結果。意圖分類器336b可判定與使用者輸入相關聯之使用者之意圖。在特定實施例中,可存在針對每一域之一個意圖分類器336b以判定給定域中之最可能意圖。作為一實例而非作為限制,意圖分類器336b可係基於機器學習模型,該機器學習模型可採用域分類/選擇結果作為輸入且計算輸入與特定預定義意圖相關聯之機率。NLU模組210可接著使用槽標記器338b來註解與使用者輸入相關聯之一或多個槽。在特定實施例中,槽標記器338b可註解用於使用者輸入之n元語法的一或多個槽。作為一實例而非作為限制,使用者輸入可包含「將我帳戶中的500美元變成日元」。意圖分類器336b可採用使用者輸入作為輸入且將其公式化成向量。意圖分類器336b可接著基於表示使用者輸入的向量與表示不同預定義意圖的向量之間的向量比較來計算使用者輸入與不同預定義意圖相關聯之機率。以類似方式,槽標記器338b可採用使用者輸入作為輸入且將每一字公式化成向量。意圖分類器336b可接著基於表示字的向量與表示不同預定義槽的向量之間的向量比較來計算每一字與不同預定義槽相關聯之機率。使用者之意圖可分類為「改變貨幣」。使用者輸入之槽可包含「500」、「美元」、「帳戶」及「日元」。使用者之後設意圖可分類為「財務服務」。後設槽可包含「財務」。
在特定實施例中,NLU模組210可另外自社交圖、知識圖或概念圖中之一或多者提取資訊,且可擷取在用戶端系統130上本端地儲存的使用者之設定檔。NLU模組210可在分析使用者輸入時另外考慮情境資訊。NLU模組210可藉由以下操作進一步處理來自這些不同來源之資訊:識別及聚合資訊、註解使用者輸入之n元語法、基於所聚合資訊用可信度得分對n元語法進行排序,及將經排序n元語法公式化成可由NLU模組210用於理解使用者輸入的特徵。在特定實施例中,NLU模組210可以個人化及情境感知方式識別來自使用者輸入之域、意圖或槽中之一或多者。作為一實例而非作為限制,使用者輸入可包含「向我展示如何到達咖啡館」。NLU模組210可基於使用者之個人資訊及相關聯情境資訊識別使用者想要到達之特定咖啡館。在特定實施例中,NLU模組210可包含特定語言之專門字典、剖析器及文法規則以將句子分割成內部表示。NLU模組210亦可包含進行原初語義或隨機語義分析之一或多個程式,且可進一步使用語用學來理解使用者輸入。在特定實施例中,剖析器可係基於包含多個長短期記憶(long-short term memory;LSTM)網路之深度學習架構。作為一實例而非作為限制,剖析器可係基於遞回神經網路文法(recurrent neural network grammar;RNNG)模型,其為一種類型之遞回及遞歸LSTM演算法。關於自然語言理解(NLU)之更多資訊可見於2018年6月18日申請之美國專利申請案第16/011062號、2018年7月2日申請之美國專利申請案第16/025317號,及2018年7月17日申請之美國專利申請案第16/038120號,該些申請案中之每一者以引用之方式併入。
在特定實施例中,可將NLU模組210之輸出發送至實體解析模組212以解析相關實體。實體可包括例如唯一使用者或概念,其中之每一者可具有唯一識別符(identifier;ID)。實體可包括真實世界實體(來自常識基礎)、使用者實體(來自使用者記憶)、情境實體(裝置情境/對話情境)或值解析(數字、日期時間等)中之一或多者。在特定實施例中,實體解析模組212可包含域實體解析340及通用實體解析342。實體解析模組212可執行通用及域特定實體解析。通用實體解析342可藉由將槽及後設槽歸類成不同通用話題來解析實體。域實體解析340可藉由將槽及後設槽歸類成不同域來解析實體。作為一實例而非作為限制,回應於特定品牌之電動汽車之優勢的查詢之輸入,通用實體解析342可將參考品牌之電動汽車解析為車輛且域實體解析340可將參考品牌之電動汽車解析為電動汽車。
在特定實施例中,可基於關於世界及使用者之知識350來解析實體。輔助系統140可自圖352提取本體資料。作為一實例而非作為限制,圖352可包含知識圖、社交圖或概念圖中之一或多者。本體資料可包含不同槽/後設槽與域之間的結構關係。本體資料亦可包含槽/後設槽可如何分組之資訊,在其中更高層級包含域之階層內相關,且根據相似度及差異來細分。舉例而言,知識圖可包含複數個實體。每一實體可包含與一或多個屬性值相關聯之單一記錄。特定記錄可與唯一實體識別符相關聯。每一記錄可具有實體之屬性的多樣值。每一屬性值可與可信度機率及/或語義權重相關聯。屬性值之可信度機率表示值對於給定屬性係準確的機率。屬性值之語義權重可表示在語義上適合於給定屬性之值如何考慮所有可用資訊。舉例而言,知識圖可包含標題為「BookName」之書的實體,其可包括自多個內容來源(例如,線上社交網路、線上百科全書、書評來源、媒體資料庫及娛樂內容來源)提取之資訊,該資訊可經去重、解析及融合以產生用於知識圖之單一唯一記錄。在此實例中,標題為「BookName」之實體可與「內容類型」實體屬性之「奇幻」屬性值相關聯。關於知識圖之更多資訊可見於2018年7月27日申請之美國專利申請案第16/048049號及2018年7月27日申請之美國專利申請案第16/048101號,該些申請案中之每一者以引用之方式併入。
在特定實施例中,輔助使用者記憶體(assistant user memory;AUM)354可包含使用者情節性記憶,該些使用者情節性記憶幫助判定如何更有效地輔助使用者。AUM 354可為儲存、擷取、索引及搜尋使用者資料之中心場所。作為一實例而非作為限制,AUM 354可儲存資訊,諸如連絡人、相片、提醒等。另外,AUM 354可將資料自動同步至伺服器及其他裝置(僅針對非敏感資料)。作為一實例而非作為限制,若使用者在一個裝置上為連絡人設定暱稱,則所有裝置可基於AUM 354同步且獲取該暱稱。在特定實施例中,AUM 354可首先準備事件、使用者狀態、提醒及觸發狀態以用於儲存於資料儲存區中。可創建記憶節點識別符(ID)以將條目對象儲存於AUM 354中,其中條目可為關於使用者之資訊(例如,相片、提醒等)之一些片段。作為一實例而非作為限制,記憶節點ID之前幾個位元可指示此為記憶節點ID類型,下一位元可為使用者ID,且下一位元可為創建時間。AUM 354可接著視需要索引這些資料以供擷取。索引ID可出於此目的而創建。在特定實施例中,在給出「索引關鍵字」(例如,PHOTO_LOCATION)及「索引值」(例如,「舊金山」)之情況下,AUM 354可獲取具有其屬性(例如,在舊金山之相片)之記憶ID之清單。作為一實例而非作為限制,前幾個位元可指示此為索引ID類型,下一位元可為使用者ID,且下一位元可編碼「索引關鍵字」及「索引值」。AUM 354可進一步使用靈活查詢語言進行資訊擷取。關係索引ID可出於此目的而創建。在特定實施例中,在給出來源記憶節點及邊緣類型之情況下,AUM 354可自該來源獲取具有該類型之傳出邊緣的所有目標節點之記憶ID。作為一實例而非作為限制,前幾個位元可指示此為關係索引ID類型,下一位元可為使用者ID,且下一位元可為來源節點ID及邊緣類型。在特定實施例中,AUM 354可幫助偵測不同事件之同時更新。關於情節性記憶之更多資訊可見於2019年8月27日申請之美國專利申請案第16/552559號,其以引用之方式併入。
在特定實施例中,實體解析模組212可使用不同技術來解析不同類型之實體。對於真實世界實體,實體解析模組212可使用知識圖來解析實體之跨度,諸如「音樂軌」、「電影」等。對於使用者實體,實體解析模組212可使用使用者記憶或一些代理程式來解析使用者特定實體之跨度,諸如「連絡人」、「提醒」或「關係」。對於情境實體,實體解析模組212可基於來自情境引擎220之資訊進行互參以解析對情境中之實體的參考,諸如「他」、「她」、「第一個」或「最末一個」。在特定實施例中,為了互參,實體解析模組212可創建由NLU模組210判定之實體的參考。實體解析模組212可接著準確地解析這些參考。作為一實例而非作為限制,使用者輸入可包含「為我尋找最近的雜貨店且引導我去那裏」。基於互參,實體解析模組212可將「那裏」解譯為「最近的雜貨店」。在特定實施例中,互參可取決於來自情境引擎220及對話管理器216之資訊以便以改良之準確度解譯參考。在特定實施例中,實體解析模組212可在情境(裝置情境或對話情境)下另外解析實體,諸如展示於螢幕上之實體或來自最末交談歷史之實體。對於值解析,實體解析模組212可解析對呈標準化形式的精確值(諸如數值、日期時間、地址等)之提及。
在特定實施例中,實體解析模組212可首先對適用隱私約束進行檢查,以便保證進行實體解析並不違反任何適用隱私策略。作為一實例而非作為限制,待解析之實體可為另一使用者,該使用者在其隱私設定中指定不可在線上社交網路上搜尋到其身分。在此情況下,實體解析模組212可制止回應於使用者輸入而傳回使用者之實體識別符。藉由利用自社交圖、知識圖、概念圖及使用者設定檔獲得之所描述資訊,且藉由遵從任何適用隱私策略,實體解析模組212可以個人化、情境感知且隱私受保護之方式解析與使用者輸入相關聯之實體。
在特定實施例中,實體解析模組212可與ASR模組208一起工作以進行實體解析。以下實例說明實體解析模組212可如何解析實體名稱。實體解析模組212可首先將與使用者相關聯之名稱擴展成其各別正規化文字形式作為語音(phonetic)輔音表示,其可使用雙元電話演算法在語音上經轉錄。實體解析模組212可接著判定候選轉錄之最佳
n個集合,且對候選轉錄之最佳
n個集合中之所有語音轉錄進行並行理解程序。在特定實施例中,解析至同一意圖的每一轉錄可接著折迭成單一意圖。每一意圖可接著經指派對應於用於該意圖之最高得分候選轉錄的得分。在折迭期間,實體解析模組212可識別與每一槽相關聯之各種可能文字轉錄,其藉由與槽之轉錄相關聯之邊界時序偏移相關。實體解析模組212可接著自複數個(例如,1000個)候選轉錄提取每一槽之可能候選轉錄之子集,而不管其是否分類至同一意圖。以此方式,槽及意圖可為片語之評分清單。在特定實施例中,能夠處置意圖之新或運行任務可經識別出且具備意圖(例如,用於將訊息發送至另一使用者的意圖之訊息編制(composition)任務。識別出之任務可接著藉由向其提供與其槽中之一者相關聯之片語之評分清單及應針對其解析的類別來觸發實體解析模組212。作為一實例而非作為限制,若實體屬性經指定為「朋友」,則實體解析模組212可經由可在匹配器編譯時間運行之同一擴展運行術語之每一候選清單。術語之每一候選擴展可匹配於預編譯線索匹配結構中。匹配可使用至少部分地基於經轉錄輸入、經匹配形式及朋友名稱之函式來評分。作為另一實例而非作為限制,若實體屬性經指定為「名人/著名的人」,則實體解析模組212可針對自ASR模組208輸出的槽之術語之每一候選集合的知識圖進行並行搜尋。實體解析模組212可基於經匹配個人風行度及ASR提供之分數信號而對匹配進行評分。在特定實施例中,當指定記憶類別時,實體解析模組212可針對使用者記憶進行相同搜尋。實體解析模組212可後向爬梳使用者記憶且嘗試匹配每一記憶(例如,在交談中最近提及,或經由視覺信號發現及辨識出的人等) 對於每一實體,實體解析模組212可類似於如何匹配朋友(亦即,語音)而採用匹配。在特定實施例中,評分可包含與先前提及名稱之新近度相關聯之時間衰變因數。實體解析模組212可進一步對所有匹配進行組合、分選及去重。在特定實施例中,任務可接收候選集合。當存在多個高評分候選時,實體解析模組212可進行使用者促進之歧義消除(例如,自使用者獲取對這些候選之即時使用者回饋)。
在特定實施例中,情境引擎220可幫助實體解析模組212改良實體解析。情境引擎220可包含離線聚合器及線上推斷服務。離線聚合器可處理與使用者相關聯之自先前時間視窗收集的複數個資料。作為一實例而非作為限制,資料可包括在預定時間框(例如,自前90天視窗)期間收集之新聞饋送貼文/評論、與新聞饋送貼文/評論之互動、搜尋歷史等。處理結果可儲存於情境引擎220中作為使用者設定檔之部分。使用者之使用者設定檔可包含使用者設定檔資料,其包括與使用者相關聯之人口統計資訊、社交資訊及情境資訊。使用者設定檔資料亦可包括使用者對複數個話題之興趣及偏好,其經由新聞饋送上之交談、搜尋日誌、訊息傳遞平台等聚合。使用者設定檔之使用可服從隱私約束以確保可僅出於使用者之益處而使用他/她之資訊,且不與其他任何人共用。關於使用者設定檔之更多資訊可見於2018年4月30日申請之美國專利申請案第15/967239號,其以引用之方式併入。在特定實施例中,線上推斷服務可分析由輔助系統140在當前時間接收到之與使用者相關聯之交談式資料。分析結果可亦作為使用者設定檔之部分而儲存於情境引擎220中。在特定實施例中,離線聚合器及線上推斷服務兩者可自複數個資料提取個人化特徵。所提取之個人化特徵可由輔助系統140之其他模組用以更佳地理解使用者輸入。在特定實施例中,實體解析模組212可在基於自然語言處理(NLP)之以下步驟中處理來自情境引擎220之資訊(例如,使用者設定檔)。在特定實施例中,實體解析模組212可基於NLP藉由文字正規化使文字符記化,自文字提取語法特徵,且自文字提取語義特徵。實體解析模組212可另外自情境資訊提取特徵,該情境資訊係自使用者與輔助系統140之間的對話歷史存取。實體解析模組212可基於情境資訊進一步進行全域字嵌入、域特定嵌入,及/或動態嵌入。可藉由實體標記器用實體註解處理結果。基於註解,實體解析模組212可產生詞典。在特定實施例中,詞典可包含可動態地離線更新之全域詞典特徵。實體解析模組212可對由實體標記器標記之實體進行排序。在特定實施例中,實體解析模組212可與包括社交圖、知識圖或概念圖中之一或多者之不同圖352通信,以提取與自情境引擎220擷取的資訊相關之本體資料。在特定實施例中,實體解析模組212可基於使用者設定檔、經排序實體及來自圖352之資訊進一步解析實體。
在特定實施例中實體解析模組212可由任務(對應於代理程式228)驅動。處理次序之此反轉可使得可能將存在於任務中之域知識應用於預過濾器或偏向解析目標集合(當其明顯且適合於如此做時)。作為一實例而非作為限制,對於發音「John是誰?」,發音中未暗示清晰類別。因此,實體解析模組212可針對所有事物解析「John」。作為另一實例而非作為限制,對於發音「發送訊息給John」,實體解析模組212可容易地判定「John」指代可進行訊息傳遞之個人。因此,實體解析模組212可將解析偏向於朋友。作為另一實例而非作為限制,對於發音「John最著名的專輯是哪張?」,為了解析「John」,實體解析模組212可首先判定對應於發音之任務,其為尋找音樂專輯。實體解析模組212可判定與音樂專輯相關之實體包括歌手、生產商及錄音工作室。因此,實體解析模組212可在音樂域中之這些類型之實體當中搜尋以解析「John」。
在特定實施例中,可將實體解析模組212之輸出發送至對話管理器216以推進與使用者之交談流程。對話管理器216可為反覆地更新狀態且基於新狀態選擇動作的異步狀態機。對話管理器216可另外儲存使用者與輔助系統140之間的先前交談。在特定實施例中,對話管理器216可進行對話最佳化。對話最佳化係關於理解及識別與使用者之對話中的最可能分支選項之挑戰。作為一實例而非作為限制,輔助系統140可實施對話最佳化技術以消除對確認使用者想要呼叫之人的需要,此係由於輔助系統140可判定基於情境及可用資料推斷出的個人為意欲接收者的高可信度。在特定實施例中,對話管理器216可實施加強學習構架以改良對話最佳化。對話管理器216可包含對話意圖解析356、對話狀態追蹤器218及動作選擇器222。在特定實施例中,對話管理器216可執行所選動作且接著再次呼叫對話狀態追蹤器218,直至所選動作要求使用者回應或不再存在待執行之動作為止。每一所選動作可取決於來自先前動作之執行結果。在特定實施例中,對話意圖解析356可基於使用者與輔助系統140之間的對話歷史解析與當前對話會話相關聯之使用者意圖。對話意圖解析356可將由NLU模組210判定之意圖映射至不同對話意圖。對話意圖解析356可基於來自NLU模組210、實體解析模組212之信號及使用者與輔助系統140之間的對話歷史進一步對對話意圖進行排序。
在特定實施例中,對話狀態追蹤器218可使用運算子集合來追蹤對話狀態。運算子可包含更新對話狀態所必需之資料及邏輯。每一運算子可在處理傳入使用者輸入之後充當對話狀態之增量。在特定實施例中,對話狀態追蹤器218可包含任務追蹤器,其可係基於任務規格及不同規則。對話狀態追蹤器218亦可包含槽追蹤器及互參組件,其可為基於規則的及/或基於新近度的。互參組件可幫助實體解析模組212解析實體。在替代實施例中,使用互參組件,對話狀態追蹤器218可替換實體解析模組212且可解析任何參考/提及且追蹤狀態。在特定實施例中,對話狀態追蹤器218可使用任務規格將上游結果轉換成候選任務且用實體解析來解析引數。可追蹤使用者狀態(例如,使用者之當前活動)及任務狀態(例如,觸發條件)兩者。在給出當前狀態之情況下,對話狀態追蹤器218可產生輔助系統140可針對使用者處理及進行之候選任務。作為一實例而非作為限制,候選任務可包括「展示建議」、「獲取天氣資訊」或「拍攝相片」。在特定實施例中,對話狀態追蹤器218可基於來自例如知識圖、使用者記憶及使用者任務歷史之可用資料產生候選任務。在特定實施例中,對話狀態追蹤器218可接著使用經解析引數解析觸發對象。作為一實例而非作為限制,使用者輸入「今晚在媽媽上線並且我在家時提醒我呼叫她」可由對話狀態追蹤器218進行自NLU輸出至觸發表示之轉換,如下表1中所說明:
表 1:自NLU輸出至觸發表示之實例轉換
在以上實例中,「媽媽」、「家」及「今晚」由其各別實體personEntity、locationEntity、datetimeEntity表示。
NLU 本體表示 : | 觸發表示: | |
[IN:CREATE_SMART_REMINDER Remind me to [SL:TODO call mom] when [SL:TRIGGER_CONJUNCTION [IN:GET_TRIGGER [SL:TRIGGER_SOCIAL_UPDATE she’s online] and I’m [SL:TRIGGER_LOCATION home] [SL:DATE_TIME tonight] ] ] ] | 觸發:{ andTriggers: [ condition: {ContextualEvent(mom is online)}, condition: {ContextualEvent(location is home)}, condition: {ContextualEvent(time is tonight)}]))]} |
在特定實施例中,對話管理器216可將由情境引擎220判定之事件映射至動作。作為一實例而非作為限制,動作可為自然語言產生(NLG)動作、顯示或覆疊、裝置動作或擷取動作。對話管理器216亦可進行情境追蹤及互動管理。情境追蹤可包含將事件之即時串流聚合成統一使用者狀態。互動管理可包含選擇每一狀態下的最佳動作。在特定實施例中,對話狀態追蹤器218可進行情境追蹤(亦即,追蹤與使用者相關之事件)。為支援事件串流之處理,對話狀態追蹤器218a可使用可消耗各種類型之事件且更新內部輔助狀態的事件處置程式(例如,用於歧義消除、確認、請求)。每一事件類型可具有一或多個處置程式。每一事件處置程式可修改輔助狀態之某一截塊。在特定實施例中,事件處置程式可在狀態之不相交子集上操作(亦即,在該狀態下僅一個處置程式可具有對特定欄位之寫入存取)。在特定實施例中,所有事件處置程式均可具有處理給定事件之機會。作為一實例而非作為限制,對話狀態追蹤器218可對每一事件並行運行所有事件處置程式,且接著可合併由每一事件處置程式所提出之狀態更新(例如,對於每一事件,大部分處置程式可傳回NULL更新)。
在特定實施例中,對話狀態追蹤器218可作為要求定版之任何程式化處置程式(邏輯)而工作。在特定實施例中,對話狀態追蹤器218可為無副作用組件且產生提出對對話狀態之更新的對話狀態更新運算子之最佳n個候選,而非直接更改對話狀態。對話狀態追蹤器218可包含含有基於對話狀態處置不同類型之NLU意圖且產生運算子之邏輯的意圖解析器。在特定實施例中,邏輯可由意圖處置程式組織,諸如用以在輔助系統140要求歧義消除時處置意圖之歧義消除意圖處置程式、包含用以處置確認之邏輯的確認意圖處置程式等。意圖解析器可連同對話狀態一起組合輪次意圖以產生用於與使用者之交談的情境更新。槽解析組件可接著使用包括知識圖及域代理程式之解析提供者以遞歸方式解析更新運算子中之槽。在特定實施例中,對話狀態追蹤器218可更新當前對話會話之對話狀態/對該對話狀態進行排序。作為一實例而非作為限制,若對話會話結束,則對話狀態追蹤器218可將對話狀態更新為「已完成」。作為另一實例而非作為限制,對話狀態追蹤器218可基於與對話狀態相關聯之優先級來對該對話狀態進行排序。
在特定實施例中,對話狀態追蹤器218可關於對話意圖及相關聯內容對象而與動作選擇器222通信。在特定實施例中,動作選擇器222可針對不同對話意圖對不同對話假設進行排序。動作選擇器222可獲得對話狀態之候選運算子且查閱對話策略360以決定應執行何動作。在特定實施例中,對話策略360可為基於樹型之策略,其為預建構對話計劃。基於當前對話狀態,對話策略360可選擇執行之節點且產生對應動作。作為一實例而非作為限制,基於樹型之策略可包含話題分組節點及對話動作(葉)節點。在特定實施例中,對話策略360亦可包含描述由代理程式228進行之動作的執行計劃之資料結構。對話策略360可進一步包含經由邏輯運算子彼此相關之多個目標。在特定實施例中,目標可為對話策略之一部分的結果且其可由對話管理器216建構。目標可由具有一或多個命名引數之識別符(例如,字串)表示,該一或多個命名引數使目標參數化。作為一實例而非作為限制,具有其相關聯目標引數之目標可表示為{confirm_artist, args:{artist: “Madonna”}}。在特定實施例中,目標可映射至對話策略360之樹型結構化表示之樹的葉。
在特定實施例中,輔助系統140可使用分級對話策略360,其中通用策略362處置跨域商業邏輯且任務策略364處置任務/域特定邏輯。通用策略362可用於並非特定針對個別任務之動作。通用策略362可用於判定任務堆疊及切換、主動任務、通知等。通用策略362可包含處置低可信度意圖、內部錯誤、具有重試之不可接受的使用者回應,及/或基於ASR或NLU可信度得分跳過或插入確認。通用策略362亦可包含對來自對話狀態追蹤器218輸出之對話狀態更新候選進行排序且選取一者來更新(諸如選取最高排序任務意圖)的邏輯。在特定實施例中,輔助系統140可具有用於通用策略362之特定介面,其允許將分散之跨域策略/商業規則(尤其對話狀態追蹤器218中發現之跨域策略/商業規則)合併至動作選擇器222之功能中。用於通用策略362之介面亦可允許可與特定情形或用戶端相聯繫的整裝子策略單元(例如,可基於用戶端、情形容易地接通或斷開的策略功能)之製作。用於通用策略362之介面亦可允許提供具有退避之策略的分層,亦即多個策略單元,其中處理特定情形之高度專用策略單元藉由在更廣泛情形下應用之更通用策略362備份。在此情境中,通用策略362可替代地包含意圖或任務特定策略。
在特定實施例中,任務策略364可包含基於任務及當前狀態之動作選擇器222的邏輯。任務策略364可為動態及特用的。在特定實施例中,任務策略364之類型可包括以下類型中之一或多者:(1)手動精製之基於樹型之對話計劃;(2)直接實施用於產生動作之介面的經寫碼策略;(3)組態器指定之槽填充任務;或(4)自資料學習之基於機器學習模型的策略。在特定實施例中,輔助系統140可藉由基於規則之邏輯啟動新域且稍後藉由機器學習模型優化任務策略364。在特定實施例中,通用策略362可自候選運算子選取一個運算子以更新對話狀態,隨後藉由任務策略364選擇面向使用者之動作。一旦任務在對話狀態中處於作用中,即可查詢對應任務策略364以選擇正確動作。
在特定實施例中,動作選擇器222可基於由情境引擎220判定之事件、對話意圖及狀態、相關聯內容對象及來自對話策略360之指導中之一或多者選擇動作。每一對話策略360可在狀態之欄位上訂用特定條件。在事件經處理且狀態經更新之後,動作選擇器222可運行快速搜尋演算法(例如,類似於布爾型(Boolean)可滿足性)以基於當前狀態識別應觸發哪些策略。在特定實施例中,若觸發多個策略,則動作選擇器222可使用聯繫破壞(tie-breaking)機制來選取特定策略。替代地,動作選擇器222可使用更複雜的方法,其可演習每一策略且接著選取可經判定具有較高成功可能性之特定策略。在特定實施例中,將事件映射至動作可產生輔助系統140之若干技術優勢。一個技術優勢可包括每一事件可為來自使用者或使用者之實體/數位環境的狀態更新,其可或可不觸發來自輔助系統140之動作。另一技術優勢可包括藉由首先消耗所有事件以更新狀態且接著觸發來自最終狀態之動作來處置事件之快速叢發(例如,使用者進入新建築物且看到許多人)的可能性。另一技術優勢可包括將所有事件消耗成單一全域輔助狀態。
在特定實施例中,動作選擇器222可採用對話狀態更新運算子作為輸入之部分以選擇對話動作。對話動作之執行可產生預期之集合以指示對話狀態追蹤器218處置未來輪次。在特定實施例中,預期可用以在處置來自下一輪次之使用者輸入時將情境提供至對話狀態追蹤器218。作為一實例而非作為限制,槽請求對話動作可具有證明所請求槽之值的預期。在特定實施例中,對話狀態追蹤器218及動作選擇器222兩者可不改變對話狀態,直至執行所選動作為止。此可允許輔助系統140執行對話狀態追蹤器218及動作選擇器222以用於處理推測性ASR結果,且藉由演習進行最佳
n個排序。
在特定實施例中,動作選擇器222可調用不同代理程式228以用於任務執行。同時,對話管理器216可接收更新對話狀態的指令。作為一實例而非作為限制,更新可包含等待代理程式228之回應。代理程式228可在註冊之內容提供者當中選擇以完成動作。資料結構可由對話管理器216基於意圖及與意圖相關聯之一或多個槽建構。在特定實施例中,代理程式228可包含第一方代理程式及第三方代理程式。在特定實施例中,第一方代理程式可包含可由輔助系統140存取及控制之內部代理程式(例如,與由線上社交網路提供之服務(諸如訊息傳遞服務或相片共享服務)相關聯之代理程式)。在特定實施例中,第三方代理程式可包含輔助系統140無控制之外部代理程式(例如,第三方線上音樂應用程式代理程式、票證銷售代理程式)。第一方代理程式可與提供由社交網路連接系統160代管之內容對象及/或服務的第一方提供者相關聯。第三方代理程式可與提供由第三方系統170代管之內容對象及/或服務的第三方提供者相關聯。在特定實施例中,第一方代理程式或第三方代理程式中之每一者可經指定用於特定域。作為一實例而非作為限制,域可包含天氣、運輸、音樂、購物、社交、視訊、相片、事件、位置及/或工作。在特定實施例中,輔助系統140可合作地使用複數個代理程式228對使用者輸入作出回應。作為一實例而非作為限制,使用者輸入可包含「引導我去我的下一會議」。輔助系統140可使用行事歷代理程式來擷取下一會議之位置。輔助系統140可接著使用導航代理程式將使用者引導至下一會議。
在特定實施例中,對話管理器216可支援槽提及之多輪次組成解析。對於來自NLU模組210之組成剖析,解析器可以遞歸方式解析巢套式槽。對話管理器216可另外支援巢套式槽之歧義消除。作為一實例而非作為限制,使用者輸入可為「提醒我呼叫Alex」。解析器可能需要在創建可行提醒項目待辦事項實體之前知曉呼叫哪個Alex。當需要針對特定槽之進一步使用者說明時,解析器可停止解析且設定解析狀態。通用策略362可檢查解析狀態且創建用於使用者說明之對應對話動作。在對話狀態追蹤器218中,基於使用者輸入及最末對話動作,對話管理器216可更新巢套式槽。此能力可允許輔助系統140不僅與使用者互動以收集缺失槽值且亦減少完成任務之更複雜/歧義發音的歧義性。在特定實施例中,對話管理器216可進一步支援請求巢套式意圖及多意圖使用者輸入(例如,「拍攝此相片並將其發送給爸爸」)中之缺失槽。在特定實施例中,對話管理器216可支援機器學習模型以提供更穩固對話體驗。作為一實例而非作為限制,對話狀態追蹤器218可使用基於神經網路之模型(或任何其他合適之機器學習模型)來模型化對任務假設之信念。作為另一實例而非作為限制,對於動作選擇器222,最高優先級策略單元可包含可能必須藉由設計發生之白名單/黑名單覆蓋;中間優先級單元可包含經設計用於動作選擇之機器學習模型;且較低優先級單元可包含在機器學習模型選擇並不處置情形時的基於規則之後援。在特定實施例中,基於機器學習模型之通用策略單元可幫助輔助系統140減少冗餘歧義消除或確認步驟,藉此減少執行使用者輸入之輪次數。
在特定實施例中,由動作選擇器222判定之動作可發送至遞送系統230。遞送系統230可包含CU編排器370、回應產生組件380、對話狀態寫入組件382及文字話語(text-to-speech;TTS)組件390。特定而言,動作選擇器222之輸出可在CU編排器370處接收到。在特定實施例中,來自動作選擇器222之輸出可公式化為<
k,c,u,d>元組,其中
k指示知識源,
c指示通信目標,
u指示使用者模型,且
d指示話語模型。
在特定實施例中,CU編排器370可使用自然語言產生(NLG)組件372產生用於使用者之通信內容。在特定實施例中,NLG組件372可使用不同語言模型及/或語言模板來產生自然語言輸出。自然語言輸出之產生可為應用程式特定的。亦可針對每一使用者將自然語言輸出之產生個人化。在特定實施例中,NLG組件372可包含內容判定組件、句子規劃器及表面實現組件。內容判定組件可基於知識源、通信目標及使用者之預期來判定通信內容。作為一實例而非作為限制,判定可基於描述邏輯。描述邏輯可包含例如作為個人(表示域中之對象)、概念(描述個人集合)及角色(表示個人或概念之間的二進位關係)的三個基本概念。描述邏輯之特徵可在於允許自然語言產生器自基元一(atomic one)建立複雜概念/角色之建構器集合。在特定實施例中,內容判定組件可進行以下任務以判定通信內容。第一任務可包含轉譯任務,其中可將至NLG組件372之輸入轉譯為概念。第二任務可包含選擇任務,其中可基於使用者模型自轉譯任務產生之概念當中選擇相關概念。第三任務可包含驗證任務,其中可驗證所選概念之一致性。第四任務可包含執行個體化任務,其中經驗證概念可經執行個體化為可由NLG組件372處理之可執行檔案。句子規劃器可判定通信內容之組織以使其可為人類所理解。表面實現組件可判定待使用之特定字、句子序列及通信內容之風格。
在特定實施例中,CU編排器370亦可使用UI有效負載產生器374判定所產生通信內容之模態。由於所產生通信內容可視為對使用者輸入之回應,因此CU編排器370可另外使用回應排序器376對所產生通信內容進行排序。作為一實例而非作為限制,排序可指示回應之優先級。在特定實施例中,CU編排器370可包含可與NLG組件372分離之自然語言合成(NLS)組件。NLS組件可指定由CU編排器370產生之經合成話語之屬性,包括性別、音量、語速(pace)、風格或語體(register),以便自訂針對特定使用者、任務或代理程式之回應。NLS組件可在不參與相關聯任務之實施的情況下調諧語言合成。在特定實施例中,CU編排器370可檢查與使用者相關聯之隱私約束以確保通信內容之產生遵循隱私策略。關於自訂自然語言產生(NLG)之更多資訊可見於2018年4月30日申請之美國專利申請案第15/967279號,及2018年4月30日申請之美國專利申請案第15/966455號,該些申請案以引用之方式併入。
在特定實施例中,遞送系統230可基於CU編排器370之輸出進行不同任務。這些任務可包括使用對話狀態寫入組件382將對話狀態寫入(亦即,儲存/更新)至資料儲存區330中,且使用回應產生組件380來產生回應。在特定實施例中,若通信內容之經判定模態為音訊,則可另外將CU編排器370之輸出發送至TTS組件390。在特定實施例中,可接著將包含所產生回應、通信內容或由TTS組件390產生之話語中之一或多者的自遞送系統230之輸出發送回至對話管理器216。
在特定實施例中,協調器206可基於實體解析模組212之輸出判定是在用戶端系統130上抑或伺服器上或在使用兩者之第三操作模式(亦即,摻合模式)下處理使用者輸入。除判定如何處理使用者輸入以外,協調器206可接收來自代理程式228之結果及/或來自由對話管理器216提供之遞送系統230的結果。協調器206可接著將這些結果轉遞至仲裁器226。仲裁器226可聚合這些結果,分析該些結果,選擇最佳結果,且將所選結果提供至顯現輸出模組232。在特定實施例中,仲裁器226可查閱對話策略360以在分析這些結果時獲得指導。在特定實施例中,顯現輸出模組232可產生適合於用戶端系統130之回應。
圖 4說明處理使用者輸入之實例任務中心流程圖400。在特定實施例中,輔助系統140可不僅輔助使用者之語音起始體驗,且亦輔助使用者之在理解使用者情境時起始之更主動、多模態體驗。在特定實施例中,出於此目的,輔助系統140可依賴於輔助任務。輔助任務可為跨整個輔助堆疊共用以理解使用者意向、與使用者及世界互動以完成使用者之正確任務的中心概念。在特定實施例中,輔助任務可為輔助能力之基元單元。其可包含資料提取、更新某一狀態、執行某一命令或由較小任務集合構成之複雜任務。正確且成功地完成任務以將值遞送至使用者可為最佳化輔助系統140之目標。在特定實施例中,輔助任務可定義為能力或特徵。若輔助任務具有完全相同要求,則可跨多個產品表面共用該輔助任務,因此其可易於追蹤。其亦可自裝置傳遞至裝置,且易於由另一裝置拾取中間任務,此係由於基元單元一致。另外,輔助任務之一致格式可允許開發者對輔助堆疊中之不同模組進行工作以更易於圍繞其進行設計。此外,其可允許任務共用。作為一實例而非作為限制,若使用者正收聽智慧型眼鏡上之音樂,則使用者可說出「在我的電話上播放此音樂」。在電話已喚醒或具有待執行任務之情況下,智慧型眼鏡可製訂提供至電話的任務,該任務可接著由電話執行以開始播放音樂。在特定實施例中,若輔助任務具有不同預期行為,則其可由每一表面分別保留。在特定實施例中,輔助系統140可基於不同模態或其他信號中之使用者輸入識別右側任務,進行交談以收集所有必要資訊,且藉由在伺服器上或產品表面本端地實施於內部或外部之動作選擇器222完成任務。在特定實施例中,輔助堆疊可包含處理喚醒之組件、辨識使用者輸入、理解使用者意向、推理任務之情況、履行藉由語音產生自然語言回應之任務的集合。
在特定實施例中,使用者輸入可包含話語輸入。話語輸入可在用於自話語輸入提取文字轉錄之ASR模組208處接收到。ASR模組208可使用統計模型判定對應於藉由輔助系統140作為音訊輸入接收到之話語之給定部分的字之最可能序列。模型可包括隱藏式馬可夫(hidden Markov)模型、神經網路、深度學習模型或其任何組合中之一或多者。接收到之音訊輸入可以特定取樣率(例如,16、44.1或96 kHz)且以表示每一樣本的特定數目個位元(例如,8個、16個或24個位元)編碼成數位資料。
在特定實施例中,ASR模組208可包含字素至音素(grapheme-to-phoneme;G2P)模型、發音學習模型、個人化聲學模型、個人化語言模型(personalized language model;PLM)或結束指向(end-pointing)模型中之一或多者。在特定實施例中,字素至音素(G2P)模型可用於判定使用者之字素至音素風格(亦即,當特定使用者說出特定字時,其可聽起來像何)。在特定實施例中,個人化聲學模型可為語言中音訊信號與語音單位之聲音之間的關係之模型。因此,此個人化聲學模型可識別使用者之語音聽起來如何。個人化聲學模型可使用諸如作為音訊輸入接收到之訓練話語及對應於該話語之對應語音單位的訓練資料來產生。個人化聲學模型可使用特定使用者之語音來訓練或優化以辨識該使用者之話語。在特定實施例中,個人化語言模型可接著判定對應於針對特定音訊輸入識別出之語音單位的最可能片語。個人化語言模型可為各種字序列可能出現於語言中之機率的模型。音訊輸入中之語音單位之聲音可使用個人化語言模型與字序列匹配,且較大權重可指派給更可能為語言中之片語的字序列。具有最高權重之字序列可接著經選擇為對應於音訊輸入之文字。在特定實施例中,個人化語言模型亦可用於預測使用者在一情境下最可能說出之字。在特定實施例中,結束指向模型可偵測發音之結束何時到達。在特定實施例中,至少部分地基於用戶端系統130之有限計算能力,輔助系統140可在用戶端側程序期間的運行時間最佳化個人化語言模型。作為一實例而非作為限制,輔助系統140可針對使用者可能談論之複數個可能主題預計算複數個個人化語言模型。當使用者輸入與對輔助的請求相關聯時,輔助系統140可基於使用者活動在運行時間即時在預計算之語言模型之間切換且本端地最佳化預計算之語言模型。因此,輔助系統140可在高效地識別與使用者輸入相關聯之主題的同時節省計算資源。在特定實施例中,輔助系統140亦可在運行時間動態地重新學習使用者發音。
在特定實施例中,使用者輸入可包含非話語輸入。非話語輸入可在情境引擎220處接收到以用於自非話語輸入判定事件及情境。情境引擎220可判定多模態事件,其包含語音/文字意圖、位置更新、視覺事件、觸控、凝視、手勢、活動、裝置/應用程式事件及/或任何其他合適類型之事件。語音/文字意圖可取決於ASR模組208及NLU模組210。位置更新可由對話管理器216消耗以支援各種主動/反應性情形。視覺事件可基於出現在使用者之視場中的人或物件。這些事件可由對話管理器216消耗且在暫時使用者狀態下記錄以支援視覺共參考(例如,解析「
那件襯衫多少錢?」中之「那件」且解析「將我的連絡人發給
他」中之「他」)。凝視、手勢及活動可使得旗標經設定於可調節動作選擇器222之暫時使用者狀態(例如,使用者正跑步)下。對於裝置/應用程式事件,若應用程式對裝置狀態進行更新,則此可發佈給輔助系統140,使得對話管理器216可使用此情境(當前向使用者顯示何內容)處置反應性及主動情形。作為一實例而非作為限制,情境引擎220可使得推播通知訊息顯示於使用者之用戶端系統130之顯示螢幕上。使用者可與推播通知訊息互動,此可起始多模態事件(例如,用於回覆自另一使用者接收到之訊息的事件工作流程)。其他實例多模態事件可包括看到朋友、看到地標、在家、跑步、在相片中辨識到臉部、藉由觸控起始呼叫、藉由觸控拍攝相片、打開應用程式等。在特定實施例中,情境引擎220亦可基於世界/社交更新(例如,天氣變化、在線上交的朋友)判定世界/社交事件。社交更新可包含使用者訂用之事件(例如,朋友之生日、貼文、評論、其他通知)。這些更新可由對話管理器216消耗以基於情境觸發主動動作(例如,建議使用者在朋友生日時呼叫朋友,但僅當使用者並未專注於其他某事時才如此)。作為一實例而非作為限制,接收訊息可為社交事件,其可觸發向使用者讀出訊息之任務。
在特定實施例中,來自ASR模組208之文字轉錄可發送至NLU模組210。NLU模組210可處理文字轉錄且提取使用者意向(亦即,意圖),且基於語言本體來剖析槽或剖析結果。在特定實施例中,來自NLU模組210之意圖及槽及/或來自情境引擎220之事件及情境可發送至實體解析模組212。在特定實施例中,實體解析模組212可基於來自NLU模組210及/或情境引擎220之輸出而解析與使用者輸入相關聯之實體。實體解析模組212可使用不同技術來解析實體,包括自輔助使用者記憶體(AUM)354存取使用者記憶。在特定實施例中,AUM 354可包含有助於藉由實體解析模組212解析實體的使用者情節性記憶。AUM 354可為儲存、擷取、索引及搜尋使用者資料之中心場所。
在特定實施例中,實體解析模組212可將意圖、槽、實體、事件、情境或使用者記憶中之一或多者提供至對話狀態追蹤器218。對話狀態追蹤器218可相應地識別任務的狀態候選之集合,與使用者互動以收集必要資訊以填充狀態,且調用動作選擇器222以履行任務。在特定實施例中,對話狀態追蹤器218可包含任務追蹤器410。任務追蹤器410可追蹤與輔助任務相關聯之任務狀態。在特定實施例中,任務狀態可為資料結構持久性跨互動輪次,且即時更新以在整個互動期間俘獲任務之狀態。任務狀態可包含關於任務執行狀態之所有當前資訊,諸如引數、確認狀態、可信度得分等。任務狀態下之任何不正確或過時資訊可導致故障或不正確任務執行。任務狀態亦可充當用於許多其他組件(諸如ASR模組208、NLU模組210等)之情境資訊集合。
在特定實施例中,任務追蹤器410可包含意圖處置程式411、任務候選排序模組414、任務候選產生模組416及合併層419。在特定實施例中,任務可藉由其ID名稱識別。若在任務規格中未明確設定,則任務ID可用以使對應組件資產相關聯,諸如對話策略360、代理程式執行、NLG對話動作等。因此,來自實體解析模組212的輸出可由任務候選產生模組416之任務ID解析組件417接收以解析對應任務之任務ID。在特定實施例中,任務ID解析組件417可調用任務規格管理器API 430以存取觸發規格及部署規格以用於解析任務ID。在給出這些規格之情況下,任務ID解析組件417可使用意圖、槽、對話狀態、情境及使用者記憶來解析任務ID。
在特定實施例中,任務之技術規格可由任務規格定義。任務規格可由輔助系統140使用以觸發任務、進行對話交談及尋找正確執行模組(例如,代理程式228)來執行任務。任務規格可為產品要求文件之實施方案。其可充當所有組件同意之一般合約及要求。其可視為產品之裝配規格,而所有開發夥伴基於規格來遞送模組。在特定實施例中,可在規格之實施方案中定義輔助任務。作為一實例而非作為限制,任務規格可定義為以下類別。一個類別可為基本任務結構描述,其包含諸如ID、名稱及輸入引數之結構描述的基本識別資訊。另一類別可為觸發規格,其係關於可如何觸發任務,諸如意圖、事件訊息ID等。另一類別可為交談規格,其係用於對話管理器216進行與使用者及系統之交談。另一類別可為執行規格,其係關於將如何執行及履行任務。另一類別可為部署規格,其係關於如何將特徵部署至某些表面、本端及使用者群組。
在特定實施例中,任務規格管理器API 430可為用於存取任務規格管理器之API。任務規格管理器可為運行時間堆疊中用於自所有任務載入規格且提供介面以存取所有任務規格以獲得詳細資訊或產生任務候選之模組。在特定實施例中,任務規格管理器可為經由任務規格管理器API 430針對運行時間堆疊中之所有組件可存取的。任務規格管理器可包含靜態公用程式功能集合以藉由任務規格管理器管理任務,諸如藉由平台過濾任務候選。在登陸任務規格之前,輔助系統140亦可動態地載入任務規格以支援開發階段上之端對端開發。
在特定實施例中,任務規格可由域分組且儲存於運行時間組態435中。運行時間堆疊可在建立時間期間自運行時間組態435載入所有任務規格。在特定實施例中,在運行時間組態435中,對於域,可存在
cconf檔案及
cinc檔案(例如,sidechef_task.cconf及sidechef_task.inc)。作為一實例而非作為限制,<domain>_tasks.cconf可包含任務規格之所有細節。作為另一實例而非作為限制,若尚未支援該特徵,則<domain>_tasks.cinc可提供覆蓋所產生規格之方式。
在特定實施例中,任務執行可能要求執行引數集合。因此,引數解析組件418可使用經解析任務ID之引數規格來解析引數名稱。這些引數可基於NLU輸出(例如,槽[SL:連絡人])、對話狀態(例如,短期呼叫歷史)、使用者記憶(諸如使用者偏好、位置、長期呼叫歷史等)或裝置情境(諸如計時器狀態、螢幕內容等)來解析。在特定實施例中,引數模態可為文字、音訊、影像或其他結構化資料。槽至引數映射可由填充策略及/或語言本體定義。在特定實施例中,在給出任務觸發規格之情況下,任務候選產生模組416可基於經解析任務ID及引數尋找待作為任務候選觸發的任務清單。
在特定實施例中,所產生的任務候選可發送至待進一步排序上任務候選排序模組414。任務候選排序模組414可使用基於規則之排序器415對其進行排序。在特定實施例中,基於規則之排序器415可包含用以使某些域任務偏向之試探法集合。排序邏輯可如下文藉由情境優先級之原理加以描述。在特定實施例中,使用者指定之任務之優先級可高於前台任務(on-foreground task)。當意圖為後設意圖時,前台任務之優先級可高於裝置域任務。裝置域任務之優先級可高於觸發意圖域之任務。作為一實例而非作為限制,若在發音中提及或指定任務域,諸如「在TIMER應用程式中創建計時器」,則排序可選取任務。作為另一實例而非作為限制,若任務域處於前台或作用中狀態(諸如「停止計時器」以停止計時器),同時TIMER應用程式在前台且存在作用中計時器,則排序可選取任務。作為又一實例而非作為限制,若意圖為通用後設意圖,且任務為裝置控制同時不存在另一作用中應用程式或作用中狀態,則排序可選取任務。作為又一實例而非作為限制,若任務與意圖域相同,則排序可選取任務。在特定實施例中,任務候選排序模組414可自訂一些更多邏輯以檢查意圖/槽/實體類型之匹配。經排序任務候選可發送至合併層419。
在特定實施例中,來自實體解析模組212之輸出亦可發送至意圖處置程式411之任務ID解析組件412。任務ID解析組件412可類似於任務ID解析組件417而解析對應任務之任務ID。在特定實施例中,意圖處置程式411可另外包含引數解析組件413。引數解析組件413可類似於引數解析組件418使用針對經解析任務ID之引數規格來解析引數名稱。在特定實施例中,意圖處置程式411可應對任務不可知特徵且可不在任務特定之任務規格內表達。意圖處置程式411可輸出除任務候選以外的狀態候選,諸如引數更新、確認更新、歧義消除更新等。在特定實施例中,一些任務可能要求不可由其他任務再使用之極複雜觸發條件或極複雜引數填充邏輯,即使在任務規格中支援該些其他任務(例如,呼叫中語音命令、經由[IN:PLAY_MEDIA]之媒體任務等)亦是如此。意圖處置程式411亦可適合於此類型之任務。在特定實施例中,來自意圖處置程式411之結果可優先於來自任務候選排序模組414之結果。來自意圖處置程式411之結果亦可發送至合併層419。
在特定實施例中,合併層419可組合來自意圖處置程式411之結果及來自任務候選排序模組414之結果。對話狀態追蹤器218可建議每一任務為供對話策略360選擇之新狀態,藉此產生狀態候選清單。可進一步將經合併結果發送至交談理解加強引擎(conversational understanding reinforcement engine;CURE)追蹤器420。在特定實施例中,CURE追蹤器420可為用以改良使用即時使用者回饋在不同情境下由對話狀態追蹤器218判定狀態候選之個人化學習程序。關於交談理解加強引擎之更多資訊可見於2021年2月26日申請之美國專利申請案第17/186459號,其以引用之方式併入。
在特定實施例中,由CURE追蹤器420產生之狀態候選可發送至動作選擇器222。動作選擇器222可查閱任務策略364,該些任務策略364可自經由任務規格管理器API 430存取之執行規格產生。在特定實施例中,執行規格可描述應如何執行任務及動作選擇器222可需要採取何動作以完成任務。
在特定實施例中,動作選擇器222可判定與系統相關聯之動作。此類動作可涉及待執行之代理程式228。因此,動作選擇器222可將系統動作發送至代理程式228,且代理程式228可傳回這些動作之執行結果。在特定實施例中,動作選擇器可判定與使用者或裝置相關聯之動作。此類動作可需要由遞送系統230執行。因此,動作選擇器222可將使用者/裝置動作發送至遞送系統230,且遞送系統230可傳回這些動作之執行結果。
本文所揭示之實施例可包括人工實境系統或結合人工實境系統而實施。人工實境為在呈現給使用者之前已以某一方式調整之一種形式之實境,其可包括例如虛擬實境(VR)、擴增實境(AR)、混合實境(mixed reality;MR)、混雜實境或其某一組合及/或衍生物。人工實境內容可包括完全產生之內容或與所俘獲之內容(例如,真實世界相片)組合之所產生內容。人工實境內容可包括視訊、音訊、觸覺回饋或其某一組合,且其中之任一者可在單一通道中或在多個通道中呈現(諸如對觀看者產生三維效應之立體聲視訊)。另外,在一些實施例中,人工實境可與例如用以在人工實境中創建內容及/或用於人工實境中(例如,在人工實境中進行活動)之應用程式、產品、配件、服務或其某一組合相關聯。提供人工實境內容之人工實境系統可實施於各種平台上,包括連接至主機電腦系統之頭戴式顯示器(head-mounted display;HMD)、獨立式HMD、行動裝置或計算系統,或能夠向一或多個觀看者提供人工實境內容之任何另一硬體平台。
使用語音及手勢輸入之文字編輯
在特定實施例中,當滑鼠或其他精細指針不可用於選擇用於用戶端系統130之文字的字或區段時,輔助系統140可使得使用者能夠使用語音及手勢來編輯訊息。在替代實施例中,輔助系統140亦可使得使用者能夠結合普通指針輸入使用語音及手勢編輯訊息。輔助系統140可向使用者提供若干功能以編輯訊息。第一功能可為快速清除編輯,其中使用者可滑移以在輸入初始訊息之後發送訊息之前清除整個訊息。輔助系統140可接著提示使用者輸入新訊息,而無需使用者再次說出喚醒字。第二功能可為二步驟語音編輯。在二步驟語音編輯之情況下,使用者可輸入初始訊息,諸如「告訴Kevin我會在10分鐘內到那裏」,且接著想要藉由說出「我想改變它」來改變該訊息。輔助系統140可接著提示使用者說出其想要改變之內容。舉例而言,使用者可說出「改變時間」或「將時間改變為20分鐘」。輔助系統140可接著尋找初始訊息中對「時間」之參考且將其改變為「20分鐘」。在一步驟語音編輯之情況下,使用者可直接說出「將時間改變為20分鐘」,而不告訴輔助系統140他/她想要編輯訊息,輔助系統140可針對該訊息自動識別改變之內容。輔助系統140可進一步使用n元語法或區塊編輯以使得使用者能夠藉由將用戶端系統130之顯示器中的訊息塊之編輯分成語音/手勢可存取區塊來編輯訊息。輔助系統140可將使用者之口述智慧地打斷成共同片語(「n元語法」)及/或區塊,此可允許經由語音或手勢更容易地選擇。舉例而言,若使用者說出「在20分鐘內到那裏」但想要改變該訊息,則輔助系統140可將訊息打斷成兩個n元語法區塊[到那裏]及[在20分鐘內]。使用者可接著使用手勢選擇[在20分鐘內]且說出「在30分鐘內」以改變該訊息,同時在此程序期間,用戶端系統130之麥克風可繼續收聽使用者。作為n元語法或區塊編輯之替代方案,在接收到使用者之改變該訊息的請求後,輔助系統140即可在使用者之口述中之字上安置一數字序列。因此,使用者可容易地參考個別字以改變該些字。結合如前述之編輯方法,輔助系統140可使用凝視作為額外信號以判定使用者想要輸入文字之時間及/或對經輸入文字進行編輯。因此,輔助系統140可具有改良使用者在編輯經口述文字時之體驗的技術優勢,此係由於輔助系統140可提供使得使用者能夠方便地編輯文字的多種功能。儘管本發明描述藉由特定系統以特定方式編輯特定訊息,但本發明涵蓋藉由任何合適之系統以任何合適之方式編輯任何合適之訊息。
在特定實施例中,輔助系統140可經由用戶端系統130之使用者介面基於在用戶端系統130處接收到之使用者發音呈現文字訊息。文字訊息可包含複數個n元語法。輔助系統140可接著在用戶端系統130處接收編輯文字訊息的第一使用者請求。在特定實施例中,輔助系統140可經由使用者介面呈現在視覺上劃分成複數個區塊之文字訊息。每一區塊可包含文字訊息之n元語法中之一或多者。在特定實施例中,每一區塊中之n元語法可相對於彼此為連續的,且基於藉由自然語言理解(NLU)模組對文字訊息之分析而分組於區塊內。輔助系統140可接著在用戶端系統130處接收編輯複數個區塊中之一或多者的第二使用者請求。在特定實施例中,輔助系統140可進一步經由使用者介面呈現經編輯文字訊息。可基於第二使用者請求產生經編輯文字訊息。
對於使用者而言,用語音編輯自由形式欄位可為挑戰。輔助系統140可存在解決及平衡以確保與使用者之準確、低卡互動之數個不同問題。第一問題可為大部分錯誤可來自系統(例如,呈ASR辨識錯誤之形式)而非擊打錯誤按鍵之使用者,因此使用者可能較無寬容之耐心,尤其在較高壓力情形(如向另一個人發送訊息)下。作為一實例而非作為限制,使用者可能說出「泰國勺(Thai spoon)」但可能誤辨識為更常見字「颱風(typhoon)」。第二問題可為使用者可如何使用語音改變輸入訊息。現代鍵盤(例如,在行動電話上)可具有大量特徵及情境選單以提供對文字鍵入及編輯之全面支援,從而增加語音之已較顯著的可發現性問題。第三問題可為:編輯經由語音口述鍵入之文字可定位為用戶端系統130之可達性特徵,可能基於相較於語音命令,使用鍵盤更易於編輯經轉錄文字之假定。絕大多數訊息可為短的(例如,文字訊息通常少於五個字),且個人偏好似乎驅動是再輸入訊息之文字抑或編輯現有文字,從而要求需要支援兩種路徑。
在特定實施例中,為了解決前述問題,在使用者嘗試將訊息發送至另外某人時,輔助系統140可使得該些使用者能夠進行三個層級之基於自然語言之編輯。輔助系統140可使用供使用者經由諸如語音及手勢之多模態輸入編輯各種長度之訊息的互動模型。在特定實施例中,當使用者想要編輯訊息時,輔助系統140可要求與使用者之以下互動。使用者可進入編輯模式、瞄準文字段、選擇文字段、輸入文字(例如,將「刪除」、「替換」及「插入」文字輸入至現有訊息中),且退出編輯模式以發送更新後的訊息。在特定實施例中,輔助系統140可使得使用者能夠容易地進入及退出編輯模式。輔助系統140可向使用者提供在發送其訊息之前開始編輯該訊息的多種方式,其中出口適合於其進入路徑。在此實例中,輔助系統140可具有全域「停止」語音命令之唯一行為,使得輔助系統140在不完全退出流程之情況下停止發送訊息,此為對使用者之「停止」發音的主要系統回應。在特定實施例中,使用手勢(例如,瞄準及選擇)及語音(例如,輸入)加上手勢或語音可覆蓋用來自使用者之最少量精力或新互動編輯訊息之大部分情況。
在特定實施例中,在使用者與輔助系統140互動以編輯訊息時,輔助系統140可支援來自使用者的多模態輸入。第一使用者請求或第二使用者請求中之一或多者可係基於語音輸入、手勢輸入或凝視輸入中之一或多者。作為一實例而非作為限制,使用者可提供語音命令以進行任何改變。作為另一實例而非作為限制,使用者可直接藉由手部手勢選擇動作按鈕或捲動清單/傳送帶(carousel)以編輯訊息。作為又一實例而非作為限制,使用者可使用捏合手勢選擇按鈕及其他項目以編輯訊息。作為又一實例而非作為限制,使用者可藉由查看按鈕及其他項目且接著輕敲手指來選擇按鈕及其他項目以編輯訊息。作為又一實例而非作為限制,使用者可連同語音一起使用凝視來編輯訊息。在特定實施例中,輔助系統140可使用基於手勢與語音之混合的模型以使得使用者能夠編輯訊息,包括當訊息創建於訊息傳遞平台中且不創建於輔助系統140中時。除更粒狀游標以外,此亦可包括容易的字選擇。使用者可接著例如捏合手指以置放游標或跨字拖曳。
在特定實施例中,基於凝視之編輯可與語音及手勢互補(例如,在AR/VR系統中)。使用凝視可使得輔助系統140能夠演進至使用者必須使用喚醒字或手動動作(例如,擊打按鈕)來喚醒輔助系統140之情形之外。每當使用者與輔助系統140互動時(尤其在使用者處於與輔助系統140之較長對話會話中之情況下),使用者均一直說出喚醒字或擊打同一按鈕可為煩人的。藉由凝視,輔助系統140可藉由在使用者之顯示器的視場中追蹤其眼睛凝視及允許使用者一旦其將其凝視固定於來源上即說話而實現使用者之更自然且類似人類之互動(例如,喚醒輔助系統140)。因此,使用者可不必說出喚醒字。實情為,使用者可將其凝視聚焦於對應於輔助系統140之輔助圖標上,且接著開始說出其請求。在特定實施例中,輔助系統140可使用凝視作為額外信號以判定使用者想要輸入文字及/或對經輸入文字進行編輯之時間。作為一實例而非作為限制,當使用者藉由凝視聚焦於欄位上時,輔助系統140可提示使用者口述其發音以將文字輸入至該欄位中。若使用者指示其想要進行編輯,則使用者於文字之特定區段上之使用者凝視可由輔助系統140用作信號以判定提示使用者編輯之物。使用使用者之凝視輸入可為用於解決區分使用者與輔助系統140之語音互動及與另一個人之語音互動的技術挑戰的有效解決方案,此係由於當使用者在說話時正凝視輔助系統140(例如,使用者介面)處時,使用者之語音輸入可更可能係針對輔助系統140。在特定實施例中,第一使用者請求或第二使用者請求中之一或多者可包含來自用戶端系統130之第一使用者的語音輸入。輔助系統140可基於由用戶端系統130之一或多個感測器所俘獲的感測器信號偵測接近第一使用者之第二使用者。因此,輔助系統140可基於第一使用者之一或多個凝視輸入判定第一及第二使用者請求係針對用戶端系統130。作為一實例而非作為限制,若使用者係與另一個人在一起,則輔助系統140可能難以判定使用者正同誰講話,是同個人抑或輔助系統140。當使用者實際上正與另一個人講話時,若輔助系統140對使用者之語音作出回應,則其可令人沮喪。藉由凝視,當使用者將其凝視固定於其顯示器中之輔助圖標上時,輔助系統140可僅對使用者作出回應。當使用者凝視遠離輔助圖標時,輔助系統140可不提供提示,而是收聽與編輯訊息相關之命令。
在特定實施例中,輔助系統140可基於第二使用者請求編輯文字訊息。輔助系統140可提供用於使用語音、手勢及凝視之不同組合編輯訊息之文字的不同功能。一個功能可為快速清除編輯。在特定實施例中,第二使用者請求可包含意欲清除文字訊息之手勢輸入。因此,編輯複數個區塊中之一或多者可包含清除對應於一或多個區塊之n元語法。由於編輯訊息之單一部分可能係困難的,因此重做整個訊息可能更容易。在特定實施例中,輔助系統140可實現清除訊息之內容的單一快速可供性。在特定實施例中,當使用者經由語音請求改變訊息或選擇改變訊息時,輔助系統140可允許使用者快速清除整個訊息以再開始且激活手部以經由手勢瞄準及選擇。此方法可為快速的,此係由於使用者可感覺其在控制中。其亦可藉由提供再次開始體驗而突出語音可如何為用於短訊息之輸入加速器。作為一實例而非作為限制,此可應用於訊息較短、使用者正移動、使用者之手部尚未激活及存在ASR轉錄中之高可信度時之情形。在其他情形下,輔助系統140可另外激活手部且藉由可存取子選單突出顯示潛在ASR錯誤,以快速校正及添加「清除」GUI可供性或支援其作為語音命令。藉由快速清除編輯,使用者可進行粗略的邊至邊滑移(任一方式),進行手勢選擇(例如,在「清除」按鈕上),或提供語音輸入(例如,說出「清除」)以在發送由使用者輸入之訊息之前清除整個訊息。為了在使用者進行未用於清除訊息之隨機手部移動時不意外清除訊息,輔助系統140可基於與手勢輸入相關聯之一或多個屬性藉由手勢分類器判定手勢輸入意欲清除文字訊息。作為一實例而非作為限制,屬性可包含範圍、速度、相對於用戶端系統130之定向、移動等。換言之,手勢分類器可用以分析手勢以確保其為用於快速清除編輯之有目的的手勢(例如,具有普通滑移擴展範圍)。如可見,輔助系統140可向使用者提供多個路徑以快速清除整個訊息且接著經由語音再轉錄其訊息。在特定實施例中,輔助系統140可接著在不要求使用者再次說出喚醒字之情況下提示使用者輸入新訊息。提示亦可視為對使用者之回饋:輔助系統140再次收聽使用者之發音。在藉由手勢或邊至邊滑移清除內容欄位之後提示語音輸入可就任務期間切換模態之互動成本而言感覺快速且相對低卡。視情況,輔助系統140可提示使用者確認其想要清除整個訊息。在清除訊息之後,輔助系統140可自動打開麥克風以收聽替換訊息。
以下可為用於快速清除編輯之實例工作流程。輔助系統140可例如藉由說出「知道了。發送還是改變這個?」來詢問使用者是想要「發送還是改變其」(其=使用者之訊息)。使用者可捏合選擇按鈕以清除整個訊息,此可藉由稍微更新之提示再啟動訊息內容創建流程。舉例而言,輔助系統140可詢問「新訊息是什麼?」。使用者可接著說出新訊息全文,例如「我會在三十分鐘內到那裏」。輔助系統140可例如藉由說出「已更新。發送這個?」向使用者確認是否發送更新後的訊息。使用者可確認是否發送更新後的訊息(例如,藉由說出是)。若其不發送,則其返回至標準訊息編輯流程。
以下可為用於快速清除編輯之另一實例工作流程。輔助系統140可詢問使用者是想要「發送還是改變其」(其=使用者之訊息)。舉例而言,輔助系統140可說出「知道了。發送還是改變這個?」。使用者可在不填充待改變之槽之情況下對輔助系統140作出回應。輔助系統140可接著清除訊息,因此其可快速再次編寫(而非擴展多輪次對話以填充需要改變之槽)。舉例而言,輔助系統140可說出「當然可以。新訊息是什麼?」。使用者可接著說出新訊息全文,例如「我會在三十分鐘內到那裏」。輔助系統140可例如藉由說出「已更新。發送這個?」向使用者確認是否發送更新後的訊息。使用者可確認是否發送更新後的訊息(例如,藉由說出是)。若其不發送,則其返回至標準編輯流程。
另一功能可為二步驟語音編輯,其可能需要實現包含暫停流程、二步驟校正及一步驟校正之三種編輯方式。在特定實施例中,輔助系統140可使得使用者能夠例如藉由說出「我想改變它」來暫停流程。作為一實例而非作為限制,使用者可輸入初始訊息為「嗨助理,告訴Kevin我會在二十分鐘內到那裏」。接著使用者可能想要藉由說出「我想改變它」來改變它。此語音命令可暫停使用者向輔助系統140口述的流程。輔助系統140可接著提示使用者說出其想要改變之內容。輔助系統140可經由使用者介面呈現用於輸入第二使用者請求之提示。第二使用者請求可包含用於編輯一或多個區塊的資訊。
在特定實施例中,輔助系統140可使得使用者能夠例如藉由說出「改變時間」來進行二步驟校正。當接收到此語音命令時,輔助系統140可接著藉由詢問使用者使用者想要如何改變來作出回應。使用者可接著說出「將它改變為三十分鐘」。當接收到此語音命令時,輔助系統可對「它」進行歧義消除且尋找初始訊息中對「時間」之參考,且將其改變為「三十分鐘」。如可見,在此情形下,使用者使用語音編輯訊息需要兩個步驟。
在特定實施例中,當使用者經由語音開始訊息以供刪除、替換及插入時,輔助系統140可經由語音支援一步驟校正。輔助系統140可使用基本「選擇/突出顯示自<x>至<y>」模型供使用者(或在可達性模式下)經由文字進行語音選擇。若經由語音開始之使用者輸入不必切換輸入,則此方法可為快速、感覺自然的。在特定實施例中,輔助系統140可使得使用者能夠例如藉由說出「將<初始文字>改變為<新文字>」來進行一步驟校正。使用者可回應於「知道了。發送它還是改變它?」(其可為TTS提示)而說出「將<初始文字>改變為<新文字>」。與輔助系統140之任何語音或手勢互動均可停止訊息之自動發送。輔助系統140可正確地對槽進行結束指向,剖析<初始文字>,將其與訊息中之內容匹配,且用<新文字>替換該匹配。繼續改變到達時間之先前實例,使用者可說出「將它改變為三十分鐘」或「將二十分鐘改變為三十分鐘」。當接收到此語音命令時,輔助系統可對「它」進行歧義消除且尋找初始訊息中對「時間」之參考,且將其改變為「三十分鐘」。如可見,對於此方法,不需要輔助系統140追蹤,藉此允許使用者僅藉由一個步驟用語音編輯訊息。輔助系統140可接著向使用者確認是否發送更新後的訊息。舉例而言,輔助系統可說出「已更新。發送它?」。使用者可確認是否發送更新後的訊息(例如,藉由說出是)。若其不發送,則其返回至標準編輯流程。
在特定實施例中,第二使用者請求可包含參考一或多個區塊之語音輸入,但在第二使用者請求中參考一或多個區塊可包含歧義參考。因此,輔助系統140可基於語音相似度模型歧義對歧義參考進行歧義消除。特定而言,輔助系統140可使用語音相似度模型判定由使用者輸入之所辨識文字的可信度得分,該些可信度得分可進一步用以判定使用者想要改變訊息的哪一部分。作為一實例而非作為限制,使用者可能想要在經輸入訊息中將「十五」改變為「五十」。輔助系統140可發現,ASR模組208具有關於「十五」為使用者之語音輸入的正確ASR轉錄之低可信度。輔助系統140可接著使用語音相似度模型來判定「十五」在語音上類似於「五十」,使得字可為使用者想要改變的字。使用語音相似度模型用於歧義消除可為用於解決對使用者之語音輸入中的文字片段之歧義參考進行歧義消除的技術挑戰之有效解決方案,此係由於此模型可判定由使用者輸入之所辨識文字的可信度得分,該些可信度得分可進一步用以判定使用者想要改變文字之哪一片段(例如,具有低可信度得分)。
除使用語音相似度模型來判定改變何物以外,輔助系統140可經由NLU模組210運行訊息以用於二步驟校正及一步驟校正以理解使用者之情境下之訊息。繼續「將時間改變為二十分鐘」之實例,NLU模組210可允許輔助系統140判定「時間」係指何物。為了保護隱私,NLU模組210可僅在使用者請求改變經輸入訊息之後開始剖析該經輸入訊息。
在特定實施例中,輔助系統140可在訊息編輯期間最佳化更快互動。輔助系統140亦可維持最小圖形使用者介面(graphical user interface;GUI),此兩者係歸因於緊密型用戶端系統130之顯示器上的有限空間且歸因於在使用者可在真實世界或AR環境中步行或以其他方式多任務時避免佔據過多視場。因此,輔助系統140可將ASR轉錄物直接串流傳輸至NLU模組210中以在使用者仍口述訊息時開始提取語義。在使用者仍在說話時,輔助系統140可顯示部分GUI。當ASR串流傳輸進行時,輔助系統140可更新GUI以及NLU更新。
在特定實施例中,輔助系統140可提供另一功能作為藉由將經輸入訊息之組塊之編輯分成語音、手勢或凝視可存取n元語法/區塊之n元語法/區塊編輯。複數個區塊中之每一者可使用幾何形狀、色彩或識別符中之一或多者在視覺上劃分。在特定實施例中,編輯文字訊息可包含分別將一或多個區塊中之一或多者中之每一者中的n元語法中之一或多者改變為一或多個其他n元語法。或者,編輯文字訊息可包含將一或多個n元語法添加至一或多個區塊中之一或多者中之每一者。編輯文字訊息之另一方式可包含改變與一或多個區塊中之一或多者中之每一者中的n元語法相關聯之次序。在特定實施例中,輔助系統140可將使用者之口述智慧地打斷成其中具有低可信度字之共同片語(「n元語法」)及/或區塊。此分組可允許經由手勢、語音或凝視更容易地選擇。使用者可接著使用其眼睛直接向這些可編輯n元語法/區塊或在其之間說話,或該些使用者可使用其手部移除或再排列該些n元語法/區塊。作為一實例而非作為限制,使用者可說出「在二十分鐘內到那裏」。接著使用者可說出「我想改變它」,輔助系統140可將該訊息打斷成兩個區塊,亦即[到那裏]及[在二十分鐘內]。使用者可接著使用不同類型之命令,諸如觸控[在二十分鐘內]之手勢、「在二十分鐘內]之語音輸入或凝視「在二十分鐘內]以突出顯示其。輔助系統140可接著在不要求使用者說出喚醒字之情況下開啟麥克風,等待使用者改變內容之指令。使用者可接著說出「在三十分鐘內」以改變內容。n元語法/區塊編輯可尤其適合於短訊息。另外,n元語法/區塊編輯可將文字變成擴增狀對象,從而使得瞄準、選擇及輸入更接近用戶端系統130之主要互動模型。
在特定實施例中,輔助系統140可使用眼睛凝視作為瞄準及選擇且使用語音作為輸入來實現n元語法/區塊編輯。換言之,第二使用者請求可包含針對一或多個區塊之一或多個凝視輸入。此方法可適用於短訊息且可為釋放手部的。作為一實例而非作為限制,輔助系統140可例如藉由說出「知道了。發送還是改變這個?」來詢問使用者是想要「發送還是改變其」(其=使用者之訊息)。使用者可捏合選擇清除。輔助系統140可接著將訊息分成供使用者編輯之n元語法或區塊而非編輯整個訊息。使用者可在n元語法或區塊中之一者之上移動其凝視以選擇其(例如,[在二十分鐘內])。一旦選定,即可開啟麥克風。使用者可接著說話,例如「在三十分鐘內」。使用者可例如藉由說出「發送」而在麥克風開啟時繼續說話以發送訊息。
在特定實施例中,輔助系統140可僅藉由使用手勢來實現n元語法/區塊編輯,亦即,第一使用者請求可係基於手勢輸入。對應地,輔助系統140可經由使用者介面呈現基於手勢之選單,其包含用於編輯之複數個區塊的選擇選項。第二使用者請求可接著包含基於一或多個手勢輸入選擇對應於一或多個區塊之選擇選項中之一或多者。此方法可適用於短訊息且易於瞄準、選擇及輸入(尤其在無實現來自使用者之連續口述的額外步驟之情況下)。藉由此方法,切換模態可感覺順暢。此方法亦可與僅語音選項(例如,無眼睛凝視)組合。作為一實例而非作為限制,輔助系統140可例如藉由說出「知道了。發送還是改變這個?」來詢問使用者是想要「發送還是改變其」(其=使用者之訊息)。使用者可捏合選擇清除。使用者可接著說出「改變它」或捏合選擇顯示於GUI中之「編輯」按鈕。在特定實施例中,使用者可例如藉由移動手部以激活手部來使用手部激活手部追蹤。使用者可接著移動手指至所瞄準之n元語法/區塊(例如,[在二十分鐘內])且捏合以選擇其。使用者可選擇及保持以開啟麥克風且開始口述。使用者可保持手勢且說出「在三十分鐘內」以替換「在二十分鐘內」。輔助系統140可接著更新訊息內容。使用者可接著移動手指以瞄準「發送」按鈕。使用者可進一步例如藉由捏合以選擇「發送」按鈕來選擇發送訊息。
在特定實施例中,輔助系統140可使得使用者能夠藉由使用編號機構或其他視覺指示符(色彩、符號等)快速導航至使用者恰好想要編輯的文字片段。特定而言,複數個區塊可分別使用複數個識別符在視覺上劃分。作為一實例而非作為限制,複數個識別符可包含數字、字母或符號。第二使用者請求可包含對一或多個各別區塊之一或多個識別符的一或多個參考。舉例而言,輔助系統140可在字(n元語法)或區塊上添加數字或其他視覺指示符之序列。當使用者想要改變經輸入訊息(例如「我二十分鐘後跑步」)時,輔助系統140可在每一字或區塊上添加數字(例如1.我2.二十3.分鐘4.後5.跑步)或其他視覺指示符(色彩、符號等)。這些數字或視覺指示符可向使用者提供參考個別字或區塊之容易方式。在特定實施例中,使用者可說出數字或視覺指示符以編輯對應字/區塊。舉例而言,使用者可切換數字二及數字四,或用另一字替換數字二。此可為經由片語精確定點及導航之方式。在特定實施例中,數值網格可定位於其上。當網格出現時,使用者可說出命令,例如切換二及四。在特定實施例中,可存在藉由網格彈出之確認的流入。在特定實施例中,若其僅為具有可能僅幾個字之一行,則輔助系統140可使用數字。然而,若其更長,包含幾個句子,則輔助系統140可首先對每一句子進行分類。若其為長文件,則輔助系統140可經由段落及句子組織該文件。作為一實例而非作為限制,使用者可使用「a1」來定位段落的第一句子之第一字。使用語音輸入、手勢輸入、凝視輸入及區塊之視覺指示符的組合可為用於解決高效且準確地定位使用者想要編輯之文字片段的技術挑戰之有效解決方案,此係由於這些不同輸入可彼此互補以改良判定使用者想要編輯哪一文字片段的準確度,而視覺指示符可幫助使用者使用不同輸入容易地瞄準此文字片段。
在特定實施例中,藉由如上文所提及之不同功能,輔助系統140可允許使用者容易地編輯長訊息。此可改良與使用者之現有體驗的特徵奇偶性,且對於其他使用情況(諸如做筆記及寫文件)係有價值的。輔助系統140可使得使用者能夠使用捏合、拖曳及語音來編輯長訊息。此方法可具有下至字母層級之粒狀控制且允許編輯大文字串之多個段。
以下可為在編輯長訊息時與輔助系統140之實例使用者互動。在進入編輯模式之後,使用者可看到文字欄位及允許其退出之控制。使用者可使用手部來指向文字且控制一點。使用者可捏合以激活文字中的游標。取決於聚焦於之內容,捏合手勢可激活游標(用於「插入」)或選擇一字。使用者可接著保持捏合手勢且移動手部以選擇字。或者,使用者可捏合及選擇每一字而非捏合、保持、拖曳及釋放。使用者可不必勾畫文字以進行選擇。選擇可在手部在任何方向上移動時自動地計算。使用者可在選擇字之後進一步釋放捏合且接著看到所展示之情境選單。作為一實例而非作為限制,在選單上可存在三個選項,包括「刪除」、「語音口述」及「鍵盤」。使用者可接著移動手部以指向選單上之語音口述選項。使用者可接著捏合一次以選擇選項。使用者可接著向輔助系統140說出新訊息且看到其藉由不同視覺處理即時得到轉錄。在特定實施例中,所有其他控制均可在此狀態下隱藏以允許使用者聚焦及最小化其認知負荷。使用者可接著在該訊息完全轉錄之後看到更新後的訊息。輔助系統140之狀態現可返回至使用者可進行另一編輯或退出編輯模式。
以下可為在編輯長訊息時與輔助系統140之另一實例使用者互動。使用者可使用凝視、智慧型眼鏡上之框架觸按及語音以用於編輯。此方法可允許訊息上之恆定視覺聚焦(亦即,使用者不需看著手部)、具有下至字母層級之粒狀控制,允許插入,且允許編輯大文字串之多個段。在進入編輯模式之後,使用者可看到文字欄位及允許其退出之控制。其亦可看到藉由眼睛凝視控制之視覺提示。使用者可使用眼睛凝視控制視覺提示(例如,在突出顯示或強調字及游標之間切換)。當凝視字時,使用者可在眼鏡框架上觸按以使用來自前一步驟的「游標」激活選擇。使用者可將手指保持在框架上且移動眼睛以凝視結束字以進行選擇。使用者可不必使用眼睛凝視勾畫文字。選擇可在眼睛在任何方向上移動時自動地計算。使用者可接著在選擇字之後自框架釋放手指且接著看到所展示之情境選單。使用者可凝視選單上之語音口述選項。當凝視選單上之語音口述選項時,使用者可在眼鏡框架上觸按一次以選擇該選項。使用者可向輔助系統140說出新訊息且看到其藉由不同視覺處理即時得到轉錄。所有其他控制均可在此狀態下隱藏以允許使用者聚焦及最小化其認知負荷。使用者可進一步在該訊息完全轉錄之後看到更新後的訊息且退出編輯模式。輔助系統140之狀態現可返回至使用者可進行另一編輯或退出編輯模式。
在特定實施例中,輔助系統140可提供直線(in-line)錯誤檢查器。此方法可尤其適合於字替換。其可使自手勢切換至語音感覺自然(此係由於輔助系統140可經由文字至話語發音提示使用者)且可比單獨使用手勢更快。作為一實例而非作為限制,輔助系統140可例如藉由說出「知道了。發送還是改變這個?」來詢問使用者是想要「發送還是改變其」(其=使用者之訊息)。使用者可捏合選擇清除。輔助系統140可突出顯示經轉錄文字中之經推測ASR錯誤。使用者可例如使用手指瞄準帶下劃線文字處來指向聚焦於文字。使用者可接著捏合選擇,此可開啟最佳
n個假設(例如,
n可為1至3)。此時,輔助系統140可關閉麥克風。使用者可例如藉由指向目標來指向所建議校正中之一者。使用者可進一步例如藉由捏合以選擇來選擇選項中之一者。輔助系統140可接著在所選選項中調換。使用者可進一步例如藉由指向目標來指向「發送」按鈕以瞄準該按鈕。使用者可接著例如藉由捏合以選擇來選擇「發送」以發送訊息。
在特定實施例中,在使得使用者能夠編輯訊息時,輔助系統140可使用一些基本互動規則。當使用者藉由手勢聚焦於欄位時,此可給出手勢前進情境選單(例如,若使用者藉由手勢在文字訊息上點選,則具有手勢選擇選項之後續選單可彈出)。以此方式,使用者可停留於同一模態中。但若使用者之手勢在經聚焦欄位外部,則此可移除聚焦、關閉麥克風(無論當時何欄位正處於聚焦),且停止進行中之任何自動發送。另一規則可為,若在發送之前存在手勢輸入,則輔助系統140可不確認或自動發送,且可改為等待手勢輸入發送。另外,若欄位為空(例如,由於使用者滑移以清除該欄位),則輔助系統140可自動提示使用者輸入且開啟麥克風以得到來自使用者之回應。
圖 5A 至 5D說明藉由使用語音輸入之實例訊息編輯。圖5A說明展示經口述訊息之實例使用者介面。圖5A展示在文字框500中之已口述訊息「在二十分鐘內到那裏」下。存在三個選項,包括「打開」505、「編輯」510及「發送」515。使用者可藉由語音(亦即,說出這些選項)選擇其中之每一者。「編輯」510選項可允許使用者編輯訊息。「發送」515選項可允許使用者發送該訊息。「打開」505選項可允許使用者打開訊息傳遞應用程式。另外,可存在指示麥克風之狀態的符號520。舉例而言,在圖5A中,符號520可指示麥克風開啟,等待使用者之進一步語音輸入。圖5B說明展示基於一步驟校正來改變的使用者請求之實例使用者介面。如圖5B中所說明,使用者可使用語音輸入來請求改變經口述訊息,其藉由「將二十分鐘內改為三十分鐘內」525指示。由於輔助系統140開始編輯訊息,故符號520可指示麥克風現在關閉。圖5C說明展示經編輯訊息之實例使用者介面。在圖5C中,經編輯訊息現在為文字框500中之「在三十分鐘內到那裏」,其中經編輯內容「在三十分鐘內」可突出顯示。符號520可指示麥克風再次開啟,等待使用者之進一步語音輸入。圖5D說明展示發送經編輯訊息之確認之實例使用者介面。如圖5D中所說明,輔助系統140可藉由突出顯示「發送」515選項向使用者確認是否發送經編輯訊息。使用者可接著說出「是」530以確認。由於輔助系統140開始發送訊息,故符號520可指示麥克風現在關閉。
圖 6A 至 6F說明藉由使用語音輸入之另一實例訊息編輯。圖6A說明展示經口述訊息之實例使用者介面。圖6A展示在文字框500中之已口述訊息「在二十分鐘內到那裏」下。存在三個選項,包括「打開」505、「編輯」510及「發送」515。使用者可藉由語音(亦即,說出這些選項)選擇其中之每一者。「編輯」510選項可允許使用者編輯訊息。「發送」515選項可允許使用者發送該訊息。「打開」505選項可允許使用者打開訊息傳遞應用程式。符號520可指示麥克風開啟,等待使用者之進一步語音輸入。圖6B說明展示改變經口述訊息的使用者請求之實例使用者介面。如圖6B中所說明,使用者可請求改變經口述訊息,此藉由「改變它」605指示。圖6B亦展示使用者進入編輯模式,此藉由突出顯示「編輯」510選項指示。由於輔助系統140開始編輯訊息,故符號520可指示麥克風現在關閉。圖6C說明展示等待使用者之進一步口述之實例使用者介面。輔助系統140可使文字框500中之先前經口述訊息變灰,從而指示輔助系統140正等待使用者口述整個新訊息。圖6C亦展示存在供使用者取消訊息編輯之「取消」610選項。圖6D說明展示新口述之實例使用者介面。使用者可說出「我會在三十分鐘內到那裏615」。由於輔助系統140開始轉錄新口述,故符號520可指示麥克風現在關閉。圖6E說明展示經轉錄新訊息之實例使用者介面。文字框500現在有新訊息「我會在三十分鐘內到那裏」。符號520可指示麥克風現在再次開啟,等待使用者之進一步語音輸入。圖6F說明展示發送經編輯訊息之確認之實例使用者介面。如圖6F中所說明,輔助系統140可藉由突出顯示「發送」515選項向使用者確認是否發送經編輯訊息。使用者可接著說出「是」620以確認。由於輔助系統140開始發送訊息,故符號520可指示麥克風現在關閉。
圖 7A 至 7E說明藉由使用手勢及語音輸入之實例訊息編輯。圖7A說明展示經口述訊息之實例使用者介面。圖7A展示在文字框500中之已口述訊息「在二十分鐘內到那裏」下,存在三個選項,包括「打開」505、「清除」705及「發送」515。使用者可藉由語音或手勢(亦即,說出這些選項或對其進行手勢選擇)選擇其中之每一者。作為一實例而非作為限制,手勢可為手部/手指移動。「清除」705選項可允許使用者清除文字框500中之整個訊息。如圖7A中所說明,使用者可使用一個手部710指向「清除」710,藉由捏合手勢選擇該選項。符號520可指示麥克風現在開啟,從而實現使用者之語音輸入。圖7B說明展示等待使用者之新口述之實例使用者介面。如圖7B中所說明,先前經口述訊息「在二十分鐘內到那裏」已清除。「清除」705選項現在變成灰色,指示此功能不可用(此係由於文字框500中不存在訊息)。符號520可指示麥克風現在開啟,等待使用者之口述。圖7C說明展示新口述之實例使用者介面。使用者之新口述可為「我會在三十分鐘內到那裏715」。由於輔助系統140開始轉錄新口述,故符號520可指示麥克風現在關閉。圖7D說明展示新轉錄訊息之實例使用者介面。如圖7D中所說明,文字框500現在可具有訊息「我會在三十分鐘內到那裏」。符號520可指示麥克風現在開啟,等待使用者之進一步語音輸入。圖7E說明展示發送經編輯訊息之確認之實例使用者介面。如圖7E中所說明,輔助系統140可藉由突出顯示「發送」515選項向使用者確認是否發送經編輯訊息。使用者可接著說出「是」720以確認。由於輔助系統140開始發送訊息,故符號520可指示麥克風現在關閉。
圖 8A 至 8H說明藉由使用手勢及語音輸入之實例訊息編輯。圖8A說明展示經口述訊息之實例使用者介面。在文字框500中,輔助系統140顯示「be
dere n二十分鐘)」作為經口述訊息之轉錄,其可包含錯誤。輔助系統140可能已識別出錯誤「dere n」且對其加下劃線。符號520可指示麥克風現在開啟,等待使用者之語音輸入。圖8B說明展示瞄準訊息之一部分的手勢輸入之實例使用者介面。如圖8B中所說明,使用者可藉由使用手部之手指指向「dere n」而瞄準「dere n」。符號520可指示麥克風現在關閉,等待使用者之進一步手勢輸入。圖8C說明展示用於改變之n元語法之實例使用者介面。使用者可使用手部805進行捏合手勢以確認「dere n」之編輯。因此,輔助系統140可提供使用者可選擇以改變「dere n」之替換n元語法。作為一實例而非作為限制,這些n元語法可包含「therein(在那裏)810」及「there in(內到那裏)815」。圖8D說明展示瞄準替換的手勢輸入之實例使用者介面。如圖8D中所說明,使用者可藉由使用手部之手指指向「there in 815」而瞄準「there in 815」。圖8E說明展示確認所選替換之實例使用者介面。在圖8E中,使用者可使用手部805進行捏合手勢以確認「there in」815之選擇。圖8F說明展示經編輯訊息之實例使用者介面。如圖8F中所說明,文字框500現在可具有經編輯訊息「在二十分鐘內到那裏」。圖8G說明展示選擇發送訊息之實例使用者介面。如圖8G中所說明,使用者可使用手部805之手指指向「發送」515選項以發送經編輯訊息,輔助系統140可針對該經編輯訊息突出顯示該選項。圖8H說明展示確認發送訊息之實例使用者介面。如圖8H中所說明,使用者可使用手部805進行捏合手勢以確認發送經編輯訊息。
圖 9A 至 9E說明藉由使用凝視及語音輸入之實例訊息編輯。圖9A說明展示經口述訊息之實例使用者介面。經口述訊息可為「在二十分鐘內到那裏」,其顯示於文字框500中。符號520可指示麥克風現在開啟,等待使用者之語音輸入。圖9B說明展示訊息之經劃分區塊之實例使用者介面。如圖9B中所說明,使用者可能已請求改變經口述訊息。因此,輔助系統140可能已將訊息劃分成兩個區塊,亦即「到那裏」905及「在二十分鐘內」910。符號520可指示麥克風現在關閉,等待使用者之凝視輸入。圖9C說明展示凝視輸入之實例使用者介面。在圖9C中,圓915可指示使用者之凝視輸入,其固定於區塊「在二十分鐘內」910處。此意謂使用者想要編輯區塊「在二十分鐘內」910。圖9D說明展示對區塊之編輯之實例使用者介面。如圖9D中所說明,使用者可能已口述編輯「在三十分鐘內」920以替換「在二十分鐘內」910。圖9E說明展示發送訊息之確認之實例使用者介面。在圖9E中,使用者可使凝視輸入915固定於「發送」515選項處。因此,輔助系統140可顯示「發送」925作為確認使用者想要發送訊息之方式。
圖 10A 至 10I說明藉由使用手勢及語音輸入之實例訊息編輯。圖10A說明展示經口述訊息之實例使用者介面。經口述訊息可為「在二十分鐘內到那裏」,其顯示於文字框500中。符號520可指示麥克風現在開啟,等待使用者之語音輸入。圖10B說明展示對改變的使用者請求之實例使用者介面。如圖10B中所說明,使用者之語音可為「改變」1005,從而指示使用者想要編輯訊息。由於輔助系統140正預期使用者之手勢輸入,故符號520可指示麥克風現在關閉。圖10C說明展示用於編輯之區塊之實例使用者介面。在圖10C中,訊息分成兩個區塊,包括「到那裏」1010及「在二十分鐘內」1015。使用者可使用手部1020例如藉由用手指指向區塊來選擇編輯哪一區塊。圖10D說明展示區塊之選擇之實例使用者介面。如圖10D中所說明,使用者可使用手部1020藉由將手指指向「在二十分鐘內」1015來選擇「在二十分鐘內」1015。區塊「在二十分鐘內」1051在選擇之後可能已變成灰色。圖10E說明展示確認所選區塊之實例使用者介面。在圖10E中,使用者可使用手部1020進行捏合手勢以確認「在二十分鐘內」1015之選擇。圖10F說明展示編輯所選區塊之實例使用者介面。如圖10F中所說明,使用者可能已口述「在三十分鐘內」1025作為「在二十分鐘內」1015之替換。圖10G說明展示經編輯區塊之確認之實例使用者介面。在圖10G中,使用者可使用手部1020進行捏合手勢以確認新編輯之區塊,例如「在三十分鐘內」1030。圖10H說明展示選擇發送訊息之實例使用者介面。如圖10H中所說明,使用者可使用手部1020指向「發送」515選項以發送經編輯訊息。圖10I說明展示確認發送訊息之實例使用者介面。如圖10I中所說明,使用者可使用手部1020進行捏合手勢以確認發送經編輯訊息,例如「在三十分鐘內到那裏」。
圖 11A 至 11J說明藉由使用手勢及語音輸入之實例訊息編輯。圖11A說明展示經口述訊息之實例使用者介面。訊息可為「你約會快結束了嗎?我在藥房附近而且可以接你。我要買一些零食。你有想要我幫你買的東西嗎?」訊息可顯示於文字框1105中。圖11A展示在已口述訊息下,存在兩個選項,包括用於返回至前一步驟之「<」1110及用於接受編輯之「√」1115。圖11B說明展示用於編輯之訊息之一部分的使用者選擇之實例使用者介面。如圖11B中所說明,使用者可使用手部1120指向使用者想要改變之處,例如「一些」與「零食」之間。圖11C說明展示選擇用於編輯之字的開始之實例使用者介面。在圖11C中,使用者可使用手部1120進行捏合手勢以在「一些」與「零食」之間移動虛擬游標。圖11D說明展示選擇用於編輯之字的結束之實例使用者介面。如圖11D中所說明,使用者可自左至右移動手部1120同時保持捏合手勢以選擇「零食」以用於編輯。圖11E說明展示編輯所選字之選項之實例使用者介面。在圖11E中,使用者可使用手部1120指向所選字「零食」。回應於指向,輔助系統140可給出三個選項。第一選項可為刪除字,如藉由垃圾桶符號1125所指示。第二選項可為用於如何編輯字之語音輸入,如藉由麥克風符號1130所指示。第三選項可為鍵入編輯,如藉由鍵盤符號1135所指示。圖11F說明展示選擇語音輸入之選項之實例使用者介面。如圖11F中所說明,使用者可使用手部1120之手指指向麥克風符號1130。圖11G說明展示使用語音輸入用於編輯之確認之實例使用者介面。在圖11G中,使用者可使用手部112進行捏合手勢以確認使用語音輸入來編輯字「零食」。圖11H說明展示來自使用者之口述之實例使用者介面。如圖11H中所說明,使用者可口述「新鮮水果及」作為「零食」之替換。使用者此時可能尚未完成口述。圖11I說明展示經編輯訊息之實例使用者介面。如圖11I中所說明,經編輯訊息現在可為「你約會快結束了嗎?我在藥房附近而且可以接你。我要買一些新鮮水果及薯片。你有想要我幫你買的東西嗎?」。圖11J說明展示接受對訊息之編輯之實例使用者介面。如圖11J中所說明,使用者可使用手部1120針對「√」1115處進行捏合手勢以接受對訊息之編輯。
圖 12A 至 12I說明藉由使用凝視、手勢及語音輸入之實例訊息編輯。圖12A說明展示經口述訊息之實例使用者介面。訊息可為「你約會快結束了嗎?我在藥房附近而且可以接你。我要買一些零食。你有想要我幫你買的東西嗎?」訊息可顯示於文字框1105中。圖12A展示在已口述訊息下,存在兩個選項,包括用於返回至前一步驟之「<」1110及用於接受編輯之「√」1115。另外,可存在使用者之凝視輸入1205,從而指示使用者之凝視正朝向經口述訊息移動。圖12B說明展示用於編輯之訊息之一部分的使用者選擇之實例使用者介面。如圖12B中所說明,使用者之凝視輸入1205可固定於「一些」上。圖12C說明展示選擇用於編輯之字的開始之實例使用者介面。在圖12C中,使用者之凝視輸入1205可固定於「一些」與「零食」之間且游標可出現於這兩個字之間。同時,使用者可使用手部1210確認使用者想要編輯訊息。圖12D說明展示選擇用於編輯之字的結束之實例使用者介面。如圖12D中所說明,使用者之凝視輸入1205可能已自「零食」之前至「買」移動。由於使用者之手部1210已穩定指向,故可選擇「零食。你有想要我幫你買」之整個部分。圖12E說明展示編輯所選字之選項之實例使用者介面。在圖12E中,在使用者移除手部1210之後,凝視輸入1205所固定之處可變為對用於編輯之字的選擇。如可見,可選擇「零食」。使用者可具有用於編輯之三個選項,例如如藉由垃圾桶符號1125所指示之刪除字、如藉由麥克風符號1130所指示之語音輸入,及如藉由鍵盤符號1135所指示之鍵入。圖12F說明展示選擇語音輸入之選項之實例使用者介面。如圖12F中所說明,使用者之凝視輸入1205可固定於麥克風符號1130處。圖12G說明展示使用語音輸入用於編輯之確認之實例使用者介面。在圖12G中,使用者可使用手部1210指向以確認使用語音輸入來編輯字「零食」。圖12H說明展示來自使用者之口述之實例使用者介面。如圖12H中所說明,使用者可口述「新鮮水果及」作為「零食」之替換。使用者此時可能尚未完成口述。圖12I說明展示經編輯訊息之實例使用者介面。如圖12I中所說明,經編輯訊息現在可為「你約會快結束了嗎?我在藥房附近而且可以接你。我要買一些新鮮水果及薯片。你有想要我幫你買的東西嗎?」。圖12I亦指示使用者之凝視輸入1205正朝向「√」1115移動以接受編輯。
圖 13說明藉由劃分訊息且為劃分部編號之實例訊息編輯。在圖13中,經口述訊息可為「你約會快結束了嗎?我在藥房附近而且可以接你。我要買一些零食。你有想要我幫你買的東西嗎?」訊息可顯示於文字框1105中。為了促進編輯訊息,輔助系統140可將訊息劃分為四個句子。輔助系統140可進一步將數字指派給這些句子。舉例而言,數字1經指派給「你約會快結束了嗎?」數字2經指派給「我在藥房附近而且可以接你。」數字3經指派給「我要買一些零食。」數字4經指派給「你有想要我幫你買的東西嗎?」。輔助系統140可將指令1305顯示為使用者可如何改變訊息。作為一實例而非作為限制,指令1305可為「你想改變什麼?你可以說『數字一』」。符號520可指示麥克風現在開啟,等待使用者之語音輸入。
圖 14A 至 14B說明實例訊息快速清除。圖14A說明實例訊息口述。使用者1405可穿戴智慧型眼鏡作為其用戶端系統130。使用者1405可使用語音輸入來口述訊息,例如「在二十分鐘內到那裏」1410。輔助系統140可轉錄語音輸入且指示智慧型眼鏡在智慧型眼鏡之顯示器1415上呈現經轉錄訊息。經轉錄訊息可顯示於文字框500中。可存在其他選項,諸如用以打開訊息傳遞應用程式的「打開」505,用以進入編輯模式的「編輯」510,用以發送訊息的「發送」515,及用於麥克風狀態之指示符520。圖14B說明實例訊息快速清除。使用者1405可使用其手部1420進行滑移手勢。回應於此滑移手勢,輔助系統140可刪除整個訊息。因此,在顯示器1415上之文字框500中可能不再存在訊息。
圖 15A 至 15D說明基於識別符之n元語法覆疊的實例訊息編輯。圖15A說明實例經輸入訊息。經輸入訊息可為「該敏捷的棕色狐狸跳過了該懶惰的狗」。訊息可顯示於用戶端系統130(例如,智慧型手機)上之文字框1505中。在文字框1505內,可存在兩個選項,「編輯」1510及「發送」1515。圖15B說明智慧型手機上之識別符之實例n元語法覆疊。如圖15B中所指示,使用者現在處於編輯模式1520。對於每一n元語法,可存在覆疊於其頂部上之識別符,例如數字。舉例而言,「該」為「1」,「敏捷的」為「2」,「棕色」為「3」,「狐狸」為「4」,「跳」為「5」,「過了」為「6」,「該」為「7」,「懶惰的」為「8」且「狗」為「9」。使用者可容易地說出數字以編輯對應n元語法。圖15C說明智慧型手錶上之識別符之實例n元語法覆疊。如圖15C中所指示,使用者現在處於編輯模式1520。對於每一n元語法,可存在覆疊於其頂部上之識別符,例如數字。舉例而言,「該」為「1」,「敏捷的」為「2」,「棕色」為「3」,「狐狸」為「4」,「跳」為「5」,「過了」為「6」,「該」為「7」,「懶惰的」為「8」且「狗」為「9」。使用者可容易地說出數字以編輯對應n元語法。圖15D說明智慧型網路攝影機上之識別符之實例n元語法覆疊。如圖15D中所指示,使用者現在處於編輯模式1520。對於每一n元語法,可存在覆疊於其頂部上之識別符,例如數字。舉例而言,「該」為「1」,「敏捷的」為「2」,「棕色」為「3」,「狐狸」為「4」,「跳」為「5」,「過了」為「6」,「該」為「7」,「懶惰的」為「8」且「狗」為「9」。使用者可容易地說出數字以編輯對應n元語法。
圖 16說明用於高效文字編輯之實例方法1600。方法可在步驟1610處開始,其中輔助系統140可經由用戶端系統130之使用者介面基於在用戶端系統處接收到之使用者發音呈現文字訊息,其中文字訊息包含複數個n元語法。在步驟1620處,輔助系統140可在用戶端系統130處接收編輯文字訊息的第一使用者請求,其中第一使用者請求係基於語音輸入、手勢輸入或凝視輸入中之一或多者。在步驟1630處,輔助系統140可經由使用者介面呈現在視覺上劃分成複數個區塊之文字訊息,其中每一區塊包含文字訊息之n元語法中之一或多者,其中每一區塊中之n元語法相對於彼此為連續的,且基於藉由自然語言理解(NLU)模組對文字訊息之分析而分組於區塊內,其中複數個區塊中之每一者使用幾何形狀、色彩或識別符中之一或多者(包含數字、字母或符號中之一或多者)在視覺上劃分。在步驟1640處,輔助系統140可經由使用者介面呈現用於輸入第二使用者請求之提示,其中第二使用者請求包含用於編輯一或多個區塊之資訊。在步驟1650處,輔助系統140可在用戶端系統130處接收編輯複數個區塊中之一或多者的第二使用者請求,其中第二使用者請求係基於參考一或多個區塊之語音輸入、手勢輸入或針對一或多個區塊之凝視輸入中之一或多者。在步驟1660處,若第二使用者請求包含參考一或多個區塊之語音輸入且對一或多個區塊之參考包含歧義參考,則輔助系統140可基於語音相似度模型對歧義參考進行歧義消除。在步驟1670處,輔助系統140可基於第二使用者請求編輯文字訊息,其中編輯文字訊息包含以下操作中之一或多者:若第二使用者請求包含意欲清除文字訊息之手勢輸入,則清除對應於一或多個區塊之n元語法;分別將一或多個區塊中之一或多者中之每一者中的n元語法中之一或多者改變為一或多個其他n元語法;將一或多個n元語法添加至一或多個區塊中之一或多者中之每一者;或改變與一或多個區塊中之一或多者中之每一者中的n元語法相關聯之次序。在步驟1680處,輔助系統140可經由使用者介面呈現經編輯文字訊息,其中經編輯文字訊息係基於第二使用者請求產生。適當時,特定實施例可重複圖16之方法之一或多個步驟。儘管本發明將圖16之特定方法步驟描述及說明為按特定次序發生,但本發明涵蓋圖16之任何合適的方法步驟按任何合適之次序發生。此外,儘管本發明描述及說明用於高效文字編輯之包括圖16之特定方法步驟的實例方法,但本發明涵蓋用於高效文字編輯之包括任何合適步驟的任何合適之方法,該些任何合適步驟適當時可包括圖16之方法的步驟中之所有、一些或無一者。此外,儘管本發明描述及說明實行圖16之方法之特定步驟的特定組件、裝置或系統,但本發明涵蓋實行圖16之方法之任何合適步驟的任何合適組件、裝置或系統的任何合適組合。
隱私
在特定實施例中,計算系統之一或多個對象(例如,內容或其他類型之對象)可與一或多個隱私設定相關聯。一或多個對象可儲存於任何合適之計算系統或應用程式上或以其他方式與任何合適之計算系統或應用程式相關聯,諸如社交網路連接系統160、用戶端系統130、輔助系統140、第三方系統170、社交網路連接應用程式、輔助應用程式、訊息傳遞應用程式、相片共享應用程式或任何另一合適之計算系統或應用程式。儘管本文所論述之實例係在線上社交網路之情境中,但這些隱私設定可應用於任何另一合適之計算系統。對象之隱私設定(或「存取設定」)可以任何合適之方式儲存,諸如與對象相關聯、在授權伺服器上之索引中、以另一合適之方式,或以其任何合適組合進行儲存。對象之隱私設定可指定對象(或與對象相關聯之特定資訊)可如何在線上社交網路內存取、儲存或以其他方式使用(例如,檢視、共用、修改、複製、執行、暴露或識別)。當對象之隱私設定允許特定使用者或另一實體存取該對象時,對象可經描述為對於該使用者或另一實體為「可見的」。作為一實例而非作為限制,線上社交網路之使用者可針對使用者設定檔頁面指定隱私設定,其識別可存取關於使用者設定檔頁面之工作經驗資訊的使用者集合,因此排除其他使用者存取該資訊。
在特定實施例中,對象之隱私設定可指定不應允許存取與對象相關聯之某些資訊的使用者或其他實體之「阻止清單」。在特定實施例中,阻止清單可包括第三方實體。阻止清單可指定對象對其不可見之一或多個使用者或實體。作為一實例而非作為限制,使用者可指定不可存取與使用者相關聯之相片專輯的使用者集合,因此排除部分使用者存取相片專輯(同時亦可能允許不在指定使用者集合內之某些使用者存取相片專輯)。在特定實施例中,隱私設定可與特定社交圖元素相關聯。社交圖元素(諸如節點或邊緣)之隱私設定可指定可如何使用線上社交網路存取社交圖元素、與社交圖元素相關聯之資訊或與社交圖元素相關聯之對象。作為一實例而非作為限制,特定相片可具有指定相片可僅由標記於該相片中之使用者及標記於該相片中之使用者的朋友存取的隱私設定。在特定實施例中,隱私設定可允許使用者選擇加入或不參加使其內容、資訊或動作由社交網路連接系統160或輔助系統140儲存/記錄或與其他系統(例如,第三方系統170)共用。儘管本發明以特定方式描述了使用特定隱私設定,但本發明涵蓋以任何合適之方式使用任何合適之隱私設定。
在特定實施例中,社交網路連接系統160可(例如,在網頁、模組、一或多個對話框或任何另一合適之介面內)向第一使用者呈現「隱私嚮導」以輔助第一使用者指定一或多個隱私設定。隱私嚮導可顯示指令、合適之隱私相關資訊、當前隱私設定、用於接受來自第一使用者之指定隱私設定之改變或確認的一或多個輸入之一或多個輸入欄位,或其任何合適組合。在特定實施例中,社交網路連接系統160可向第一使用者提供「儀錶板」功能性,其可向第一使用者顯示第一使用者之當前隱私設定。儀錶板功能性可在任何適當時間向第一使用者顯示(例如,在來自第一使用者之召喚儀錶板功能性的輸入後、在特定事件或觸發動作之發生後)。儀錶板功能性可允許第一使用者以任何合適方式在任何時間修改第一使用者之當前隱私設定中之一或多者(例如,將第一使用者再引導至隱私嚮導)。
與對象相關聯之隱私設定可指定准許存取或拒絕存取之任何合適之粒度。作為一實例而非作為限制,准許存取或拒絕存取可針對特定使用者(例如,僅我、我的室友、我的老闆)、在特定分隔程度內之使用者(例如,朋友、朋友的朋友)、使用者群組(例如,遊戲俱樂部、我的家人)、使用者網路(例如,特定雇主之雇員、特定大學之學生或校友)、所有使用者(「公開」)、無使用者(「私人」)、第三方系統170之使用者、特定應用程式(例如,第三方應用程式、外部網站)、其他合適之實體或其任何合適組合而指定。儘管本發明描述准許存取或拒絕存取之特定粒度,但本發明涵蓋准許存取或拒絕存取之任何合適之粒度。
在特定實施例中,一或多個伺服器162可為用於強制執行隱私設定之授權/隱私伺服器。回應於來自使用者(或其他實體)的對儲存於資料儲存區164中之特定對象的請求,社交網路連接系統160可針對對象將請求發送至資料儲存區164。若授權伺服器基於與對象相關聯之隱私設定判定使用者經授權存取對象,則請求可識別與請求相關聯之使用者,且可僅將對象發送至使用者(或使用者之用戶端系統130)。若請求使用者未經授權存取對象,則授權伺服器可防止自資料儲存區164擷取所請求對象,或可防止所請求對象經發送至使用者。在搜尋-詢問情境中,僅在查詢使用者經授權以存取對象之情況下(例如,在對象之隱私設定允許其暴露於查詢使用者、由查詢使用者發現或以其他方式對查詢使用者可見之情況下),才可提供對象作為搜尋結果。在特定實施例中,對象可表示經由使用者之新聞饋送對使用者可見的內容。作為一實例而非作為限制,一或多個對象可為對使用者之「趨勢(Trending)」頁面可見的。在特定實施例中,對象可對應於特定使用者。對象可為與特定使用者相關聯之內容,或可為儲存於社交網路連接系統160或另一計算系統上之特定使用者之帳戶或資訊。作為一實例而非作為限制,第一使用者可經由線上社交網路之「你可能認識的人」功能或藉由檢視第一使用者之朋友清單來檢視線上社交網路之一或多個第二使用者。作為一實例而非作為限制,第一使用者可指定其不希望在其新聞饋送或朋友清單中看到與特定第二使用者相關聯之對象。若對象之隱私設定不允許其暴露於使用者、由使用者發現或對使用者可見,則可將該對象自搜尋結果排除。儘管本發明以特定方式描述了強制執行隱私設定,但本發明涵蓋以任何合適之方式強制執行隱私設定。
在特定實施例中,與使用者相關聯之相同類型的不同對象可具有不同隱私設定。與使用者相關聯之不同類型之對象可具有不同類型之隱私設定。作為一實例而非作為限制,第一使用者可指定第一使用者之狀態更新為公開的,但由第一使用者共用之任何影像僅對於線上社交網路上之第一使用者之朋友可見。作為另一實例而非作為限制,使用者可針對不同類型之實體指定不同隱私設定,諸如個別使用者、朋友的朋友、追隨者、使用者群組或公司實體。作為另一實例而非作為限制,第一使用者可指定可檢視由第一使用者發佈之視訊的使用者群組,同時保持視訊對第一使用者之雇主可見。在特定實施例中,可針對不同使用者群組或使用者人口統計資料提供不同隱私設定。作為一實例而非作為限制,第一使用者可指定與第一使用者上同一所大學之其他使用者可檢視第一使用者之圖像,但作為第一使用者之家庭成員的其他使用者不可檢視那些相同圖像。
在特定實施例中,社交網路連接系統160可針對特定對象類型之每一對象提供一或多個預設隱私設定。針對經設定為預設之對象的隱私設定可由與該對象相關聯之使用者改變。作為一實例而非作為限制,由第一使用者發佈之所有影像可具有僅對第一使用者之朋友可見的預設隱私設定,且對於特定影像,第一使用者可將影像之隱私設定改變為對朋友及朋友的朋友可見。
在特定實施例中,隱私設定可允許第一使用者指定(例如,藉由選擇加入、藉由不參加)社交網路連接系統160或輔助系統140是否可出於任何目的接收、收集、記錄或儲存與使用者相關聯之特定對象或資訊。在特定實施例中,隱私設定可允許第一使用者指定特定應用程式或程序是否可存取、儲存或使用與使用者相關聯之特定對象或資訊。隱私設定可允許第一使用者選擇加入或不參加使對象或資訊由特定應用程式或程序存取、儲存或使用。社交網路連接系統160或輔助系統140可存取此類資訊以便向第一使用者提供特定功能或服務,而社交網路連接系統160或輔助系統140不能夠出於任何其他目的存取該資訊。在存取、儲存或使用此類對象或資訊之前,社交網路連接系統160或輔助系統140可在允許任何此動作之前提示使用者提供指定哪些應用程式或程序(若存在)可存取、儲存或使用對象或資訊的隱私設定。作為一實例而非作為限制,第一使用者可經由與線上社交網路相關之應用程式(例如,訊息傳遞應用程式)將訊息傳輸至第二使用者,且可指定此類訊息不應由社交網路連接系統160或輔助系統140儲存的隱私設定。
在特定實施例中,使用者可指定與第一使用者相關聯之特定類型之對象或資訊是否可由社交網路連接系統160或輔助系統140存取、儲存或使用。作為一實例而非作為限制,第一使用者可指定由第一使用者經由社交網路連接系統160或輔助系統140發送之影像不可由社交網路連接系統160或輔助系統140儲存。作為另一實例而非作為限制,第一使用者可指定自第一使用者發送至特定第二使用者的訊息不可由社交網路連接系統160或輔助系統140儲存。作為又一實例而非作為限制,第一使用者可指定經由特定應用程式發送之所有對象均可由社交網路連接系統160或輔助系統140保存。
在特定實施例中,隱私設定可允許第一使用者指定與第一使用者相關聯之特定對象或資訊是否可自特定用戶端系統130或第三方系統170存取。隱私設定可允許第一使用者選擇加入或不參加使對象或資訊自特定裝置(例如,使用者之智慧型手機上之電話簿)、自特定應用程式(例如,訊息傳遞應用程式)或自特定系統(例如,電子郵件伺服器)存取。社交網路連接系統160或輔助系統140可提供關於每一裝置、系統或應用程式之預設隱私設定,及/或可提示第一使用者針對每一情境指定特定隱私設定。作為一實例而非作為限制,第一使用者可利用社交網路連接系統160或輔助系統140之位置服務特徵提供針對餐館或使用者附近之其他場所的推薦。第一使用者之預設隱私設定可指定社交網路連接系統160或輔助系統140可使用自第一使用者之用戶端系統130提供的位置資訊來提供基於位置之服務,但社交網路連接系統160或輔助系統140不可儲存第一使用者之位置資訊或將其提供至任何第三方系統170。第一使用者可接著更新隱私設定以允許由第三方影像共享應用程式使用位置資訊以便對相片進行地理標記。
在特定實施例中,隱私設定可允許使用者指定可自其存取對象之一或多個地理位置。准許存取對象或拒絕存取對象可取決於嘗試存取對象之使用者的地理位置。作為一實例而非作為限制,使用者可共享對象且指定僅同一城市中之使用者可存取或檢視對象。作為另一實例而非作為限制,第一使用者可共享對象且指定對象僅在第一使用者處於特定位置時對第二使用者可見。若第一使用者離開特定位置,則對象不可再對第二使用者可見。作為另一實例而非作為限制,第一使用者可指定對象僅對在距第一使用者的臨限距離內之第二使用者可見。若第一使用者隨後改變位置,則可存取對象之初始第二使用者可失去存取,同時第二使用者之新群組能夠存取,此係由於其出現於第一使用者之臨限距離內。
在特定實施例中,社交網路連接系統160或輔助系統140可具有可出於使用者鑑認或體驗個人化目的而使用使用者之個人或生物識別資訊作為輸入的功能性。使用者可選擇利用這些功能性以增強其在線上社交網路上之體驗。作為一實例而非作為限制,使用者可將個人或生物識別資訊提供社交網路連接系統160或輔助系統140。使用者之隱私設定可指定此類資訊可僅用於特定程序,諸如鑑認,且進一步指定此類資訊不可與任何第三方系統170共用或用於與社交網路連接系統160或輔助系統140相關聯之其他程序或應用程式。作為另一實例而非作為限制,社交網路連接系統160可為使用者提供將聲紋錄音提供至線上社交網路的功能性。作為一實例而非作為限制,若使用者希望利用線上社交網路之此功能,則使用者可提供他或她自身的語音之語音錄音,以提供線上社交網路上之狀態更新。語音輸入之錄音可與使用者之聲紋相比較以判定使用者說出何字。使用者之隱私設定可指定此類語音錄音僅可用於語音輸入目的(例如,鑑認使用者、發送語音訊息、改良語音辨識,以便使用線上社交網路之語音操作特徵),且進一步指定此類語音錄音不可與任何第三方系統170共用或由與社交網路連接系統160相關聯之其他程序或應用程式使用。作為另一實例而非作為限制,社交網路連接系統160可為使用者提供將參考影像(例如,臉部設定檔、視網膜掃描)提供至線上社交網路的功能性。線上社交網路可比較參考影像與稍後接收到之影像輸入(例如,以鑑認使用者、在相片中標記使用者)。使用者之隱私設定可指定此類影像可僅用於有限目的(例如,鑑認、在相片中標記使用者),且進一步指定此類影像不可與任何第三方系統170共用或由與社交網路連接系統160相關聯之其他程序或應用程式使用。
系統及方法
圖 17說明實例電腦系統1700。在特定實施例中,一或多個電腦系統1700進行本文所描述或說明之一或多個方法之一或多個步驟。在特定實施例中,一或多個電腦系統1700提供本文所描述或說明之功能性。在特定實施例中,在一或多個電腦系統1700上運行之軟體進行本文所描述或說明的一或多個方法之一或多個步驟或提供本文所描述或說明的功能性。特定實施例包括一或多個電腦系統1700之一或多個部分。本文中,在適當時,對電腦系統之參考可涵蓋計算裝置,且反之亦然。此外,在適當時,對電腦系統之參考可涵蓋一或多個電腦系統。
本發明涵蓋任何合適數目個電腦系統1700。本發明涵蓋採用任何合適實體形式的電腦系統1700。作為實例而非作為限制,電腦系統1700可為嵌入式電腦系統、系統晶片(system-on-chip;SOC)、單板電腦系統(single-board computer system;SBC)(諸如模組電腦(computer-on-module;COM)或模組系統(system-on-module;SOM))、桌上型電腦系統、膝上型電腦或筆記本電腦系統、交互式公共資訊查詢站、大型電腦、電腦系統之網格、行動電話、個人數位助理(PDA)、伺服器、平板電腦系統,或上述系統/裝置中之兩者或更多者之組合。在適當時,電腦系統1700可包括一或多個電腦系統1700;為整體或分佈式;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或駐留於雲端中,該雲端可包括一或多個網路中之一或多個雲端組件。在適當時,一或多個電腦系統1700可在無實質空間或時間限制之情況下進行本文所描述或說明的一或多個方法之一或多個步驟。作為一實例而非作為限制,一或多個電腦系統1700可即時或以批量模式進行本文所描述或說明的一或多個方法之一或多個步驟。在適當時,一或多個電腦系統1700可在不同時間或在不同位置進行本文所描述或說明的一或多種方法之一或多個步驟。
在特定實施例中,電腦系統1700包括處理器1702、記憶體1704、儲存裝置1706、輸入/輸出(input/output;I/O)介面1708、通信介面1710及匯流排1712。儘管本發明描述及說明具有在特定配置中之特定數目個特定組件的特定電腦系統,但本發明涵蓋具有在任何合適配置中之任何合適數目個任何合適組件的任何合適之電腦系統。
在特定實施例中,處理器1702包括用於執行指令(諸如組成電腦程式之指令)之硬體。作為一實例而非作為限制,為執行指令,處理器1702可自內部暫存器、內部快取記憶體、記憶體1704或儲存裝置1706擷取(或提取)指令;對其進行解碼且執行;且接著將一或多個結果寫入至內部暫存器、內部快取記憶體、記憶體1704或儲存裝置1706。在特定實施例中,處理器1702可包括用於資料、指令或位址之一或多個內部快取記憶體。在適當時,本發明涵蓋包括任何合適數目個任何合適的內部快取記憶體的處理器1702。作為一實例而非作為限制,處理器1702可包括一或多個指令快取記憶體、一或多個資料快取記憶體及一或多個轉譯後備緩衝器(translation lookaside buffer;TLB)。指令快取記憶體中之指令可為記憶體1704或儲存裝置1706中之指令的複本,且指令快取記憶體可加速由處理器1702進行的對於上述指令的擷取。資料快取記憶體中之資料可為記憶體1704或儲存裝置1706中供在處理器1702處執行的指令在其上操作之資料的複本;供在處理器1702處執行之後續指令存取或供寫入至記憶體1704或儲存裝置1706的在處理器1702處執行的先前指令之結果;或其他合適資料。資料快取記憶體可加速由處理器1702進行的讀取或寫入操作。TLB可加速用於處理器1702之虛擬位址轉譯。在特定實施例中,處理器1702可包括用於資料、指令或位址之一或多個內部暫存器。在適當時,本發明涵蓋包括任何合適數目個任何合適的內部暫存器的處理器1702。在適當時,處理器1702可包括一或多個算術邏輯單元(arithmetic logic unit;ALU);為多核處理器;或包括一或多個處理器1702。儘管本發明描述及說明特定處理器,但本發明涵蓋任何合適的處理器。
在特定實施例中,記憶體1704包括用於儲存供處理器1702執行之指令或供處理器1702在其上操作之資料的主記憶體。作為一實例而非作為限制,電腦系統1700可自儲存裝置1706或另一來源(諸如另一電腦系統1700)將指令載入至記憶體1704。處理器1702可接著自記憶體1704將指令載入至內部暫存器或內部快取記憶體。為執行指令,處理器1702可自內部暫存器或內部快取記憶體擷取指令且對其進行解碼。在指令執行期間或之後,處理器1702可將一或多個結果(其可為中間或最終結果)寫入至內部暫存器或內部快取記憶體。處理器1702可接著將結果中之一或多者寫入至記憶體1704。在特定實施例中,處理器1702僅執行一或多個內部暫存器或內部快取記憶體中或記憶體1704(與儲存裝置1706相對或在別處)中的指令且僅對一或多個內部暫存器或內部快取記憶體中或記憶體1704(與儲存裝置1706相對或在別處)中之資料進行操作。一或多個記憶體匯流排(其可各自包括位址匯流排及資料匯流排)可將處理器1702耦接至記憶體1704。如下文所描述,匯流排1712可包括一或多個記憶體匯流排。在特定實施例中,一或多個記憶體管理單元(memory management unit;MMU)駐存於處理器1702與記憶體1704之間,且促進對由處理器1702請求之記憶體1704的存取。在特定實施例中,記憶體1704包括隨機存取記憶體(random access memory;RAM)。在適當時,此RAM可為揮發性記憶體。在適當時,此RAM可為動態RAM(dynamic RAM;DRAM)或靜態RAM(static RAM;SRAM)。此外,在適當時,此RAM可為單埠或多埠RAM。本發明涵蓋任何合適之RAM。在適當時,記憶體1704可包括一或多個記憶體1704。儘管本發明描述及說明特定記憶體,但本發明涵蓋任何合適之記憶體。
在特定實施例中,儲存裝置1706包括用於資料或指令之大容量儲存裝置。作為一實例而非作為限制,儲存裝置1706可包括硬碟驅動機(hard disk drive;HDD)、軟碟驅動機、快閃記憶體、光學光碟、磁性光學光碟、磁帶或通用串列匯流排(Universal Serial Bus;USB)驅動機,或上述儲存裝置中之兩者或更多者之組合。在適當時,儲存裝置1706可包括可移式或非可移式(或固定)媒體。在適當時,儲存裝置1706可在電腦系統1700內部或外部。在特定實施例中,儲存裝置1706為非揮發性固態記憶體。在特定實施例中,儲存裝置1706包括唯讀記憶體(read-only memory;ROM)。在適當時,此ROM可為經遮罩程式化ROM、可程式ROM(programmable ROM;PROM)、可抹除PROM(erasable PROM;EPROM)、電可抹除PROM(electrically erasable PROM;EEPROM)、電可改ROM(electrically alterable ROM;EAROM),或快閃記憶體或上述儲存裝置中之兩者或更多者之組合。本發明涵蓋採用任何合適實體形式的大容量儲存裝置1706。在適當時,儲存裝置1706可包括促進處理器1702與儲存裝置1706之間的通信之一或多個儲存裝置控制單元。在適當時,儲存裝置1706可包括一或多個儲存裝置1706。儘管本發明描述及說明特定儲存裝置,但本發明涵蓋任何合適之儲存裝置。
在特定實施例中,I/O介面1708包括硬體、軟體或兩者,從而提供一或多個介面用於電腦系統1700與一或多個I/O裝置之間的通信。在適當時,電腦系統1700可包括這些I/O裝置中之一或多者。這些I/O裝置中之一或多者可實現個人與電腦系統1700之間的通信。作為一實例而非作為限制,I/O裝置可包括鍵盤、小鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、靜態攝影機、手寫筆、平板電腦、觸控螢幕、軌跡球、視訊攝影機,另一合適之I/O裝置或這些裝置中之兩者或更多者之組合。I/O裝置可包括一或多個感測器。本發明涵蓋任何合適之I/O裝置及用於其之任何合適之I/O介面1708。在適當時,I/O介面1708可包括一或多個裝置或軟體驅動器,使得處理器1702能夠驅動這些I/O裝置中之一或多者。在適當時,I/O介面1708可包括一或多個I/O介面1708。儘管本發明描述及說明特定I/O介面,但本發明涵蓋任何合適之I/O介面。
在特定實施例中,通信介面1710包括硬體、軟體或兩者,從而提供一或多個介面用於電腦系統1700與一或多個其他電腦系統1700或一或多個網路之間的通信(諸如基於封包之通信)。作為一實例而非作為限制,通信介面1710可包括用於與乙太網路或其他基於有線之網路通信的網路介面控制器(network interface controller;NIC)或網路配接器或用於與無線網路(諸如WI-FI網路)通信的無線NIC(wireless NIC;WNIC)或無線配接器。本發明涵蓋任何合適之網路及用於其之任何合適之通信介面1710。作為一實例而非作為限制,電腦系統1700可與特用網路、個人區域網路(personal area network ;PAN)、區域網路(local area network;LAN)、廣域網路(wide area network;WAN)、都會區域網路(metropolitan area network;MAN)或網際網路之一或多個部分或這些網路中之兩者或更多者之組合通信。這些網路中之一或多者的一或多個部分可為有線或無線的。作為一實例,電腦系統1700可與無線PAN(wireless PAN;WPAN)(諸如藍牙(BLUETOOTH)WPAN)、WI-FI網路、WI-MAX網路、蜂巢式電話網路(諸如全球行動通信系統(Global System for Mobile Communication;GSM)網路)、或其他合適之無線網路或這些網路中之兩者或更多者之組合通信。在適當時,電腦系統1700可包括用於這些網路中之任一者的任何合適之通信介面1710。在適當時,通信介面1710可包括一或多個通信介面1710。儘管本發明描述及說明特定通信介面,但本發明涵蓋任何合適之通信介面。
在特定實施例中,匯流排1712包括將電腦系統1700之組件彼此耦接的硬體、軟體或兩者。作為一實例而非作為限制,匯流排1712可包括加速圖形埠(Accelerated Graphics Port;AGP)或另一圖形匯流排、增強行業標準架構(Enhanced Industry Standard Architecture;EISA)匯流排、前側匯流排(front-side bus;FSB)、超傳輸(HYPERTRANSPORT;HT)互連、行業標準架構(Industry Standard Architecture;ISA)匯流排、INFINIBAND互連、低針腳數(low-pin-count;LPC)匯流排、記憶體匯流排、微型頻道架構(Micro Channel Architecture;MCA)匯流排、周邊組件互連(Peripheral Component Interconnect;PCI)匯流排、PCI高速(PCI-Express;PCIe)匯流排、串列進階附接技術(serial advanced technology attachment;SATA)匯流排、視訊電子標準協會局部(Video Electronics Standards Association local;VLB)匯流排,或另一合適之匯流排或這些匯流排中之兩者或更多者之組合。在適當時,匯流排1712可包括一或多個匯流排1712。儘管本發明描述及說明特定匯流排,但本發明涵蓋任何合適之匯流排或互連件。
本文中,在適當時,一或多個電腦可讀取非暫時性儲存媒體或媒體可包括一或多個基於半導體之或其他積體電路(integrated circuit;IC)(諸如場可程式閘極陣列(field-programmable gate array;FPGA)或特殊應用IC(application-specific IC;ASIC))、硬碟驅動機(HDD)、混合式硬碟驅動機(hybrid hard drive;HHD)、光學光碟、光學光碟驅動機(optical disc drives;ODD)、磁性光學光碟、磁性光學驅動機、軟碟、軟碟驅動機(floppy disk drive;FDD)、磁帶、固態磁碟機(solid-state drive;SSD)、RAM驅動機、安全數位卡或驅動機、任何其他合適之電腦可讀取非暫時性儲存媒體,或這些儲存媒體中之兩者或更多者的任何合適組合。在適當時,電腦可讀取非暫時性儲存媒體可為揮發性、非揮發性或揮發性與非揮發性之組合。
雜項
本文中,除非另外明確指示或上下文另外指示,否則「或」為包括性且並非排他性的。因此,除非另外明確指示或上下文另外指示,否則本文中「A或B」意謂「A、B或兩者」。此外,除非另外明確指示或上下文另外指示,否則「及」為聯合及各自兩者。因此,除非另外明確指示或上下文另外指示,否則本文中「A及B」意謂「A及B,聯合地或各自地」。
本發明之範疇涵蓋所屬技術領域中具有通常知識者將瞭解的本文所描述或說明之實例實施例的所有改變、取代、變化、更改及修改。本發明之範疇不限於本文所描述或說明之實例實施例。此外,儘管本發明將本文各別實施例描述及說明為包括特定組件、元件、特徵、功能、操作或步驟,但這些實施例中之任一者可包括所屬技術領域中具有通常知識者將瞭解的本文中任何位置描述或說明的組件、元件、特徵、功能、操作或步驟中之任一者的任何組合或排列。此外,所附申請專利範圍中對經調適以、經配置以、能夠、經組態以、經啟用以、經操作以或可操作以進行一特定功能的設備或系統或設備或系統之組件的參考涵蓋只要設備、系統或組件如此經調適、經配置、能夠、經組態、經啟用、經操作或可操作,設備、系統、組件(不論是這些設備、系統、組件或其特定功能)即經激活、接通或解鎖。另外,儘管本發明將特定實施例描述或說明為提供特定優勢,但特定實施例可提供這些優勢中之無一者、一些或所有。
100:網路環境
110:網路
130:用戶端系統
132:網頁瀏覽器
134:社交網路連接應用程式
136:輔助應用程式
137:顯現裝置
138:伴隨裝置
140:輔助系統
150:鏈路
160:社交網路連接系統
162:伺服器
164:資料儲存區
170:第三方系統
200:架構
202:虛線
205:決策點
206:裝置上協調器
208a:本端自動話語辨識模組
208b:遠端自動話語辨識模組
210a:本端自然語言理解模組
210b:遠端自然語言理解模組
212:實體解析模組
212a:實體解析模組
212b:實體解析模組
215:決策點
216:對話管理器
216a:裝置上對話管理器
216b:對話管理器模組
218:對話狀態追蹤器
218a:對話狀態追蹤器
218b:遠端對話狀態追蹤器
220:情境引擎
220a:本端情境引擎
220b:遠端情境引擎
222:動作選擇器
222a:動作選擇器
222b:遠端動作選擇器
224:對話管理器代理
225:決策點
226:仲裁器
226a:本端仲裁器
226b:遠端仲裁器
228:代理程式
228a:代理程式
228b:代理程式
230:遞送系統
230a:本端遞送系統
230b:遠端遞送系統
232:顯現輸出模組
300:流程圖
305:輔助服務模組
310:請求管理器
312:情境提取器
314:交談式理解對象產生器
320:資料儲存區
330:允許清單/阻擋清單
332:特徵化
334:域分類/選擇
336a:後設意圖分類器
336b:意圖分類器
338a:後設槽標記器
338b:槽標記器
340:域實體解析
342:通用實體解析
350:知識
352:圖
354:輔助使用者記憶體
356:對話意圖解析
360:對話策略
362:通用策略
364:任務策略
370:CU編排器
372:自然語言產生組件
374:UI有效負載產生器
376:回應排序器
380:回應產生組件
382:對話狀態寫入組件
390:文字話語組件
400:任務中心流程圖
410:任務追蹤器
411:意圖處置程式
412:任務ID解析組件
413:引數解析組件
414:任務候選排序模組
415:基於規則之排序器
416:任務候選產生模組
417:任務ID解析組件
418:引數解析組件
419:合併層
420:交談理解加強引擎追蹤器
430:任務規格管理器API
435:運行時間組態
500:文字框
505:選項
510:選項
515:選項
520:符號
525:語音輸入
530:語音輸入
605:語音輸入
610:選項
615:語音輸入
620:語音輸入
705:選項
710:手部
715:語音輸入
720:語音輸入
805:手部
810:n元語法
815:n元語法
905:區塊
910:區塊
915:圓/凝視輸入
920:語音輸入
925:發送
1005:語音
1010:區塊
1015:區塊
1020:手部
1025:語音輸入
1030:區塊
1105:文字框
1110:選項
1115:選項
1120:手部
1125:垃圾桶符號
1130:麥克風符號
1135:鍵盤符號
1205:凝視輸入
1210:手部
1305:指令
1405:使用者
1410:訊息
1415:顯示器
1420:手部
1505:文字框
1510:選項
1515:選項
1520:編輯模式
1600:方法
1610:步驟
1620:步驟
1630:步驟
1640:步驟
1650:步驟
1660:步驟
1670:步驟
1680:步驟
1700:電腦系統
1702:處理器
1704:記憶體
1706:儲存裝置
1708:輸入/輸出介面
1710:通信介面
1712:匯流排
[圖1]說明與輔助系統相關聯之實例網路環境。
[圖2]說明輔助系統之實例架構。
[圖3]說明輔助系統之實例流程圖。
[圖4]說明處理使用者輸入之實例任務中心流程圖。
[圖5A]說明展示經口述訊息之實例使用者介面。
[圖5B]說明展示基於一步驟校正來改變的使用者請求之實例使用者介面。
[圖5C]說明展示經編輯訊息之實例使用者介面。
[圖5D]說明展示發送經編輯訊息之確認之實例使用者介面。
[圖6A]說明展示經口述訊息之實例使用者介面。
[圖6B]說明展示改變經口述訊息的使用者請求之實例使用者介面。
[圖6C]說明展示等待使用者之進一步口述之實例使用者介面。
[圖6D]說明展示新口述之實例使用者介面。
[圖6E]說明展示經轉錄新訊息之實例使用者介面。
[圖6F]說明展示發送經編輯訊息之確認之實例使用者介面。
[圖7A]說明展示經口述訊息之實例使用者介面。
[圖7B]說明展示等待使用者之新口述之實例使用者介面。
[圖7C]說明展示新口述之實例使用者介面。
[圖7D]說明展示新轉錄訊息之實例使用者介面。
[圖7E]說明展示發送經編輯訊息之確認之實例使用者介面。
[圖8A]說明展示經口述訊息之實例使用者介面。
[圖8B]說明展示瞄準訊息之一部分的手勢輸入之實例使用者介面。
[圖8C]說明展示用於改變之n元語法之實例使用者介面。
[圖8D]說明展示瞄準替換的手勢輸入之實例使用者介面。
[圖8E]說明展示確認所選替換之實例使用者介面。
[圖8F]說明展示經編輯訊息之實例使用者介面。
[圖8G]說明展示選擇發送訊息之實例使用者介面。
[圖8H]說明展示確認發送訊息之實例使用者介面。
[圖9A]說明展示經口述訊息之實例使用者介面。
[圖9B]說明展示訊息之經劃分區塊之實例使用者介面。
[圖9C]說明展示凝視輸入之實例使用者介面。
[圖9D]說明展示對區塊之編輯之實例使用者介面。
[圖9E]說明展示發送訊息之確認之實例使用者介面。
[圖10A]說明展示經口述訊息之實例使用者介面。
[圖10B]說明展示對改變的使用者請求之實例使用者介面。
[圖10C]說明展示用於編輯之區塊之實例使用者介面。
[圖10D]說明展示區塊之選擇之實例使用者介面。
[圖10E]說明展示確認所選區塊之實例使用者介面。
[圖10F]說明展示編輯所選區塊之實例使用者介面。
[圖10G]說明展示經編輯區塊之確認之實例使用者介面。
[圖10H]說明展示選擇發送訊息之實例使用者介面。
[圖10I]說明展示確認發送訊息之實例使用者介面。
[圖11A]說明展示經口述訊息之實例使用者介面。
[圖11B]說明展示用於編輯之訊息之一部分的使用者選擇之實例使用者介面。
[圖11C]說明展示選擇用於編輯之字的開始之實例使用者介面。
[圖11D]說明展示選擇用於編輯之字的結束之實例使用者介面。
[圖11E]說明展示編輯所選字之選項之實例使用者介面。
[圖11F]說明展示選擇語音輸入之選項之實例使用者介面。
[圖11G]說明展示使用語音輸入用於編輯之確認之實例使用者介面。
[圖11H]說明展示來自使用者之口述之實例使用者介面。
[圖11I]說明展示經編輯訊息之實例使用者介面。
[圖11J]說明展示接受對訊息之編輯之實例使用者介面。
[圖12A]說明展示經口述訊息之實例使用者介面。
[圖12B]說明展示用於編輯之訊息之一部分的使用者選擇之實例使用者介面。
[圖12C]說明展示選擇用於編輯之字的開始之實例使用者介面。
[圖12D]說明展示選擇用於編輯之字的結束之實例使用者介面。
[圖12E]說明展示編輯所選字之選項之實例使用者介面。
[圖12F]說明展示選擇語音輸入之選項之實例使用者介面。
[圖12G]說明展示使用語音輸入用於編輯之確認之實例使用者介面。
[圖12H]說明展示來自使用者之口述之實例使用者介面。
[圖12I]說明展示經編輯訊息之實例使用者介面。
[圖13]說明藉由劃分訊息且為劃分部編號之實例訊息編輯。
[圖14A]說明實例訊息口述。
[圖14B]說明實例訊息快速清除。
[圖15A]說明實例經輸入訊息。
[圖15B]說明智慧型手機上之識別符之實例n元語法覆疊。
[圖15C]說明智慧型手錶上之識別符之實例n元語法覆疊。
[圖15D]說明智慧型網路攝影機上之識別符之實例n元語法覆疊。
[圖16]說明用於高效文字編輯之實例方法。
[圖17]說明實例電腦系統。
1600:方法
1610:步驟
1620:步驟
1630:步驟
1640:步驟
1650:步驟
1660:步驟
1670:步驟
1680:步驟
Claims (19)
- 一種方法,其包含藉由一用戶端系統: 經由該用戶端系統之一使用者介面基於在該用戶端系統處接收到之一使用者發音來呈現一文字訊息,其中該文字訊息包含複數個n元語法(n-gram); 在該用戶端系統處接收編輯該文字訊息的一第一使用者請求; 經由該使用者介面呈現在視覺上劃分成複數個區塊之該文字訊息,其中每一區塊包含該文字訊息之該些n元語法中之一或多者,且其中每一區塊中之該些n元語法相對於彼此為連續的,且基於藉由一自然語言理解(NLU)模組對該文字訊息之一分析而將每一區塊中之該些n元語法分組於該區塊內; 在該用戶端系統處接收編輯該複數個區塊中之一或多個區塊的一第二使用者請求;及 經由該使用者介面呈現一經編輯文字訊息,其中基於該第二使用者請求產生該經編輯文字訊息。
- 如請求項1之方法,其進一步包含: 經由該使用者介面呈現用於輸入該第二使用者請求之一提示,其中該第二使用者請求包含用於編輯該一或多個區塊之資訊。
- 如請求項1之方法,其中該複數個區塊中之每一者使用一幾何形狀、一色彩或一識別符中之一或多者在視覺上劃分。
- 如請求項1之方法,其中該第一使用者請求或該第二使用者請求中之一或多者係基於一語音輸入、一手勢輸入或一凝視輸入中之一或多者。
- 如請求項1之方法,其中該第一使用者請求係基於一手勢輸入,且其中該方法進一步包含: 經由該使用者介面呈現包含用於編輯之該複數個區塊之選擇選項的一基於手勢之選單,其中該第二使用者請求包含基於一或多個手勢輸入來選擇對應於該一或多個區塊之該些選擇選項中之一或多者。
- 如請求項1之方法,其中該第二使用者請求包含意欲清除該文字訊息之一手勢輸入,且其中編輯該複數個區塊中之該一或多個區塊包含清除對應於該一或多個區塊之該些n元語法。
- 如請求項6之方法,其進一步包含: 藉由一手勢分類器基於與該手勢輸入相關聯之一或多個屬性來判定該手勢輸入意欲清除該文字訊息。
- 如請求項1之方法,其中該複數個區塊分別使用複數個識別符在視覺上劃分,且其中該第二使用者請求包含對應於各別的該一或多個區塊之一或多個識別符的一或多個參考。
- 如請求項8之方法,其中該複數個識別符包含數字、字母或符號中之一或多者。
- 如請求項1之方法,其中該第二使用者請求包含參考該一或多個區塊之一語音輸入。
- 如請求項10之方法,其中該第二使用者請求中之對應於該一或多個區塊之該參考包含一歧義參考,且其中該方法進一步包含: 基於一語音相似度模型對該歧義參考進行歧義消除。
- 如請求項1之方法,其中該第一使用者請求或該第二使用者請求中之一或多者包含來自該用戶端系統之一第一使用者的一語音輸入,且其中該方法進一步包含: 基於由該用戶端系統之一或多個感測器所俘獲之感測器信號來偵測接近該第一使用者之一第二使用者;及 基於由該第一使用者進行的一或多個凝視輸入來判定該第一使用者請求及該第二使用者請求係針對該用戶端系統。
- 如請求項1之方法,其中該第二使用者請求包含針對該一或多個區塊之一或多個凝視輸入。
- 如請求項1之方法,其進一步包含: 基於該第二使用者請求編輯該文字訊息。
- 如請求項14之方法,其中編輯該文字訊息包含分別將該一或多個區塊中之一或多者中之每一者中的該些n元語法中之一或多者改變為一或多個其他n元語法。
- 如請求項14之方法,其中編輯該文字訊息包含將一或多個n元語法添加至該一或多個區塊中之一或多者中之每一者。
- 如請求項14之方法,其中編輯該文字訊息包含改變與該一或多個區塊中之一或多者中之每一者中的該些n元語法相關聯之一次序。
- 一種體現軟體的一或多個電腦可讀取非暫時性儲存媒體,該軟體被執行時可進行以下操作: 經由一用戶端系統之一使用者介面基於在該用戶端系統處接收到之一使用者發音來呈現一文字訊息,其中該文字訊息包含複數個n元語法; 在該用戶端系統處接收編輯該文字訊息的一第一使用者請求; 經由該使用者介面呈現在視覺上劃分成複數個區塊之該文字訊息,其中每一區塊包含該文字訊息之該些n元語法中之一或多者,且其中每一區塊中之該些n元語法相對於彼此為連續的,且基於藉由一自然語言理解(NLU)模組對該文字訊息之一分析而將每一區塊中之該些n元語法分組於該區塊內; 在該用戶端系統處接收編輯該複數個區塊中之一或多個區塊的一第二使用者請求;及 經由該使用者介面呈現一經編輯文字訊息,其中基於該第二使用者請求產生該經編輯文字訊息。
- 一種系統,其包含:一或多個處理器;及一非暫時性記憶體,其耦接至該些處理器,該非暫時性記憶體包含可由該些處理器執行之指令,該些處理器在執行該些指令時可操作以: 經由一用戶端系統之一使用者介面基於在該用戶端系統處接收到之一使用者發音來呈現一文字訊息,其中該文字訊息包含複數個n元語法; 在該用戶端系統處接收編輯該文字訊息的一第一使用者請求; 經由該使用者介面呈現在視覺上劃分成複數個區塊之該文字訊息,其中每一區塊包含該文字訊息之該些n元語法中之一或多者,且其中每一區塊中之該些n元語法相對於彼此為連續的,且基於藉由一自然語言理解(NLU)模組對該文字訊息之一分析而將每一區塊中之該些n元語法分組於該區塊內; 在該用戶端系統處接收編輯該複數個區塊中之一或多個區塊的一第二使用者請求;及 經由該使用者介面呈現一經編輯文字訊息,其中基於該第二使用者請求產生該經編輯文字訊息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163156209P | 2021-03-03 | 2021-03-03 | |
US63/156,209 | 2021-03-03 | ||
US17/407,922 | 2021-08-20 | ||
US17/407,922 US20220284904A1 (en) | 2021-03-03 | 2021-08-20 | Text Editing Using Voice and Gesture Inputs for Assistant Systems |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202240461A true TW202240461A (zh) | 2022-10-16 |
Family
ID=80819965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111105810A TW202240461A (zh) | 2021-03-03 | 2022-02-17 | 使用輔助系統的語音和手勢輸入之文字編輯 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4302228A1 (zh) |
TW (1) | TW202240461A (zh) |
WO (1) | WO2022187480A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11995394B1 (en) * | 2023-02-07 | 2024-05-28 | Adobe Inc. | Language-guided document editing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015100172A1 (en) * | 2013-12-27 | 2015-07-02 | Kopin Corporation | Text editing with gesture control and natural speech |
US11010436B1 (en) * | 2018-04-20 | 2021-05-18 | Facebook, Inc. | Engaging users by personalized composing-content recommendation |
CN112204500B (zh) * | 2018-05-04 | 2024-09-10 | 谷歌有限责任公司 | 根据用户和自动化助理界面之间的距离来生成和/或适应自动化助理内容 |
-
2022
- 2022-02-17 TW TW111105810A patent/TW202240461A/zh unknown
- 2022-03-03 EP EP22711794.2A patent/EP4302228A1/en active Pending
- 2022-03-03 WO PCT/US2022/018697 patent/WO2022187480A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4302228A1 (en) | 2024-01-10 |
WO2022187480A1 (en) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12019685B1 (en) | Context carryover across tasks for assistant systems | |
US20230401170A1 (en) | Exploration of User Memories in Multi-turn Dialogs for Assistant Systems | |
US20220284904A1 (en) | Text Editing Using Voice and Gesture Inputs for Assistant Systems | |
KR20230029582A (ko) | 어시스턴트 시스템에서 다자간 통화를 위한 단일 요청의 사용 | |
US20220374645A1 (en) | Task Execution Based on Real-world Text Detection for Assistant Systems | |
US20220366904A1 (en) | Active Listening for Assistant Systems | |
TW202307643A (zh) | 助理系統進行有興趣時刻的自動捕捉 | |
CN116888661A (zh) | 用于辅助系统的包括非拉丁或不可解析内容项的通信内容的读出 | |
TW202301080A (zh) | 輔助系統的多裝置調解 | |
TW202240461A (zh) | 使用輔助系統的語音和手勢輸入之文字編輯 | |
US20240054156A1 (en) | Personalized Labeling for User Memory Exploration for Assistant Systems | |
US11983329B1 (en) | Detecting head gestures using inertial measurement unit signals | |
EP4418077A1 (en) | Proactively pausing media playing based on ambient motion for assistant systems | |
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 | |
EP4432052A1 (en) | Preventing false activations based on don/doff detection for assistant systems | |
CN116897353A (zh) | 用于辅助系统的使用语音和手势输入的文本编辑 | |
CN118506776A (zh) | 助理系统的基于环境运动的主动暂停媒体播放 | |
CN117396837A (zh) | 助理系统的多设备调解 | |
CN117765940A (zh) | 为助理系统呈现与语音命令相关联的注意状态 | |
CN117377942A (zh) | 助理系统的主动收听 | |
CN118694735A (zh) | 用于助理系统的为覆盖范围外请求生成上下文响应 | |
CN117396838A (zh) | 助理系统的基于真实世界文本检测的任务执行 |