JP2019175453A - ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 - Google Patents

ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 Download PDF

Info

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
Application number
JP2019058263A
Other languages
English (en)
Inventor
ホ 準 諸葛
Jun Jaygarl Ho
ホ 準 諸葛
栽 建 盧
Jae Gun No
栽 建 盧
ミン 成 金
Min-Sung Kim
ミン 成 金
珍 雄 金
Jinwoong Kim
珍 雄 金
栽 榮 梁
Jae Yung Yeo
栽 榮 梁
光 斌 李
Kwangbin Lee
光 斌 李
在 永 余
Jaeyung Yeo
在 永 余
多 順 李
Da Som Lee
多 順 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019175453A publication Critical patent/JP2019175453A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback 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

【課題】ユーザが直接定義したタスクに対して音声認識サービスをサポートすることができるシステムを提供する。【解決手段】タッチスクリーンディスプレイ(TSD)、通信回路、マイク、スピーカを含む第1電子装置、第1電子装置の一部か又は第1電子装置と遠隔で通信するプロセッサ、プロセッサと作動的に接続される間第1電子装置上に又は第1電子装置の外部に常駐するメモリを有し、メモリは実行時プロセッサが第1ユーザ入力をTSD又はマイクを介して受信しタッチ及び/又は音声ベースのユーザ入力のシーケンスをTSD又はマイクを介して受信しタッチ及び/又は音声ベースのユーザ入力のシーケンスをメモリに保存しシーケンスと関連したインヴォークワードを含む第2ユーザ入力をTSD又はマイクを介して受信しインヴォークワードをシーケンスとマッピングされるようにメモリに保存することを指示するコマンド語を保存する。【選択図】 図5

Description

本発明は、ユーザ音声入力の処理を含む装置に関し、特に、ユーザが直接定義したタスクに対して音声認識サービスをサポートすることができるユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置に関する。
キーボードやマウスを用いた入力方式に加えて、最近の電子装置は音声入力方式をサポートすることができる。
例えば、スマートフォンやタブレットのような電子装置は、音声認識サービスが実行された状態でユーザの発話を認識し、発話に対応する動作を実行することができる。
音声認識サービスは、ユーザの発話を入力として受信し、認識する。
音声認識サービスは、ユーザの発話に含まれた特定の語句を用いて発話に対応する結果をユーザに提供することができる。
例えば、音声認識サービスは、自然言語処理技術に基づいて発話からユーザの意図を把握し、把握した意図に応じた結果をユーザに提供することができる。
音声認識サービスは、予め保存されたルール(rule)にマッピングされるユーザの発話が受信すると、上記ルールを用いてユーザの意図に合致するコマンド語(command)を生成する。
コマンド語は、電子装置においてユーザが意図するタスク(task)を行う動作の実行を指示する。
サービス提供者は、処理可能な規則を予め定義することができる。
サービス提供者は、ユーザに予め定義された規則にマッチングする電子装置に、一部のタスクに対してのみ音声認識サービスをサポートするので、より進んだ音声認識サービスのために、音声認識サービスの自由度の拡大という課題がある。
特開2000−78288号公報
本発明は上記従来の音声認識サービスにおける課題に鑑みてなされたものであって、本発明の目的は、ユーザが直接定義したタスクに対して音声認識サービスをサポートすることができるユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置を提供することにある。
上記目的を達成するためになされた本発明によるユーザ音声入力の処理を含むシステムは、ユーザ音声入力の処理を含むシステムであって、タッチスクリーンディスプレイ、通信回路、マイク、及びスピーカを含む第1電子装置と、前記第1電子装置の一部であるか、又は、前記第1電子装置と遠隔で通信する少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサと作動的に(operately)接続される間、前記第1電子装置上に、又は前記第1電子装置の外部に常駐する少なくとも一つのメモリと、を有し、前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、第1ユーザ入力をタッチスクリーンディスプレイ又はマイクを介して受信し、少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスを前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを前記メモリに保存し、前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように前記少なくとも一つのメモリに保存することを指示するコマンド語を保存することを特徴とする。
上記目的を達成するためになされた本発明によるユーザ音声入力の処理を含むシステムの動作方法は、第1ユーザ入力を受信する段階と、少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスをタッチスクリーンディスプレイ又はマイクを介して受信する段階と、前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを前記メモリに保存する段階と、前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記マイクを介して受信する段階と、前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように保存する段階と、を有することを特徴とする。
上記目的を達成するためになされた本発明による電子装置は、タッチスクリーンディスプレイと、マイクと、ストレージ(storage)と、前記タッチスクリーンディスプレイ、前記マイク、及び前記ストレージと電気的に接続された少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサと電気的に接続され、コマンド語を保存する少なくとも一つのメモリと、を有し、前記コマンド語が実行された時、前記少なくとも一つのプロセッサにおいて、第1ユーザ入力を受信し、タッチ又は音声ベースの複数のユーザ入力を含むシーケンスを受信し、前記シーケンスを前記ストレージに保存し、前記シーケンスと関連するユーザ発話を前記マイクを介して受信し、前記ユーザ発話を前記シーケンスとマッピングされるように前記ストレージに保存することを特徴とする。
本発明に係るユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置によれば、予め保存された規則に対応されない個人化されたタスクに対するユーザコマンド機能を提供することができる知能化システムにより、ユーザが定義したタスクに対する音声認識サービスを提供することができるという効果がある。
本発明の実施形態による統合知能化システムの概要を示す図である。 本発明の一実施形態による統合知能化システムのユーザ端末の構成を示すブロック図である。 本発明の一実施形態によるユーザ端末の知能型アプリを実行しているところを示す図である。 本発明の一実施形態による統合知能化システムの知能型サーバを示したブロック図である。 本発明の一実施形態による音声認識サービスを提供する知能化システムの概略構成を示すブロック図である。 本発明の一実施形態による電子装置に保存されたタスク実行モジュールの概略構成を示すブロック図である。 本発明の一実施形態による電子装置に保存された記録モジュールの概略構成を示すブロック図である。 本発明の他の実施形態による電子装置に保存されたタスク実行モジュールの概略構成を示すブロック図である。 本発明の一実施形態による個人化されたコマンドを生成する方法を説明するためのフローチャートである。 本発明の様々な実施形態による個人化されたコマンドを生成するシステムの動作に対するシーケンス図である。 本発明の様々な実施形態によって生成された個人化されたコマンドを行うシステムの動作に対するシーケンス図である。 本発明の一実施形態による個人化されたコマンドを行う方法を説明するためのフローチャートである。 本発明の様々な実施形態による個人化されたタスクを生成する方法を説明するための一シナリオである。 本発明の様々な実施形態による個人化されたタスクが生成される時に表示されるインタフェースの一例である。 本発明の様々な実施形態によるネットワーク環境内の電子装置の概略構成を示すブロック図である。
次に、本発明に係るユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置を実施するための形態の具体例を図面を参照しながら説明する。
以下、本発明の様々な実施形態を添付された図面を参照して記載する。
しかし、これは、本発明を特定の実施形態に対して限定するものではなく、本発明の実施形態の様々な変更(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は、本発明の実施形態による統合知能化システムの概要を示す図である。
図1を参照すると、統合知能化システム10は、ユーザ端末100、知能型サーバ200、個人化情報サーバ300、又は提案サーバ400を含む。
ユーザ端末100は、ユーザ端末100の内部に保存されたアプリ(app)(又は、アプリケーションプログラム(application program))(例:アラームアプリ、メッセージアプリ、写真(ギャラリー)アプリなど)を介してユーザに必要なサービスを提供することができる。
例えば、ユーザ端末100は、ユーザ端末100の内部に保存された知能型アプリ(又は、音声認識アプリ)を介して他のアプリを実行し、動作させることができる。
ユーザ端末100の知能型アプリを介して他のアプリを実行し、動作を実行させるためのユーザ入力を受信する。
ユーザ入力は、例えば、物理的ボタン、タッチパッド、音声入力、遠隔入力などを介して受信する。
一実施形態によれば、ユーザ端末100は、携帯電話、スマートフォン、PDA(personal digital assistant)、又はノートパソコンなどインターネットに接続可能な各種の端末装置(又は、電子装置)がこれに該当し得る。
一実施形態によれば、ユーザ端末100は、ユーザの発話をユーザ入力で受信する。
ユーザ端末100は、ユーザの発話を受信し、ユーザの発話に基づいてアプリを動作させるコマンドを生成する。
これにより、ユーザ端末100は、コマンドを用いてアプリを動作させる。
知能型サーバ200は、通信網を介してユーザ端末100からユーザ音声入力(voice input)を受信してテキストデータ(text data)に変更する。
他の実施形態では、知能型サーバ200は、テキストデータに基づいてパスルール(path rule)を生成(又は、選択)することができる。
パスルールは、アプリの機能を行うための動作(action)(又は、オペレーション(operation))に対する情報又は動作を実行するために必要なパラメータに対する情報を含み得る。
また、パスルールは、アプリの動作の手順を含み得る。
ユーザ端末100は、パスルールを受信し、パスルールに従ってアプリを選択し、選択されたアプリでパスルールに含まれた動作を実行させる。
例えば、ユーザ端末100は、動作を実行し、動作を実行したユーザ端末100の状態に対応する画面をディスプレイに表示する。
他の例を挙げれば、ユーザ端末100は、動作を実行し、動作を行った結果をディスプレイに表示しないこともできる。
ユーザ端末100は、例えば、複数の動作を実行し、複数の動作の一部の結果のみをディスプレイに表示することもできる。
ユーザ端末100は、例えば、最後の手順の動作を実行した結果のみをディスプレイに表示することもできる。
また、他の例を挙げれば、ユーザ端末100は、ユーザの入力を受信して動作を実行した結果をディスプレイに表示することもできる。
個人化情報サーバ300は、ユーザ情報が保存されたデータベースを含む。
例えば、個人化情報サーバ300は、ユーザ端末100からユーザ情報(例:コンテキスト情報、アプリ実行など)を受信してデータベースに保存する。
知能型サーバ200は、通信網を介して個人化情報サーバ300からユーザ情報を受信してユーザ入力に対するパスルールを生成する場合に用いられ得る。
一実施形態によれば、ユーザ端末100は、通信網を介して個人化情報サーバ300からユーザ情報を受信してデータベースを管理するための情報として用いることができる。
提案サーバ400は、端末内に機能あるいはアプリケーションの紹介又は提供される機能に対する情報が保存されたデータベースを含む。
例えば、提案サーバ400は、個人化情報サーバ300からユーザ端末100のユーザ情報を受信してユーザが使用可能な機能に対するデータベースを含む。
ユーザ端末100は、通信網を介して提案サーバ400から提供される機能に対する情報を受信してユーザに情報を提供する。
図2は、本発明の一実施形態による統合知能化システムのユーザ端末の構成を示すブロック図である。
図2を参照すると、ユーザ端末100は、入力モジュール110、ディスプレイ120、スピーカ130、メモリ140及びプロセッサ150を含む。
ユーザ端末100は、ハウジングをさらに含むことができ、ユーザ端末100の構成はハウジングの内部に安着するか、ハウジング上に(on the housing)配置され得る。
一実施形態によれば、入力モジュール110は、ユーザからユーザ入力を受信する。
例えば、入力モジュール110は、接続された外部装置(例:キーボード、ヘッドセット)からユーザ入力を受信する。
他の例を挙げれば、入力モジュール110は、ディスプレイ120と結合されたタッチスクリーン(例:タッチスクリーンディスプレイ)を含み得る。
また他の例を挙げれば、入力モジュール110は、ユーザ端末100(又は、ユーザ端末100のハウジング)に配置されたハードウェアキー(又は、物理的キー)を含み得る。
一実施形態によれば、入力モジュール110は、ユーザの発話を音声信号として受信することができるマイク111を含む。
例えば、入力モジュール110は、発話入力システム(speech input system)を含み、発話入力システムを介してユーザの発話を音声信号として受信する。
一実施形態によれば、ディスプレイ120は、イメージやビデオ、及び/又はアプリケーションの実行画面を表示する。
例えば、ディスプレイ120は、アプリのグラフィックユーザインタフェース(graphic user interface)(GUI)を表示する。
一実施形態によれば、スピーカ130は、音声信号を出力する。
例えば、スピーカ130は、ユーザ端末100の内部で生成された音声信号を外部へ出力する。
一実施形態によれば、メモリ140は、複数のアプリ(141、143)を保存する。
メモリ140に保存された複数のアプリ(141、143)は、ユーザ入力によって選択されて実行され、動作する。
一実施形態によれば、メモリ140は、ユーザ入力を認識するのに必要な情報を保存することができるデータベースを含み得る。
例えば、メモリ140は、ログ(log)情報を保存することができるログデータベースを含む。
他の例を挙げれば、メモリ140は、ユーザ情報を保存することができるペルソナデータベースを含むことができる。
一実施形態によれば、メモリ140は、複数のアプリ(141、143)を保存し、複数のアプリ(141、143)はロードされて動作する。
例えば、メモリ140に保存された複数のアプリ(141、143)は、プロセッサ150の実行マネージャモジュール153によりロードされて動作する。
複数のアプリ(141、143)は、機能を行う実行サービス(141a、143a)又は複数の動作(又は、単位動作)(141b、143b)を含み得る。
実行サービス(141a、143a)は、プロセッサ150の実行マネージャモジュール153により生成され、複数の動作(141b、143b)を実行する。
一実施形態によれば、アプリ(141、143)の動作(141b、143b)が実行されたとき、動作(141b、143b)の実行による実行状態画面はディスプレイ120に表示される。
実行状態画面は、例えば、動作(141b、143b)が完了した状態の画面であり得る。
実行状態画面は、他の例を挙げれば、動作(141b、143b)の実行が停止された状態(partial landing)(例:動作(141b、143b)に必要なパラメータが入力されなかった場合)の画面であり得る。
一実施形態によれば、実行サービス(141a、143a)は、パスルールに従って動作(141b、143b)を実行する。
例えば、実行サービス(141a、143a)は、実行マネージャモジュール153により生成され、実行マネージャモジュール153からパスルールに従って実行要請を受信し、実行要請に応じて動作(141b、143b)をアプリ(141、143)の動作を実行する。
実行サービス(141a、143a)は、動作(141b、143b)の実行が完了すると、完了情報を実行マネージャモジュール153へ送信する。
一実施形態によれば、アプリ(141、143)で複数の動作(141b、143b)が実行される場合、複数の動作(141b、143b)は順次に実行される。
実行サービス(141a、143a)は一つの動作(動作1)の実行が完了すると、次の動作(動作2)をオープンし、完了情報を実行マネージャモジュール153へ送信する。
ここで任意の動作をオープンするというのは、任意の動作を実行可能な状態に遷移させるか、任意の動作の実行を準備するものと理解され得る。
言い換えれば、任意の動作がオープンされなければ、当該動作は実行され得ない。
実行マネージャモジュール153は、完了情報が受信すると、次の動作(141b、143b)に対する実行要請を実行サービス(例:動作2)へ送信する。
一実施形態によれば、複数のアプリ(141、143)が実行される場合、複数のアプリ(141、143)は順次に実行される。
例えば、第1アプリ141の最後の動作が完了して完了情報を受信すると、実行マネージャモジュール153は第2アプリ143の最初の動作の実行要請を実行サービス143aへ送信する。
一実施形態によれば、アプリ(141、143)で複数の動作(141b、143b)が実行された場合、実行された複数の動作(141b、143b)それぞれの実行による結果画面はディスプレイ120に表示される。
一実施形態によれば、実行された複数の動作(141b、143b)の実行による複数の結果画面のうち一部のみディスプレイ120に表示することもできる。
一実施形態によれば、メモリ140は、知能型エージェント151と連動した知能型アプリ(例:音声認識アプリ)を保存する。
知能型エージェント151と連動したアプリはユーザの発話を音声信号として受信して処理する。
一実施形態によれば、知能型エージェント151と連動したアプリは、入力モジュール110を介して入力される特定入力(例:ハードウェアキーを介した入力、タッチスクリーンを介した入力、特定の音声入力)により動作する。
一実施形態によれば、プロセッサ150は、ユーザ端末100の全般的な動作を制御する。
例えば、プロセッサ150は、入力モジュール110を制御してユーザ入力を受信する。
プロセッサ150は、ディスプレイ120を制御してイメージを表示する。
プロセッサ150は、スピーカ130を制御して音声信号を出力する。
プロセッサ150は、メモリ140を制御して必要な情報を読み込むか、保存する。
一実施形態によれば、プロセッサ150は、知能型エージェント151、実行マネージャモジュール153又は知能型サービスモジュール155を含む。
一実施形態において、プロセッサ150は、メモリ140に保存されたコマンド語を実行して知能型エージェント151、実行マネージャモジュール153、又は知能型サービスモジュール155を駆動させる。
本発明の様々な実施形態で言及される各種のモジュールは、ハードウェアとして具現することもでき、ソフトウェアとして具現することもできる。
本発明の様々な実施形態において、知能型エージェント151、実行マネージャモジュール153、又は知能型サービスモジュール155により行われる動作は、プロセッサ150により行われる動作として理解され得る。
一実施形態によれば、知能型エージェント151は、ユーザ入力で受信した音声信号に基づいてアプリを動作させるコマンドを生成する。
一実施形態による、実行マネージャモジュール153は、知能型エージェント151から生成されたコマンドを受信してメモリ140に保存されたアプリ(141、143)を選択して実行させ、動作させる。
一実施形態によれば、知能型サービスモジュール155は、ユーザの情報を管理してユーザ入力を処理するのに用いる。
知能型エージェント151は、入力モジュール110を介して受信したユーザ入力を知能型サーバ200へ送信して処理する。
一実施形態によれば、知能型エージェント151は、ユーザ入力を知能型サーバ200へ送信する前に、ユーザ入力を前処理する。
一実施形態によれば、知能型エージェント151は、ユーザ入力を前処理するために、適応反響除去(adaptive echo canceller:AEC)モジュール、ノイズ抑制(noise suppression:NS)モジュール、終点検出(end−point detection:EPD)モジュール又は自動利得制御(automatic gain control:AGC)モジュールを含むことができる。
適応反響除去部は、ユーザ入力に含まれたエコー(echo)を除去する。
ノイズ抑制モジュールは、ユーザ入力に含まれた背景雑音を抑制する。
終点検出モジュールは、ユーザ入力に含まれたユーザ音声の終点を検出してユーザの音声が存在する部分を探す。
自動利得制御モジュールは、ユーザ入力を認識して処理するのに適合するようにユーザ入力の音量を調節する。
一実施形態によれば、知能型エージェント151は、性能のために前処理構成をすべて含むことができるが、他の実施形態において、知能型エージェント151は低電力で動作するために前処理構成の一部を含むこともできる。
一実施形態によれば、知能型エージェント151は、ユーザの呼び出しを認識するウェイクアップ(wake up)認識モジュールを含み得る。
ウェイクアップ認識モジュールは、音声認識モジュールを介してユーザのウェイクアップコマンドを認識し、ウェイクアップコマンドを受信した場合、ユーザ入力を受信するために知能型エージェント151を活性化させる。
一実施形態によれば、知能型エージェント151のウェイクアップ認識モジュールは、低電力プロセッサ(例:オーディオコーデックに含まれたプロセッサ)に具現することができる。
一実施形態によれば、知能型エージェント151は、ハードウェアキーによるユーザ入力によって活性化される。
知能型エージェント151が活性化される場合、知能型エージェント151と連動した知能型アプリ(例:音声認識アプリ)が実行される。
一実施形態によれば、知能型エージェント151は、ユーザ入力を実行するための音声認識モジュールを含む。
音声認識モジュールは、アプリで動作を実行するようにするためのユーザ入力を認識する。
例えば、音声認識モジュールは、アプリ(141、143)でウェイクアップコマンドのような動作を実行する制限されたユーザ(音声)入力(例:カメラアプリが実行中のとき撮影動作を実行させる「パチリ」のような発話など)を認識する。
知能型サーバ200を補助してユーザ入力を認識する音声認識モジュールは、例えば、ユーザ端末100内で処理可能なユーザコマンドを認識して迅速に処理する。
一実施形態によれば、知能型エージェント151のユーザ入力を実行するための音声認識モジュールは、アプリプロセッサで具現され得る。
一実施形態によれば、知能型エージェント151の音声認識モジュール(ウェイクアップモジュールの音声認識モジュールを含む)は、音声を認識するためのアルゴリズムを用いてユーザ入力を認識する。
音声を認識するために使用されるアルゴリズムは、例えば、HMM(hidden markov model)アルゴリズム、ANN(artificial neural network)アルゴリズム、又はDTW(dynamic time warping)アルゴリズムの内の少なくとも一つであり得る。
一実施形態によれば、知能型エージェント151は、ユーザの音声入力をテキストデータに変換する。
一実施形態によれば、知能型エージェント151は、ユーザの音声を知能型サーバ200へ伝達して、変換されたテキストデータを受信する。
これにより、知能型エージェント151は、テキストデータをディスプレイ120に表示する。
一実施形態によれば、知能型エージェント151は、知能型サーバ200から送信したパスルールを受信する。
一実施形態によれば、知能型エージェント151は、パスルールを実行マネージャモジュール153へ送信する。
一実施形態によれば、知能型エージェント151は、知能型サーバ200から受信したパスルールによる実行結果ログ(log)を知能型サービス(intelligence service)モジュール155に送信し、送信された実行結果ログは、ペルソナモジュール(persona manager)155bのユーザの選好(preference)情報に累積して管理される。
一実施形態によれば、実行マネージャモジュール153は、知能型エージェント151からパスルールを受信してアプリ(141、143)を実行させ、アプリ(141、143)がパスルールに含まれた動作(141b、143b)を実行するようにする。
例えば、実行マネージャモジュール153は、アプリ(141、143)へ動作(141b、143)を実行するためのコマンド情報を送信し、アプリ(141、143)から動作(141b、143b)の完了情報を受信する。
一実施形態によれば、実行マネージャモジュール153は、知能型エージェント151とアプリ(141、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)の実行状態を管理する。
例えば、実行マネージャモジュール153は、アプリ(141、143)から動作(141b、143b)の実行状態に対する情報を受信する。
動作(141b、143b)の実行状態が、例えば、停止された状態(partial landing)の場合(例:動作(141b、143b)に必要なパラメータが入力されなかった場合)、実行マネージャモジュール153は、停止された状態に対する情報を知能型エージェント151へ送信する。
知能型エージェント151は、受信した情報を用いて、ユーザに必要な情報(例:パラメータ情報)の入力を要請する。
動作(141b、143b)の実行状態が、他の例を挙げれば、動作状態の場合にユーザから発話を受信することができ、実行マネージャモジュール153は実行されているアプリ(141、143)及びアプリ(141、143)の実行状態に対する情報を知能型エージェント151へ送信する。
知能型エージェント151は、知能型サーバ200を介してユーザの発話のパラメータ情報を受信し、受信したパラメータ情報を実行マネージャモジュール153へ送信する。
実行マネージャモジュール153は、受信したパラメータ情報を用いて動作(141b、143b)のパラメータを新たなパラメータに変更する。
一実施形態によれば、実行マネージャモジュール153はパスルールに含まれたパラメータ情報をアプリ141、143へ伝達することができる。前記パスルールに従って複数のアプリ141、143が順次に実行される場合、実行マネージャモジュール153は一つのアプリから他のアプリへパスルールに含まれたパラメータ情報を伝達することができる。
一実施形態によれば、実行マネージャモジュール153は、複数のパスルールを受信する。
実行マネージャモジュール153は、ユーザの発話に基づいて複数のパスルールを選択する。
例えば、実行マネージャモジュール153は、ユーザの発話が一部の動作141aを実行する一部のアプリ141を特定するが、残りの動作143bを実行する他のアプリ143を特定しなかった場合、一部の動作141aを実行する同一のアプリ141(例:ギャラリーアプリ)が実行され、残りの動作143bを実行可能な相異なるアプリ143(例:メッセージアプリ、テレグラムアプリ)がそれぞれ実行される相異なる複数のパスルールを受信する。
実行マネージャモジュール153は、例えば、複数のパスルールの同一の動作(141b、143b)(例:連続した同一の動作(141b、143b))を実行する。
実行マネージャモジュール153は、同一の動作まで実行した場合、複数のパスルールにそれぞれ含まれた相異なるアプリ(141、143)を選択可能な状態画面としてディスプレイ120に表示する。
一実施形態によれば、知能型サービスモジュール155は、コンテキストモジュール155a、ペルソナモジュール155b、又は提案モジュール155cを含み得る。
コンテキストモジュール155aは、アプリ(141、143)からアプリ(141、143)の現在の状態を収集する。
例えば、コンテキストモジュール155aは、アプリ(141、143)の現在の状態を示すコンテキスト情報を受信してアプリ(141、143)の現在の状態を収集する。
ペルソナモジュール155bは、ユーザ端末100を使用するユーザの個人情報を管理する。
例えば、ペルソナモジュール155bは、ユーザ端末100の使用情報及び実行結果を収集してユーザの個人情報を管理する。
提案モジュール155cは、ユーザの意図を予測してユーザにコマンドを推薦する。
例えば、提案モジュール155cは、ユーザの現在の状態(例:時間、場所、状況、アプリ)を考慮してユーザにコマンドを推薦する。
図3は、本発明の一実施形態によるユーザ端末の知能型アプリを実行しているところを示す図である。
図3を参照すると、ユーザ端末100がユーザ入力を受信して知能型エージェント151と連動した知能型アプリ(例:音声認識アプリ)を実行しているところを示すものである。
一実施形態によれば、ユーザ端末100は、ハードウェアキー112を介して音声を認識するための知能型アプリを実行させる。
例えば、ユーザ端末100は、ハードウェアキー112を介してユーザ入力を受信した場合、ディスプレイ120に知能型アプリのUI(user interface)121を表示する。
ユーザは、例えば、知能型アプリのUI121がディスプレイ120に表示された状態で音声を入力111bするために知能型アプリのUI121に音声認識ボタン121aをタッチする。
ユーザは、他の例を挙げれば、音声を入力111bするためにハードウェアキー112を持続的に押して音声を入力111bすることができる。
一実施形態によれば、ユーザ端末100は、マイク111を介して音声を認識するための知能型アプリを実行させる。
例えば、ユーザ端末100は、マイク111を介して指定された音声(例:起きてよ!(wake up!)が入力111aされた場合、ディスプレイ120に知能型アプリのUI121を表示する。
図4は、本発明の一実施形態による統合知能化システムの知能型サーバの概略構成を示すブロック図である。
図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を含み得る。
知能型サーバ200の自然言語理解モジュール220又はパスプランナーモジュール230は、パスルール(path rule)を生成する。
一実施形態によれば、自動音声認識(automatic speech recognition:ASR)モジュール210は、ユーザ端末100から受信したユーザ入力をテキストデータに変換する。
一実施形態によれば、自動音声認識モジュール210は、ユーザ端末100から受信したユーザ入力をテキストデータに変換する。
例えば、自動音声認識モジュール210は、発話認識モジュールを含み得る。
発話認識モジュールは、音響(acoustic)モデル及び言語(language)モデルを含み得る。
例えば、音響モデルは発声に関連した情報を含み、言語モデルは単位音素情報及び単位音素情報の組み合わせに対する情報を含む。
発話認識モジュールは、発声に関連した情報及び単位音素情報に対する情報を用いてユーザ発話をテキストデータに変換する。
音響モデル及び言語モデルに対する情報は、例えば、自動音声認識データベース(automatic speech recognition database:ASR DB)211に保存される。
一実施形態によれば、自然言語理解モジュール220は、文法的分析(syntactic analyze)又は意味的分析(semantic analyze)を行ってユーザの意図を把握する。
文法的分析は、ユーザ入力を文法的単位(例:単語、句、形態素など)に分けて、分けられた単位がどのような文法的な要素を有するのか把握する。
意味的分析は、意味(semantic)マッチング、ルール(rule)マッチング、フォーミュラ(formula)マッチングなどを用いて行う。
これにより、自然言語理解モジュール220は、ユーザ入力が、あるドメイン、意図(intent)、又は意図を表現するのに必要なパラメータ(parameter)(又は、スロット(slot))を取得する。
一実施形態によれば、自然言語理解モジュール220は、ドメイン(domain)、意図(intend)、及び意図を把握するのに必要なパラメータ(parameter)(又は、スロット(slot))に分けられたマッチングルールを用いてユーザの意図及びパラメータを決定する。
例えば、一つのドメイン(例:アラーム)は、複数の意図(例:アラーム設定、アラーム解除など)を含み得、一つの意図は、複数のパラメータ(例:時間、繰り返し回数、アラーム音など)を含み得る。
複数のルールは、例えば、一つ以上の必須要素パラメータを含む。
マッチング規則は、自然言語理解データベース(natural language understanding database:NLU DB)221に保存される。
一実施形態によれば、自然言語理解モジュール220は、形態素、句などの言語的特徴(例:文法的要素)を用いてユーザ入力から抽出された単語の意味を把握し、把握された単語の意味をドメイン及び意図にマッチングさせてユーザの意図を決定する。
例えば、自然言語理解モジュール220は、それぞれのドメイン及び意図にユーザ入力から抽出された単語がどれだけ含まれているかを計算してユーザの意図を決定する。
一実施形態によれば、自然言語理解モジュール220は、意図を把握するのに基となった単語を用いてユーザ入力のパラメータを決定する。
一実施形態によれば、自然言語理解モジュール220は、ユーザ入力の意図を把握するための言語的特徴が保存された自然言語認識データベース221を用いてユーザの意図を決定する。
他の実施形態によれば、自然言語理解モジュール220は、個人化言語モデル(personal language model:PLM)を用いてユーザの意図を決定する。
例えば、自然言語理解モジュール220は、個人化された情報(例:連絡先リスト、音楽リスト)を用いてユーザの意図を決定する。
個人化言語モデルは、例えば、自然言語理解データベース221に保存され得る。
一実施形態によれば、自然言語理解モジュール220のみならず、自動音声認識モジュール210も自然言語認識データベース221に保存された個人化言語モデルを参考としてユーザの音声を認識することができる。
一実施形態によれば、自然言語理解モジュール220は、ユーザ入力の意図及びパラメータに基づいてパスルールを生成する。
例えば、自然言語理解モジュール220は、ユーザ入力の意図に基づいて実行されるアプリを選択し、選択されたアプリで実行される動作を決定する。
自然言語理解モジュール220は、決定された動作に対応するパラメータを決定してパスルールを生成する。
一実施形態によれば、自然言語理解モジュール220により生成されたパスルールは、実行されるアプリ、アプリで実行される動作及び動作を実行するのに必要なパラメータに対する情報を含み得る。
一実施形態によれば、自然言語理解モジュール220は、ユーザ入力の意図及びパラメータをベースとしたパスルール、又は複数のパスルールを生成する。
例えば、自然言語理解モジュール220は、パスプランナーモジュール230からユーザ端末100に対応するパスルールセットを受信し、ユーザ入力の意図及びパラメータを受信したパスルールセットにマッピングさせてパスルールを決定する。
他の実施形態によれば、自然言語理解モジュール220は、ユーザ入力の意図及びパラメータに基づいて実行されるアプリ、アプリで実行される動作、及び動作を実行するのに必要なパラメータを決定して一つのパスルール、又は複数のパスルールを生成する。
例えば、自然言語理解モジュール220は、ユーザ端末100の情報を用いて実行されるアプリ及びアプリで実行される動作をユーザ入力の意図によってオントロジー(ontology)又はグラフモデル(graph model)形態に配列してパスルールを生成する。
生成されたパスルールは、例えば、パスプランナーモジュール230を介してパスルールデータベース(path rule database:PR DB)231に保存される。
生成されたパスルールは、パスルールデータベース231のパスルールセットに追加される。
一実施形態によれば、自然言語理解モジュール220は、生成された複数のパスルールの内の少なくとも一つのパスルールを選択する。
例えば、自然言語理解モジュール220は、複数のパスルールの内の最適のパスルールを選択する。
他の例を挙げれば、自然言語理解モジュール220は、ユーザの発話に基づいて一部の動作のみが特定された場合、複数のパスルールを選択することができる。
自然言語理解モジュール220は、ユーザの追加入力により複数のパスルールの内の一つのパスルールを決定することができる。
一実施形態によれば、自然言語理解モジュール220は、ユーザ入力に対する要請でパスルールをユーザ端末100へ送信する。
例えば、自然言語理解モジュール220は、ユーザ入力に対応する一つのパスルールをユーザ端末100へ送信する。
他の例を挙げれば、自然言語理解モジュール220は、ユーザ入力に対応する複数のパスルールをユーザ端末100へ送信することができる。
複数のパスルールは、例えば、ユーザの発話に基づいて一部の動作のみが特定された場合、自然言語理解モジュール220により生成することができる。
一実施形態によれば、パスプランナーモジュール230は、複数のパスルールの内の少なくとも一つのパスルールを選択する。
一実施形態によれば、パスプランナーモジュール230は、自然言語理解モジュール220へ複数のパスルールを含むパスルールセットを伝達する。
パスルールセットの複数のパスルールは、パスプランナーモジュール230に接続されたパスルールデータベース231にテーブル形態に保存される。
例えば、パスプランナーモジュール230は、知能型エージェント151から受信したユーザ端末100の情報(例:OS情報、アプリ情報)に対応するパスルールセットを自然言語理解モジュール220へ伝達する。
パスルールデータベース231に保存されたテーブルは、例えば、ドメイン又はドメインのバージョン別に保存される。
一実施形態によれば、パスプランナーモジュール230は、パスルールセットから一つのパスルール、又は複数のパスルールを選択して自然言語理解モジュール220へ伝達する。
例えば、パスプランナーモジュール230は、ユーザの意図及びパラメータをユーザ端末100に対応するパスルールセットにマッチングして一つのパスルール、又は複数のパスルールを選択して自然言語理解モジュール220へ伝達する。
一実施形態によれば、パスプランナーモジュール230は、ユーザの意図及びパラメータを用いて一つのパスルール、又は複数のパスルールを生成する。
例えば、パスプランナーモジュール230は、ユーザの意図及びパラメータに基づいて実行されるアプリ及びアプリで実行される動作を決定して一つのパスルール、又は複数のパスルールを生成する。
一実施形態によれば、パスプランナーモジュール230は、生成されたパスルールをパスルールデータベース231に保存する。
一実施形態によれば、パスプランナーモジュール230は、自然言語理解モジュール220で生成されたパスルールをパスルールデータベース231に保存する。
生成されたパスルールは、パスルールデータベース231に保存されたパスルールセットに追加される。
一実施形態によれば、パスルールデータベース231に保存されたテーブルには複数のパスルール又は複数のパスルールセットを含み得る。
複数のパスルール又は複数のパスルールセットは、各パスルールを行う装置の種類、バージョン、タイプ、又は特性を反映することができる。
一実施形態によれば、対話マネージャモジュール240は、自然言語理解モジュール220により把握されたユーザの意図が明確であるかどうかを判断する。
例えば、対話マネージャモジュール240は、パラメータの情報が十分であるかどうかに基づいてユーザの意図が明確であるかどうかを判断する。
対話マネージャモジュール240は、自然言語理解モジュール220で把握されたパラメータがタスクを行うのに十分であるかどうかを判断する。
一実施形態によれば、対話マネージャモジュール240は、ユーザの意図が明確でない場合、ユーザに必要な情報を要請するフィードバックを行う。
例えば、対話マネージャモジュール240は、ユーザの意図を把握するためのパラメータに対する情報を要請するフィードバックを行う。
一実施形態によれば、対話マネージャモジュール240は、コンテンツ提供(content provider)モジュールを含み得る。
コンテンツ提供モジュールは、自然言語理解モジュール220で把握された意図及びパラメータに基づいて動作を行うことができる場合、ユーザ入力に対応するタスクを行なった結果を生成する。
一実施形態によれば、対話マネージャモジュール240は、ユーザ入力に対する応答としてコンテンツ提供モジュールで生成された結果をユーザ端末100へ送信する。
一実施形態によれば、自然言語生成モジュール(NLG)250は、指定された情報をテキスト形態に変更する。
テキスト形態に変更された情報は、自然言語の発話の形態であり得る。
指定された情報は、例えば、追加入力に対する情報、ユーザ入力に対応される動作の完了を案内する情報、又はユーザの追加入力を案内する情報(例:ユーザ入力に対するフィードバック情報)であり得る。
テキスト形態に変更された情報は、ユーザ端末100へ送信されてディスプレイ120に表示されるか、テキスト音声変換モジュール260へ送信されて音声形態に変更される。
一実施形態によれば、テキスト音声変換モジュール260は、テキスト形態の情報を音声形態の情報に変更する。
テキスト音声変換モジュール260は、自然言語生成モジュール250からテキスト形態の情報を受信し、テキスト形態の情報を音声形態の情報に変更してユーザ端末100へ送信する。
ユーザ端末100は、音声形態の情報をスピーカ130へ出力する。
一実施形態によれば、自然言語理解モジュール220、パスプランナーモジュール230、及び対話マネージャモジュール240は、一つのモジュールとして具現することができる。
例えば、自然言語理解モジュール220、パスプランナーモジュール230、及び対話マネージャモジュール240は、一つのモジュールとして具現され、ユーザの意図及びパラメータを決定し、決定されたユーザの意図及びパラメータに対応する応答(例:パスルール)を生成する。
これにより、生成された応答は、ユーザ端末100へ送信される。
図5は、本発明の一実施形態による音声認識サービスを提供する知能化システムの概略構成を示すブロック図である。
図5を参照すると、一実施形態によるシステム500は、タッチスクリーンディスプレイ531、無線通信回路511、マイク533、及びスピーカ535を含む電子装置510を含む。
システム500は、電子装置510の一部であるか、電子装置510と遠隔で通信する少なくとも一つのプロセッサ(510、560)及び少なくとも一つのプロセッサ(510、560)と動作可能に接続される間、電子装置510上に、又は電子装置510の外部に常駐する少なくとも一つのメモリ(520、570)を含み得る。
一実施形態において、システム500は、音声認識サービスを提供する。
例えば、システム500は、ユーザから発話を受信し、発話に対応するユーザの意図を把握することができる。
システム500は、ユーザの意図に合致する特定の機能を行う。
システム500は、発話が受信すると、発話にマッピングされ、予め保存されたコマンドを行う。
一実施形態において、システム500は個人化された音声コマンドを提供することができる。例えば、システム500はユーザにより定義されたタスクと前記タスクにマッピングされた発話を保存することができる。システム500は前記発話を受信すると、ユーザにより定義されたタスクを行うことができる。
システム500の例を挙げれば、システム500は、電子装置510(例:図2のユーザ端末100)及びサーバ550(例:図4の知能型サーバ200)を含み得る。
一実施形態において、電子装置510は、無線通信回路511、メモリ520、タッチスクリーンディスプレイ531、マイク533、スピーカ535、及びプロセッサ512を含み得る。
一実施形態において、プロセッサ512は、メモリ520に保存されたコマンド語を実行してタスク実行モジュール513、アクセシビリティサービスモジュール515、又は記録モジュール517、音声秘書モジュール519を駆動させる。
本発明の様々な実施形態で言及される各種のモジュールは、ハードウェアとして具現することもでき、ソフトウェアとして具現することもできる。
本発明の様々な実施形態において、タスク実行モジュール513、アクセシビリティサービスモジュール515、又は記録モジュール517により行われる動作は、プロセッサ512により行われる動作として理解され得る。
一実施形態において、音声秘書モジュール519は、音声認識サービスを提供する。
例えば、音声秘書モジュール519は、音声認識サービスの提供のために必要なインタフェースを電子装置のタッチスクリーンディスプレイ531を介して表示する。
音声秘書モジュール519は、音声認識の結果としてユーザのコマンドに対応する結果画面をタッチスクリーンディスプレイ531を介して提供する。
一実施形態において、タスク実行モジュール513は、電子装置510又は電子装置510に保存された特定のアプリケーションでサポートする機能を実行する。
例えば、タスク実行モジュール513は、タッチ又は音声ベースのユーザの入力を受信すると、受信したユーザ入力に対応するタスクを行う。
電子装置510は、マイク533を介してユーザから音声入力を受信し、タッチスクリーンディスプレイ531を介してユーザからタッチベースのユーザ入力を受信する。
例えば、受信したユーザ入力は、特定のアプリケーションの動作を誘発する。
一実施形態において、アクセシビリティサービスモジュール515は、電子装置510に表示された画面の内容を読み上げるTTS(text to speech)及び振動を用いた通知を提供するハプティックフィードバック(haptic feedback)などのような機能を提供することができる。
アクセシビリティサービスモジュール515は、例えば、グーグル(登録商標)のアンドロイド(登録商標)のフレームワークで提供するモジュールであり得る。
アクセシビリティサービスモジュール515は、画面に含まれたオブジェクトの属性及び内容などを認識し、認識されたオブジェクトを操作する。
例えば、アクセシビリティサービスモジュール515は、画面をクローリング(crawling)することにより、画面に含まれたオブジェクトを認識する。
アクセシビリティサービスモジュール515は、認識されたオブジェクトに入力が印加される時に実行される動作を認識する。
アクセシビリティサービスモジュール515は、該当する動作を実行するための入力方式(例:タップ、ロングタップ、ダブルタップ、スクロール、ドラッグ、又はフリックなど)も認識することができる。
アクセシビリティサービスモジュール515は、タスク実行モジュール513により実行されるタスクに動作(例:アクション)を注入する。
例えば、タスク実行モジュール513がステートを知能型サーバ550から受信すると、アクセシビリティサービスモジュール515はステートを実行するためのオブジェクトを識別し、オブジェクトに動作を注入する。
例えば、アクセシビリティサービスモジュール515は、ステートを実行するための入力方式としてユーザが直接入力を印加するものと類似して仮想のユーザ入力を注入することができる。
タスク実行モジュール513により実行されたアプリケーション522は、アクセシビリティサービスモジュール515により制御される。
図5では、電子装置510が1つのアプリケーション522を保存するものとして示したが、これに制限されず、電子装置510は、複数個のアプリケーションを保存することもできる。
タスク実行モジュール513により実行されたアプリケーション522にアクションが注入されると、電子装置600に表示された画面はアップデートされる。
アクセシビリティサービスモジュール515は、画面がアップデートされると、イベントが発生したと判断し、発生したイベントをタスク実行モジュール513へ伝達する。
アクセシビリティサービスモジュール515は、アップデートされた画面に含まれたオブジェクトの属性及び内容などを認識する。
アクセシビリティサービスモジュール515は、オブジェクトの属性及び内容などをタスク実行モジュール513へ伝達する。
タスク実行モジュール513はイベントが伝達されると、受信したステートの実行が完了したかどうかを判断する。
ステートの実行が完了すると、タスク実行モジュール513は、実行マネージャ(例:図2の実行マネージャモジュール153)へ結果をリターンする。
一実施形態において、知能型サーバ550は、電子装置510にステートを送信する。
電子装置510は受信したステートを行う。
一実施形態において、知能型サーバ550は、ユーザにより定義されたタスクに対応するステートを電子装置510へ送信する。
ユーザ入力のシーケンスは、ユーザにより定義されたタスクを行うために必要なユーザ入力を含み得る。
例えば、知能型サーバ550は、ユーザ入力のシーケンスを受信し、シーケンスと関連したルール(rule)を生成又は選択する。
例えば、ルールは、図4のパスルールから選択されるか、パスルールと同一又は類似の形式で生成される。
一実施形態において、ルールは、ユーザのコマンドに対応する動作を行うための一つ以上のステート(state)及び一つ以上のステートを行うために必要なパラメータに対する情報を含み得る。
ルールは、ルールが複数のステートを含む場合、ステートの手順に対する情報を含み得る。
電子装置(ユーザ端末)510は、ルールを受信し、ルールに基づいてアプリケーションを選択し、選択されたアプリケーションを制御することにより、ルールに含まれたステートを行う。
例えば、電子装置(ユーザ端末)510はステートを行い、ステートを行った画面をタッチスクリーンディスプレイ531に表示する。
図6aは、本発明の一実施形態による電子装置に保存されたタスク実行モジュールの概略構成を示すブロック図である。
図6aを参照すると、一実施形態によるタスク実行モジュール513は、ステート受信器541、画面探知器543、入力注入器545、及び結果モニタ547を含み得る。
タスク実行モジュール513は、図5に示したタスク実行モジュール513として参照され得る。
ステート受信器541、画面探知器543、入力注入器545、結果モニタ547により行われるものとして説明した動作は、電子装置510のプロセッサ512により実行される。
ステート受信器541は、ルールに含まれたステートを受信する。
ルールは、知能型サーバ550(例:図4の知能型サーバ300)から受信する。
例えば、知能型サーバ550から電子装置510のステートのシーケンスを受信する。
画面探知器543は、電子装置510のタッチスクリーンディスプレイ531に表示された画面を探知する。
画面探知器543は、ステートを行う前に画面を探知する。
画面探知器543は、アクセシビリティサービスモジュール515から画面に含まれたオブジェクトに対する情報を受信する。
画面探知器543は、アクセシビリティサービスモジュール515から受信した情報に基づいて当該ステートを行うことができるかどうかを確認する。
入力注入器545は、ステート受信器541により受信したステートに対応するアクションを決定する。
入力注入器545は、例えば、ステートを行うためのオブジェクト及びオブジェクトに対する入力方式を決定する。
結果モニタ547は、電子装置510のタッチスクリーンディスプレイ531に表示された画面を探知する。
結果モニタ547は、ステートを行った後、アップデートされた画面を探知する。
結果モニタ547は、アクセシビリティサービスモジュール515からアップデートされた画面に含まれたオブジェクトに対する情報を受信する。
結果モニタ547は、アクセシビリティサービスモジュール515から受信した情報に基づいてステートの実行が完了したかどうかを確認する。
結果モニタ547は、実行結果をタスク実行モジュール513又は知能型サーバ550へリターンする。
タスク実行モジュール513は、電子装置510に設置されたアプリケーションの内の一つを実行させ、アプリケーションのタスクを行う。
タスク実行モジュール513は、アプリケーションがアップデートされると、共にアップデートされる。
アップデートされたタスク実行モジュール513は、外部装置(例:知能型サーバ550)から受信され得る。
図6bは、本発明の一実施形態による電子装置に保存された記録モジュールの概略構成を示すブロック図である。
図6bを参照すると、本発明の一実施形態による記録モジュール517は、情報収集器(information collector)551、ルール変換器(rule converter)553、ルール確認モジュール555を含む。
情報収集器551は、電子装置510で取得されるタッチやボタン入力を含むユーザの入力情報と電子装置510の変動情報(例:アプリケーションの画面切り替えなど)を収集する。
ユーザの入力情報は、例えば、ユーザのタッチ、ドラッグ、クリックなどが入力される画面の座標情報、特定機能の実行、物理ボタンの押え、入力されたテキストなどが挙げられる。
変動情報は、例えば、アプリケーションの「Resource ID」の変動の有無、タスク実行モジュール513から発生する様々な情報を含み得る。
ルール変換器553は、情報収集器551により収集された情報に基づき、タスクを行うことができる形態に変換する。
例えば、ルール変換器553は、収集された情報を知能型サーバ200(例:図1の知能型サーバ200)で使用されるパスルールのように、ステートとパラメータを含む形態のデータに変換する。
他の例を挙げれば、ルール変換器553は、特定のページやイメージ、アプリの特定動作への接続をベースとしたディープリンク(deep link)が存在すれば、当該ディープリンクと当該リンクに含まれるデータ形態に変換する。
また他の例を挙げれば、ルール変換器553は、オントロジー(ontology)ベースのカプセル(capsule)を使用するアクションオブジェクト(action object)形態に変換することもできる。
様々な実施形態によれば、カプセルは、コンセプトオブジェクト(concept object)、アクションオブジェクト(action object)を含み得る。
コンセプトオブジェクト(concept object)は、例えば、「レストラン」のような現実世界のEntityモデルであるか、「レストラン」、「時間」、「予約」のようなEntityなどの結合である。
また、コンセプトオブジェクト(concept object)は、コンセプトオブジェクトが有し得る値のクラスに対する定義の形態となり得る。
例えば、インテジャータイプ(integer type)、ストリングタイプ(string type)などのようなタイプを有し得る。
コンセプトオブジェクト(concept object)は、タスク単位(atomic unit of work)のモデルであって外部従属性を入力(input)として有し、事前に決定されたタイプの出力を有する。
アクションオブジェクト(action object)は、あるタスクを行うことができる演算に対する定義の形態となり得る。
例えば、ジャバスクリプトの「functions」、「methods」、「interface」のような形態を有し得る。
ルール変換器553により変換されたデータは、音声秘書モジュール519により行われ得、ストレージ525に保存され得る。
ルール確認モジュール555は、ルール変換器553により生成されたデータが電子装置510により動作するかどうかを確認する。
ルール確認モジュール555は、様々な方法を通じて動作の有無を確認することができる。
例えば、ルール確認モジュール555は、最終目標とするアプリケーションの画面状態を確認したり、データの実行中間の過程を確認することができる。
様々な実施形態において、ルール確認モジュール555は、ルール変換器553により生成されたデータを最適化する。
例えば、ユーザにより生成されたデータがユーザの5段階の入力からなる場合、ルール確認モジュール555は、データを4段階あるいは3段階に減らすルートがあるかどうかを確認する。
ルール確認モジュール555は、当該ルートを発見した場合、データを交替する。
他の例を挙げれば、ルール確認モジュール555は、ディープリンクのように直ぐに最終目標にアクセスできる方法があれば、当該方法にデータを変更することもできる。
図6cは、本発明の他の実施形態による電子装置に保存されたタスク実行モジュールの概略構成を示すブロック図である。
図6cを参照すると、本発明の他の実施形態において、タスク実行モジュール516は図6aのタスク実行モジュール513と異なるように構成される。
例えば、行おうとするタスクがディープリンクあるいはVivカプセルである場合、タスク実行モジュール516は、パラメータを含む関数の実行を介してタスクを行う。
タスク実行モジュール516は、関数呼出器561、パラメータ作成器563、確認モジュール565を含み得る。
関数呼出器561は、行おうとするタスクに対応するアクション又は関数を行うモジュールとして参照され得る。
ユーザ発話に対応するルールが選択され、選択されたRuleに対応する関数が定義されている場合、関数呼出器561は定義された関数を行う。
パラメータ作成器(parameter tagger)563は、関数呼出器561が関数を行うために必要なパラメータを伝達する。
パラメータ作成器563は、ユーザ発話に対応する関数に必要なパラメータを保存する。
確認モジュール565は、タスク実行モジュール513を介して行ったルールが正常に行われたかどうかを判断する。
例えば、確認モジュール565は、行われた関数が最初に登録された時に行われた結果と現在行われた結果とを比較する。
例えば、確認モジュール565は、関数の結果画面のスクリーンIDを比較する。
確認モジュール565は、呼び出した関数の種類(例:ディープリンク、Vivカプセル)によってそのリターン値を介して関数の実行を確認する。
図7は、本発明の一実施形態による個人化されたコマンドを生成する方法を説明するためのフローチャートである。
図7を参照すると、本発明の一実施形態によるシステムにより行われる個人化されたコマンドを生成する方法は、ステップS710〜ステップS740を含む。
ステップS710〜ステップS740は、例えば、図5に示したシステム500により行われる。
ステップS710〜ステップS740の各ステップは、例えば、システム500の少なくとも一つのプロセッサ(512、560)により行う(あるいは、実行)ことができるインストラクション(コマンド語)で具現することができる。
インストラクションは、例えば、コンピュータ記録媒体又は図5に示したシステム500の少なくとも一つのメモリ(520、570)に保存される。
以下では、ステップS710〜ステップS740の説明に図5の説明と重複した説明は省略する。
ステップS710において、システム500は、第1ユーザ入力を受信する。
例えば、システム500は、タッチスクリーンディスプレイ531又はマイク533を介して第1ユーザ入力を受信する。
様々な実施形態において、システム500は、個人化されたコマンドを生成可能とするインタフェースをサポートすることができる。
例えば、システム500は、第1ユーザ入力に応答して個人化された音声コマンドを生成するための第1モードを実行する。
例えば、第1ユーザ入力は、インタフェースの実行のためのユーザ入力として参照され得る。
例えば、ユーザは、インタフェース実行のためのボタン(例:recodingボタン)をタッチする。
又は、ユーザは、インタフェースの実行のための発話(例:コマンド生成)を入力する。
ステップS720において、システム500は、第1ユーザ入力を受信した後に、タッチ及び/又は音声ベースのユーザ入力のシーケンスをタッチスクリーンディスプレイ531又はマイク533を介して受信する。
システム500は、シーケンスをメモリ(520、570)に保存する。
例えば、シーケンスをメモリ(520、570)に保存する動作は、ユーザのアクションを録画する動作として参照され得る。
様々な実施形態において、ユーザは、個人化されたタスクを生成することができる。
例えば、ユーザは、保存しようとする複数の入力を行う。
システム500は、複数の入力のシーケンスを受信し、それを保存する。
保存されたシーケンスは、ユーザの個人化されたタスクに対応し得る。
例えば、ユーザは、保存しようとするタスクをタッチ動作を介して行う。
様々な実施形態において、電子装置510のタッチスクリーンディスプレイ531を介して出力される画面に対して、システム500(例:アクセシビリティサービスモジュール515)は、画面に含まれる少なくとも一つのオブジェクト、少なくとも一つのオブジェクトに関連した少なくとも一つの動作(action)を認知する。
システム500は、少なくとも一つのオブジェクトと関連した少なくとも一つの動作のシーケンスを受信し、保存する。
例えば、システム500は、少なくとも一つのメモリ520に保存されたアンドロイド(登録商標)フレームワークを用いて少なくとも一つのオブジェクト及び少なくとも一つのオブジェクトに関連して行われる少なくとも一つの動作を認知する。
例えば、オブジェクトは、座標情報、リソースID(resource ID)、入力窓、テキスト情報、(情報)タッチスクリーンディスプレイ531の解像度、ステータスバー(status bar)の有無、電子装置510に設置されたOS情報などの電子装置510と関連した情報を含み得る。
例えば、オブジェクトと関連した動作は、選択(select)、クリック、ロングクリック(long click)、スクロール、コピー、切り取り、貼り付け、テキスト入力、発話入力などを含み得る。
システム500は、どのオブジェクトにどのような動作が行われるかを認知する。
例えば、システム500は、検索窓に検索語が入力されるとき、「検索窓」のオブジェクトに「検索語が入力される動作」を認識する。
例えば、システム500は、画面情報、オブジェクト情報、及び動作情報のシーケンスを受信する。
システム500は、受信したシーケンスを保存する。
様々な実施形態において、ユーザ入力は、知能型サーバ200に予め定義されたステートに対応し得る。
例えば、システム500は、予め定義されたステートの内の選択されたステート又はユーザ入力に対応するステートをシーケンスとして受信する。
様々な実施形態において、システム500は、受信したシーケンスが電子装置510により正しく行われるかどうかを確認する。
例えば、電子装置510は、受信したシーケンスを行い、実行結果をユーザに提供する。
例えば、ユーザは、実行結果に基づき、ユーザが意図したタスクが行われるかどうかを確認する。
意図したタスクが上手く行われた場合、ユーザは入力されたシーケンスに対する確認を入力する。
万一、意図したタスクが上手く行われなかった場合、ユーザは入力されたシーケンスに対するキャンセルを入力し、個人化されたタスクに対応するユーザ入力を再度行う。
ステップS730において、システム500は、シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を受信する。
例えば、インヴォークワードは、ユーザが入力した個人化されたタスクを呼び出すことができる個人化されたコマンドとして参照され得る。
ユーザは、インヴォークワードを発話したり、インヴォークワードをテキストで入力することにより、保存した個人化されたタスクを呼び出す。
インヴォークワードを含む第2ユーザ入力は、タッチスクリーンディスプレイ531又はマイク533を介して受信する。
ステップS740において、システム500は、少なくとも一つのインヴォークワードを、シーケンスとマッピングされるようにシステム500の少なくとも一つのメモリ(520、570)に保存する。
例えば、システム500は、ユーザの個人化されたタスクに対応するシーケンスとインヴォークワードを共に保存する。
システム500は、インヴォークワードが入力されると、インヴォークワードにマッピングされたシーケンスから誘発される動作を行う。
システム500は、個人化されたコマンドを提供することができる。
様々な実施形態において、システム500は、シーケンスと関連したデータを受信した後に、シーケンスに基づいて複数個のインヴォークワードを提供する。
例えば、複数のインヴォークワードは、シーケンスに対する推薦項目として参照され得る。
例えば、サーバ550は、シーケンスに基づいて複数個のインヴォークワードを含む推薦項目を電子装置510へ送信し、電子装置510から複数個のインヴォークワードの内の選択されたインヴォークワードを受信する。
システム500は、選択されたインヴォークワードを受信したシーケンスとマッピングされるように少なくとも一つのメモリ(525、570)に保存する。
図8は、本発明の様々な実施形態による個人化されたコマンドを生成するシステムの動作に対するシーケンス図である。
本発明の様々な実施形態において、複数のユーザの入力を含むシーケンスは、電子装置510に設置された少なくとも一つのアプリケーション522に関連する。
図8を参照すると、例えば、一つのアプリケーション522と関連した個人化されたコマンドを生成する過程を示している。
システム500は、アプリケーション522の実行によって出力される画面をタッチスクリーンディスプレイ531を介して表示する。
システム500(例:アクセシビリティサービスモジュール515)は、画面に含まれる少なくとも一つのオブジェクト、少なくとも一つのオブジェクトに関連した少なくとも一つの動作(action)を認知する。
システム500は、第1画面(アプリケーション522の実行によって出力される画面:画面第1状態)に含まれるオブジェクトに関連する動作を受信する。
アクセシビリティサービスモジュール515は、画面のアップデートを感知すると(動作801)、イベントを発生させ、結果モニタ547に伝達する(動作803)。
アクセシビリティサービスモジュール515は、上記動作によってアップデートされた第2画面(画面第2状態)を感知する(動作805)。
結果モニタ547は、第2画面の状態をキャプチャーし、記録モジュール517へ伝達する(動作807)。
記録モジュール517は、受信した第2画面情報を保存する。
例えば、記録モジュール517は、第1画面情報、第1画面のオブジェクトに対する動作情報、及び上記動作によりアップデートされた第2画面情報を保存する(動作809)。
様々な実施形態において、動作801〜809は繰り返して行われ得る。
これにより、ユーザの入力のシーケンスが記録モジュール517により保存される。
記録モジュール517は、シーケンスの保存が完了すると、実行マネージャ(例:図2の実行マネージャモジュール153)へシーケンスと関連したデータを伝達する(動作811)。
実行マネージャは、シーケンスと関連したデータを送信する知能型サーバ550のクライアント(550−1)へ伝達する(動作813)。
知能型サーバ550は、クライアント(550−1)を介してシーケンスと関連したデータを知能型サーバ550へ送信する。
様々な実施形態において、システム500は、シーケンスとマッピングされたインヴォークワードと関連したデータを電子装置510のストレージ525に保存するか、クライアント(550−1)を介して知能型サーバ550へ送信する。
知能型サーバ550は、メモリ570に上記データを保存する。
図9は、本発明の様々な実施形態によって生成された個人化されたコマンドを行うシステムの動作に対するシーケンス図である。
図9を参照すると、システム500は、インヴォークワードが含まれたユーザ入力を受信すると、インヴォークワードにマッピングされた個人化されたコマンドを行う。
例えば、システム500は、保存されたユーザ入力のシーケンスから誘発される動作を行う。
様々な実施形態において、システム500は、音声認識サービスを提供する。
システム500は、例えば、インヴォークワードが含まれたユーザの発話を受信する。
システム500は、ユーザの発話に対応して予め保存されたシーケンスを検索する。
システム500は、シーケンスを電子装置510により行われ得るステートを含むルールに変更し、ルールをシステム500へ送信する。
一実施形態において、システム500は、クライアント(550−1)を介してユーザの発話に対応するルール(例:図5のルール)を受信する(動作901)。
実行マネージャ(例:図2の実行マネージャ153)は、ルールに含まれるステートを記録モジュール517へ伝達する(動作903)。
例えば、ルールに複数個のステートが含まれる場合、実行マネージャモジュール153は、複数個のステートを順次に記録モジュール517へ伝達する。
一実施形態において、記録モジュール517は、受信したステートをタスク実行モジュール513へ伝達する(動作905)。
様々な実施形態において、システム500は、複数個のアプリケーションを保存することができ、複数個のアプリケーションそれぞれに対応するタスク実行モジュール513を含み得る。
例えば、記録モジュール517は、ステートがどのアプリケーションにより行われるかを判断し、アプリケーションに対応するタスク実行モジュール513(例:ステート受信器541)へステートを伝達する。
ステート受信器541は、受信したステートの実行のために、画面探知器543に画面感知を要請する(動作907)。
画面探知器543は画面を感知し、ステートが実行可能な状態かどうかを判断する(動作909)。
画面探知器543は、感知結果をステート受信器541へ伝達する(動作911)。
ステート受信器541は、ステートが実行され得る状態であれば、入力注入器545にステートに対応するアクション(動作)を伝達する(動作913)。
入力注入器545は、アクセシビリティサービスモジュール515の機能を用いて要請されたアクションを行う(動作915)。
アクセシビリティサービスモジュール515を介して行われた動作がターゲットアプリケーション522に適用され(動作917)、その結果ターゲットアプリケーション522の画面はアップデートされる(動作919)。
アクセシビリティサービスモジュール515は、画面のアップデートを感知すると、イベントが発生したものと判断する(動作921)。
結果モニタ547は、イベントを受信し、ステートが正常に行われたかどうかを判断する(動作923)。
結果モニタ547は、ステートの成功又は失敗の有無を実行マネージャモジュール153へ伝達する(動作925)。
動作903〜動作925は、知能型サーバ550から受信したルールに含まれるステートがすべて実行されるまで繰り返され得る。
ルールに含まれるステートがすべて行われると、実行マネージャモジュール153はその結果を知能型サーバ550のクライアント(550−1)へ伝達する(動作927)。
知能型サーバ550は、当該ルールが正常に実行、完了したことが分かる。
図10は、本発明の一実施形態による個人化されたコマンドを行う方法を説明するためのフローチャートである。
図10を参照すると、一実施形態による個人化されたコマンドを行う方法は、ステップS1010〜ステップS1050を含む。
ステップS1010〜ステップS1050は、例えば、図5に示した電子装置510により行われ得る。
ステップS1010〜ステップS1050の各ステップは、例えば、電子装置510のプロセッサ512により行う(あるいは、実行する)ことができるインストラクション(コマンド語)で具現することができる。
インストラクションは、例えば、コンピュータ記録媒体又は図5に示した電子装置510の少なくとも一つのメモリ520に保存される。
以下では、ステップS1010〜ステップS1050の説明において図5の説明と重複した説明は省略する。
本発明の様々な実施形態において、電子装置510は、音声認識サービスを提供する。
電子装置510は、個人化されたコマンドをストレージ525に保存し、個人化されたコマンドが受信すると、個人化されたタスクを行う。
電子装置510は、個人化されたコマンドを音声認識サービスを提供するサーバ(例:サーバ550)に保存せず、直接保存することにより、個人化されたタスクを迅速に提供することができる。
ステップS1010において、電子装置510は、ユーザ発話をマイク533を介して受信する。
ユーザ発話は、予め保存された個人化されたタスクに対応するコマンドとして参照され得る。
例えば、ユーザ発話はインヴォークワードを含み得る。
例えば、電子装置510は、ユーザの発話を知能型サーバ550へ送信する。
知能型サーバ550は、発話をASRモジュール568を用いてテキストに変換する。
様々な実施形態において、電子装置510は、ASRモジュールをさらに含むことができる。
この場合、電子装置510は、ASRモジュールを用いて直接ユーザの発話をテキストに変換することができる。
ステップS1020において、電子装置510は、ユーザの発話にマッピングされて保存されたシーケンスが保存されているかどうかを判断する。
電子装置510のストレージ525は、個人化されたタスクに対応するシーケンスを保存する。
電子装置510は、発話から変換されたテキストを用いてストレージ525を検索する。
電子装置510は、ストレージ525でユーザの発話にマッピングされたシーケンスを検索する。
ステップS1030において、電子装置510は、ユーザ発話にマッピングされるシーケンスが保存されている場合(ステップS1020「Y」)、シーケンスから誘発される動作を行う。
例えば、電子装置510のタスク実行モジュール513は、シーケンスに対応するルール及びステートを実行する。
様々な実施形態において、シーケンスは、シーケンスが行われ得る特定のアプリケーションを介して行われる。
個人化されたタスクに対応するシーケンスが保存されると、ユーザは個人化されたタスクとマッピングされて保存されたコマンドを発話することにより、個人化されたタスクを呼び出す。
特に、個人化されたタスクは、特定のアプリケーションと関連し得る。
ステップS1040において、電子装置510は、ユーザ発話にマッピングされるシーケンスが保存されていない場合(ステップS1020「N」)、ユーザ発話を知能型サーバ550へ送信する。
この場合、ユーザ発話は、知能型サーバ550に予め保存されたコマンドとして参照され得る。
受信したユーザ発話に対応するシーケンスがストレージ525に保存されていない場合、電子装置510はユーザ発話が個人化されたコマンドではなく、知能型サーバ550から提供されたコマンドとして判断し得る。
ステップS1050において、電子装置510は、知能型サーバ550から予め保存されたコマンドに対応するステートを受信し、ステートから誘発される動作を行う。
例えば、電子装置510のタスク実行モジュール513は、知能型サーバ550からステートを受信し、実行する。
ステートが特定のアプリケーションに関連した場合、タスク実行モジュール513は、当該アプリケーションを実行し、アプリケーション上でステートを実行する。
様々な実施形態において、個人化されたタスクは、知能型サーバ550のメモリ570に保存され得る。
例えば、知能型サーバ550の音声認識サービスから提供する予め指定されたタスク及び個人化されたタスクは、すべて知能型サーバ550に保存され得る。
この場合、電子装置510は、ユーザ発話を知能型サーバ550へ送信し、知能型サーバ550からユーザ発話に含まれたインヴォークワードにマッピングされたシーケンスを受信する。
図11は、本発明の様々な実施形態による個人化されたタスクを生成する方法を説明するための一シナリオであり、図12は、様々な実施形態による個人化されたタスクが生成されるとき表示されるインタフェースの一例である。
図11を参照すると、例えば、地図アプリケーションに対して個人化されたタスクを生成する一シナリオを説明する。
地図アプリケーションにより実行される経路検索動作を個人化されたタスクとして生成する一シナリオを例示として説明する。
例えば、ユーザは、特定の出発地から特定の到着地までの経路検索動作を個人化されたタスクとして生成する。
システム500は、個人化されたタスクを生成するためのモード(以下、学習モードとする)を実行する。
システム500は、学習モードを始めるために予め定められたユーザ入力を受信し、受信に応答して学習モードを実行する。
例えば、システム500は、タッチスクリーンディスプレイ531に表示されたボタン(例:録画開始ボタン)に対するタッチ入力を受信すると、受信に応答して学習モードを実行する。
システム500は、マイク533を介して予め指定された発話が受信すると、受信に応答して学習モードを実行する。
予め指定された発話は、例えば、「クイックコマンド生成」、「学習モード開始」など、様々な形態に設定することができる。
学習モードが実行されると、システム500は、テキスト入力、タッチ入力、ドラッグ入力、クリック入力のようなキーボード、マウスを用いた様々なユーザ入力を受信し得る。
様々なユーザ入力は、個人化されたコマンドにより行われる動作として参照され得る。
システム500は、様々なユーザ入力を受信すると、ユーザ入力が受信した画面と関連した情報を用いて、ユーザ入力に対応する動作を保存する。
例えば、システム500は、アクセシビリティサービスモジュール515を介して個人化されたコマンドに含まれる動作を保存する。
例えば、アクセシビリティサービスモジュール505は、ユーザの入力の種類を識別する。
アクセシビリティサービスモジュール505は、画面ID(例:resource ID)、画面に表示されたテキスト情報、画面に表示された客体の座標情報などを含む画面と関連した情報を取得する。
一シナリオにおいて、学習モードが実行され、システム500は、地図アプリケーションに対する実行動作(動作0とする。)(例:地図アプリケーションに対するクリック入力)を受信する。
システム500は、地図アプリケーションを実行する。
地図アプリケーションが実行されると、画面1(1101)が表示される。
画面1(1101)〜画面4(1107)は、地図アプリケーションの実行によって表示される画面として参照され得る。
システム500(例:アクセシビリティサービスモジュール515)は、画面1(1101)〜画面4(1107)に含まれるオブジェクト情報を取得する。
例えば、電子装置510は、画面1(1101)のメニューボタン1111を認知し、メニューボタン1111に対して実行され得る「クリック動作」を認知する。
画面1(1101)において、システム500は、メニューボタン1111に対するクリック動作(動作1とする。)を受信する。
クリック動作により画面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は、個人化されたタスクの入力が完了すると、入力されたシーケンスをメモリ520に保存する。
システム500は、学習モードの終了を要請するユーザ入力が受信すると、ユーザ入力の受信に応答して学習モードを終了し、シーケンスを保存する。
例えば、システム500は、タッチスクリーンディスプレイ531に表示されたボタン(例:録画終了ボタン)に対するタッチ入力を受信すると、受信に応答して学習モードを終了する。
システム500は、マイク533を介して予め指定された発話が受信すると、受信に応答して学習モードを実行する。
予め指定された発話は、例えば、「クイックコマンド完了」、「学習モード終了」など、様々な形態に設定することができる。
様々な実施形態において、システム500は、シーケンスに対応する発話を取得し、発話とシーケンスがマッピングされるようにストレージ525に保存する。
発話は、シーケンスが実行されるようにするインヴォークワード(invoke word)として参照され得る。
又は、システム500は、シーケンス及び発話と関連したデータを知能型サーバ550へ送信する。
発話は、個人化されたコマンドとして参照され得る。
様々な実施形態において、システム500は、受信した動作をタッチスクリーンディスプレイ531を介して表示する。
図12の画面1201を参照すると、システム500は、受信した動作0〜動作4をタッチスクリーンディスプレイ531を介して表示する。
システム500は、受信した動作を表示し、動作に対する編集機能を提供する。
画面1(1201)を参照すると、動作1221が動作1221に対応する関数名として表示される。
例えば、画面1(1201)に表示された動作1221は、アンドロイド(登録商標)フレームワークから提供するオブジェクト名称、及び関数名称として参照され得る。
様々な実施形態において、システム500は、受信した動作をユーザにとって分かり易く画面に表示する。
画面3(1205)を参照すると、動作1225は、ユーザにとって分かり易く表示される。
例えば、「click−resource id:menu」は「クリック−メニューボタン」として表示され、「click−resource id:find−root」は「クリック−ルート検索」として表示され、「set text−resource id:location−to/‘光教新都市’」は「文字入力−‘光教新都市’」として表示される。
様々な実施形態において、システム500は、受信した動作に対して推薦単語を提供する。
例えば、推薦単語は、前述のインヴォークワードとして参照され得る。
システム500は、予め保存されたシーケンスと、それとマッチングされたインヴォークワードを参照して、新たに受信したシーケンスに対する推薦単語を提供する。
例えば、画面1201及び画面1205を参照すると、受信した動作に対する推薦単語が「自宅」として提供される。
ユーザは「自宅」をインヴォークワードとして選択し得る。
「自宅」は、上記動作0〜動作4とマッピングされて保存される。
以後、ユーザが「自宅」を発話すると、「自宅」に対応する動作0〜動作4が電子装置510により行われ得る。
様々な実施形態において、システム500は、受信した動作に関連して取得したオブジェクト情報を表示する。
画面1203を参照すると、「メニューボタンクリック」動作に対して、「resource id」、座標情報、ターゲットアプリケーションが表示される。
様々な実施形態において、システム500は、シーケンスを受信すると、受信したシーケンスにより誘発される動作を行い、動作の実行結果をタッチスクリーンディスプレイ531を介して出力する。
システム500は、実行結果に対する確認入力を要請する。
ユーザは、表示された実行結果を参照して意図するタスクが入力されたかどうかを確認する。
システム500は、確認入力を受信すると、シーケンスをストレージ525に保存するか、サーバ550へ送信する。
様々な実施形態において、システム500は、取得したシーケンスのパターンを分析し、同一に繰り返される動作をテンプレートの形態に保存する。
例えば、図11の一シナリオによって地図アプリケーション上で経路検索動作は、様々な出発地及び様々な目的地に対して行われることができる。
図11を参照すると、経路検索動作は、地図アプリケーション実行(動作0)、画面1101の右側上段にあるボタン1111、クリック(動作1)、画面1103のルート検索ボタン1113、クリック(動作2)、及び画面1105での出発地及び到着地入力の動作(動作4)を共通して含み得る。
この場合、画面1105で入力される出発地と到着地のみが異なる動作であるので、システム500は、動作0、動作1、及び動作2をテンプレートとして保存することができる。
テンプレートは、地図アプリケーション上に登録され得る。
様々な実施形態において、システム500は、予め保存されたテンプレートを電子装置510を介してユーザに提供する。
予め保存されたテンプレートは、特定のアプリケーションに登録することができ、ユーザのコマンドに対するカテゴリにマッピングされて保存される。
システム500は、テンプレートに含まれる画面とユーザ入力、ユーザ入力によって切り替えられる画面を再生することにより、ユーザにとってテンプレートを直接確認するようにする。
又は、システム500は、テンプレートに含まれる画面に対するスナップショット(snap shot)を再生する。
様々な実施形態において、ユーザは提供されるテンプレートを選択することにより、そのテンプレートに対応される個人化されたコマンドを生成する。
又は、ユーザは、提供されるテンプレートを選択し、テンプレートの一部を修正した個人化されたコマンドを生成する。
様々な実施形態において、システム500は、学習モードが実行される時、学習モードで入力されるユーザ入力に対応する少なくとも一つ以上のテンプレートがある場合、テンプレートに含まれた動作をタッチスクリーンディスプレイ531に表示するか、少なくとも一つ以上のテンプレートのリストをタッチスクリーンディスプレイ531に表示する。
様々な実施形態において、システム500は、予め保存されたテンプレートを用いて新たに生成された個人化されたタスクを最適化する。
例えば、新たに生成された個人化されたタスクに含まれる第1動作及び第2動作が予め保存されたテンプレートに含まれ得る。
システム500は、予め保存されたテンプレートに基づき、第1動作及び第2動作の間に実行される少なくとも一つ以上の動作を省略することにより、個人化されたタスクの最適化を行う。
システム500は、最適化された個人化されたタスクを推薦し、ユーザは推薦されたタスクを選択する。
様々な実施形態において、システム500は、特定のアプリケーションに登録されたテンプレートはアプリケーションに対するバージョン情報を含む。
システム500は、テンプレートに含まれたバージョン情報と現在設置されたアプリケーションのバージョン情報を比較し、テンプレートの使用可能の可否を判断する。
万一、保存されたテンプレートのバージョンが現在設置されたアプリケーションのバージョンと一致しない場合、システム500は新たなバージョンのテンプレートをダウンロードするか、電子装置510に設置されたアプリケーションのバージョンが変更されるようにする。
図13は、本発明の様々な実施形態による、ネットワーク環境1300内の電子装置1301の概略構成を示すブロック図である。
図13を参照すると、ネットワーク環境1300において電子装置1301(例:図2のユーザ端末100、図5の電子装置510)は、第1ネットワーク1398(例:近距離無線通信ネットワーク)を介して電子装置1302と通信するか、又は第2ネットワーク1399(例:遠距離無線通信ネットワーク)を介して電子装置1304又はサーバ1308と通信する。
一実施形態によれば、電子装置1301は、サーバ1308を介して電子装置1304と通信する。
一実施形態によれば、電子装置1301は、プロセッサ1320(例:図5のプロセッサ512)、メモリ1330、入力装置1350(例:マイクロホン、マウス)、音響出力装置1355、表示装置1360、オーディオモジュール1370、センサモジュール1376、インタフェース1377、ハプティックモジュール1379、カメラモジュール1380、電力管理モジュール1388、バッテリ1389、通信モジュール1390、加入者識別モジュール1396、アンテナモジュール1397を含む。
他の実施形態では、電子装置1301には、この構成要素の内の少なくとも一つ(例:表示装置1360又はカメラモジュール1380)が省略されるか、一つ以上の他の構成要素が追加され得る。
また、他の実施形態では、これらの構成要素の内の一部は、一つの統合された回路として具現することができる。
例えば、センサモジュール1376(例:指紋センサ、虹彩センサ、又は照度センサ)は、表示装置1360(例:ディスプレイ)に組み込まれたままで具現することができる。
プロセッサ1320は、例えば、ソフトウェア(例:プログラム1340)を実行してプロセッサ1320に接続された電子装置1301の少なくとも一つの他の構成要素(例:ハードウェア又はソフトウェア構成要素)を制御し、様々なデータ処理又は演算を行う。
一実施形態によれば、データ処理又は演算の少なくとも一部として、プロセッサ1320は、他の構成要素(例:センサモジュール1376又は通信モジュール1390)から受信したコマンド又はデータを揮発性メモリ1332にロードし、揮発性メモリ1332に保存されたコマンド又はデータを処理し、結果データを不揮発性メモリ1334に保存する。
一実施形態によれば、プロセッサ1320は、メインプロセッサ1321(例:中央処理装置又はアプリケーションプロセッサ)、及びこれとは独立して又は共に運営可能な補助プロセッサ1323(例:グラフィック処理装置、イメージシグナルプロセッサ、センサハブプロセッサ、又はコミュニケーションプロセッサ)を含み得る。
追加的に又は代替的に、補助プロセッサ1323は、メインプロセッサ1321より低電力を使用するか、又は指定された機能に特化されるように設定することができる。
補助プロセッサ1323は、メインプロセッサ1321とは別個に、またその一部として具現することができる。
補助プロセッサ1323は、例えば、メインプロセッサ1321がインアクティブ(例:スリープ)状態にある間、メインプロセッサ1321に代わって、又はメインプロセッサ1321がアクティブ(例:アプリケーション実行)状態にある間、メインプロセッサ1321と共に、電子装置1301の構成要素の内の少なくとも一つの構成要素(例:表示装置1360、センサモジュール1376、又は通信モジュール1390)と関連した機能又は状態の少なくとも一部を制御する。
一実施形態によれば、補助プロセッサ1323(例:イメージシグナルプロセッサ又はコミュニケーションプロセッサ)は、機能的に関連する他の構成要素(例:カメラモジュール1380又は通信モジュール1390)の一部として具現することができる。
メモリ1330は、電子装置1301の少なくとも一つの構成要素(例:プロセッサ1320又はセンサモジュール1376)により使用される様々なデータを保存する。
データは、例えば、ソフトウェア(例:プログラム1340)及び、これと関連したコマンドに対する入力データ又は出力データを含み得る。
メモリ1330は、揮発性メモリ1332又は不揮発性メモリ1334を含み得る。
プログラム1340は、メモリ1330にソフトウェアとして保存することができ、例えば、運営体制(オペレーティングシステム)1342、ミドルウェア1344、又はアプリケーション1346を含む。
入力装置1350は、電子装置1301の構成要素(例:プロセッサ1320)に使用されるコマンド又はデータを電子装置1301の外部(例:ユーザ)から受信する。
入力装置1350は、例えば、マイク、マウス、又はキーボードを含む。
音響出力装置1355は、音響信号を電子装置1301の外部に出力する。
音響出力装置1355は、例えば、スピーカ又はレシーバを含む。
スピーカは、マルチメディア再生又は録音再生のように一般的な用途に使用され、レシーバは、着信電話を受信するために使用される。
一実施形態によれば、レシーバはスピーカとは別個に、又はその一部として具現することができる。
表示装置1360(例:図5のタッチスクリーンディスプレイ531)は、電子装置1301の外部(例:ユーザ)に情報を視覚的に提供する。
表示装置1360は、例えば、ディスプレイ、ホログラム装置、又はプロジェクタ及び当該装置を制御するための制御回路を含む。
一実施形態によれば、表示装置1360は、タッチを感知するように設定されたタッチ回路(touch circuitry)、又はタッチにより発生する力の強度を測定するように設定されたセンサ回路(例:圧力センサ)を含む。
オーディオモジュール1370は音を電気信号に変換させるか、逆に電気信号を音に変換させることができる。一実施形態によれば、オーディオモジュール1370は、入力装置1350を介して音を獲得するか、音響出力装置1355、又は電子装置1301と直接又は無線で接続された外部電子装置(例:電子装置1302(例:スピーカ又はヘッドホン))を介して音を出力することができる。
センサモジュール1376は、電子装置1301の作動状態(例:電力又は温度)、又は外部の環境状態(例:ユーザ状態)を感知し、感知された状態に対応する電気信号又はデータ値を生成する。
一実施形態によれば、センサモジュール1376は、例えば、ジェスチャーセンサ、ジャイロセンサ、気圧センサ、マグネチックセンサ、加速度センサ、グリップセンサ、近接センサ、カラーセンサ、IR(infrared)センサ、生体センサ、温度センサ、湿度センサ、又は照度センサを含む。
インタフェース1377は、電子装置1301が外部電子装置(例:電子装置1302)と直接又は無線で接続されるために使用され得る一つ以上の指定されたプロトコルをサポートする。
一実施形態によれば、インタフェース1377は、例えば、HDMI(登録商標)(high definition multimedia interface)、USB(universal serial bus)インタフェース、SD(登録商標)カードインタフェース、又はオーディオインタフェースを含むことができる。
接続端子1378は、それを介して電子装置1301が外部電子装置(例:電子装置1302)と物理的に接続され得るコネクタを含む。
一実施形態によれば、接続端子1378は、例えば、HDMI(登録商標)コネクタ、USBコネクタ、SD(登録商標)カードコネクタ、又はオーディオコネクタ(例:ヘッドホンコネクタ)を含む。
ハプティックモジュール1379は、電気的信号をユーザが触覚又は運動感覚を介して認知することができる機械的な刺激(例:振動又は動き)又は電気的な刺激に変換する。
一実施形態によれば、ハプティックモジュール1379は、例えば、モータ、圧電素子、又は電気刺激装置を含む。
カメラモジュール1380は、静止画及び動画を撮影する。
一実施形態によれば、カメラモジュール1380は一つ以上のレンズ、イメージセンサ、イメージシグナルプロセッサ、又はフラッシュを含む。
電力管理モジュール1388は、電子装置1301に供給される電力を管理する。
一実施形態によれば、電力管理モジュール1388は、例えば、PMIC(power management integrated circuit)の少なくとも一部として具現することができる。
バッテリ1389は、電子装置1301の少なくとも一つの構成要素に電力を供給する。
一実施形態によれば、バッテリ1389は、例えば、再充電不可能な1次電池、再充電可能な2次電池又は燃料電池を含む。
通信モジュール1390は、電子装置1301と外部電子装置(例:電子装置1302、電子装置1304、又はサーバ1308)間の直接(例:有線)通信チャンネル又は無線通信チャンネルの樹立、及び樹立された通信チャンネルを介した通信実行をサポートする。
通信モジュール1390は、プロセッサ1320(例:アプリケーションプロセッサ)と独立して運営され、直接(例:有線)通信又は無線通信をサポートする一つ以上のコミュニケーションプロセッサを含み得る。
一実施形態によれば、通信モジュール1390は、無線通信モジュール1392(例:セルラー通信モジュール、近距離無線通信モジュール、又はGNSS(global navigation satellite system)通信モジュール)又は有線通信モジュール1394(例:LAN(local area network)通信モジュール、電話線サービス(Plain Old Telephone service;POTS)又は電力線通信モジュール)を含む。
これらの通信モジュールの内の該当する通信モジュールは、第1ネットワーク1398(例:ブルートゥース(登録商標)、WiFi direct又はIrDA(infrared data association)のような近距離通信ネットワーク)又は第2ネットワーク1399(例:セルラーネットワーク、インターネット、又はコンピュータネットワーク(例:LAN又はWAN)のような遠距離通信ネットワーク)を介して外部電子装置と通信する。
このような各種の通信モジュールは、一つの構成要素(例:単一チップ)として統合されるか、又は互いに別途の複数の構成要素(例:複数チップ)として具現することができる。
無線通信モジュール1392は、加入者識別モジュール1396に保存された加入者情報(例:国際モバイル加入者識別子(IMSI))を用いて第1ネットワーク1398又は第2ネットワーク1399のような通信ネットワーク内で電子装置1301を確認及び認証する。
アンテナモジュール1397は、信号又は電力を外部(例:外部電子装置)へ送信するか、外部から受信する。
一実施形態によれば、アンテナモジュール1397は、一つ以上のアンテナを含むことができ、これによって、第1ネットワーク1398又は第2ネットワーク1399のような通信ネットワークで使用される通信方式に適合する少なくとも一つのアンテナが、例えば、通信モジュール1390により選択される。
信号又は電力は、選択された少なくとも一つのアンテナを介して通信モジュール1390と外部電子装置との間で送信されるか、受信される。
構成要素の内の少なくとも一部は、周辺機器間の通信方式(例:バス、GPIO(general purpose input and output)、SPI(serial peripheral interface)、又はMIPI(mobile industry processor interface))を介して互いに接続され、信号(例:コマンド又はデータ)を相互交換する。
一実施形態によれば、コマンド又はデータは、第2ネットワーク1399に接続されたサーバ1308を介して電子装置1301と外部の電子装置1304との間で送信又は受信される。
電子装置(1302、1304)それぞれは、電子装置1301と同一又は別の種類の装置であり得る。
一実施形態によれば、電子装置1301で実行される動作のすべて又は一部は外部の電子装置(1302、1304、or1308)の内の一つ以上の外部装置で実行される。
例えば、電子装置1301が、ある機能やサービスを自動的に、又はユーザもしくは他の装置からの要請に反応して行わなければならない場合に、電子装置1301は、機能又はサービスを自身で実行する代わりに、又は追加的に、一つ以上の外部電子装置にその機能又はそのサービスの少なくとも一部を行うように要請する。
要請を受信した一つ以上の外部電子装置は、要請された機能又はサービスの少なくとも一部、又は要請に関連した追加機能もしくはサービスを実行し、その実行の結果を電子装置1301へ伝達する。
電子装置1301は結果を、そのまま又は追加的に処理して、要請に対する応答の少なくとも一部として提供する。
このために、例えば、クラウドコンピューティング、分散コンピューティング、又はクライアント−サーバコンピューティング技術が用いられ得る。
本明細書に開示した様々な実施形態による電子装置は、多様な形態の装置となり得る。
電子装置は、例えば、携帯用通信装置(例:スマートフォン)、コンピュータ装置(例:Personal Digital Assistant(PDA)、タブレットPC、laptop PC(デスクトップPC、ワークステーション、又はサーバ))、携帯用マルチメディア装置(例:e−ブックリーダ又はMP3プレーヤ)、携帯用医療機器(例:心拍計、グルコースメータ、血圧計、又は体温計)、カメラ、ウェアラブル装置、又は家電装置を含み得る。
本明細書の実施形態による電子装置は、上述の機器に限定されない。
本明細書の様々な実施形態は、機器(machine)(例:電子装置1301)により読み取ることができる保存媒体(storage medium)(例:内蔵メモリ1336又は外付けメモリ1338)に保存された一つ以上のコマンド語を含むソフトウェア(例:プログラム1340)として具現することができる。
例えば、機器(例:電子装置1301のプロセッサ(例:プロセッサ1320))は、保存媒体から保存された一つ以上のコマンド語の内の少なくとも一つのコマンドを呼び出し、それを実行することができる。
これは、機器が呼び出された少なくとも一つのコマンド語に従って少なくとも一つの機能を行うように運営されることを可能とする。
一つ以上のコマンド語は、コンパイラにより生成されたコード又はインタプリタにより実行され得るコードを含むことができる。
機器で読み取り可能な保存媒体は、非一時的(non−transitory)保存媒体の形態で提供されることができる。
ここで、「非一時的」は、保存媒体が実在(tangible)する装置であり、信号(signal)(例:電磁気波)を含まないことを意味するだけであり、この用語は、データが保存媒体に半永久的に保存される場合と臨時的に保存される場合とを区分しない。
一実施形態によれば、本明細書に開示した様々な実施形態による方法は、コンピュータプログラム製品(computer program product)に含まれて提供することができる。
コンピュータプログラム製品は商品として販売者及び購買者間で取引可能である。
コンピュータプログラム製品は、機器で読み取り可能な保存媒体(例:compact disc read only memory(CD−ROM))の形態で配布されるか、又はアプリケーションストア(例:プレイストア(登録商標))を介して、もしくは二つのユーザ装置(例:スマートフォン)間で直接、オンラインで配布(例:ダウンロード又はアップロード)することができる。
オンライン配布の場合、コンピュータプログラム製品の少なくとも一部は製造会社のサーバ、アプリケーションストアのサーバ、又は中継サーバのメモリのような機器で読み取り可能な保存媒体に少なくとも一時保存されるか、臨時的に生成することができる。
様々な実施形態によれば、前述の構成要素のそれぞれの構成要素(例:モジュール又はプログラム)は単数又は複数の個体を含むことができる。
様々な実施形態によれば、前述の当該構成要素の内の一つ以上の構成要素もしくは動作が省略されるか、又は一つ以上の他の構成要素もしくは動作が追加することができる。
代替的に又は追加的に、複数の構成要素(例:モジュール又はプログラム)は、一つの構成要素として統合することができる。
この場合、統合された構成要素は、複数の構成要素それぞれの構成要素の一つ以上の機能を統合以前に複数の構成要素の内の当該構成要素により行われるものと同一又は類似して行うことができる。
様々な実施形態によれば、モジュール、プログラム又は他の構成要素により行われる動作は、順次に、並列的に、反復的に、もしくはヒューリスティックに実行されるか、動作の内の一つ以上が他の手順で実行されるか、省略されるか、又は一つ以上の他の動作が追加され得る。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
10 統合知能化システム
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電子装置の一部であるか、又は、前記第1電子装置と遠隔で通信する少なくとも一つのプロセッサと、
    前記少なくとも一つのプロセッサと作動的に(operately)接続される間、前記第1電子装置上に、又は前記第1電子装置の外部に常駐する少なくとも一つのメモリと、を有し、
    前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、第1ユーザ入力をタッチスクリーンディスプレイ又はマイクを介して受信し、
    少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスを前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
    前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを前記メモリに保存し、
    前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
    前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように前記少なくとも一つのメモリに保存することを指示するコマンド語を保存することを特徴とするユーザ音声入力の処理を含むシステム。
  2. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記タッチスクリーンディスプレイ又は前記マイクを介して前記少なくとも一つのインヴォークワードを受信し、
    前記少なくとも一つのインヴォークワードに応答して、前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスから誘発される(resulting from)動作を行うことを指示するコマンド語を保存することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。
  3. 前記第1電子装置は、前記少なくとも一つのプロセッサの第1プロセッサを含み、
    前記システムは、前記少なくとも一つのプロセッサの第2プロセッサを含むサーバをさらに有することを特徴とする請求項2に記載のユーザ音声入力の処理を含むシステム。
  4. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第1プロセッサが、前記第1ユーザ入力を前記タッチスクリーンディスプレイ又は前記マイクを介して受信し、
    前記少なくともタッチスクリーンディスプレイ又は前記マイクのどちらか一方を用いて前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスを受信し、
    前記少なくともタッチスクリーンディスプレイ又は前記マイクのどちらか一方を介して前記第2ユーザ入力を受信し、
    前記シーケンス及び前記第2ユーザ入力と関連したデータを前記サーバへ送信することを指示するコマンド語を保存することを特徴とする請求項3に記載のユーザ音声入力の処理を含むシステム。
  5. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第1プロセッサが、前記少なくとも一つのインヴォークワードを前記ディスプレイ又は前記マイクを介して受信し、
    前記少なくとも一つのインヴォークワードと関連したデータを前記サーバへ送信し、
    前記第1電子装置のステート(states)のシーケンスを前記動作を行うために前記サーバから受信し、
    前記第1電子装置において、前記動作を行うための前記ステートのシーケンスを有するように指示するコマンド語を保存することを特徴とする請求項4に記載のユーザ音声入力の処理を含むシステム。
  6. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つの第2プロセッサが、前記シーケンスに基づいて複数個のインヴォークワードを前記第1電子装置へ送信し、
    前記第1電子装置から前記複数個のインヴォークワードの内から選択されたインヴォークワードと関連したデータを受信し、
    前記選択されたインヴォークワードを前記シーケンスとマッピングされるように前記少なくとも一つのメモリに保存することを指示するコマンド語を保存することを特徴とする請求項4に記載のユーザ音声入力の処理を含むシステム。
  7. 前記シーケンスは、前記第1電子装置に設置された少なくとも一つのアプリケーションプログラムと関連することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。
  8. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記少なくとも一つのアプリケーションプログラムの実行によって出力される画面を前記タッチスクリーンディスプレイを介して表示し、
    前記画面に含まれるオブジェクトと関連する動作を受信し、
    前記画面に対する情報のシーケンス、前記オブジェクトに対する情報のシーケンス、及び前記オブジェクトと関連する動作に対する情報のシーケンスを前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項7に記載のユーザ音声入力の処理を含むシステム。
  9. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記シーケンスに基づき、複数個のインヴォークワードを前記タッチスクリーンディスプレイに表示し、
    前記表示された複数個のインヴォークワードの内から選択されたインヴォークワードを前記シーケンスとマッピングされるように前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項1に記載のユーザ音声入力の処理を含むシステム。
  10. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記画面に含まれる少なくとも一つのオブジェクト、前記少なくとも一つのオブジェクトに関連した少なくとも一つの動作(action)を認知し、
    前記少なくとも一つのオブジェクトと関連した前記少なくとも一つの動作のシーケンスを受信することを指示するコマンド語を保存することを特徴とする請求項8に記載のユーザ音声入力の処理を含むシステム。
  11. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記タッチスクリーンディスプレイを介して出力される第1画面に含まれる第1オブジェクトと関連する第1動作を受信し、
    前記第1画面に対する情報、前記第1オブジェクトに対する情報、前記第1動作に対する情報、及び前記第1動作によりアップデートされた第2画面に対する情報のシーケンスを前記メモリに保存することを指示するコマンド語を保存することを特徴とする請求項10に記載のユーザ音声入力の処理を含むシステム。
  12. 前記少なくとも一つのメモリは、実行時、前記少なくとも一つのプロセッサが、前記メモリに保存されたアンドロイド(登録商標)フレームワークを用いて前記少なくとも一つのオブジェクト及び前記少なくとも一つのオブジェクトと関連した少なくとも一つの動作を認知することを指示するコマンド語を保存することを特徴とする請求項10に記載のユーザ音声入力の処理を含むシステム。
  13. ユーザ音声入力の処理を含むシステムの動作方法であって、
    第1ユーザ入力を受信する段階と、
    少なくともタッチ又は音声ベースのどちらか一方のユーザ入力のシーケンスをタッチスクリーンディスプレイ又はマイクを介して受信する段階と、
    前記少なくともタッチ又は音声ベースのどちらか一方のユーザ入力の前記シーケンスをメモリに保存する段階と、
    前記シーケンスと関連した少なくとも一つのインヴォークワード(invoke word)を含む第2ユーザ入力を前記マイクを介して受信する段階と、
    前記少なくとも一つのインヴォークワードを、前記シーケンスとマッピングされるように保存する段階と、を有することを特徴とするユーザ音声入力の処理を含むシステムの動作方法。
  14. 電子装置であって、
    タッチスクリーンディスプレイと、
    マイクと、
    ストレージ(storage)と、
    前記タッチスクリーンディスプレイ、前記マイク、及び前記ストレージと電気的に接続された少なくとも一つのプロセッサと、
    前記少なくとも一つのプロセッサと電気的に接続され、コマンド語を保存する少なくとも一つのメモリと、を有し、
    前記コマンド語が実行された時、前記少なくとも一つのプロセッサにおいて、
    第1ユーザ入力を受信し、
    タッチ又は音声ベースの複数のユーザ入力を含むシーケンスを受信し、
    前記シーケンスを前記ストレージに保存し、
    前記シーケンスと関連するユーザ発話を前記マイクを介して受信し、前記ユーザ発話を前記シーケンスとマッピングされるように前記ストレージに保存することを特徴とする電子装置。
  15. 前記コマンド語が実行された時、前記少なくとも一つのプロセッサにおいて、
    前記受信されたシーケンスから誘発される動作を行い、
    前記動作の実行結果を前記タッチスクリーンディスプレイを介して出力し、
    前記実行結果に対する確認入力を受信すると、前記シーケンスを前記ストレージに保存することを特徴とする請求項14に記載の電子装置。
JP2019058263A 2018-03-27 2019-03-26 ユーザ音声入力の処理を含むシステム及びその動作方法並びに電子装置 Pending JP2019175453A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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