JP2019175453A - ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 - Google Patents
ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 Download PDFInfo
- Publication number
- JP2019175453A JP2019175453A JP2019058263A JP2019058263A JP2019175453A JP 2019175453 A JP2019175453 A JP 2019175453A JP 2019058263 A JP2019058263 A JP 2019058263A JP 2019058263 A JP2019058263 A JP 2019058263A JP 2019175453 A JP2019175453 A JP 2019175453A
- Authority
- JP
- Japan
- Prior art keywords
- user
- sequence
- module
- memory
- electronic device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 48
- 238000012545 processing Methods 0.000 title claims description 19
- 238000004891 communication Methods 0.000 claims abstract description 46
- 230000009471 action Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 28
- 238000012790 confirmation Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 42
- 239000003795 chemical substances by application Substances 0.000 description 37
- 238000010586 diagram Methods 0.000 description 21
- 230000005236 sound signal Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 239000002775 capsule Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010977 unit operation Methods 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/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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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
-
- 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- 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/221—Announcement of recognition results
-
- 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/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Theoretical Computer Science (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- Input From Keyboards Or The Like (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
例えば、スマートフォンやタブレットのような電子装置は、音声認識サービスが実行された状態でユーザの発話を認識し、発話に対応する動作を実行することができる。
音声認識サービスは、ユーザの発話に含まれた特定の語句を用いて発話に対応する結果をユーザに提供することができる。
例えば、音声認識サービスは、自然言語処理技術に基づいて発話からユーザの意図を把握し、把握した意図に応じた結果をユーザに提供することができる。
コマンド語は、電子装置においてユーザが意図するタスク(task)を行う動作の実行を指示する。
サービス提供者は、処理可能な規則を予め定義することができる。
サービス提供者は、ユーザに予め定義された規則にマッチングする電子装置に、一部のタスクに対してのみ音声認識サービスをサポートするので、より進んだ音声認識サービスのために、音声認識サービスの自由度の拡大という課題がある。
しかし、これは、本発明を特定の実施形態に対して限定するものではなく、本発明の実施形態の様々な変更(modification)、均等物(equivalent)、及び/又は代替物(alternative)を含むものと理解されるべきである。
図面の説明に関連して、同一又は類似の構成要素については、同一又は類似の参照符号が使用する。
アイテムに対応する名詞の単数形は、関連する文脈上特に断わらない限り、アイテム一つ又は複数個を含むことができる。
本明細書において、「A又はB」、「A及びBのうち少なくとも一つ」、「A又はBのうち少なくとも一つ」、「A、B又はC」、「A、B及びCのうち少なくとも一つ」、及び「A、B、又はCのうち少なくとも一つ」のような語句のそれぞれは、その語句のうち該当する語句に共に並べられた項目において全ての可能な組み合わせを含むことができる。
「第1」、「第2」、又は「第一に」又は「第二に」のような用語は、単に当該構成要素を他の当該構成要素と区分するために使用され得ると共に、当該構成要素を他の側面(例:重要性又は手順)に限定しない。
ある(例:第1)構成要素が他の(例:第2)構成要素に、「機能的に」又は「通信的に」という用語と共に、又はこのような用語なしで、「結合された」又は「接続された」と言及された場合、それは前記ある構成要素が前記他の構成要素に直接的に(例:有線で)、無線で、又は第3構成要素を介して接続されることができるとの意味である。
モジュールは、一体に構成された部品又は一つもしくはそれ以上の機能を行う、部品の最小単位又はその一部となり得る。
例えば、一実施形態によれば、モジュールはASIC(application−specific integrated circuit)の形態で具現することができる。
図1を参照すると、統合知能化システム10は、ユーザ端末100、知能型サーバ200、個人化情報サーバ300、又は提案サーバ400を含む。
例えば、ユーザ端末100は、ユーザ端末100の内部に保存された知能型アプリ(又は、音声認識アプリ)を介して他のアプリを実行し、動作させることができる。
ユーザ端末100の知能型アプリを介して他のアプリを実行し、動作を実行させるためのユーザ入力を受信する。
ユーザ入力は、例えば、物理的ボタン、タッチパッド、音声入力、遠隔入力などを介して受信する。
一実施形態によれば、ユーザ端末100は、携帯電話、スマートフォン、PDA(personal digital assistant)、又はノートパソコンなどインターネットに接続可能な各種の端末装置(又は、電子装置)がこれに該当し得る。
ユーザ端末100は、ユーザの発話を受信し、ユーザの発話に基づいてアプリを動作させるコマンドを生成する。
これにより、ユーザ端末100は、コマンドを用いてアプリを動作させる。
他の実施形態では、知能型サーバ200は、テキストデータに基づいてパスルール(path rule)を生成(又は、選択)することができる。
パスルールは、アプリの機能を行うための動作(action)(又は、オペレーション(operation))に対する情報又は動作を実行するために必要なパラメータに対する情報を含み得る。
また、パスルールは、アプリの動作の手順を含み得る。
ユーザ端末100は、パスルールを受信し、パスルールに従ってアプリを選択し、選択されたアプリでパスルールに含まれた動作を実行させる。
他の例を挙げれば、ユーザ端末100は、動作を実行し、動作を行った結果をディスプレイに表示しないこともできる。
ユーザ端末100は、例えば、複数の動作を実行し、複数の動作の一部の結果のみをディスプレイに表示することもできる。
ユーザ端末100は、例えば、最後の手順の動作を実行した結果のみをディスプレイに表示することもできる。
また、他の例を挙げれば、ユーザ端末100は、ユーザの入力を受信して動作を実行した結果をディスプレイに表示することもできる。
例えば、個人化情報サーバ300は、ユーザ端末100からユーザ情報(例:コンテキスト情報、アプリ実行など)を受信してデータベースに保存する。
知能型サーバ200は、通信網を介して個人化情報サーバ300からユーザ情報を受信してユーザ入力に対するパスルールを生成する場合に用いられ得る。
一実施形態によれば、ユーザ端末100は、通信網を介して個人化情報サーバ300からユーザ情報を受信してデータベースを管理するための情報として用いることができる。
例えば、提案サーバ400は、個人化情報サーバ300からユーザ端末100のユーザ情報を受信してユーザが使用可能な機能に対するデータベースを含む。
ユーザ端末100は、通信網を介して提案サーバ400から提供される機能に対する情報を受信してユーザに情報を提供する。
図2を参照すると、ユーザ端末100は、入力モジュール110、ディスプレイ120、スピーカ130、メモリ140及びプロセッサ150を含む。
ユーザ端末100は、ハウジングをさらに含むことができ、ユーザ端末100の構成はハウジングの内部に安着するか、ハウジング上に(on the housing)配置され得る。
例えば、入力モジュール110は、接続された外部装置(例:キーボード、ヘッドセット)からユーザ入力を受信する。
他の例を挙げれば、入力モジュール110は、ディスプレイ120と結合されたタッチスクリーン(例:タッチスクリーンディスプレイ)を含み得る。
また他の例を挙げれば、入力モジュール110は、ユーザ端末100(又は、ユーザ端末100のハウジング)に配置されたハードウェアキー(又は、物理的キー)を含み得る。
例えば、入力モジュール110は、発話入力システム(speech input system)を含み、発話入力システムを介してユーザの発話を音声信号として受信する。
例えば、ディスプレイ120は、アプリのグラフィックユーザインタフェース(graphic user interface)(GUI)を表示する。
一実施形態によれば、スピーカ130は、音声信号を出力する。
例えば、スピーカ130は、ユーザ端末100の内部で生成された音声信号を外部へ出力する。
メモリ140に保存された複数のアプリ(141、143)は、ユーザ入力によって選択されて実行され、動作する。
一実施形態によれば、メモリ140は、ユーザ入力を認識するのに必要な情報を保存することができるデータベースを含み得る。
例えば、メモリ140は、ログ(log)情報を保存することができるログデータベースを含む。
他の例を挙げれば、メモリ140は、ユーザ情報を保存することができるペルソナデータベースを含むことができる。
例えば、メモリ140に保存された複数のアプリ(141、143)は、プロセッサ150の実行マネージャモジュール153によりロードされて動作する。
複数のアプリ(141、143)は、機能を行う実行サービス(141a、143a)又は複数の動作(又は、単位動作)(141b、143b)を含み得る。
実行サービス(141a、143a)は、プロセッサ150の実行マネージャモジュール153により生成され、複数の動作(141b、143b)を実行する。
実行状態画面は、例えば、動作(141b、143b)が完了した状態の画面であり得る。
実行状態画面は、他の例を挙げれば、動作(141b、143b)の実行が停止された状態(partial landing)(例:動作(141b、143b)に必要なパラメータが入力されなかった場合)の画面であり得る。
例えば、実行サービス(141a、143a)は、実行マネージャモジュール153により生成され、実行マネージャモジュール153からパスルールに従って実行要請を受信し、実行要請に応じて動作(141b、143b)をアプリ(141、143)の動作を実行する。
実行サービス(141a、143a)は、動作(141b、143b)の実行が完了すると、完了情報を実行マネージャモジュール153へ送信する。
実行サービス(141a、143a)は一つの動作(動作1)の実行が完了すると、次の動作(動作2)をオープンし、完了情報を実行マネージャモジュール153へ送信する。
ここで任意の動作をオープンするというのは、任意の動作を実行可能な状態に遷移させるか、任意の動作の実行を準備するものと理解され得る。
言い換えれば、任意の動作がオープンされなければ、当該動作は実行され得ない。
実行マネージャモジュール153は、完了情報が受信すると、次の動作(141b、143b)に対する実行要請を実行サービス(例:動作2)へ送信する。
一実施形態によれば、複数のアプリ(141、143)が実行される場合、複数のアプリ(141、143)は順次に実行される。
例えば、第1アプリ141の最後の動作が完了して完了情報を受信すると、実行マネージャモジュール153は第2アプリ143の最初の動作の実行要請を実行サービス143aへ送信する。
一実施形態によれば、実行された複数の動作(141b、143b)の実行による複数の結果画面のうち一部のみディスプレイ120に表示することもできる。
知能型エージェント151と連動したアプリはユーザの発話を音声信号として受信して処理する。
一実施形態によれば、知能型エージェント151と連動したアプリは、入力モジュール110を介して入力される特定入力(例:ハードウェアキーを介した入力、タッチスクリーンを介した入力、特定の音声入力)により動作する。
例えば、プロセッサ150は、入力モジュール110を制御してユーザ入力を受信する。
プロセッサ150は、ディスプレイ120を制御してイメージを表示する。
プロセッサ150は、スピーカ130を制御して音声信号を出力する。
プロセッサ150は、メモリ140を制御して必要な情報を読み込むか、保存する。
一実施形態において、プロセッサ150は、メモリ140に保存されたコマンド語を実行して知能型エージェント151、実行マネージャモジュール153、又は知能型サービスモジュール155を駆動させる。
本発明の様々な実施形態で言及される各種のモジュールは、ハードウェアとして具現することもでき、ソフトウェアとして具現することもできる。
本発明の様々な実施形態において、知能型エージェント151、実行マネージャモジュール153、又は知能型サービスモジュール155により行われる動作は、プロセッサ150により行われる動作として理解され得る。
一実施形態による、実行マネージャモジュール153は、知能型エージェント151から生成されたコマンドを受信してメモリ140に保存されたアプリ(141、143)を選択して実行させ、動作させる。
一実施形態によれば、知能型サービスモジュール155は、ユーザの情報を管理してユーザ入力を処理するのに用いる。
一実施形態によれば、知能型エージェント151は、ユーザ入力を知能型サーバ200へ送信する前に、ユーザ入力を前処理する。
一実施形態によれば、知能型エージェント151は、ユーザ入力を前処理するために、適応反響除去(adaptive echo canceller:AEC)モジュール、ノイズ抑制(noise suppression:NS)モジュール、終点検出(end−point detection:EPD)モジュール又は自動利得制御(automatic gain control:AGC)モジュールを含むことができる。
ノイズ抑制モジュールは、ユーザ入力に含まれた背景雑音を抑制する。
終点検出モジュールは、ユーザ入力に含まれたユーザ音声の終点を検出してユーザの音声が存在する部分を探す。
自動利得制御モジュールは、ユーザ入力を認識して処理するのに適合するようにユーザ入力の音量を調節する。
一実施形態によれば、知能型エージェント151は、性能のために前処理構成をすべて含むことができるが、他の実施形態において、知能型エージェント151は低電力で動作するために前処理構成の一部を含むこともできる。
ウェイクアップ認識モジュールは、音声認識モジュールを介してユーザのウェイクアップコマンドを認識し、ウェイクアップコマンドを受信した場合、ユーザ入力を受信するために知能型エージェント151を活性化させる。
一実施形態によれば、知能型エージェント151のウェイクアップ認識モジュールは、低電力プロセッサ(例:オーディオコーデックに含まれたプロセッサ)に具現することができる。
一実施形態によれば、知能型エージェント151は、ハードウェアキーによるユーザ入力によって活性化される。
知能型エージェント151が活性化される場合、知能型エージェント151と連動した知能型アプリ(例:音声認識アプリ)が実行される。
音声認識モジュールは、アプリで動作を実行するようにするためのユーザ入力を認識する。
例えば、音声認識モジュールは、アプリ(141、143)でウェイクアップコマンドのような動作を実行する制限されたユーザ(音声)入力(例:カメラアプリが実行中のとき撮影動作を実行させる「パチリ」のような発話など)を認識する。
知能型サーバ200を補助してユーザ入力を認識する音声認識モジュールは、例えば、ユーザ端末100内で処理可能なユーザコマンドを認識して迅速に処理する。
一実施形態によれば、知能型エージェント151のユーザ入力を実行するための音声認識モジュールは、アプリプロセッサで具現され得る。
音声を認識するために使用されるアルゴリズムは、例えば、HMM(hidden markov model)アルゴリズム、ANN(artificial neural network)アルゴリズム、又はDTW(dynamic time warping)アルゴリズムの内の少なくとも一つであり得る。
一実施形態によれば、知能型エージェント151は、ユーザの音声を知能型サーバ200へ伝達して、変換されたテキストデータを受信する。
これにより、知能型エージェント151は、テキストデータをディスプレイ120に表示する。
一実施形態によれば、知能型エージェント151は、知能型サーバ200から送信したパスルールを受信する。
一実施形態によれば、知能型エージェント151は、パスルールを実行マネージャモジュール153へ送信する。
例えば、実行マネージャモジュール153は、アプリ(141、143)へ動作(141b、143)を実行するためのコマンド情報を送信し、アプリ(141、143)から動作(141b、143b)の完了情報を受信する。
実行マネージャモジュール153は、パスルールに従って実行するアプリ(141、143)をバインディング(binding)し、パスルールに含まれた動作(141b、143b)のコマンド情報をアプリ(141、143)へ送信する。
例えば、実行マネージャモジュール153は、パスルールに含まれた動作(141b、143b)を順次にアプリ(141、143)へ送信して、アプリ(141、143)の動作(141b、143b)をパスルールに従って順次に実行させる。
例えば、実行マネージャモジュール153は、アプリ(141、143)から動作(141b、143b)の実行状態に対する情報を受信する。
動作(141b、143b)の実行状態が、例えば、停止された状態(partial landing)の場合(例:動作(141b、143b)に必要なパラメータが入力されなかった場合)、実行マネージャモジュール153は、停止された状態に対する情報を知能型エージェント151へ送信する。
知能型エージェント151は、受信した情報を用いて、ユーザに必要な情報(例:パラメータ情報)の入力を要請する。
知能型エージェント151は、知能型サーバ200を介してユーザの発話のパラメータ情報を受信し、受信したパラメータ情報を実行マネージャモジュール153へ送信する。
実行マネージャモジュール153は、受信したパラメータ情報を用いて動作(141b、143b)のパラメータを新たなパラメータに変更する。
実行マネージャモジュール153は、ユーザの発話に基づいて複数のパスルールを選択する。
例えば、実行マネージャモジュール153は、ユーザの発話が一部の動作141aを実行する一部のアプリ141を特定するが、残りの動作143bを実行する他のアプリ143を特定しなかった場合、一部の動作141aを実行する同一のアプリ141(例:ギャラリーアプリ)が実行され、残りの動作143bを実行可能な相異なるアプリ143(例:メッセージアプリ、テレグラムアプリ)がそれぞれ実行される相異なる複数のパスルールを受信する。
実行マネージャモジュール153は、例えば、複数のパスルールの同一の動作(141b、143b)(例:連続した同一の動作(141b、143b))を実行する。
実行マネージャモジュール153は、同一の動作まで実行した場合、複数のパスルールにそれぞれ含まれた相異なるアプリ(141、143)を選択可能な状態画面としてディスプレイ120に表示する。
コンテキストモジュール155aは、アプリ(141、143)からアプリ(141、143)の現在の状態を収集する。
例えば、コンテキストモジュール155aは、アプリ(141、143)の現在の状態を示すコンテキスト情報を受信してアプリ(141、143)の現在の状態を収集する。
例えば、ペルソナモジュール155bは、ユーザ端末100の使用情報及び実行結果を収集してユーザの個人情報を管理する。
提案モジュール155cは、ユーザの意図を予測してユーザにコマンドを推薦する。
例えば、提案モジュール155cは、ユーザの現在の状態(例:時間、場所、状況、アプリ)を考慮してユーザにコマンドを推薦する。
図3を参照すると、ユーザ端末100がユーザ入力を受信して知能型エージェント151と連動した知能型アプリ(例:音声認識アプリ)を実行しているところを示すものである。
例えば、ユーザ端末100は、ハードウェアキー112を介してユーザ入力を受信した場合、ディスプレイ120に知能型アプリのUI(user interface)121を表示する。
ユーザは、例えば、知能型アプリのUI121がディスプレイ120に表示された状態で音声を入力111bするために知能型アプリのUI121に音声認識ボタン121aをタッチする。
ユーザは、他の例を挙げれば、音声を入力111bするためにハードウェアキー112を持続的に押して音声を入力111bすることができる。
例えば、ユーザ端末100は、マイク111を介して指定された音声(例:起きてよ!(wake up!)が入力111aされた場合、ディスプレイ120に知能型アプリのUI121を表示する。
図4を参照すると、知能型サーバ200は、自動音声認識(automatic speech recognition:ASR)モジュール210、自然言語理解(natural language understanding:NLU)モジュール220、パスプランナー(path planner)モジュール230、対話マネージャ(dialogue manager:DM)モジュール240、自然言語生成(natural language generator:NLG)モジュール250、又はテキスト音声変換(text to speech:TTS)モジュール260を含み得る。
一実施形態によれば、自動音声認識(automatic speech recognition:ASR)モジュール210は、ユーザ端末100から受信したユーザ入力をテキストデータに変換する。
一実施形態によれば、自動音声認識モジュール210は、ユーザ端末100から受信したユーザ入力をテキストデータに変換する。
発話認識モジュールは、音響(acoustic)モデル及び言語(language)モデルを含み得る。
例えば、音響モデルは発声に関連した情報を含み、言語モデルは単位音素情報及び単位音素情報の組み合わせに対する情報を含む。
発話認識モジュールは、発声に関連した情報及び単位音素情報に対する情報を用いてユーザ発話をテキストデータに変換する。
音響モデル及び言語モデルに対する情報は、例えば、自動音声認識データベース(automatic speech recognition database:ASR DB)211に保存される。
文法的分析は、ユーザ入力を文法的単位(例:単語、句、形態素など)に分けて、分けられた単位がどのような文法的な要素を有するのか把握する。
意味的分析は、意味(semantic)マッチング、ルール(rule)マッチング、フォーミュラ(formula)マッチングなどを用いて行う。
これにより、自然言語理解モジュール220は、ユーザ入力が、あるドメイン、意図(intent)、又は意図を表現するのに必要なパラメータ(parameter)(又は、スロット(slot))を取得する。
例えば、一つのドメイン(例:アラーム)は、複数の意図(例:アラーム設定、アラーム解除など)を含み得、一つの意図は、複数のパラメータ(例:時間、繰り返し回数、アラーム音など)を含み得る。
複数のルールは、例えば、一つ以上の必須要素パラメータを含む。
マッチング規則は、自然言語理解データベース(natural language understanding database:NLU DB)221に保存される。
例えば、自然言語理解モジュール220は、それぞれのドメイン及び意図にユーザ入力から抽出された単語がどれだけ含まれているかを計算してユーザの意図を決定する。
一実施形態によれば、自然言語理解モジュール220は、意図を把握するのに基となった単語を用いてユーザ入力のパラメータを決定する。
一実施形態によれば、自然言語理解モジュール220は、ユーザ入力の意図を把握するための言語的特徴が保存された自然言語認識データベース221を用いてユーザの意図を決定する。
他の実施形態によれば、自然言語理解モジュール220は、個人化言語モデル(personal language model:PLM)を用いてユーザの意図を決定する。
例えば、自然言語理解モジュール220は、個人化された情報(例:連絡先リスト、音楽リスト)を用いてユーザの意図を決定する。
個人化言語モデルは、例えば、自然言語理解データベース221に保存され得る。
一実施形態によれば、自然言語理解モジュール220のみならず、自動音声認識モジュール210も自然言語認識データベース221に保存された個人化言語モデルを参考としてユーザの音声を認識することができる。
例えば、自然言語理解モジュール220は、ユーザ入力の意図に基づいて実行されるアプリを選択し、選択されたアプリで実行される動作を決定する。
自然言語理解モジュール220は、決定された動作に対応するパラメータを決定してパスルールを生成する。
一実施形態によれば、自然言語理解モジュール220により生成されたパスルールは、実行されるアプリ、アプリで実行される動作及び動作を実行するのに必要なパラメータに対する情報を含み得る。
例えば、自然言語理解モジュール220は、パスプランナーモジュール230からユーザ端末100に対応するパスルールセットを受信し、ユーザ入力の意図及びパラメータを受信したパスルールセットにマッピングさせてパスルールを決定する。
例えば、自然言語理解モジュール220は、ユーザ端末100の情報を用いて実行されるアプリ及びアプリで実行される動作をユーザ入力の意図によってオントロジー(ontology)又はグラフモデル(graph model)形態に配列してパスルールを生成する。
生成されたパスルールは、例えば、パスプランナーモジュール230を介してパスルールデータベース(path rule database:PR DB)231に保存される。
生成されたパスルールは、パスルールデータベース231のパスルールセットに追加される。
例えば、自然言語理解モジュール220は、複数のパスルールの内の最適のパスルールを選択する。
他の例を挙げれば、自然言語理解モジュール220は、ユーザの発話に基づいて一部の動作のみが特定された場合、複数のパスルールを選択することができる。
自然言語理解モジュール220は、ユーザの追加入力により複数のパスルールの内の一つのパスルールを決定することができる。
例えば、自然言語理解モジュール220は、ユーザ入力に対応する一つのパスルールをユーザ端末100へ送信する。
他の例を挙げれば、自然言語理解モジュール220は、ユーザ入力に対応する複数のパスルールをユーザ端末100へ送信することができる。
複数のパスルールは、例えば、ユーザの発話に基づいて一部の動作のみが特定された場合、自然言語理解モジュール220により生成することができる。
一実施形態によれば、パスプランナーモジュール230は、自然言語理解モジュール220へ複数のパスルールを含むパスルールセットを伝達する。
パスルールセットの複数のパスルールは、パスプランナーモジュール230に接続されたパスルールデータベース231にテーブル形態に保存される。
例えば、パスプランナーモジュール230は、知能型エージェント151から受信したユーザ端末100の情報(例:OS情報、アプリ情報)に対応するパスルールセットを自然言語理解モジュール220へ伝達する。
パスルールデータベース231に保存されたテーブルは、例えば、ドメイン又はドメインのバージョン別に保存される。
例えば、パスプランナーモジュール230は、ユーザの意図及びパラメータをユーザ端末100に対応するパスルールセットにマッチングして一つのパスルール、又は複数のパスルールを選択して自然言語理解モジュール220へ伝達する。
例えば、パスプランナーモジュール230は、ユーザの意図及びパラメータに基づいて実行されるアプリ及びアプリで実行される動作を決定して一つのパスルール、又は複数のパスルールを生成する。
一実施形態によれば、パスプランナーモジュール230は、生成されたパスルールをパスルールデータベース231に保存する。
一実施形態によれば、パスプランナーモジュール230は、自然言語理解モジュール220で生成されたパスルールをパスルールデータベース231に保存する。
生成されたパスルールは、パスルールデータベース231に保存されたパスルールセットに追加される。
複数のパスルール又は複数のパスルールセットは、各パスルールを行う装置の種類、バージョン、タイプ、又は特性を反映することができる。
例えば、対話マネージャモジュール240は、パラメータの情報が十分であるかどうかに基づいてユーザの意図が明確であるかどうかを判断する。
対話マネージャモジュール240は、自然言語理解モジュール220で把握されたパラメータがタスクを行うのに十分であるかどうかを判断する。
一実施形態によれば、対話マネージャモジュール240は、ユーザの意図が明確でない場合、ユーザに必要な情報を要請するフィードバックを行う。
例えば、対話マネージャモジュール240は、ユーザの意図を把握するためのパラメータに対する情報を要請するフィードバックを行う。
コンテンツ提供モジュールは、自然言語理解モジュール220で把握された意図及びパラメータに基づいて動作を行うことができる場合、ユーザ入力に対応するタスクを行なった結果を生成する。
一実施形態によれば、対話マネージャモジュール240は、ユーザ入力に対する応答としてコンテンツ提供モジュールで生成された結果をユーザ端末100へ送信する。
テキスト形態に変更された情報は、自然言語の発話の形態であり得る。
指定された情報は、例えば、追加入力に対する情報、ユーザ入力に対応される動作の完了を案内する情報、又はユーザの追加入力を案内する情報(例:ユーザ入力に対するフィードバック情報)であり得る。
テキスト形態に変更された情報は、ユーザ端末100へ送信されてディスプレイ120に表示されるか、テキスト音声変換モジュール260へ送信されて音声形態に変更される。
テキスト音声変換モジュール260は、自然言語生成モジュール250からテキスト形態の情報を受信し、テキスト形態の情報を音声形態の情報に変更してユーザ端末100へ送信する。
ユーザ端末100は、音声形態の情報をスピーカ130へ出力する。
例えば、自然言語理解モジュール220、パスプランナーモジュール230、及び対話マネージャモジュール240は、一つのモジュールとして具現され、ユーザの意図及びパラメータを決定し、決定されたユーザの意図及びパラメータに対応する応答(例:パスルール)を生成する。
これにより、生成された応答は、ユーザ端末100へ送信される。
図5を参照すると、一実施形態によるシステム500は、タッチスクリーンディスプレイ531、無線通信回路511、マイク533、及びスピーカ535を含む電子装置510を含む。
システム500は、電子装置510の一部であるか、電子装置510と遠隔で通信する少なくとも一つのプロセッサ(510、560)及び少なくとも一つのプロセッサ(510、560)と動作可能に接続される間、電子装置510上に、又は電子装置510の外部に常駐する少なくとも一つのメモリ(520、570)を含み得る。
例えば、システム500は、ユーザから発話を受信し、発話に対応するユーザの意図を把握することができる。
システム500は、ユーザの意図に合致する特定の機能を行う。
システム500は、発話が受信すると、発話にマッピングされ、予め保存されたコマンドを行う。
一実施形態において、電子装置510は、無線通信回路511、メモリ520、タッチスクリーンディスプレイ531、マイク533、スピーカ535、及びプロセッサ512を含み得る。
本発明の様々な実施形態で言及される各種のモジュールは、ハードウェアとして具現することもでき、ソフトウェアとして具現することもできる。
本発明の様々な実施形態において、タスク実行モジュール513、アクセシビリティサービスモジュール515、又は記録モジュール517により行われる動作は、プロセッサ512により行われる動作として理解され得る。
例えば、音声秘書モジュール519は、音声認識サービスの提供のために必要なインタフェースを電子装置のタッチスクリーンディスプレイ531を介して表示する。
音声秘書モジュール519は、音声認識の結果としてユーザのコマンドに対応する結果画面をタッチスクリーンディスプレイ531を介して提供する。
例えば、タスク実行モジュール513は、タッチ又は音声ベースのユーザの入力を受信すると、受信したユーザ入力に対応するタスクを行う。
電子装置510は、マイク533を介してユーザから音声入力を受信し、タッチスクリーンディスプレイ531を介してユーザからタッチベースのユーザ入力を受信する。
例えば、受信したユーザ入力は、特定のアプリケーションの動作を誘発する。
アクセシビリティサービスモジュール515は、例えば、グーグル(登録商標)のアンドロイド(登録商標)のフレームワークで提供するモジュールであり得る。
アクセシビリティサービスモジュール515は、画面に含まれたオブジェクトの属性及び内容などを認識し、認識されたオブジェクトを操作する。
アクセシビリティサービスモジュール515は、認識されたオブジェクトに入力が印加される時に実行される動作を認識する。
アクセシビリティサービスモジュール515は、該当する動作を実行するための入力方式(例:タップ、ロングタップ、ダブルタップ、スクロール、ドラッグ、又はフリックなど)も認識することができる。
アクセシビリティサービスモジュール515は、タスク実行モジュール513により実行されるタスクに動作(例:アクション)を注入する。
例えば、タスク実行モジュール513がステートを知能型サーバ550から受信すると、アクセシビリティサービスモジュール515はステートを実行するためのオブジェクトを識別し、オブジェクトに動作を注入する。
例えば、アクセシビリティサービスモジュール515は、ステートを実行するための入力方式としてユーザが直接入力を印加するものと類似して仮想のユーザ入力を注入することができる。
図5では、電子装置510が1つのアプリケーション522を保存するものとして示したが、これに制限されず、電子装置510は、複数個のアプリケーションを保存することもできる。
アクセシビリティサービスモジュール515は、画面がアップデートされると、イベントが発生したと判断し、発生したイベントをタスク実行モジュール513へ伝達する。
アクセシビリティサービスモジュール515は、アップデートされた画面に含まれたオブジェクトの属性及び内容などを認識する。
アクセシビリティサービスモジュール515は、オブジェクトの属性及び内容などをタスク実行モジュール513へ伝達する。
ステートの実行が完了すると、タスク実行モジュール513は、実行マネージャ(例:図2の実行マネージャモジュール153)へ結果をリターンする。
一実施形態において、知能型サーバ550は、電子装置510にステートを送信する。
電子装置510は受信したステートを行う。
一実施形態において、知能型サーバ550は、ユーザにより定義されたタスクに対応するステートを電子装置510へ送信する。
ユーザ入力のシーケンスは、ユーザにより定義されたタスクを行うために必要なユーザ入力を含み得る。
例えば、知能型サーバ550は、ユーザ入力のシーケンスを受信し、シーケンスと関連したルール(rule)を生成又は選択する。
例えば、ルールは、図4のパスルールから選択されるか、パスルールと同一又は類似の形式で生成される。
ルールは、ルールが複数のステートを含む場合、ステートの手順に対する情報を含み得る。
電子装置(ユーザ端末)510は、ルールを受信し、ルールに基づいてアプリケーションを選択し、選択されたアプリケーションを制御することにより、ルールに含まれたステートを行う。
例えば、電子装置(ユーザ端末)510はステートを行い、ステートを行った画面をタッチスクリーンディスプレイ531に表示する。
図6aを参照すると、一実施形態によるタスク実行モジュール513は、ステート受信器541、画面探知器543、入力注入器545、及び結果モニタ547を含み得る。
ステート受信器541、画面探知器543、入力注入器545、結果モニタ547により行われるものとして説明した動作は、電子装置510のプロセッサ512により実行される。
ステート受信器541は、ルールに含まれたステートを受信する。
ルールは、知能型サーバ550(例:図4の知能型サーバ300)から受信する。
例えば、知能型サーバ550から電子装置510のステートのシーケンスを受信する。
画面探知器543は、ステートを行う前に画面を探知する。
画面探知器543は、アクセシビリティサービスモジュール515から画面に含まれたオブジェクトに対する情報を受信する。
画面探知器543は、アクセシビリティサービスモジュール515から受信した情報に基づいて当該ステートを行うことができるかどうかを確認する。
入力注入器545は、例えば、ステートを行うためのオブジェクト及びオブジェクトに対する入力方式を決定する。
結果モニタ547は、ステートを行った後、アップデートされた画面を探知する。
結果モニタ547は、アクセシビリティサービスモジュール515からアップデートされた画面に含まれたオブジェクトに対する情報を受信する。
結果モニタ547は、アクセシビリティサービスモジュール515から受信した情報に基づいてステートの実行が完了したかどうかを確認する。
結果モニタ547は、実行結果をタスク実行モジュール513又は知能型サーバ550へリターンする。
タスク実行モジュール513は、アプリケーションがアップデートされると、共にアップデートされる。
アップデートされたタスク実行モジュール513は、外部装置(例:知能型サーバ550)から受信され得る。
図6bを参照すると、本発明の一実施形態による記録モジュール517は、情報収集器(information collector)551、ルール変換器(rule converter)553、ルール確認モジュール555を含む。
ユーザの入力情報は、例えば、ユーザのタッチ、ドラッグ、クリックなどが入力される画面の座標情報、特定機能の実行、物理ボタンの押え、入力されたテキストなどが挙げられる。
変動情報は、例えば、アプリケーションの「Resource ID」の変動の有無、タスク実行モジュール513から発生する様々な情報を含み得る。
例えば、ルール変換器553は、収集された情報を知能型サーバ200(例:図1の知能型サーバ200)で使用されるパスルールのように、ステートとパラメータを含む形態のデータに変換する。
他の例を挙げれば、ルール変換器553は、特定のページやイメージ、アプリの特定動作への接続をベースとしたディープリンク(deep link)が存在すれば、当該ディープリンクと当該リンクに含まれるデータ形態に変換する。
また他の例を挙げれば、ルール変換器553は、オントロジー(ontology)ベースのカプセル(capsule)を使用するアクションオブジェクト(action object)形態に変換することもできる。
コンセプトオブジェクト(concept object)は、例えば、「レストラン」のような現実世界のEntityモデルであるか、「レストラン」、「時間」、「予約」のようなEntityなどの結合である。
また、コンセプトオブジェクト(concept object)は、コンセプトオブジェクトが有し得る値のクラスに対する定義の形態となり得る。
例えば、インテジャータイプ(integer type)、ストリングタイプ(string type)などのようなタイプを有し得る。
コンセプトオブジェクト(concept object)は、タスク単位(atomic unit of work)のモデルであって外部従属性を入力(input)として有し、事前に決定されたタイプの出力を有する。
例えば、ジャバスクリプトの「functions」、「methods」、「interface」のような形態を有し得る。
ルール変換器553により変換されたデータは、音声秘書モジュール519により行われ得、ストレージ525に保存され得る。
ルール確認モジュール555は、様々な方法を通じて動作の有無を確認することができる。
例えば、ルール確認モジュール555は、最終目標とするアプリケーションの画面状態を確認したり、データの実行中間の過程を確認することができる。
例えば、ユーザにより生成されたデータがユーザの5段階の入力からなる場合、ルール確認モジュール555は、データを4段階あるいは3段階に減らすルートがあるかどうかを確認する。
ルール確認モジュール555は、当該ルートを発見した場合、データを交替する。
他の例を挙げれば、ルール確認モジュール555は、ディープリンクのように直ぐに最終目標にアクセスできる方法があれば、当該方法にデータを変更することもできる。
図6cを参照すると、本発明の他の実施形態において、タスク実行モジュール516は図6aのタスク実行モジュール513と異なるように構成される。
例えば、行おうとするタスクがディープリンクあるいはVivカプセルである場合、タスク実行モジュール516は、パラメータを含む関数の実行を介してタスクを行う。
タスク実行モジュール516は、関数呼出器561、パラメータ作成器563、確認モジュール565を含み得る。
ユーザ発話に対応するルールが選択され、選択されたRuleに対応する関数が定義されている場合、関数呼出器561は定義された関数を行う。
パラメータ作成器563は、ユーザ発話に対応する関数に必要なパラメータを保存する。
例えば、確認モジュール565は、行われた関数が最初に登録された時に行われた結果と現在行われた結果とを比較する。
例えば、確認モジュール565は、関数の結果画面のスクリーンIDを比較する。
確認モジュール565は、呼び出した関数の種類(例:ディープリンク、Vivカプセル)によってそのリターン値を介して関数の実行を確認する。
図7を参照すると、本発明の一実施形態によるシステムにより行われる個人化されたコマンドを生成する方法は、ステップS710〜ステップS740を含む。
ステップS710〜ステップS740の各ステップは、例えば、システム500の少なくとも一つのプロセッサ(512、560)により行う(あるいは、実行)ことができるインストラクション(コマンド語)で具現することができる。
インストラクションは、例えば、コンピュータ記録媒体又は図5に示したシステム500の少なくとも一つのメモリ(520、570)に保存される。
以下では、ステップS710〜ステップS740の説明に図5の説明と重複した説明は省略する。
例えば、システム500は、タッチスクリーンディスプレイ531又はマイク533を介して第1ユーザ入力を受信する。
例えば、システム500は、第1ユーザ入力に応答して個人化された音声コマンドを生成するための第1モードを実行する。
例えば、第1ユーザ入力は、インタフェースの実行のためのユーザ入力として参照され得る。
例えば、ユーザは、インタフェース実行のためのボタン(例:recodingボタン)をタッチする。
又は、ユーザは、インタフェースの実行のための発話(例:コマンド生成)を入力する。
システム500は、シーケンスをメモリ(520、570)に保存する。
例えば、シーケンスをメモリ(520、570)に保存する動作は、ユーザのアクションを録画する動作として参照され得る。
例えば、ユーザは、保存しようとする複数の入力を行う。
システム500は、複数の入力のシーケンスを受信し、それを保存する。
保存されたシーケンスは、ユーザの個人化されたタスクに対応し得る。
例えば、ユーザは、保存しようとするタスクをタッチ動作を介して行う。
システム500は、少なくとも一つのオブジェクトと関連した少なくとも一つの動作のシーケンスを受信し、保存する。
例えば、オブジェクトと関連した動作は、選択(select)、クリック、ロングクリック(long click)、スクロール、コピー、切り取り、貼り付け、テキスト入力、発話入力などを含み得る。
システム500は、どのオブジェクトにどのような動作が行われるかを認知する。
例えば、システム500は、検索窓に検索語が入力されるとき、「検索窓」のオブジェクトに「検索語が入力される動作」を認識する。
例えば、システム500は、画面情報、オブジェクト情報、及び動作情報のシーケンスを受信する。
システム500は、受信したシーケンスを保存する。
例えば、システム500は、予め定義されたステートの内の選択されたステート又はユーザ入力に対応するステートをシーケンスとして受信する。
例えば、電子装置510は、受信したシーケンスを行い、実行結果をユーザに提供する。
例えば、ユーザは、実行結果に基づき、ユーザが意図したタスクが行われるかどうかを確認する。
意図したタスクが上手く行われた場合、ユーザは入力されたシーケンスに対する確認を入力する。
万一、意図したタスクが上手く行われなかった場合、ユーザは入力されたシーケンスに対するキャンセルを入力し、個人化されたタスクに対応するユーザ入力を再度行う。
例えば、インヴォークワードは、ユーザが入力した個人化されたタスクを呼び出すことができる個人化されたコマンドとして参照され得る。
ユーザは、インヴォークワードを発話したり、インヴォークワードをテキストで入力することにより、保存した個人化されたタスクを呼び出す。
インヴォークワードを含む第2ユーザ入力は、タッチスクリーンディスプレイ531又はマイク533を介して受信する。
例えば、システム500は、ユーザの個人化されたタスクに対応するシーケンスとインヴォークワードを共に保存する。
システム500は、インヴォークワードが入力されると、インヴォークワードにマッピングされたシーケンスから誘発される動作を行う。
システム500は、個人化されたコマンドを提供することができる。
例えば、複数のインヴォークワードは、シーケンスに対する推薦項目として参照され得る。
例えば、サーバ550は、シーケンスに基づいて複数個のインヴォークワードを含む推薦項目を電子装置510へ送信し、電子装置510から複数個のインヴォークワードの内の選択されたインヴォークワードを受信する。
システム500は、選択されたインヴォークワードを受信したシーケンスとマッピングされるように少なくとも一つのメモリ(525、570)に保存する。
本発明の様々な実施形態において、複数のユーザの入力を含むシーケンスは、電子装置510に設置された少なくとも一つのアプリケーション522に関連する。
図8を参照すると、例えば、一つのアプリケーション522と関連した個人化されたコマンドを生成する過程を示している。
システム500(例:アクセシビリティサービスモジュール515)は、画面に含まれる少なくとも一つのオブジェクト、少なくとも一つのオブジェクトに関連した少なくとも一つの動作(action)を認知する。
アクセシビリティサービスモジュール515は、画面のアップデートを感知すると(動作801)、イベントを発生させ、結果モニタ547に伝達する(動作803)。
アクセシビリティサービスモジュール515は、上記動作によってアップデートされた第2画面(画面第2状態)を感知する(動作805)。
結果モニタ547は、第2画面の状態をキャプチャーし、記録モジュール517へ伝達する(動作807)。
記録モジュール517は、受信した第2画面情報を保存する。
例えば、記録モジュール517は、第1画面情報、第1画面のオブジェクトに対する動作情報、及び上記動作によりアップデートされた第2画面情報を保存する(動作809)。
様々な実施形態において、動作801〜809は繰り返して行われ得る。
これにより、ユーザの入力のシーケンスが記録モジュール517により保存される。
実行マネージャは、シーケンスと関連したデータを送信する知能型サーバ550のクライアント(550−1)へ伝達する(動作813)。
知能型サーバ550は、クライアント(550−1)を介してシーケンスと関連したデータを知能型サーバ550へ送信する。
知能型サーバ550は、メモリ570に上記データを保存する。
図9を参照すると、システム500は、インヴォークワードが含まれたユーザ入力を受信すると、インヴォークワードにマッピングされた個人化されたコマンドを行う。
例えば、システム500は、保存されたユーザ入力のシーケンスから誘発される動作を行う。
システム500は、例えば、インヴォークワードが含まれたユーザの発話を受信する。
システム500は、ユーザの発話に対応して予め保存されたシーケンスを検索する。
システム500は、シーケンスを電子装置510により行われ得るステートを含むルールに変更し、ルールをシステム500へ送信する。
実行マネージャ(例:図2の実行マネージャ153)は、ルールに含まれるステートを記録モジュール517へ伝達する(動作903)。
例えば、ルールに複数個のステートが含まれる場合、実行マネージャモジュール153は、複数個のステートを順次に記録モジュール517へ伝達する。
様々な実施形態において、システム500は、複数個のアプリケーションを保存することができ、複数個のアプリケーションそれぞれに対応するタスク実行モジュール513を含み得る。
例えば、記録モジュール517は、ステートがどのアプリケーションにより行われるかを判断し、アプリケーションに対応するタスク実行モジュール513(例:ステート受信器541)へステートを伝達する。
画面探知器543は画面を感知し、ステートが実行可能な状態かどうかを判断する(動作909)。
画面探知器543は、感知結果をステート受信器541へ伝達する(動作911)。
ステート受信器541は、ステートが実行され得る状態であれば、入力注入器545にステートに対応するアクション(動作)を伝達する(動作913)。
アクセシビリティサービスモジュール515を介して行われた動作がターゲットアプリケーション522に適用され(動作917)、その結果ターゲットアプリケーション522の画面はアップデートされる(動作919)。
アクセシビリティサービスモジュール515は、画面のアップデートを感知すると、イベントが発生したものと判断する(動作921)。
結果モニタ547は、イベントを受信し、ステートが正常に行われたかどうかを判断する(動作923)。
結果モニタ547は、ステートの成功又は失敗の有無を実行マネージャモジュール153へ伝達する(動作925)。
動作903〜動作925は、知能型サーバ550から受信したルールに含まれるステートがすべて実行されるまで繰り返され得る。
ルールに含まれるステートがすべて行われると、実行マネージャモジュール153はその結果を知能型サーバ550のクライアント(550−1)へ伝達する(動作927)。
知能型サーバ550は、当該ルールが正常に実行、完了したことが分かる。
図10を参照すると、一実施形態による個人化されたコマンドを行う方法は、ステップS1010〜ステップS1050を含む。
ステップS1010〜ステップS1050の各ステップは、例えば、電子装置510のプロセッサ512により行う(あるいは、実行する)ことができるインストラクション(コマンド語)で具現することができる。
インストラクションは、例えば、コンピュータ記録媒体又は図5に示した電子装置510の少なくとも一つのメモリ520に保存される。
以下では、ステップS1010〜ステップS1050の説明において図5の説明と重複した説明は省略する。
電子装置510は、個人化されたコマンドをストレージ525に保存し、個人化されたコマンドが受信すると、個人化されたタスクを行う。
電子装置510は、個人化されたコマンドを音声認識サービスを提供するサーバ(例:サーバ550)に保存せず、直接保存することにより、個人化されたタスクを迅速に提供することができる。
ユーザ発話は、予め保存された個人化されたタスクに対応するコマンドとして参照され得る。
例えば、ユーザ発話はインヴォークワードを含み得る。
知能型サーバ550は、発話をASRモジュール568を用いてテキストに変換する。
様々な実施形態において、電子装置510は、ASRモジュールをさらに含むことができる。
この場合、電子装置510は、ASRモジュールを用いて直接ユーザの発話をテキストに変換することができる。
電子装置510のストレージ525は、個人化されたタスクに対応するシーケンスを保存する。
電子装置510は、発話から変換されたテキストを用いてストレージ525を検索する。
電子装置510は、ストレージ525でユーザの発話にマッピングされたシーケンスを検索する。
例えば、電子装置510のタスク実行モジュール513は、シーケンスに対応するルール及びステートを実行する。
様々な実施形態において、シーケンスは、シーケンスが行われ得る特定のアプリケーションを介して行われる。
個人化されたタスクに対応するシーケンスが保存されると、ユーザは個人化されたタスクとマッピングされて保存されたコマンドを発話することにより、個人化されたタスクを呼び出す。
特に、個人化されたタスクは、特定のアプリケーションと関連し得る。
この場合、ユーザ発話は、知能型サーバ550に予め保存されたコマンドとして参照され得る。
受信したユーザ発話に対応するシーケンスがストレージ525に保存されていない場合、電子装置510はユーザ発話が個人化されたコマンドではなく、知能型サーバ550から提供されたコマンドとして判断し得る。
例えば、電子装置510のタスク実行モジュール513は、知能型サーバ550からステートを受信し、実行する。
ステートが特定のアプリケーションに関連した場合、タスク実行モジュール513は、当該アプリケーションを実行し、アプリケーション上でステートを実行する。
例えば、知能型サーバ550の音声認識サービスから提供する予め指定されたタスク及び個人化されたタスクは、すべて知能型サーバ550に保存され得る。
この場合、電子装置510は、ユーザ発話を知能型サーバ550へ送信し、知能型サーバ550からユーザ発話に含まれたインヴォークワードにマッピングされたシーケンスを受信する。
地図アプリケーションにより実行される経路検索動作を個人化されたタスクとして生成する一シナリオを例示として説明する。
例えば、ユーザは、特定の出発地から特定の到着地までの経路検索動作を個人化されたタスクとして生成する。
システム500は、学習モードを始めるために予め定められたユーザ入力を受信し、受信に応答して学習モードを実行する。
例えば、システム500は、タッチスクリーンディスプレイ531に表示されたボタン(例:録画開始ボタン)に対するタッチ入力を受信すると、受信に応答して学習モードを実行する。
システム500は、マイク533を介して予め指定された発話が受信すると、受信に応答して学習モードを実行する。
予め指定された発話は、例えば、「クイックコマンド生成」、「学習モード開始」など、様々な形態に設定することができる。
様々なユーザ入力は、個人化されたコマンドにより行われる動作として参照され得る。
システム500は、様々なユーザ入力を受信すると、ユーザ入力が受信した画面と関連した情報を用いて、ユーザ入力に対応する動作を保存する。
例えば、アクセシビリティサービスモジュール505は、ユーザの入力の種類を識別する。
アクセシビリティサービスモジュール505は、画面ID(例:resource ID)、画面に表示されたテキスト情報、画面に表示された客体の座標情報などを含む画面と関連した情報を取得する。
システム500は、地図アプリケーションを実行する。
地図アプリケーションが実行されると、画面1(1101)が表示される。
システム500(例:アクセシビリティサービスモジュール515)は、画面1(1101)〜画面4(1107)に含まれるオブジェクト情報を取得する。
例えば、電子装置510は、画面1(1101)のメニューボタン1111を認知し、メニューボタン1111に対して実行され得る「クリック動作」を認知する。
クリック動作により画面1(1101)は画面2(1103)にアップデートされる。
画面2(1103)において、システム500は、ルート検索ボタン1113に対するクリック動作(動作2とする。)を受信する。
クリック動作により画面2(1103)は画面3(1105)にアップデートされる。
画面3(1105)において、システム500は、テキスト入力窓1115にテキスト(「光教新都市」)入力動作(動作3とする。)を受信し、自動車ルート検索ボタン1117に対するクリック動作(動作4とする。)を受信する。
クリック動作により画面3(1105)は画面4(1107)にアップデートされる。
システム500は、動作0〜動作4のシーケンスをストレージ525に保存するか、知能型サーバ550へ送信する。
シーケンスは、個人化されたタスクとして参照され得る。
システム500は、学習モードの終了を要請するユーザ入力が受信すると、ユーザ入力の受信に応答して学習モードを終了し、シーケンスを保存する。
例えば、システム500は、タッチスクリーンディスプレイ531に表示されたボタン(例:録画終了ボタン)に対するタッチ入力を受信すると、受信に応答して学習モードを終了する。
システム500は、マイク533を介して予め指定された発話が受信すると、受信に応答して学習モードを実行する。
予め指定された発話は、例えば、「クイックコマンド完了」、「学習モード終了」など、様々な形態に設定することができる。
発話は、シーケンスが実行されるようにするインヴォークワード(invoke word)として参照され得る。
又は、システム500は、シーケンス及び発話と関連したデータを知能型サーバ550へ送信する。
発話は、個人化されたコマンドとして参照され得る。
図12の画面1201を参照すると、システム500は、受信した動作0〜動作4をタッチスクリーンディスプレイ531を介して表示する。
システム500は、受信した動作を表示し、動作に対する編集機能を提供する。
画面1(1201)を参照すると、動作1221が動作1221に対応する関数名として表示される。
例えば、画面1(1201)に表示された動作1221は、アンドロイド(登録商標)フレームワークから提供するオブジェクト名称、及び関数名称として参照され得る。
画面3(1205)を参照すると、動作1225は、ユーザにとって分かり易く表示される。
例えば、「click−resource id:menu」は「クリック−メニューボタン」として表示され、「click−resource id:find−root」は「クリック−ルート検索」として表示され、「set text−resource id:location−to/‘光教新都市’」は「文字入力−‘光教新都市’」として表示される。
例えば、推薦単語は、前述のインヴォークワードとして参照され得る。
システム500は、予め保存されたシーケンスと、それとマッチングされたインヴォークワードを参照して、新たに受信したシーケンスに対する推薦単語を提供する。
例えば、画面1201及び画面1205を参照すると、受信した動作に対する推薦単語が「自宅」として提供される。
ユーザは「自宅」をインヴォークワードとして選択し得る。
「自宅」は、上記動作0〜動作4とマッピングされて保存される。
以後、ユーザが「自宅」を発話すると、「自宅」に対応する動作0〜動作4が電子装置510により行われ得る。
画面1203を参照すると、「メニューボタンクリック」動作に対して、「resource id」、座標情報、ターゲットアプリケーションが表示される。
システム500は、実行結果に対する確認入力を要請する。
ユーザは、表示された実行結果を参照して意図するタスクが入力されたかどうかを確認する。
システム500は、確認入力を受信すると、シーケンスをストレージ525に保存するか、サーバ550へ送信する。
例えば、図11の一シナリオによって地図アプリケーション上で経路検索動作は、様々な出発地及び様々な目的地に対して行われることができる。
図11を参照すると、経路検索動作は、地図アプリケーション実行(動作0)、画面1101の右側上段にあるボタン1111、クリック(動作1)、画面1103のルート検索ボタン1113、クリック(動作2)、及び画面1105での出発地及び到着地入力の動作(動作4)を共通して含み得る。
この場合、画面1105で入力される出発地と到着地のみが異なる動作であるので、システム500は、動作0、動作1、及び動作2をテンプレートとして保存することができる。
テンプレートは、地図アプリケーション上に登録され得る。
予め保存されたテンプレートは、特定のアプリケーションに登録することができ、ユーザのコマンドに対するカテゴリにマッピングされて保存される。
システム500は、テンプレートに含まれる画面とユーザ入力、ユーザ入力によって切り替えられる画面を再生することにより、ユーザにとってテンプレートを直接確認するようにする。
又は、システム500は、テンプレートに含まれる画面に対するスナップショット(snap shot)を再生する。
又は、ユーザは、提供されるテンプレートを選択し、テンプレートの一部を修正した個人化されたコマンドを生成する。
例えば、新たに生成された個人化されたタスクに含まれる第1動作及び第2動作が予め保存されたテンプレートに含まれ得る。
システム500は、予め保存されたテンプレートに基づき、第1動作及び第2動作の間に実行される少なくとも一つ以上の動作を省略することにより、個人化されたタスクの最適化を行う。
システム500は、最適化された個人化されたタスクを推薦し、ユーザは推薦されたタスクを選択する。
システム500は、テンプレートに含まれたバージョン情報と現在設置されたアプリケーションのバージョン情報を比較し、テンプレートの使用可能の可否を判断する。
万一、保存されたテンプレートのバージョンが現在設置されたアプリケーションのバージョンと一致しない場合、システム500は新たなバージョンのテンプレートをダウンロードするか、電子装置510に設置されたアプリケーションのバージョンが変更されるようにする。
図13を参照すると、ネットワーク環境1300において電子装置1301(例:図2のユーザ端末100、図5の電子装置510)は、第1ネットワーク1398(例:近距離無線通信ネットワーク)を介して電子装置1302と通信するか、又は第2ネットワーク1399(例:遠距離無線通信ネットワーク)を介して電子装置1304又はサーバ1308と通信する。
一実施形態によれば、電子装置1301は、サーバ1308を介して電子装置1304と通信する。
他の実施形態では、電子装置1301には、この構成要素の内の少なくとも一つ(例:表示装置1360又はカメラモジュール1380)が省略されるか、一つ以上の他の構成要素が追加され得る。
また、他の実施形態では、これらの構成要素の内の一部は、一つの統合された回路として具現することができる。
例えば、センサモジュール1376(例:指紋センサ、虹彩センサ、又は照度センサ)は、表示装置1360(例:ディスプレイ)に組み込まれたままで具現することができる。
一実施形態によれば、データ処理又は演算の少なくとも一部として、プロセッサ1320は、他の構成要素(例:センサモジュール1376又は通信モジュール1390)から受信したコマンド又はデータを揮発性メモリ1332にロードし、揮発性メモリ1332に保存されたコマンド又はデータを処理し、結果データを不揮発性メモリ1334に保存する。
一実施形態によれば、プロセッサ1320は、メインプロセッサ1321(例:中央処理装置又はアプリケーションプロセッサ)、及びこれとは独立して又は共に運営可能な補助プロセッサ1323(例:グラフィック処理装置、イメージシグナルプロセッサ、センサハブプロセッサ、又はコミュニケーションプロセッサ)を含み得る。
追加的に又は代替的に、補助プロセッサ1323は、メインプロセッサ1321より低電力を使用するか、又は指定された機能に特化されるように設定することができる。
補助プロセッサ1323は、メインプロセッサ1321とは別個に、またその一部として具現することができる。
一実施形態によれば、補助プロセッサ1323(例:イメージシグナルプロセッサ又はコミュニケーションプロセッサ)は、機能的に関連する他の構成要素(例:カメラモジュール1380又は通信モジュール1390)の一部として具現することができる。
データは、例えば、ソフトウェア(例:プログラム1340)及び、これと関連したコマンドに対する入力データ又は出力データを含み得る。
メモリ1330は、揮発性メモリ1332又は不揮発性メモリ1334を含み得る。
入力装置1350は、電子装置1301の構成要素(例:プロセッサ1320)に使用されるコマンド又はデータを電子装置1301の外部(例:ユーザ)から受信する。
入力装置1350は、例えば、マイク、マウス、又はキーボードを含む。
音響出力装置1355は、例えば、スピーカ又はレシーバを含む。
スピーカは、マルチメディア再生又は録音再生のように一般的な用途に使用され、レシーバは、着信電話を受信するために使用される。
一実施形態によれば、レシーバはスピーカとは別個に、又はその一部として具現することができる。
表示装置1360は、例えば、ディスプレイ、ホログラム装置、又はプロジェクタ及び当該装置を制御するための制御回路を含む。
一実施形態によれば、表示装置1360は、タッチを感知するように設定されたタッチ回路(touch circuitry)、又はタッチにより発生する力の強度を測定するように設定されたセンサ回路(例:圧力センサ)を含む。
一実施形態によれば、センサモジュール1376は、例えば、ジェスチャーセンサ、ジャイロセンサ、気圧センサ、マグネチックセンサ、加速度センサ、グリップセンサ、近接センサ、カラーセンサ、IR(infrared)センサ、生体センサ、温度センサ、湿度センサ、又は照度センサを含む。
一実施形態によれば、インタフェース1377は、例えば、HDMI(登録商標)(high definition multimedia interface)、USB(universal serial bus)インタフェース、SD(登録商標)カードインタフェース、又はオーディオインタフェースを含むことができる。
一実施形態によれば、接続端子1378は、例えば、HDMI(登録商標)コネクタ、USBコネクタ、SD(登録商標)カードコネクタ、又はオーディオコネクタ(例:ヘッドホンコネクタ)を含む。
一実施形態によれば、ハプティックモジュール1379は、例えば、モータ、圧電素子、又は電気刺激装置を含む。
カメラモジュール1380は、静止画及び動画を撮影する。
一実施形態によれば、カメラモジュール1380は一つ以上のレンズ、イメージセンサ、イメージシグナルプロセッサ、又はフラッシュを含む。
一実施形態によれば、電力管理モジュール1388は、例えば、PMIC(power management integrated circuit)の少なくとも一部として具現することができる。
バッテリ1389は、電子装置1301の少なくとも一つの構成要素に電力を供給する。
一実施形態によれば、バッテリ1389は、例えば、再充電不可能な1次電池、再充電可能な2次電池又は燃料電池を含む。
通信モジュール1390は、プロセッサ1320(例:アプリケーションプロセッサ)と独立して運営され、直接(例:有線)通信又は無線通信をサポートする一つ以上のコミュニケーションプロセッサを含み得る。
一実施形態によれば、通信モジュール1390は、無線通信モジュール1392(例:セルラー通信モジュール、近距離無線通信モジュール、又はGNSS(global navigation satellite system)通信モジュール)又は有線通信モジュール1394(例:LAN(local area network)通信モジュール、電話線サービス(Plain Old Telephone service;POTS)又は電力線通信モジュール)を含む。
このような各種の通信モジュールは、一つの構成要素(例:単一チップ)として統合されるか、又は互いに別途の複数の構成要素(例:複数チップ)として具現することができる。
無線通信モジュール1392は、加入者識別モジュール1396に保存された加入者情報(例:国際モバイル加入者識別子(IMSI))を用いて第1ネットワーク1398又は第2ネットワーク1399のような通信ネットワーク内で電子装置1301を確認及び認証する。
一実施形態によれば、アンテナモジュール1397は、一つ以上のアンテナを含むことができ、これによって、第1ネットワーク1398又は第2ネットワーク1399のような通信ネットワークで使用される通信方式に適合する少なくとも一つのアンテナが、例えば、通信モジュール1390により選択される。
信号又は電力は、選択された少なくとも一つのアンテナを介して通信モジュール1390と外部電子装置との間で送信されるか、受信される。
電子装置(1302、1304)それぞれは、電子装置1301と同一又は別の種類の装置であり得る。
一実施形態によれば、電子装置1301で実行される動作のすべて又は一部は外部の電子装置(1302、1304、or1308)の内の一つ以上の外部装置で実行される。
例えば、電子装置1301が、ある機能やサービスを自動的に、又はユーザもしくは他の装置からの要請に反応して行わなければならない場合に、電子装置1301は、機能又はサービスを自身で実行する代わりに、又は追加的に、一つ以上の外部電子装置にその機能又はそのサービスの少なくとも一部を行うように要請する。
要請を受信した一つ以上の外部電子装置は、要請された機能又はサービスの少なくとも一部、又は要請に関連した追加機能もしくはサービスを実行し、その実行の結果を電子装置1301へ伝達する。
電子装置1301は結果を、そのまま又は追加的に処理して、要請に対する応答の少なくとも一部として提供する。
このために、例えば、クラウドコンピューティング、分散コンピューティング、又はクライアント−サーバコンピューティング技術が用いられ得る。
電子装置は、例えば、携帯用通信装置(例:スマートフォン)、コンピュータ装置(例:Personal Digital Assistant(PDA)、タブレットPC、laptop PC(デスクトップPC、ワークステーション、又はサーバ))、携帯用マルチメディア装置(例:e−ブックリーダ又はMP3プレーヤ)、携帯用医療機器(例:心拍計、グルコースメータ、血圧計、又は体温計)、カメラ、ウェアラブル装置、又は家電装置を含み得る。
本明細書の実施形態による電子装置は、上述の機器に限定されない。
例えば、機器(例:電子装置1301のプロセッサ(例:プロセッサ1320))は、保存媒体から保存された一つ以上のコマンド語の内の少なくとも一つのコマンドを呼び出し、それを実行することができる。
これは、機器が呼び出された少なくとも一つのコマンド語に従って少なくとも一つの機能を行うように運営されることを可能とする。
一つ以上のコマンド語は、コンパイラにより生成されたコード又はインタプリタにより実行され得るコードを含むことができる。
機器で読み取り可能な保存媒体は、非一時的(non−transitory)保存媒体の形態で提供されることができる。
ここで、「非一時的」は、保存媒体が実在(tangible)する装置であり、信号(signal)(例:電磁気波)を含まないことを意味するだけであり、この用語は、データが保存媒体に半永久的に保存される場合と臨時的に保存される場合とを区分しない。
コンピュータプログラム製品は商品として販売者及び購買者間で取引可能である。
コンピュータプログラム製品は、機器で読み取り可能な保存媒体(例:compact disc read only memory(CD−ROM))の形態で配布されるか、又はアプリケーションストア(例:プレイストア(登録商標))を介して、もしくは二つのユーザ装置(例:スマートフォン)間で直接、オンラインで配布(例:ダウンロード又はアップロード)することができる。
オンライン配布の場合、コンピュータプログラム製品の少なくとも一部は製造会社のサーバ、アプリケーションストアのサーバ、又は中継サーバのメモリのような機器で読み取り可能な保存媒体に少なくとも一時保存されるか、臨時的に生成することができる。
様々な実施形態によれば、前述の当該構成要素の内の一つ以上の構成要素もしくは動作が省略されるか、又は一つ以上の他の構成要素もしくは動作が追加することができる。
代替的に又は追加的に、複数の構成要素(例:モジュール又はプログラム)は、一つの構成要素として統合することができる。
この場合、統合された構成要素は、複数の構成要素それぞれの構成要素の一つ以上の機能を統合以前に複数の構成要素の内の当該構成要素により行われるものと同一又は類似して行うことができる。
様々な実施形態によれば、モジュール、プログラム又は他の構成要素により行われる動作は、順次に、並列的に、反復的に、もしくはヒューリスティックに実行されるか、動作の内の一つ以上が他の手順で実行されるか、省略されるか、又は一つ以上の他の動作が追加され得る。
100 ユーザ端末
110 入力モジュール
111、533 マイク
111a、111b 入力
112 ハードウェアキー
120 ディスプレイ
121 知能型アプリのUI(user interface)
121a 音声認識ボタン
130、535 スピーカ
140、520、570 メモリ
141、143 アプリ
141a、143a 実行サービス
141b、143b 動作
150、512、560 プロセッサ
151 知能型エージェント
153 実行マネージャモジュール
155 知能型サービスモジュール
155a コンテキストモジュール
155b ペルソナモジュール
155c 提案モジュール
200 知能型サーバ
210、568 自動音声認識モジュール
211 自動音声認識データベース
220、566 自然言語理解モジュール
221 自然言語理解データベース
230 パスプランナーモジュール
231 パスルールデータベース
240 対話マネージャモジュール
250 自然言語生成モジュール
260 テキスト音声変換モジュール
300 個人化情報サーバ
400 提案サーバ
500 システム
510 電子装置
511 無線通信回路
513 タスク実行モジュール
515 アクセシビリティサービスモジュール
516 タスク実行モジュール
517 記録モジュール
519 音声秘書モジュール
522 アプリケーション
525 ストレージ
531 タッチスクリーンディスプレイ
541 ステート受信器
543 画面探知器
545 入力注入器
547 結果モニタ
550 知能型サーバ
551 情報収集器
553 ルール変換器
555 ルール確認モジュール
561 関数呼出器
563 パラメータ作成器
565 確認モジュール
Claims (15)
- ユーザ音声入力の処理を含むシステムであって、
タッチスクリーンディスプレイ、通信回路、マイク、及びスピーカを含む第1電子装置と、
前記第1電子装置の一部であるか、又は、前記第1電子装置と遠隔で通信する少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと作動的に(operately)接続される間、前記第1電子装置上に、又は前記第1電子装置の外部に常駐する少なくとも一つのメモリと、を有し、
前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、第1ユーザ入力をタッチスクリーンディスプレイ又はマイクを介して受信し、
少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスを前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを前記メモリに保存し、
前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように前記少なくとも一つのメモリに保存することを指示するコマンド語を保存することを特徴とするユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記タッチスクリーンディスプレイ又は前記マイクを介して前記少なくとも一つのインヴォークワードを受信し、
前記少なくとも一つのインヴォークワードに応答して、前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスから誘発される(resulting from)動作を行うことを指示するコマンド語を保存することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。 - 前記第1電子装置は、前記少なくとも一つのプロセッサの第1プロセッサを含み、
前記システムは、前記少なくとも一つのプロセッサの第2プロセッサを含むサーバをさらに有することを特徴とする請求項2に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第1プロセッサが、前記第1ユーザ入力を前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
前記少なくともタッチスクリーンディスプレイ又は前記マイクのどちらか一方を用いて前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを受信し、
前記少なくともタッチスクリーンディスプレイ又は前記マイクのどちらか一方を介して前記第2ユーザ入力を受信し、
前記シーケンス及び前記第2ユーザ入力と関連したデータを前記サーバへ送信することを指示するコマンド語を保存することを特徴とする請求項3に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第1プロセッサが、前記少なくとも一つのインヴォークワードを前記ディスプレイ又は前記マイクを介して受信し、
前記少なくとも一つのインヴォークワードと関連したデータを前記サーバへ送信し、
前記第1電子装置のステート(states)のシーケンスを前記動作を行うために前記サーバから受信し、
前記第1電子装置において、前記動作を行うための前記ステートのシーケンスを有するように指示するコマンド語を保存することを特徴とする請求項4に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第2プロセッサが、前記シーケンスに基づいて複数個のインヴォークワードを前記第1電子装置へ送信し、
前記第1電子装置から前記複数個のインヴォークワードの内から選択されたインヴォークワードと関連したデータを受信し、
前記選択されたインヴォークワードを前記シーケンスとマッピングされるように前記少なくとも一つのメモリに保存することを指示するコマンド語を保存することを特徴とする請求項4に記載のユーザ音声入力の処理を含むシステム。 - 前記シーケンスは、前記第1電子装置に設置された少なくとも一つのアプリケーションプログラムと関連することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。
- 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記少なくとも一つのアプリケーションプログラムの実行によって出力される画面を前記タッチスクリーンディスプレイを介して表示し、
前記画面に含まれるオブジェクトと関連する動作を受信し、
前記画面に対する情報のシーケンス、前記オブジェクトに対する情報のシーケンス、及び前記オブジェクトと関連する動作に対する情報のシーケンスを前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項7に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記シーケンスに基づき、複数個のインヴォークワードを前記タッチスクリーンディスプレイに表示し、
前記表示された複数個のインヴォークワードの内から選択されたインヴォークワードを前記シーケンスとマッピングされるように前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記画面に含まれる少なくとも一つのオブジェクト、前記少なくとも一つのオブジェクトに関連した少なくとも一つの動作(action)を認知し、
前記少なくとも一つのオブジェクトと関連した前記少なくとも一つの動作のシーケンスを受信することを指示するコマンド語を保存することを特徴とする請求項8に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記タッチスクリーンディスプレイを介して出力される第1画面に含まれる第1オブジェクトと関連する第1動作を受信し、
前記第1画面に対する情報、前記第1オブジェクトに対する情報、前記第1動作に対する情報、及び前記第1動作によりアップデートされた第2画面に対する情報のシーケンスを前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項10に記載のユーザ音声入力の処理を含むシステム。 - 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記メモリに保存されたアンドロイド(登録商標)フレームワークを用いて前記少なくとも一つのオブジェクト及び前記少なくとも一つのオブジェクトと関連した少なくとも一つの動作を認知することを指示するコマンド語を保存することを特徴とする請求項10に記載のユーザ音声入力の処理を含むシステム。
- ユーザ音声入力の処理を含むシステムの動作方法であって、
第1ユーザ入力を受信する段階と、
少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスをタッチスクリーンディスプレイ又はマイクを介して受信する段階と、
前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスをメモリに保存する段階と、
前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記マイクを介して受信する段階と、
前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように保存する段階と、を有することを特徴とするユーザ音声入力の処理を含むシステムの動作方法。 - 電子装置であって、
タッチスクリーンディスプレイと、
マイクと、
ストレージ(storage)と、
前記タッチスクリーンディスプレイ、前記マイク、及び前記ストレージと電気的に接続された少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと電気的に接続され、コマンド語を保存する少なくとも一つのメモリと、を有し、
前記コマンド語が実行された時、前記少なくとも一つのプロセッサにおいて、
第1ユーザ入力を受信し、
タッチ又は音声ベースの複数のユーザ入力を含むシーケンスを受信し、
前記シーケンスを前記ストレージに保存し、
前記シーケンスと関連するユーザ発話を前記マイクを介して受信し、前記ユーザ発話を前記シーケンスとマッピングされるように前記ストレージに保存することを特徴とする電子装置。 - 前記コマンド語が実行された時、前記少なくとも一つのプロセッサにおいて、
前記受信されたシーケンスから誘発される動作を行い、
前記動作の実行結果を前記タッチスクリーンディスプレイを介して出力し、
前記実行結果に対する確認入力を受信すると、前記シーケンスを前記ストレージに保存することを特徴とする請求項14に記載の電子装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0035387 | 2018-03-27 | ||
KR1020180035387A KR20190113130A (ko) | 2018-03-27 | 2018-03-27 | 사용자 음성 입력을 처리하는 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019175453A true JP2019175453A (ja) | 2019-10-10 |
Family
ID=65991673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019058263A Pending JP2019175453A (ja) | 2018-03-27 | 2019-03-26 | ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11151995B2 (ja) |
EP (1) | EP3547310A1 (ja) |
JP (1) | JP2019175453A (ja) |
KR (1) | KR20190113130A (ja) |
CN (1) | CN110308886B (ja) |
AU (1) | AU2019201441B2 (ja) |
WO (1) | WO2019190062A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11037562B2 (en) * | 2018-08-23 | 2021-06-15 | Google Llc | Regulating assistant responsiveness according to characteristics of a multi-assistant environment |
US11721339B2 (en) * | 2020-09-27 | 2023-08-08 | Stryker Corporation | Message filtering based on dynamic voice-activated rules |
US20220337691A1 (en) * | 2021-04-15 | 2022-10-20 | Apple Inc. | Techniques for establishing communications with third-party accessories |
US20220404956A1 (en) * | 2021-06-17 | 2022-12-22 | Samsung Electronics Co., Ltd. | Method and electronic device for navigating application screen |
US20230273943A1 (en) * | 2022-02-28 | 2023-08-31 | International Business Machines Corporation | Synchronizing a sensor network and an ontology |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867163A (en) * | 1995-12-01 | 1999-02-02 | Silicon Graphics, Inc. | Graphical user interface for defining and invoking user-customized tool shelf execution sequence |
JP2000222166A (ja) * | 1999-01-29 | 2000-08-11 | Idexon Giken Co Ltd | 音声入力方式を用いた汎用データ入力システム |
US6690392B1 (en) * | 1999-07-15 | 2004-02-10 | Gateway, Inc. | Method system software and signal for automatic generation of macro commands |
JP2003006496A (ja) * | 2001-06-18 | 2003-01-10 | Gonshichi Shoten:Kk | 試聴システム及び販売方法 |
MY141150A (en) * | 2001-11-02 | 2010-03-15 | Panasonic Corp | Channel selecting apparatus utilizing speech recognition, and controling method thereof |
JP2003323190A (ja) * | 2002-05-02 | 2003-11-14 | Advanced Media Inc | ホームページシステム |
CN101030130A (zh) * | 2006-03-02 | 2007-09-05 | 英华达(南京)科技有限公司 | 利用语音识别实现字元输入的手持式装置及方法 |
JP4786384B2 (ja) * | 2006-03-27 | 2011-10-05 | 株式会社東芝 | 音声処理装置、音声処理方法および音声処理プログラム |
US20080091426A1 (en) * | 2006-10-12 | 2008-04-17 | Rod Rempel | Adaptive context for automatic speech recognition systems |
KR101382504B1 (ko) * | 2007-05-21 | 2014-04-07 | 삼성전자주식회사 | 매크로 생성 장치 및 방법 |
US7962578B2 (en) * | 2008-05-21 | 2011-06-14 | The Delfin Project, Inc. | Management system for a conversational system |
WO2010013369A1 (ja) * | 2008-07-30 | 2010-02-04 | 三菱電機株式会社 | 音声認識装置 |
KR101523979B1 (ko) * | 2008-10-02 | 2015-05-29 | 삼성전자주식회사 | 휴대 단말기 및 그 휴대 단말기에서 기능 수행 방법 |
US8620008B2 (en) * | 2009-01-20 | 2013-12-31 | Lg Electronics Inc. | Method and an apparatus for processing an audio signal |
US8407057B2 (en) * | 2009-01-21 | 2013-03-26 | Nuance Communications, Inc. | Machine, system and method for user-guided teaching and modifying of voice commands and actions executed by a conversational learning system |
US10281893B2 (en) * | 2009-06-25 | 2019-05-07 | Universal Electronics Inc. | System and method for configuration of macro commands in a controlling device |
JP2013019958A (ja) * | 2011-07-07 | 2013-01-31 | Denso Corp | 音声認識装置 |
US8484025B1 (en) * | 2012-10-04 | 2013-07-09 | Google Inc. | Mapping an audio utterance to an action using a classifier |
WO2014178491A1 (ko) * | 2013-04-30 | 2014-11-06 | 포항공과대학교 산학협력단 | 발화 인식 방법 및 장치 |
US10055681B2 (en) * | 2013-10-31 | 2018-08-21 | Verint Americas Inc. | Mapping actions and objects to tasks |
KR102301880B1 (ko) | 2014-10-14 | 2021-09-14 | 삼성전자 주식회사 | 전자 장치 및 이의 음성 대화 방법 |
US10403267B2 (en) * | 2015-01-16 | 2019-09-03 | Samsung Electronics Co., Ltd | Method and device for performing voice recognition using grammar model |
KR102377277B1 (ko) * | 2015-02-27 | 2022-03-23 | 삼성전자주식회사 | 전자 장치에서 커뮤니케이션 지원 방법 및 장치 |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
KR20170046958A (ko) * | 2015-10-22 | 2017-05-04 | 삼성전자주식회사 | 전자 장치 및 그의 음성 인식을 이용한 기능 실행 방법 |
US10133821B2 (en) * | 2016-01-06 | 2018-11-20 | Google Llc | Search result prefetching of voice queries |
US20170192942A1 (en) * | 2016-01-06 | 2017-07-06 | Google Inc. | Hierarchical positioned event dispatch |
US9947316B2 (en) | 2016-02-22 | 2018-04-17 | Sonos, Inc. | Voice control of a media playback system |
US9736311B1 (en) * | 2016-04-29 | 2017-08-15 | Rich Media Ventures, Llc | Rich media interactive voice response |
CN106406804B (zh) * | 2016-09-12 | 2020-08-28 | 北京百度网讯科技有限公司 | 一种基于语音的输入方法及装置 |
US11169660B2 (en) * | 2016-12-14 | 2021-11-09 | Microsoft Technology Licensing, Llc | Personalized adaptive task framework for user life events |
KR102347208B1 (ko) | 2017-09-07 | 2022-01-05 | 삼성전자주식회사 | 외부 장치를 이용한 태스크 수행 방법 및 이를 지원하는 전자 장치, 서버 및 저장 매체 |
WO2019152511A1 (en) * | 2018-01-30 | 2019-08-08 | Aiqudo, Inc. | Personalized digital assistant device and related methods |
-
2018
- 2018-03-27 KR KR1020180035387A patent/KR20190113130A/ko active IP Right Grant
-
2019
- 2019-02-27 WO PCT/KR2019/002384 patent/WO2019190062A1/en active Application Filing
- 2019-03-01 AU AU2019201441A patent/AU2019201441B2/en active Active
- 2019-03-21 US US16/360,347 patent/US11151995B2/en active Active
- 2019-03-26 EP EP19165319.5A patent/EP3547310A1/en not_active Ceased
- 2019-03-26 CN CN201910233220.1A patent/CN110308886B/zh active Active
- 2019-03-26 JP JP2019058263A patent/JP2019175453A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3547310A1 (en) | 2019-10-02 |
KR20190113130A (ko) | 2019-10-08 |
CN110308886A (zh) | 2019-10-08 |
WO2019190062A1 (en) | 2019-10-03 |
US20190304455A1 (en) | 2019-10-03 |
CN110308886B (zh) | 2024-03-01 |
AU2019201441B2 (en) | 2023-10-12 |
US11151995B2 (en) | 2021-10-19 |
AU2019201441A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829235B (zh) | 语音数据处理方法和支持该方法的电子设备 | |
KR102426704B1 (ko) | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 | |
EP3608906B1 (en) | System for processing user voice utterance and method for operating same | |
US11151995B2 (en) | Electronic device for mapping an invoke word to a sequence of inputs for generating a personalized command | |
US11120792B2 (en) | System for processing user utterance and controlling method thereof | |
US11474780B2 (en) | Method of providing speech recognition service and electronic device for same | |
KR20190032026A (ko) | 자연어 표현 제공 방법 및 이를 지원하는 전자 장치 | |
KR102630662B1 (ko) | 어플리케이션 실행 방법 및 이를 지원하는 전자 장치 | |
KR102464120B1 (ko) | 사용자 발화를 처리하는 전자 장치 | |
US20210217406A1 (en) | Voice recognition service operating method and electronic device supporting same | |
KR102369309B1 (ko) | 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치 | |
US10976997B2 (en) | Electronic device outputting hints in an offline state for providing service according to user context | |
KR20210001082A (ko) | 사용자 발화를 처리하는 전자 장치와 그 동작 방법 | |
KR102426411B1 (ko) | 사용자 발화을 처리하는 전자 장치 및 시스템 | |
US20220287110A1 (en) | Electronic device and method for connecting device thereof | |
US20220286757A1 (en) | Electronic device and method for processing voice input and recording in the same | |
CN111902863A (zh) | 用于处理用户语音输入的装置 | |
KR102507249B1 (ko) | 성능 모드 제어 방법 및 이를 지원하는 전자 장치 | |
CN112542171A (zh) | 使用语音识别功能执行动作的电子装置及其方法 | |
US11756575B2 (en) | Electronic device and method for speech recognition processing of electronic device | |
US20220415325A1 (en) | Electronic device and method for processing user input | |
US20230154463A1 (en) | Method of reorganizing quick command based on utterance and electronic device therefor | |
KR20240020137A (ko) | 전자 장치 및 음성 인식 방법 | |
KR20210111423A (ko) | 사용자 입력을 처리하는 전자 장치 및 방법 | |
KR20240045927A (ko) | 음성인식 장치 및 음성인식 장치의 동작방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230509 |