JP6606301B1 - デジタルアシスタントサービスの遠距離拡張 - Google Patents
デジタルアシスタントサービスの遠距離拡張 Download PDFInfo
- Publication number
- JP6606301B1 JP6606301B1 JP2018567925A JP2018567925A JP6606301B1 JP 6606301 B1 JP6606301 B1 JP 6606301B1 JP 2018567925 A JP2018567925 A JP 2018567925A JP 2018567925 A JP2018567925 A JP 2018567925A JP 6606301 B1 JP6606301 B1 JP 6606301B1
- Authority
- JP
- Japan
- Prior art keywords
- electronic device
- user
- response
- user request
- digital assistant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 742
- 230000004044 response Effects 0.000 claims abstract description 561
- 238000004891 communication Methods 0.000 claims description 160
- 230000033001 locomotion Effects 0.000 claims description 117
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 609
- 238000012545 processing Methods 0.000 description 270
- 238000007726 management method Methods 0.000 description 237
- 230000000875 corresponding effect Effects 0.000 description 81
- 230000006870 function Effects 0.000 description 69
- 238000003058 natural language processing Methods 0.000 description 65
- 238000003860 storage Methods 0.000 description 54
- 230000009471 action Effects 0.000 description 52
- 230000008859 change Effects 0.000 description 42
- 230000002093 peripheral effect Effects 0.000 description 40
- 230000015572 biosynthetic process Effects 0.000 description 39
- 238000003786 synthesis reaction Methods 0.000 description 39
- 241000699666 Mus <mouse, genus> Species 0.000 description 38
- 238000001514 detection method Methods 0.000 description 38
- 238000005516 engineering process Methods 0.000 description 37
- 238000005111 flow chemistry technique Methods 0.000 description 36
- 230000003993 interaction Effects 0.000 description 34
- 230000000007 visual effect Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 25
- 230000007423 decrease Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 20
- 230000003287 optical effect Effects 0.000 description 15
- 238000009499 grossing Methods 0.000 description 14
- 230000001413 cellular effect Effects 0.000 description 11
- 238000010411 cooking Methods 0.000 description 10
- 238000006073 displacement reaction Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000003825 pressing Methods 0.000 description 8
- 230000021317 sensory perception Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000001755 vocal effect Effects 0.000 description 8
- 241000227653 Lycopersicon Species 0.000 description 7
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 7
- 230000003213 activating effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000035807 sensation Effects 0.000 description 5
- 241001422033 Thestylus Species 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000010079 rubber tapping Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000000881 depressing effect Effects 0.000 description 3
- 230000010006 flight Effects 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- MQJKPEGWNLWLTK-UHFFFAOYSA-N Dapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1 MQJKPEGWNLWLTK-UHFFFAOYSA-N 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005352 clarification Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 229920001746 electroactive polymer Polymers 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004424 eye movement Effects 0.000 description 2
- 235000013410 fast food Nutrition 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000019577 caloric intake Nutrition 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 210000000216 zygoma Anatomy 0.000 description 1
Images
Classifications
-
- 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/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- 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/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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/16—Speech classification or search using artificial neural networks
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- 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/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
Abstract
Description
(関連出願の相互参照)
図1は、様々な例に従ったシステム100のブロック図である。いくつかの例では、システム100は、デジタルアシスタントを実行する。「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、又は「自動デジタルアシスタント」という用語は、自然言語入力を発話及び/又はテキスト形式に解釈してユーザの意図を推測し、推測されたユーザの意図に基づいてアクションを実行する任意の情報処理システムを参照する。例えば、推定されたユーザの意図を判定するために、システムは、推定されたユーザの意図を実現するために設計されたステップ及びパラメータと共にタスクフローを特定すること、推定されたユーザの意図からタスクフローへ具体的な要件を入力すること、プログラム、方法、サービス、APIなどを実行することによってタスクフローを実行すること、及び可聴(例えば、スピーチ)及び/又は視覚形式でユーザに出力応答を生成すること、のうちの任意の1つ以上を実行する。
2.電子デバイス
(1)2006年5月2日に出願された米国特許出願第11/381,313号の「Multipoint Touch Surface Controller」(2)2004年5月6日に出願された米国特許出願第10/840,862号の「
Multipoint Touchscreen」(3)2004年7月30日に出願された米国特許出願第10/903,964号の「Gestures For Touch Sensitive Input Devices」(4)2005年1月31日に出願された米国特許出願第11/048,264号の「Gestures For Touch Sensitive Input Devices」(5)2005年1月18日に出願された米国特許出願第11/038,590号の「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」(6)2005年9月16日に出願された米国特許出願第11/228,758号の「Virtual Input Device Placement On A Touch Screen User Interface」(7)2005年9月16日に出願された米国特許出願第11/228,700号の「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日に出願された米国特許出願第11/228,737号の「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、及び(9)2006年3月3日に出願された米国特許出願第11/367,749号の「Multi−Functional Hand−Held Device」これらの出願の全ては、全体が参照により本明細書に組み込まれる。
●連絡先モジュール237(アドレス帳又は連絡先リストと呼ばれる場合もある)、
●電話モジュール238、
●テレビ会議モジュール239、
●電子メールクライアントモジュール240、
●インスタントメッセージ(IM)モジュール241、
●トレーニングサポートモジュール242、
●静止及び/若しくは動画用カメラモジュール243、
●画像管理モジュール244、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール247、
●カレンダーモジュール248、
●いくつかの例では、ウィジェットモジュール249は、天気ウィジェット249−1、株式ウィジェット249−2、計算機ウィジェット249−3、目覚まし時計ウィジェット249−4、辞書ウィジェット249−5、及びユーザ作成ウィジェット249−6と同様にユーザによって得られた他のウィジェットのうちの任意の1つ以上を含む。
●ユーザ作成ウィジェット249−6を作成するウィジェットクリエータモジュール250;
●検索モジュール251;
●ビデオプレーヤモジュールと音楽プレーヤモジュールとを融合させたビデオ及び音楽プレーヤモジュール252;
●メモモジュール253;
●地図モジュール254;並びに/又は
●オンラインビデオモジュール255
●時間504、
●Bluetoothインジケータ505、
●バッテリ状態インジケータ506、
●下記などの、頻繁に使用されるアプリケーションのアイコンを有するトレイ508、
○不在着信又はボイスメールメッセージの数のインジケータ514を任意選択的に含む、「電話」とラベル付けされた、電話モジュール238用のアイコン516、
○未読電子メールの数のインジケータ510を任意選択的に含む「メール」とラベル付けされた、電子メールクライアントモジュール240用のアイコン518、
○「ブラウザ」とラベル付けされた、ブラウザモジュール247用のアイコン520、及び
○「iPod」とラベル付けされた、iPod(アップル社の登録商標)モジュール252とも参照されるビデオ及び音楽プレーヤモジュール252用のアイコン522及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール241用のアイコン524、
○「カレンダー」とラベル付けされた、カレンダーモジュール248用のアイコン526、
○「写真」とラベル付けされた、画像管理モジュール244用のアイコン528、
○「カメラ」とラベル付けされた、カメラモジュール243用のアイコン530、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール255用のアイコン532、
○「株価」とラベル付けされた、株価ウィジェット249−2用のアイコン534、
○「地図」とラベル付けされた、地図モジュール254用のアイコン536、
○「気象」とラベル付けされた、気象ウィジェット249−1用のアイコン538、
○「時計」とラベル付けされた、アラーム時計ウィジェット249−4用のアイコン540、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール242用のアイコン542、
○「メモ」とラベル付けされた、メモモジュール253用のアイコン544、及び
○デバイス200及びその様々なアプリケーション236の設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュール用のアイコン546
図7Aは、様々な例によるデジタルアシスタントシステム700のブロック図を示している。いくつかの例において、デジタルアシスタントシステム700は、独立型のコンピュータシステムで実行される。いくつかの例において、デジタルアシスタントシステム700は、複数のコンピュータにわたって分散される。いくつかの例において、デジタルアシスタントのモジュール及び機能の一部は、サーバ部分とクライアント部分とに分けられ、クライアント部分は、例えば図1に示すように、1つ以上のユーザデバイス(例えば、デバイス104、122、200、400、600、810A〜C、830、840、1182、1186、1880、及び/又は1882)にあり、1つ以上のネットワークを介してサーバ部分(例えば、サーバシステム108)と通信する。いくつかの例において、デジタルアシスタントシステム700は、図1に示すサーバシステム108(及び/又はDAサーバ106)の実装形態である。デジタルアシスタントシステム700はデジタルアシスタントシステムの単に一例であり、デジタルアシスタントシステム700は、図示されているのよりも多い又は少ない構成要素を有することができ、2つ以上の構成要素を結合させることができ、あるいは、構成要素の異なる設定又は配列を有することができることに留意されたい。図7Aに示す様々な構成要素は、ハードウェア、1つ以上のプロセッサによって実行するソフトウェア命令、1つ以上の信号処理及び/又は特定用途向け集積回路を含むファームウェア、あるいはその組み合わせにおいて実装される。
4.ユーザ入力に基づいてデジタルアシスタントサービスを提供するデジタルアシスタントの例示的な機能
5.イベントの通知に基づいてデジタルアシスタントサービスを提供するデジタルアシスタントの例示的な機能
6.ユーザ入力に基づいてデジタルアシスタントサービスを提供するプロセス
7.イベントの通知に基づいてデジタルアシスタントサービスを提供するプロセス
8.複数のデバイスを使用してデジタルアシスタントサービスを提供する例示的な機能
9.複数のデバイスを使用してデジタルアシスタントサービスを提供するプロセス
付録
[書類名] 明細書
[発明の名称] マルチタスキング環境におけるインテリジェントデジタルアシスタント
[0001]
(関連出願の相互参照)
本出願は、2016年6月10日に出願された「INTELLIGENT DIGITAL ASSISTANT IN A MULTI−TASKING ENVIRONMENT」と題する米国仮特許出願第62/348,728号の優先権を主張し、全ての目的のためにその全体が参照により本明細書に組み込まれる。
[技術分野]
[0002]
本開示は、概して、デジタルアシスタントに関し、より具体的には、マルチタスキング環境においてタスクを実行するためにユーザと対話するデジタルアシスタントに関する。
[背景技術]
[0003]
デジタル端末がますます人気になっている。デスクトップ又はタブレット環境において、ユーザは、ファイル又は情報を検索すること、ファイル又はフォルダを管理すること、映画又は曲を再生すること、ドキュメントを編集すること、システム構成を調節すること、電子メールを送信すること等を含む、複数のタスクを頻繁に。ユーザが複数のタスクを並列して手動で実行し、タスクの間で頻繁に切り替えることは、煩わしく、不便であることが多い。よって、デジタルアシスタントは、ユーザの音声入力に基づいて、マルチタスキング環境においてユーザがタスクのいくつかを実行することを支援する能力を有することが望ましい。
[発明の概要]
[0004]
ユーザがマルチタスキング環境においてユーザがタスクを実行することを支援するいくつかの既存の技術は、例えば、聞き取りを含んでもよい。典型的には、ユーザは、マルチタスキング環境において多くの他のタスクを手動で実行することが必要とされることがある。例として、ユーザは、自分のデスクトップコンピュータ上で昨日のプレゼンテーションに取りかかっていることがあり、プレゼンテーションに対する作業を続けることを望むことがある。ユーザは典型的には、自分のデスクトップコンピュータ上でプレゼンテーションを手動で位置付け、プレゼンテーションを開き、プレゼンテーションを編集することを続けることが必要とされる。
[0005]
別の例として、ユーザは、ユーザが自分のデスクトップコンピュータから離れているときに自分のスマートフォン上でフライトを予約していることがある。ユーザは、デスクトップコンピュータが利用可能であるときにフライトを予約することを続けることを望むことがある。既存の技術では、ユーザは、ウェブブラウザを立ち上げ、ユーザのデスクトップコンピュータにおいてフライト予約処理を開始する必要がある。言い換えると、ユーザがスマートフォンにおいて行った前のフライト予約処理は、ユーザのデスクトップコンピュータにおいて続けられないことがある。
[0006]
別の例として、ユーザは、自分のデスクトップコンピュータ上でドキュメントを編集している間に、スクリーンの輝度レベルを変更すること又はBluetooth接続をターンオンすることなど、システム構成を変更することを望むことがある。既存の技術では、ユーザは、ドキュメントを編集することを停止し、輝度構成アプリケーションを発見し、及び立ち上げ、設定を手動で変更する必要があることがある。マルチタスキング環境では、いくつかの既存の技術は、ユーザの発話入力に基づいて上記例で説明されたようなタスクを実行することが可能でない。よって、マルチタスキング環境における音声対応デジタルアシスタントを提供することが望まれ、有利である。
[0007]
デジタルアシスタントを動作させるシステム及び処理が提供される。1つ以上の実施例によれば、方法は、1つ以上のプロセッサ及びメモリを有するユーザデバイスにおいて、第1の発話入力をユーザから受信することを含む。方法は、ユーザデバイスと関連付けられたコンテクスト情報を特定することと、第1の発話入力及びコンテクスト情報に基づいてユーザ意図を判定することとを更に含む。方法は、ユーザ意図が、検索処理を使用してタスクを実行することであるか又はオブジェクト管理処理を使用してタスクを実行することであるかを判定することを更に含む。検索処理は、ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されており、オブジェクト管理処理は、ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている。方法は、ユーザ意図が検索処理を使用してタスクを実行することであるとの判定に従って、検索処理を使用してタスクを実行することを更に含む。方法は、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、オブジェクト管理処理を使用してタスクを実行することを更に含む。
[0008]
1つ以上の実施例によれば、方法は、1つ以上のプロセッサ及びメモリを有するユーザデバイスにおいて、タスクを実行するために発話入力をユーザから受信することを含む。方法は、ユーザデバイスと関連付けられたコンテクスト情報を特定することと、発話入力及びユーザデバイスと関連付けられたコンテクスト情報に基づいてユーザ意図を判定することとを更に含む。方法は、ユーザ意図に従って、タスクがユーザデバイス、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいて実行されるか否かを判定することを更に含む。方法は、タスクがユーザデバイスにおいて実行され、タスクを実行するためのコンテンツがリモートに記憶されているとの判定に従って、タスクを実行するためのコンテンツを受信することを更に含む。方法は、タスクが第1の電子デバイスにおいて実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、タスクを実行するためのコンテンツを第1の電子デバイスに提供することを更に含む。
[0009]
1つ以上の実施例によれば、方法は、1つ以上のプロセッサ及びメモリを有するユーザデバイスにおいて、ユーザデバイスの1つ以上のシステム構成を管理するために発話入力をユーザから受信することを含む。ユーザデバイスは、複数のユーザインタフェースを同時に提供するように構成されている。方法は、ユーザデバイスと関連付けられたコンテクスト情報を特定することと、発話入力及びコンテクスト情報に基づいてユーザ意図を判定することとを更に含む。方法は、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定することを更に含む。方法は、ユーザ意図が情報の要求を示すとの判定に従って、情報の要求への発話応答を提供することを更に含む。方法は、ユーザ意図がタスクを実行する要求を示すとの判定に従って、タスクを実行するためにユーザデバイスと関連付けられた処理をインスタンス化することを更に含む。
[0010]
それらの機能を実行するための実行可能命令は、任意選択的に、非一時的コンピュータ可読記憶媒体、又は1つ以上のプロセッサによって実行するように構成された他のコンピュータプログラム製品に含まれる。それらの機能を実行するための実行可能命令は、任意選択的に、一時的コンピュータ可読記憶媒体、又は1つ以上のプロセッサによって実行するように構成された他のコンピュータプログラム製品に含まれる。
[図面の簡単な説明]
[0011]
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「発明を実装するための形態」を参照されたく、類似の参照番号は、図面全体を通じた対応する部分を指す。
[0012]
[図1] 様々な実施例に従った、デジタルアシスタントを実装するためのシステム及び環境を示すブロック図である。
[0013]
[図2A] いくつかの実施形態に従った、デジタルアシスタントのクライアント側部分を実行するポータブル多機能デバイスを示すブロック図である。
[0014]
[図2B] 様々な実施例に従った、イベント処理のための例示的な構成要素を示すブロック図である。
[0015]
[図3] 様々な実施例に従った、デジタルアシスタントのクライアント側部分を実行するポータブル多機能デバイスを示す図である。
[0016]
[図4] 様々な実施例に従った、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
[0017]
[図5A] 様々な実施例に従った、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す図である。
[0018]
[図5B] 様々な実施例に従った、ディスプレイとは別個のタッチ感知面を有する多機能デバイスのための例示的なユーザインタフェースを示す図である。
[0019]
[図6A] 様々な実施例に従った、パーソナル電子デバイスを示す図である。
[0020]
[図6B] 様々な実施例に従った、パーソナル電子デバイスを示すブロック図である。
[0021]
[図7A] 様々な実施例に従った、デジタルアシスタントシステム又はそのサーバ部分を示すブロック図である。
[0022]
[図7B] 様々な実施例に従った、図7Aに示されるデジタルアシスタントの機能を示す図である。
[0023]
[図7C] 様々な実施例に従った、オントロジ(ontology)の一部を示す図である。
[0024]
[図8A] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図8B] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図8C] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図8D] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図8E] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図8F] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[0025]
[図9A] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9B] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9C] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9D] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9E] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9F] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9G] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図9H] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[0026]
[図10A] 様々な実施例に従った、デジタルアシスタントによってオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図10B] 様々な実施例に従った、デジタルアシスタントによってオブジェクト管理処理を使用してタスクを実行する機能を示す。
[0027]
[図11A] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図11B] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図11C] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[図11D] 様々な実施例に従った、デジタルアシスタントによって検索処理を使用してタスクを実行する機能を示す。
[0028]
[図12A] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図12B] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図12C] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図12D] 様々な実施例に従った、デジタルアシスタントによって検索処理又はオブジェクト管理処理を使用してタスクを実行する機能を示す。
[0029]
[図13A] 様々な実施例に従った、デジタルアシスタントによってオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図13B] 様々な実施例に従った、デジタルアシスタントによってオブジェクト管理処理を使用してタスクを実行する機能を示す。
[図13C] 様々な実施例に従った、デジタルアシスタントによってオブジェクト管理処理を使用してタスクを実行する機能を示す。
[0030]
[図14A] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図14B] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図14C] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図14D] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[0031]
[図15A] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[図15B] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[図15C] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[図15D] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[0032]
[図16A] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[図16B] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[図16C] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用して第1の電子デバイスにおいてタスクを実行する機能を示す。
[0033]
[図17A] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図17B] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図17C] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図17D] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[図17E] 様々な実施例に従った、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイスにおいてタスクを実行する機能を示す。
[0034]
[図18A] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[図18B] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[図18C] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[図18D] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[図18E] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[図18F] 様々な実施例に従った、デジタルアシスタントによってユーザの情報の要求に応じてシステム構成情報を提供する機能を示す。
[0035]
[図19A] 様々な実施例に従った、デジタルアシスタントによってユーザ要求に応じてタスクを実行する機能を示している。
[図19B] 様々な実施例に従った、デジタルアシスタントによってユーザ要求に応じてタスクを実行する機能を示している。
[図19C] 様々な実施例に従った、デジタルアシスタントによってユーザ要求に応じてタスクを実行する機能を示している。
[図19D] 様々な実施例に従った、デジタルアシスタントによってユーザ要求に応じてタスクを実行する機能を示している。
[0036]
[図20A] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20B] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20C] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20D] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20E] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20F] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図20G] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[0037]
[図21A] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図21B] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図21C] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図21D] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図21E] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[0038]
[図22A] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図22B] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図22C] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[図22D] 様々な実施例に従った、デジタルアシスタントを動作させる例示的な処理のフローチャートである。
[0039]
[図23] 様々な実施例に従った、電子デバイスのブロック図を示す。
[発明を実施するための形態]
[0040]
以下の開示及び実施形態の説明では、実装することができる特定の実施形態の、実施例として示されている添付の図面への参照がなされる。本開示の範囲から逸脱することなく、他の実施形態及び実施例を実施することができ、変更を行うことができることを理解されたい。
[0041]
マルチタスキング環境におけるデジタルアシスタントを提供する技術が望ましい。本明細書で説明されるように、マルチタスキング環境におけるデジタルアシスタントを提供する技術は、検索対象又は情報を検索する煩雑さを削減すること、効率的なオブジェクト管理を可能にすること、ユーザデバイス及び他の電子デバイスにおいて実行されるタスクの間の連続性を維持すること、並びにシステム構成を調節する際のユーザの手作業を削減すること等、様々な目的に対して望まれる。このような技術は、マルチタスキング環境において発話入力使用して様々なタスクを実行するためにユーザがデジタルアシスタントを操作することを可能にすることによって有利となる。更に、このような技術は、マルチタスキング環境において様々なタスクを実行することと関連付けられた煩わしさ又は不都合を軽減する。更に、ユーザが発話を使用してタスクを実行することを可能にすることによって、コンテクストスイッチを必要とするタスキングを実行する間にキーボード又はマウス上で両手を維持することができ、ユーザの「第3の手」のようにデジタルアシスタントがタスクを実行することを可能にする。理解されるように、ユーザが発話を使用してタスクを実行することを可能にすることによって、ユーザが複数のアプリケーションとの複数の対話を必要とすることがあるタスクをより効率的に完了させることが可能になる。例えば、電子メール内の画像を検索し、それらを個人に送信することは、検索インタフェースを開くこと、検索語を入力すること、1つ以上の結果を選択すること、構成のために電子メールを開くこと、結果として生じたファイルを開いた電子メールに複製又は移動すること、及び電子メールにアドレス指定し、それを送信することを必要とすることがある。このようなタスクは、「X日からの写真を発見し、それらを妻に送信する」こと等、コマンドで音声によって効率的に完了させることができる。ファイルを移動し、インターネット上で情報を検索し、メッセージを構成するための同様の要求は、音声を使用して更に効率的に行うことができると共に、ユーザが自身の手を使用して他のタスクを実行することを可能にする。
[0042]
以下の説明では、様々な要素を説明するために「第1」、「第2」等の用語を使用するが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、1つの要素を別の要素と区別するためにのみ使用される。例えば、説明される様々な実施例の範囲から逸脱することなく、第1の記憶は第2の記憶と称されてもよく、同様に、第2の記憶は第1の記憶と称されてもよい。第1の記憶及び第2の記憶は両方とも記憶とすることができ、いくつかのケースでは、別々及び異なる記憶とすることができる。
[0043]
本明細書で説明される様々な実施例の説明で使用される用語は、特定の実施例を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施例の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形をも含むことが意図される。本明細書で使用される用語「and/or(及び/又は)」は、関連する列挙された項目のうちの1つ以上のうちの任意のかつ全ての可能な組み合わせを指し、これを含むことをもまた理解されたい。用語「includes(含む)、「including(含む)」、「comprises(含む)」及び/又は「comprising(含む)」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
[0044]
用語「if(〜場合に)」は、文脈に応じて「when(〜するときに)」、「upon(〜すると)」、「in response to determining(〜と判定したことに応じて)」、又は「in response to detecting(〜を検出したことに応じて)」を意味すると解釈することができる。同様に、句「if it is determined(〜と判定される場合に)」又は「if[a stated condition or event]is detected([述べられる条件又はイベント]が検出される場合に)」は、文脈に応じて「upon determining(〜と判定されると)」、「in response to determining(〜と判定したことに応じて)」、「upon detecting[the stated condition or event]([述べられる条件又はイベント]を検出すると)」、又は「in response to detecting[the stated condition or event]([述べられる条件又はイベント]を検出したことに応じて)」を意味すると解釈することができる。
1.システム及び環境
[0045]
図1は、様々な実施例に従った、システム100のブロック図を示す。いくつかの実施例では、システム100はデジタルアシスタントを実装することができる。用語「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、又は「自動デジタルアシスタント」は、口頭形式及び/又はテキスト形式にある自然言語入力を解釈してユーザ意図を推測し、推測したユーザ意図に基づいてアクションを実行する任意の情報処理システムを指すことができる。例えば、推測されたユーザの意図に作用するために、システムは、以下のうちの1つ以上、すなわち、推測されたユーザ意図を実現するために設計されたステップ及びパラメータを有するタスクフローを特定することと、推測されたユーザの意図からの特定の要件をタスクフローに入力することと、プログラム、方法、サービス、又はAPI等を呼び出すことによってタスクフローを実行することと、可聴(例えば、発話)形式及び/又は視覚形式でユーザへの出力応答を生成することと、を実行することができる。
[0046]
具体的には、デジタルアシスタントは、自然言語コマンド、要求、陳述、叙述、及び/又は照会の形式で少なくとも部分的にユーザ要求を受け付ける能力を有することができる。典型的には、ユーザ要求はデジタルアシスタントによる情報の回答又はタスクの実行のいずれかを求めることができる。ユーザ要求への満足な応答は、要求された情報の回答の提供、要求されたタスクの実行、又はその2つの組み合わせとすることができる。例えば、ユーザはデジタルアシスタントに「私は今どこにいますか?」等の質問をしてもよい。ユーザの現在位置に基づいて、デジタルアシスタントは、「あなたはセントラルパーク内の西門の近くにいます」と回答することができる。ユーザは、タスクの実行、例えば、「私の友人を、来週のガールフレンドの誕生日パーティーに招待してください。」を要求することができる。それに応じて、デジタルアシスタントは、「はい、ただ今」と述べることによって要求を認知することができ、次に、ユーザの代わりに、ユーザの電子アドレス帳に載っているユーザの友人の各々に適切なカレンダの招待状を送信することができる。要求されたタスクの実行の間、デジタルアシスタントは、時により、長時間にわたって情報を複数回交換することを含む連続的なダイアログにおいてユーザと対話することができる。情報又は様々なタスクの実行を要求するためにデジタルアシスタントと対話する多くの他の方法が存在する。口頭による応答を提供し、プログラムされたアクションを取ることに加えて、デジタルアシスタントはまた、他の視覚又は音声形式、例えば、テキスト、警報、音楽、ビデオ、アニメーション等で応答を提供することもできる。
[0047]
図1に示されるように、いくつかの実施例では、デジタルアシスタントは、クライアントサーバモデルに従って実装されてもよい。デジタルアシスタントは、ユーザデバイス104上で実行されるクライアント側部分102(以後、「DAクライアント102」)、及びサーバシステム108上で実行されるサーバ側部分106(以後「DAサーバ106」)を含むことができる。DAクライアント102は1つ以上のネットワーク110を通じてDAサーバ106と通信することができる。DAクライアント102は、ユーザ直面(facing)入力及び出力処理、並びにDAサーバ106との通信等のクライアント側機能を提供することができる。DAサーバ106は、それぞれのユーザデバイス104上に各々が常駐する任意の数のDAクライアント102のためのサーバ側機能性を提供することができる。
[0048]
いくつかの実施例では、DAサーバ106は、クライアント直面I/Oインタフェース112、1つ以上のプロセシングモジュール114、データ及びモデル116、並びに外部サービスへのI/Oインタフェース118を含むことができる。クライアント直面I/Oインタフェース112は、DAサーバ106のためのクライアント直面入力及び出力処理を促進することができる。1つ以上のプロセシングモジュール114は、発話入力を処理し、自然言語入力に基づいてユーザの意図を判定するためにデータ及びモデル116を利用することができる。更に、1つ以上のプロセシングモジュール114は、推測されたユーザの意図に基づいてタスクを実行する。いくつかの実施例では、DAサーバ106は、タスクの完了又は情報の取得のために、ネットワーク(単数又は複数)110を通じて外部サービス120と通信することができる。外部サービスへのI/Oインタフェース118は、このような通信を促進することができる。
[0049]
ユーザデバイス104は、任意の適切な電子デバイスとすることができる。例えば、ユーザデバイスは、ポータブル多機能デバイス(例えば、図2Aを参照して以下で説明されるデバイス200)、多機能デバイス(例えば、図4を参照して以下で説明されるデバイス400)、又はパーソナル電子デバイス(例えば、図6A〜図6Bを参照して以下で説明されるデバイス600)とすることができる。ポータブル多機能デバイスは、例えば、PDA及び/又は音楽再生機能等の他の機能も含む携帯電話とすることができる。ポータブル多機能デバイスの具体的な実施例は、Apple Inc.(Cupertino,California)による、iPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスを含むことができる。ポータブル多機能デバイスの他の実施例は、限定なしに、ラップトップコンピュータ又はタブレットコンピュータを含んでもよい。更に、いくつかの実施例では、ユーザデバイス104は、非ポータブル多機能デバイスとすることができる。特に、ユーザデバイス104は、デスクトップコンピュータ、ゲームコンソール、テレビ、又はテレビセットトップボックスとすることができる。いくつかの実施例では、ユーザデバイス104は、マルチタスキング環境で動作することができる。マルチタスキング環境は、ユーザがデバイス104を操作して複数のタスクを並列して実行することを可能にする。例えば、マルチタスキング環境は、デバイス104が物理ユーザインタフェースデバイスから受信されたユーザ入力に応じて1つのタスクを実行し、ユーザの発話入力に応じて別のタスクを並列して実行することができるデスクトップ又はラップトップ環境であってもよい。いくつかの実施例では、ユーザデバイス104は、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を含むことができる。更に、ユーザデバイス104は、任意選択的に、物理キーボード、マウス、及び/又はジョイスティック等の1つ以上の他の物理ユーザインタフェースデバイスを含むことができる。多機能デバイス等の電子デバイスの様々な実施例は、以下で更に詳細に説明される。
[0050]
通信ネットワーク(単数又は複数)110の例は、ローカルエリアネットワーク(LAN)及び、例えば、インターネットのようなワイドエリアネットワーク(WAN)を含むことができる。通信ネットワーク(単数又は複数)110は、例えば、イーサネット、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE、移動通信用のグローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Wi−Fi、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi−MAX、又は任意の他の適切な通信プロトコル等、様々な有線又は無線プロトコルを含む任意の既知のネットワークプロトコルを使用して実装されてもよい。
[0051]
サーバシステム108は、1つ以上のスタンドアロンデータ処理装置、又はコンピュータの分散型ネットワーク上で実装されてもよい。いくつかの実施例では、サーバシステム108はまた、サーバシステム108の基本的なコンピューティングリソース及び/又はインフラストラクチャリソースを提供するために、様々な仮想デバイス及び/又はサードパーティサービスプロバイダ(例えば、サードパーティクラウドサービスプロバイダ)のサービスを採用することができる。
[0052]
いくつかの実施例では、ユーザデバイス104は、第2のユーザデバイス122を介してDAサーバ106と通信することができる。第2のユーザデバイス122は、ユーザデバイス104と同様又は同一とすることができる。例えば、第2のユーザデバイス122は、図2A、図4、及び図6A〜図6Bを参照して以下に説明されるデバイス200、デバイス400、又はデバイス600と同様とすることができる。ユーザデバイス104は、Bluetooth、NFC、若しくはBTL等の直接通信接続を介して、又はローカルWi−Fiネットワーク等の有線ネットワーク若しくは無線ネットワークを介して第2のユーザデバイス122に通信可能に結合するよう構成されてもよい。いくつかの実施例では、第2のユーザデバイス122は、ユーザデバイス104とDAサーバ106との間のプロキシとして動作するよう構成されてもよい。例えば、ユーザデバイス104のDAクライアント102は、情報(例えば、ユーザデバイス104において受信されたユーザ要求)を、第2のユーザデバイス122を介してDAサーバ106に送信するよう構成されてもよい。DAサーバ106は情報を処理することができ、関連するデータ(例えば、ユーザの要求に応答したデータコンテンツ)を、第2のユーザデバイス122を介してユーザデバイス104に返すことができる。
[0053]
いくつかの実施例では、ユーザデバイス104は、データに対する短縮された要求を、第2のユーザデバイス122に通信して、ユーザデバイス104から送信される情報量を削減するように構成されてもよい。第2のユーザデバイス122は、追加情報を判定し、短縮された要求を追加して完全な要求を生成し、DAサーバ106に送信するよう構成されてもよい。このシステムアーキテクチャは、より強い通信能力及び/又はより大きなバッテリ電力を有する第2のユーザデバイス122(例えば、携帯電話、ラップトップコンピュータ、又はタブレットコンピュータ等)をDAサーバ106へのプロキシとして使用することによって、限られた通信能力及び/又は限られたバッテリ電力を有するユーザデバイス104(例えば、時計又は同様のコンパクト電子デバイス)がDAサーバ106によって提供されるサービスにアクセスすることを好適に可能にすることができる。図1では2つのユーザデバイス104及びユーザデバイス122のみが示されるが、システム100は、DAサーバシステム106と通信するようにこのプロキシ構成で構成された任意の数及びタイプのユーザデバイスを含むことができることを理解されたい。
[0054]
図1に示すデジタルアシスタントは、クライアント側部分(例えば、DAクライアント102)及びサーバ側部分(例えば、DAサーバ106)の両方を含むことができるが、いくつかの実施例では、デジタルアシスタントの機能は、ユーザデバイス上にインストールされるスタンドアロンアプリケーションとして実装されてもよい。加えて、デジタルアシスタントのクライアント部分とサーバ部分との間の機能の分配は、異なる実装によって変化することができる。例えば、いくつかの実施例では、DAクライアントは、ユーザ直面入力及び出力処理機能のみを提供し、デジタルアシスタントの全ての他の機能をバックエンドサーバに移譲するシンクライアントとすることができる。
2.電子デバイス
[0055]
ここで、デジタルアシスタントのクライアント側部分を実行するための電子デバイスの実施形態に注目する。図2Aは、いくつかの実施形態に従った、タッチ感知ディスプレイシステム212を有するポータブル多機能デバイス200を示すブロック図である。タッチ感知ディスプレイ212は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」として既知であり、又はそう呼ばれる場合がある。デバイス200は、メモリ202(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ222、1つ以上のプロセシングユニット(CPU)220、周辺機器インタフェース218、RF回路208、音声回路210、スピーカ211、マイクロフォン213、入出力(I/O)サブシステム206、他の入力制御デバイス216、及び外部ポート224を含む。デバイス200は、任意選択的に、1つ以上の光センサ264を含む。デバイス200は、任意選択的に、デバイス200(例えば、デバイス200のタッチ感知ディスプレイシステム212等のタッチ感知面)上の接触の強度を検出するための1つ以上の接触強度センサ265を含む。デバイス200は、任意選択的に、デバイス200上で触知出力を生成する(例えば、デバイス200のタッチ感知ディスプレイシステム212又はデバイス400のタッチパッド455等のタッチ感知面上で触知出力を生成する)ための1つ以上の触知出力生成器267を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン203を介して通信する。
[0056]
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当りの力)、又はタッチ感知面上の接触の力若しくは圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる値を含み、より典型的には、何百もの(例えば、少なくとも256個の)異なる値を含む、値範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して判定(又は、測定)される。例えば、タッチ感知面の下にあり、又はこれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々な点における力を測定するために使用される。いくつかの実装形態において、複数の力センサの力測定値を組み合わせて(例えば、加重平均)、接触力の推定値を判定する。同様に、スタイラスの感圧性先端部は、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。代わりに、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は接触に近接するタッチ感知面の抵抗及び/若しくはその変化は、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。いくつかの実装形態では、接触の力又は圧力についての代替的測定値は、強度閾値を超えているか否かを判定するために直接使用される(例えば、強度閾値は、代替的測定値に対応する単位で説明される)。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、推定された力又は圧力は、強度閾値を超えているか否かを判定するために使用される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することによって、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/或いは、ユーザ入力を受信するための(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタン等の物理的/機械的制御部を介して)、面積が制限されている低減されたサイズのデバイス上で、他の場合であればユーザによってアクセスすることができないことがある、追加的なデバイス機能へのユーザのアクセスが可能となる。
[0057]
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)のデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの重心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の知覚された変化に対応する触感としてユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、任意選択的に、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として解釈される。いくつかの場合、ユーザの移動によって物理的に押圧された(例えば、変位した)タッチ感知面と関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」等の触感を感じる。別の実施例として、タッチ感知面の移動は、任意選択的に、タッチ感知面の平滑度に変化がないときでさえ、ユーザによって、タッチ感知面の「粗さ」として、解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。よって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものとして説明されるとき、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの説明された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
[0058]
デバイス200は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス200は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有し、任意選択的に、2つ以上の構成要素を組み合わせ、又は、任意選択的に、構成要素の異なる構成若しくは配置を有することを理解されたい。図2Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせで実装される。
[0059]
メモリ202は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、有形かつ非一時的であってもよい。メモリ202は、高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイス等の不揮発性メモリも含んでもよい。メモリコントローラ222は、デバイス200の他の構成要素によるメモリ202へのアクセスを制御してもよい。
[0060]
いくつかの実施例では、メモリ202の非一時的コンピュータ可読記憶媒体は、(例えば、以下に説明する処理1200の態様を実行する)命令を、コンピュータベースのシステム、プロセッサを含むシステム、又は命令実行システム、装置、若しくはデバイスから命令をフェッチすることができ、それらの命令を実行する他のシステム等の、命令実行システム、装置、又はデバイスによる使用、又はそれと関連した使用のために記憶するために使用されてもよい。他の実施例では、(例えば、以下で説明する処理1200の態様を実行する)命令は、サーバシステム108の非一時的コンピュータ可読記憶媒体(図示せず)に記憶されていてもよく、又はメモリ202の非一時的コンピュータ可読記憶媒体とサーバシステム108の非一時的コンピュータ可読記憶媒体との間で分配されてもよい。本文書のコンテクストでは、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを含み、又は記憶することが可能な任意の媒体とすることができる。
[0061]
周辺機器インタフェース218は、デバイスの入力及び出力周辺機器をCPU220及びメモリ202に結合するために使用されてもよい。1つ以上のプロセッサ220は、デバイス200のための様々な機能を実行し、データを処理するために、メモリ202に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させ、又は実行する。いくつかの実施形態では、周辺機器インタフェース218、CPU220、及びメモリコントローラ222は、チップ204等の単一のチップ上で実装されてもよい。いくつかの他の実施形態では、それらは、別個のチップ上で実装されてもよい。
[0062]
RF(radio frequency)(無線周波数)回路208は、電磁信号とも呼ばれるRF信号を送受信する。RF回路208は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路208は、任意選択的に、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタルシグナルプロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、及びメモリ等を含むがこれらに限定されない、それらの機能を実行するための周知の回路を含む。RF回路208は、任意選択的に、ワールドワイドウェブ(WWW)とも称されるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)及び/若しくはメトロポリタンエリアネットワーク(MAN)等の無線ネットワーク等のネットワークと、他のデバイスと無線通信によって通信する。RF回路208は、任意選択的に、近距離通信無線等によって等、近距離無線通信(NFC)フィールドを検出するための周知の回路を含む。無線通信は、任意選択的に、移動通信用のグローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual-Cell HSPDA、DC−HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(near field communication、NFC)、広帯域符号分割多元接続(wideband code division multiple access、W−CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi−Fi)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/又はIEEE802.11ac)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/又はポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and Presence Leveraging Extensions、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、及び/又はショートメッセージサービス(Short Message Service、SMS)、或いは本文書の出願日現在までにまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含むが、これらに限定されない、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用する。
[0063]
音声回路210、スピーカ211、及びマイクロフォン213は、ユーザとデバイス200との間の音声インタフェースを提供する。音声回路210は、周辺機器インタフェース218から音声データを受信し、音声データを電気信号に変換し、電気信号をスピーカ211に送信する。スピーカ211は、電気信号を人間の可聴音波に変換する。音声回路210はまた、マイクロフォン213によって音波から変換された電気信号を受信する。音声回路210は、電気信号を音声データに変換し、音声データを処理のために周辺機器インタフェース218に送信する。音声データは、周辺機器インタフェース218によって、メモリ202及び/若しくはRF回路208から取得されてもよく、並びに/又はメモリ202及び/若しくはRF回路208に送信されてもよい。いくつかの実施形態では、音声回路210はまた、ヘッドセットジャック(例えば、図3の312)を含む。ヘッドセットジャックは、音声回路210と、出力専用ヘッドホン又は出力(例えば、片耳若しくは両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の双方を有するヘッドセット等の、取り外し可能な音声入出力周辺機器との間のインタフェースを提供する。
[0064]
I/Oサブシステム206は、周辺機器インタフェース218に、タッチスクリーン212及び他の入力制御デバイス216等のデバイス200上の入出力周辺機器を結合する。I/Oサブシステム206は、任意選択的に、ディスプレイコントローラ256、光センサコントローラ258、強度センサコントローラ259、触覚フィードバックコントローラ261、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ260を含む。1つ以上の入力コントローラ260は、他の入力制御デバイス216から/に電気信号を受信/送信する。他の入力制御デバイス216は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカーボタン等)、ダイヤル、スライダスイッチ、ジョイスティック、及びクリックホイール等を含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)260は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウス等のポインタデバイスのうちのいずれかに接続される(又は、いずれにも接続されない)。1つ以上のボタン(例えば、図3の308)は、任意選択的に、スピーカ211及び/又はマイクロフォン213の音量制御のためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図3の306)を含む。
[0065]
その全体が参照により本明細書に組み込まれる、2005年12月23日に出願された米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」に記載されているように、プッシュボタンの素早い押圧は、タッチスクリーン212のロックを解除し、又はデバイスのロックを解除するためにタッチスクリーン上のジェスチャを使用する処理を開始することができる。プッシュボタン(例えば、306)のより長く押圧は、デバイス200の電源をオン又はオフすることができる。ユーザは、1つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン212は、仮想又はソフトボタン、及び1つ以上のソフトキーボードを実装するために使用される。
[0066]
タッチ感知ディスプレイ212は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ256は、タッチスクリーン212から電気信号を受信し、及び/又はタッチスクリーン212に電気信号を送信する。タッチスクリーン212は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を含んでもよい。いくつかの実施形態では、視覚出力の一部又は全てはユーザインタフェースオブジェクトに対応してもよい。
[0067]
タッチスクリーン212は、触覚及び/又は触知接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン212及びディスプレイコントローラ256は(メモリ202における任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン212上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン212上で表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン212とユーザとの間の接触点は、ユーザの指に対応する。
[0068]
タッチスクリーン212は、LCD(liquid crystal display、液晶ディスプレイ)技術、LPD(light emitting polymer display、発光ポリマーディスプレイ)技術、又はLED(light emitting diode、発光ダイオード)技術を使用してもよいが、他の実施形態では、その他のディスプレイ技術が使用されてもよい。タッチスクリーン212及びディスプレイコントローラ256は、静電容量技術、抵抗性技術、赤外線技術及び表面弾性波技術、並びにタッチスクリーン212との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在既知の、又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、及びその接触のいずれかの移動又は中断を検出することができる。例示的な実施形態では、Apple Inc.(California、Cupertino)によるiPhone(登録商標)及びiPod Touch(登録商標)において見られるような、投影型相互静電容量感知技術が使用される。
[0069]
タッチスクリーン212のいくつかの実施形態におけるタッチ感知ディスプレイは、各々のその全体が参照により本明細書に組み込まれる、以下の米国特許第6,323,846号(Westermanら)、同第6,570,557号(Westermanら)、同第6,677,932号(Westerman)、及び/又は米国特許出願公開第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドと同様であってもよい。しかしながら、タッチスクリーン212はデバイス200からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
[0070]
タッチスクリーン212のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されている通りであってもよい。(1)2006年5月2日に出願された米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日に出願された同第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日に出願された同第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日に出願された同第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日に出願された同第11/038,590号、「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日に出願された同第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日に出願された同第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日に出願された同第11/228,737号、「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、及び(9)2006年3月3日に出願された同第11/367,749号、「Multi−Functional Hand−Held Device」。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
[0071]
タッチスクリーン212は、100dpiを超えるビデオ解像度を有してもよい。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、スタイラス及び指等の任意の適切な物体又は付属物を使用して、タッチスクリーン212と接触することができる。いくつかの実施形態では、ユーザインタフェースは、主として指を基準とした接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことに起因してスタイラスを基準とした入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、指に基づく粗い入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
[0072]
いくつかの実施形態では、タッチスクリーンに加えて、デバイス200は、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を含んでもよい。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しないデバイスのタッチ感知領域である。タッチパッドは、タッチスクリーン212とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部であってもよい。
[0073]
デバイス200はまた、様々な構成要素に電力を供給するための電力システム262を含む。電力システム262は、電力管理システム、1つ以上の電源(例えば、バッテリ又は交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理、及び分配と関連付けられた任意の他の構成要素を含んでもよい。
[0074]
デバイス200はまた、1つ以上の光センサ264を含んでもよい。図2Aは、I/Oサブシステム206における光センサコントローラ258に結合された光センサを示す。光センサ264は、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含んでもよい。光センサ264は、1つ以上のレンズを通じて投影された、環境からの光を受光し、光を、画像を表すデータに変換する。撮像モジュール243(カメラモジュールとも呼ばれる)と連携して、光センサ264は静止画像又はビデオをキャプチャしてもよい。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することができるように、デバイスの前面のタッチスクリーンディスプレイ212の反対側である、デバイス200の背面上に光センサが位置する。いくつの実施形態では、ユーザが他のビデオ会議参加者をタッチスクリーンディスプレイ上で参照する間に、ユーザの画像をビデオ会議のために取得することができるように、デバイスの前面上に光センサが位置する。いくつかの実施形態では、ビデオ会議並びに静止画像及び/又はビデオ画像の取得の双方のために、単一の光センサ264を、タッチスクリーンディスプレイと共に使用することができるように、光センサ264の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更されてもよい。
[0075]
デバイス200はまた、任意選択的に、1つ以上の接触強度センサ265を含む。図2Aは、I/Oサブシステム206における強度センサコントローラ259に結合された接触強度センサを示す。接触強度センサ265は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用されるセンサ)を含む。接触強度センサ265は、環境から接触強度情報(例えば、圧力情報又は圧力情報の代用物)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム212)に配置されているか、又はそれに近接している。いくつか実施形態では、少なくとも1つの接触強度センサが、デバイス200の前面上に位置するタッチスクリーンディスプレイ212の反対側である、デバイス200の背面上に位置する。
[0076]
デバイス200はまた、1つ以上の近接センサ266を含んでもよい。図2Aは、周辺機器インタフェース218に結合された近接センサ266を示す。代わりに、近接センサ266は、I/Oサブシステム206における入力コントローラ260に結合されてもよい。近接センサ266は、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び、同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されるように実行してもよく、これらの出願は、その全体が参照により本明細書に組み込まれる。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されるとき(例えば、ユーザが電話で通話しているとき)、近接センサは、タッチスクリーン212をオフにし、無効化する。
[0077]
デバイス200はまた、任意選択的に、1つ以上の触知出力生成器267を含む。図2Aは、I/Oサブシステム206における触覚フィードバックコントローラ261に結合された触知出力生成器を示す。触知出力生成器267は、任意選択的に、スピーカ若しくは他の音声構成要素等の1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)等の、エネルギーを線形的な動きに変換する電気機械デバイスを含む。接触強度センサ265は、触覚フィードバックモジュール233から触知フィードバック生成命令を受信し、デバイス200のユーザによって感知することが可能な触知出力をデバイス200上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム212)に配置され、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス200の表面の内/外)に、又は横方向(例えば、デバイス200の表面と同一の平面内の前後)に移動させることによって触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス200の前面に位置するタッチスクリーンディスプレイ212の反対側である、デバイス200の背面上に位置する。
[0078]
デバイス200はまた、1つ以上の加速度計268も含んでもよい。図2Aは、周辺機器インタフェース218に結合された加速度計268示す。代わりに、加速度計268は、I/Oサブシステム206における入力コントローラ260に結合されてもよい。加速度計268は、その双方のその全体が参照により本明細書に組み込まれる、米国特許出願公開第20050190059号、「Acceleration−based Theft Detection System for Portable Electronic Devices」、及び同第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」で説明されるように実行してもよい。いくつかの実施形態では、情報は、1つ以上の加速度計から受信されたデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイ上で表示される。デバイス200は、任意選択的に、加速度計(単数又は複数)268に加えて、磁気計(図示せず)並びにデバイス200の位置及び向き(例えば、縦長又は横長)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
[0079]
いくつかの実施形態では、メモリ202に記憶されたソフトウェア構成要素は、オペレーティングシステム226、通信モジュール(又は、命令セット)228、接触/動きモジュール(又は、命令セット)230、グラフィックモジュール(又は、命令セット)232、テキスト入力モジュール(又は、命令セット)234、全地球測位システム(GPS)モジュール(又は、命令セット)235、デジタルアシスタントクライアントモジュール229、及びアプリケーション(又は、命令セット)236を含む。更に、メモリ202は、ユーザデータ及びモデル231等のデータ及びモデルを記憶することができる。更に、いくつかの実施形態では、図2A及び図4に示されるように、メモリ202(図2A)又はメモリ470(図4)は、デバイス/グローバル内部状態257を記憶する。デバイス/グローバル内部状態257は、現在アクティブであるアプリケーションがある場合、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ212の様々な領域を占領しているかを示す表示状態、デバイスの様々なセンサ及び入力制御デバイス216から取得される情報を含むセンサ状態、並びにデバイスの位置及び/又は姿勢に関する位置情報のうちの1つ以上を含む。
[0080]
オペレーティングシステム226(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorks等の組み込みオペレーティングシステム)は、汎用的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理等)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を促進する。
[0081]
通信モジュール228は、1つ以上の外部ポート224を通じて他のデバイスとの通信を促進し、RF回路208及び/又は外部ポート224によって受信されたデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート224(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE等)は、直接的に、又はネットワーク(例えば、インターネット、無線LAN等)を通じて間接的に、他のデバイスに結合するように適応される。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。
[0082]
接触/動きモジュール230は、任意選択的に、(ディスプレイコントローラ256と連携して)タッチスクリーン212との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール230は、接触が生じたかを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)等、接触の検出に関する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触/動きモジュール230は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、並びに/又は加速度(大きさ及び/若しくは方向における変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール230及びディスプレイコントローラ256は、タッチパッド上の接触を検出する。
[0083]
いくつかの実施形態では、接触/動きモジュール230は、ユーザによって動作が実行されたかを判定するための(例えば、ユーザがアイコン上で「クリック」したかを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス200の物理ハードウェアを変更することなく調節されてもよい)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の予め定義された閾値のうちのいずれかに設定されてもよい。加えて、いくつかの実施形態では、デバイスのユーザは、強度閾値のセットのうちの1つ以上を調節するためのソフトウェア設定が提供される(例えば、個々の強度閾値を調節することによって、及び/又はシステムレベルのクリック「強度」パラメータで一度に複数の強度閾値を調節することによって)。
[0084]
接触/動きモジュール230は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、検出される接触の異なる動き、タイミング、及び/又は強度)を有する。よって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指のタップジェスチャを検出することは、(例えば、アイコンの位置における)指を下ろすイベントを検出し、続いて指を下ろすイベントと同一の位置(又は、実質的に同一の位置)で指を上げる(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、1つ以上の指をドラッグするイベントを検出し、その後、続いて指を上げる(リフトオフ)イベントを検出することを含む。
[0085]
グラフィックモジュール232は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含む、タッチスクリーン212又は他のディスプレイ上でグラフィックをレンダリング及び表示するための様々な既知のソフトウェア構成要素を含む。本明細書で使用されるとき、用語「グラフィック」は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクト等)、デジタル画像、ビデオ、及びアニメーション等を含むが、これらに限定されない、ユーザに対して表示することができる任意のオブジェクトを含む。
[0086]
いくつかの実施形態では、グラフィックモジュール232は、使用されることになるグラフィックを表すデータを記憶する。各々のグラフィックは、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール232は、アプリケーション等から、必要に応じて、座標データ及び他のグラフィック特性データと共に表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次いで、ディスプレイコントローラ256に出力するスクリーンの画像データを生成する。
[0087]
触覚フィードバックモジュール233は、デバイス200とのユーザ対話に応じて、デバイス200上の1つ以上の位置で触知出力を生成するために、触知出力生成器(単数又は複数)267によって使用される命令を生成するための様々なソフトウェア構成要素を含む。
[0088]
グラフィックモジュール232の構成要素とすることができるテキスト入力モジュール234は、様々なアプリケーション(例えば、連絡先237、電子メール240、IM241、ブラウザ247、及びテキスト入力を必要とする任意の他のアプリケーション)においてテキストを入力するためのソフトキーボードを提供する。
[0089]
GPSモジュール235は、デバイスの位置を判定し、この情報を、様々なアプリケーションで使用するために提供する(例えば、位置に基づく電話にて使用するために電話238へ、写真/ビデオメタデータとしてカメラ243へ、及び天気ウィジェット、ローカルイエローページウィジェット、及び地図/ナビゲーションウィジェット等の位置に基づくサービスを提供するアプリケーションへ)。
[0090]
デジタルアシスタントクライアントモジュール229は、デジタルアシスタントのクライアント側機能性を提供する様々なクライアント側デジタルアシスタント命令を含むことができる。例えば、デジタルアシスタントクライアントモジュール229は、ポータブル多機能デバイス200の様々なユーザインタフェース(例えば、マイクロフォン213、加速度計(単数又は複数)268、タッチ感知ディスプレイシステム212、光センサ(単数又は複数)264、他の入力制御デバイス216等)を通じて、音声入力(例えば、発話入力)、テキスト入力、タッチ入力、及び/又はジェスチャ入力を受け付ける能力を有することができる。デジタルアシスタントクライアントモジュール229はまた、ポータブル多機能デバイス200の様々な出力インタフェース(例えば、スピーカ211、タッチ感知ディスプレイシステム212、触知出力生成器(単数又は複数)267等)を通じて、音声(例えば、発話出力)、視覚、及び/又は触知の形式で出力を提供する能力を有することができる。例えば、出力は、音声、音響、警報、テキストメッセージ、メニュー、グラフィック、ビデオ、アニメーション、振動、及び/又は上記の2つ以上の組み合わせとして提供されてもよい。動作の間、デジタルアシスタントクライアントモジュール229は、RF回路208を使用してDAサーバ106と通信することができる。
[0091]
ユーザデータ及びモデル231は、デジタルアシスタントのクライアント側機能性を提供するための、ユーザと関連付けられた様々なデータ(例えば、ユーザ特有の語彙データ、ユーザ優先度データ、ユーザ特有の名前の発音、ユーザの電子アドレス帳からのデータ、to doリスト、買い物リスト等)を含むことができる。更に、ユーザデータ及びモデル231は、ユーザ入力を処理し、ユーザの意図を判定するための様々なモデル(例えば、発話認識モデル、統計的言語モデル、自然言語処理モデル、オントロジ、タスクフローモデル、サービスモデル等)を含むことができる。
[0092]
いくつかの実施例では、デジタルアシスタントクライアントモジュール229は、ポータブル多機能デバイス200の周囲環境から追加情報を収集して、ユーザ、現在のユーザ対話、及び/又は現在のユーザ入力と関連付けられたコンテクストを確立するために、ポータブル多機能デバイス200の様々なセンサ、サブシステム、及び周辺機器を利用することができる。いくつかの実施例では、デジタルアシスタントクライアントモジュール229は、ユーザの意図の推測を支援するために、ユーザ入力と共にコンテクスト情報又はそのサブセットをDAサーバ106に提供することができる。いくつかの実施例では、デジタルアシスタントはまた、ユーザへの出力をどのように準備及び配信するかを決定するために、コンテクスト情報を使用することができる。コンテクスト情報は、コンテクストデータと呼ばれてもよい。
[0093]
いくつかの実施例では、ユーザ入力に伴うコンテクスト情報は、センサ情報、例えば、照明、周囲ノイズ、周囲温度、周囲環境の画像又はビデオ等を含むことができる。いくつかの実施例では、コンテクスト情報はまた、デバイスの物理状態、例えば、デバイスの向き、デバイスの位置、デバイスの温度、電力レベル、速さ、加速度、動きパターン、セルラー信号強度等を含むことができる。いくつかの実施例では、DAサーバ106のソフトウェア状態、例えば、稼働中の処理、インストールされたプログラム、過去と現在のネットワーク活動、バックグラウンドサービス、エラーログ、リソース使用量等、及びポータブル多機能デバイス200のソフトウェア状態に関係する情報が、DAサーバ106に、ユーザ入力と関連付けられたコンテクスト情報として提供されてもよい。
[0094]
いくつかの実施例では、デジタルアシスタントクライアントモジュール229は、DAサーバ106からの要求に応じて、ポータブル多機能デバイス200に記憶された情報(例えば、ユーザデータ231)を選択的に提供することができる。いくつかの実施例では、デジタルアシスタントクライアントモジュール229はまた、DAサーバ106による要求があると、自然言語ダイアログ又は他のユーザインタフェースを介してユーザから追加入力を引き出すことができる。デジタルアシスタントクライアントモジュール229は、ユーザ要求で表されるユーザの意図の意図推論及び/又は履行においてDAサーバ106を支援するために、追加入力をDAサーバ106に渡すことができる。
[0095]
図7A〜Cを参照して、より詳細な情報アシスタントの説明を記述する。デジタルアシスタントクライアントモジュール229は、以下に説明されるデジタルアシスタントモジュール726の任意の数のサブモジュールを含むことができることを認識するべきである。
[0096]
アプリケーション236は、以下のモジュール(若しくは、命令セット)、又はそれらのサブセット若しくはスーパーセットを含んでもよい。
・連絡先モジュール237(アドレス帳又は連絡先リストとも呼ばれる場合がある)、
・電話モジュール238、
・ビデオ会議モジュール239、
・電子メールクライアントモジュール240、
・インスタントメッセージング(IM)モジュール241、
・トレーニングサポートモジュール242、
・静止画像及び/又はビデオ画像用のカメラモジュール243、
・画像管理モジュール244、
・ビデオ再生モジュール、
・音楽再生モジュール、
・ブラウザモジュール247、
・カレンダモジュール248、
・天気ウィジェット249−1、株式ウィジェット249−2、計算機ウィジェット249−3、アラーム時計ウィジェット249−4、辞書ウィジェット249−5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット249−6のうちの1つ以上を含んでもよいウィジェットモジュール249、
・ユーザ作成ウィジェット249−6を作成するためのウィジェットクリエータモジュール250、
・検索モジュール251、
・ビデオ再生モジュール及び音楽再生モジュールを統合した、ビデオ及び音楽再生モジュール252、
・メモモジュール253、
・地図モジュール254、並びに/又は
・オンラインビデオモジュール255。
[0097]
メモリ202に記憶することができる他のアプリケーション236の例は、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製を含む。
[0098]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、連絡先モジュール237は、(例えば、メモリ202又はメモリ470内の連絡先モジュール237のアプリケーション内部状態292に記憶された)アドレス帳又は連絡先リストを管理するために使用されてもよく、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類及び並べ替えること、電話番号又は電子メールアドレスを提供して、電話238、ビデオ会議モジュール239、電子メール240、若しくはIM241による通信を開始及び/又は促進すること等を含む。
[0099]
RF回路208、音声回路210、スピーカ211、マイクロフォン213、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、電話モジュール238は、電話番号に対応する一連の文字を入力し、連絡先モジュール237における1つ以上の電話番号にアクセスし、入力された電話番号を修正し、それぞれの電話番号をダイヤルし、会話を行い、そして、会話が完了したときに接続を切り又は電話を切るために使用されてもよい。上述したように、無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用してもよい。
[0100]
RF回路208、音声回路210、スピーカ211、マイクロフォン213、タッチスクリーン212、ディスプレイコントローラ256、光センサ264、光センサコントローラ258、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、連絡先モジュール237、及び電話モジュール238と連携して、ビデオ会議モジュール239は、ユーザの命令に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始、遂行、及び終了する実行可能な命令を含む。
[0101]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、電子メールクライアントモジュール240は、ユーザの指示に応じて、電子メールを作成、送信、受信、及び管理する実行可能な命令を含む。画像管理モジュール244と連携して、電子メールクライアントモジュール240は、カメラモジュール243で撮影した静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
[0102]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、インスタントメッセージングモジュール241は、インスタントメッセージに対応する文字列を入力し、前に入力された文字を修正し、(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)それぞれのインスタントメッセージを送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを参照する実行可能な命令を含む。いくつかの実施形態では、送信及び/又は受信されるインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、音声ファイル、ビデオファイル、及び/又は他の添付ファイルを含んでもよい。本明細書で使用されるとき、「インスタントメッセージ」は、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の双方を指す。
[0103]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動作モジュール230、グラフィックモジュール232、テキスト入力モジュール234、GPSモジュール235、地図モジュール254、及び音楽再生モジュールと連携して、トレーニングサポートモジュール242は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを生成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、トレーニングデータを表示、記憶、及び送信する実行可能な命令を含む。
[0104]
タッチスクリーン212、ディスプレイコントローラ256、光センサ(単数又は複数)264、光センサコントローラ258、接触/動きモジュール230、グラフィックモジュール232、及び画像管理モジュール244と連携して、カメラモジュール243は、静止画像又は(ビデオストリームを含む)ビデオをキャプチャし、メモリ202にそれらを記憶し、静止画像若しくはビデオの特性を修正し、又はメモリ202から静止画像若しくはビデオを削除する実行可能な命令を含む。
[0105]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、及びカメラモジュール243と連携して、画像管理モジュール244は、静止画像及び/又はビデオ画像を配置、修正(例えば、編集)、又は別の方法で操作、ラベルを付け、削除、(例えば、デジタルスライドショー又はアルバムにおいて)提示、及び記憶する実行可能な命令を含む。
[0106]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、ブラウザモジュール247は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索すること、リンク付けすること、受信すること、及び表示することを含むユーザの命令に従ってインターネットをブラウズする実行可能な命令を含む。
[0107]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、電子メールクライアントモジュール240、及びブラウザモジュール247と連携して、カレンダモジュール248は、ユーザの指示に従って、カレンダ及びカレンダと関連付けられたデータ(例えば、カレンダエントリ、to doリスト等)を作成、表示、変更、記憶する実行可能な命令を含む。
[0108]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、及びブラウザモジュール247と連携して、ウィジェットモジュール249は、ユーザによってダウンロード及び使用することができるミニアプリケーション(例えば、天気ウィジェット249−1、株式ウィジェット249−2、計算機ウィジェット249−3、アラーム時計ウィジェット249−4、及び辞書ウィジェット249−5)、又はユーザによって作成することができる(例えば、ユーザ作成ウィジェット249−6)ミニアプリケーションである。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language)(ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets)(カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
[0109]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、及びブラウザモジュール247と連携して、ウィジェットクリエータモジュール250は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ためにユーザによって使用されてもよい。
[0110]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、検索モジュール251は、ユーザの命令に従って、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索用語)と一致する、メモリ202内のテキスト、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索する実行可能な命令を含む。
[0111]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、音声回路210、スピーカ211、RF回路208、及びブラウザモジュール247と連携して、ビデオ及び音楽再生モジュール252は、MP3又はAACファイル等の1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生することを可能にする実行可能な命令、並びにビデオを(タッチスクリーン212上、又は外部ポート224を介して接続された外部のディスプレイ上で)表示、提示、又は別の方法で再生する実行可能な命令を含む。いくつかの実施形態では、デバイス200は、任意選択的に、iPod(Apple Inc.の商標)等のMP3再生の機能を含む。
[0112]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、及びテキスト入力モジュール234と連携して、メモモジュール253は、ユーザの命令に従って、メモ及びto doリスト等を作成及び管理する実行可能な命令を含む。
[0113]
RF回路208、タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、テキスト入力モジュール234、GPSモジュール235、及びブラウザモジュール247と連携して、地図モジュール254は、ユーザの命令に従って、地図及び地図と関連付けられたデータ(例えば、運転方向、特定の位置若しくはその付近の店舗及び他の関心対象地点についてのデータ、並びに他の位置に基づく他のデータ)を受信、表示、修正、及び記憶するために使用されてもよい。
[0114]
タッチスクリーン212、ディスプレイコントローラ256、接触/動きモジュール230、グラフィックモジュール232、音声回路210、スピーカ211、RF回路208、テキスト入力モジュール234、電子メールクライアントモジュール240、及びブラウザモジュール247と連携して、オンラインビデオモジュール255は、ユーザがH.264等の1つ以上のファイル形式にあるオンラインビデオにアクセス、ブラウズ、(例えば、ストリーミング及び/又はダウンロードにより)受信、(例えば、タッチスクリーン上で、又は外部ポート224を介して接続された外部のディスプレイ上で)再生し、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理することを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール240ではなく、インスタントメッセージングモジュール241が使用される。オンラインビデオアプリケーションの追加の説明は、その内容の全体が参照により本明細書に組み込まれる、2007年6月20日に出願された米国特許仮出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見出すことができる。
[0115]
上記特定されたモジュール及びアプリケーションの各々は、上記説明された1つ以上の機能を実行するための実行可能な命令セット及び本出願に記載の方法(例えば、コンピュータにより実装される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。例えば、ビデオ再生モジュールは、音楽再生モジュールと組み合わせて、単一のモジュール(例えば、図2Aのビデオ及び音楽再生モジュール252)としてもよい。いくつかの実施形態では、メモリ202は、上記特定されたモジュール及びデータ構造のサブセットを記憶してもよい。更に、メモリ202は、上記説明されていない追加のモジュール及びデータ構造を記憶してもよい。
[0116]
いくつかの実施形態では、デバイス200は、デバイス上の機能の予め定義されたセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを通じて実行されるデバイスである。デバイス200の動作についての主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することによって、デバイス200上の(プッシュボタン及びダイヤル等の)物理入力制御デバイスの数を削減することができる。
[0117]
排他的にタッチスクリーン及び/又はタッチパッドを通じて実行される、予め定義された機能のセットは、任意選択的に、ユーザインタフェースの間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされるとき、デバイス200上で表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス200をナビゲートする。そのような実施形態では、「メニューボタン」はタッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
[0118]
図2Bは、いくつかの実施形態に従った、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ202(図2A)又はメモリ470(図4)は、イベントソート部270(例えば、オペレーティングシステム226内)及びそれぞれアプリケーション236−1(例えば、上述したアプリケーション237〜251、255、480〜490のうちのいずれか)を含む。
[0119]
イベントソート部270は、イベント情報を受信し、イベント情報が配信されるアプリケーション236−1及びアプリケーション236−1のアプリケーションビュー291を判定する。イベントソート部270は、イベントモニタ271及びイベントディスパッチャモジュール274を含む。いくつかの実施形態では、アプリケーション236−1は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイ212上で表示される直近のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態292を含む。いくつかの実施形態では、デバイス/グローバル内部状態257は、どのアプリケーション(単数又は複数)が現在アクティブであるか否かを判定するためにイベントソート部270によって使用され、アプリケーション内部状態292は、イベント情報が配信されるアプリケーションビュー291を判定するためにイベントソート部270によって使用される。
[0120]
いくつかの実施形態では、アプリケーション内部状態292は、アプリケーション236−1が実行を再開するときに使用される再開情報、アプリケーション236−1によって情報が表示されているか又は表示の準備がされていることを示すユーザインタフェース状態情報、ユーザがアプリケーション236−1の前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが前に行ったアクションの再実行/取消待ち行列のうちの1つ以上等の追加情報を含む。
[0121]
イベントモニタ271は、周辺機器インタフェース218からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ212上でのユーザのタッチ)に関する情報を含む。周辺機器インタフェース218は、I/Oサブシステム206、又は近接センサ266、加速度計(単数又は複数)268、及び/若しくは(音声回路210を通じた)マイクロフォン213等のセンサから受信する情報を送信する。周辺機器インタフェース218がI/Oサブシステム206から受信する情報は、タッチ感知ディスプレイ212又はタッチ感知面からの情報を含む。
[0122]
いくつかの実施形態では、イベントモニタ271は、所定の間隔で周辺機器インタフェース218に要求を送信する。これに応じて、周辺機器インタフェース218はイベント情報を送信する。他の実施形態では、周辺機器インタフェース218は、重要なイベント(例えば、所定のノイズ閾値を上回り、及び/又は所定の時間を超える入力を受信すること)が存在するときのみ、イベント情報を送信する。
[0123]
いくつかの実施形態では、イベントソート部270はまた、ヒットビュー判定モジュール272及び/又はアクティブイベント認識部判定モジュール273を含む。
[0124]
ヒットビュー判定モジュール272は、タッチ感知ディスプレイ212が2つ以上のビューを表示するときに、サブイベントが1つ以上のビュー内で発生したかを判定するためのソフトウェア手順を提供する。ビューは、制御部及びユーザがディスプレイ上で見ることができる他の要素で構成されている。
[0125]
アプリケーションと関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合があるビューのセットであり、それらにおいて情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応してもよい。例えば、タッチが検出される最下位レベルのビューはヒットビューと呼ばれてもよく、適切な入力として認識されるイベントのセットは、少なくとも部分的にタッチに基づくジェスチャを開始する最初のタッチのヒットビューに基づいて判定されてもよい。
[0126]
ヒットビュー判定モジュール272は、タッチに基づくジェスチャのサブイベントと関連する情報を受信する。アプリケーションが、階層で編成された複数のビューを有するとき、ヒットビュー判定モジュール272は、サブイベントを処理するべき階層における最下位のビューとしてヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント(例えば、イベント又は潜在的なイベントを形成する一連のサブイベントにおける最初のサブイベント)が発生する最下位レベルのビューである。ヒットビューがヒットビュー判定モジュール272によって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同一のタッチ又は入力ソースに関連する全てのサブイベントを受信する。
[0127]
アクティブイベント認識部判定モジュール273は、ビュー階層内のどのビュー(単数又は複数)が特定の一連のサブイベントを受信するべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール273は、ヒットビューのみが特定の一連のサブイベントを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール273は、サブイベントの物理的な位置を含む全てのビューがアクティブに関与しているビューであると判定し、従って、全てのアクティブに関与しているビューが特定の一連のサブイベントを受信するべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューと関連付けられたエリアに完全に制限される場合でさえ、階層における上位のビューは、アクティブに関与しているビューのままである。
[0128]
イベントディスパッチャモジュール274は、イベント情報をイベント認識部(例えば、イベント認識部280)に発送する。アクティブイベント認識部判定モジュール273を含む実施形態では、イベントディスパッチャモジュール274は、アクティブイベント認識部判定モジュール273によって判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール274は、それぞれのイベント受信部282により取得されるイベント情報をイベント待ち行列に記憶する。
[0129]
いくつかの実施形態では、オペレーティングシステム226は、イベントソート部270を含む。代わりに、アプリケーション236−1は、イベントソート部270を含む。更なる他の実施形態では、イベントソート部270は、スタンドアロンモジュール、又は接触/動きモジュール230等のメモリ202に記憶された別のモジュールの一部である。
[0130]
いくつかの実施形態では、アプリケーション236−1は、各々がアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベントハンドラ290及び1つ以上のアプリケーションビュー291を含む。アプリケーション236−1の各々のアプリケーションビュー291は、1つ以上のイベント認識部280を含む。典型的には、それぞれのアプリケーションビュー291は、複数のイベント認識部280を含む。他の実施形態では、イベント認識部280のうちの1つ以上は、ユーザインタフェースキット(図示せず)、又はアプリケーション236−1がメソッド及び他の性質をそれから継承する上位レベルのオブジェクト等の別々のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部290は、データ更新部276、オブジェクト更新部277、GUI更新部278、及び/又はイベントソート部270から受信されたイベントデータ279のうちの1つ以上を含む。イベント処理部290は、アプリケーション内部状態292を更新するために、データ更新部276、オブジェクト更新部277、若しくはGUI更新部278を利用又は呼び出すことができる。代わりに、アプリケーションビュー291のうちの1つ以上は、1つ以上のそれぞれのイベント処理部290を含む。また、いくつかの実施形態では、データ更新部276、オブジェクト更新部277、及びGUI更新部278のうちの1つ以上は、それぞれのアプリケーションビュー291に含まれる。
[0131]
それぞれのイベント認識部280は、イベントソート部270からイベント情報(例えば、イベントデータ279)を受信し、イベント情報からイベントを特定する。イベント認識部280は、イベント受信部282及びイベント比較部284を含む。いくつかの実施形態では、イベント認識部280はまた、メタデータ283及びイベント配信命令288(サブイベント配信命令を含んでもよい)の少なくともサブセットを含む。
[0132]
イベント受信部282は、イベントソート部270からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動に関する情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置等の追加の情報を含む。サブイベントがタッチの動きに関係するとき、イベント情報はまた、そのサブイベントの速さ及び方向も含んでもよい。いくつかの実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)に関する対応する情報を含む。
[0133]
イベント比較部284は、イベント情報を予め定義されたイベント又はサブイベント定義と比較し、比較に基づいて、イベント若しくはサブイベントを判定し、又はイベント若しくはサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部284は、イベント定義286を含む。イベント定義286は、例えば、イベント1(287−1)、イベント2(287−2)等の、イベントの定義(例えば、予め定義された一連のサブイベント)を含む。いくつかの実施形態では、イベント(287)におけるサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの中止、及び複数のタッチを含む。一実施例では、イベント1(287−1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階の間の表示されたオブジェクト上の第1のタッチ(タッチの開始)、所定の段階の間の第1のリフトオフ(タッチの終了)、所定の段階の間の表示オブジェクト上の第2のタッチ(タッチの開始)、及び所定の段階の間の第2のリフトオフ(タッチの終了)を含む。別の実施例では、イベント2(287−2)についての定義は、表示されたオブジェクト上のドラッグ操作である。ドラッグ操作は、例えば、所定の段階の間の表示されたオブジェクト上のタッチ(又は、接触)、タッチ感知ディスプレイ212を横断するタッチの移動、及びタッチのリフトオフ(タッチの終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベント処理部290についての情報を含む。
[0134]
いくつかの実施形態では、イベント定義287は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部284は、どのユーザインタフェースオブジェクトがサブイベントと関連付けられるかを判定するためのヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ212に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ212上でタッチが検出されるとき、イベント比較部284は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)と関連付けられているかを判定するためのヒットテストを実行する。表示された各々のオブジェクトがそれぞれのイベント処理部290と関連付けられている場合、イベント比較部は、ヒットテストの結果を使用して、どのイベント処理部290をアクティブ化するべきかを判定する。例えば、イベント比較部284は、サブイベント及びヒットテストをトリガするオブジェクトと関連付けられたイベント処理部を選択する。
[0135]
いくつかの実施形態では、それぞれのイベント(287)についての定義はまた、一連のサブイベントがイベント認識部のイベントタイプに対応するか否かが判定されるまでイベント情報の配信を遅延させる遅延アクションを含む。
[0136]
それぞれのイベント認識部280が、一連のサブイベントがイベント定義286におけるイベントのいずれとも一致しないと判定するとき、それぞれのイベント認識部280は、イベント不可能、イベント失敗、又はイベント終了状態に入り、その後は、タッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、ヒットビューに対してアクティブのままである他のイベント認識部がある場合、そのイベント認識部は、進行中のタッチに基づくジェスチャのサブイベントを追跡及び処理することを続ける。
[0137]
いくつかの実施形態では、それぞれのイベント認識部280は、イベント配信システムがどのようにサブイベント配信を実行するべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ283を含む。いくつかの実施形態では、メタデータ283は、イベント認識部が相互にどのように対話することができるか、又は対話が可能になるかについて示す、構成変更可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ283は、サブイベントがビュー階層又はプログラム階層における様々なレベルに配信されるかを示す、構成変更可能なプロパティ、フラグ、及び/又はリストを含む。
[0138]
いくつかの実施形態では、それぞれのイベント認識部280は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントと関連付けられたイベント処理部290をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部280は、イベントと関連付けられたイベント情報をイベント処理部290に配信する。イベント処理部290をアクティブ化することは、それぞれのヒットビューにサブイベントを送信(及び送信を延期する)することとは異なる。いくつかの実施形態では、イベント認識部280は、認識されたイベントと関連付けられたフラグをスローし、フラグと関連付けられたイベント処理部290は、フラグをキャッチし、予め定義された処理を実行する。
[0139]
いくつかの実施形態では、イベント配信命令288は、イベント処理部をアクティブ化することなくサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
[0140]
いくつかの実施形態では、データ更新部276は、アプリケーション236−1で使用されるデータを作成及び更新する。例えば、データ更新部276は、連絡先モジュール237で使用される電話番号を更新し、又はビデオ再生モジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部277は、アプリケーション236−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部277は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部278は、GUIを更新する。例えば、GUI更新部278は、表示情報を作成し、タッチ感知ディスプレイ上で表示するためにそれをグラフィックモジュール232に送信する。
[0141]
いくつかの実施形態では、イベント処理部(単数又は複数)290は、データ更新部276、オブジェクト更新部277、及びGUI更新部278を含み、又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部276、オブジェクト更新部277、及びGUI更新部278は、それぞれのアプリケーション236−1又はアプリケーションビュー291の単一のモジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
[0142]
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の議論はまた、入力デバイスを有する多機能デバイス200を動作させるための他の形式のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一若しくは複数のキーボードの押圧若しくは保持に任意選択的に合わせたマウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロール等の接触移動、ペンのスタイラス入力、デバイスの移動、口頭による指示、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせは、任意選択的に、認識されることになるイベントを定義するサブイベントに対応する入力として利用される。
[0143]
図3は、いくつかの実施形態に従った、タッチスクリーン212を有するポータブル多機能デバイス200を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface)(UI)300内に1つ以上のグラフィックを表示する。本実施形態と共に以下で説明されるその他では、ユーザは、例えば、1本以上の指302(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス303(図には、正確な縮尺率では描かれていない)で、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することが可能になる。いくつかの実施形態では、ユーザが1つ以上のグラフィックとの接触を中断するときに1つ以上のグラフィックの選択が発生する。いくつかの実施形態では、ジェスチャは、任意選択的に、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ、及び/若しくは下方向へ)、並びに/又はデバイス200と接触した指の回転(右から左へ、左から右へ、上方向へ、及び/若しくは下方向へ)を含む。いくつかの実施形態又は状況では、グラフィックとの不測の接触は、グラフィックを選択しない。例えば、選択に対応するジェスチャがタップであるとき、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択しない。
[0144]
デバイス200はまた、「ホーム」又はメニューボタン304等の1つ以上の物理ボタンを含んでもよい。前に説明されたように、メニューボタン304は、デバイス200上で実行することができるアプリケーションセットにおける任意のアプリケーション236へナビゲートするために使用されてもよい。代わりに、いくつかの実施形態では、メニューボタンは、タッチスクリーン212に表示されたGUIにおけるソフトキーとして実装される。
[0145]
一実施形態では、デバイス200は、タッチスクリーン212、メニューボタン304、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン306、音量調節ボタン(単数又は複数)308、加入者識別モジュール(SIM)カードスロット310、ヘッドセットジャック312、及びドッキング/充電用外部ポート224を含む。プッシュボタン306は、任意選択的に、ボタンを押し下げ、予め定義された時間間隔の間にボタンを押し下げた状態で保持することによってデバイス上の電力をターンオン/オフし、ボタンを押し下げ予め定義された時間間隔が経過する前にボタンを解放することによってデバイスをロックし、及び/又はデバイスのロックを解除し若しくはロック解除処理を開始するために使用される。代替的な実施形態では、デバイス200はまた、マイクロフォン213を通じていくつかの機能をアクティブ化又は非アクティブ化するための口頭入力を受け付ける。デバイス200はまた、任意選択的に、タッチスクリーン212上の接触の強度を検出するための1つ以上の接触強度センサ265、及び/又はデバイス200のユーザについての触知出力を生成するための1つ以上の触知出力生成器267を含む。
[0146]
図4は、いくつかの実施形態に従った、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス400は、ポータブル型である必要はない。いくつかの実施形態では、デバイス400は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具等)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス400は、典型的には、1つ以上のプロセシングユニット(CPU)410、1つ以上のネットワーク又は他の通信インタフェース460、メモリ470、及びこれらの構成要素を相互接続するための1つ以上の通信バス420を含む。通信バス420は、任意選択的に、システム構成要素の間の通信を相互接続及び制御する回路(チップセットと呼ばれることがある)を含む。デバイス400は、典型的には、タッチスクリーンディスプレイであるディスプレイ440を含む入出力(I/O)インタフェース430を含む。I/Oインタフェース430はまた、任意選択的に、キーボード及び/若しくはマウス(又は、他のポインティングデバイス)450、並びにタッチパッド455、デバイス400上で触知出力を生成するための(例えば、図2Aを参照して上記説明された触知出力生成器267(単数又は複数)と同様の)触知出力生成器457、センサ459(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図2Aを参照して上記説明された接触強度センサ(単数又は複数)265と同様の接触強度センサ)を含む。メモリ470は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイス等の高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイス等の不揮発性メモリを含む。メモリ470は、任意選択的に、CPU(単数又は複数)410からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ470は、ポータブル多機能デバイス200(図2A)のメモリ202に記憶されたプログラム、モジュール、及びデータ構造、又はそれらのサブセットに類似する、プログラム、モジュール、及びデータ構造を記憶する。更に、メモリ470は、任意選択的に、ポータブル多機能デバイス200のメモリ202に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス400のメモリ470は、任意選択的に、描画モジュール480、プレゼンテーションモジュール482、ワードプロセッシングモジュール484、ウェブサイト作成モジュール486、ディスクオーサリングモジュール488、及び/又はスプレッドシートモジュール490を記憶するが、ポータブル多機能デバイス200(図2A)のメモリ202はこれらのモジュールを記憶しない。
[0147]
図4における上記特定された要素の各々は、前述のメモリデバイスのうちの1つ以上に記憶されていてもよい。上記特定されたモジュールの各々は、上記説明された機能を実行する命令セットに対応する。上記特定されたモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、様々な実施形態では、これらのモジュールの様々なサブセットは組み合わされてもよく、又は他の方式で再編成されてもよい。いくつかの実施形態では、メモリ470は、上記特定されたモジュール及びデータ構造のサブセットを記憶してもよい。更に、メモリ470は、上記説明されていない追加のモジュール及びデータ構造を記憶してもよい。
[0148]
ここで、例えば、ポータブル多機能デバイス200上で実装することができるユーザインタフェースの実施形態に注意を向ける。
[0149]
図5Aは、いくつかの実施形態に従った、ポータブル多機能デバイス200上のアプリケーションのメニュー用の例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス400上で実装されてもよい。いくつかの実施形態では、ユーザインタフェース500は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
[0150]
セルラー信号及びWi−Fi信号等の無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)502、
●時間504、
●Bluetoothインジケータ505、
●バッテリ状態インジケータ506、
●下記等の、頻繁に使用されるアプリケーション用のアイコンを含むトレー508、
○不在着信又はボイスメールメッセージの数のインジケータ514を任意選択的に含む、「電話」とラベル付けされた、電話モジュール238用のアイコン516、
○未読電子メールの数のインジケータ510を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール240用のアイコン518、
○「ブラウザ」とラベル付けされた、ブラウザモジュール247用のアイコン520、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール252とも称されるビデオ及び音楽再生モジュール252用のアイコン522、並びに
●下記等の、その他のアプリケーションのためのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール241用のアイコン524、
○「カレンダ」とラベル付けされた、カレンダモジュール248用のアイコン526、
○「写真」とラベル付けされた、画像管理モジュール244用のアイコン528、
○「カメラ」とラベル付けされた、カメラモジュール243用のアイコン530、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール255用のアイコン532、
○「株式」とラベル付けされた、株式ウィジェット249−2用のアイコン534、
○「地図」とラベル付けされた、地図モジュール254用のアイコン536、
○「天気」とラベル付けされた、天気ウィジェット249−1用のアイコン538、
○「時計」とラベル付けされた、アラーム時計ウィジェット249−4用のアイコン540、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール242用のアイコン542、
○「メモ」とラベル付けされた、メモモジュール253用のアイコン544、及び
○デバイス200及びその様々なアプリケーション236についての設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション若しくはモジュール用のアイコン546。
[0151]
図5Aに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール252用のアイコン522は、任意選択的に、「音楽」又は「音楽再生」とラベル付けされてもよい。他のラベルは、任意選択的に、様々なアプリケーションアイコンのために使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンについてのラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンについてのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
[0152]
図5Bは、ディスプレイ550(例えば、タッチスクリーンディスプレイ212)とは別個のタッチ感知面551(例えば、図4のタブレット又はタッチパッド455)を有するデバイス(例えば、図4のデバイス400)上の例示的なユーザインタフェースを示す。デバイス400はまた、任意選択的に、タッチ感知面551上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ457のうちの1つ以上)、及び/又はデバイス400のユーザに対する触知出力を生成するための1つ以上の触知出力生成器459を含む。
[0153]
以下の実施例のうちのいくつかはタッチスクリーンディスプレイ212上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図5Bに示されるように、ディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図5Bの551)は、ディスプレイ(例えば、550)上の主軸(例えば、図5Bの553)に対応する主軸(例えば、図5Bの552)を有する。これらの実施形態に従って、デバイスは、タッチ感知面551との接触(例えば、図5Bの560及び562)を、ディスプレイ上のそれぞれの一に対応する位置(例えば、図5Bでは、560は568に対応し、562は570に対応する)において検出する。このように、タッチ感知面がディスプレイとは別個であるとき、タッチ感知面(例えば、図5Bの551)上でデバイスによって検出されたユーザ入力(例えば、接触560及び接触562、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図5Bでの550)上でユーザインタフェースを操作するためにデバイスによって使用される。同様の方法は、任意選択的に、本明細書で説明される他のユーザインタフェースに使用されることを理解されたい。
[0154]
加えて、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、スワイプの経路に沿ったカーソルの移動がその後に続く(例えば、接触の移動の代わりに)、マウスクリックと置き換えられる(例えば、接触の代わりに)。別の実施例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間にマウスクリックと置き換えられる(例えば、接触の検出とそれに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが任意選択的に同時に使用され、又はマウス及び指の接触が任意選択的に同時に使用されることを理解されたい。
[0155]
図6Aは、例示的なパーソナル電子デバイス600を示す。デバイス600は、本体602を含む。いくつかの実施形態では、デバイス600は、デバイス200及びデバイス400(例えば、図2A〜図4B)に関して説明される特徴のいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス600は、タッチ感知ディスプレイ画面604、以後、タッチスクリーン604を有する。タッチスクリーン604の代わりに、又はそれに加えて、デバイス600は、ディスプレイ及びタッチ感知面を有する。デバイス200及びデバイス400と同様に、いくつかの実施形態では、タッチスクリーン604(又は、タッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン604(又は、タッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス600のユーザインタフェースは、タッチの強度に基づいてタッチに応じてもよく、これは、異なる強度のタッチがデバイス600上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
[0156]
タッチ強度を検出及び処理するための技術は、それぞれが全体として参照により本明細書に組み込まれる、例えば、関連出願である、2013年5月8日に出願された「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題する国際出願PCT/US2013/040061号、及び2013年11月11日に出願された「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題する同PCT/US2013/069483号に見出すことができる。
[0157]
いくつかの実施形態では、デバイス600は、1つ以上の入力機構606及び608を有する。入力機構606及び608は、含まれる場合、物理的なものとすることができる。物理入力機構の例は、プッシュボタン及び回転可能機構を含む。いくつかの実施形態では、デバイス600は、1つ以上の取付機構を有する。そのような取付機構は、含まれる場合、例えば、デバイス600を、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、及びバックパック等に取り付けることを可能にする。これらの取付機構によって、ユーザはデバイス600を着用することができる。
[0158]
図6Bは、例示的なパーソナル電子デバイス600を示す。いくつかの実施形態では、デバイス600は、図2A、図2B、及び図4に関連して説明された構成要素のいくつか又は全てを含むことができる。デバイス600は、I/O部614を1つ以上のコンピュータプロセッサ616及びメモリ618に動作可能に結合するバス612を有する。I/O部614は、タッチ感知構成要素622、及び、任意選択的に、タッチ強度感知構成要素624を有することができるディスプレイ604に接続されてもよい。加えて、I/O部614は、Wi−Fi、Bluetooth、近距離通信(「NFC」)、セルラー、及び/又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムデータを受信するための通信ユニット630と接続されてもよい。デバイス600は、入力機構606及び/又は608を含むことができる。入力機構606は、例えば、回転可能入力デバイス、又は押し下げ可能及び回転可能入力デバイスであってもよい。入力機構608は、いくつかの実施例では、ボタンであってもよい。
[0159]
入力機構608は、いくつかの実施例では、マイクロフォンであってもよい。パーソナル電子デバイス600は、GPSセンサ632、加速度計634、方向センサ640(例えば、コンパス)、ジャイロスコープ636、動きセンサ638、及び/又はこれらの組み合わせ等の、様々なセンサを含むことができるが、それらの全ては、I/O部614に動作可能に接続されてもよい。
[0160]
パーソナル電子デバイス600のメモリ618は、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体とすることができ、それらの命令は、1つ以上のコンピュータプロセッサ616によって実行されるとき、例えば、コンピュータプロセッサに、処理1200(図12A〜D)を含む、上記説明された技術を実行させることができる。コンピュータ実行可能命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は命令実行システム、装置、若しくはデバイスから命令をフェッチすることができ、命令を実行することができる他のシステム等、命令実行システム、装置、又はデバイスによって、又はそれらと接続して使用するための任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送されてもよい。パーソナル電子デバイス600は、図6Bの構成要素及び構成に限定されるものではなく、複数の構成における他の構成要素又は追加的構成要素を含むことができる。
[0161]
本明細書で使用されるとき、用語「アフォーダンス」は、デバイス200、デバイス400、及び/又はデバイス600(図2、図4、及び図6)のディスプレイスクリーン上で表示することができるユーザ対話式のグラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、リンク)は各々、アフォーダンスを構成することができる。
[0162]
本明細書で使用されるとき、用語「フォーカスセレクタ」は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装形態では、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある間に、タッチ感知面(例えば、図4のタッチパッド455、又は図5Bのタッチ感知面551)上で入力(例えば、押圧入力)が検出されるとき、特定のユーザインタフェース要素が検出された入力に従って調整されるように、カーソルは「フォーカスセレクタ」として機能する。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図2Aのタッチ感知ディスプレイシステム212、又は図5Aのタッチスクリーン212)を含むいくつかの実装形態では、入力(例えば、接触による押圧入力)がタッチスクリーンディスプレイ上で特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置において検出されるとき、特定のユーザインタフェース要素が検出された入力に従って調節されるように、タッチスクリーン上の検出された接触は、「フォーカスセレクタ」として機能する。いくつかの実装形態では、(例えば、タブキー又は矢印キーを使用してフォーカスを1つのボタンから別のボタンに移動させることにより)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動され、それらの実施形態では、フォーカスセレクタは、ユーザインタフェースの異なる領域の間のフォーカスの移動に従って移動する。フォーカスセレクタによってとられる具体的な形式とは関係なく、フォーカスセレクタは概して、ユーザの意図したユーザインタフェースとの対話を通信するために(例えば、ユーザが対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)、ユーザによって制御されるユーザインタフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出される間、それぞれのボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、(デバイスのディスプレイ上で示される他のユーザインタフェース要素とは反対側の)それぞれのボタンをユーザがアクティブ化することを意図していることを示す。
[0163]
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づくその接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、予め定義された数の強度サンプル、或いは予め定義されたイベントに対する(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終わりを検出する前、接触の強度における増大を検出する前若しくは後、及び/又は接触の強度における減少を検出する前若しくは後)所定の時間期間の間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)に収集された強度サンプルの組に基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10%値、接触の強度の最大値の半分の値、又は接触の強度の最大値の90%の値等のうちの1つ以上に基づく。いくつかの実施形態では、接触の期間は、特性強度を判定する際に使用される(例えば、特性強度が経時的な接触の強度の平均にあるとき)。いくつかの実施形態では、特性強度は、操作がユーザによって実行されたかを判定するために1つ以上の強度閾値の組と比較される。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含むことができる。この実施例では、第1の閾値を越えない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を越え、第2の強度閾値を越えない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を越える特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するか又は第2の動作を実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するか否か(例えば、それぞれの動作を実行するのか、又はそれぞれの動作の実行をしないで済ますか)を判定するために使用される。
[0164]
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部が特定される。例えば、タッチ感知面は、接触の強度が増加する開始位置から遷移して終了位置に到達する連続的なスワイプ接触を受け取ってもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触の一部のみに基づいており、全体的なスワイプ接触ではない(例えば、終了位置におけるスワイプ接触の一部のみ)。いくつかの実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用してもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
[0165]
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値等などの1つ以上の強度閾値に対して特徴付けられてもよい。いくつかの実施形態では、軽い押圧強度閾値は、典型的に物理マウスのボタン又はトラックパッドのクリックと関連付けられた動作をデバイスが実行する強度に対応する。いくつかの実施形態では、深い押圧強度閾値は、典型的に物理マウスのボタン又はトラックパッドのクリックと関連付けられた動作とは異なる動作をデバイスが実行する強度に対応する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度を有する接触が検出されるとき、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値と関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従ってフォーカスセレクタを移動させる。概して、特に明記しない限り、これらの強度閾値は、ユーザインタフェースの図の異なるセットの間で一貫している。
[0166]
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
[0167]
本明細書で説明されるいくつかの実施形態では、1つ以上の操作は、それぞれの押圧入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力を検出したことに応じて実行され、それぞれの押圧入力は、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度における増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの操作は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押圧入力の「ダウンストローク」)の検出に応じて実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及び押圧入力強度閾値を下回る接触の強度の後続の減少を含み、それぞれの動作は、押圧入力閾値を下回るそれぞれの接触の強度の後続の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて実行される。
[0168]
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との予め定義された関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりも低いX強度単位であり、又はヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。よって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回るそれぞれの接触の強度の増大、及び押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の後続の減少を含み、それぞれの動作は、ヒステリシス強度閾値を下回る、それぞれの接触の強度の後続の減少(例えば、それぞれの押圧入力の「アップストローク」)の検出に応じて実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、接触の強度の後続の減少を検出する場合にのみ検出され、それぞれの動作は、押圧入力の検出(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)に応じて実行される。
[0169]
説明を容易にするために、押圧入力強度閾値と関連付けられた押圧入力に応じて、又は押圧入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。加えて、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて動作が実行されるとして説明される実施例では、動作は、任意選択的に、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る、接触の強度の減少を検出したことに応じて実行される。
3.デジタルアシスタントシステム
[0170]
図7Aは、様々な実施例に従った、デジタルアシスタントシステム700のブロック図を示す。いくつかの実施例では、デジタルアシスタントシステム700は、スタンドアロンコンピュータシステム上で実装されてもよい。いくつかの実施例では、デジタルアシスタントシステム700は、複数のコンピュータにわたって分散されてもよい。いくつかの実施例では、デジタルアシスタントのモジュール及び機能のいくつかは、サーバ部分及びクライアント部分に分割されてもよく、そこでは、クライアント部分は1つ以上のユーザデバイス(例えば、デバイス104、デバイス122、デバイス200、デバイス400、又はデバイス600)上に常駐し、例えば、図1に示すように、1つ以上のネットワークを通じてサーバ部分(例えば、サーバシステム108)と通信する。いくつかの実施例では、デジタルアシスタントシステム700は、図1に示されたサーバシステム108(及び/又は、DAサーバ106)の実施形態であってもよい。デジタルアシスタントシステム700は、デジタルアシスタントシステムの単なる一実施例に過ぎず、デジタルアシスタントシステム700は、示されているよりも多くの若しくは少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、又は構成要素の異なる構成若しくは配置を有することができることに留意されたい。図7Aに示される様々な構成要素は、1つ以上の信号処理回路及び/若しくは特定用途向け集積回路を含む、ハードウェア、1つ以上のプロセッサによって実行されるソフトウェア命令、ファームウェア、又はそれらの組み合わせの形態で実装されてもよい。
[0171]
デジタルアシスタントシステム700は、メモリ702、1つ以上のプロセッサ704、入出力(I/O)インタフェース706、及びネットワーク通信インタフェース708を含むことができる。これらの構成要素は、1つ以上の通信バス又は信号線710を介して相互に通信することができる。
[0172]
いくつかの実施例では、メモリ702は、高速ランダムアクセスメモリ並びに/又は不揮発性コンピュータ可読記憶媒体(例えば、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、若しくは他の不揮発性固体メモリデバイス)等の非一時的コンピュータ可読媒体を含むことができる。
[0173]
いくつかの実施例では、I/Oインタフェース706は、ディスプレイ、キーボード、タッチスクリーン、及びマイクロフォン等、デジタルアシスタントシステム700の入出力デバイス716をユーザインタフェースモジュール722に結合することができる。I/Oインタフェース706は、ユーザインタフェースモジュール722と協働して、ユーザ入力(例えば、音声入力、キーボード入力、タッチ入力等)を受信し、対応してそれらを処理する。いくつかの実施例では、例えば、デジタルアシスタントがスタンドアロンユーザデバイス上で実装されるとき、デジタルアシスタントシステム700は、図2A、図4、図6A〜図6Bにおいてそれぞれデバイス200、デバイス400、又はデバイス600に関連して説明されている構成要素及びI/O通信インタフェースのいずれかを含むことができる。いくつかの実施例では、デジタルアシスタントシステム700は、デジタルアシスタントの実施形態のサーバ部分を表すことができ、ユーザデバイス(例えば、デバイス104、デバイス200、デバイス400、又はデバイス600)上に常駐するクライアント側部分を通じてユーザと対話することができる。
[0174]
いくつかの実施例では、ネットワーク通信インタフェース708は、有線通信ポート(単数又は複数)712及び/又は無線送受信回路714を含むことができる。有線通信ポート(単数又は複数)712は、1つ以上の有線インタフェース、例えば、イーサネット、ユニバーサルシリアルバス(USB)、FIREWIRE等を介して通信信号を受信及び送信することができる。無線回路714は、通信ネットワーク及び他の通信デバイスをから/へ、RF信号及び/又は光信号を受信及び送信することができる。無線通信は、GSM、EDGE、CDMA、TDMA、Bluetooth、Wi−Fi、VoIP、Wi−MAX、又は任意のその他の適切な通信プロトコル等の複数の通信規格、プロトコル及び技術のうちのいずれかを使用することができる。ネットワーク通信インタフェース708は、インターネット、イントラネット等のネットワーク、及び/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)等の無線ネットワーク、及び/又はメトロポリタンエリアネットワーク(Metropolitan Area Network、MAN)による、デジタルアシスタントシステム700と他のデバイスとの間の通信を可能にすることができる。
[0175]
いくつかの実施例では、メモリ702、又はメモリ702のコンピュータ可読記憶媒体は、オペレーティングシステム718、通信モジュール720、ユーザインタフェースモジュール722、1つ以上のアプリケーション724、及びデジタルアシスタントモジュール726の全て又はサブセットを含むプログラム、モジュール、命令、及びデータ構造を記憶することができる。特に、メモリ702又はメモリ702のコンピュータ可読記憶媒体は、以下で説明する処理1200を実行する命令を記憶することができる。1つ以上のプロセッサ704はこれらのプログラム、モジュール、及び命令を実行し、データ構造から/へと読み出し/書き込みを行うことができる。
[0176]
オペレーティングシステム718(例えば、Darwin、RTXC、LINUX、UNIX、iOS、OS X、WINDOWS、又はVxWorks等の組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理等)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含むことができ、様々なハードウェア、ファームウェア、及びソフトウェア構成要素間の通信を促進する。
[0177]
通信モジュール720は、ネットワーク通信インタフェース708上でのデジタルアシスタントシステム700と他のデバイスとの間の通信を促進する。例えば、通信モジュール720は、図2A、図4、図6A〜図6Bにそれぞれ示すデバイス200、デバイス400、及びデバイス600等の電子デバイスのRF回路208と通信することができる。通信モジュール720はまた、無線回路714及び/又は有線通信ポート712により受信されたデータを処理するための様々な構成要素も含むことができる。
[0178]
ユーザインタフェースモジュール722はI/Oインタフェース706を介して(例えば、キーボード、タッチスクリーン、ポインティングデバイス、コントローラ、及び/又はマイクロフォンから)ユーザからのコマンド及び/又は入力を受信することができ、ディスプレイ上でユーザインタフェースオブジェクトを生成することができる。ユーザインタフェースモジュール722はまた、I/Oインタフェース706を介して(例えば、ディスプレイ、音声チャネル、スピーカ、タッチパッド等を通じて)、ユーザへの出力(例えば、発話、音声、アニメーション、テキスト、アイコン、振動、触覚フィードバック、光等)を準備及び配信することができる。
[0179]
アプリケーション724は、1つ以上のプロセッサ704により実行されるように構成されたプログラム及び/又はモジュールを含むことができる。例えば、デジタルアシスタントシステムがスタンドアロンのユーザデバイス上で実装される場合、アプリケーション724は、ゲーム、カレンダアプリケーション、ナビゲーションアプリケーション、又は電子メールアプリケーション等のユーザアプリケーションを含むことができる。デジタルアシスタントシステム700がサーバ上で実装される場合、アプリケーション724は、例えば、リソース管理アプリケーション、診断アプリケーション、又はスケジューリングアプリケーションを含むことができる。
[0180]
メモリ702はまた、デジタルアシスタントモジュール726(又は、デジタルアシスタントのサーバ部分)を記憶することができる。いくつかの実施例では、デジタルアシスタントモジュール726は、以下のサブモジュール、又はそれらのサブセット若しくはスーパーセットを含むことができる:入出力処理モジュール728、音声テキスト化(STT)処理モジュール730、自然言語処理モジュール732、ダイアログフロー処理モジュール734、タスクフロー処理モジュール736、サービス処理モジュール738、及び発話合成モジュール740。これらのモジュールの各々は、デジタルアシスタントモジュール726の以下のシステム又はデータ及びモデルのうちの1つ以上、又はそれらのサブセット若しくはスーパーセットへのアクセスを有することができる:オントロジ760、語彙索引744、ユーザデータ748、タスクフローモデル754、サービスモデル756、及びASRシステム731。
[0181]
いくつかの実施例では、デジタルアシスタントモジュール726で実装された処理モジュール、データ、及びモデルを使用して、デジタルアシスタントは以下のうちの少なくともいくつかを実行することができる:発話入力をテキストに変換すること、ユーザから受信された自然言語入力で表現されているユーザの意図を特定すること、ユーザの意図を完全に推測するために必要な情報を(例えば、単語、ゲーム、意図等の曖昧さをなくすことによって)能動的に引き出し、取得すること、推測された意図を満たすためのタスクフローを判定すること、及びそのタスクフローを実行して、推測された意図を満たすこと。
[0182]
いくつかの実施例では、図7Bに示すように、I/O処理モジュール728は、ユーザ入力(例えば、発話入力)を取得し、ユーザ入力への応答を(例えば、音声出力として)提供するために、図7AにおけるI/Oデバイス716を通じてユーザと対話し、又は図7Aにおけるネットワーク通信インタフェース708を通じてユーザデバイス(例えば、デバイス104、デバイス200、デバイス400、若しくはデバイス600)と対話することができる。I/O処理モジュール728は、任意選択的に、ユーザ入力と共に、又はその受信の直後に、ユーザ入力と関連付けられたコンテクスト情報をユーザデバイスから取得することができる。コンテクスト情報は、ユーザ入力に関連するユーザ特有データ、語彙、及び/又は優先度を含むことができる。いくつかの実施例では、コンテクスト情報はまた、ユーザ要求が受信された時点におけるユーザデバイスのソフトウェア及びハードウェア状態、並びに/又はユーザ要求が受信された時点におけるユーザの周囲環境に関連する情報を含む。いくつかの実施例では、I/O処理モジュール728はまた、ユーザ要求について、ユーザに補足質問を送信し、ユーザから回答を受信することができる。ユーザ要求がI/O処理モジュール728によって受信され、ユーザ要求が発話入力を含むことができるとき、I/O処理モジュール728は、発話−テキスト変換のために、発話入力をSTT処理モジュール730(又は、発話認識器)へ転送することができる。
[0183]
STT処理モジュール730は、1つ以上のASRシステムを含むことができる。1つ以上のASRシステムは、I/O処理モジュール728を通じて受信された発話入力を処理して、認識結果を生成することができる。各々のASRシステムは、フロントエンド発話プリプロセッサを含むことができる。フロントエンド発話プリプロセッサは、発話入力から代表的な特徴を抽出することができる。例えば、フロントエンド発話プリプロセッサは、発話入力を代表的な多次元ベクトルの列として特徴付けるスペクトル特徴を抽出するために、発話入力に対してフーリエ変換を実行することができる。更に、各々のASRシステムは、1つ以上の発話認識モデル(例えば、音響モデル及び/又は言語モデル)を含むことができ、1つ以上の音声認識エンジンを実装することができる。発話認識モデルの実施例は、隠れマルコフモデル、混合ガウスモデル、ディープニューラルネットワークモデル、nグラム言語モデル、及び他の統計モデルを含むことができる。発話認識エンジンの実施例は、動的時間伸縮ベースのエンジン及び重み付き有限状態トランスデューサ(WFST)ベースのエンジンを含むことができる。フロントエンド発話プリプロセッサの抽出された代表的な特徴を処理して、中間認識結果(例えば、音素、音素文字列及びサブワード)を生成し、最終的には、テキスト認識結果(例えば、単語、単語文字列、又はトークンの列)を生成するために、1つ以上の発話認識モデル及び1つ以上の発話認識エンジンを使用することができる。いくつかの実施例では、発話入力は、認識結果を生成するために、サードパーティサービスによって、又はユーザのデバイス(例えば、デバイス104、デバイス200、デバイス400、若しくはデバイス600)上で少なくとも部分的に処理されてもよい。STT処理モジュール730が、テキスト文字列(例えば、単語、単語の列、又はトークンの列)を包含する認識結果を生成すると、認識結果は意図推論のために自然言語処理モジュール732に渡されてもよい。
[0184]
音声テキスト化処理についての更なる詳細は、開示全体が参照により本明細書に組み込まれる、2011年9月20日に出願された、「Consolidating Speech Recognition Results」についての米国実用特許出願第13/236,942号に記載されている。
[0185]
いくつかの実施例では、STT処理モジュール730は、認識可能な単語の語彙を含むことができ、及び/又は音標アルファベット変換モジュール731を介してそれにアクセスすることができる。各々の語彙語は、1つ以上の発話認識音標アルファベットで表される単語の発音候補と関連付けられてもよい。詳細には、認識可能な単語の語彙は、複数の発音候補と関連付けられた単語を含むことができる。例えば、語彙は、発音候補
[数1]
と関連付けられた単語「トマト」を含むことができる。更に、ユーザからの前の発話入力に基づいて、語彙語をカスタム発音候補と関連付けることができる。そのようなカスタム発音候補を、STT処理モジュール730に記憶することができて、デバイス上のユーザのプロファイルを介して、特定のユーザと関連付けることができる。いくつかの実施例では、単語の綴り並びに1つ以上の言語規則及び/又は音標規則に基づいて、単語の発音候補を判定することができる。いくつかの実施例では、例えば、既知の正規発音に基づいて、発音候補を手動で生成することができる。
[0186]
いくつかの実施例では、発音候補の一般性に基づいて、発音候補をランク付けすることができる。例えば、発音候補
[数2]
を、
[数3]
よりも高くランク付けすることができるが、これは、発音候補
[数4]
が(例えば、全ユーザのうち、特定の地理的領域のユーザについて、又は任意の他の適切なユーザのサブセットについて)より一般的に使用される発音だからである。いくつかの実施例では、発音候補が、ユーザと関連付けられたカスタム発音候補であるかに基づいて、その発音候補をランク付けすることができる。例えば、カスタム発音候補を、正規発音候補よりも高くランク付けすることができる。このことは、正規発音から逸脱する独特の発音を有する固有名詞を認識するために有用となることがある。いくつかの実施例では、発音候補を出身地、国籍又は民族性等の1つ以上の発話特性と関連付けることができる。例えば、発音候補
[数5]
を米国と関連付けることができるのに対し、発音候補
[数6]
を英国と関連付けることができる。更に、発音候補のランクは、デバイス上のユーザのプロファイルに記憶されたユーザの1つ以上の特性(例えば、出身地、国籍、民族等)に基づくことができる。例えば、ユーザのプロファイルから、ユーザが米国と関連付けられていることを判定することができる。ユーザが米国と関連付けられていることに基づいて、(米国と関連付けられた)発音候補
[数7]
を、(英国と関連付けられた)発音候補
[数8]
よりも高くランク付けすることができる。いくつかの実施例では、ランク付けされた発音候補のうちの1つを、予測された発音(例えば、最も可能性が高い発音)として選択することができる。
[0187]
発話入力が受信されるとき、STT処理モジュール730は、発話入力に対応する音素を(例えば、音響モデルを使用して)判定するために使用されてもよく、次に、音素に一致する単語を(例えば、言語モデルを使用して)判定することを試みる。例えば、STT処理モジュール730は、発話入力の一部分に対応する音素の列
[数9]
を最初に特定することができた場合、語彙インデックス744に基づいて、この列が単語「トマト」に対応すると判定することができる。
[0188]
いくつかの実施例では、STT処理モジュール730は、近似マッチング技術を使用して、音声入力における単語を判定することができる。従って、例えば、STT処理モジュール730は、特定の音素の列が、単語「トマト」の候補音素の列のうちの1つではない場合でさえ、音素の列
[数10]
が単語「トマト」に対応すると判定することができる。
[0189]
デジタルアシスタントの自然言語処理モジュール732(「自然言語プロセッサ」)は、STT処理モジュール730により生成された単語又はトークンの列(「トークン列」)を獲得し、トークン列を、デジタルアシスタントにより認識される1つ以上の「実施可能な意図」と関連付けようと試みることができる。「実施可能な意図」は、デジタルアシスタントにより実行することができるタスクを表すことができ、タスクフローモデル754で実装される、関連付けられたタスクフローを有することができる。関連付けられたタスクフローは、タスクを実行するためにデジタルアシスタントが取る一連のプログラムされたアクション及びステップとすることができる。デジタルアシスタントの能力の範囲は、タスクフローモデル754で実装及び記憶されているタスクフローの数及び種類に依存し、又は、換言すれば、デジタルアシスタントを認識する「実施可能な意図」の数及び種類に依存することができる。しかし、デジタルアシスタントの有効性はまた、自然言語で表現されたユーザ要求から正しい「実施可能な意図(単数又は複数)」を推定するアシスタントの能力に依存することができる。
[0190]
いくつかの実施例では、STT処理モジュール730から取得される単語又はトークンの列に加えて、自然言語処理モジュール732はまた、例えば、I/O処理モジュール728から、ユーザ要求と関連付けられたコンテクスト情報を受信することができる。自然言語処理モジュール732は、任意選択的に、コンテクスト情報を使用して、STT処理モジュール730から受信したトークン列に含まれる情報を明らかにし、補完し、及び/又は更に定義することができる。コンテクスト情報は、例えば、ユーザ優先度、ユーザデバイスのハードウェア及び/又はソフトウェア状態、ユーザ要求の前、最中、若しくは直後に収集されたセンサ情報、並びにデジタルアシスタントとユーザとの間の以前の対話(例えば、ダイアログ)等を含むことができる。本明細書で説明するように、コンテクスト情報は動的であってもよく、時間、位置、ダイアログの内容、及び他の因子によって変化することができる。
[0191]
いくつかの実施例では、自然言語処理は、例えば、オントロジ760に基づくことができる。オントロジ760は、多数のノードを包含する階層構造とすることができ、各々のノードは、「実施可能な意図」又は他の「属性」のうちの1つ以上に関連する「実施可能な意図」又は「属性」のいずれかを表す。上述したように、「実施可能な意図」は、デジタルアシスタントが実行する能力を有する、即ち、それは「実装可能」である、又は作用することができるタスクを表すことができる。「属性」は、実施可能な意図、又は別の属性の下位態様と関連付けられたパラメータを表すことができる。オントロジ760内の実施可能な意図ノードと属性ノードとの間のリンクは、属性ノードにより表されるパラメータが、実施可能な意図ノードにより表されるタスクにどのくらい関係するのかを定義することができる。
[0192]
いくつかの実施例では、オントロジ760は実施可能な意図ノード及び属性ノードで構成されてもよい。オントロジ760内で、各々の実施可能な意図ノードは、直接又は1つ以上の中間属性ノードを通じてのいずれかで、1つ以上の属性ノードにリンクされてもよい。同様に、各々の属性ノードは、直接又は1つ以上の中間属性ノードを通じてのいずれかで、1つ以上の実施可能な意図ノードにンクされてもよい。例えば、図7Cに示すように、オントロジ760は、「レストラン予約」ノード(すなわち、実施可能な意図ノード)を含むことができる。属性ノード「レストラン」、「日付/時間」(予約用)及び「参加人数」は各々の、実施可能な意図ノード(即ち、「レストラン予約」ノード)にそれぞれ直接リンクされてもよい。
[0193]
更に、属性ノード「料理」、「価格帯」、「電話番号」及び「ロケーション」は、属性ノード「レストラン」のサブノードであってもよく、中間属性ノード「レストラン」を通じて「レストラン予約」ノード(即ち、実施可能な意図ノード)にそれぞれリンクされてもよい。別の実施例として、図7Cに示されるように、オントロジ760はまた、「リマインダ設定」ノード(即ち、別の実施可能な意図ノード)を含むことができる。属性ノード「日付/時間」(リマインダ設定用)及び「テーマ」(リマインダ用)は、「リマインダ設定」ノードに各々がリンクされてもよい。属性ノード「日付/時間」がレストラン予約をするタスク及びリマインダを設定するタスクの両方に関連することがあるため、属性ノード「日付/時間」はオントロジ760において「レストラン予約」ノード及び「リマインダ設定」ノードの両方にリンクされてもよい。
[0194]
実施可能な意図ノードは、そのリンクされた属性ノードと共に、「ドメイン」として説明されてもよい。本議論では、各々のドメインは、それぞれの実施可能な意図と関連付けられてもよく、特定の実施可能な意図と関連付けられたノードのグループ(及びノード間の関係)を指す。例えば、図7Cに示されるオントロジ760は、オントロジ760内のレストラン予約ドメイン762の例及びリマインダドメイン764の例を含むことができる。レストラン予約ドメインは、実施可能な意図ノード「レストラン予約」、属性ノード「レストラン」、「日付/時間」、及び「参加人数」、並びに下位属性ノード「料理」、「価格帯」、「電話番号」及び「ロケーション」を含む。リマインダドメイン764は、実施可能な意図ノード「リマインダ設定」、及び属性ノード「テーマ」及び「日付/時間」を含むことができる。いくつかの実施例では、オントロジ760は多くのドメインで構成されてもよい。各々のドメインは、1つ以上の他のドメインと、1つ以上の属性ノードを共有することができる。例えば、「日付/時間」属性ノードは、レストラン予約ドメイン762及びリマインダドメイン764に加えて、多くの異なるドメイン(例えば、スケジューリングドメイン、旅行予約ドメイン、映画チケットドメイン等)と関連付けられてもよい。
[0195]
図7Cは、オントロジ760内の2つの例示的なドメインを示すが、他のドメインは、例えば、「映画を探す」、「通話を開始する」、「道順を探す」、「会議をスケジュールする」、「メッセージを送信する」、及び「質問への回答を提供する」、「リストを読み上げる」、「ナビゲーションの指示を提供する」、並びに「タスクの指示を提供する」等を含むことができる。「メッセージを送信する」ドメインは、「メッセージを送信する」の実施可能な意図ノードと関連付けられており、「受信者(単数又は複数)」、「メッセージタイプ」、及び「メッセージ本文」等の属性ノードを更に含んでもよい。属性ノード「受信者」は更に、例えば、「受信者名」及び「メッセージアドレス」等の下位属性ノードによって定義されてもよい。
[0196]
いくつかの実施例では、オントロジ760は、デジタルアシスタントが理解し、作用することができる全てのドメイン(よって、実施可能な意図)を含むことができる。いくつかの実施例では、オントロジ760は、ドメイン又はノード全体を追加若しくは除去し、又はオントロジ760内のノードの間の関係を修正すること等によって修正されてもよい。
[0197]
いくつかの実施例では、複数の関連する実施可能な意図と関連付けられたノードは、オントロジ760における「スーパドメイン」の下にクラスタ化されてもよい。例えば、「旅行」スーパドメインは、旅行に関連する属性ノード及び実施可能な意図ノードのクラスタを含むことができる。旅行に関連する実施可能な意図ノードは、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、及び「興味のある場所を探す」等を含むことができる。同一のスーパドメイン(例えば、「旅行」スーパドメイン)の下の実施可能な意図ノードは、多くの属性ノードを共通して有することができる。例えば、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、「興味のある場所を探す」についての実施可能な意図ノードは、属性ノードである「出発場所」、「目的地」、「出発日/時間」、「到着日/時間」、及び「参加人数」のうちの1つ以上を共有することができる。
[0198]
いくつかの実施例では、オントロジ760における各々のノードは、ノードによって表される属性又は実施可能な意図に関連する単語及び/又はフレーズのセットと関連付けられてもよい。各々のノードと関連付けられた単語及び/又はフレーズのそれぞれのセットは、そのノードと関連付けられたいわゆる「語彙」とすることができる。各々のノードと関連付けられた単語及び/又はフレーズのそれぞれのセットは、ノードによって表される属性又は実施可能な意図に関連して語彙索引744に記憶されていてもよい。例えば、図7Bに戻ると、「レストラン」の属性についてのノードと関連付けられた語彙は、「食べ物」、「飲み物」、「料理」、「空腹」、「食べる」、「ピザ」、「ファストフード」、「食事」等の単語を含むことができる。別の実施例として、「通話を開始する(initiate a phone call)」の実施可能な意図についてのノードと関連付けられた語彙は、「電話する(call)」、「電話(phone)」、「ダイヤルする(dial)」、「電話をかける(ring)」、「この番号に電話する(call this number)」、及び「〜に電話をかける(make a call to)」等の単語及びフレーズを含むことができる。語彙索引744は、任意選択的に、異なる言語の単語及びフレーズを含むことができる。
[0199]
自然言語処理モジュール732は、STT処理モジュール730からトークン列(例えば、テキスト文字列)を受信することができ、トークン列における単語によってどのノードを暗示されているかを判定することができる。いくつかの実施例では、トークン列内の単語又はフレーズが(語彙索引744を介して)オントロジ760における1つ以上のノードと関連付けられていることが分かった場合、その単語又はフレーズが、それらのノードを「トリガし」又は「アクティブ化する」ことができる。アクティブ化されたノードの量及び/又は相対的重要度に基づいて、自然言語処理モジュール732は、ユーザがデジタルアシスタントに実行させようと意図したタスクとして、実施可能な意図のうちの1つを選択することができる。いくつかの実施例では、最も多く「トリガされた」ノードを有するドメインを選択することができる。いくつかの実施例では、最も高い信頼値を有するドメインを(例えば、その様々なトリガされたノードの相対的重要度に基づいて)選択することができる。いくつかの実施例では、トリガされたノードの数及び重要度の組み合わせに基づいて、ドメインを選択することができる。いくつかの実施例では、ノードを選択する際に、デジタルアシスタントはユーザからの同様の要求を以前に正確に解釈したかどうか等の追加の因子も考慮される。
[0200]
ユーザデータ748は、ユーザ特有語彙、ユーザ優先度、ユーザアドレス、ユーザのデフォルト言語及び第二言語、ユーザの連絡先リスト、並びに各々のユーザに関するその他の短期的若しくは長期的情報等のユーザ特有情報を含むことができる。いくつかの実施例では、自然言語処理モジュール732は、ユーザ入力に含まれる情報を補完してユーザ意図を更に定義するために、ユーザ特有情報を使用することができる。例えば、ユーザ要求「私の誕生日パーティーに私の友人を招待してください(invite my friends to my birthday party)」について、自然言語処理モジュール732は、誰が「友人」であり、いつ及びどこで「誕生日パーティー」が催されるかを判定するために、そのような情報をユーザの要求内で明示的に提供するようにユーザに要求する代わりに、ユーザデータ748にアクセスすることができる。
[0201]
トークン文字列に基づいてオントロジを検索するその他の詳細は、その開示全体が参照により本明細書に組み込まれる、2008年12月22日に出願された「Method and Apparatus for Searching Using an Active Ontology」についての米国特許出願第12/341,743号に記載されている。
[0202]
いくつかの実施例では、自然言語処理モジュール732が、ユーザ要求に基づいて、実施可能な意図(又はドメイン)を特定すると、自然言語処理モジュール732は、特定された実施可能な意図を表すように、構造化されたクエリを生成することができる。いくつかの実施例では、構造化されたクエリは、実施可能な意図についてのドメイン内の1つ以上のノードについてのパラメータを含むことができ、パラメータの少なくともいくつかは、ユーザ要求で指定された特定の情報及び要件が追加される。例えば、ユーザは「私のために7時に寿司屋で夕食の予約を取ってください。(Make me a dinner reservation at a sushi place at 7.)」と言う場合がある。この場合、自然言語処理モジュール732は、ユーザ入力に基づいて、実施可能な意図を「レストラン予約」であると正確に特定することができる。オントロジに従って、「レストラン予約」ドメインについての構造化されたクエリは、{料理}、{時間}、{日付}、及び{参加人数}等のパラメータを含むことができる。いくつかの実施例では、発話入力、及びSTT処理モジュール730を使用して発話入力から導出されたテキストに基づいて、自然言語処理モジュール732は、レストラン予約ドメインについての部分的な構造化されたクエリを生成することができ、この場合、部分的な構造化されたクエリはパラメータ{料理=「寿司」}及び{時間=「午後7時」}を含む。しかしながら、この実施例では、ユーザの発話入力は、ドメインと関連付けられた構造化されたクエリを完了するために十分な情報を包含していない。従って、{参加人数}及び{日付}等のその他の必要パラメータは、現在利用可能な情報に基づいて、構造化されたクエリで指定されなくてもよい。いくつかの実施例では、自然言語処理モジュール732は、構造化されたクエリのいくつかのパラメータに、受信されたコンテクスト情報を追加することができる。例えば、いくつかの実施例では、ユーザが「私の近くの」寿司レストランを要求した場合、自然言語処理モジュール732は、構造化されたクエリにおける{ロケーション}パラメータにユーザデバイスからのGPS座標を追加することができる。
[0203]
いくつかの実施例では、自然言語処理モジュール732は、(任意の完了したパラメータを含む)生成した構造化されたクエリをタスクフロー処理モジュール736(「タスクフロープロセッサ」)に渡すことができる。タスクフロー処理モジュール736は、自然言語処理モジュール732から構造化されたクエリを受信し、必要な場合、構造化されたクエリを完了し、ユーザの最終的な要求を「完了する」ために必要とされるアクションを実行するように構成されてもよい。いくつかの実施例では、これらのタスクを完了するために必要な様々な手順をタスクフローモデル754で設けられてもよい。いくつかの実施例では、タスクフローモデル754は、ユーザから追加情報を取得するための手順、及び実施可能な意図と関連付けられたアクションを実行するためのタスクフローを含むことができる。
[0204]
上記説明されたように、構造化されたクエリを完了するために、タスクフロー処理モジュール736は、追加情報を取得し、及び/又は潜在的に曖昧な発話入力の曖昧さをなくすために、ユーザとの追加のダイアログを開始することが必要となることがある。このような対話が必要となるとき、タスクフロー処理モジュール736は、ユーザとのダイアログに携わるためにタスクフロー処理モジュール734を呼び出すことができる。いくつかの実施例では、ダイアログフロー処理モジュール734は、どのように(及び/又はいつ)ユーザに追加情報を求めるべきかを判定することができ、ユーザ応答を受信することができ、これを処理することができる。I/O処理モジュール728を通じてユーザに質問を提供することができ、ユーザから回答を受信することができる。いくつかの実施例では、ダイアログフロー処理モジュール734は音声及び/又は視覚出力を介してユーザにダイアログ出力を提示することができ、発話応答又は物理的な(例えば、クリック)応答を介してユーザから入力を受信することができる。上記実施例を続けると、タスクフロー処理モジュール736が、ドメイン「レストラン予約」と関連付けられた構造化されたクエリについての「参加人数」及び「日付」情報を判定するためにダイアログフロー処理モジュール734を呼び出すとき、ダイアログフロー処理モジュール734は、「何人分ですか?」及び「どの日にしますか?」等の質問をユーザに渡すために生成することができる。ユーザから回答が受信されると、次に、ダイアログフロー処理モジュール734は、構造化されたクエリに、欠けている情報を追加し、又は構造化されたクエリから欠けている情報を完了するために、その情報をタスクフロー処理モジュール736に渡すことができる。
[0205]
タスクフロー処理モジュール736が、実施可能な意図についての構造化されたクエリを完了すると、タスクフロー処理モジュール736は、実施可能な意図と関連付けられた最終的なタスクの実行に進むことができる。従って、タスクフロー処理モジュール736は、構造化されたクエリ含まれる具体的なパラメータに従って、タスクフローモデルにおけるステップ及び命令を実行することができる。例えば、「レストラン予約」の実施可能な意図についてのタスクフローモデルは、レストランと連絡を取り、特定の時間に特定の参加人数のための予約を実際に要求するためのステップ及び命令を含むことができる。例えば、{レストラン予約、レストラン=ABC Cafe、日付=3/12/2012、時間=午後7時、参加人数=5}、等の構造化されたクエリを使用して、タスクフロー処理モジュール736は、(1)ABC Cafeのサーバ、又はOPENTABLE(登録商標)等のレストラン予約システムにログオンするステップと、(2)ウェブサイト上のフォームに日付、時間、及び参加人数情報を入力するステップと、(3)フォームを提出し(4)ユーザのカレンダに予約のためのカレンダエントリを作成するステップとを実行することができる。
[0206]
いくつかの実施例では、タスクフロー処理モジュール736は、ユーザ入力で要求されたタスクを完了するために、又はユーザ入力で要求された情報の回答を提供するために、サービス処理モジュール738(「サービス処理モジュール」)の支援を採用することができる。例えば、サービス処理モジュール738は、電話をかけるため、カレンダエントリを設定するため、地図検索を呼び出すため、ユーザデバイス上にインストールされているその他のユーザアプリケーションを呼び出すか若しくはそれと対話するため、並びにサードパーティサービス(例えばレストラン予約ポータル、ソーシャルネットワーキングウェブサイト、バンキングポータル等)を呼び出すか若しくはそれと対話するために、タスクフロー処理モジュール736の代わりに動作することができる。いくつかの実施例では、各々のサービスによって必要とされるプロトコル及びアプリケーションプログラミングインタフェース(application programming interface、API)は、サービスモデル756の間のそれぞれのサービスモデルによって指定されてもよい。サービス処理モジュール738は、サービスについての適切なサービスモデルにアクセスすることができ、サービスモデルに下従ったサービスによって必要とされるプロトコル及びAPIに従ってサービスの要求を生成することができる。
[0207]
例えば、レストランがオンライン予約サービスを有効にしている場合、レストランは、予約を行うための必要なパラメータ、及び必要なパラメータの値をオンライン予約サービスへ通信するためのAPIを指定するサービスモデルを提出することができる。タスクフロー処理モジュール736によって要求されるとき、サービス処理モジュール738は、サービスモデルに記憶されているウェブアドレスを使用して、オンライン予約サービスとのネットワーク接続を確立することができ、必要な予約のパラメータ(例えば、時間、日付、参加人数)を、オンライン予約サービスのAPIに従った形式でオンライン予約インタフェースへ送信することができる。
[0208]
いくつかの実施例では、ユーザの意図を推定及び定義し、ユーザ意図を更に明らかにして絞り込むための情報を取得し、ユーザの意図を満たすように応答(即ち、ユーザへの出力又はタスクの完了)を最終的に生成するために、自然言語処理モジュール732、ダイアログフロー処理モジュール734、及びタスクフロー処理モジュール736を集合的かつ反復的に使用することができる。生成された応答は、ユーザの意図を少なくとも部分的に満たす、発話入力へのダイアログ応答とすることができる。更に、いくつかの実施例では、生成された応答を、発話出力として出力することができる。これらの実施例では、生成された応答を、発話合成モジュール740(例えば、発話合成器)に送信することができ、そこでは、発話形態のダイアログ応答を合成するためにそれが処理されてもよい。更なる他の実施例では、生成された応答は、発話入力のユーザ要求を満たすことに関連するデータコンテンツとすることができる。
[0209]
発話合成モジュール740は、ユーザに提示するために、発話出力を合成するように構成されてもよい。発話合成モジュール740は、デジタルアシスタントにより提供されたテキストに基づいて、発話出力を合成する。例えば、生成されたダイアログ応答は、テキスト文字列の形式にあってもよい。発話合成モジュール740は、テキスト文字列を可聴の発話出力に変換することができる。発話合成モジュール740は、テキストから発話出力を生成するために、波形接続合成、単位選択合成、ダイフォン合成、領域特化合成、フォルマント合成、調音合成、隠れマルコフモデル(HMM)ベースの合成、及びサイン波合成を含むが、これらには限定されない任意の適切な発話合成技術を使用することができる。いくつかの実施例では、発話合成モジュール740は、単語に対応する音素文字列に基づいて個々の単語を合成するように構成されてもよい。例えば、音素文字列は、生成したダイアログ応答における単語と関連付けられてもよい。音素文字列は、単語と関連付けられたメタデータに記憶されていてもよい。発話合成モデル740は、単語を発話形式で合成するために、メタデータにおける音素文字列を直接処理するように構成されてもよい。
[0210]
いくつかの実施例では、発話合成モジュール740を使用する代わりに(又は、それに加えて)、リモートデバイス(例えば、サーバシステム108)上で発話合成を実行することができ、合成された発話を、ユーザへの出力のために、ユーザデバイスに送信することができる。例えば、これは、デジタルアシスタントのための出力がサーバシステムにおいて生成される、いくつかの実装形態で行われてもよい。また、サーバシステムは概して、ユーザデバイスよりも多くの処理電力又はリソースを有するので、クライアント側合成での実用的な出力よりも高い品質の発話出力を取得することが可能となることがある。
[0211]
デジタルアシスタントに関する追加の詳細は、その開示全体が参照により本明細書に組み込まれる、2011年1月10日に出願された「Intelligent Automated Assistant」と題する米国実用特許出願第12/987,982号、2011年9月30日に出願された「Generating and Processing Data Items That Represent Tasks to Perform」と題された米国特許出願第13/251,088号に記載されている。
[0212]
4.デジタルアシスタント−インテリジェント検索及びオブジェクト管理
[0213]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cは、デジタルアシスタントによる検索処理又はオブジェクト管理処理を使用してタスクを実行する機能性を示す。いくつかの実施例では、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)は、様々な実施例に従ってユーザデバイスによって実装される。いくつかの実施例では、ユーザデバイス、サーバ(例えば、サーバ108)、又はそれらの組み合わせは、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)を実装してもよい。ユーザデバイスは、例えば、デバイス104、200、又は400を使用して実装されてもよい。いくつかの実施例では、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、又はタブレットコンピュータである。ユーザデバイスは、デスクトップ環境などのマルチタスキング環境で動作することができる。
[0214]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cを参照して、いくつかの実施例では、ユーザデバイスは、様々なユーザインタフェース(例えば、ユーザインタフェース810、910、1010、1110、1210、及び1310)を提供する。ユーザデバイスは、ユーザデバイスと関連付けられたディスプレイ(例えば、タッチ感知ディスプレイシステム212、ディスプレイ440)上で様々なユーザインタフェースを表示する。様々なユーザインタフェースは、異なる処理を表す1つ以上のアフォーダンス(例えば、検索処理を表すアフォーダンス820、920、1020、1120、1220、及び1320、並びにオブジェクト管理処理を表すアフォーダンス830、930、1030、1130、1230、及び1330)を提供する。1つ以上の処理は、ユーザによって直接又は間接的にインスタンス化されてもよい。例えば、ユーザは、キーボード、マウス、ジョイスティック、又は指などの入力デバイスを使用してアフォーダンスを選択することによって、1つ以上の処理をインスタンス化する。ユーザはまた、以下で更に詳細に説明されるように、発話入力を使用して1つ以上の処理をインスタンス化することができる。処理をインスタンス化することは、処理がまだ実行中でない場合に処理を呼び出すことを含む。処理の少なくとも1つのインスタンスが実行中である場合、処理をインスタンス化することは、処理の既存のインスタンスを実行すること、又は処理の新たなインスタンスを生成することを含む。例えば、オブジェクト管理処理をインスタンス化することは、オブジェクト管理処理を呼び出すこと、既存のオブジェクト管理処理を使用すること、又はオブジェクト管理処理の新たなインスタンス生成を含む。
[0215]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cに示されるように、ユーザデバイスは、ユーザインタフェース(例えば、ユーザインタフェース810、910、1010、1110、1210、及び1310)上で、デジタルアシスタントサービスをインスタンス化するためのアフォーダンス(例えば、アフォーダンス840、940、1040、1140、1240、及び1340)を表示する。アフォーダンスは、例えば、デジタルアシスタントを表すマイクロフォンアイコンとすることができる。アフォーダンスは、ユーザインタフェース上でいずれかの位置で表示されてもよい。例えば、アフォーダンスは、ユーザインタフェースの底部におけるドック(例えば、ドック808、908、1008、1108、1208、及び1308)上で、ユーザインタフェースの最上部におけるメニューバー(例えば、メニューバー806、906、1006、1106、1206、及び1306)上で、又はユーザインタフェースの右側における通知センタ等で表示されてもよい。アフォーダンスはまた、ユーザインタフェース上で動的に表示されてもよい。例えば、ユーザデバイスは、デジタルアシスタントサービスを便利にインスタンス化することができるように、アプリケーションユーザインタフェース(例えば、アプリケーションウィンドウ)の近くでアフォーダンスを表示する。
[0216]
いくつかの実施例では、デジタルアシスタントは、所定のフレーズを受信したことに応じてインスタンス化される。例えば、デジタルアシスタントは、「はい、アシスタント(Hey, Assistant)」、起きて、アシスタント(Wake up, Assistant)」、「聞いて、アシスタント(Listen up, Assistant)」、又は「OK、アシスタント(OK, Assistant)」等のフレーズを受信したことに応じて呼び出される。いくつかの実施例では、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じてインスタンス化される。例えば、ユーザは、マウス、スタイラス、又は指等の入力デバイスを使用してアフォーダンス840、940、1040、1140、1240、及び/又は1340を選択する。ユーザデバイス上でデジタルアシスタントを提供することは、コンピューティングリソース(例えば、電力、ネットワーク帯域幅、メモリ、及びプロセッササイクル)を消費する。いくつかの実施例では、デジタルアシスタントは、ユーザがそれを呼び出すまで一時停止又はシャットダウンされる。いくつかの実施例では、デジタルアシスタントは、様々な期間の間にアクティブである。例えば、デジタルアシスタントは、様々なユーザインタフェースが表示され、ユーザデバイスがターンオンされ、ユーザデバイスが休止若しくはスリープしており、ユーザがログオフし、又はそれらの組み合わせの間、アクティブでいることがあり、ユーザの発話入力を監視していることがある。
[0217]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cを参照して、デジタルアシスタントは、ユーザから発話入力852、854、855、856、952、954、1052、1054、1152、1252、又は1352等の1つ以上の発話入力を受信する。ユーザは、例えば、検索処理又はオブジェクト管理処理を使用してタスクを実行する目的で様々な発話入力を提供する。いくつかの実施例では、デジタルアシスタントは、ユーザデバイスにおいてユーザから直接、又はユーザデバイスに通信可能に接続された別の電子デバイスを通じて間接的に発話入力を受信する。デジタルアシスタントは、例えば、ユーザデバイスのマイクロフォン(例えば、マイクロフォン213)を介してユーザから直接発話入力を受信する。ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、タブレット、又はサーバ等、マルチタスキング環境で動作するように構成されたデバイスを含む。デジタルアシスタントはまた、ヘッドセット、スマートフォン、又はタブレット等の1つ以上の電子デバイスを通じて間接的に発話入力を受信することができる。例えば、ユーザは、ヘッドセット(図示しない)に発話してもよい。ヘッドセットは、例えば、ヘッドセットとユーザデバイスとの間のBluetooth接続を介して、ユーザから発話入力を受信し、発話入力又はその表現をユーザデバイスのデジタルアシスタントに送信する。
[0218]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cを参照して、いくつかの実施形態では、デジタルアシスタント(例えば、アフォーダンス840、940、1040、1140、1240、及び1340によって表される)は、ユーザデバイスと関連付けられたコンテクスト情報を特定する。コンテクスト情報は、例えば、ユーザ特有データ、1つ以上のオブジェクトと関連付けられたメタデータ、センサデータ、及びユーザデバイス構成データを含む。オブジェクトは、タスクを実行することと関連付けられた処理(例えば、オブジェクト管理処理)のターゲット若しくは構成要素、又はスクリーン上に現在表示されているグラフィカル要素とすることができ、オブジェクト又はグラフィカル要素は、現在フォーカスを有してもよく(例えば、現在選択されている)又は有してなくてもよい。例えば、オブジェクトは、ファイル(例えば、写真、ドキュメント)、フォルダ、通信(例えば、電子メール、メッセージ、通知、若しくはボイスメール)、連絡先、カレンダ、アプリケーション、又はオンラインリソース等を含むことができる。いくつかの実施例では、ユーザ特有データは、ログ情報、ユーザ優先度、ユーザデバイスとのユーザの対話の履歴等を含む。ログ情報は、処理で使用される直近のオブジェクト(例えば、プレゼンテーションファイル)を示す。いくつかの実施例では、1つ以上のオブジェクトと関連付けられたメタデータは、オブジェクトのタイトル、オブジェクトの時間情報、オブジェクトの著者、又はオブジェクトの概要等を含む。いくつかの実施例では、センサデータは、ユーザデバイスと関連付けられたセンサによって収集された様々なデータを含む。例えば、センサデータは、ユーザデバイスの物理的な位置を示す位置データを含む。いくつかの実施例では、ユーザデバイス構成データは、現在のデバイス構成を含む。例えば、デバイス構成は、ユーザデバイスがスマートフォン又はタブレット等の1つ以上の電子デバイスに通信可能に接続されることを示す。以下で更に詳細に説明されるように、ユーザデバイスは、コンテクスト情報を使用して1つ以上の処理を実行することができる。
[0219]
図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cを参照して、発話入力を受信したことに応じて、デジタルアシスタントは、発話入力に基づいてユーザ意図を判定する。上記説明されたように、いくつかの実施例では、デジタルアシスタントは、I/O処理モジュール(例えば、図7Bに示されるI/O処理モジュール728)、STT処理モジュール(例えば、図7Bに示されるSTT処理モジュール730)、及び自然言語処理モジュール(例えば、図7Bに示される自然言語処理モジュール732)を介して発話入力を処理する。I/O処理モジュールは、発話入力を発話−テキスト変換のためのSTT処理モジュール(又は、発話認識器)に転送する。発話−テキスト変換は、発話入力に基づいてテキストを生成する。上記説明されたように、STT処理モジュールは、単語又トークンの列(「トークン列」)を生成し、トークン列を自然言語処理モジュールに提供する。自然言語処理モジュールは、テキストの自然言語処理を実行し、自然言語処理の結果に基づいてユーザ意図を判定する。例えば、自然言語処理モジュールは、トークン列をデジタルアシスタントによって認識された1つ以上の実施可能な意図と関連付けることを試みてもよい。説明されるように、自然言語処理モジュールがユーザ入力に基づいて実施可能な意図を特定すると、それは、特定された実施可能な意図を表すために構造化されたクエリを生成する。構造化されたクエリは、実施可能な意図と関連付けられた1つ以上のパラメータを含む。1つ以上のパラメータは、実施可能な意図に基づくタスクの実行を促進するために使用される。
[0220]
いくつかの実施形態では、デジタルアシスタントは更に、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する。検索処理は、ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されている。オブジェクト管理処理は、ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている。ユーザ意図の判定の様々な実施例は、図8A〜8F、9A〜9H、10A〜10B、11A〜11D、12A〜12D、及び13A〜13Cを参照して以下で更に詳細に提供される。
[0221]
図8Aを参照して、いくつかの実施例では、ユーザデバイスは、デジタルアシスタントをインスタンス化するために発話入力852をユーザから受信する。発話入力852は、例えば、「はい、アシスタント。」を含む。発話入力に応じて、ユーザデバイスは、デジタルアシスタントが後続の発話入力をアクティブに監視しているように、アフォーダンス840又は841によって表されるデジタルアシスタントをインスタンス化する。いくつかの実施例では、デジタルアシスタントは、それがインスタンス化されることを示す発話出力872を提供する。例えば、発話出力872は、「さあ、聞いていますよ。(Go ahead, I am listening.)」を含む。いくつかの実施例では、ユーザデバイスは、デジタルアシスタントをインスタンス化するためにアフォーダンス840又はアフォーダンス841の選択をユーザから受信する。アフォーダンスの選択は、マウス、スタイラス、又は指等の入力デバイスを使用することによって実行される。
[0222]
図8Bを参照して、いくつかの実施例では、デジタルアシスタントは、発話入力854を受信する。発話入力854は、例えば、「検索処理を始めて、AAPLの今日の株価を探してください。(Open the searching process and find the AAPL stock price today.)」、又は単純に「AAPLの今日の株価を見せてください。(show me the AAPL stock price today.)」を含む。発話入力854に基づいて、デジタルアシスタントはユーザ意図を判定する。例えば、ユーザ意図を判定するために、デジタルアシスタントは、実施可能な意図がオンライン情報を取得しており、この実施可能な意図と関連付けられた1つ以上のパラメータが「AAPLの今日の株価」及び「今日」を含むと判定する。
[0223]
説明されるように、いくつかの実施例では、デジタルアシスタントは更に、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する。いくつかの実施形態では、判定を行うために、デジタルアシスタントは、発話入力が検索処理又はオブジェクト管理処理を表す1つ以上のキーワードを含むかを判定する。例えば、デジタルアシスタントは、ユーザ意図がタスクを実行するために検索処理を使用することであることを示す、キーワード又は「検索処理を始めてください。(open the searching process.)」等のフレーズを発話入力854が含むと判定する。結果として、デジタルアシスタントは、ユーザ意図が検索処理を使用してタスクを実行することであると判定する。
[0224]
図8Bに示されるように、ユーザ意図が検索処理を使用してタスクを実行することであるとの判定に従って、デジタルアシスタントは、検索処理を使用してタスクを実行する。説明されるように、デジタルアシスタントの自然言語処理モジュールは、ユーザ意図に基づいて構造化されたクエリを生成し、生成された構造化されたクエリをタスクフロー処理モジュール(例えば、タスクフロー処理モジュール736)に渡す。タスクフロー処理モジュールは、構造化されたクエリを自然言語処理モジュールから受信し、必要な場合に構造化されたクエリを完了し、ユーザの最終的な要求を「完了する」ために必要なアクションを実行する。検索処理を使用してタスクを実行することは、例えば、少なくとも1つのオブジェクトを検索することを含む。いくつかの実施形態では、少なくとも1つのオブジェクトは、フォルダ、ファイル(例えば、写真、音声、ビデオ)、通信(例えば、電子メール、メッセージ、通知、ボイスメール)、連絡先、カレンダ、アプリケーション(例えば、Keynote、Number、iTunes、Safari)、オンライン情報のソース(例えば、Google、Yahoo、Bloomberg)、又はそれらの組み合わせを含む。いくつかの実施例では、オブジェクトを検索することは、オブジェクトと関連付けられたメタデータに基づいている。例えば、ファイル又はフォルダを検索することは、タグ、日付、時間、著者、タイトル、ファイルのタイプ、サイズ、ページ数、及び/又はフォルダ若しくはファイルと関連付けられたファイル位置等のメタデータを使用することができる。いくつかの実施例では、ファイル又はフォルダは、ユーザデバイスの内部又は外部に記憶されている。例えば、ファイル又はフォルダは、ユーザデバイスのハードディスクに記憶されていてもよく、又はクラウドサーバに記憶されていてもよい。いくつかの実施例では、通信を検索することは、通信と関連付けられたメタデータに基づいている。例えば、電子メールを検索することは、電子メールの送信者、電子メールの受信者、又は電子メール送信/受信日等のメタデータを使用する。
[0225]
図8Bに示されるように、ユーザ意図が検索処理を使用してAAPLの株価を取得することであるとの判定に従って、デジタルアシスタントは、検索を実行する。例えば、デジタルアシスタントは、アフォーダンス820によって表される検索処理をインスタンス化し、検索処理に今日のAAPLの株価を検索させる。いくつかの実施例では、デジタルアシスタントは更に、検索処理に、発話入力854(例えば、「検索処理を始めて、AAPLの今日の株価を探してください。(Open the searching process and find the AAPL stock price today.)」)に対応するテキストを提供するユーザインタフェース822(例えば、スニペット又はウィンドウ)を表示させる。
[0226]
図8Cを参照して、いくつかの実施形態では、デジタルアシスタントは、検索処理を使用してタスクを実行した結果に基づいて応答を提供する。図8Cに示されるようにAAPLの株価を検索した結果として、デジタルアシスタントは、検索処理を使用してタスクを実行した結果を提供するユーザインタフェース824(例えば、スニペット又はウィンドウ)を表示する。いくつかの実施形態では、ユーザインタフェース824は、別々のユーザインタフェースとしてユーザインタフェース822内に位置する。いくつかの実施形態では、ユーザインタフェース824及び822は、単一のユーザインタフェースとして共に統合される。ユーザインタフェース824上で、AAPLの株価の検索結果が表示される。いくつかの実施形態では、ユーザインタフェース824は更に、アフォーダンス831及び833を提供する。アフォーダンス831によって、ユーザインタフェース824を閉じることが可能になる。例えば、デジタルアシスタントがアフォーダンス831のユーザの選択を受信する場合、ユーザインタフェース824は、ユーザデバイスのディスプレイから見えなくなり、又は閉じられる。アフォーダンス833によって、ユーザインタフェース824上で表示された検索結果を移動又は共有することが可能になる。例えば、デジタルアシスタントがアフォーダンス833のユーザの選択を受信する場合、それは、ユーザインタフェース824(又は、その検索結果)移動し、又は通知アプリケーションと共有する処理(例えば、オブジェクト管理処理)をインスタンス化する。図8Cに示されるように、デジタルアシスタントは、AAPLの株価の検索結果を提供するために、通知アプリケーションと関連付けられたユーザインタフェース826を表示する。いくつかの実施形態では、ユーザインタフェース826は、アフォーダンス827を表示する。アフォーダンス827によって、ユーザがユーザインタフェース826内でコンテンツ全体(例えば、複数の通知)を参照することができるように、ユーザインタフェース826内でのスクロールすることが可能になり、並びに/又はアフォーダンス827は、その全体の長さ及び/若しくは幅に対してドキュメントのその相対的な位置を示す。いくつかの実施形態では、ユーザインタフェース826は、デジタルアシスタントによって記憶された結果並びに/又はダイアログ履歴(例えば、現在及び/若しくは過去の検索処理から取得された検索結果)を表示する。更に、いくつかの実施例では、タスクを実行した結果は、時間と共に動的に更新される。例えば、AAPLの株価は、時間と共に動的に更新されてもよく、ユーザインタフェース826上で表示されてもよい。
[0227]
いくつかの実施形態では、デジタルアシスタントはまた、検索結果に対応する発話出力を提供する。例えば、デジタルアシスタント(例えば、アフォーダンス840によって表される)は、「今日のAAPLの価格は$100.00です。(Today’s AAPL price is $100.00.)」を含む発話出力874を提供する。いくつかの実施例では、ユーザインタフェース822は、発話出力874に対応するテキストを含む。
[0228]
図8Dを参照して、いくつかの実施例では、デジタルアシスタントは、後続の発話入力に応じて、ユーザインタフェース824上で表示された検索結果を移動又は共有する処理(例えば、オブジェクト管理処理)をインスタンス化する。例えば、デジタルアシスタントは、「AAPLの株価を私のメモに複製してください。(Copy the AAPL stock price to my notes.)」等の発話入力855を受信する。これに応じて、デジタルアシスタントは、検索結果(例えば、AAPLの株価)をユーザのメモに移動又は複製する処理をインスタンス化する。図8Dに示されるように、いくつかの実施例では、デジタルアシスタントは更に、ユーザのメモに複製又は移動された検索結果を提供するユーザインタフェース825を表示する。いくつかの実施例では、デジタルアシスタントは更に、「OK、AAPLの株価があなたのメモに複製されます。(OK, the AAPL stock price is copied to your notes.)」等の発話出力875を提供する。いくつかの実施例では、ユーザインタフェース822は、発話出力875に対応するテキストを含む。
[0229]
図8Eを参照して、いくつかの実施例では、デジタルアシスタントは、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであると判定し、オブジェクト管理処理を使用してタスクを実行する。例えば、デジタルアシスタントは、「オブジェクト管理処理を始めて、コロラド旅行からの全ての写真を見せてください。(Open the object managing process and show me all the photos from my Colorado trip.)」、又は単純に「コロラド旅行からの全ての写真を見せてください。(Show me all the photos from my Colorado trip.)」等の発話入力856を受信する。発話入力856及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図を判定する。例えば、デジタルアシスタントは、実施可能な意図が写真を表示することであると判定し、「全て」、及び「コロラド旅行」等の1つ以上のパラメータを判定する。デジタルアシスタントは更に、コンテクスト情報を使用して、どの写真がユーザのコロラド旅行に対応するかを判定する。説明されるように、コンテクスト情報は、ユーザ特有データ、1つ以上のオブジェクトのメタデータ、センサデータ、及び/又はデバイス構成データを含む。実施例として、1つ以上のファイル(例えば、ユーザインタフェース832に表示されたファイル1、ファイル2、及びファイル3)と関連付けられメタデータは、ファイル名が単語「コロラド」又はコロラドの都市名(例えば、「デンバー」)を含むことを示す。メタデータはまた、フォルダ名が単語「コロラド」又はコロラドの都市名(例えば、「デンバー」)を含むことを示す。別の実施例としてセンサデータ(例えば、GPSデータ)は、ユーザが或る期間の間にコロラド内で旅行をしていたことを示す。結果として、ユーザが特定の期間の間に撮っていたいずれかの写真は、ユーザのコロラド旅行の間に撮られた写真である。また、写真それ自体は、それが撮られた位置と写真とを関連付ける位置情報が付加された(geotagged)メタデータを含んでもよい。コンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が、例えば、フォルダ名「コロラド旅行」を有するフォルダに記憶された写真を表示し、又はユーザがコロラド内で旅行していた期間の間に撮られた写真を表示することであると判定する。
[0230]
説明されるように、いくつかの実施例では、デジタルアシスタントは、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する。そのような判定を行うために、デジタルアシスタントは、発話入力が検索処理又はオブジェクト管理処理を表す1つ以上のキーワードを含むか否かを判定する。例えば、デジタルアシスタントは、発話入力856が、ユーザ意図がタスクを実行するためにオブジェクト管理処理を使用することであることを示す、キーワード又は「オブジェクト管理処理を始めてください。(open the object managing process.)」等のフレーズを含むと判定する。
[0231]
ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであると判定したことに従って、デジタルアシスタントは、オブジェクト管理処理を使用してタスクを実行する。例えば、デジタルアシスタントは、オブジェクト管理処理を使用して少なくとも1つのオブジェクトを検索する。いくつかの実施例では、少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む。ファイルは、写真、音声(例えば、歌)、又はビデオ(例えば、動画)のうちの少なくとも1つを含むことができる。いくつかの実施例では、ファイル又はフォルダを検索することは、フォルダ又はファイルと関連付けられたメタデータに基づいている。例えば、ファイル又はフォルダを検索することは、タグ、日付、時間、著者、タイトル、ファイルのタイプ、サイズ、ページ数、及び/又はフォルダ若しくはファイルと関連付けられたファイル位置等のメタデータを使用する。いくつかの実施例では、ファイル又はフォルダは、ユーザデバイスの内部又は外部に記憶されていてもよい。例えば、ファイル又はフォルダは、ユーザデバイスのハードディスクに記憶されていてもよく、又はクラウドサーバに記憶されていてもよい。
[0232]
図8Eに示されるように、ユーザ意図が、例えば、フォルダ名「コロラド旅行」を有するフォルダに記憶された写真を表示し、又はユーザがコロラド内で旅行していた期間の間に撮られた写真を表示することであるとの判定に従って、デジタルアシスタントは、オブジェクト管理処理を使用してタスクを実行する。例えば、デジタルアシスタントは、アフォーダンス830によって表されるオブジェクト管理処理をインスタンス化し、オブジェクト管理処理にユーザのコロラド旅行からの写真を検索させる。いくつかの実施例では、デジタルアシスタントはまた、オブジェクト管理処理に、ユーザの発話入力856のテキストを提供するスニペット又はウィンドウ(図示しない)を表示させる。
[0233]
図8Fを参照して、いくつかの実施形態では、デジタルアシスタントは更に、オブジェクト管理処理を使用して、タスクを実行した結果に基づいて応答を提供する。図8Fに示されるように、ユーザのコロラド旅行の写真を検索した結果として、デジタルアシスタントは、オブジェクト管理処理を使用して、タスクを実行した結果を提供するユーザインタフェース834(例えば、スニペット又はウィンドウ)を表示する。例えば、ユーザインタフェース834上で、写真のプレビューが表示される。いくつかの実施例では、デジタルアシスタントは、写真をドキュメントに挿入すること、又は写真を電子メールに添付すること等、写真に関する追加のタスクを実行する処理(例えば、オブジェクト管理処理)をインスタンス化する。以下で更に詳細に説明されるように、デジタルアシスタントは、ユーザの追加の発話入力に応じて、追加のタスクを実行する処理をインスタンス化することができる。また、デジタルアシスタントは、「コロラド旅行からの写真を電子メールで母に送信してください。(send the photos from my Colorado trip to my Mom by email.)」等の単一の発話入力に応じて、複数のタスクを実行することができる。デジタルアシスタントはまた、入力デバイス(例えば、1つ以上のアフォーダンスを選択し、又はドラッグ及びドロップ操作を実行するマウス入力)を使用して、ユーザの入力に応じてそのような追加のタスクを実行する処理をインスタンス化することができる。いくつかの実施形態では、デジタルアシスタントは更に、結果に対応する発話出力を提供する。例えば、デジタルアシスタントは、「あなたのコロラド旅行からの写真がここにあります。(Here are the photos from your Colorado trip.)」を含む発話出力876を提供する。
[0234]
図9Aを参照して、いくつかの実施例では、ユーザの発話入力は、ユーザ意図が検索処理又はオブジェクト管理処理を使用することであるかを示す1つ以上のキーワードを含まなくてもよい。例えば、ユーザは、「今日のウォリアーズの試合のスコアは何ですか?(What is the score of today’s Warriors game?)」等の発話入力952を提供する。発話入力952は、「検索処理」又は「オブジェクト管理処理」を示すキーワードを含まない。結果として、キーワードは、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定するために、デジタルアシスタントに利用可能でないことがある。
[0235]
いくつかの実施形態では、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定するために、デジタルアシスタントは、タスクが発話入力に基づいて検索することと関連付けられるか否かを判定する。いくつかの実施例では、検索することと関連付けられたタスクは、検索処理又はオブジェクト管理処理のいずれかによって実行されてもよい。例えば、検索処理及びオブジェクト管理処理の両方は、フォルダ及びファイルを検索することができる。いくつかの実施例では、検索処理は更に、オンライン情報ソース(例えば、ウェブサイト)、通信(例えば、電子メール)、連絡先、又はカレンダ等を含む様々なオブジェクトを検索することができる。いくつかの実施例では、オブジェクト管理処理は、オンライン情報ソース等の或るオブジェクトを検索するように構成されなくてもよい。
[0236]
タスクが検索することと関連付けられるとの判定に従って、デジタルアシスタントは更に、タスクを実行することが検索処理を必要とするか否かを判定する。説明されるように、タスクが検索することと関連付けられる場合、検索処理又はオブジェクト管理処理のいずれかは、タスクを実行するために使用されてもよい。しかしながら、オブジェクト管理処理は、或るオブジェクトを検索するように構成されなくてもよい。結果として、ユーザ意図が検索処理又はオブジェクト管理処理を使用することであるか否かを判定するために、デジタルアシスタントは更に、タスクが検索処理を必要とするか否かを判定する。例えば、図9Aに示されるように、発話入力952に基づいて、デジタルアシスタントは、ユーザ意図が、例えば、今日のウォリアーズの試合のスコアを取得することであると判定する。ユーザ意図に従って、デジタルアシスタントは更に、タスクを実行することがオンライン情報ソースを検索することを必要とし、従って、検索することと関連付けられると判定する。デジタルアシスタントは更に、タスクを実行することが検索処理を必要とするか否かを判定する。説明されるように、いくつかの実施例では、検索処理は、ウェブサイト等のオンライン情報ソースを検索するように構成されているが、オブジェクト管理処理は、そのようなオンライン情報ソースを検索するように構成されなくてもよい。結果として、デジタルアシスタントは、オンライン情報ソースを検索することが(例えば、スコアを取得するためにウォリアーズのウェブサイトを検索する)検索処理を必要とすると判定する。
[0237]
図9Bを参照して、いくつかの実施形態では、タスクを実行することが検索処理を必要とするとの判定に従って、デジタルアシスタントは、検索処理を使用してタスクを実行する。例えば、今日のウォリアーズの試合のスコアを検索することが検索処理を必要とするとの判定に従って、デジタルアシスタントは、アフォーダンス920によって表される検索処理をインスタンス化し、検索処理に今日のウォリアーズの試合のスコアを検索させる。いくつかの実施例では、デジタルアシスタントは更に、検索処理にユーザの発話入力952(例えば、「今日のウォリアーズの試合のスコアは何ですか?」のテキストを提供するユーザインタフェース922(例えば、スニペット又はウィンドウ)を表示させる。ユーザインタフェース922は、1つ以上のアフォーダンス921及び927を含む。上記説明されたのと同様に、アフォーダンス921(例えば、閉ボタン)によって、ユーザインタフェース922を閉じることが可能になり、アフォーダンス927(例えば、スクロールバー)によって、ユーザがユーザインタフェース922内でコンテンツを参照することができるようにユーザインタフェース922内でスクロールすることが可能になる。
[0238]
図9Bを参照して、いくつかの実施例では、検索結果に基づいて、デジタルアシスタントは更に、1つ以上の応答を提供する。図9Bに示されるように、今日のウォリアーズの試合のスコアを検索した結果として、デジタルアシスタントは、検索処理を使用してタスクを実行した結果を提供するユーザインタフェース924(例えば、スニペット又はウィンドウ)を表示する。いくつかの実施形態では、ユーザインタフェース924は、別々のユーザインタフェースとしてユーザインタフェース922内に位置する。いくつかの実施形態では、ユーザインタフェース924及び922は、単一のユーザインタフェースとして共に統合される。いくつかの実施例では、デジタルアシスタントは、現在の検索結果(例えば、ウォリアーズの試合のスコア)を提供するユーザインタフェース924を、前の検索結果(例えば、AAPLの株価)を提供する別のユーザインタフェース(例えば、図8Cに示されるユーザインタフェース824)と共に表示する。いくつかの実施形態では、デジタルアシスタントは、現在の検索結果を提供するユーザインタフェース924のみを表示し、前の検索結果を提供する別のユーザインタフェースを表示しない。図9Bに示されるように、デジタルアシスタントは、現在の検索結果(例えば、ウォリアーズの試合のスコア)を提供するためのユーザインタフェース924のみを表示する。いくつかの実施例では、アフォーダンス927(例えば、スクロールバー)によって、ユーザが前の検索結果を参照することができるように、ユーザインタフェース922内でスクロールすることが可能になる。更に、いくつかの実施例では、前の検索結果は、例えば、株価、スポーツのスコア、天気予報等が時間と共に更新されるように、動的に更新又はリフレッシュ。
[0239]
図9Bに示されるように、ユーザインタフェース924上で、今日のウォリアーズの試合のスコアの検索結果が表示される(例えば、ウォリアーズ104−89キャバリアーズ)。いくつかの実施形態では、ユーザインタフェース924は更に、アフォーダンス923及び925を提供する。アフォーダンス923によって、ユーザインタフェース924を閉じることが可能になる。例えば、デジタルアシスタントがアフォーダンス923のユーザの選択を受信する場合、ユーザインタフェース924は、ユーザデバイスのディスプレイから見えなくなり、又は閉じられる。アフォーダンス925によって、ユーザインタフェース924上で表示された検索結果を移動又は共有することが可能になる。例えば、デジタルアシスタントがアフォーダンス925のユーザの選択を受信する場合、それは、ユーザインタフェース924(又は、その検索結果)を移動し、又は通知アプリケーションと共有する。図9Bに示されるように、デジタルアシスタントは、ウォリアーズの試合のスコアの検索結果を提供するための、通知アプリケーションと関連付けられたユーザインタフェース926を表示する。説明されるように、タスクを実行した結果は、時間と共に動的に更新される。例えば、ウォリアーズの試合のスコアは、ゲームが進行中の間に時間と共に動的に更新されてもよく、ユーザインタフェース924(例えば、スニペット若しくはウィンドウ)及び/又はユーザインタフェース926(例えば、通知アプリケーションユーザインタフェース)上で表示されてもよい。いくつかの実施形態では、デジタルアシスタントは更に、検索結果に対応する発話出力を提供する。例えば、アフォーダンス940又は941によって表されるデジタルアシスタントは、「ウォリアーズがキャバリアーズを104−89で破りました。(Warriors beats Cavaliers, 104-89.)」等の発話出力972を提供する。いくつかの実施例では、ユーザインタフェース922(例えば、スニペット又はウィンドウ)は、発話出力972に対応するテキストを提供する。
[0240]
上記説明されたように、いくつかの実施形態では、デジタルアシスタントは、タスクが検索することと関連付けられるか否かを判定し、そのような判定に従って、デジタルアシスタントは、タスクが検索処理を必要とするか否かを判定する。図9Cを参照して、いくつかの実施形態では、デジタルアシスタントは、タスクを実行することが検索処理を必要としないと判定する。例えば、図9Cに示されるように、デジタルアシスタントは、「支出と呼ばれる全てのファイルを見せてください。(Show me all the files called Expenses.)」等の発話入力954を受信する。発話入力954及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図がそれらのファイル名、メタデータ、又はファイルの中身等に含まれる単語「支出」(又は、それの一部、変形、言い換え)を有する全てのファイルを表示することであると判定する。ユーザ意図に従って、デジタルアシスタントは、実行されるタスクが単語「支出」と関連付けられた全てのファイルを検索することを含むと判定する。結果として、デジタルアシスタントは、タスクを実行することが検索することと関連付けられていると判定する。上記説明されたように、いくつかの実施例では、検索処理及びオブジェクト管理処理は両方、ファイルの検索を実行することができる。結果として、デジタルアシスタントは、単語「支出」と関連付けられた全てのファイルを検索するタスクを実行することが検索処理を必要としないと判定する。
[0241]
図9Dを参照して、いくつかの実施例では、タスクを実行することが検索処理を必要としないとの判定に従って、デジタルアシスタントは、所定の構成に基づいて、タスクが検索処理又はオブジェクト管理処理を使用して実行されるか否かを判定する。例えば、検索処理及びオブジェクト管理処理の両方がタスクを実行することができる場合、所定の構成は、タスクが検索処理を使用して実行されることを示すことができる。所定の構成は、ユーザ優先度又はユーザ特有データ等のコンテクスト情報を使用して生成及び更新されてもよい。例えば、デジタルアシスタントは、特定のユーザについて、履歴的に、検索処理がファイル検索のためにオブジェクト管理処理よりも多くの頻度で選択されたと判定する。結果として、デジタルアシスタントは、検索処理がファイルを検索するためのデフォルトの処理であることを示すために所定の構成を生成又は更新する。いくつかの実施例では、デジタルアシスタントは、オブジェクト管理処理がデフォルトの処理であることを示すために所定の構成を生成又は更新する。
[0242]
図9Dに示されるように、所定の構成に基づいて、デジタルアシスタントは、単語「支出」と関連付けられた全てのファイルを検索するタスクが検索処理を使用して実行されることであると判定する。結果として、デジタルアシスタントは、検索処理を使用して単語「支出」と関連付けられた全てのファイルの検索を実行する。例えば、デジタルアシスタントは、ユーザインタフェース910上で表示されたアフォーダンス920によって表される検索処理をインスタンス化し、検索処理に、単語「支出」と関連付けられた全てのファイルを検索させる。いくつかの実施例では、デジタルアシスタントは更に、ユーザにタスクが実行されていることを通知する発話出力974を提供する。発話出力974は、例えば、「OK、『支出』と呼ばれる全てのファイルを検索します。(OK, searching all files called ‘Expenses’.)」を含む。いくつかの実施例では、デジタルアシスタントは更に、検索処理に、発話入力954及び発話出力974に対応するテキストを提供するユーザインタフェース928(例えば、スニペット又はウィンドウ)を表示させる。
[0243]
図9Eを参照して、いくつかの実施形態では、デジタルアシスタントは更に、検索処理を使用して、タスクを実行した結果に基づいて1つ以上の応答を提供する。図9Eに示されるように、単語「支出」と関連付けられた全てのファイルを検索した結果として、デジタルアシスタントは、検索結果を提供するユーザインタフェース947(例えば、スニペット又はウィンドウ)を表示する。いくつかの実施形態では、ユーザインタフェース947は、別々のユーザインタフェースとしてユーザインタフェース928内に位置する。いくつかの実施形態では、ユーザインタフェース947及び928は、単一のユーザインタフェースとして共に統合される。ユーザインタフェース947上で、単語「支出」と関連付けられたファイルのリストが表示される。いくつかの実施形態では、デジタルアシスタントは更に、検索結果に対応する発話出力を提供する。例えば、アフォーダンス940又は941によって表されるデジタルアシスタントは、「支出と呼ばれる全てのファイルがここにあります。(Here are all the files called Expenses.)」等の発話出力976を提供する。いくつかの実施例では、デジタルアシスタントは更に、ユーザインタフェース928上で、発話出力976に対応するテキストを提供する。
[0244]
いくつかの実施形態では、デジタルアシスタントは、検索処理を使用してタスクを実行した結果と関連付けられた1つ以上のリンクを提供する。リンクによって、検索結果を使用して処理をインスタンス化する(例えば、ファイルを開く、オブジェクト管理処理を呼び出す)ことが可能になる。図9Eに示されるように、ユーザインタフェース947上で、ファイルのそれらのファイル名によって表されるリスト(例えば、支出ファイル1、支出ファイル2、支出ファイル3)は、リンクと関連付けられてもよい。実施例として、リンクは、各々のファイル名の側面上で表示される。別の実施例として、ファイル名は、ファイル名がリンクと関連付けられることを示す特定の色(例えば、青)で表示される。いくつかの実施例では、リンクと関連付けられたファイル名は、ユーザインタフェース947上で表示された他の項目と同一の色で表示される。
[0245]
説明されるように、リンクによって、検索結果を使用して処理をインスタンス化することが可能になる。処理をインスタンス化することは、処理がまだ実行中でない場合に処理を呼び出すことを含む。処理の少なくとも1つのインスタンスが実行中である場合、処理をインスタンス化することは、処理の既存のインスタンスを実行すること、又は処理の新たなインスタンスを生成することを含む。例えば、オブジェクト管理処理をインスタンス化することは、オブジェクト管理処理を呼び出すこと、既存のオブジェクト管理処理を使用すること、又はオブジェクト管理処理の新たなインスタンスを生成することを含む。図9E及び9Fに示されるように、ユーザインタフェース947上で表示されたリンクによって、リンクと関連付けられたオブジェクト(例えば、ファイル)を管理することが可能になる。例えば、ユーザインタフェース947は、ファイル(例えば、「支出ファイル3」)と関連付けられたリンクのユーザ選択(例えば、カーソル934による選択)を受信する。それに応じて、デジタルアシスタントは、ファイルの管理を可能にする、アフォーダンス930によって表されるオブジェクト管理処理をインスタンス化する。図9Fに示されるように、デジタルアシスタントは、リンクと関連付けられたファイル(例えば、「支出ファイル3」)を含むフォルダを提供するユーザインタフェース936(例えば、スニペット又はウィンドウ)を表示する。ユーザインタフェース936を使用して、デジタルアシスタントは、ファイルに関して1つ以上の追加のタスク(例えば、複製すること、編集すること、参照すること、移動すること、又は圧縮すること等)を実行するオブジェクト管理処理をインスタンス化する。
[0246]
再度図9Eを参照して、いくつかの実施例では、ユーザインタフェース947上で表示されたリンクによって、オブジェクトを直接参照及び/又は編集することが可能になる。例えば、デジタルアシスタントは、ユーザインタフェース947を介して、ファイル(例えば、「支出ファイル3」)と関連付けられたリンクの選択(例えば、カーソル934による選択)を受信する。それに応じて、デジタルアシスタントは、ファイルを参照及び/又は編集する処理(例えば、ドキュメント参照/編集処理)をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、オブジェクト管理処理インスタンス化することなく、ファイルを参照及び/又は編集する処理をインスタンス化する。例えば、デジタルアシスタントは、支出ファイル3を参照及び/又は編集するナンバー(Number)処理又はエクセル(Excel)処理を直接インスタンス化する。
[0247]
図9E及び9Gを参照して、いくつかの実施例では、デジタルアシスタントは、検索結果を改善する処理(例えば、検索処理)をインスタンス化する。図9E及9Gに示されるように、ユーザは、ユーザインタフェース947上で表示された検索結果を改善することを望むことがある。例えば、ユーザは、検索結果からの1つ以上のファイルを選択することを望むことがある。いくつかの実施例では、デジタルアシスタントは、ユーザから、「ケビンがちょうど私に送信したものは、ドラフトでタグ付けしたものです。(Just the ones Kevin sent me that I tagged with draft.)」等の発話入力977を受信する。発話入力977及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が、ケビンから送信されており、ドラフトタグと関連付けられた支出ファイルのみを表示することであると判定する。ユーザ意図に基づいて、デジタルアシスタントは、検索結果を改善する処理(例えば、検索処理)をインスタンス化する。例えば、図9Gに示されるように、検索結果に基づいて、デジタルアシスタントは、支出ファイル1及び支出ファイル2がケビンからユーザに送信されており、タグ付けされたと判定する。結果として、デジタルアシスタントは、それらの2つのファイルをユーザインタフェース947上で表示することを続け、支出ファイル3をユーザインタフェース947から除去することを続ける。いくつかの実施例では、デジタルアシスタントは、「あなたがドラフトでタグ付けし、ケビンがちょうどあなたに送信したものがここにあります。(Here are just the ones Kevin sent you that you tagged with draft.)」等の発話出力978を提供する。デジタルアシスタントは更に、ユーザインタフェース928上で発話出力978に対応するテキストを提供する。
[0248]
図9Hを参照して、いくつかの実施例では、デジタルアシスタントは、オブジェクト管理タスク(例えば、複製すること、移動すること、共有すること等)を実行する処理(例えば、オブジェクト管理処理)をインスタンス化する。例えば、図9Hに示されるように、デジタルアシスタントは、ユーザから、「支出ファイル1をドキュメントフォルダに移動してください。(Move the Expenses file 1 to Documents folder.)」等の発話入力984を受信する。発話入力984及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図、が支出ファイル1をその現在のフォルダからドキュメントフォルダに複製又は移動することであると判定する。ユーザ意図に従って、デジタルアシスタントは、支出ファイル1をその現在のフォルダからドキュメントフォルダに複製又は移動する処理(例えば、オブジェクト管理処理)をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、「OK、支出ファイル1をあなたのドキュメントフォルダに移動します。(Ok, moving Expenses File 1 to your Documents folder.)」等の発話出力982を提供する。いくつかの実施例では、デジタルアシスタントは更に、ユーザインタフェース928上で発話出力982に対応するテキストを提供する。
[0249]
説明されるように、いくつかの実施例では、ユーザの発話入力は、ユーザ意図が検索処理又はオブジェクト管理処理を使用してタスクを実行することであるかを示すキーワードを含まなくてもよい。図10A〜10Bを参照して、いくつかの実施形態では、デジタルアシスタントは、タスクを実行することが検索処理を必要としないと判定する。その判定に従って、デジタルアシスタントは、ユーザが検索処理又はオブジェクト管理処理を選択することを要求する発話出力を提供する。例えば、図10Aに示されるように、デジタルアシスタントは、ユーザから、「『支出』と呼ばれる全てのファイルを見せてください。(Show me all the files called ‘Expenses’.)」等の発話入力1052を受信する。発話入力1052及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が単語「支出」と関連付けられた全てのファイルを表示することであると判定する。ユーザ意図に従って、デジタルアシスタントは更に、タスクが検索処理又はオブジェクト管理処理のいずれかによって実行されてもよく、従って、検索処理を必要としないと判定する。いくつかの実施例では、デジタルアシスタントは、「検索処理又はオブジェクト管理処理を使用して検索を希望しますか?(Do you want to search using the searching process or the object managing process?)」等の発話出力1072を提供する。いくつかの実施例では、デジタルアシスタントは、ユーザから、「オブジェクト管理処理」等の発話入力1054を受信する。よって、発話入力1054は、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであることを示す。選択に従って、例えば、デジタルアシスタントは、単語「支出」関連付けられた全てのファイルを検索する、アフォーダンス1030によって表されるオブジェクト管理処理をインスタンス化する。図10Bに示されるように、上記説明されたものと同様に、検索の結果として、デジタルアシスタントは、単語「支出」と関連付けられたファイルを含むフォルダを提供するユーザインタフェース1032(例えば、スニペット又はウィンドウ)を表示する。上記説明されたものと同様に、ユーザインタフェース1032を使用して、デジタルアシスタントは、ファイルに関して追加の1つ以上のタスク(例えば、複製すること、編集すること、参照すること、移動すること、又は圧縮すること等)を実行するオブジェクト管理処理をインスタンス化する。
[0250]
図11A及び11Bを参照して、いくつかの実施形態では、デジタルアシスタントは、コンテクスト情報を特定し、コンテクスト情報及びユーザの発話入力に基づいてユーザ意図を判定する。図11Aに示されるように、アフォーダンス1140又は1141によって表されるデジタルアシスタントは、「昨夜作成したKeynoteプレゼンテーションを開いてください。(Open the Keynote presentation I created last night.)」等の発話入力1152を受信する。発話入力1152を受信したことに応じて、デジタルアシスタントは、ユーザデバイスとのユーザの対話の履歴、又はユーザが直近で取りかかったファイルと関連付けられたメタデータ等のコンテクスト情報を特定する。例えば、デジタルアシスタントは、日付、時間、及びユーザが昨日の午後6時〜午前2時に取りかかったユーザのファイルのタイプ等のメタデータを特定する。特定されたコンテクスト情報及び発話入力1152に基づいて、デジタルアシスタントは、ユーザ意図が、ファイルが昨日のおおよそ午後6時〜午前0時に編集されたことを示すメタデータと関連付けられたKeynoteプレゼンテーションファイルを検索すること、及びプレゼンテーションファイルを開く処理(例えば、Keynote処理)をインスタンス化することを含むと判定する。
[0251]
いくつかの実施例では、コンテクスト情報は、アプリケーション名又は識別子(ID)を含む。例えば、ユーザの発話入力は、「Keynoteプレゼンテーションを開いてください。(Open the Keynote presentation.)」、「マイページのドキュメントを探してください。(find my Pages document.)」、又は「HotNewAppドキュメントを探してください。(find my HotNewApp documents.)」を提供する。コンテクスト情報は、アプリケーション名(例えば、Keynote、Pages、HotNewApp)又はアプリケーションIDを含む。いくつかの実施例では、コンテクスト情報は、動的に更新又は同期される。例えば、コンテクスト情報は、ユーザがHotNewAppと命名される新たなアプリケーションをインストールした後にリアルタイムで更新される。いくつかの実施例では、デジタルアシスタントは、動的に更新されたコンテクスト情報を特定し、ユーザ意図を判定する。例えば、デジタルアシスタントは、アプリケーション名Keynote、Pages、HotNewApp、又はそれらのIDを特定し、アプリケーション名/ID及び発話入力に従ってユーザ意図を判定する。
[0252]
ユーザ意図に従って、デジタルアシスタントは更に、ユーザ意図が検索処理又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する。説明されるように、デジタルアシスタントは、発話入力に含まれる1つ以上のキーワードに基づいて、タスクが検索処理を必要とするかに基づいて、所定の構成に基づいて、及び/又はユーザの選択に基づいてそのような判定を行う。図11Aに示されるように、発話入力1152は、ユーザ意図が検索処理又はオブジェクト管理処理を使用することであるかを示すキーワードを含まない。結果として、デジタルアシスタントは、例えば、所定の構成に基づいて、ユーザ意図がオブジェクト管理処理を使用することであると判定する。その判定に従って、デジタルアシスタントは、ファイルが昨日のおおよそ午後6時〜午前0時に編集されたことを示すメタデータと関連付けられたKeynoteプレゼンテーションファイルを検索するオブジェクト管理処理をインスタンス化する。いくつかの実施形態では、デジタルアシスタントは更に、「OK、昨夜あなたが作成したKeynoteプレゼンテーションを検索してください。(OK, looking for the Keynote presentation you created last night.)」等の発話出力1172を提供する。
[0253]
いくつかの実施形態では、コンテクスト情報は、タスクを実行する際に使用される。例えば、アプリケーション名及び/又はIDは、アプリケーション名/IDと関連付けられたアプリケーション及び/又はオブジェクト(例えば、ファイル)を検索するためのクエリを形成するために使用されてもよい。いくつかの実施例では、サーバ(例えば、サーバ108)は、アプリケーション名(例えば、Keynote、Pages、HotNewApp)及び/又はIDを使用してクエリを形成し、クエリをユーザデバイスのデジタルアシスタントに送信する。クエリに基づいて、デジタルアシスタントは、1つ以上のアプリケーション及び/又はオブジェクトを検索する検索処理又はオブジェクト管理処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、アプリケーション名/IDに対応するオブジェクト(例えば、ファイル)のみを検索する。例えば、クエリがアプリケーション名「Pages」を含む場合、デジタルアシスタントは、Pagesファイルのみを検索し、Pagesアプリケーションによって開くことができる他のファイル(例えば、単語ファイル)を検索しない。いくつかの実施例では、デジタルアシスタントは、クエリにおいてアプリケーション名/IDと関連付けられた全てのオブジェクトを検索する。
[0254]
図11B及び11Cを参照して、いくつかの実施形態では、デジタルアシスタントは、タスクを実行した結果と関連付けられた信用レベルに従って、1つ以上の応答を提供する。ユーザ意図の判定、ユーザ意図が検索処理若しくはオブジェクト管理処理を使用してタスクを実行することであるかの判定、及び/又はタスクの実行の間、不正確さが存在し、又は起こることがある。いくつかの実施例では、デジタルアシスタントは、発話入力及びコンテクスト情報に基づいてユーザ意図を判定する精度、ユーザ意図が検索処理を使用して若しくはオブジェクト管理処理を使用してタスクを実行することであるかを判定する精度、検索処理若しくはオブジェクト管理処理を使用してタスクを実行する精度、又はそれらの組み合わせを表す信用レベルを判定する。
[0255]
図11Aに示される上記実施例を続けて、「昨夜作成したKeynoteプレゼンテーションを開いてください。(Open the Keynote presentation I created last night.)」等の発話入力1152に基づいて、デジタルアシスタントは、ファイルが昨日のおおよそ午後6時〜午前0時に編集されたことを示すメタデータと関連付けられたKeynoteプレゼンテーションファイルの検索を実行するオブジェクト管理処理をインスタンス化する。検索結果は、検索基準に完全に一致する単一のファイルを含んでもよい。すなわち、単一のファイルは、昨日のおおよそ午後6時〜午前0時に編集されたプレゼンテーションファイルである。従って、デジタルアシスタントは、検索の精度が高いと判定し、よって、信用レベルが高いと判定する。別の実施例として、検索結果は、検索基準に部分的に一致する複数のファイルを含んでもよい。例えば、昨日のおおよそ午後6時〜午前0時に編集されたプレゼンテーションファイルであるファイルがなく、又は複数のファイルは、昨日のおおよそ午後6時〜午前0時に編集されたプレゼンテーションファイルである。従って、デジタルアシスタントは、検索の精度が中間又は低いと判定し、よって、信用レベルが中間又は低いと判定する。
[0256]
図11B及び11Cに示されるように、デジタルアシスタントは、信用レベルの判定に従って応答を提供する。いくつかの実施例では、デジタルアシスタントは、信用レベルが閾値信用レベル以上であるか否かを判定する。信用レベルが閾値信用レベル以上であるとの判定に従って、デジタルアシスタントは、第1の応答を提供する。信用レベルが閾値信用レベル未満であるとの判定に従って、デジタルアシスタントは、第2の応答を提供する。いくつかの実施例では、第2の応答は第1の応答とは異なる。図11Bに示されるように、信用レベルが閾値信用レベル以上であるとデジタルアシスタントが判定する場合、デジタルアシスタントは、ファイルを参照及び編集することを可能にする処理(例えば、ユーザインタフェース1142によって表されるKeynote処理)をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、「昨夜あなたが作成したプレゼンテーションがここにあります。(Here is the presentation you created last night.)」等の発話出力を提供し、ユーザインタフェース1143において発話出力のテキストを表示する。図11Cに示されるように、信用レベルが閾値信用レベル未満であるとデジタルアシスタントが判定する場合、デジタルアシスタントは、候補ファイルのリストを提供するユーザインタフェース1122(例えば、スニペット又はウィンドウ)を表示する。候補ファイルの各々は、検索基準を部分的に満たすことができる。いくつかの実施形態では、信用レベルは、ユーザ優先度又は履歴的精度レーティング等に基づいて、予め定められてもよく、及び/又は動的に更新されてもよい。いくつかの実施例では、デジタルアシスタントは更に、「昨夜作成した全てのプレゼンテーションがここにあります。」等の発話出力1174を提供し、ユーザインタフェース1122上で発話出力1174に対応するテキストを表示する。
[0257]
図11Dを参照して、いくつかの実施形態では、デジタルアシスタントは、追加のタスクを実行する処理(例えば、Keynoteプレゼンテーション処理)をインスタンス化する。上記実施例を続けると、図11B及び11Dに示されるように、ユーザは、フルスクリーンモードでプレゼンテーションファイルを表示することを望むことがある。デジタルアシスタントは、ユーザから、「それをフルスクリーンにしてください。(Make it full screen.)」等の発話入力1154を受信する。発話入力1154及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図がフルスクリーンモードでプレゼンテーションファイルを表示することであると判定する。ユーザ意図に従って、デジタルアシスタントは、Keynoteプレゼンテーション処理にフルスクリーンモードでスライドを表示させる。いくつかの実施例では、デジタルアシスタントは、「OK、フルスクリーンであなたのプレゼンテーションを表示します。(OK, showing your presentation in full screen.)」等の発話出力1176を提供する。
[0258]
図12A〜12Cを参照して、いくつかの実施形態では、デジタルアシスタントは、単一の発話入力又は発言に基づいて、ユーザ意図が複数のタスクを実行することであると判定する。ユーザ意図に従って、デジタルアシスタントは更に、複数のタスクを実行する1つ以上の処理をインスタンス化する。例えば、図12Aに示されるように、アフォーダンス1240又は1241によって表されるデジタルアシスタントは、「コロラド旅行からの全て写真を見せ、私の母に送信してください。(Show me all the photos from my Colorado trip, and send them to my mom.)」等の単一の発話入力1252を受信する。発話入力1252及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が第1のタスク及び第2のタスクを実行することであると判定する。上記説明されたものと同様に、第1のタスクは、フォルダ名「コロラド旅行」を有するフォルダに記憶された写真を表示すること、又はユーザがコロラド内で旅行している期間の間に撮られた写真を表示することである。第2のタスクに関して、コンテクスト情報は、ユーザの連絡先に記憶された特定の電子メールアドレスがユーザの母としてタグ付けされることを示してもよい。従って、第2のタスクは、コロラド旅行と関連付けられた写真を含む電子メールを特定の電子メールアドレスに送信することである。
[0259]
いくつかの実施例では、デジタルアシスタントは、各々のタスクに関して、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する。実施例として、デジタルアシスタントは、第1のタスクが検索することと関連付けられ、ユーザ意図がオブジェクト管理処理を使用して第1のタスクを実行することであると判定する。図12Bに示されるように、ユーザ意図がオブジェクト管理処理を使用して第1のタスクを実行することであるとの判定に従って、デジタルアシスタントは、ユーザのコロラド旅行と関連付けられた写真を検索するオブジェクト管理処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、検索結果(例えば、写真1、2、及び3)を含むフォルダを提供するユーザインタフェース1232(例えば、スニペット又はウィンドウ)を表示する。別の実施例として、デジタルアシスタントは、第1のタスクが検索することと関連付けられ、ユーザ意図が検索処理を使用して第1のタスクを実行することであると判定する。図12Cに示されるように、ユーザ意図が検索処理を使用して第1のタスクを実行することであるとの判定に従って、デジタルアシスタントは、ユーザのコロラド旅行と関連付けられた写真を検索する検索処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、検索結果(例えば、写真1、2、及び3)と関連付けられた写真及び/又はリンクを提供するユーザインタフェース1234(例えば、スニペット又はウィンドウ)を表示する。
[0260]
別の実施例として、デジタルアシスタントは、第2のタスク(例えば、コロラド旅行と関連付けられた写真を含む電子メールを特定の電子メールアドレスに送信すること)が検索することと関連付けられておらず、又はオブジェクトを管理することと関連付けられていると判定する。その判定に従って、デジタルアシスタントは、ユーザデバイスに利用可能な処理を使用してタスクを実行することができると判定する。例えば、デジタルアシスタントは、ユーザデバイスにおいて、電子メール処理を使用して第2のタスクを実行することができると判定する。その判定に従って、デジタルアシスタントは、第2のタスクを実行する処理をインスタンス化する。図12B及び12Cに示されるように、デジタルアシスタントは、電子メール処理をインスタンス化し、電子メール処理と関連付けられたユーザインタフェース1242及び1244を表示する。電子メール処理は、ユーザのコロラド旅行と関連付けられた写真を電子メールメッセージに添付する。図12B及び12Cに示されるように、いくつかの実施形態では、デジタルアシスタントは更に、「あなたのコロラド旅行からの写真がここにあります。写真をあなたの母に送信する準備ができています。進めていいですか?(Here are the photos from your Colorado trip. I am ready to send the photos to your mom, proceed?)」等の発話出力1272及び1274を提供する。いくつかの実施例では、デジタルアシスタントは、ユーザインタフェース1244上で発話出力1274に対応するテキストを表示する。発話出力1272及び1274に応じて、ユーザは、「OK」等の発話入力を提供する。発話入力をユーザから受信すると、デジタルアシスタントは、電子メール処理に電子メールメッセージを送出させる。
[0261]
例えば、関連する出願、2014年5月30日に出願された「MULTI−COMMAND SINGLE UTTERANCE INPUT METHOD」と題する米国仮特許出願第62/005,556号及び2015年3月8日に出願された「MULTI−COMMAND SINGLE UTTERANCE INPUT METHOD」と題する米国仮特許出願第62/129,851号の優先権の利益を主張する、2015年5月28日に出願された「MULTI−COMMAND SINGLE UTTERANCE INPUT METHOD」と題する米国特許出願第14/724,623号において、単一の発話入力又は発言内に含まれる複数のコマンドに基づいて複数のタスクを実行する技術を発見することができる。それらの出願の各々は、全体を参照することによって以下に組み込まれる。
[0262]
図12C及び12Dに示されるように、いくつかの実施例では、デジタルアシスタントは、処理に、ユーザの追加の発話入力に基づいて追加のタスクを実行させる。例えば、ユーザインタフェース1234に表示された検索結果を考慮して、ユーザは、写真の全てではなくいくつかを送信することを望むことがある。ユーザは、「写真1及び写真2のみを送信してください。(Send only Photo 1 and Photo 2.)」等の発話入力1254を提供する。いくつかの実施例では、デジタルアシスタントは、ユーザがアフォーダンス1235(例えば、ユーザインタフェース1234上で表示されたマイクロフォンのアイコン)を選択した後に発話入力1254を受信する。デジタルアシスタントは、発話入力1254及びコンテクスト情報に基づいて、ユーザ意図が写真1及び写真2のみを添付する電子メールを送信することであると判定する。ユーザ意図に従って、デジタルアシスタントは、電子メール処理に、写真3を電子メールメッセージから除去させる。いくつかの実施例では、デジタルアシスタントは、「OK、写真1及び写真2をあなたの電子メールに添付します。(OK, attaching Photo 1 and Photo 2 to your email.)」等の発話出力1276を提供し、ユーザインタフェース1234上で発話出力1276に対応するテキストを表示する。
[0263]
図13Aを参照して、いくつかの実施形態では、タスクが検索することと関連付けられていないとの判定に従って、デジタルアシスタントは、タスクが少なくとも1つのオブジェクトを管理することと関連付けられているか否かを判定する。図13Aに示されるように、例えば、デジタルアシスタントは、「プロジェクトと呼ばれる新たなフォルダをデスクトップ上で作成してください。(Create a new folder on the desktop called Projects.)」等の発話入力1352を受信する。発話入力1352及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図がフォルダ名「プロジェクト」を有する新たなフォルダをデスクトップにおいて生成することであると判定する。デジタルアシスタントは更に、オブジェクト(例えば、フォルダ)を管理することと関連付けられる代わりに、ユーザ意図が検索することと関連付けられていないと判定する。従って、デジタルアシスタントは、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであると判定する。
[0264]
いくつかの実施例では、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、デジタルアシスタントは、オブジェクト管理処理を使用してタスクを実行する。オブジェクト管理処理を使用してタスクを実行することは、例えば、少なくとも1つのオブジェクトを作成すること(例えば、フォルダ又はファイルを作成すること)、少なくとも1つのオブジェクトを記憶すること(例えば、フォルダ、ファイル、又は通信を記憶すること)、並びに少なくとも1つのオブジェクトを圧縮すること(例えば、フォルダ及びファイルを圧縮することを含むことができる。オブジェクト管理処理を使用してタスクを実行することは更に、例えば、少なくとも1つのオブジェクトを第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に複製又は移動することを含むことができる。例えば、デジタルアシスタントは、ファイルをユーザデバイスからフラッシュドライブ又はクラウドドライブにカットアンドペーストするオブジェクト管理処理をインスタンス化する。
[0265]
オブジェクト管理処理を使用してタスクを実行することは更に、例えば、物理若しくは仮想記憶装置に記憶された少なくとも1つのオブジェクトを削除すること(例えば、フォルダ若しくはファイル削除すること)、及び/又は物理若しくは仮想記憶装置に記憶された少なくとも1つのオブジェクトを復元すること(例えば、削除されたフォルダ若しくは削除されたファイルを復元すること)を含むことができる。オブジェクト管理処理を使用してタスクを実行することは更に、例えば、少なくとも1つのオブジェクトをマーク付けすることを含むことができる。いくつかの実施例では、オブジェクトをマーク付けすることは、可視的又は可視的でなくてもよい。例えば、デジタルアシスタントは、オブジェクト管理処理に、ソーシャルメディアの投稿のための「like」サインを生成させ、電子メールをタグ付けさせ、又はファイルをマーク付けさせること等ができる。マーク付けすることは、例えば、フラグ又はサイン等を表示することによって可視的であってもよい。マーク付けすることはまた、メタデータの記憶(例えば、メモリ)内容が変わるようにオブジェクトのメタデータに関して実行されてもよい。メタデータは、可視的であってもよく、又はそうでなくてもよい。
[0266]
オブジェクト管理処理を使用してタスクを実行することは更に、例えば、バックアップための所定の期間に従って、又はユーザの要求があると少なくとも1つのオブジェクトをバックアップすることを含むことができる。例えば、デジタルアシスタントは、オブジェクト管理処理に、フォルダ及びファイルをバックアップするバックアッププログラム(例えば、タイムマシンプログラム)をインスタンス化させることができる。バックアップは、所定のスケジュール(例えば、1日、1週間、若しくは1カ月に1回等)、又はユーザ要求に従って自動的に実行されてもよい。
[0267]
オブジェクト管理処理を使用してタスクを実行することは更に、例えば、少なくとも1つのオブジェクトをユーザデバイスに通信可能に接続された1つ以上の電子デバイスの間で共有することを含むことができる。例えば、デジタルアシスタントは、オブジェクト管理処理に、ユーザデバイスに記憶された写真を別の電子デバイス(例えば、ユーザのスマートフォン又はタブレット)と共有させることができる。
[0268]
図13Bに示されるように、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、デジタルアシスタントは、オブジェクト管理処理を使用してタスクを実行する。例えば、デジタルアシスタントは、ユーザインタフェース1310のデスクトップ上で「プロジェクト」と命名されたフォルダを生成するオブジェクト管理処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは、オブジェクト管理処理に、自動的に又は追加のユーザ入力に応じてのいずれかでフォルダを更に開かせることができる。例えば、デジタルアシスタントは、「OK、プロジェクトと呼ばれるフォルダをデスクトップ上で作成しました。それを開けますか?(OK, I’ ve created a folder on the desktop called Projects, would you like to open it?)」等の発話出力1372を提供する。ユーザは、「Yes」等の発話入力1374を提供する。ユーザの発話入力1374に応じて、デジタルアシスタントは、オブジェクト管理処理に、プロジェクトフォルダを開かせ、プロジェクトフォルダに対応するユーザインタフェース1332を表示させる。
[0269]
図13Cを参照して、いくつかの実施形態では、デジタルアシスタントは、ユーザが検索処理又はオブジェクト管理処理を使用してタスクを実行した結果を操作することを可能にする1つ以上のアフォーダンスを提供する。1つ以上のアフォーダンスは、例えば、編集ボタン、中止ボタン、再実行ボタン、又は取消ボタン等を含む。例えば、図13Cに示されるように、デスクトップ上での「プロジェクト」と命名されたフォルダを生成した後、デジタルアシスタントは、編集ボタン1336A、取消ボタン1336B、及び再実行ボタン1336Cを表示するユーザインタフェース1334を提供する。いくつかの実施例では、編集ボタン1336Aによって、ユーザは、オブジェクトの1つ以上の態様を編集することが可能になり(例えば、プロジェクトフォルダの名前を編集する)、取消ボタン1336Bによって、ユーザは、オブジェクト管理処理によって実行された最後のタスクを元に戻すことが可能になり(例えば、プロジェクトフォルダを削除する)、再実行ボタン1336Cによって、ユーザは、オブジェクト管理処理によって実行された最後のタスクを復元することが可能になる(例えば、オブジェクト管理処理を使用して別のフォルダを作成する)。デジタルアシスタントは、ユーザが検索処理又はオブジェクト管理処理を使用してタスクを実行した結果のいずれかの操作を実行することを可能にするいずれかの所望のアフォーダンスを提供することができることを認識されよう。
[0270]
説明されるように、デジタルアシスタントは、ユーザ意図が検索処理又はオブジェクト管理処理を使用してタスクを実行することであるかを判定することができる。いくつかの実施例では、デジタルアシスタントは、ユーザ意図が検索処理又はオブジェクト管理処理と関連付けられていないと判定する。例えば、ユーザは、「聞き取りを開始してください。(start dictation.)」等の発話入力を提供する。デジタルアシスタントは、聞き取りのタスクが検索することと関連付けられていないと判定する。いくつかの実施例では、タスクが検索することと関連付けられていないとの判定に従って、デジタルアシスタントは更に、タスクが少なくとも1つのオブジェクトを管理することと管理付けられているか否かを判定する。例えば、デジタルアシスタントは、聞き取りのタスクがまた、ファイル、フォルダ、又は電子メールを複製、移動、又は削除すること等、オブジェクトを管理することと関連付けられていないと判定する。いくつかの実施例では、タスクがオブジェクトを管理することと関連付けられていないとの判定に従って、デジタルアシスタントは、ユーザデバイスに利用可能な処理を使用してタスクを実行することができるか否かを判定する。例えば、デジタルアシスタントは、ユーザデバイスに利用可能な聞き取り処理を使用して聞き取りのタスクを実行することができると判定する。いくつかの実施例では、デジタルアシスタントは、ユーザデバイスに利用可能な処理を使用してタスクを実行することに関して、ユーザとのダイアログを開始する。例えば、デジタルアシスタントは、「OK、聞き取りを開始します。(OK, starting dictation.)」又は「現在行っているこのプレゼンテーションにおいて聞き取りをしますか?(Would you like to dictate in this presentation you are working now?)」等の発話出力を提供する。発話出力を提供した後、デジタルアシスタントは、例えば、ユーザ意図が、ユーザが現在行っているプレゼンテーションにおいて聞き取りをすることであることを確認する応答をユーザから受信する。
5.デジタルアシスタントの例示的な機能−連続性
[0271]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eは、デジタルアシスタントによってリモートに位置するコンテンツを使用してユーザデバイス又は第1の電子デバイスにおいてタスクを実行する機能性を示す。いくつかの実施例では、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)は、様々な実施例に従って、ユーザデバイス(例えば、デバイス1400、1500、1600、及び1700)によって実装される。いくつかの実施例では、ユーザデバイス、サーバ(例えば、108)、又はそれらの組み合わせは、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)を実装してもよい。ユーザデバイスは、例えば、デバイス104、200、又は400を使用して実装されてもよい。いくつかの実施例では、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、又はタブレットコンピュータとすることができる。ユーザデバイスは、デスクトップ環境等のマルチタスキング環境で動作する。
[0272]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eを参照して、いくつかの実施例では、ユーザデバイス(例えば、デバイス1400、1500、1600、及び1700)は、様々なユーザインタフェース(例えば、ユーザインタフェース1410、1510、1610、及び1710)を提供する。上記説明されたものと同様に、ユーザデバイスは、ディスプレイ上で様々なユーザインタフェースを表示し、様々なユーザインタフェースによって、ユーザは、1つ以上の処理(例えば、映画処理、写真処理、ウェブブラウジングの処理)をインスタンス化することが可能になる。
[0273]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eに示されるように、上記説明されたものと同様に、ユーザデバイス(例えば、デバイス1400、1500、1600、及び1700)は、ユーザインタフェース(例えば、ユーザインタフェース1410、1510、1610、及び1710)上で、デジタルアシスタントサービスをインスタンス化するアフォーダンス(例えば、アフォーダンス1440、1540、1640、及び1740)を表示する。上記説明されたものと同様に、いくつかの実施例では、デジタルアシスタントは、所定のフレーズを受信したことに応じてインスタンス化される。いくつかの実施例では、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じてインスタンス化される。
[0274]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eを参照して、いくつかの実施形態では、デジタルアシスタントは、発話入力1452、1454、1456、1458、1552、1554、1556、1652、1654、1656、1752、及び1756等の1つ以上の発話入力をユーザから受信する。ユーザは、例えば、ユーザデバイス(例えば、デバイス1400、1500、1600、及び1700)又は第1の電子デバイス(例えば、電子デバイス1420、1520、1530、1522、1532、1620、1622、1630、1720、及び1730)においてタスクを実行する目的で、リモートに位置するコンテンツを使用して、様々な発話入力を提供してもよい。上記説明されたものと同様に、いくつかの実施例では、デジタルアシスタントはユーザデバイスにおいて、ユーザから直接、又はユーザデバイスに通信可能に接続された別の電子デバイスを通じて間接的に発話入力を受信することができる。
[0275]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eを参照して、いくつかの実施形態では、デジタルアシスタントは、ユーザデバイスと関連付けられたコンテクスト情報を特定する。コンテクスト情報は、例えば、ユーザ特有データ、センサデータ、及びユーザデバイス構成データを含む。いくつかの実施例では、ユーザ特有データは、ユーザ優先度、並びにユーザデバイス(例えば、デバイス1400、1500、1600、及び1700)及び/又はユーザデバイスに通信可能に接続された電子デバイスとのユーザの対話の履歴等を示すログ情報を含む。例えば、ユーザ特有データは、ユーザが電子デバイス1420(例えば、スマートフォン)を使用して自画像写真を直近で撮ったこと、ユーザがポッドキャスト、ウェブキャスト、映画、音楽、又は音声ブック等に直近でアクセスしたことを示す。いくつかの実施例では、センサデータは、ユーザデバイス又は他の電子デバイスと関連付けられたセンサによって収集された様々なデータを含む。例えば、センサデータは、いずれかの時点において、又はいずれかの期間の間にユーザデバイス又はユーザデバイスに通信可能に接続された電子デバイスの物理位置を示すGPS位置データを含む。例えば、センサデータは、電子デバイス1420に記憶された写真がハワイで撮られたことを示す。いくつかの実施例では、ユーザデバイス構成データは、現在又は履歴的なデバイス構成を含む。例えば、ユーザデバイス構成データは、ユーザデバイスが現在いくつかの電子デバイスに通信可能に接続されているが、他の電子デバイスからは切断されていることを示す。電子デバイスは、例えば、スマートフォン、セットトップボックス、タブレット等を含む。以下で更に詳細に説明されるように、コンテクスト情報は、ユーザ意図を判定する際、及び/又は1つ以上のタスクを実行する際に使用されてもよい。
[0276]
図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eを参照して、上記説明されたものと同様に、発話入力を受信したことに応じて、デジタルアシスタントは、発話入力に基づいてユーザ意図を判定する。デジタルアシスタントは、自然言語処理の結果に基づいてユーザ意図を判定する。例えば、デジタルアシスタントは、ユーザ入力に基づいて実施可能な意図を特定し、特定された実施可能な意図を表すために構造化されたクエリを生成する。構造化されたクエリは、実施可能な意図と関連付けられた1つ以上のパラメータを含む。1つ以上のパラメータは、実施可能な意図に基づいてタスクの実行を促進するために使用されてもよい。例えば、「ちょうど撮った自分撮りを見せてください。(show the selfie I just took.)」等の発話入力に基づいて、デジタルアシスタントは、実施可能な意図が写真を表示することであると判定し、パラメータは、ユーザが数日後の間に直近で撮った自画像を含む。いくつかの実施形態では、デジタルアシスタントは更に、発話入力及びコンテクスト情報に基づいてユーザ意図を判定する。例えば、コンテクスト情報は、ユーザデバイスがBluetooth接続を使用してユーザの電話に通信可能に接続されていることを示し、自画像写真が2日前にユーザの写真に追加されたことを示す。結果として、デジタルアシスタントは、ユーザ意図が2日前にユーザの写真に追加された自画像である写真を表示することであると判定する。発話入力及びコンテクスト情報に基づいてユーザ意図を判定することは、様々な実施例において以下で更に詳細に説明される。
[0277]
いくつかの実施形態では、ユーザ意図に従って、デジタルアシスタントは更に、タスクがユーザデバイスにおいて実行されるか、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいて実行されるかを判定する。判定の様々な実施例は、図14A〜14D、15A〜15D、16A〜16C、及び17A〜17Eに関して以下で更に詳細に提供される。
[0278]
図14Aを参照して、いくつかの実施例では、ユーザデバイス1400は、デジタルアシスタントを呼び出す発話入力1452をユーザから受信する。図14Aに示されるように、いくつかの実施例では、デジタルアシスタントは、ユーザインタフェース1410上で表示されたアフォーダンス1440又は1441によって表される。発話入力1452は、例えば、「はい、アシスタント。」を含む。発話入力1452に応じて、ユーザデバイス1400は、デジタルアシスタントが後続の発話入力をアクティブに監視するようにデジタルアシスタントを呼び出す。いくつかの実施例では、デジタルアシスタントは、それが呼び出されることを示す発話出力1472を提供する。例えば、発話出力1472は、「どうぞ、聞いていますよ。(Go ahead, I am listening.)」を含む。図14Aに示されるように、いくつかの実施例では、ユーザデバイス1400は、電子デバイス1420等の1つ以上の電子デバイスに通信可能に接続される。電子デバイス1420は、有線又は無線ネットワークを使用してユーザデバイス1400と通信することができる。例えば、電子デバイス1420は、音声及びデータ(例えば、音声及びビデオファイル)を2つのデバイスの間で交換することができるように、Bluetooth接続を使用してユーザデバイス1400と通信する。
[0279]
図14Bを参照して、いくつかの実施例では、デジタルアシスタントは、「このデバイス上で電話機を使用してちょうど撮った自撮りを見せてください。(Show me the selfie I just took using my phone on this device.)」等の発話入力1454を受信する。発話入力1454及び/又はコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図を判定する。例えば、図14Bに示されるように、コンテクスト情報は、ユーザデバイス1400が有線又は無線ネットワーク(例えば、Bluetooth接続又はWi−Fi接続)を使用して電子デバイス1420に通信可能に接続されていることを示す。コンテクスト情報はまた、ユーザが名前「selfie0001」を有する電子デバイス1420に記憶された自画像を直近で撮ったことを示す。結果として、デジタルアシスタントは、ユーザ意図が電子デバイス1420に記憶されたselfie0001と命名された写真を表示することであると判定する。代わりに、写真は、ユーザの顔を含むものとして写真認識ソフトウェアでタグ付けされていることがあり、従って、特定されることがある。
[0280]
説明されるように、ユーザ意図に従って、デジタルアシスタントは更に、タスクがユーザデバイス、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいて実行されるかを判定する。いくつかの実施形態では、タスクがユーザデバイス又は第1の電子デバイスにおいて実行されるかを判定することは、発話入力に含まれる1つ以上のキーワードに基づいている。例えば、デジタルアシスタントは、発話入力1454が、タスクがユーザデバイス1400上で実行されることを示す、「このデバイス上で」等のキーワード又はフレーズを含むと判定する。結果として、デジタルアシスタントは、電子デバイス1420に記憶されたselfie0001と命名された写真を表示することが、ユーザデバイス1400において実行されることであると判定する。ユーザデバイス1400及び電子デバイス1420は異なるデバイスである。例えば、ユーザデバイス1400はラップトップコンピュータとすることができ、電子デバイス1420は電話とすることができる。
[0281]
いくつかの実施形態では、デジタルアシスタントは更に、タスクの実行と関連付けられたコンテンツがリモートに位置しているか否かを判定する。デジタルアシスタントが、どのデバイスがタスクを実行するかを判定する時、又はその時の近くで、タスクを実行するためのコンテンツの少なくとも一部がタスクを実行すると判定されたデバイスに記憶されていない場合、コンテンツがリモートに位置する。例えば、図14Bに示されるように、ユーザデバイス1400のデジタルアシスタントが、ユーザ意図がユーザデバイス1400においてselfie0001と命名された写真を表示することであると判定する時、又はその時のその近くで、selfie0001と命名された写真は、ユーザデバイス1400に記憶されず、代わりに、電子デバイス1420(例えば、スマートフォン)に記憶されている。従って、デジタルアシスタントは、写真がユーザデバイス1400に対してリモートに位置すると判定する。
[0282]
図14Bに示されるように、いくつかの実施形態では、タスクがユーザデバイスにおいて実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、ユーザデバイスのデジタルアシスタントは、タスクを実行するためのコンテンツを受信する。いくつかの実施例では、ユーザデバイス1400のデジタルアシスタントは、電子デバイス1420に記憶されたコンテンツの少なくとも一部を受信する。例えば、selfie0001と命名された写真を表示するために、ユーザデバイス1400のデジタルアシスタントは、selfie0001と命名された写真を取得する要求を電子デバイス1420に送信する。電子デバイス1420は、要求を受信し、それに応じて、selfie0001と命名された写真をユーザデバイス1400に送信する。ユーザデバイス1400のデジタルアシスタントは次いで、selfie0001と命名された写真を受信する。
[0283]
図14Bに示されるように、いくつかの実施形態では、リモートに位置するコンテンツを受信した後、デジタルアシスタントは、ユーザデバイスにおいて応答を提供する。いくつかの実施例では、応答を提供することは、受信されたコンテンツを使用してタスクを実行することを含む。例えば、ユーザデバイス1400のデジタルアシスタントは、selfie0001と命名された写真のビュー1443を提供するユーザインタフェース1442(例えば、スニペット又はウィンドウ)を表示する。ビュー1443は、selfie0001と命名された写真のプレビュー(例えば、サムネイル)、アイコン、又はフルビューとすることができる。
[0284]
いくつかの実施例では、応答を提供することは、ユーザデバイスにおいて実行されるタスクと関連付けられたリンクを提供することを含む。リンクによって、処理をインスタンス化することが可能になる。説明されるように、処理をインスタンス化することは、処理がまだ実行中でない場合に処理を呼び出すことを含む。処理の少なくとも1つのインスタンスが実行中である場合、処理をインスタンス化することは、処理の既存のインスタンスを実行すること、又は処理の新たなインスタンスを生成することを含む。図14Bに示されるように、ユーザインタフェース1442は、selfie0001と命名された写真のビュー1443と関連付けられたリンク1444を提供してもよい。リンク1444によって、例えば、写真の完全な表現を参照し、又は写真を編集する写真処理をインスタンス化することが可能になる。実施例として、リンク1444は、ビュー1443の側面上で表示される。別の実施例として、ビュー1443はそれ自体、ビュー1443の選択が写真処理をインスタンス化するように、リンク1444を含むことができ、又はそれを組み込むことができる。
[0285]
いくつかの実施形態では、応答を提供することは、ユーザがタスクの実行の結果を更に操作することを可能にする1つ以上のアフォーダンスを提供することを含む。図14Bに示されるように、いくつかの実施例では、デジタルアシスタントは、ユーザインタフェース1442(例えば、スニペット又はウィンドウ)上でアフォーダンス1445及び1446を提供する。アフォーダンス1445は、写真をアルバムに追加するためのボタンを含むことができ、アフォーダンス1446は、写真のビュー1443を中止するためのボタンを含むことができる。ユーザは、アフォーダンス1445及び1446のうちの一方又は両方を選択することができる。アフォーダンス1445の選択に応じて、例えば、写真処理は、ビュー1443と関連付けられた写真をアルバムに追加する。アフォーダンス1446の選択に応じて、例えば、写真処理は、ビュー1443をユーザインタフェース1442から除去する。
[0286]
いくつかの実施形態では、応答を提供することは、ユーザデバイスにおいて実行されるタスクに従って発話出力を提供することを含む。図14Bに示されるように、アフォーダンス1440又は1441によって表されるデジタルアシスタントは、「あなたの電話機からの最後の自撮りがここにあります。(Here is the last selfie from your phone.)」等の発話出力1474を提供する。
[0287]
図14Cを参照して、いくつかの実施例では、単一の発話入力/発言及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が複数のタスクを実行することであると判定する。図14Cに示されるように、デジタルアシスタントは、「このデバイス上で電話機を使用してちょうど撮った自撮りを見せ、それをウォールペーパとして設定してください。(Show me the selfie I just took using my phone on this device and set it as my wallpaper.)」等の発話入力1456を受信する。発話入力1456及びコンテクスト情報に基づいて、デジタルアシスタントは、ユーザ意図が電子デバイス1420に記憶されたselfie0001と命名された写真を表示する第1のタスクを実行することであると判定し、selfie0001と命名された写真をウォールペーパとして設定する第2のタスクを実行する。よって、単一の発話入力1456に基づいて、デジタルアシスタントは、ユーザ意図が複数のタスクを実行することであると判定する。
[0288]
いくつかの実施形態では、デジタルアシスタントは、複数のタスクがユーザデバイスにおいて実行されるか、又はユーザデバイスに通信可能に接続された電子デバイスにおいて実行されるかを判定する。例えば、発話入力1456に含まれるキーワード「このデバイス」を使用して、デジタルアシスタントは、複数のタスクがユーザデバイス1400において実行されると判定する。上記説明されたものと同様に、デジタルアシスタントは更に、少なくとも1つのタスクを実行するためのコンテンツがリモートに記憶されているか否かを判定する。例えば、デジタルアシスタントは、少なくとも第1のタスク(例えば、selfie0001と命名された写真を表示すること)を実行するためのコンテンツがリモートに記憶されていると判定する。いくつかの実施形態では、複数のタスクがユーザデバイスにおいて実行され、少なくとも1つのタスクを実行するためのコンテンツがリモートに記憶されているとの判定に従って、デジタルアシスタントは、コンテンツを別の電子デバイス(例えば、電子デバイス1420)から要求し、タスクを実行するためのコンテンツを受信し、ユーザデバイスにおいて応答を提供する。
[0289]
いくつかの実施形態では、応答を提供することは、複数のタスクを実行することを含む。例えば、図14Cに示されるように、応答を提供することは、selfie0001と命名された写真のビュー1449を表示する第1のタスクを実行すること、及びselfie0001と命名された写真をウォールペーパとして設定する第2のタスクを実行することを含む。いくつかの実施例では、デジタルアシスタントは、デスクトップ設定構成処理を使用して、ウォールペーパがselfi0001と命名された写真となるように自動的に構成する。いくつかの実施例では、デジタルアシスタントは、ユーザがselfie0001と命名され写真を使用してウォールペーパを手動で構成することを可能にする、デスクトップ設定1450へのリンクを提供する。例えば、ユーザは、マウス、スタイラス、又は指等の入力デバイスを使用することによって、デスクトップ設定1450へのリンクを選択することができる。デスクトップ設定1450へのリンクの選択を受信すると、デジタルアシスタントは、ユーザがselfie0001と命名された写真を選択し、それをユーザデバイス1400のウォールペーパとして設定することを可能にするデスクトップ設定構成処理を開始する。
[0290]
図14Cに示されるように、いくつかの実施例では、デジタルアシスタントは、ユーザとのダイアログを開始し、発話入力をユーザから受信したことに応じて、ウォールペーパの構成を促進する。例えば、デジタルアシスタントは、「あなたの電話機からの最後の自撮りがここにあります。ウォールペーパとして設定しますか?(Here is the last selfie from your phone. Set is as wallpaper?)」等の発話出力1476を提供する。ユーザは、「OK」等の発話入力を提供する。発話入力を受信すると、デジタルアシスタントは、ウォールペーパをselfie0001と命名された写真として構成するデスクトップ設定構成処理をインスタンス化する。
[0291]
説明されるように、いくつかの実施例では、デジタルアシスタントは、発話入力及びコンテクスト情報に基づいてユーザ意図を判定する。図14Dを参照して、いくつかの実施例では、発話入力は、ユーザ意図を判定する十分な情報を含まなくてもよい。例えば、発話入力は、タスクを実行するためのコンテンツの位置を示さなくてもよい。図14Dに示されるように、デジタルアシスタントは、「ちょうど撮った自撮りを見せてください。(Show me the selfie I just took.)」等の発話入力1458を受信する。発話入力1458は、どの写真が表示されるか、又は自撮りの位置が表示されるかを示す1つ以上のキーワードを含まない。結果として、ユーザ意図は、発話入力1458にのみ基づいて判定されなくてもよい。いくつかの実施例では、デジタルアシスタントは、発話入力1458及びコンテクスト情報に基づいてユーザ意図を判定する。例えば、コンテクスト情報に基づいて、デジタルアシスタントは、ユーザデバイス1400が電子デバイス1420に通信可能に接続されていると判定する。いくつかの実施例では、デジタルアシスタントは、ユーザがユーザデバイス1400及び電子デバイス1420において直近で撮った写真を検索する検索処理をインスタンス化する。検索結果に基づいて、デジタルアシスタントは、selfie0001と命名された写真が電子デバイス1420に記憶されていると判定する。従って、デジタルアシスタントは、ユーザ意図が電子デバイス1420に位置するselfie0001と命名された写真を表示することであると判定する。いくつかの実施例では、発話入力及びコンテクスト情報に基づいてユーザ意図を判定することができない場合、デジタルアシスタントは、ユーザ意図を明確化し、又は曖昧さをなくすためにユーザとのダイアログを開始する。
[0292]
図14Dに示されるように、いくつかの実施例では、発話入力は、タスクがユーザデバイス、又はユーザデバイスに通信可能に接続された電子デバイスにおいて実行されるかを示す1つ以上のキーワードを含まなくてもよい。例えば、発話入力1458は、自撮りを表示するタスクがユーザデバイス1400又は電子デバイス1420において実行されるかを示さない。いくつかの実施例では、デジタルアシスタントは、コンテクスト情報に基づいて、タスクがユーザデバイスにおいて又は電子デバイスにおいて実行されるかを判定する。実施例として、コンテクスト情報は、デジタルアシスタントが電子デバイス1420ではなくユーザデバイス1400において発話入力1458を受信することを示す。結果として、デジタルアシスタントは、自撮りを表示するタスクがユーザデバイス1400において実行されると判定する。別の実施例として、コンテクスト情報は、写真がユーザ優先度に従って電子デバイス1420上で表示されることを示す。結果として、デジタルアシスタントは、自撮りを表示するタスクが電子デバイス1420において実行されると判定する。デジタルアシスタントは、いずれかのコンテクスト情報に基づいて、タスクがユーザデバイスにおいて又は電子デバイスにおいて実行されるかを判定することができることを認識されよう。
[0293]
図15Aを参照して、いくつかの実施形態では、デジタルアシスタントは、タスクがユーザデバイス(例えば、ユーザデバイス1500)に通信可能に接続された電子デバイス(例えば、電子デバイス1520及び/又は1530)において実行されると判定し、コンテンツが電子デバイスに対してリモートに位置すると判定する。図15Aに示されるように、いくつかの実施例では、デジタルアシスタントは、「TV上でこの映画を再生してください。(Play this movie on my TV.)」等の発話入力1552を受信する。説明されるように、デジタルアシスタントは、発話入力1552及びコンテクスト情報に基づいてユーザ意図を判定することができる。例えば、コンテクスト情報は、ユーザインタフェース1542がABC.movと命名された映画を表示していることを示す。結果として、デジタルアシスタントは、ユーザ意図がABC.movと命名された映画を再生することであると判定する。
[0294]
ユーザ意図に従って、デジタルアシスタントは更に、タスクがユーザデバイスにおいて実行されるか、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいて実行されるかを判定する。いくつかの実施形態では、タスクがユーザデバイスにおいて又は第1の電子デバイスにおいて実行されるかを判定することは、発話入力に含まれる1つ以上のキーワードに基づいている。例えば、発話入力1552は、単語又はフレーズ「TV上で。」を含む。いくつかの実施例では、コンテクスト情報は、ユーザデバイス1500が、例えば、有線接続、Bluetooth接続、又はWi−Fi接続を使用して、セットトップボックス1520及び/又はTV1530に接続されることを示す。結果として、デジタルアシスタントは、ABC.movと命名された映画を再生するタスクがセットトップボックス1520及び/又はTV1530上で実行されると判定する。
[0295]
いくつかの実施形態では、デジタルアシスタントは更に、タスクの実行と関連付けられたコンテンツがリモートに位置しているか否かを判定する。説明されるように、どのデバイスがタスクを実行するかをデジタルアシスタントが判定する時、又はその時の近くで、タスクを実行するためのコンテンツの少なくとも一部がタスクを実行すると判定されたデバイスに記憶されていない場合、コンテンツはリモートに位置する。例えば、図15Aに示されるように、映画ABC.movがセットトップボックス1520及び/又はTV1530において再生されるとユーザデバイス1500のデジタルアシスタントが判定する時、又はその時の近くで、映画ABC.movの少なくとも一部がユーザデバイス1500(例えば、ラップトップコンピュータ)及び/又はサーバ(図示しない)に記憶され、セットトップボックス1520及び/又はTV1530に記憶されない。従って、デジタルアシスタントは、映画ABC.movがセットトップボックス1520及び/又はTV1530に対してリモートに位置すると判定する。
[0296]
図15Bを参照して、タスクが第1の電子デバイス(例えば、セットトップボックス1520及び/又はTV1530)において実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、ユーザデバイスのデジタルアシスタントは、タスクを実行するためにコンテンツを第1の電子デバイスに提供する。例えば、映画ABC.movをセットトップボックス1520及び/又はTV1530上で再生するために、ユーザデバイス1500のデジタルアシスタントは、映画ABC.movの少なくとも一部をセットトップボックス1520及び/又はTV1530に送信する。
[0297]
いくつかの実施例では、ユーザデバイスからコンテンツを提供する代わりに、ユーザデバイスのデジタルアシスタントは、タスクを実行するために、コンテンツの少なくとも一部を別の電子デバイス(例えば、サーバ)から第1の電子デバイスに提供させる。例えば、映画ABC.movは、ユーザデバイス1500ではなくサーバ(図示しない)に記憶されている。結果として、ユーザデバイス1500のデジタルアシスタントは、ABC.movと命名された映画の少なくとも一部をサーバからセットトップボックス1520及び/又はTV1530に送信させる。いくつかの実施例では、タスクを実行するためのコンテンツは、セットトップボックス1520に提供され、それは次いで、コンテンツをTV1530に送信する。いくつかの実施例では、タスクを実行するためのコンテンツは、TV1530に直接提供される。
[0298]
図15Bに示されるように、いくつかの実施例では、コンテンツが第1の電子デバイス(例えば、セットトップボックス1520及び/又はTV1530)に提供された後、ユーザデバイス1500のデジタルアシスタントは、ユーザデバイス1500において応答を提供する。いくつかの実施例では、応答を提供することは、コンテンツを使用してタスクをセットトップボックス1520及び/又はTV1530において実行させることを含む。例えば、ユーザデバイス1500のデジタルアシスタントは、映画ABC.movを再生するマルチメディア処理を開始する要求をセットトップボックス1520及び/又はTV1530に送信する。要求に応じて、セットトップボックス1520及び/又はTV1530は、映画ABC.movを再生するマルチメディア処理を開始する。
[0299]
いくつかの実施例では、第1の電子デバイス(例えば、セットトップボックス1520及び/又はTV1530)において実行されるタスクは、第1の電子デバイスに対してリモートに実行されたタスクの続きである。例えば、図15A及び15Bに示されるように、ユーザデバイス1500のデジタルアシスタントは、ユーザデバイス1500のマルチメディア処理に、ユーザデバイス1500において映画ABC.movの一部を再生させている。ユーザ意図が第1の電子デバイス(例えば、セットトップボックス1520及び/又はTV1530)において映画ABC.movを再生することであるとの判定に従って、ユーザデバイス1500のデジタルアシスタントは、第1の電子デバイスに、最初から再生を開始するのではなく、映画ABC.movの残りの再生することを続けさせる。結果として、ユーザデバイス1500のデジタルアシスタントによって、ユーザは、映画を連続して鑑賞することが可能になる。
[0300]
図15Bに示されるように、いくつかの実施形態では、応答を提供することは、ユーザがタスクの実行の結果を更に操作することを可能にする1つ以上のアフォーダンスを提供することを含む。図15Bに示されるように、いくつかの実施例では、デジタルアシスタントは、ユーザインタフェース1544(例えば、スニペット又はウィンドウ)上でアフォーダンス1547及び1548を提供する。アフォーダンス1547は、第1の電子デバイス(例えば、セットトップボックス1520及び/又はTV1530)上の映画ABC.movの再生を中止するためのボタンとすることができる。アフォーダンス1548は、第1の電子デバイス上で再生している映画ABC.movの再生の中断又は再開するためのボタンとすることができる。ユーザは、マウス、スタイラス、又は指等の入力デバイスを使用して、アフォーダンス1547又は1548を選択することができる。アフォーダンス1547の選択を受信すると、例えば、デジタルアシスタントは、第1の電子デバイス上の映画ABC.movの再生を停止させる。いくつかの実施例では、第1の電子デバイス上の再生を停止した後、デジタルアシスタントはまた、ユーザデバイス1500上の再生を再開させる。アフォーダンス1548の選択を受信すると、例えば、デジタルアシスタントは、第1の電子デバイス上の再生を中断又は再開させる。
[0301]
いくつかの実施形態では、応答を提供することは、第1の電子デバイスにおいて実行されるタスクに従って発話出力を提供することを含む。図15Bに示されるように、アフォーダンス1540又は1541によって表されるデジタルアシスタントは、「あなたの映画をTV上で再生します。(Playing your movie on TV.)」等の発話出力1572を提供する。
[0302]
説明されるように、タスクが第1の電子デバイスにおいて実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、デジタルアシスタントは、タスクを実行するためのコンテンツを第1の電子デバイスに提供する。図15Cを参照して、タスクを実行するためのコンテンツは、例えば、ドキュメント(例えば、ドキュメント1560)又は位置情報を含むことができる。例えば、ユーザデバイス1500のデジタルアシスタントは、「タブレット上でこのpdfを開いてください。(Open this pdf on my tablet.)」等の発話入力1556を受信する。デジタルアシスタントは、ユーザ意図がドキュメント1560を表示するタスクを実行することであると判定し、タスクがユーザデバイス1500に通信可能に接続されたタブレット1532において実行されると判定する。結果として、デジタルアシスタントは、表示されるドキュメント1560をタブレット1532に提供する。別の実施例として、ユーザデバイス1500のデジタルアシスタントは、「この位置を電話に送信してください。(Send this location to my phone.)」等の発話入力1554を受信する。デジタルアシスタントは、ユーザ意図が位置情報を使用してナビゲーションのタスクを実行することであると判定し、タスクがユーザデバイス1500に通信可能に接続された電話機1522(例えば、スマートフォン)において実行されると判定する。結果として、デジタルアシスタントは、ナビゲーションのタスクを実行するために、位置情報(例えば、1234メインストリート)を電話機1522に提供する。
[0303]
説明されるように、いくつかの実施例では、タスクを実行するためのコンテンツを第1の電子デバイスに提供した後、デジタルアシスタントは、ユーザデバイスにおいて応答を提供する。いくつかの実施形態では、応答を提供することは、タスクを第1の電子デバイスにおいて実行させることを含む。例えば、図15Dに示されるように、ユーザデバイス1500のデジタルアシスタントは、位置1234メインストリートにナビゲートするタスクを実行する要求を電話機1522に送信する。ユーザデバイス1500のデジタルアシスタントは更に、ドキュメント1560を表示するタスクを実行する要求をタブレット1532に送信する。いくつかの実施例では、ユーザデバイスにおいて応答を提供することは、第1の電子デバイスにおいて実行されるタスクに従って発話出力を提供することを含む。図15Dに示されるように、デジタルアシスタントは、「あなたのタブレット上でpdfを表示します。(Showing the pdf on your tablet.)」等の発話出力1574及び「あなたの電話機上で1234メインストリートにナビゲートします。(navigating to 1234 Main St on your phone.)」等の発話出力1576を提供する。
[0304]
説明されるように、いくつかの実施例では、発話入力は、タスクがユーザデバイス、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいて実行されるかを示す1つ以上のキーワードを含まなくてもよい。図16Aを参照して、例えば、デジタルアシスタントは、「この映画を再生してください。(Play this movie.)」等の発話入力1652を受信する。発話入力1652は、映画を再生するタスクがユーザデバイス1600又は第1の電子デバイス(例えば、セットトップボックス1620及び/若しくはTV1630、電話機1622、又はタブレット1632)において実行されるかを示さない。
[0305]
いくつかの実施形態では、タスクがユーザデバイスにおいて又は第1の電子デバイスにおいて実行されるかを判定するために、ユーザデバイスのデジタルアシスタントは、ユーザデバイスにおいてタスクを実行することが実行基準を満たすか否かを判定する。実行基準は、タスクの実行を評価することを促進する。例えば、図16Aに示されるように、デジタルアシスタントは、ユーザ意図が映画ABC.movを再生するタスクを実行することであると判定する。映画を再生するための実行基準は、例えば、映画を再生する品質基準(例えば、480p、720p、1080p)、映画を再生する円滑基準(例えば、遅延若しくは待ちがない)、スクリーンサイズ基準(例えば、48インチの最小スクリーンサイズ)、又は音響効果基準(例えば、ステレオサウンド、スピーカの数)等を含む。実行基準は、事前に構成されてもよく、及び/又は動的に更新されてもよい。いくつかの実施例では、実行基準は、ユーザ特有データ(例えば、ユーザ優先度)又はデバイス構成データ(例えば、スクリーンの解像度及び電子デバイスのサイズ)等のコンテクスト情報に基づいて判定される。
[0306]
いくつかの実施例では、ユーザデバイス1600のデジタルアシスタントは、ユーザデバイスにおいてタスクを実行することが実行基準を満たすと判定する。例えば、図16Aに示されるように、ユーザデバイス1600は、映画ABC.movを再生する実行基準を満たすスクリーン解像度、スクリーンサイズ、及び音響効果を有することができ、それは、低解像度のオンラインビデオとなることがある。ユーザデバイス1600においてタスクを実行することが実行基準を満たすとの判定に従って、デジタルアシスタントは、タスクがユーザデバイス1600において実行されると判定する。
[0307]
いくつかの実施例では、ユーザデバイス1600のデジタルアシスタントは、ユーザデバイスにおいてタスクを実行することが実行基準を満たさないと判定する。例えば、ユーザデバイス1600は、映画ABC.movを再生する実行基準を満たすためのスクリーンサイズ、解像度、及び/又は音響効果を有さなくてもよく、それは、高解像度のBlu−rayビデオとなることがある。いくつかの実施例では、ユーザデバイスにおいてタスクを実行することが実行基準を満たさないとの判定に従って、ユーザデバイス1600のデジタルアシスタントは、第1の電子デバイスにおいてタスクを実行することが実行基準を満たすかを判定する。図16Bに示されるように、ユーザデバイス1600のデジタルアシスタントは、セットトップボックス1620及び/又はTV1630において映画ABC.movを再生するタスクを実行することが実行基準を満たすと判定する。例えば、セットトップボックス1620及び/又はTV1630は、52インチのスクリーンサイズを有してもよく、1080pの解像度を有してもよく、8個の接続されたスピーカを有してもよい。結果として、デジタルアシスタントは、タスクがセットトップボックス1620及び/又はTV1630において実行されると判定する。
[0308]
いくつかの実施例では、ユーザデバイス1600のデジタルアシスタントは、第1の電子デバイスにおいてタスクを実行することが実行基準を満たさないと判定する。その判定に従って、デジタルアシスタントは、第2の電子デバイスにおいてタスクを実行することが実行基準を満たすかを判定する。例えば、図16Bに示されるように、TV1630は、実行基準(例えば、1080p)を満たさないスクリーン解像度(例えば、720p)を有してもよい。結果として、デジタルアシスタントは、電話機1622(例えば、スマートフォン)又はタブレット1632のいずれか1つが実行基準を満たすかを判定する。
[0309]
いくつかの実施例では、デジタルアシスタントは、どのデバイスがタスクの最適な実行を提供するかを判定する。例えば、図16Bに示されるように、デジタルアシスタントは、ユーザデバイス1600、セットトップボックス1620及びTV1630、電話機1622、並びにタブレット1632の各々の上で映画ABC.movを再生するタスクの実行を評価又は予測する。評価又は予測に基づいて、デジタルアシスタントは、1つのデバイス(例えば、ユーザデバイス1600)においてタスクを実行することが別のデバイス(例えば、電話機1622)においてよりも良好であるか否かを判定し、最適な実行のためのデバイスを判定する。
[0310]
説明されるように、いくつかの実施例では、タスクを実行するためのデバイスの判定に従って、デジタルアシスタントは、ユーザデバイス1600において応答を提供する。いくつかの実施形態では、応答を提供することは、デバイスにおいて実行されるタスクに従って発話出力を提供することを含む。図16Bに示されるように、アフォーダンス1640又は1641によって表されるデジタルアシスタントは、「あなたのTV上でこの映画を再生します。進めてもよいですか?(I will play this movie on your TV, proceed?)」等の発話出力1672を提供する。いくつかの実施例では、デジタルアシスタントは、「OK」等の発話入力1654をユーザから受信する。それに応じて、デジタルアシスタントは、例えば、セットトップボックス1620及びTV1630において映画ABC.movを再生させ、「あなたのTV上であなたの映画を再生しています。(Playing your movie on your TV.)」等の発話出力1674を提供する。
[0311]
いくつかの実施例では、応答を提供することは、ユーザがタスクの実行のための別の電子デバイスを選択することを可能にする1つ以上のアフォーダンスを提供することを含む。図16Bに示されるように、例えば、デジタルアシスタントは、アフォーダンス1655A〜B(例えば、中止ボタン及びタブレットボタン)を提供する。アフォーダンス1655Aによって、ユーザは、セットトップボックス1620及びTV1630において映画ABC.movを再生することを中止することが可能になる。アフォーダンス1655Bによって、ユーザは、映画ABC.movを再生することを続けるためにタブレット1632を選択することが可能になる。
[0312]
図16Cを参照して、いくつかの実施形態では、タスクを実行するためのデバイスを判定するために、ユーザデバイス1600のデジタルアシスタントは、ユーザとのダイアログを開始する。例えば、デジタルアシスタントは、「あなたの映画をTV又はタブレット上で再生しましょうか?(Should I play your movie on the TV or on the tablet?)」等の発話出力1676を提供する。ユーザは、「タブレット上で。(On my tablet.)」等の発話入力1656を提供する。発話入力1656を受信すると、デジタルアシスタントは、映画を再生するタスクがユーザデバイス1600に通信可能に接続されたタブレット1632において再生されると判定する。いくつかの実施例では、デジタルアシスタントは更に、「あなたのタブレット上であなたの映画を再生します。(Playing your movie on your tablet.)」等の発話出力1678を提供する。
[0313]
図17Aを参照して、いくつかの実施形態では、ユーザデバイス1700のデジタルアシスタントは、第1の電子デバイスにおいて部分的にリモートに実行されたタスクを実行することを続ける。いくつかの実施形態では、ユーザデバイスのデジタルアシスタントは、第3の電子デバイスから受信されたコンテンツを使用してタスクを実行することを続ける。図17Aに示されるように、いくつかの実施例では、電話機1720は、サーバ1730等の第3の電子デバイスからのコンテンツを使用して、フライト予約のタスクを実行していることがある。例えば、ユーザは、Kayak.comからフライトを予約するために電話機1720を使用していることがある。結果として、電話機1720は、Kayak.comと関連付けられた、サーバ1730から送信されたコンテンツを受信する。いくつかの実施例では、ユーザは、電話機1720でフライトを予約している間に中断されることがあり、ユーザデバイス1700を使用してフライト予約を継続することを望むことがある。いくつかの実施例では、ユーザは、単純にユーザデバイス1700を使用することがより便利であることを理由にフライト予約を継続することを望むことがある。従って、ユーザは、「電話機からKayak上でフライト予約を続けてください。(Continue the flight booking on Kayak from my phone.)」等の発話入力1752を提供することができる。
[0314]
図17Bを参照して、発話入力1752を受信すると、デジタルアシスタントは、ユーザ意図がフライト予約のタスクを実行することであると判定する。いくつかの実施例では、デジタルアシスタントは更に、コンテクスト情報に基づいて、タスクがユーザデバイス1700において実行されると判定する。例えば、デジタルアシスタントは、発話入力1752がユーザデバイス1700において受信されると判定し、従って、タスクがユーザデバイス1700において実行されると判定する。いくつかの実施例では、デジタルアシスタントは更に、タスクがユーザデバイス1700において受信されると判定するために、ユーザ優先度等のコンテクスト情報を使用する(例えば、ユーザデバイス1700は、フライト予約のために過去に頻繁に使用される)。
[0315]
図17Bに示されるように、タスクがユーザデバイス1700において実行され、タスクを実行するためのコンテンツがリモートに記憶されているとの判定に従って、デジタルアシスタントは、タスクを実行するためのコンテンツを受信する。いくつかの実施例では、デジタルアシスタントは、コンテンツの少なくとも一部を電話機1720(例えば、スマートフォン)から、及び/又はコンテンツの少なくとも一部をサーバ1730から受信する。例えば、デジタルアシスタントは、ユーザデバイス1700がフライト予約を続けることができるように、フライト予約の状況を表すデータを電話機1720から受信する。いくつかの実施例では、フライト予約の状況を表すデータは、Kayak.comと関連付けられたサーバ等のサーバ1730に記憶されている。よって、デジタルアシスタントは、フライト予約を続けるためのデータをサーバ1730から受信する。
[0316]
図17Bに示されるように、コンテンツを電話機1720及び/又はサーバ1730から受信した後、デジタルアシスタントは、ユーザデバイス1700において応答を提供する。いくつかの実施例では、応答を提供することは、電話機1720において部分的にリモートに実行されたフライト予約のタスクを実行することを続けることを含む。例えば、デジタルアシスタントは、ユーザがKayak.com上でフライトを予約することを続けることを可能にするユーザインタフェース1742を表示する。いくつかの実施例では、応答を提供することは、ユーザデバイス1700において実行されるタスクと関連付けられたリンクを提供することを含む。例えば、デジタルアシスタントは、フライト予約の現在の状況を提供する(例えば、利用可能なフライトを示す)ユーザインタフェース1742(例えば、スニペット又はウィンドウ)を表示する。ユーザインタフェース1742はまた、フライト予約のタスクを実行することを続けるためのリンク1744(例えば、ウェブブラウザへのリンク)を提供する。いくつかの実施形態では、デジタルアシスタントはまた、「Kayakの予約がここにあります。あなたのウェブブラウザで続けますか?(Here is the booking on Kayak. Continue in your web browser?)」等の発話出力1772を提供する。
[0317]
図17B及び17Cに示されるように、例えば、ユーザがリンク1744を選択する場合、デジタルアシスタントは、ウェブブラウジング処理をインスタンス化し、フライト予約タスクを続けるためのユーザインタフェース1746(例えば、スニペット又はウィンドウ)を表示する。いくつかの実施例では、発話出力1772に応じて、ユーザは、ユーザがユーザデバイス1700のウェブブラウザを使用してフライト予約を続けることを望むことを確認する「OK」等の発話入力1756を提供する。発話入力1756を受信すると、デジタルアシスタントは、ウェブブラウジング処理をインスタンス化し、フライト予約タスクを続けるためのユーザインタフェース1746(例えば、スニペット又はウィンドウ)を表示する。
[0318]
図17Dを参照して、いくつかの実施形態では、ユーザデバイス1700のデジタルアシスタントは、第1の電子デバイスにおいて部分的にリモートに実行されたタスクを実行することを続ける。いくつかの実施形態では、ユーザデバイスのデジタルアシスタントは、サーバ等の第3の電子デバイスではなく、第1の電子デバイスから受信されたコンテンツを使用してタスクを実行することを続ける。図17Dに示されるように、いくつかの実施例では、第1の電子デバイス(例えば、電話機1720又はタブレット1732)は、タスクを実行していることがある。例えば、ユーザは、電子メールを構成するために電話機1720を使用していることがある、又は写真等のドキュメントを編集するためにタブレット1732を使用していることがある。いくつかの実施例では、ユーザは、電話機1720若しくはタブレット1732を使用している間に中断され、及び/又はユーザデバイス1700を使用してタスクの実行を続けることを望む。いくつかの実施例では、ユーザは、単純にユーザデバイス1700(例えば、より大きなスクリーン)を使用することがより便利であることを理由に、タスクの実行を続けることを望むことがある。従って、ユーザは、「ちょうど編集していたドキュメントを開いてください。(Open the document I was just editing.)」等の発話入力1758、又はちょうど書いていた電子メールを開いてください。(Open the email I was just drafting.)」等の発話入力1759を提供することができる。
[0319]
図17Dを参照して、発話入力1758又は1759を受信すると、デジタルアシスタントは、ユーザ意図がドキュメントを編集し、又は電子メールを構成するタスクを実行することであると判定する。上記説明されたものと同様に、いくつかの実施例では、デジタルアシスタントは更に、コンテクスト情報に基づいてタスクがユーザデバイス1700において実行されると判定し、タスクを実行するためのコンテンツがリモートに位置すると判定する。上記説明されたのと同様に、いくつかの実施例では、デジタルアシスタントは、コンテクスト情報(例えば、ユーザ特有データ)に基づいて、コンテンツがサーバではなく第1の電子デバイス(例えば、電話機1720又はタブレット1732)に対してリモートに位置すると判定する。図17Dに示されるように、タスクがユーザデバイス1700において実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、デジタルアシスタントは、タスクを実行するためのコンテンツを受信する。いくつかの実施例では、デジタルアシスタントは、コンテンツの少なくとも一部を電話機1720(例えば、スマートフォン)から、及び/又はコンテンツの少なくとも一部をタブレット1730から受信する。コンテンツを電話機1720及び/又はタブレット1732から受信した後、デジタルアシスタントは、ユーザがドキュメントを編集することを続けるためにユーザインタフェース1748を表示し、及び/又はユーザが電子メールを構成することを続けるためにユーザインタフェース1749を表示する等、ユーザデバイス1700において応答を提供する。ユーザデバイス1700のデジタルアシスタントはまた、第1の電子デバイスに、ユーザデバイス1700において部分的にリモートに実行されたタスクを実行することを続けさせることができることを認識されよう。例えば、ユーザは、ユーザデバイス1700上で電子メールを構成していることがあり、そのままにする必要があることがある。ユーザは、「電話で書いていた電子メールを開いてください。(Open the email I was drafting on my phone.)」等の発話入力を提供する。発話入力に基づいて、デジタルアシスタントは、ユーザ意図が電話機1720上でタスクを実行することを続けることであり、コンテンツがユーザデバイス1700においてリモートに位置すると判定する。いくつかの実施例では、デジタルアシスタントは、上記説明されたものと同様に、タスクを実行するためのコンテンツを第1の電子デバイスに提供し、第1の電子デバイスにタスクを実行することを続けさせる。
[0320]
図17Eを参照して、いくつかの実施形態では、タスクを実行することを続けることは、例えば、ユーザデバイス1700及び第1の電子デバイス(例えば、電話機1720)を含む複数のデバイスの間で共有又は同期されたコンテクスト情報に基づいている。説明されるように、いくつかの実施例では、デジタルアシスタントは、ユーザ意図が発話入力及びコンテクスト情報に基づいていると判定する。コンテクスト情報は、ローカル又はリモートに記憶されていてもよい。例えば、図17Eに示されるように、ユーザは、「ニューヨークの天気はどうですか?(What is the weather like in New York?)」等の発話入力1760を電話機1720に提供する。電話機1720のデジタルアシスタントは、ユーザ意図を判定し、ニューヨークでの天気情報を取得するタスクを実行し、電話機1720のユーザインタフェース上でニューヨークの天気情報を表示する。ユーザは続いて、「ロサンゼルスはどうですか?(How about in Los Angeles?)」等の発話入力1761をユーザデバイス1700に提供する。いくつかの実施例では、ユーザデバイス1700のデジタルアシスタントは、直接又はサーバを通じてのいずれかで電話機1720に記憶され、及び/又は電話機1720によって共有されたコンテクスト情報を使用してユーザ意図を判定する。コンテクスト情報は、例えば、電話機1720と関連付けられた履歴的ユーザデータ、会話状態、システム状態等を含む。履歴的ユーザデータ及び会話状態の両方は、ユーザが天気情報について問い合わせていたことを示す。従って、ユーザデバイス1700のデジタルアシスタントは、ユーザ意図がロサンゼルスでの天気情報を取得することであると判定する。ユーザ意図に基づいて、ユーザデバイス1700のデジタルアシスタントは、天気情報を、例えば、サーバから受信し、ユーザデバイス1710上で天気情報を表示するユーザインタフェース1751を提供する。
6.デジタルアシスタントの例示的な機能−音声対応システム構成管理
[0321]
図18A〜18F及び19A〜19Dは、デジタルアシスタントによって、システム構成情報を提供し、ユーザ要求に応じてタスクを実行する機能性を示す。いくつかの実施例では、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)は、様々な実施例に従ってユーザデバイスによって実装されてもよい。いくつかの実施例では、ユーザデバイス、サーバ(例えば、サーバ108)、又はそれらの組み合わせは、デジタルアシスタントシステム(例えば、デジタルアシスタントシステム700)を実装してもよい。ユーザデバイスは、例えば、デバイス104、200、又は400を使用して実装される。いくつかの実施例では、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、又はタブレットコンピュータである。ユーザデバイスは、デスクトップ環境等のマルチタスキング環境で動作する。
[0322]
図18A〜18F及び19A〜19Dを参照して、いくつかの実施例では、ユーザデバイスは、様々なユーザインタフェース(例えば、ユーザインタフェース1810及び1910)を提供する。上記説明されたものと同様に、ユーザデバイスは、ディスプレイ上で様々なユーザインタフェースを表示し、様々なユーザインタフェースによって、ユーザは、1つ以上の処理(例えば、システム構成処理)をインスタンス化することが可能になる。
[0323]
図18A〜18F及び19A〜19Dに示されるように、上記説明されたものと同様に、ユーザデバイスは、ユーザインタフェース(例えば、ユーザインタフェース1810及び1910)上で、デジタルアシスタントサービスのインスタンス化を促進するアフォーダンス(例えば、アフォーダンス1840及び1940)を表示する。
[0324]
上記説明されたものと同様に、いくつかの実施例では、デジタルアシスタントは、所定のフレーズを受信したことに応じてインスタンス化される。いくつかの実施例では、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じてインスタンス化される。
[0325]
図18A〜18F及び19A〜19Dを参照して、いくつかの実施形態では、デジタルアシスタントは、発話入力1852、1854、1856、1858、1860、1862、1952、1954、1956、及び1958等の1つ以上の発話入力をユーザから受信する。ユーザは、ユーザデバイスの1つ以上のシステム構成を管理する目的で、様々な発話入力を提供する。システム構成は、音声構成、日付及び時間構成、聞き取り構成、表示構成、入力デバイス構成、通知構成、印刷構成、セキュリティ構成、バックアップ構成、アプリケーション構成、又はユーザインタフェース構成等を含むことができる。音声構成を管理するために、発話入力は、「マイクロフォンの音量を下げてください。(Mute my microphone.)」、「ボリュームを上げてください。(Turn the volume all the up.)」、又は「ボリュームを10%上げてください。(Turn the volume up 10%.)」等を含んでもよい。日付及び時間構成を管理するために、発話入力は、「時間帯は何ですか?(What is my time zone?)」、「時間帯をクパーチノの時間に変えてください。(Change my time zone to Cupertino Time.)」、又は「ロンドンの時間帯についてのクロックを追加してください。(Add a clock for London time zone.)」等を含んでもよい。聞き取り構成を管理するために、発話入力は、「聞き取りをターンオンしてください。(Turn on dictation.)」、「聞き取りをターンオフしてください。(Turn off dictation.)」、「中国語で聞き取りしてください。(Dictation in Chinese.)」、又は「高度なコマンドを有効にしてください。(Enable advanced commands.)」等を含んでもよい。表示構成を管理するために、発話入力は、「スクリーンをより明るくしてください。(Make my screen brighter.)」、「コントラストを20%上げてください。(Increase the contrast my 20%.)」、「スクリーンを第2のモニタに拡張してください。(Extend my screen to a second monitor.)」、又は「ディスプレイを映してください。(Mirror my display.)」等を含んでもよい。入力デバイス構成を管理するために、発話入力は、「Bluetoothキーボードを接続してください。(Connect my Bluetooth keyboard.)」又は「マウスポインタをより大きくしてください。(Make my mouse pointer bigger.)」等を含んでもよい。ネットワーク構成を管理するために、発話入力は、「Wi−Fiをターンオンしてください。(Turn Wi-Fi on.)」、「Wi−Fiをターンオフしてください。(Turn Wi-Fi off.)」、「どのWi−Fiネットワークを接続しますか(Which Wi-Fi network am I connected to?)」、又は「電話に接続しますか(Am I connected to my phone?)」等を含んでもよい。通知構成を管理するために、発話入力は、「応答不可をターンオンしてください。(Turn on Do not Disturb.)」、「それらの通知を見せることを停止してください。(Stop showing me these notifications.)」、「新たな電子メールのみを見せてください。(Show only new emails.)」、又は「テキストメッセージについてのアラートがありません。(No alert for text message.)」等を含んでもよい。印刷構成を管理するために、発話入力は、「プリンタのインクが十分にありますか?(Does my printer have enough ink?)」又は「プリンタが接続されていますか?(Is my printer connected?)」等を含んでもよい。セキュリティ構成を管理するために、発話入力は、「ジョンのアカウントについてのパスワードを変えてください。(Change password for John’s account.)」、「ファイアウォールをターンオンしてください。(Turn on firewall.)」、又は「クッキーを無効にしてください。(Disable cookie.)」等を含んでもよい。バックアップ構成を管理するために、発話入力は、「ここでバックアップを実行してください。(Run backup now.)」、「1月に1回の間隔でバックアップを設定してください。(Set backup interval to once a month.)」、又は「去年のバックアップを7月4日に戻してください。(Recover the July 4 backup of last year.)」等を含んでもよい。アプリケーション構成を管理するために、発話入力は、「デフォルトのウェブブラウザをSafariに変えてください。(Change my default web browser to Safari.)」又は「サインインする都度、メッセージアプリケーションに自動的にログインしてください。(Automatically log in to Messages application each time I sign in.)」等を含んでもよい。ユーザインタフェース構成を管理するために、発話入力は、「デスクトップのウォールペーパを変えてください。(Change my desktop wallpapers.)」、「ドックを隠してください。(Hide the dock.)」、又は「Evernoteをドックに追加してください。(Add Evernote to the Dock.)」等を含んでもよい。システム構成を管理するために発話入力を使用する様々な実施例は、以下で更に詳細に説明される。
[0326]
上記説明されたものと同様に、いくつかの実施例では、デジタルアシスタントは、ユーザデバイスにおいてユーザから直接、又はユーザデバイスに通信可能に接続された別の電子デバイスを通じて間接的に発話入力を受信する。
[0327]
図18A〜18F及び19A〜19Dを参照して、いくつかの実施形態では、デジタルアシスタントは、ユーザデバイスと関連付けられたコンテクスト情報を特定する。コンテクスト情報は、例えば、ユーザ特有データ、センサデータ、及びユーザデバイス構成データを含む。いくつかの実施例では、ユーザ特有データは、ユーザ優先度又はユーザデバイスとのユーザの対話の履歴等を示すログ情報を含む。例えば、ユーザ特有データは、ユーザのシステムがバックアップされた最後の時を示し、いくつかのWi−Fiネットワークが利用可能であるときの特定のWi−Fiネットワのユーザの優先度、等を示す。いくつかの実施例では、センサデータは、センサによって収集された様々なデータを含む。例えば、センサデータは、プリンタインクレベルセンサによって収集されたプリンタインクレベルを示す。いくつかの実施例では、ユーザデバイス構成データは、現在及び履歴的なデバイス構成を含む。例えば、ユーザデバイス構成データは、ユーザデバイスが現在Bluetooth接続を使用して1つ以上の電子デバイスに通信可能に接続されていることを示す。電子デバイスは、例えば、スマートフォン、セットトップボックス、又はタブレット等を含んでもよい。以下で更に詳細に説明されるように、ユーザデバイスは、ユーザ意図を判定することができ、及び/又はコンテクスト情報を使用して1つ以上の処理を実行することができる。
[0328]
図18A〜18F及び19A〜19Dを参照して、上記説明されたものと同様に、発話入力を受信したことに応じて、デジタルアシスタントは、発話入力に基づいてユーザ意図を判定する。デジタルアシスタントは、自然言語処理の結果に基づいてユーザ意図を判定する。例えば、デジタルアシスタントは、ユーザ入力に基づいて実施可能な意図を特定し、特定された実施可能な意図を表すために構造化されたクエリを生成する。構造化されたクエリは、実施可能な意図と関連付けられた1つ以上のパラメータを含む。1つ以上のパラメータは、実施可能な意図に基づいてタスクの実行を促進するために使用されてもよい。例えば、「ボリュームを10%上げてください。(Turn the volume up by 10%.)」等の発話入力に基づいて、デジタルアシスタントは、実施可能な意図がシステムボリュームを調節することであると判定し、パラメータは、ボリュームを現在のボリュームレベルよりも10%高く設定することを含む。いくつかの実施形態では、デジタルアシスタントはまた、発話入力及びコンテクスト情報に基づいてユーザ意図を判定する。例えば、コンテクスト情報は、ユーザデバイスの現在のボリュームが50%にあることを示してもよい。結果として、「ボリュームを10%上げてください。」等の発話入力を受信すると、デジタルアシスタントは、ユーザ意図がボリュームレベルを60%に上げることであると判定する。発話入力及びコンテクスト情報に基づいてユーザ意図を判定することは、様々な実施例において以下で更に詳細に説明される。
[0329]
いくつかの実施形態では、デジタルアシスタントは更に、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定する。判定の様々な実施例は、図18A〜18F及び19A〜19Dに関して以下で更に詳細に提供される。
[0330]
図18Aを参照して、いくつかの実施例では、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1832を表示する。例えば、タスクは、ミーティングの招待を構成することを含む。ミーティングの招待を構成する際に、ユーザは、ミーティングの招待を適切に構成することができるように、ユーザデバイスの時間帯を知ることを望むことがある。いくつかの実施例では、ユーザは、アフォーダンス1840又は1841によって表されるデジタルアシスタントを呼び出すために発話入力1852を提供する。発話入力1852は、例えば、「はい、アシスタント。」を含む。ユーザデバイスは、発話入力1852を受信し、それに応じて、デジタルアシスタントが後続の発話入力をアクティブに監視するように、デジタルアシスタントを呼び出す。いくつかの実施例では、デジタルアシスタントは、それが呼び出されることを示す発話出力1872を提供する。例えば、発話出力1872は、「どうぞ、聞いていますよ。(Go ahead, I am listening.)」を含む。
[0331]
図18Bを参照して、いくつかの実施例では、ユーザは、「時間帯は何ですか?(What is my time zone?)」等の発話入力1854を提供する。デジタルアシスタントは、ユーザ意図がユーザデバイスの時間帯を取得することであると判定する。デジタルアシスタントは更に、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定する。いくつかの実施例では、ユーザ意図が情報の要求を示すか又タスクを実行する要求を示すかを判定することは、ユーザ意図がシステム構成を変えることであるか否かを判定することを含む。例えば、ユーザ意図がユーザデバイスの時間帯を取得することであると判定することに基づいて、デジタルアシスタントは、システム構成が変わらないと判定する。結果として、デジタルアシスタントは、ユーザ意図が情報の要求を示すと判定する。
[0332]
いくつかの実施形態では、ユーザ意図が情報の要求を示すとの判定に従って、デジタルアシスタントは、情報の要求への発話応答を提供する。いくつかの実施例では、デジタルアシスタントは、情報の要求に従って1つ以上のシステム構成の状況を取得し、1つ以上のシステム構成の状況に従って発話応答を提供する。図18Bに示されるように、デジタルアシスタントは、ユーザ意図がユーザデバイスの時間帯を取得することであると判定し、このユーザ意図が情報の要求を示す。従って、デジタルアシスタントは、時間帯状況をユーザデバイスの時間及び日付構成から取得する。時間帯状況は、例えば、ユーザデバイスが太平洋時間帯に設定されることを示す。時間帯状況に基づいて、デジタルアシスタントは、「あなたのコンピュータが太平洋標準時間に設定されます。(Your computer is set to Pacific Standard Time.)」等の発話出力1874を提供する。いくつかの実施例では、デジタルアシスタントは更に、情報の要求と関連付けられたリンクを提供する。図18Bに示されるように、デジタルアシスタントは、ユーザがデータ及び時間構成を管理することを可能にする、リンク1834を提供する。いくつかの実施例では、ユーザは、リンク1834を選択するための入力デバイス(例えば、マウス)を使用する。リンク1834のユーザの選択を受信すると、デジタルアシスタントは、日付及び時間構成処理をインスタンス化し、関連付けられた日付及び時間構成ユーザインタフェースを表示する。よって、ユーザは、日付及び時間構成を更に管理するために日付及び時間構成ユーザインタフェースを使用することができる。
[0333]
図18Cを参照して、いくつかの実施例では、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1836を表示する。例えば、タスクは、ビデオ(例えば、ABC.mov)を再生することを含む。ビデオを鑑賞する経験を高めるために、ユーザは、スピーカを使用することを望むことがあり、Bluetoothスピーカが接続されているかを知ることを望むことがある。いくつかの実施例では、ユーザは、「Bluetoothスピーカが接続されていますか?(Is my Bluetooth speaker connected?)」等の発話入力1856を提供する。デジタルアシスタントは、ユーザ意図がBluetoothスピーカ1820の接続状況を取得することであると判定する。デジタルアシスタントは更に、Bluetoothスピーカ1820の接続状況を取得することがいずれのシステム構成も変えず、従って、情報の要求であると判定する。
[0334]
いくつかの実施形態では、ユーザ意図が情報の要求を示すとの判定に従って、デジタルアシスタントは、情報の要求に従ってシステム構成の状況を取得し、システム構成の状況に従って発話応答を提供する。図18Cに示されるように、デジタルアシスタントは、接続状況をユーザデバイスのネットワーク構成から取得する。接続状況は、例えば、ユーザデバイス1800がBluetoothスピーカ1820に接続されていないことを示す。接続状況に基づいて、デジタルアシスタントは、「いいえ、接続されていません、ネットワーク構成におけるBluetoothデバイスをチェックしてください。(No, it is not connected, you can check Bluetooth devices in the network configurations.)」等の発話出力1876を提供する。いくつかの実施例では、デジタルアシスタントは更に、情報の要求と関連付けられたリンクを提供する。図18Cに示されるように、デジタルアシスタントは、ユーザがネットワーク構成を更に管理することを可能にする、リンク1838を提供する。いくつかの実施例では、ユーザは、リンク1838を選択するための入力デバイス(例えば、マウス)を使用する。リンク1838のユーザの選択を受信すると、デジタルアシスタントは、ネットワーク構成処理をインスタンス化し、関連付けられたネットワーク構成ユーザインタフェースを表示する。よって、ユーザは、ネットワーク構成を更に管理するために、ネットワーク構成ユーザインタフェースを使用することができる。
[0335]
図18Dを参照して、いくつかの実施例では、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1842を表示する。例えば、タスクは、ドキュメントを参照すること及び/又は編集することを含む。ユーザは、ドキュメントをプリントアウトすることを望むことがあり、プリンタ1830が印刷ジョブのために十分なインクを有しているかを知ることを望むことがある。いくつかの実施例では、ユーザは、「プリンタが十分なインクを有していますか?(Does my printer have enough ink?)」等の発話入力1858を提供する。デジタルアシスタントは、ユーザ意図がプリンタのプリンタインクレベル状況を取得することであると判定する。デジタルアシスタントは更に、プリンタレベル状況を取得することがいずれのシステム構成を変えず、従って、情報の要求であると判定する。
[0336]
いくつかの実施形態では、ユーザ意図が情報の要求を示すとの判定に従って、デジタルアシスタントは、情報の要求に従ってシステム構成の状況を取得し、システム構成の状況に従って発話応答を提供する。図18Dに示されるように、デジタルアシスタントは、プリンタインクレベル状況をユーザデバイスの印刷構成から取得する。プリンタインクレベル状況は、例えば、プリンタ1830のプリンタインクレベルが50%にあることを示す。接続状況に基づいて、デジタルアシスタントは、「はい、あなたのプリンタはインクが十分にあります。また、プリンタ構成においてプリンタ供給レベルを探してください。(Yes, your printer has enough ink. You can also look up printer supply levels in the printer configurations.)」等の発話出力1878を提供する。いくつかの実施例では、デジタルアシスタントは更に、情報の要求と関連付けられたリンクを提供する。図18Dに示されるように、デジタルアシスタントは、ユーザがプリンタ構成を更に管理することを可能にする、リンク1844を提供する。いくつかの実施例では、ユーザは、リンク1844を選択するための入力デバイス(例えば、マウス)を使用する。リンクのユーザの選択を受信すると、デジタルアシスタントは、プリンタ構成処理をインスタンス化し、関連付けられたプリンタ構成ユーザインタフェースを表示する。よって、ユーザは、プリンタ構成を更に管理するためにプリンタ構成ユーザインタフェースを使用することができる。
[0337]
図18Eを参照して、いくつかの実施例では、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1846を表示する。例えば、タスクは、ウェブブラウザ(例えば、Safari)を使用してインターネットをブラウジングすることを含む。インターネットをブラウジングするために、ユーザは、利用可能なWi−Fiネットワークを知ることを望むことがあり、接続する1つのWi−Fiネットワークを選択することを望むことがある。いくつかの実施例では、ユーザは、「どのWi−Fiネットワークが利用可能ですか?(Which Wi-Fi networks are available?)」等の発話入力1860を提供する。デジタルアシスタントは、ユーザ意図が利用可能なWi−Fiネットワークのリストを取得することであると判定する。デジタルアシスタントは更に、利用可能なWi−Fiネットワークのリストを取得することがいずれのシステム構成を変えず、従って、情報の要求であると判定する。
[0338]
いくつかの実施形態では、ユーザ意図が情報の要求を示すとの判定に従って、デジタルアシスタントは、情報の要求に従ってシステム構成の状況を取得し、システム構成の状況に従って発話応答を提供する。図18Eに示されるように、デジタルアシスタントは、現在利用可能なWi−Fiネットワークの状況をユーザデバイスのネットワーク構成から取得する。現在利用可能なWi−Fiネットワークの状況は、例えば、Wi−Fiネットワーク1、Wi−Fiネットワーク2、及びWi−Fiネットワーク3が利用可能であることを示す。いくつかの実施例では、状況は更に、Wi−Fiネットワークの各々の信号強度を示す。デジタルアシスタントは、状況に従って情報を提供するユーザインタフェース1845を表示する。例えば、ユーザインタフェース1845は、利用可能なWi−Fiネットワークのリストを提供する。デジタルアシスタントはまた、「利用可能なWi−Fiネットワークのリストがここにあります。(Here is a list of available Wi-Fi networks.)」等の発話出力1880を提供する。いくつかの実施例では、デジタルアシスタントは更に、情報の要求と関連付けられたリンクを提供する。図18Eに示されるように、デジタルアシスタントは、ユーザがネットワーク構成を更に管理することを可能にする、リンク1847を提供する。いくつかの実施例では、ユーザは、リンク1847を選択するための入力デバイス(例えば、マウス)を使用する。リンク1847のユーザの選択を受信すると、デジタルアシスタントは、ネットワーク構成処理をインスタンス化し、関連付けられたネットワーク構成ユーザインタフェースを表示する。よって、ユーザは、構成を更に管理するためにネットワーク構成ユーザインタフェースを使用することができる。
[0339]
図18Fを参照して、いくつかの実施例では、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1890を表示する。例えば、タスクは、ミーティングの課題を準備することを含む。ミーティング課題を準備する際に、ユーザは、ミーティングについての日付及び時間を発見することを望むことがある。いくつかの実施例では、ユーザは、「朝に本日の次のミーティングについてのカレンダの時間を発見してください。(Find a time on my calendar for next Tuesday’s meeting in the morning.)」等の発話入力1862を提供する。デジタルアシスタントは、ユーザ意図が火曜日の朝についてユーザのカレンダの利用可能な時間帯を発見することであると判定する。デジタルアシスタントは更に、時間帯を発見することがいずれのシステム構成を変えず、従って、情報の要求であると判定する。
[0340]
いくつかの実施形態では、ユーザ意図が情報の要求を示すとの判定に従って、デジタルアシスタントは、情報の要求に従ってシステム構成の状況を取得し、システム構成の状況に従って発話応答を提供する。図18Fに示されるように、デジタルアシスタントは、ユーザのカレンダの状況をカレンダ構成から取得する。ユーザのカレンダの状況は、例えば、火曜日の午前9時又は午前11時がいまだ利用可能であることを示す。デジタルアシスタントは、状況に従って情報を提供するユーザインタフェース1891を表示する。例えば、ユーザインタフェース1891は、ユーザのカレンダをユーザが要求した日付及び時間と近接して提供する。いくつかの実施例では、デジタルアシスタントはまた、「火曜日の午前9時又は午前11時が利用可能であるようです。(It looks like Tuesday 9a.m. or 11a.m is available.)」等の発話出力1882を提供する。いくつかの実施例では、デジタルアシスタントは更に、情報の要求と関連付けられたリンクを提供する。図18Fに示されるように、デジタルアシスタントは、ユーザがカレンダ構成を更に管理することを可能にする、リンク1849を提供する。いくつかの実施例では、ユーザは、リンク1849を選択するための入力デバイス(例えば、マウス)を使用する。リンク1849のユーザの選択を受信すると、デジタルアシスタントは、カレンダ構成処理をインスタンス化し、関連付けられたカレンダ構成ユーザインタフェースを表示する。よって、ユーザは、構成を更に管理するためにカレンダ構成ユーザインタフェースを使用することができる。
[0341]
図19Aを参照して、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1932を表示する。例えば、タスクは、ビデオ(例えば、ABC.mov)を再生することを含む。ビデオを再生している間、ユーザは、ボリュームを上げることを望むことがある。いくつかの実施例では、ユーザは、「ボリュームをかなり上げてください。(Turn the volume all the way up.)」等の発話入力1952を提供する。デジタルアシスタントは、ユーザ意図がボリュームをその最大レベルまで上げることであると判定する。デジタルアシスタントは更に、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定する。例えば、ユーザ意図がユーザデバイスのボリュームを上げることであると判定することに基づいて、デジタルアシスタントは、音声構成が変わり、従って、ユーザ意図がタスクを実行する要求を示すと判定する。
[0342]
いくつかの実施形態では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、デジタルアシスタントは、タスクを実行するユーザデバイスと関連付けられた処理をインスタンス化する。処理をインスタンス化することは、処理がまだ実行中でない場合に処理を呼び出すことを含む。処理の少なくとも1つのインスタンスが実行中である場合、処理をインスタンス化することは、処理の既存のインスタンスを実行すること、又は処理の新たなインスタンスを生成することを含む。例えば、音声構成処理をインスタンス化することは、音声構成処理を呼び出すこと、既存の音声構成処理を使用すること、又は音声構成処理の新たなインスタンスを生成することを含む。いくつかの実施例では、処理をインスタンス化することは、処理を使用してタスクを実行することを含む。例えば、図19Aに示されるように、ボリュームをその最大レベルまで上げるユーザ意図に従って、デジタルアシスタントは、ボリュームをその最大レベルに設定する音声構成処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは更に、「OK、ボリュームをかなり高く設定しました。(OK, I turned the volume all the way up.)」等の発話出力1972を提供する。
[0343]
図19Bを参照して、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1934を表示する。例えば、タスクは、ドキュメントを参照すること、及び編集することを含む。ユーザは、目の保護のためにスクリーンの輝度を下げることを望むことがある。いくつかの実施例では、ユーザは、「スクリーンの輝度を10%低く設定してください。(Set my screen brightness to 10% lower.)」等の発話入力1954を提供する。デジタルアシスタントは、発話入力1954及びコンテクスト情報に基づいてユーザ意図を判定する。例えば、コンテクスト情報は、現在の輝度構成が90%にあることを示す。結果として、デジタルアシスタントは、ユーザ意図が輝度レベルを90%から80%に下げることであると判定する。デジタルアシスタントは更に、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定する。例えば、ユーザ意図がスクリーン輝度を80%に変更することであると判定することに基づいて、デジタルアシスタントは、表示構成が変わり、従って、ユーザ意図がタスクを実行する要求を示すと判定する。
[0344]
いくつかの実施形態では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、デジタルアシスタントは、タスクを実行する処理をインスタンス化する。例えば、図19Bに示されるように、輝度レベルを変更するユーザ意図に従って、デジタルアシスタントは、輝度レベルを80%に下げる表示構成処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは更に、「OK、あなたのスクリーン輝度を80%にしました。(OK, I turned your screen brightness to 80%.)」等の発話出力1974を提供する。いくつかの実施例では、図19Bに示されるように、デジタルアシスタントは、ユーザがタスクを実行した結果を操作することを可能にするアフォーダンス1936を提供する。例えば、アフォーダンス1936は、ユーザが輝度レベルを更に変更することを可能にするスライドバーとすることができる。
[0345]
図19Cを参照して、ユーザデバイスは、タスクを実行することと関連付けられたユーザインタフェース1938を表示する。例えば、タスクは、1つ以上の通知を提供することを含む。通知は、電子メールのアラート、メッセージ、又はリマインダ等を含むことができる。いくつかの実施例では、通知は、ユーザインタフェース1938において提供される。通知は、ユーザにリアルタイムで、又はそれがユーザデバイスにおいて利用可能である直後にユーザに表示又は提供されてもよい。例えば、通知は、ユーザデバイスがそれを受信した直後にユーザインタフェース1938及び/又はユーザインタフェース1910に現れる。時に、ユーザは、重要なタスク(例えば、ドキュメントを編集すること)を実行していることがあり、通知によって邪魔されたくないことがある。いくつかの実施例では、ユーザは、「到着する電子メールについて通知しないでください。(Don’t notify me about incoming emails.)」等の発話入力1956を提供する。デジタルアシスタントは、ユーザ意図が電子メールのアラートをターンオフすることであると判定する。ユーザ意図が到着する電子メールのアラートをターンオフすることであると判定することに基づいて、デジタルアシスタントは、通知構成が変わり、従って、ユーザ意図がタスクを実行する要求を示すと判定する。
[0346]
いくつかの実施形態では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、デジタルアシスタントは、タスクを実行する処理をインスタンス化する。例えば、図19Cに示されるように、ユーザ意図に従って、デジタルアシスタントは、電子メールのアラートをターンオフする通知構成処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントは更に、「OK、メールについての通知をターンオフします。(OK, I turned off notifications for mail.)」等の発話出力1976を提供する。いくつかの実施例では、図19Cに示されるように、デジタルアシスタントは、ユーザがタスクを実行した結果を操作することを可能にするユーザインタフェース1942(例えば、スニペット又はウィンドウ)を提供する。例えば、ユーザインタフェース1942は、アフォーダンス1943(例えば、中止ボタン)を提供する。ユーザが電子メールの通知を受信することを続けることを望む場合、例えば、ユーザは、電子メールの通知を再度ターンオンするためのアフォーダンス1943を選択することができる。いくつかの実施例では、ユーザはまた、電子メールの通知をターンオンするために、「到着する電子メールを通知してください。(Notify me of incoming emails.)」等の別の発話入力を提供することができる。
[0347]
図19Dを参照して、いくつかの実施形態では、デジタルアシスタントは、ユーザの発話入力に基づいてタスクを完了することが可能でないことがあり、よって、ユーザがタスクを実行することを可能にするユーザインタフェースを提供することができる。図19Dに示されるように、いくつかの実施例では、ユーザは、「スクリーンセーバ上でカスタムメッセージを見せてください。(Show a custom message on my screen saver.)」等の発話入力1958を提供する。デジタルアシスタントは、ユーザ意図がカスタムメッセージを示すためにスクリーンセーバ設定を変更することであると判定する。デジタルアシスタントは更に、ユーザ意図が表示構成を変えることであり、従って、ユーザ意図がタスクを実行する要求を示すと判定する。
[0348]
いくつかの実施形態では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、デジタルアシスタントは、タスクを実行するユーザデバイスと関連付けられた処理をインスタンス化する。いくつかの実施例では、デジタルアシスタントがユーザ意図に基づいてタスクを完了することができない場合、それは、ユーザがタスクを実行することを可能にするユーザインタフェースを提供する。例えば、発話入力1958に基づいて、デジタルアシスタントは、スクリーンセーバ上に示されるカスタムメッセージの内容を判定することが可能でないことがあり、従って、カスタムメッセージを表示するタスクを完了することができない。図19Dに示されるように、いくつかの実施例では、デジタルアシスタントは、表示構成処理をインスタンス化し、ユーザがスクリーンセーバ設定を手動で変更することを可能にするためのユーザインタフェース1946(例えば、スニペット又はウィンドウ)を提供する。別の実施例として、デジタルアシスタントは、ユーザがタスクを実行することを可能にするリンク1944(例えば、表示構成へのリンク)を提供する。ユーザは、マウス、指、又はスタイラス等の入力デバイスを使用することによって、リンク1944を選択する。ユーザの選択を受信すると、デジタルアシスタントは、表示構成処理をインスタンス化し、ユーザがスクリーンセーバ設定を変更することを可能にするためのユーザインタフェース1946を表示する。いくつかの実施例では、デジタルアシスタントは更に、「スクリーンセーバ構成でスクリーンセーバのオプションを利用することができます。(You can explore screen saver options in the screen saver configurations.)」等の発話出力1978を提供する。
7.デジタルアシスタントを動作させる処理−インテリジェント検索及びオブジェクト管理
[0349]
図20A〜20Gは、いくつかの実施形態に従った、デジタルアシスタントを動作させる例示的な処理2000のフローチャートを示す。処理2000は、1つ以上のデバイス104、108、200、400、又は600を使用して実行されてもよい(図1、2A、4、又は6A〜B)。処理2000における動作は、任意選択的に組み合わされ若しくは分離され、並びに/又はいくつかの動作の順序は任意選択的に変更される。
[0350]
図20Aを参照して、ブロック2002において、第1の発話入力を受信する前に、デジタルアシスタントサービスを呼び出すためのアフォーダンスは、ユーザデバイスと関連付けられたディスプレイ上で表示される。ブロック2003において、デジタルアシスタントは、所定のフレーズを受信したことに応じて呼び出される。ブロック2004において、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じて呼び出される。
[0351]
ブロック2006において、第1の発話入力は、ユーザから受信される。ブロック2008において、ユーザデバイスと関連付けられたコンテクスト情報が特定される。ブロック2009において、コンテクスト情報は、ユーザ特有データ、1つ以上のオブジェクトと関連付けられたメタデータ、センサデータ、及びユーザデバイス構成データのうちの少なくとも1つを含む。
[0352]
ブロック2010において、ユーザ意図は、第1の発話入力及びコンテクスト情報に基づいて判定される。ブロック2012において、ユーザ意図を判定するために、1つ以上の実施可能な意図が判定される。ブロック2013において、実施可能な意図と関連付けられた1つ以上のパラメータが判定される。
[0353]
図20Bを参照して、ブロック2015において、ユーザ意図が、検索処理を使用してタスクを実行することであるか又はオブジェクト管理処理を使用してタスクを実行することであるかが判定される。検索処理は、ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されており、オブジェクト管理処理は、ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている。ブロック2016において、発話入力が検索処理又はオブジェクト管理処理を表す1つ以上のキーワードを含むかが判定される。ブロック2018において、タスクが検索することと関連付けられるかが判定される。ブロック2020において、タスクが検索することと関連付けられるとの判定に従って、タスクを実行することが検索処理を必要とするかが判定される。ブロック2021において、タスクを実行することが検索処理を必要としないとの判定に従って、検索処理又はオブジェクト管理処理を選択するための発話要求が出力され、第2の発話入力がユーザから受信される。第2の発話入力は、検索処理又はオブジェクト管理処理の選択を示す。
[0354]
ブロック2022において、タスクを実行することが検索処理を必要としないとの判定に従って、所定の構成に基づいて、検索処理又はオブジェクト管理処理を使用してタスクが実行されるかが判定される。
[0355]
図20Cを参照して、ブロック2024において、タスクが検索することと関連付けられていないとの判定に従って、タスクが少なくとも1つのオブジェクトを管理することと関連付けられるかが判定される。ブロック2025において、タスクが少なくとも1つのオブジェクトを管理することと関連付けられていないとの判定に従って、ユーザデバイスに利用可能な第4の処理を使用してタスクを実行することができるか否かを判定すること、及びユーザとのダイアログを開始することのうちの少なくとも1つが実行される。
[0356]
ブロック2026において、ユーザ意図が検索処理を使用してタスクを実行することであるとの判定に従って、検索処理を使用してタスクが実行される。ブロック2028において、検索処理を使用して少なくとも1つのオブジェクトが検索される。ブロック2029において、少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む。ブロック2030において、ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含む。ブロック2031において、ファイルは、ユーザデバイスの内部又は外部に記憶されている。ブロック2032において、フォルダ又はファイルのうちの少なくとも1つを検索することは、フォルダ又はファイルと関連付けられたメタデータに基づいている。ブロック2034において、少なくとも1つのオブジェクトは、通信を含む。ブロック2035において、通信は、電子メール、メッセージ、又はボイスメールのうちの少なくとも1つを含む。ブロック2036において、通信と関連付けられたメタデータが検索される。
[0357]
図20Dを参照して、ブロック2037において、少なくとも1つのオブジェクトは、連絡先又はカレンダのうちの少なくとも1つを含む。ブロック2038において、少なくとも1つのオブジェクトは、アプリケーションを含む。ブロック2039において、少なくとも1つのオブジェクトは、オンライン情報のソースを含む。
[0358]
ブロック2040において、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、タスクは、オブジェクト管理処理を使用して実行される。ブロック2042において、タスクが検索することと関連付けられ、少なくとも1つのオブジェクトは、オブジェクト管理処理を使用して検索される。ブロック2043において、少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む。ブロック2044において、ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含む。ブロック2045において、ファイルは、ユーザデバイスの内部又は外部に記憶されている。ブロック2046において、フォルダ又はファイルのうちの少なくとも1つを検索することは、フォルダ又はファイルと関連付けられたメタデータに基づいている。
[0359]
ブロック2048において、オブジェクト管理処理がインスタンス化される。オブジェクト管理処理をインスタンス化することは、オブジェクト管理処理を呼び出すこと、オブジェクト管理処理の新たなインスタンスを生成すること、又はオブジェクト管理処理の既存のインスタンスを生成することを含む。
[0360]
図20Eを参照して、ブロック2049において、少なくとも1つのオブジェクトが作成される。ブロック2050において、少なくとも1つのオブジェクトが記憶される。ブロック2051において、少なくとも1つのオブジェクトが圧縮される。ブロック2052において、少なくとも1つのオブジェクトが第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に移動される。ブロック2053において、少なくとも1つのオブジェクトが第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に複製される。ブロック2054において、物理又は仮想記憶装置に記憶された少なくとも1つのオブジェクトが削除される。ブロック2055において、物理又は仮想記憶装置に記憶された少なくとも1つのオブジェクトが復元される。ブロック2056において、少なくとも1つのオブジェクトがマーク付けされる。少なくとも1つのオブジェクトをマーク付けすることは、可視的である、又は少なくとも1つのオブジェクトのメタデータと関連付けられていることのうちの少なくとも1つである。ブロック2057において、少なくとも1つのオブジェクトは、バックアップのための所定の期間に従ってバックアップされる。ブロック2058において、少なくとも1つのオブジェクトは、ユーザデバイスに通信可能に接続された1つ以上の電子デバイスの間で共有される。
[0361]
図20Fを参照して、ブロック2060において、応答は、検索処理又はオブジェクト管理処理を使用して、タスクを実行した結果に基づいて提供される。ブロック2061において、検索処理又はオブジェクト管理処理を使用してタスクを実行した結果を提供する第1のユーザインタフェースが表示される。ブロック2062において、検索処理を使用してタスクを実行した結果と関連付けられたリンクが表示される。ブロック2063において、検索処理又はオブジェクト管理処理を使用してタスクを実行した結果に従って、発話出力が提供される。
[0362]
ブロック2064において、ユーザが検索処理又はオブジェクト管理処理を使用してタスクを実行した結果を操作することを可能にするアフォーダンスが提供される。ブロック2065において、タスクを実行した結果を使用して動作する第3の処理がインスタンス化される。
[0363]
図20Fを参照して、ブロック2066において、信用レベルが判定される。ブロック2067において、信用レベルは、第1の発話入力及びユーザデバイスと関連付けられたコンテクスト情報に基づいてユーザ意図を判定する精度を表す。ブロック2068において、信用レベルは、ユーザ意図が検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定する精度を表す。
[0364]
図20Gを参照して、ブロック2069において、信用レベルは、検索処理又はオブジェクト管理処理を使用してタスクを実行する精度を表す。
[0365]
ブロック2070において、信用レベルの判定に従って応答が提供される。ブロック2071において、信用レベルが閾値信用レベル以上であるかが判定される。ブロック2072において、信用レベルが閾値信用レベル以上であるとの判定に従って、第1の応答が提供される。ブロック2073において、信用レベルが閾値信用レベル未満であるとの判定に従って、第2の応答が提供される。
8.デジタルアシスタントを動作させる処理−続き
[0366]
図21A〜21Eは、いくつかの実施形態に従った、デジタルアシスタントを動作させる例示的な処理2100のフローチャートを示す。処理2100は、1つ以上のデバイス104、108、200、400、600、1400、1500、1600、又は1700を使用して実行されてもよい(図1、2A、4、6A〜6B、14A〜14D、15A〜15D、16A〜16C、及び17A〜17E)。処理2100における動作は、任意選択的に組み合わされ若しくは分離され、並びに/又はいくつかの動作の順序が任意選択的に変更される。
[0367]
図21Aを参照して、ブロック2102において、第1の発話入力を受信する前に、デジタルアシスタントサービスを呼び出すためのアフォーダンスは、ユーザデバイスと関連付けられたディスプレイ上で表示される。ブロック2103において、デジタルアシスタントは、所定のフレーズを受信したことに応じて呼び出される。ブロック2104において、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じて呼び出される。
[0368]
ブロック2106において、第1の発話入力は、タスクを実行するためにユーザから受信される。ブロック2108において、ユーザデバイスと関連付けられたコンテクスト情報が特定される。ブロック2109において、ユーザデバイスは、複数のユーザインタフェースを提供するように構成されている。ブロック2110において、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、又はサーバを含む。ブロック2112において、コンテクスト情報は、ユーザ特有データ、1つ以上のオブジェクトと関連付けられたメタデータ、センサデータ、及びユーザデバイス構成データのうちの少なくとも1つを含む。
[0369]
ブロック2114において、発話入力及びコンテクスト情報に基づいてユーザ意図が判定される。ブロック2115において、ユーザ意図を判定するために、1つ以上の実施可能な意図が判定される。ブロック2116において、実施可能な意図と関連付けられた1つ以上のパラメータが判定される。
[0370]
図21Bを参照して、ブロック2118において、ユーザ意図に従って、タスクがユーザデバイス、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいてタスクが実行されるかが判定される。ブロック2120において、第1の電子デバイスは、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、スマートフォン、タブレット、セットトップボックス、又は時計を含む。ブロック2121において、タスクがユーザデバイスにおいて又は第1の電子デバイスにおいて実行されるかを判定することは、発話入力に含まれる1つ以上のキーワードに基づいている。ブロック2122において、ユーザデバイスにおいてタスクを実行することが実行基準を満たすかが判定される。ブロック2123において、1つ以上のユーザ優先度に基づいて実行基準が判定される。ブロック2124において、デバイス構成データに基づいて実行基準が判定される。ブロック2125において、実行基準が動的に更新される。ブロック2126において、ユーザデバイスにおいてタスクを実行することが実行基準を満たすとの判定に従って、タスクがユーザデバイスにおいて実行されると判定される。
[0371]
図21Cを参照して、ブロック2128において、ユーザデバイスにおいてタスクを実行することが実行基準を満たさないとの判定に従って、第1の電子デバイスにおいてタスクを実行することが実行基準を満たすかが判定される。ブロック2130において、第1の電子デバイスにおいてタスクを実行することが実行基準を満たすとの判定に従って、タスクが第1の電子デバイスにおいて実行されると判定される。ブロック2132において、第1の電子デバイスにおいてタスクを実行することが実行基準を満たさないの判定に従って、第2の電子デバイスにおいてタスクを実行することが実行基準を満たすかが判定される。
[0372]
ブロック2134において、タスクがユーザデバイスにおいて実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、タスクを実行するためのコンテンツが受信される。ブロック2135において、コンテンツの少なくとも一部は、第1の電子デバイスから受信される。コンテンツの少なくとも一部は、第1の電子デバイスに記憶されている。ブロック2136において、コンテンツの少なくとも一部は、第3の電子デバイスから受信される。
[0373]
図21Dを参照して、ブロック2138において、タスクが第1の電子デバイスにおいて実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、タスクを実行するためのコンテンツは、第1の電子デバイスに提供される。ブロック2139において、コンテンツの少なくとも一部は、ユーザデバイスから第1の電子デバイスに提供される。コンテンツの少なくとも一部は、ユーザデバイスに記憶されている。ブロック2140において、コンテンツの少なくとも一部は、第4の電子デバイスから第1の電子デバイスに提供される。コンテンツの少なくとも一部は、第4の電子デバイスに記憶されている。
[0374]
ブロック2142において、タスクは、ユーザデバイスにおいて実行される。第1の応答は、受信されたコンテンツを使用してユーザデバイスにおいて提供される。ブロック2144において、タスクは、ユーザデバイスにおいて実行される。ブロック2145において、ユーザデバイスにおいてタスクを実行することは、ユーザデバイスに対して部分的にリモートに実行されたタスクの続きである。ブロック2146において、第1のユーザインタフェースは、ユーザデバイスにおいて実行されるタスク関連付けられて表示される。ブロック2148において、タスクと関連付けられたリンクは、ユーザデバイスにおいて実行される。ブロック2150において、発話出力は、ユーザデバイスにおいて実行されるタスクに従って提供される。
[0375]
図21Eを参照して、ブロック2152において、タスクは、第1の電子デバイスにおいて実行され、第2の応答は、ユーザデバイスにおいて提供される。ブロック2154において、タスクは、第1の電子デバイスにおいて実行される。ブロック2156において、第1の電子デバイスにおいて実行されるタスクは、第1の電子デバイスに対してリモートに実行されたタスクの続きである。ブロック2158において、発話出力は、第1の電子デバイスにおいて実行されるタスクに従って提供される。ブロック2160において、発話出力は、第1の電子デバイスにおいて実行されるタスクに従って提供される。
9.デジタルアシスタントを動作させる処理−システム構成管理
[0376]
図22A〜22Dは、いくつかの実施形態に従った、デジタルアシスタントを動作させる例示的な処理2200のフローチャートを示す。処理2200は、1つ以上のデバイス104、108、200、400、600、又は1800を使用して実行されてもよい(図1、2A、4、6A〜6B、及び18C〜18D)。処理2200における動作は、任意選択的に組み合わされ若しくは分離され、及び/又はいくつかの動作の順序は任意選択的に変更される。
[0377]
図22Aを参照して、ブロック2202において、発話入力を受信する前に、デジタルアシスタントサービスを呼び出すためのアフォーダンスは、ユーザデバイスと関連付けられたディスプレイ上で表示される。ブロック2203において、デジタルアシスタントは、所定のフレーズを受信したことに応じて呼び出される。ブロック2204において、デジタルアシスタントは、アフォーダンスの選択を受信したことに応じて呼び出される。
[0378]
ブロック2206において、発話入力は、ユーザデバイス1つ以上のシステム構成を管理するためにユーザから受信される。ユーザデバイスは、複数のユーザインタフェースを同時に提供するように構成されている。ブロック2207において、ユーザデバイスの1つ以上のシステム構成は、音声構成を含む。ブロック2208において、ユーザデバイスの1つ以上のシステム構成は、日付及び時間構成を含む。ブロック2209において、ユーザデバイスの1つ以上のシステム構成は、聞き取り構成を含む。ブロック2210において、ユーザデバイスの1つ以上のシステム構成は、表示構成を含む。ブロック2211において、ユーザデバイスの1つ以上のシステム構成は、入力デバイス構成を含む。ブロック2212において、ユーザデバイスの1つ以上のシステム構成は、ネットワーク構成を含む。ブロック2213において、ユーザデバイスの1つ以上のシステム構成は、通知構成を含む。
[0379]
図22Bを参照して、ブロック2214において、ユーザデバイスの1つ以上のシステム構成は、プリンタ構成を含む。ブロック2215において、ユーザデバイスの1つ以上のシステム構成は、セキュリティ構成を含む。ブロック2216において、ユーザデバイスの1つ以上のシステム構成は、バックアップ構成を含む。ブロック2217において、ユーザデバイスの1つ以上のシステム構成は、アプリケーション構成を含む。ブロック2218において、ユーザデバイスの1つ以上のシステム構成は、ユーザインタフェース構成を含む。
[0380]
ブロック2220において、ユーザデバイスと関連付けられたコンテクスト情報が特定される。ブロック2223において、コンテクスト情報は、ユーザ特有データ、デバイス構成データ、及びセンサデータのうちの少なくとも1つを含む。ブロック2224において、ユーザ意図は、発話入力及びコンテクスト情報に基づいて判定される。ブロック2225において、1つ以上の実施可能な意図が判定される。ブロック2226において、実施可能な意図と関連付けられた1つ以上のパラメーが判定される。
[0381]
図22Cを参照して、ブロック2228において、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかが判定される。ブロック2229において、ユーザ意図がシステム構成を変えることであるかが判定される。
[0382]
ブロック2230において、ユーザ意図が情報の要求を示すとの判定に従って、情報の要求への発話応答が提供される。ブロック2231において、1つ以上のシステム構成の状況は、情報の要求に従って取得される。ブロック2232において、発話応答は、1つ以上のシステム構成の状況に従って提供される。
[0383]
ブロック2234において、情報の要求への発話応答を提供することに加え、第1のユーザインタフェースは、1つ以上のシステム構成の状況に従って情報を提供するために表示される。ブロック2236において、情報の要求への発話応答を提供することに加え、情報の要求と関連付けられたリンクが提供される。
[0384]
ブロック2238において、ユーザ意図がタスクを実行する要求を示すとの判定に従って、ユーザデバイスと関連付けられた処理は、タスクを実行するためにインスタンス化される。ブロック2239において、タスクは、処理を使用して実行される。ブロック2240において、第1の発話出力は、タスクを実行した結果に従って提供される。
[0385]
図22Dを参照して、ブロック2242において、第2のユーザインタフェースは、ユーザがタスクを実行した結果を操作することを可能にするために提供される。ブロック2244において、第2のユーザインタフェースは、タスクを実行した結果と関連付けられたリンクを含む。
[0386]
ブロック2246において、第3のユーザインタフェースは、ユーザがタスク実行することを可能にするために提供される。ブロック2248において、第3のユーザインタフェースは、ユーザがタスクを実行することを可能にするリンクを含む。ブロック2250において、第3のユーザインタフェースと関連付けられた第2の発話出力が提供される。
10.電子デバイス−インテリジェント検索及びオブジェクト管理
[0387]
図23は、図8A〜8F、9A〜9H、10A〜10B、11A〜11F、12A〜12D、13A〜13C、14A〜14D、15A〜15D、16A〜16C、17A〜17E、18A〜18F、及び19A〜19Dを参照して説明されるものを含む、様々な説明される実施例の原理に従って構成された電子デバイス2300の機能的ブロック図を示す。デバイスの機能的ブロックは、任意選択的に、様々な説明される実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって実装されてもよい。図23で説明される機能的ブロックは、任意選択的に、様々な説明される実施例の原理を実装するためにサブブロックに組み合わされてもよく、又は分離されてもよいことが当業者によって理解される。従って、本明細書における説明は、任意選択的に、本明細書で説明される機能的ブロックのいずれかの可能な組み合わせ、分離、又は更に定義をサポートする。
[0388]
図23に示されるように、電子デバイス2300は、マイクロフォン2302及びプロセシングユニット2308を含むことができる。いくつかの実施例では、プロセシングユニット2308は、受信ユニット2310、特定ユニット2312、判定ユニット2314、実行ユニット2316、提供ユニット2318、インスタンス化ユニット2320、表示ユニット2322、出力ユニット2324、開始ユニット2326、検索ユニット2328、生成ユニット2330、実行ユニット2332、作成ユニット2334、インスタンス化ユニット2335、記憶ユニット2336、圧縮ユニット2338、複製ユニット2340、削除ユニット2342、復元ユニット2344、マーク付けユニット2346、バックアップユニット2348、共有ユニット2350、使役ユニット2352、及び取得ユニット2354を含む。
[0389]
いくつかの実施例では、プロセシングユニット2308は、第1の発話入力をユーザから受信し(例えば、受信ユニット2310で)、ユーザデバイスと関連付けられたコンテクスト情報を特定し(例えば、特定ユニット2312で)、第1の発話入力及びコンテクスト情報に基づいてユーザ意図を判定するように構成されている(例えば、判定ユニット2314で)。
[0390]
いくつかの実施例では、プロセシングユニット2308は、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定するように構成されている(例えば、判定ユニット2314で)。検索処理は、ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されており、オブジェクト管理処理は、ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている。
[0391]
いくつかの実施例では、ユーザ意図が検索処理を使用してタスクを実行することであるとの判定に従って、プロセシングユニット2308は、検索処理を使用してタスクを実行するように構成されている(例えば、実行ユニット2316で)。いくつかの実施例では、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、プロセシングユニット2308は、オブジェクト管理処理を使用してタスクを実行するように構成されている(例えば、実行ユニット2316で)。
[0392]
いくつかの実施例では、第1の発話入力を受信する前に、プロセシングユニット2308は、ユーザデバイスと関連付けられたディスプレイ上で、デジタルアシスタントサービスを呼び出すためのアフォーダンスを表示するように構成されている(例えば、表示ユニット2322で)。
[0393]
いくつかの実施例では、プロセシングユニット2308は、所定のフレーズを受信したことに応じて、デジタルアシスタントを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0394]
いくつかの実施例では、プロセシングユニット2308は、アフォーダンスの選択を受信したことに応じて、デジタルアシスタントを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0395]
いくつかの実施例では、プロセシングユニット2308は、1つ以上の実施可能な意図を判定し(例えば判定ユニット2314で)、実施可能な意図と関連付けられた1つ以上のパラメータを判定するように構成されている(例えば判定ユニット2314で)。
[0396]
いくつかの実施例では、コンテクスト情報は、ユーザ特有データ、1つ以上のオブジェクトと関連付けられたメタデータ、センサデータ、及びユーザデバイス構成データを含む。
[0397]
いくつかの実施例では、プロセシングユニット2308は、発話入力が検索処理又はオブジェクト管理処理を表す1つ以上のキーワードを含むかを判定するように構成されている(例えば、判定ユニット2314で)。
[0398]
いくつかの実施例では、プロセシングユニット2308は、タスクが検索することと関連付けられているか否かを判定するように構成されている(例えば、判定ユニット2314で)。タスクが検索することと関連付けられているとの判定に従って、プロセシングユニット2308は、タスクを実行することが検索処理を必要とするか否かを判定し(例えば、判定ユニット2314で)、タスクが検索することと関連付けられていないとの判定に従って、タスクが少なくとも1つのオブジェクトを管理することと関連付けられているか否かを判定するように構成されている(例えば、判定ユニット2314で)。
[0399]
いくつかの実施例では、タスクは検索することと関連付けられ、タスクを実行することが検索処理を必要としないとの判定に従って、プロセシングユニット2308は、検索処理又はオブジェクト管理処理を選択するために発話要求を出力し(例えば、出力ユニット2324で)、ユーザから、検索処理又はオブジェクト管理処理の選択を示す第2の発話入力を受信するように構成されている(例えば、受信ユニット2310で)。
[0400]
いくつかの実施例では、タスクは検索することと関連付けられ、タスクを実行することが検索処理を必要としないとの判定に従って、プロセシングユニット2308は、所定の構成に基づいて、検索処理又はオブジェクト管理処理を使用してタスクが実行されるか否かを判定するように構成されている(例えば、判定ユニット2314で)。
[0401]
いくつかの実施例では、タスクは検索することと関連付けられず、タスクが少なくとも1つのオブジェクトを管理することと関連付けられていないとの判定に従って、プロセシングユニット2308は、ユーザデバイスに利用可能な第4の処理を使用してタスクを実行することができるか否かを判定すること(例えば、判定ユニット2314で)、及びユーザとのダイアログを開始すること(例えば、開始ユニット2326で)のうちの少なくとも1つを実行するように構成されている(例えば、実行ユニット2316で)。
[0402]
いくつかの実施例では、プロセシングユニット2308は、検索処理を使用して少なくとも1つのオブジェクトを検索するように構成されている(例えば、検索ユニット2328で)。
[0403]
いくつかの実施例では、少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む。ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含む。ファイルは、ユーザデバイスの内部又は外部に記憶されている。
[0404]
いくつかの実施例では、フォルダ又はファイルのうちの少なくとも1つを検索することは、フォルダ又はファイルと関連付けられたメタデータに基づいている。
[0405]
いくつかの実施例では、少なくとも1つのオブジェクトは、通信を含む。通信は、電子メール、メッセージ、通知、又はボイスメールのうちの少なくとも1つを含む。
[0406]
いくつかの実施例では、プロセシングユニット2308は、通信と関連付けられたメタデータを検索するように構成されている(例えば、検索ユニット2328で)。
[0407]
いくつかの実施例では、少なくとも1つのオブジェクトは、連絡先又はカレンダのうちの少なくとも1つを含む。
[0408]
いくつかの実施例では、少なくとも1つのオブジェクトは、アプリケーションを含む。
[0409]
いくつかの実施例では、少なくとも1つのオブジェクトは、オンライン情報のソースを含む。
[0410]
いくつかの実施例では、タスクは検索することと関連付けられ、プロセシングユニット2308は、オブジェクト管理処理を使用して少なくとも1つのオブジェクトを検索するように構成されている(例えば、検索ユニット2328で)。
[0411]
いくつかの実施例では、少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む。ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含む。ファイルは、ユーザデバイスの内部又は外部に記憶されている。
[0412]
いくつかの実施例では、フォルダ又はファイルのうちの少なくとも1つを検索することは、フォルダ又はファイルと関連付けられたメタデータに基づいている。
[0413]
いくつかの実施例では、プロセシングユニット2308は、オブジェクト管理処理をインスタンス化するように構成されている(例えば、インスタンス化ユニット2335で)。オブジェクト管理処理をインスタンス化することは、オブジェクト管理処理を呼び出すこと、オブジェクト管理処理の新たなインスタンスを生成すること、又はオブジェクト管理処理の既存のインスタンスを実行することを含む。
[0414]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトを作成するように構成されている(例えば、作成ユニット2334で)。
[0415]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトを記憶するように構成されている(例えば、記憶ユニット2336で)。
[0416]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトを圧縮するように構成されている(例えば、圧縮ユニット2338で)。
[0417]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトを第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に移動するように構成されている(例えば、移動ユニット2339で)。
[0418]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトを第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に複製するように構成されている(例えば、複製ユニット2340で)。
[0419]
いくつかの実施例では、プロセシングユニット2308は、物理又は仮想記憶装置に記憶された少なくとも1つのオブジェクトを削除するように構成されている(例えば、削除ユニット2342で)。
[0420]
いくつかの実施例では、プロセシングユニット2308は、物理又は仮想記憶装置に記憶された少なくとも1つのオブジェクトを復元するように構成されている(例えば、復元ユニット2344で)。
[0421]
いくつかの実施例では、プロセシングユニット2308は、少なくとも1つのオブジェクトをマーク付けするように構成されている(例えば、マーク付けユニット2346で)。少なくとも1つのオブジェクトをマーク付けすることは、可視的である、又は少なくとも1つのオブジェクトのメタデータと関連付けられていることのうちの少なくとも1つである。
[0422]
いくつかの実施例では、プロセシングユニット2308は、バックアップのための所定の期間に従って少なくとも1つのオブジェクトをバックアップユニットするように構成されている(例えば、バックアップユニット2348で)。
[0423]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスに通信可能に接続された1つ以上の電子デバイスの間で少なくとも1つのオブジェクトを共有するように構成されている(例えば、共有ユニット2350で)。
[0424]
いくつかの実施例では、プロセシングユニット2308は、検索処理又はオブジェクト管理処理を使用して、タスクを実行した結果に基づいて応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0425]
いくつかの実施例では、プロセシングユニット2308は、検索処理又はオブジェクト管理処理を使用して、タスクを実行した結果を提供する第1のユーザインタフェースを表示するように構成されている(例えば、表示ユニット2322で)。
[0426]
いくつかの実施例では、プロセシングユニット2308は、検索処理を使用してタスクを実行した結果と関連付けられたリンクを提供するように構成されている(例えば、提供ユニット2318で)。
[0427]
いくつかの実施例では、プロセシングユニット2308は、検索処理又はオブジェクト管理処理を使用して、タスクを実行した結果に従って発話出力を提供するように構成されている(例えば、提供ユニット2318で)。
[0428]
いくつかの実施例では、プロセシングユニット2308は、ユーザが検索処理又はオブジェクト管理処理を使用して、タスクを実行した結果を操作することを可能にするアフォーダンスを提供するように構成されている(例えば、提供ユニット2318で)。
[0429]
いくつかの実施例では、プロセシングユニット2308は、タスクを実行した結果を使用して動作する第3の処理をインスタンス化するように構成されている(例えば、インスタンス化ユニット2335で)。
[0430]
いくつかの実施例では、プロセシングユニット2308は、信用レベルを判定し(例えば、判定ユニット2314で)、信用レベルの判定に従って応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0431]
いくつかの実施例では、信用レベルは、第1の発話入力及びユーザデバイスと関連付けられたコンテクスト情報に基づいてユーザ意図を判定する精度を表す。
[0432]
いくつかの実施例では、信用レベルは、検索処理を使用して又はオブジェクト管理処理を使用してユーザ意図がタスクを実行することであるかを判定する精度を表す。
[0433]
いくつかの実施例では、信用レベルは、検索処理又はオブジェクト管理処理を使用してタスクを実行する精度を表す。
[0434]
いくつかの実施例では、プロセシングユニット2308は、信用レベルが閾値信用レベル以上であるか否かを判定するように構成されている(例えば、判定ユニット2314で)。信用レベルが閾値信用レベル以上であるとの判定に従って、プロセシングユニット2308は、第1の応答を提供するように構成され(例えば、提供ユニット2318で)、信用レベルが閾値信用レベル未満であるとの判定に従って、プロセシングユニット2308は、第2の応答を提供するように構成されている(例えば、提供ユニット2318で)。
11.電子デバイス−続き
[0435]
いくつかの実施例では、プロセシングユニット2308は、タスクを実行するために発話入力を受信し(例えば、受信ユニット2310で)、ユーザデバイスと関連付けられたコンテクスト情報を特定し(例えば、特定ユニット2312で)、発話入力及びユーザデバイスと関連付けられたコンテクスト情報に基づいてユーザ意図を判定するように構成されている(例えば、判定ユニット2314で)。
[0436]
いくつかの実施例では、プロセシングユニット2308は、ユーザ意図に従って、ユーザデバイスにおいて、又はユーザデバイスに通信可能に接続された第1の電子デバイスにおいてタスクが実行されるかを判定するように構成され(例えば、判定ユニット2314で)。
[0437]
いくつかの実施例では、ユーザデバイスにおいてタスクが実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、プロセシングユニット2308は、タスクを実行するためのコンテンツを受信するように構成されている(例えば、受信ユニット2310で)。
[0438]
いくつかの実施例では、第1の電子デバイスにおいてタスクが実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、プロセシングユニット2308は、タスクを実行するためのコンテンツを第1の電子デバイスに提供するように構成されている(例えば、提供ユニット2318で)。
[0439]
いくつかの実施例では、ユーザデバイスは、複数のユーザインタフェースを提供するように構成されている。
[0440]
いくつかの実施例では、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、又はサーバを含む。
[0441]
いくつかの実施例では、第1の電子デバイスは、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、スマートフォン、タブレット、セットトップボックス、又は時計を含む。
[0442]
いくつかの実施例では、プロセシングユニット2308は、発話入力を受信する前に、ユーザデバイスのディスプレイ上で、デジタルアシスタントを呼び出すためのアフォーダンスを表示するように構成されている(例えば、表示ユニット2322で)。
[0443]
いくつかの実施例では、プロセシングユニット2308は、所定のフレーズを受信したことに応じて、デジタルアシスタントを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0444]
いくつかの実施例では、プロセシングユニット2308は、アフォーダンスの選択を受信したことに応じて、デジタルアシスタントを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0445]
いくつかの実施例では、プロセシングユニット2308は、1つ以上の実施可能な意図を判定し(例えば、判定ユニット2314で)、実施可能な意図と関連付けられた1つ以上のパラメータを判定するように構成されている(例えば、判定ユニット2314で)。
[0446]
いくつかの実施例では、コンテクスト情報は、ユーザ特有データ、センサデータ、及びユーザデバイス構成データのうちの少なくとも1つを含む。
[0447]
いくつかの実施例では、ユーザデバイスにおいて又は第1の電子デバイスにおいてタスクが実行されるかを判定することは、発話入力に含まれる1つ以上のキーワードに基づいている。
[0448]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスにおいてタスクを実行することが実行基準を満たすか否かを判定するように構成されている(例えば、判定ユニット2314で)。
[0449]
いくつかの実施例では、ユーザデバイスにおいてタスクを実行することが実行基準を満たすとの判定に従って、プロセシングユニット2308は、ユーザデバイスにおいてタスクが実行されると判定するように構成されている(例えば、判定ユニット2314で)。
[0450]
いくつかの実施例では、ユーザデバイスにおいてタスクを実行することが実行基準を満たさないとの判定に従って、プロセシングユニット2308は、第1の電子デバイスにおいてタスクを実行することが実行基準を満たすかを判定するように構成されている(例えば、判定ユニット2314で)。
[0451]
いくつかの実施例では、第1の電子デバイスにおいてタスクを実行することが実行基準を満たすとの判定に従って、プロセシングユニット2308は、第1の電子デバイスにおいてタスクが実行されると判定するように構成されている(例えば、判定ユニット2314で)。
[0452]
いくつかの実施例では、第1の電子デバイスにおいてタスクを実行することが実行基準を満たさないとの判定に従って、プロセシングユニット2308は、第2の電子デバイスにおいてタスクを実行することが実行基準を満たすかを判定するように構成されている(例えば、判定ユニット2314で)。
[0453]
いくつかの実施例では、実行基準は、1つ以上のユーザ優先度に基づいて判定される。
[0454]
いくつかの実施例では、実行基準は、デバイス構成データに基づいて判定される。
[0455]
いくつかの実施例では、実行基準は、動的に更新される。
[0456]
いくつかの実施例では、ユーザデバイスにおいてタスクが実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、プロセシングユニット2308は、コンテンツの少なくとも一部を第1の電子デバイスから受信するように構成され(例えば、受信ユニット2310で)、コンテンツの少なくとも一部は、第1の電子デバイスに記憶されている。
[0457]
いくつかの実施例では、ユーザデバイスにおいてタスクが実行され、タスクを実行するためのコンテンツがリモートに位置するとの判定に従って、プロセシングユニット2308は、コンテンツの少なくとも一部を第3の電子デバイスから受信するように構成されている(例えば、受信ユニット2310で)。
[0458]
いくつかの実施例では、第1の電子デバイスにおいてタスクが実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、プロセシングユニット2308は、コンテンツの少なくとも一部をユーザデバイスから第1の電子デバイスに提供するように構成され(例えば、提供ユニット2318で)、コンテンツの少なくとも一部は、ユーザデバイスに記憶されている。
[0459]
いくつかの実施例では、第1の電子デバイスにおいてタスクが実行され、タスクを実行するためのコンテンツが第1の電子デバイスに対してリモートに位置するとの判定に従って、プロセシングユニット2308は、コンテンツの少なくとも一部を第4の電子デバイスから第1の電子デバイスに提供させるように構成されている(例えば、使役ユニット2352で)。コンテンツの少なくとも一部は、第4の電子デバイスに記憶されている。
[0460]
いくつかの実施例では、ユーザデバイスにおいてタスクが実行され、プロセシングユニット2308は、受信されたコンテンツを使用して、ユーザデバイスにおいて第1の応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0461]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスにおいてタスクを実行するように構成されている(例えば、実行ユニット2316で)。
[0462]
いくつかの実施例では、ユーザデバイスにおいてタスクを実行することは、ユーザデバイスに対して部分的にリモートに実行されたタスクの続きである。
[0463]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスにおいて実行されるタスクと関連付けられた第1のユーザインタフェースを表示するように構成されている(例えば、表示ユニット2322で)。
[0464]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスにおいて実行されるタスクと関連付けられたリンクを提供するように構成されている(例えば、提供ユニット2318で)。
[0465]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスにおいて実行されるタスクに従って発話出力を提供するように構成されている(例えば、提供ユニット2318で)。
[0466]
いくつかの実施例では、第1の電子デバイスにおいてタスクが実行され、プロセシングユニット2308は、ユーザデバイスにおいて第2の応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0467]
いくつかの実施例では、プロセシングユニット2308は、第1の電子デバイスにおいてタスクを実行させるように構成されている(例えば、使役ユニット2352で)。
[0468]
いくつかの実施例では、第1の電子デバイスにおいて実行されるタスクは、第1の電子デバイスに対してリモートに実行されたタスクの続きである。
[0469]
いくつかの実施例では、プロセシングユニット2308は、第1の電子デバイスにおいて実行されるタスクに従って発話出力を提供するように構成されている(例えば、提供ユニット2318で)。
[0470]
いくつかの実施例では、プロセシングユニット2308は、ユーザがタスクの実行のための別の電子デバイスを選択することを可能にするアフォーダンスを提供するように構成されている(例えば、提供ユニット2318で)。
12.電子デバイス−システム構成管理
[0471]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスの1つ以上のシステム構成を管理するために、発話入力をユーザから受信するように構成されている(例えば、受信ユニット2310で)。ユーザデバイスは、複数のユーザインタフェースを同時に提供するように構成されている。
[0472]
いくつかの実施例では、プロセシングユニット2308は、ユーザデバイスと関連付けられたコンテクスト情報を特定し(例えば、特定ユニット2312で)、発話入力及びコンテクスト情報に基づいてユーザ意図を判定するように構成されている(例えば、判定ユニット2314で)。
[0473]
いくつかの実施例では、プロセシングユニット2308は、ユーザ意図が情報の要求を示すか又はタスクを実行する要求を示すかを判定するように構成されている(例えば、判定ユニット2314で)。
[0474]
いくつかの実施例では、ユーザ意図が情報の要求を示すとの判定に従って、プロセシングユニット2308は、情報の要求への発話応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0475]
いくつかの実施例では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、プロセシングユニット2308は、タスクを実行するユーザデバイスと関連付けられた処理をインスタンス化するように構成されている(例えば、インスタンス化ユニット2335で)。
[0476]
いくつかの実施例では、プロセシングユニット2308は、発話入力を受信する前に、ユーザデバイスのディスプレイ上で、デジタルアシスタントを呼び出すためのアフォーダンスを表示するように構成されている(例えば、表示ユニット2322で)。
[0477]
いくつかの実施例では、プロセシングユニット2308は、所定のフレーズを受信したことに応じてデジタルアシスタントサービスを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0478]
いくつかの実施例では、プロセシングユニット2308は、アフォーダンスの選択を受信したことに応じてデジタルアシスタントサービスを呼び出すように構成されている(例えば、呼出ユニット2320で)。
[0479]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、音声構成を含む。
[0480]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、日付及び時間構成を含む。
[0481]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、聞き取り構成を含む。
[0482]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、表示構成を含む。
[0483]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、入力デバイス構成を含む。
[0484]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、ネットワーク構成を含む。
[0485]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、通知構成を含む。
[0486]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、プリンタ構成を含む。
[0487]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、セキュリティ構成を含む。
[0488]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、バックアップ構成を含む。
[0489]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、アプリケーション構成を含む。
[0490]
いくつかの実施例では、ユーザデバイスの1つ以上のシステム構成は、ユーザインタフェース構成を含む。
[0491]
いくつかの実施例では、プロセシングユニット2308は、1つ以上の実施可能な意図を判定し(例えば、判定ユニット2314で)、実施可能な意図と関連付けられた1つ以上のパラメータを判定するように構成されている(例えば、判定ユニット2314で)。
[0492]
いくつかの実施例では、コンテクスト情報は、ユーザ特有データ、デバイス構成データ、及びセンサデータのうちの少なくとも1つを含む。
[0493]
いくつかの実施例では、プロセシングユニット2308は、ユーザ意図がシステム構成を変えることであるか否かを判定するように構成されている(例えば、判定ユニット2314で)。
[0494]
いくつかの実施例では、プロセシングユニット2308は、情報の要求に従って1つ以上のシステム構成の状況を取得し(例えば、取得ユニット2354で)、1つ以上のシステム構成の状況に従って発話応答を提供するように構成されている(例えば、提供ユニット2318で)。
[0495]
いくつかの実施例では、ユーザ意図が情報の要求を示すとの判定に従って、プロセシングユニット2308は、情報の要求への発話応答を提供することに加え、1つ以上のシステム構成の状況に従って情報を提供する第1のユーザインタフェースを表示するように構成されている(例えば、表示ユニット2322で)。
[0496]
いくつかの実施例では、ユーザ意図が情報の要求を示すとの判定に従って、プロセシングユニット2308は、情報の要求への発話応答を提供することに加え、情報の要求と関連付けられたリンクを提供するように構成されている(例えば、提供ユニット2318で)。
[0497]
いくつかの実施例では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、プロセシングユニット2308は、処理を使用してタスクを実行するように構成されている(例えば、実行ユニット2316で)。
[0498]
いくつかの実施例では、プロセシングユニット2308は、タスクを実行した結果に従って第1の発話出力を提供するように構成されている(例えば、提供ユニット2318で)。
[0499]
いくつかの実施例では、プロセシングユニット2308は、ユーザがタスクを実行した結果を操作することを可能にするために、第2のユーザインタフェースを提供するように構成されている(例えば、提供ユニット2318で)。
[0500]
いくつかの実施例では、第2のユーザインタフェースは、タスクを実行した結果と関連付けられたリンクを含む。
[0501]
いくつかの実施例では、ユーザ意図がタスクを実行する要求を示すとの判定に従って、プロセシングユニット2308は、ユーザがタスクを実行することを可能にする第3のユーザインタフェースを提供するように構成されている(例えば、提供ユニット2318で)。
[0502]
いくつかの実施例では、第3のユーザインタフェースは、ユーザがタスクを実行することを可能にするリンクを含む。
[0503]
いくつかの実施例では、プロセシングユニット2308は、第3のユーザインタフェースと関連付けられた第2の発話出力を提供するように構成されている(例えば、提供ユニット2318で)。
[0504]
図23を参照して上記説明された動作は、任意選択的に、図1、2A、4、6A〜B、又は7A〜7Bに記述された構成要素によって実装される。例えば、受信動作2310、特定動作2312、判定動作2314、実行動作2316、及び提供動作2318は、任意選択的に、プロセッサ(単数又は複数)220によって実施される。図1、2A、4、6A〜B、又は7A〜7Bに記述された構成要素に基づいて、他の処理をどのように実施することができるかが当業者にとって明らかとなるであろう。
[0505]
図12で説明された機能的ブロックは、任意選択的に、様々な説明された実施形態の原理を実装するためにサブブロックに組み合わされ、又は分離されることが当業者によって理解される。従って、本明細書における説明は、任意選択的に、本明細書で説明されたいずれかの可能な組み合わせ、分離、又は更に定義をサポートする。例えば、プロセシングユニット2308は、動作を可能にするためにプロセシングユニット2308と動作可能に結合された関連付けられた「コントローラ」ユニットを有することができる。このコントローラユニットは、図23で別々に示されていないが、デバイス2300等のプロセシングユニット2308を有するデバイスを設計している当業者の把握の範囲内にあることが理解される。別の実施例として、受信ユニット2310等の1つ以上のユニットは、いくつかの実施形態におけるプロセシングユニット2308の外側のハードウェアユニットであってもよい。よって、本明細書における説明は、任意選択的に、本明細書で説明された機能的ブロックの組み合わせ、分離、及び/又は更に定義をサポートする。
[0506]
上記説明は、説明の目的で、特定の実施形態を参照して説明されてきた。しかしながら。上記例示的な議論は、包括的であることを意図しておらず、又は開示される簡易な形式に本発明を限定することを意図していない。多くの修正及び変更が上記教示を考慮して可能である。技術の原理及びそれらの実用的な適用例を最良に説明するために実施形態が選択及び説明されてきた。他の当業者は、それらによって、考慮される特定の使用に適切なものとして、様々な修正で技術及び様々な実施形態を最良に利用することが可能になる。
[0507]
添付図面を参照して開示及び実施例が十分に説明されたが、様々な変更及び修正が当業者にとって明らかとなることに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるものとして、開示及び実施例の範囲内に含まれるものとして理解される。
[書類名]特許請求の範囲
[請求項1]
1つ以上のプロセッサと、
メモリと、
メモリに記憶された1つ以上のプログラムと、を備える電子デバイスであって、前記1つ以上のプログラムが、命令を含み、前記命令は、
第1の音声入力をユーザから受信し、
前記ユーザデバイスと関連付けられたコンテクスト情報を特定し、
前記第1の音声入力及び前記コンテクスト情報に基づいてユーザ意図を判定し、
前記ユーザ意図が、検索処理であって、前記検索処理は、前記ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されている、検索処理を使用してタスクを実行することであるか又はオブジェクト管理処理であって、前記オブジェクト管理処理は、前記ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている、オブジェクト管理処理を使用してタスクを実行することであるかを判定し、
前記ユーザ意図が前記検索処理を使用して前記タスクを実行することであるとの判定に従って、前記検索処理を使用して前記タスクを実行し、
前記ユーザ意図が前記オブジェクト管理処理を使用して前記タスクを実行することであるとの判定に従って、前記オブジェクト管理処理を使用して前記タスクを実行する、電子デバイス。
[請求項2]
前記第1の音声入力を受信する前に、
所定のフレーズを受信したことに応じて前記デジタルアシスタントを呼び出す、又は
アフォーダンスの選択を受信したことに応じて前記デジタルアシスタントを呼び出す、ことを更に備える、請求項1に記載の電子デバイス。
[請求項3]
前記ユーザ意図を判定することは、
1つ以上の実施可能な意図を判定し、
前記実施可能な意図と関連付けられた1つ以上のパラメータを判定する、ことを含む、請求項1に記載の電子デバイス。
[請求項4]
前記コンテクスト情報は、ユーザ特有データ、1つ以上のオブジェクトと関連付けられたメタデータ、センサデータ、及びユーザデバイス構成データのうちの少なくとも1つを含む、請求項1に記載の電子デバイス。
[請求項5]
前記ユーザ意図が、前記検索処理を使用して前記タスクを実行することであるか又は前記オブジェクト管理処理を使用して前記タスクを実行することであるかを判定することは、
前記音声入力が前記検索処理又は前記オブジェクト管理処理を表す1つ以上のキーワードを含むかを判定することを含む、請求項1に記載の電子デバイス。
[請求項6]
前記ユーザ意図が、前記検索処理を使用して前記タスクを実行することであるか又は前記オブジェクト管理処理を使用して前記タスクを実行することであるかを判定することは、
前記タスクが検索することと関連付けられるかを判定し、
前記タスクが検索することと関連付けられるとの判定に従って、前記タスクを実行することが前記検索処理を必要とするかを判定し、
前記タスクが検索することと関連付けられていないとの判定に従って、前記タスクが少なくとも1つのオブジェクトを管理することと関連付けられているかを判定する、ことを含む、請求項1に記載の電子デバイス。
[請求項7]
前記タスクは、検索することと関連付けられ、
前記タスクを実行することが前記検索処理を必要としないとの判定に従って、
前記検索処理又は前記オブジェクト管理処理を選択するために口頭要求を出力し、
前記ユーザから、前記検索処理又は前記オブジェクト管理処理の前記選択を示す第2の音声入力を受信する、ことを更に備える、請求項6に記載の電子デバイス。
[請求項8]
前記タスクは、検索することと関連付けられ、
前記タスクを実行することが前記検索処理を必要としないとの判定に従って、所定の構成に基づいて、前記検索処理又は前記オブジェクト管理処理を使用して前記タスクが実行されるかを判定する、ことを更に備える、請求項6に記載の電子デバイス。
[請求項9]
前記タスクは、検索することと関連付けられず、
前記タスクが前記少なくとも1つのオブジェクトを管理することと関連付けられていないとの判定に従って、
タスクが前記ユーザデバイスに利用可能な第4の処理を使用して実行可能であるかを判定し、及び、
前記ユーザとのダイアログを開始する、ことのうちの少なくとも1つを実行することを更に備える、請求項6に記載の電子デバイス。
[請求項10]
前記検索処理を使用して前記タスクを実行することは、
前記検索処理を使用して少なくとも1つのオブジェクトを検索する、ことを含む、請求項1に記載の電子デバイス。
[請求項11]
前記少なくとも1つのオブジェクトは、フォルダ、ファイル、通信、コンタクト、カレンダー、アプリケーション、及びオンライン情報ソースのうちの少なくとも1つを含む、請求項10に記載の電子デバイス。
[請求項12]
前記ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含み、前記ファイルは、前記ユーザデバイスの内部又は外部に記憶され、前記フォルダ又は前記ファイルのうちの少なくとも1つを検索することは、前記フォルダ又は前記ファイルと関連付けられたメタデータに基づいている、請求項11に記載の電子デバイス。
[請求項13]
前記通信は、電子メール、メッセージ、通知、又はボイスメールのうちの少なくとも1つを含む、請求項11に記載の電子デバイス。
[請求項14]
前記通信と関連付けられたメタデータを検索することを更に含む、請求項11に記載の電子デバイス。
[請求項15]
前記タスクは、検索することと関連付けられ、前記オブジェクト管理処理を使用して前記タスクを実行することは、
前記オブジェクト管理処理を使用して前記少なくとも1つのオブジェクトを検索することを含む、請求項1に記載の電子デバイス。
[請求項16]
前記少なくとも1つのオブジェクトは、フォルダ又はファイルのうちの少なくとも1つを含む、請求項15に記載の電子デバイス。
[請求項17]
前記ファイルは、写真、音声、又はビデオのうちの少なくとも1つを含み、前記ファイルは、前記ユーザデバイスの内部又は外部に記憶され、前記フォルダ又は前記ファイルのうちの少なくとも1つを検索することは、前記フォルダ又は前記ファイルと関連付けられたメタデータに基づいている、請求項16に記載の電子デバイス。
[請求項18]
前記オブジェクト管理処理を使用して前記タスクを実行することは、前記オブジェクト管理処理をインスタンス化することを含み、前記オブジェクト管理処理をインスタンス化することは、前記オブジェクト管理処理を呼び出し、前記オブジェクト管理処理の新たなインスタンスを生成し、又は前記オブジェクト管理処理の既存のインスタンスを実行することを含む、請求項1に記載の電子デバイス。
[請求項19]
前記オブジェクト管理処理を使用して前記タスクを実行することは、
前記少なくとも1つのオブジェクトを作成し、
前記少なくとも1つのオブジェクトを記憶し、
前記少なくとも1つのオブジェクトを圧縮し、
前記少なくとも1つのオブジェクトを第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に移動し、
前記少なくとも1つのオブジェクトを第1の物理又は仮想記憶装置から第2の物理又は仮想記憶装置に複製し、
物理又は仮想記憶装置に記憶された前記少なくとも1つのオブジェクトを削除し、
物理又は仮想記憶装置に記憶された少なくとも1つのオブジェクトを復元し、
可視的である、又は前記少なくとも1つのオブジェクトのメタデータと関連付けられていることのうちの少なくとも1つである、前記少なくとも1つのオブジェクトをマーク付けし、
バックアップのための所定の期間に従って前記少なくとも1つのオブジェクトをバックアップし、及び、
前記ユーザデバイスに通信可能に接続された1つ以上の電子デバイスの間で前記少なくとも1つのオブジェクトを共有する、ことのうちの少なくとも1つを含む、請求項1に記載の電子デバイス。
[請求項20]
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した結果に基づいて応答を提供することを更に含む、
請求項1に記載の電子デバイス。
[請求項21]
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した前記結果に基づいて前記応答を提供することは、
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した前記結果を提供する第1のユーザインタフェースを表示し、
前記検索処理を使用して前記タスクを実行した前記結果と関連付けられたリンクを提供し、
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した前記結果に従って口頭出力を提供し、
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した前記結果を前記ユーザが操作することを可能にするアフォーダンスを提供し、及び、
前記タスクを実行した前記結果を使用して動作する第3の処理をインスタンス化する、ことのうちの少なくとも1つを含む、請求項20に記載の電子デバイス。
[請求項22]
検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行した前記結果に基づいて前記応答を提供することは、
信用レベルを判定し、
前記信用レベルの判定に従って前記応答を提供すること、を含む、請求項20に記載の電子デバイス。
[請求項23]
前記信用レベルは、
前記第1の音声入力及び前記ユーザデバイスと関連付けられたコンテクスト情報に基づいて前記ユーザ意図を判定する精度、
前記ユーザ意図は前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行するかを判定する精度、及び、
前記検索処理又は前記オブジェクト管理処理を使用して前記タスクを実行する精度、のうちの少なくとも1つを表す、請求項22に記載の電子デバイス。
[請求項24]
前記信用レベルの前記判定に従って前記応答を提供することは、
前記信用レベルが閾値信用レベル以上であるかを判定し、
前記信用レベルが前記閾値信用レベル以上であるとの判定に従って、第1の応答を提供し、
前記信用レベルが閾値信用レベル未満であるとの判定に従って、第2の応答を提供する、ことを含む、請求項22に記載の電子デバイス。
[請求項25]
1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムは命令を含み、前記命令は、電子デバイスの1つ以上のプロセッサによって実行されると、前記電子デバイスに、
第1の音声入力をユーザから受信させ、
前記ユーザデバイスと関連付けられたコンテクスト情報を特定させ、
前記第1の音声入力及び前記コンテクスト情報に基づいてユーザ意図を判定させ、
前記ユーザ意図が、検索処理であって、前記検索処理は、前記ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されている、検索処理を使用してタスクを実行することであるか又はオブジェクト管理処理であって、前記オブジェクト管理処理は、前記ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている、記オブジェクト管理処理を使用してタスクを実行することであるかを判定させ、
前記ユーザ意図が前記検索処理を使用して前記タスクを実行することであるとの判定に従って、前記検索処理を使用して前記タスクを実行させ、
前記ユーザ意図が前記オブジェクト管理処理を使用して前記タスクを実行することであるとの判定に従って、前記オブジェクト管理処理を使用して前記タスクを実行させる、非一時的コンピュータ可読記憶媒体。
[請求項26]
デジタルアシスタントサービスを提供する方法であって、
第1の音声入力をユーザから受信することと、
前記ユーザデバイスと関連付けられたコンテクスト情報を特定することと、
前記第1の音声入力及び前記コンテクスト情報に基づいてユーザ意図を判定することと、
前記ユーザ意図は、検索処理を使用してタスクを実行することであるか又はオブジェクト管理処理を使用してタスクを実行することであるかを判定することであって、
前記検索処理は、前記ユーザデバイスの内部又は外部に記憶されたデータを検索するように構成されており、前記オブジェクト管理処理は、前記ユーザデバイスと関連付けられたオブジェクトを管理するように構成されている、ことと、
前記ユーザ意図が前記検索処理を使用して前記タスクを実行することであるとの判定に従って、前記検索処理を使用して前記タスクを実行することと、
前記ユーザ意図が前記オブジェクト管理処理を使用して前記タスクを実行することであるとの判定に従って、前記オブジェクト管理処理を使用して前記タスクを実行することと、を含む、方法。
[書類名] 要約書
[要約]
デジタルアシスタントを動作させるためのシステム及び処理が提供される。一実施例では、方法は、第1の発話入力をユーザから受信することを含む。方法は、コンテクスト情報を特定することと、第1の発話入力及びコンテクスト情報に基づいてユーザ意図を判定することとを更に含む。方法は、ユーザ意図が、検索処理を使用して又はオブジェクト管理処理を使用してタスクを実行することであるかを判定することを更に含む。検索処理は、データを検索するように構成されており、オブジェクト管理処理は、オブジェクトを管理するように構成されている。方法は、ユーザ意図が検索処理を使用してタスクを実行することであるとの判定に従って、検索処理を使用してタスクを実行することと、ユーザ意図がオブジェクト管理処理を使用してタスクを実行することであるとの判定に従って、オブジェクト管理処理を使用してタスクを実行することとを更に含む。
[書類名] 図面
[図1]
[図2A]
[図2B]
[図3]
[図4]
[図5A]
[図5B]
[図6A]
[図6B]
[図7A]
[図7B]
[図7C]
[図8A]
[図8B]
[図8C]
[図8D]
[図8E]
[図8F]
[図9A]
[図9B]
[図9C]
[図9D]
[図9E]
[図9F]
[図9G]
[図9H]
[図10A]
[図10B]
[図11A]
[図11B]
[図11C]
[図11D]
[図12A]
[図12B]
[図12C]
[図12D]
[図13A]
[図13B]
[図13C]
[図14A]
[図14B]
[図14C]
[図14D]
[図15A]
[図15B]
[図15C]
[図15D]
[図16A]
[図16B]
[図16C]
[図17A]
[図17B]
[図17C]
[図17D]
[図17E]
[図18A]
[図18B]
[図18C]
[図18D]
[図18E]
[図18F]
[図19A]
[図19B]
[図19C]
[図19D]
[図20A]
[図20B]
[図20C]
[図20D]
[図20E]
[図20F]
[図20G]
[図21A]
[図21B]
[図21C]
[図21D]
[図21E]
[図22A]
[図22B]
[図22C]
[図22D]
[図23]
Claims (30)
- デジタルアシスタントサービスを提供するための方法であって、
1つ以上のプロセッサ及びメモリを有する第1の電子デバイスであって、前記第1の電子デバイスは複数のユーザの識別情報に基づいて音声ベースのサービスを前記複数のユーザに拡張するように構成されており、前記音声ベースのサービスは第2の電子デバイス及び第3の電子デバイスのうちの1つ又は両方で提供される、第1の電子デバイスにおいて、
第1のユーザからユーザ要求を表す第1の音声入力を受信することと、
前記第1の音声入力を受信した後に、前記第1のユーザの識別情報を入手することであって、前記第1のユーザの前記識別情報は、前記第1の電子デバイスの近傍に配置されたクライアント装置である前記第3の電子デバイスとの通信に基づいて入手される、ことと
前記第1のユーザの前記識別情報に従って、前記ユーザ要求の表現を前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つに提供することと、
前記第2の電子デバイス又は前記第3の電子デバイス、又はその両方が、前記第1の電子デバイスに応答を提供するかどうかの判定に基づいて、前記第2の電子デバイス又は前記第3の電子デバイスから前記ユーザ要求への前記応答を受信することと、
前記第1のユーザへの前記応答の表現を提供することと、
を含む、方法。 - 前記第2の電子デバイスは、前記第1の電子デバイスからリモートに配置されたサーバである、請求項1に記載の方法。
- 前記ユーザ要求は、
前記第1のユーザに固有の情報に対する要求、
非ユーザ固有情報に対する要求、及び
タスクを実行する要求、
を含む、請求項1又は2に記載の方法。 - 前記ユーザ要求の前記表現を前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つに提供することは、
前記第3の電子デバイスが前記第1の電子デバイスに通信可能に結合しているか否かを判定することと、
前記第3の電子デバイスが前記第1の電子デバイスに通信可能に結合しているという判定に従って、前記ユーザ要求の前記表現を前記第2の電子デバイスではなく前記第3の電子デバイスに提供することと、
前記第3の電子デバイスが前記第1の電子デバイスに通信可能に結合していないという判定に従って、前記ユーザ要求の前記表現を前記第2の電子デバイスに提供することと、
を含む、請求項1から3のいずれか一項に記載の方法。 - 前記ユーザ要求の前記表現を前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つに提供することは、
前記ユーザ要求の前記表現を前記第3の電子デバイスではなく前記第2の電子デバイスに提供することを含む、請求項1から4のいずれか一項に記載の方法。 - 前記ユーザ要求の前記表現を前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つに提供することは、
前記ユーザ要求の前記表現を前記第2の電子デバイス及び前記第3の電子デバイスの両方に提供することを含む、請求項1から5のいずれか一項に記載の方法。 - 前記ユーザ要求の前記表現は、前記第2の電子デバイスではなく前記第3の電子デバイスに提供され、前記ユーザ要求への前記応答を受信することは、
前記第3の電子デバイスに、前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができるかどうかを判定させることと、
前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができるという判定に従って、前記第1の電子デバイスにおいて、前記第3の電子デバイスから前記ユーザ要求への前記応答を受信することと、
を含む、請求項1から6のいずれか一項に記載の方法。 - 前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができないという判定に従って、
前記第3の電子デバイスによって、前記ユーザ要求の前記表現を前記第2の電子デバイスへ転送することと、
前記第1の電子デバイスにおいて、前記第2の電子デバイスから前記ユーザ要求への前記応答を受信することと、
を更に含む、請求項7に記載の方法。 - 前記ユーザ要求の前記表現は、前記第3の電子デバイスではなく前記第2の電子デバイスに提供され、前記ユーザ要求への前記応答を受信することは、
前記第2の電子デバイスに、前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができるかどうかを判定させることと、
前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができるという判定に従って、前記第1の電子デバイスにおいて、前記第2の電子デバイスから前記ユーザ要求への前記応答を受信することと、
を含む、請求項1から6のいずれか一項に記載の方法。 - 前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができないという判定に従って、
前記第2の電子デバイスによって、前記ユーザ要求の前記表現を前記第3の電子デバイスへ転送することと、
前記第1の電子デバイスにおいて、前記ユーザ要求への前記応答を受信することと、
を更に含む、請求項9に記載の方法。 - 前記第1の電子デバイスは、前記第3の電子デバイスから前記ユーザ要求への前記応答を受信する、請求項10に記載の方法。
- 前記第1の電子デバイスは、前記第3の電子デバイスによって前記第2の電子デバイスへ提供された応答に基づいて、前記第2の電子デバイスから前記ユーザ要求への前記応答を受信する、請求項10に記載の方法。
- 前記ユーザ要求の前記表現は、前記第1の電子デバイスから前記第2の電子デバイス及び前記第3の電子デバイスの両方に提供され、前記ユーザ要求への前記応答を受信することは、
前記第2の電子デバイスに、前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができるかどうかを判定させることと、
前記第3の電子デバイスに、前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができるかどうかを判定させることと、
の少なくとも1つを含む、請求項1から6のいずれか一項に記載の方法。 - 前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができ、前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができないという判定に従って、
前記第1の電子デバイスにおいて、前記第2の電子デバイスから前記ユーザ要求への前記応答を受信すること、
を更に含む、請求項13に記載の方法。 - 前記第3の電子デバイスが前記ユーザ要求への前記応答を提供することができ、前記第2の電子デバイスが前記ユーザ要求への前記応答を提供することができないという判定に従って、
前記第1の電子デバイスにおいて、前記第3の電子デバイスから前記ユーザ要求への前記応答を受信すること、
を更に含む、請求項13に記載の方法。 - 前記第2の電子デバイス及び前記第3の電子デバイスの両方が前記ユーザ要求への前記応答を提供することができるという判定に従って、
前記第1の電子デバイスにおいて、前記第2の電子デバイス又は前記第3の電子デバイスから所定の条件に基づいて前記ユーザ要求への前記応答を受信すること、
を更に含む、請求項13に記載の方法。 - 前記第1のユーザへの前記応答の前記表現を提供することは、
前記第1の電子デバイスにおいて、前記ユーザ要求に応じて、情報を含む音声出力を提供することを含む、請求項1から16のいずれか一項に記載の方法。 - 前記第1のユーザへの前記応答の前記表現を提供することは、
前記第1の電子デバイスにおいて、前記ユーザ要求に従ってタスクを実行することに関連付けられた音声出力を提供することを含む、請求項1から16のいずれか一項に記載の方法。 - 前記タスクは、
前記第3の電子デバイス、
前記第1の電子デバイス及び前記第3の電子デバイス、又は
前記第1の電子デバイス、前記第3の電子デバイス、及び1つ以上の追加の電子デバイス、
によって実行される請求項18に記載の方法。 - 前記第1のユーザへの前記応答の前記表現を提供する前に、
前記応答の前記表現が前記第1の電子デバイスによって提供されるべきか否かを判定することと、
前記応答の前記表現が前記第1の電子デバイスによって提供されるべきという判定に従って、前記第1の電子デバイスによって前記第1のユーザへの前記応答の前記表現を提供することと、
前記応答の前記表現が前記第1の電子デバイスによって提供されるべきではないという判定に従って、前記応答を1つ以上の追加の電子デバイスに転送することと、
を含む、請求項1から19のいずれか一項に記載の方法。 - 前記応答が前記第1の電子デバイスによって提供されるべきか否かの判定は、
前記ユーザ要求、及び
前記ユーザの場所を検出するか又は前記ユーザの動きをトラッキングするかの少なくとも1つ、
のうちの少なくとも1つに基づく、請求項20に記載の方法。 - 前記ユーザ要求の前記表現を前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つに提供する前に、
前記第1の電子デバイスと、前記第2の電子デバイス又は前記第3の電子デバイスのうちの少なくとも1つとの間に接続を確立することを更に含む、請求項1から21のいずれか一項に記載の方法。 - 前記接続を確立することは、前記第1の電子デバイスから所定の距離内にある前記第3の電子デバイスを検出することに基づく、請求項22に記載の方法。
- 前記第1の電子デバイスと前記第3の電子デバイスとの間の接続を確立することであって、前記第3の電子デバイスが前記第1のユーザと関連付けられている、ことと、
前記第1の電子デバイスと第4の電子デバイスとの間の接続を確立することであって、前記第4の電子デバイスが第2のユーザと関連付けられている、ことと、
を更に含む、請求項22から23のいずれか一項に記載の方法。 - 前記第1の電子デバイスと1つ以上の追加の電子デバイスとの間の1つ以上の接続を確立することであって、前記追加の電子デバイスが前記第1の電子デバイスと同じタイプのデバイスである、ことを更に含む、請求項1から24のいずれか一項に記載の方法。
- 前記第1の電子デバイスによって前記第1のユーザに前記応答を提供する間に、
前記応答が異なる電子デバイスにおいて継続的に提供されるべきかどうかを判定することと、
前記応答が異なる電子デバイスにおいて継続的に提供されるべきであるという判定に従って、前記第3の電子デバイス又は1つ以上の追加の電子デバイスのうちの少なくとも1つによって継続的に前記応答を提供させることと、
を更に含む、請求項1から25のいずれか一項に記載の方法。 - 前記応答が異なる電子デバイスにおいて継続的に提供されるべきかどうかの前記判定は、前記第1の電子デバイスに対する前記第1のユーザの場所の変動が所定の条件を満たすかどうかを検出することに基づく、請求項26に記載の方法。
- 請求項1から27のいずれか一項に記載の方法の各ステップを実行する命令を備えるコンピュータプログラム。
- 請求項28に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに格納された命令を実行可能な1つ以上のプロセッサと、
を備える、第1の電子デバイス。 - 請求項1から27のいずれか一項に記載の方法を実行する手段を備える、第1の電子デバイス。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762507151P | 2017-05-16 | 2017-05-16 | |
US62/507,151 | 2017-05-16 | ||
DKPA201770434 | 2017-06-02 | ||
DKPA201770435A DK179560B1 (en) | 2017-05-16 | 2017-06-02 | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
DKPA201770434A DK179549B1 (en) | 2017-05-16 | 2017-06-02 | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
DKPA201770435 | 2017-06-02 | ||
US15/679,108 | 2017-08-16 | ||
US15/679,108 US11217255B2 (en) | 2017-05-16 | 2017-08-16 | Far-field extension for digital assistant services |
PCT/US2018/032919 WO2018213415A1 (en) | 2017-05-16 | 2018-05-16 | Far-field extension for digital assistant services |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001345A Division JP6738445B2 (ja) | 2017-05-16 | 2019-01-08 | デジタルアシスタントサービスの遠距離拡張 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6606301B1 true JP6606301B1 (ja) | 2019-11-13 |
JP2019535048A JP2019535048A (ja) | 2019-12-05 |
Family
ID=64274809
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018567925A Active JP6606301B1 (ja) | 2017-05-16 | 2018-05-16 | デジタルアシスタントサービスの遠距離拡張 |
JP2019001345A Active JP6738445B2 (ja) | 2017-05-16 | 2019-01-08 | デジタルアシスタントサービスの遠距離拡張 |
JP2020123111A Active JP7037602B2 (ja) | 2017-05-16 | 2020-07-17 | デジタルアシスタントサービスの遠距離拡張 |
JP2022033719A Active JP7379562B2 (ja) | 2017-05-16 | 2022-03-04 | デジタルアシスタントサービスの遠距離拡張 |
JP2023187807A Pending JP2024020278A (ja) | 2017-05-16 | 2023-11-01 | デジタルアシスタントサービスの遠距離拡張 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001345A Active JP6738445B2 (ja) | 2017-05-16 | 2019-01-08 | デジタルアシスタントサービスの遠距離拡張 |
JP2020123111A Active JP7037602B2 (ja) | 2017-05-16 | 2020-07-17 | デジタルアシスタントサービスの遠距離拡張 |
JP2022033719A Active JP7379562B2 (ja) | 2017-05-16 | 2022-03-04 | デジタルアシスタントサービスの遠距離拡張 |
JP2023187807A Pending JP2024020278A (ja) | 2017-05-16 | 2023-11-01 | デジタルアシスタントサービスの遠距離拡張 |
Country Status (6)
Country | Link |
---|---|
EP (4) | EP4047600A3 (ja) |
JP (5) | JP6606301B1 (ja) |
KR (4) | KR102100742B1 (ja) |
CN (4) | CN110021300B (ja) |
AU (5) | AU2018271099B2 (ja) |
WO (1) | WO2018213415A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220068276A1 (en) * | 2020-09-01 | 2022-03-03 | Sharp Kabushiki Kaisha | Information processor, print system, and control method |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9954996B2 (en) | 2007-06-28 | 2018-04-24 | Apple Inc. | Portable electronic device with conversation management for incoming instant messages |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10706096B2 (en) | 2011-08-18 | 2020-07-07 | Apple Inc. | Management of local and remote media items |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
DE112014000709B4 (de) | 2013-02-07 | 2021-12-30 | Apple Inc. | Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
EP3149554B1 (en) | 2014-05-30 | 2024-05-01 | Apple Inc. | Continuity |
US9185062B1 (en) | 2014-05-31 | 2015-11-10 | Apple Inc. | Message user interfaces for capture and transmittal of media and location content |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
WO2016036510A1 (en) | 2014-09-02 | 2016-03-10 | Apple Inc. | Music user interface |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
CN111343060B (zh) | 2017-05-16 | 2022-02-11 | 苹果公司 | 用于家庭媒体控制的方法和界面 |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20220279063A1 (en) | 2017-05-16 | 2022-09-01 | Apple Inc. | Methods and interfaces for home media control |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
EP3769510A1 (en) | 2018-05-07 | 2021-01-27 | Apple Inc. | User interfaces for viewing live video feeds and recorded video |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK201870364A1 (en) | 2018-05-07 | 2019-12-03 | Apple Inc. | MULTI-PARTICIPANT LIVE COMMUNICATION USER INTERFACE |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11128792B2 (en) | 2018-09-28 | 2021-09-21 | Apple Inc. | Capturing and displaying images with multiple focal planes |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
CN109378006B (zh) * | 2018-12-28 | 2022-09-16 | 三星电子(中国)研发中心 | 一种跨设备声纹识别方法及系统 |
WO2020153736A1 (en) | 2019-01-23 | 2020-07-30 | Samsung Electronics Co., Ltd. | Method and device for speech recognition |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
JP7259446B2 (ja) * | 2019-03-20 | 2023-04-18 | 沖電気工業株式会社 | 音声処理装置、エージェントシステム、プログラム、および、音声処理方法 |
US11482215B2 (en) | 2019-03-27 | 2022-10-25 | Samsung Electronics Co., Ltd. | Multi-modal interaction with intelligent assistants in voice command devices |
US11538482B2 (en) | 2019-04-25 | 2022-12-27 | Lg Electronics Inc. | Intelligent voice enable device searching method and apparatus thereof |
WO2020222988A1 (en) | 2019-04-30 | 2020-11-05 | Apple Inc. | Utilizing context information with an electronic device |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
WO2020231181A1 (en) | 2019-05-16 | 2020-11-19 | Samsung Electronics Co., Ltd. | Method and device for providing voice recognition service |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970533A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Methods and user interfaces for sharing audio |
US11620103B2 (en) | 2019-05-31 | 2023-04-04 | Apple Inc. | User interfaces for audio media control |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11363071B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User interfaces for managing a local network |
US10996917B2 (en) | 2019-05-31 | 2021-05-04 | Apple Inc. | User interfaces for audio media control |
US10802843B1 (en) | 2019-05-31 | 2020-10-13 | Apple Inc. | Multi-user configuration |
US11363382B2 (en) * | 2019-05-31 | 2022-06-14 | Apple Inc. | Methods and user interfaces for audio synchronization |
WO2020242493A1 (en) * | 2019-05-31 | 2020-12-03 | Google Llc | Dynamically assigning multi-modality circumstantial data to assistant action requests for correlating with subsequent requests |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US10904029B2 (en) | 2019-05-31 | 2021-01-26 | Apple Inc. | User interfaces for managing controllable external devices |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
WO2020251101A1 (ko) * | 2019-06-14 | 2020-12-17 | 엘지전자 주식회사 | 사용자의 동선을 결정하는 인공 지능 장치 및 그 방법 |
US20210405148A1 (en) * | 2019-06-14 | 2021-12-30 | Lg Electronics Inc. | An artificial intelligence apparatus for providing service based on path of user and method for the same |
KR20210015428A (ko) | 2019-08-02 | 2021-02-10 | 삼성전자주식회사 | 사용자 인터페이스를 제공하는 전자 장치 및 방법 |
CN110557741B (zh) * | 2019-08-05 | 2021-08-13 | 华为技术有限公司 | 终端交互的方法及终端 |
KR20210024861A (ko) * | 2019-08-26 | 2021-03-08 | 삼성전자주식회사 | 대화 서비스를 제공하는 방법 및 전자 디바이스 |
US20220343909A1 (en) * | 2019-09-06 | 2022-10-27 | Lg Electronics Inc. | Display apparatus |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11550598B2 (en) | 2019-12-13 | 2023-01-10 | Google Llc | Systems and methods for adding digital content during an application opening operation |
US20210191779A1 (en) * | 2019-12-18 | 2021-06-24 | Google Llc | Operating system level distributed ambient computing |
JP7508787B2 (ja) * | 2020-02-04 | 2024-07-02 | 沖電気工業株式会社 | 情報処理装置、情報処理方法、情報処理プログラム、命令実行サーバ、命令実行方法、命令実行プログラム、データサーバ、データ処理方法およびデータ処理プログラム |
CN111444761B (zh) * | 2020-02-21 | 2023-05-30 | 云知声智能科技股份有限公司 | 一种提高叫醒率的方法及装置 |
CN113409797A (zh) * | 2020-03-16 | 2021-09-17 | 阿里巴巴集团控股有限公司 | 语音处理方法和系统、及语音交互设备和方法 |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11079913B1 (en) | 2020-05-11 | 2021-08-03 | Apple Inc. | User interface for status indicators |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11798546B2 (en) | 2020-08-14 | 2023-10-24 | Google Llc | Transient personalization mode for guest users of an automated assistant |
US11392291B2 (en) | 2020-09-25 | 2022-07-19 | Apple Inc. | Methods and interfaces for media control with dynamic feedback |
EP4222613A1 (en) * | 2020-09-30 | 2023-08-09 | Oracle International Corporation | Automatic out of scope transition for chatbot |
WO2022102893A1 (ko) * | 2020-11-11 | 2022-05-19 | 삼성전자주식회사 | 전자 장치, 시스템 및 그 제어 방법 |
CN112802475A (zh) * | 2020-12-30 | 2021-05-14 | 厦门市美亚柏科信息股份有限公司 | 基于语音识别的应用自动登录方法及计算机可读存储介质 |
CN114844732B (zh) * | 2021-01-30 | 2023-06-20 | 华为技术有限公司 | 一种会议接入方法及电子设备 |
US11431891B2 (en) | 2021-01-31 | 2022-08-30 | Apple Inc. | User interfaces for wide angle video conference |
WO2022168603A1 (ja) * | 2021-02-05 | 2022-08-11 | 株式会社ワコム | 画像描画方法 |
EP4057165B1 (de) * | 2021-03-11 | 2024-07-17 | Deutsche Telekom AG | Sprachassistenzsteuerung |
US11893214B2 (en) | 2021-05-15 | 2024-02-06 | Apple Inc. | Real-time communication user interface |
US20220368548A1 (en) | 2021-05-15 | 2022-11-17 | Apple Inc. | Shared-content session user interfaces |
US11907605B2 (en) | 2021-05-15 | 2024-02-20 | Apple Inc. | Shared-content session user interfaces |
US11960615B2 (en) | 2021-06-06 | 2024-04-16 | Apple Inc. | Methods and user interfaces for voice-based user profile management |
US12021806B1 (en) | 2021-09-21 | 2024-06-25 | Apple Inc. | Intelligent message delivery |
US11770600B2 (en) | 2021-09-24 | 2023-09-26 | Apple Inc. | Wide angle video conference |
US12111875B2 (en) * | 2022-12-14 | 2024-10-08 | Google Llc | Pairing user headphones with a location-based automated assistant |
WO2024172806A1 (en) * | 2023-02-13 | 2024-08-22 | Cerence Operating Company | Extravehicular speech interface for automotive assistant |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3275840B2 (ja) * | 1998-08-12 | 2002-04-22 | 日本電気株式会社 | 機器操作システム及び方法、並びに記録媒体 |
JP3724234B2 (ja) * | 1998-12-22 | 2005-12-07 | カシオ計算機株式会社 | 情報配信装置および記録媒体 |
US7606712B1 (en) * | 2001-06-28 | 2009-10-20 | At&T Intellectual Property Ii, L.P. | Speech recognition interface for voice actuation of legacy systems |
US8831949B1 (en) * | 2001-06-28 | 2014-09-09 | At&T Intellectual Property I, L.P. | Voice recognition for performing authentication and completing transactions in a systems interface to legacy systems |
AU2003211970A1 (en) * | 2002-02-13 | 2003-09-04 | Matsushita Electric Industrial Co., Ltd. | Information providing apparatus, provided information presenting apparatus, and information providing method |
EP1511277A1 (en) * | 2003-08-29 | 2005-03-02 | Swisscom AG | Method for answering an incoming event with a phone device, and adapted phone device |
CA2618623C (en) * | 2005-08-09 | 2015-01-06 | Mobilevoicecontrol, Inc. | Control center for a voice controlled wireless communication device system |
US7949529B2 (en) * | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
US20070156400A1 (en) * | 2006-01-03 | 2007-07-05 | Wheeler Mark R | System and method for wireless dictation and transcription |
US8015014B2 (en) * | 2006-06-16 | 2011-09-06 | Storz Endoskop Produktions Gmbh | Speech recognition system with user profiles management component |
US20080071544A1 (en) * | 2006-09-14 | 2008-03-20 | Google Inc. | Integrating Voice-Enabled Local Search and Contact Lists |
US20090030685A1 (en) * | 2007-03-07 | 2009-01-29 | Cerra Joseph P | Using speech recognition results based on an unstructured language model with a navigation system |
US8977255B2 (en) * | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
JP4412504B2 (ja) * | 2007-04-17 | 2010-02-10 | 本田技研工業株式会社 | 音声認識装置、音声認識方法、及び音声認識用プログラム |
US8099289B2 (en) * | 2008-02-13 | 2012-01-17 | Sensory, Inc. | Voice interface and search for electronic devices including bluetooth headsets and remote systems |
US8370148B2 (en) * | 2008-04-14 | 2013-02-05 | At&T Intellectual Property I, L.P. | System and method for answering a communication notification |
WO2010105246A2 (en) * | 2009-03-12 | 2010-09-16 | Exbiblio B.V. | Accessing resources based on capturing information from a rendered document |
US20100263015A1 (en) * | 2009-04-09 | 2010-10-14 | Verizon Patent And Licensing Inc. | Wireless Interface for Set Top Box |
US20150294377A1 (en) * | 2009-05-30 | 2015-10-15 | Edmond K. Chow | Trust network effect |
EP2339576B1 (en) * | 2009-12-23 | 2019-08-07 | Google LLC | Multi-modal input on an electronic device |
US8352576B2 (en) * | 2010-11-15 | 2013-01-08 | Google Inc. | Media file access |
US9493130B2 (en) * | 2011-04-22 | 2016-11-15 | Angel A. Penilla | Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input |
US8468022B2 (en) * | 2011-09-30 | 2013-06-18 | Google Inc. | Voice control for asynchronous notifications |
EP2608610A1 (en) * | 2011-12-22 | 2013-06-26 | France Telecom | Method for notifying a user of a device of the occurrence of an event |
US10417037B2 (en) * | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
WO2014142702A1 (en) | 2013-03-15 | 2014-09-18 | Obschestvo S Ogranichennoy Otvetstvennostiyu "Speaktoit" | Selective speech recognition for chat and digital personal assistant systems |
US9190057B2 (en) * | 2012-12-12 | 2015-11-17 | Amazon Technologies, Inc. | Speech model retrieval in distributed speech recognition systems |
CN103078995A (zh) * | 2012-12-18 | 2013-05-01 | 苏州思必驰信息科技有限公司 | 一种在移动终端使用的可定制的个性化应答方法和系统 |
US9530409B2 (en) * | 2013-01-23 | 2016-12-27 | Blackberry Limited | Event-triggered hands-free multitasking for media playback |
EP2760015A1 (en) * | 2013-01-23 | 2014-07-30 | BlackBerry Limited | Event-triggered hands-free multitasking for media playback |
JP6115152B2 (ja) * | 2013-01-29 | 2017-04-19 | コニカミノルタ株式会社 | 情報処理システム、情報処理装置、情報処理端末及びプログラム |
US9672822B2 (en) * | 2013-02-22 | 2017-06-06 | Next It Corporation | Interaction with a portion of a content item through a virtual assistant |
US9472205B2 (en) * | 2013-05-06 | 2016-10-18 | Honeywell International Inc. | Device voice recognition systems and methods |
KR102369784B1 (ko) * | 2013-06-07 | 2022-03-03 | 애플 인크. | 지능형 자동 어시스턴트 |
USRE49014E1 (en) | 2013-06-19 | 2022-04-05 | Panasonic Intellectual Property Corporation Of America | Voice interaction method, and device |
KR101506510B1 (ko) * | 2013-10-10 | 2015-03-30 | 송철호 | 음성인식 홈 네트워크 시스템 |
US9698999B2 (en) * | 2013-12-02 | 2017-07-04 | Amazon Technologies, Inc. | Natural language control of secondary device |
US9431021B1 (en) * | 2014-03-27 | 2016-08-30 | Amazon Technologies, Inc. | Device grouping for audio based interactivity |
US8995972B1 (en) * | 2014-06-05 | 2015-03-31 | Grandios Technologies, Llc | Automatic personal assistance between users devices |
US9462112B2 (en) * | 2014-06-19 | 2016-10-04 | Microsoft Technology Licensing, Llc | Use of a digital assistant in communications |
US9632748B2 (en) * | 2014-06-24 | 2017-04-25 | Google Inc. | Device designation for audio input monitoring |
US20150371529A1 (en) * | 2014-06-24 | 2015-12-24 | Bose Corporation | Audio Systems and Related Methods and Devices |
WO2016017997A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Wearable glasses and method of providing content using the same |
JP6555858B2 (ja) * | 2014-08-01 | 2019-08-07 | シャープ株式会社 | 機器、音声出力方法、音声出力プログラム、ネットワークシステム、サーバ、および通信機器 |
KR20160023089A (ko) * | 2014-08-21 | 2016-03-03 | 엘지전자 주식회사 | 디지털 디바이스 및 그 제어 방법 |
US10204622B2 (en) * | 2015-09-10 | 2019-02-12 | Crestron Electronics, Inc. | Acoustic sensory network |
US10789041B2 (en) * | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
CN104202734A (zh) * | 2014-09-23 | 2014-12-10 | 酷派软件技术(深圳)有限公司 | 通知处理方法、通知处理装置和终端 |
JP6448971B2 (ja) * | 2014-09-30 | 2019-01-09 | シャープ株式会社 | 対話装置 |
US10235996B2 (en) * | 2014-10-01 | 2019-03-19 | XBrain, Inc. | Voice and connection platform |
US9812128B2 (en) * | 2014-10-09 | 2017-11-07 | Google Inc. | Device leadership negotiation among voice interface devices |
US9812126B2 (en) * | 2014-11-28 | 2017-11-07 | Microsoft Technology Licensing, Llc | Device arbitration for listening devices |
US20170032783A1 (en) * | 2015-04-01 | 2017-02-02 | Elwha Llc | Hierarchical Networked Command Recognition |
US20160322044A1 (en) * | 2015-04-01 | 2016-11-03 | Elwha Llc | Networked User Command Recognition |
US20160292603A1 (en) * | 2015-04-03 | 2016-10-06 | Microsoft Technology Licensing, LLP | Capturing Notes From Passive Recording With Task Assignments |
US20160365101A1 (en) * | 2015-06-15 | 2016-12-15 | Motorola Mobility Llc | Enabling Event Driven Voice Interaction with a Device |
WO2016205338A1 (en) * | 2015-06-18 | 2016-12-22 | Amgine Technologies (Us), Inc. | Managing interactions between users and applications |
US10325590B2 (en) * | 2015-06-26 | 2019-06-18 | Intel Corporation | Language model modification for local speech recognition systems using remote sources |
US11587559B2 (en) * | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US9965247B2 (en) * | 2016-02-22 | 2018-05-08 | Sonos, Inc. | Voice controlled media playback system based on user profile |
US10127926B2 (en) * | 2016-06-10 | 2018-11-13 | Google Llc | Securely executing voice actions with speaker identification and authentication input types |
-
2018
- 2018-05-16 KR KR1020187038134A patent/KR102100742B1/ko active IP Right Grant
- 2018-05-16 KR KR1020227002381A patent/KR102477489B1/ko active IP Right Grant
- 2018-05-16 AU AU2018271099A patent/AU2018271099B2/en active Active
- 2018-05-16 CN CN201910065508.2A patent/CN110021300B/zh active Active
- 2018-05-16 EP EP22167039.1A patent/EP4047600A3/en active Pending
- 2018-05-16 EP EP20179164.7A patent/EP3745395B1/en active Active
- 2018-05-16 CN CN202310874581.0A patent/CN117130574A/zh active Pending
- 2018-05-16 EP EP19150939.7A patent/EP3493202B1/en active Active
- 2018-05-16 CN CN201880002639.XA patent/CN109463004B/zh active Active
- 2018-05-16 WO PCT/US2018/032919 patent/WO2018213415A1/en unknown
- 2018-05-16 EP EP18732187.2A patent/EP3459076B1/en active Active
- 2018-05-16 CN CN201910310783.6A patent/CN110021301B/zh active Active
- 2018-05-16 JP JP2018567925A patent/JP6606301B1/ja active Active
- 2018-05-16 KR KR1020197001796A patent/KR102089487B1/ko active IP Right Grant
- 2018-05-16 KR KR1020217022175A patent/KR102355966B1/ko active IP Right Grant
-
2019
- 2019-01-08 JP JP2019001345A patent/JP6738445B2/ja active Active
- 2019-01-17 AU AU2019200295A patent/AU2019200295B2/en active Active
- 2019-05-14 AU AU2019203392A patent/AU2019203392B2/en active Active
-
2020
- 2020-02-28 AU AU2020201470A patent/AU2020201470B2/en active Active
- 2020-07-17 JP JP2020123111A patent/JP7037602B2/ja active Active
-
2021
- 2021-08-20 AU AU2021218193A patent/AU2021218193B2/en active Active
-
2022
- 2022-03-04 JP JP2022033719A patent/JP7379562B2/ja active Active
-
2023
- 2023-11-01 JP JP2023187807A patent/JP2024020278A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220068276A1 (en) * | 2020-09-01 | 2022-03-03 | Sharp Kabushiki Kaisha | Information processor, print system, and control method |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6606301B1 (ja) | デジタルアシスタントサービスの遠距離拡張 | |
KR102279647B1 (ko) | 디지털 어시스턴트 서비스의 원거리 확장 | |
JP6641517B2 (ja) | マルチタスキング環境におけるインテリジェントデジタルアシスタント |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181226 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181226 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20181226 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190607 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6606301 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |