(57)【要約】【課題】  アプリケーションソフトウェアを用いて所望の目的を達成するためのユーザの負担を軽減させるための技術を提供すること。【解決手段】  アプリケーションソフトウェアに対して入力された指示を取得する。アプリケーションソフトウェアを実行したことで表示される画面が表すシーンを表すシーン情報を取得する。指示とシーン情報とに基づいてコマンドファイルを取得する。コマンドファイルに従って処理を実行する。【選択図】  図１
2020149585.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアに対して入力された指示を取得する第１の取得手段と、
前記アプリケーションソフトウェアを実行したことで表示される画面が表すシーンを表すシーン情報を取得する第２の取得手段と、
前記指示と前記シーン情報とに基づいてコマンドファイルを取得する第３の取得手段と、
前記コマンドファイルに従って処理を実行する実行手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２の取得手段は、前記画面に表示されているオブジェクトの種別およびそのレイアウトを前記シーン情報として取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の取得手段は、アプリケーションソフトウェアの画面として予め収集した複数の画像のうち、前記アプリケーションソフトウェアを実行したことで表示される画面と最も類似する画像を前記シーン情報として取得することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第３の取得手段は、前記指示に対応するコマンドファイルを検索できた場合には、該コマンドファイルを取得することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第３の取得手段は、前記指示に対応するコマンドファイルを検索できなかった場合には、前記指示および前記シーン情報のセットに対応するコマンドファイルを取得することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記コマンドファイルは、処理のシーケンスを定義するファイルであることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記第１の取得手段は、前記アプリケーションソフトウェアに対して入力された音声に対する音声認識の結果を前記指示として取得することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記実行手段は、前記コマンドファイルに含まれている処理のパラメータを前記音声認識の結果に基づいて設定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記実行手段は、前記コマンドファイルに含まれている処理のパラメータが前記音声認識の結果に基づいて設定できない場合には、該パラメータに対応する音声の入力をユーザに促す表示を行うことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記実行手段は、前記コマンドファイルに含まれている処理のパラメータが前記音声認識の結果に基づいて設定できない場合には、該パラメータに対応する音声の入力を音声にてユーザに促すことを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記第１の取得手段は、前記音声認識の結果を表示することを特徴とする請求項７乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記第１の取得手段は、キー入力、ジェスチャ入力、センサによるセンシング結果に基づく入力、の何れかで入力された結果を前記指示として取得することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項１３】
条件が満たされた場合における画面が表すシーンを表すシーン情報を取得する第１の取得手段と、
前記シーン情報に基づいてコマンドファイルを取得する第２の取得手段と、
前記コマンドファイルに従って処理を実行する実行手段と
を備えることを特徴とする情報処理装置。
【請求項１４】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第１の取得手段が、アプリケーションソフトウェアに対して入力された指示を取得する第１の取得工程と、
前記情報処理装置の第２の取得手段が、前記アプリケーションソフトウェアを実行したことで表示される画面が表すシーンを表すシーン情報を取得する第２の取得工程と、
前記情報処理装置の第３の取得手段が、前記指示と前記シーン情報とに基づいてコマンドファイルを取得する第３の取得工程と、
前記情報処理装置の実行手段が、前記コマンドファイルに従って処理を実行する実行工程と
を備えることを特徴とする情報処理方法。
【請求項１５】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の第１の取得手段が、条件が満たされた場合における画面が表すシーンを表すシーン情報を取得する第１の取得工程と、
前記情報処理装置の第２の取得手段が、前記シーン情報に基づいてコマンドファイルを取得する第２の取得工程と、
前記情報処理装置の実行手段が、前記コマンドファイルに従って処理を実行する実行工程と
を備えることを特徴とする情報処理方法。
【請求項１６】
コンピュータを、請求項１乃至１３の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムの実行制御技術に関するものである。
【背景技術】
【０００２】
スマートフォン等のコンピュータ装置にインストールしたアプリケーションソフトウェアを操作するためには、その操作方法についての知識が必要となる。特許文献１には、スマートフォンなどの装置におけるアプリケーションの操作において、少ない操作で所望の機能を実行するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2017-195633号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の通り、アプリケーションソフトウェアを操作するためには、そのアプリケーションソフトウェアの操作方法についての知識が必要となる。また、同じ処理であっても、アプリケーションソフトウェアごとに操作方法が異なる場合もある。このように、アプリケーションソフトウェアを使用して所望の目的を達成するためには、様々なアプリケーションソフトウェアについての知識が必要となる。
【０００５】
本発明はこのような課題に鑑み、アプリケーションソフトウェアを用いて所望の目的を達成するためのユーザの負担を軽減させるための技術を提供する。
【課題を解決するための手段】
【０００６】
本発明の１つの様態によれば、アプリケーションソフトウェアに対して入力された指示を取得する第１の取得手段と、前記アプリケーションソフトウェアを実行したことで表示される画面が表すシーンを表すシーン情報を取得する第２の取得手段と、前記指示と前記シーン情報とに基づいてコマンドファイルを取得する第３の取得手段と、前記コマンドファイルに従って処理を実行する実行手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、アプリケーションソフトウェアを用いて所望の目的を達成するためのユーザの負担を軽減させることができる。
【図面の簡単な説明】
【０００８】
【図１】システムの構成例を示すブロック図。
【図２】アプリケーションソフトウェアを実行中の情報処理装置１００の動作を示すフローチャート。
【図３】ステップＳ２０１における処理の詳細を示すフローチャート。
【図４】ステップＳ２０４におけるシーン解析処理の詳細を示すフローチャート。
【図５】第４の実施形態に係るフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでするものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【００１０】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係るシステムは、情報処理装置１００と、該情報処理装置１００とネットワーク３００を介して通信可能なサーバ装置２００と、を有する。
【００１１】
先ず、情報処理装置１００について説明する。情報処理装置１００は、スマートフォン、タブレット型端末装置、ＰＣ（パーソナルコンピュータ）、表示画面を有するＩｏＴ（Internet of Things）機器などのコンピュータ装置である。
【００１２】
ＣＰＵ１０１は、ＲＡＭ１０２やＲＯＭ１０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ１０１は、情報処理装置１００全体の動作制御を行うと共に、情報処理装置１００が行うものとして後述する各処理を実行若しくは制御する。なお、ＣＰＵ１０１に代えて若しくは加えてＧＰＵを設けても良く、その場合、ＣＰＵ１０１が行うものとして後述する各処理の一部若しくは全部をＧＰＵに実行させても良い。
【００１３】
ＲＡＭ１０２は、ＲＯＭ１０３や記憶装置１０６からロードされたコンピュータプログラムやデータ、通信Ｉ／Ｆ１０７を介してサーバ装置２００からダウンロードしたデータ、を格納するためのエリアを有する。更にＲＡＭ１０２は、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ１０２は、各種のエリアを適宜提供することができる。
【００１４】
ＲＯＭ１０３には、情報処理装置１００の設定データや起動プログラムなどが格納されている。
【００１５】
ユーザインターフェース１０４は、キーボード、マウス、タッチパネル画面など、ユーザが各種の操作入力を行うために使用するものであり、ユーザがユーザインターフェース１０４を操作することで入力した各種の指示はＣＰＵ１０１に対して通知される。
【００１６】
表示装置１０５は、液晶画面やタッチパネル画面を有し、ＣＰＵ１０１による処理結果を画像や文字などでもって表示することができる。なお表示装置１０５は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
【００１７】
記憶装置１０６は、ハードディスクドライブ装置、ＥＥＰＲＯＭなど、ＲＡＭ１０２やＲＯＭ１０３に比べて大容量の情報を保存可能な記憶装置である。記憶装置１０６には、ＯＳ（オペレーティングシステム）や、各種のアプリケーションソフトウェア、アプリケーションソフトウェアを実行するために必要な各種のデータ、などが保存されている。記憶装置１０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１０１による制御に従って適宜ＲＡＭ１０２にロードされ、ＣＰＵ１０１による処理対象となる。
【００１８】
通信Ｉ／Ｆ１０７は、情報処理装置１００がネットワーク３００を介してサーバ装置２００との間のデータ通信を行うために使用するものであり、ネットワーク３００を介したサーバ装置２００との間のデータ通信は、この通信Ｉ／Ｆ１０７を介して行われる。
【００１９】
収音装置１０８は、ユーザの声などの音声を収音する装置であり、収音した音声に応じた音声データを出力する。収音装置１０８から出力された音声データはＲＡＭ１０２や記憶装置１０６に格納される。
【００２０】
ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ユーザインターフェース１０４、表示装置１０５、記憶装置１０６、通信Ｉ／Ｆ１０７、収音装置１０８、は何れも、バス１０９に接続されている。なお、図１に示した情報処理装置１００の構成は、情報処理装置１００を適用する装置（スマートフォン、タブレット型端末装置、ＰＣなど）に応じて適宜変形／変更（削除を含む）しても構わない。例えば、スピーカ、バイブレータ、状態表示ランプ、各種のセンサ、撮像装置、自身の位置姿勢を計測するためのＧＰＳの受信機、等を設けても良い。
【００２１】
次に、サーバ装置２００について説明する。サーバ装置２００は、例えば情報処理装置１００と同様のハードウェア構成を有するコンピュータ装置であり、情報処理装置１００が後述の処理を行うために必要な情報の一部若しくは全部を保持する。
【００２２】
次に、ネットワーク３００について説明する。ネットワーク３００は、ＬＡＮやインターネットなどの有線および／または無線のネットワークで構成されており、上記の通り、情報処理装置１００およびサーバ装置２００は、このネットワーク３００を介して互いにデータ通信を行うことができる。
【００２３】
次に、アプリケーションソフトウェアを実行中の情報処理装置１００の動作について、図２のフローチャートに従って説明する。このアプリケーションソフトウェアは、例えば、日時および該日時における予定の入力を受け付け、該入力された日時に対して該入力された予定を関連づけて登録するカレンダーのアプリケーションソフトウェアであっても良い。また例えば、このアプリケーションソフトウェアは、出発地、目的地、日時などの経路探索のために必要な探索情報の入力を受け付け、該入力された探索条件に合致する経路に係る情報を出力するアプリケーションソフトウェアであっても良い。このように、図２のフローチャートに従った処理は、命令や入力事項を入力可能なアプリケーションソフトウェアを実行中の情報処理装置１００において行われる処理である。
【００２４】
＜ステップＳ２０１＞
収音装置１０８は、音声の入力を受け付けている受付状態にあり、ユーザが収音装置１０８に対して音声を発すると、収音装置１０８は該音声に応じた音声信号を生成し、該生成した音声信号に対してＡ／Ｄ変換等の変換を行うことで該音声信号に対応する音声データを生成して出力する。ＣＰＵ１０１は、収音装置１０８から出力された音声データを取得すると、該音声データに対して音声認識を行う。この音声認識は、ＣＰＵ１０１がアプリケーションソフトウェアに含まれている音声認識ソフトウェアを実行することで実施しても良いし、アプリケーションソフトウェアとは異なる別の音声認識用のアプリケーションソフトウェア（記憶装置１０６に保存されている）を起動して実行することで実施しても良い。
【００２５】
ステップＳ２０１における処理の詳細について、図３のフローチャートに従って説明する。
【００２６】
＜ステップＳ３０１＞
ＣＰＵ１０１は、収音装置１０８から出力された音声データに対して音声認識を行うことで、該音声データに対応するテキストデータ（ユーザが発声した内容を表すテキストデータ）を、該音声認識の結果として取得する。ＣＰＵ１０１は、この取得したテキストデータを表示装置１０５の表示画面に表示しても良い。
【００２７】
＜ステップＳ３０２＞
ＣＰＵ１０１は、ステップＳ３０１で得られたテキストデータに対して構文解析などの解析処理を行うことで、該テキストデータに含まれている名詞や動詞を特定する。
【００２８】
そしてＣＰＵ１０１は、この解析処理の結果、テキストデータから名詞が得られた場合には、該名詞と対応付けて記憶装置１０６に保持されているＩＤを名詞ＩＤに設定する。なお、テキストデータから名詞が得られなかった場合には、名詞ＩＤにはＮＵＬＬ（無為の値の一例）を設定する。
【００２９】
またＣＰＵ１０１は、この解析処理の結果、テキストデータから動詞が得られた場合には、該動詞と対応付けて記憶装置１０６に保持されているＩＤを命令ＩＤに設定する。なお、テキストデータから動詞が得られなかった場合には、命令ＩＤにはＮＵＬＬ（無為の値の一例）を設定する。
【００３０】
そして処理は、図２のステップＳ２０２に進む。
【００３１】
＜ステップＳ２０２＞
ＣＰＵ１０１は、ステップＳ２０１で取得した名詞ＩＤおよび命令ＩＤと、シーンＩＤ（＝ＮＵＬＬ（無為の値の一例））と、から成るセット｛シーンＩＤ（＝ＮＵＬＬ）、名詞ＩＤ、命令ＩＤ｝と対応付けて記憶装置１０６に保持されているコマンドファイルを検索する。このコマンドファイルはシーンＩＤには依存していないコマンドファイルであることから、シーンに依存していないコマンドファイルとなる。
【００３２】
そしてこの検索の結果、コマンドファイルが記憶装置１０６から見つけることができた場合には、処理はステップＳ２０３に進み、コマンドファイルが記憶装置１０６から見つけることができなかった場合には、処理はステップＳ２０４に進む。
【００３３】
＜ステップＳ２０３＞
ＣＰＵ１０１は、ステップＳ２０２における検索で見つけたコマンドファイルを記憶装置１０６からＲＡＭ１０２に読み出す。
【００３４】
＜ステップＳ２０４＞
表示装置１０５の表示画面には、アプリケーションソフトウェアを実行したことで対応するＧＵＩ（グラフィカルユーザインターフェース）が表示されている。ＣＰＵ１０１は、表示装置１０５の表示画面に表示されているシーンがどのようなシーンであるのか（どのようなアプリケーションソフトウェアのどのような画面が表示装置１０５の表示画面に表示中であるのか）を解析するシーン解析処理を行う。ステップＳ２０４におけるシーン解析処理の詳細について、図４のフローチャートに従って説明する。
【００３５】
＜ステップＳ４０１＞
ＣＰＵ１０１は、表示装置１０５の表示画面に表示されているシーンを表すシーン情報として、該表示画面に表示されているオブジェクト（全てでなくても良く、予め設定された一部のオブジェクトであっても良い）の種別や該オブジェクトのレイアウトなどの「表示画面に表示されている画面の構成情報」を取得する。表示装置１０５の表示画面に表示されている画面のソースコードはアプリケーションソフトウェアが有している。そこでＣＰＵ１０１は、このソースコードから、現在表示装置１０５の表示画面に表示されているオブジェクトの種別やそのレイアウトを取得することができる。なお、構成情報の取得方法はこのような方法に限らない。例えば、表示装置１０５の表示画面に表示されている画面が、サーバ装置２００などの外部装置からダウンロードしたウェブページである場合には、このウェブページのソースコードを該サーバ装置２００から取得し、該ソースコードから構成情報を取得するようにしても良い。また例えば、様々なアプリケーションソフトウェアの様々な画面の画像を予め収集して記憶装置１０６に保持しておき、該画像のうち表示装置１０５の表示画面に表示されている画面と最も類似する画像を構成情報として取得するようにしても良い。このように、画面の構成情報の取得方法は特定の取得方法に限らない。
【００３６】
＜ステップＳ４０２＞
ＣＰＵ１０１は、ステップＳ４０１で取得した構成情報と対応付けて記憶装置１０６に保持されているＩＤをシーンＩＤに設定する。記憶装置１０６には様々な構成情報に対応するＩＤが保持されており、ステップＳ４０２では、記憶装置１０６に保持されているそれぞれのＩＤのうち、ステップＳ４０１で取得した構成情報と対応付けて記憶装置１０６に保持されているＩＤをシーンＩＤに設定する。
【００３７】
そして処理は図２のステップＳ２０５に進む。
【００３８】
＜ステップＳ２０５＞
ステップＳ２０５では、ＣＰＵ１０１は、ステップＳ２０１で取得した名詞ＩＤおよび命令ＩＤと、ステップＳ４０２で取得したシーンＩＤと、から成るセット｛シーンＩＤ、名詞ＩＤ、命令ＩＤ｝と対応付けて記憶装置１０６に保持されているコマンドファイルをＲＡＭ１０２に読み出す。このコマンドファイルはシーンＩＤに依存しているコマンドファイルであることから、シーンに依存しているコマンドファイルとなる。
【００３９】
＜ステップＳ２０６＞
ＣＰＵ１０１は、ステップＳ２０３若しくはステップＳ２０５でＲＡＭ１０２に読み出したコマンドファイルに従って処理を実行する。コマンドファイルは、処理Ａ→処理Ｂ→処理Ｃ→…というように処理のシーケンスを定義するファイルである。然るに本ステップではＣＰＵ１０１は、ステップＳ２０３若しくはステップＳ２０５でＲＡＭ１０２に読み出したコマンドファイルで規定されている処理のシーケンスを実行する。
【００４０】
＜ステップＳ２０７＞
ＣＰＵ１０１は、処理の終了条件が満たされたか否かを判断する。例えばＣＰＵ１０１は、ユーザがユーザインターフェース１０４を用いて処理の終了指示を入力した場合には、処理の終了条件が満たされたと判断する。
【００４１】
処理の終了条件が満たされた場合には、図２のフローチャートに従った処理は終了する。一方、処理の終了条件が満たされていない場合には、処理はステップＳ２０１に戻り、次の音声入力を受け付ける。
【００４２】
次に、図２のフローチャートに従った処理について、具体例を挙げて説明する。
【００４３】
アプリケーションソフトウェアを実行したことで表示装置１０５の表示画面に表示されているＧＵＩを見たユーザが音声「今日の予定を表示して」を発したとする。このとき上記のステップＳ３０１では、「今日の予定を表示して」と記されたテキストデータを取得することになり、ステップＳ３０２では、このテキストデータから名詞として「今日」および「予定」、動詞として「表示して」を特定する。そしてステップＳ３０２では更に、名詞「今日」の名詞ＩＤ「今日：時間」、名詞「予定」の名詞ＩＤ「予定：その他」、動詞「表示して」の命令ＩＤ「表示系」を取得する。そしてこの時点ではシーンＩＤは特定されていないので、シーンＩＤにはデフォルトの値であるＮＵＬＬが設定されている。そしてステップＳ２０２の検索により、セット｛ＮＵＬＬ、「今日：時間」、「予定：その他」、「表示系」｝に対応するコマンドファイルが見つかった場合には、ステップＳ２０３においてこのコマンドファイルをＲＡＭ１０２に取得する。このコマンドファイルは、「カレンダーを起動→指定日時の予定をクリック」という処理のシーケンスを規定するものである。そしてステップＳ２０３からステップＳ２０６に処理が進み、ステップＳ２０６では、ステップＳ２０３で取得したコマンドファイルが規定する処理のシーケンスを実行する。つまり、カレンダーのアプリケーションソフトウェアを起動し、その後、該アプリケーションソフトウェアの画面（カレンダーの画面）に表示される「指定日時の予定」をクリックする。指定日時としては、名詞ＩＤ「今日：時間」の「時間」に対してＣＰＵ１０１がセットする今日の日時（例えば１１月９日）を使用するので、カレンダーの画面において１１月９日に対応する領域をクリックすることになる。なお、ＣＰＵ１０１はタイマなどの計時機能を有しており、名詞ＩＤ「今日：時間」の「時間」には、ＣＰＵ１０１が計時している今日の日時（例えば１１月９日）がセットされる。
【００４４】
また、アプリケーションソフトウェアを実行したことで表示装置１０５の表示画面に表示されているＧＵＩを見たユーザが音声「ここへの行き方」を発したとする。このとき上記のステップＳ３０１では、「ここへの行き方」と記されたテキストデータを取得することになり、ステップＳ３０２では、このテキストデータから名詞として「ここ」、動詞として「行く」を特定する。そしてステップＳ３０２では更に、名詞「ここ」の名詞ＩＤ「ここ：場所」、動詞「行く」の命令ＩＤ「行く系」を取得する。そしてこの時点ではシーンＩＤは特定されていないので、シーンＩＤにはデフォルトの値であるＮＵＬＬが設定されている。そしてステップＳ２０２の検索により、セット｛ＮＵＬＬ、「ここ：場所」、「行く系」｝に対応するコマンドファイルが見つからなかったとする。そこでステップＳ４０１では構成情報を取得し、ステップＳ４０２では、このような構成情報に対応するシーンＩＤとして「カレンダーで予定を表示」を取得する。そしてステップＳ２０５では、｛「カレンダーで予定を表示」、「ここ：場所」、「行く系」｝に対応するコマンドファイルを取得する。このコマンドファイルは、「予定の場所をクリックしてマップを表示→経路をクリック→出発地を入力→経路探索」という処理のシーケンスを規定するものである。そしてステップＳ２０５からステップＳ２０６に処理が進み、ステップＳ２０６では、ステップＳ２０５で取得したコマンドファイルが規定する処理のシーケンスを実行する。この時点で表示装置１０５の表示画面には、カレンダーで表示している予定として目的地の画像が表示されているので、先ずこの画像をクリックして地図のアプリケーションソフトウェアを起動することで、該目的地を含む周辺の地図を表示装置１０５の表示画面に表示させ、該地図のアプリケーションソフトウェアの画面における「経路」をクリックして出発地および目的地を入力するための画面を表示させ、該画面において出発地にＧＰＳ等の手段で取得した現在地を入力し、目的地には、名詞ＩＤ「ここで：場所」の「場所」に対してＣＰＵ１０１がセットする場所（クリックした画像に対応する場所名を示す文字列）を入力し、その後、経路探索を行う。
【００４５】
［第２の実施形態］
本実施形態を含め、以下の各実施形態では、第１の実施形態との差分について説明し、以下で特に触れない限りは、第１の実施形態と同様であるものとする。
【００４６】
第１の実施形態で例として挙げたコマンドファイル「カレンダーを起動→指定日時の予定をクリック」に従った処理のシーケンスを実行する場合、パラメータとして「指定日時」が必要になる。第１の実施形態では、このパラメータ「指定日時」に設定するものとして「今日」を発声していたが、パラメータ「指定日時」に設定するものを発声していない場合、コマンドファイルに従った処理を行う前に、パラメータ「指定日時」に設定するものをユーザに問い合わせるようにしても良い。例えば、パラメータ「指定日時」に設定するものが得られていない場合には、対応するメッセージとして予め作成した「いつの予定を表示しますか？」といったメッセージを表示装置１０５の表示画面に表示してユーザに音声入力を促すようにしても良いし、これに加えて若しくは代えて、対応するメッセージとして予め作成した「いつの予定を表示しますか？」といったメッセージを音声として不図示のスピーカから出力してユーザに音声入力を促すようにしても良い。
【００４７】
これは他のケースについても同様で、コマンドファイルに従った処理を行う前に、パラメータに設定するものが得られていない場合は、対応するメッセージとして予め作成したメッセージを表示装置１０５の表示画面に表示してユーザに音声入力を促すようにしても良いし、これに加えて若しくは代えて、対応するメッセージとして予め作成したメッセージを音声として不図示のスピーカから出力してユーザに音声入力を促すようにしても良い。
【００４８】
［第３の実施形態］
第１の実施形態では、アプリケーションソフトウェアの画面などの各種の画面は情報処理装置１００が有する表示装置１０５の表示画面に表示したが、これに限らない。すなわち、情報処理装置１００に直接的若しくは間接的に接続されている表示装置に表示しても良い。
【００４９】
［第４の実施形態］
第１の実施形態では、シーン解析やコマンドファイルの特定は、ユーザが音声にて指示入力を行ったことをトリガにして行われていた。しかし、シーン解析やコマンドファイルの特定のトリガは、これに限らない。
【００５０】
以下に、シーン解析およびコマンドファイルの特定のトリガの一例を説明する。以下では、条件が満たされたことに応じて表示装置１０５の表示画面が切り替わった場合に、該切り替わった後の画面におけるタイトルを音声でユーザに入力させるための構成について説明する。この処理のフローチャートを図５に示す。図５のフローチャートに従った処理は、図２のフローチャートに従った処理と並行して行っても良いし、ステップＳ２０７までに行うようにしても良い。
【００５１】
ステップＳ５０１では、ＣＰＵ１０１は、表示装置１０５の表示画面に表示されている画面が切り替わったか否かを判断する。ＣＰＵ１０１は、ユーザがユーザインターフェース１０４を操作して画面の切替指示を入力したり、ユーザが画面の切替指示を音声入力したりした場合には、該切替指示に従って画面を切り替える。また、カレンダーのアプリケーションソフトウェアに登録した予定日と現在の日時との差が規定値以下となった場合や、ＧＰＳ等の手段で取得した現在地がカレンダーのアプリケーションソフトウェアに登録した目的地から規定距離以内となった場合にも、画面を切り替えるようにしても良い。つまり、画面が切り替わるための条件は特定の条件に限らない。
【００５２】
上記の判断の結果、画面が切り替わった場合には、処理はステップＳ５０２に進み、切り替わっていない場合には、処理はステップＳ５０１に戻る。
【００５３】
ステップＳ５０２では、ＣＰＵ１０１は、切り替わった後の画面に対して、上記のステップＳ２０４と同様のシーン解析を行うことで、該画面に対応するシーンＩＤを特定する。
【００５４】
ステップＳ５０３では、ＣＰＵ１０１は、上記のステップＳ２０２と同様の判断処理を行う。本ステップでは、｛シーンＩＤ、ＮＵＬＬ、ＮＵＬＬ｝のセットに対応するコマンドファイルを検索する。この検索により、｛シーンＩＤ、ＮＵＬＬ、ＮＵＬＬ｝のセットに対応するコマンドファイルが見つかった場合には、処理はステップＳ５０４に進み、｛シーンＩＤ、ＮＵＬＬ、ＮＵＬＬ｝のセットに対応するコマンドファイルが見つからなかった場合には、処理はステップＳ５０１に戻る。
【００５５】
ステップＳ５０４では、ＣＰＵ１０１は、ステップＳ５０３で検索したコマンドファイルに従った処理を行う。例えば、コマンドファイルが「切り替わった後の画面のタイトルを音声入力する」である場合には、表示装置１０５の表示画面に「タイトルを入力して下さい」等のメッセージを表示し、ユーザが音声を発すると、該音声の認識結果であるテキストデータをタイトルとして表示装置１０５の表示画面に表示する。これに加えて若しくは代えて、コマンドファイルが「切り替わった後の画面のタイトルを音声入力する」である場合には、「タイトルを入力して下さい」等のメッセージを不図示のスピーカから音声として出力するようにしても良い。
【００５６】
なお、カレンダーのアプリケーションソフトウェアに追加した予定時刻のＸ時間前に「Ｘ時間後に○○の予定があります」とのメッセージを表示装置１０５の表示画面に表示しても良い。また、カレンダーのアプリケーションソフトウェアに追加した予定の場所に近づいたら、「あとＸ分で到着します」とのメッセージを表示装置１０５の表示画面に表示しても良い。なお、これに加えて若しくは代えて、メッセージは音声として不図示のスピーカから出力するようにしても良い。
【００５７】
［第５の実施形態］
名詞ＩＤ、命令ＩＤ、パラメータ、構成情報、コマンドファイル等の記憶装置１０６に保持されている上記の各種の情報はユーザ、システムの管理者、図２のフローチャートに従った処理を情報処理装置１００に実行させるためのソフトウェアの発行元（製造元）の会社のスタッフなどが適宜編集したり追加したり削除したりしても良い。このような情報の編集／追加／削除は、例えば、新たなアプリケーションソフトウェアが追加された場合や、既存のアプリケーションソフトウェアが編集／削除された場合や、ＯＳがバージョンアップされた場合に行う。
【００５８】
［第６の実施形態］
第１の実施形態において記憶装置１０６に保持されているものとして説明したアプリケーションソフトウェアやデータは、情報処理装置１００と直接的若しくは間接的に接続されている外部装置（たとえばサーバ装置２００）に保持させておいても良い。その場合、情報処理装置１００は、外部装置にアクセスして必要な情報を適宜該外部装置からダウンロードすることになる。なお、情報処理装置１００と外部装置とでどのような情報を分担して保持するのかについては特定の形態に限らず、例えば、情報処理装置１００において頻繁に使用される情報については情報処理装置１００が保持しておくようにしても良い。
【００５９】
［第７の実施形態］
音声認識の結果の取得形態は特定の取得形態に限らない。例えば、情報処理装置１００にインストールされているアプリケーションソフトウェアがサーバ装置２００が提供する音声認識サービスを使用して音声認識結果を取得するようにしても良い。
【００６０】
また、音声認識により得たテキストデータは、そのままステップＳ３０２以降の処理対象としても良いが、適宜編集してからステップＳ３０２以降の処理対象としても良い。例えば、取得したテキストデータを表示装置１０５に表示し、それを見たユーザがユーザインターフェース１０４を用いて編集しても良い。
【００６１】
また第１の実施形態では、テキストデータに対して構文解析などの解析処理を行うことで、該テキストデータに含まれている名詞や動詞を特定し、該特定した名詞や動詞に基づいてコマンドファイルを検索していたが、テキストデータに対して構文解析などの解析処理を行うことなく、対応するコマンドファイルを検索するようにしても良い。例えば、「スクリーンショット」という文字列が記されたテキストデータに対してコマンドファイル（「スクリーンショットを撮る」という処理のシーケンスを規定する）が記憶装置１０６に保持されている場合、文字列「スクリーンショット」が記されたテキストデータが得られると、対応するコマンドファイル（「スクリーンショットを撮る」という処理のシーケンスを規定する）が記憶装置１０６から検索されることになる。また、テキストデータから名詞や動詞に加えて副詞（「もう少し」、「もっと」など）を特定しても良く、その場合、シーンＩＤ、名詞ＩＤ、命令ＩＤ、副詞ＩＤ（特定した副詞のＩＤ）のセットに対応するコマンドファイルを特定する。
【００６２】
また、音声認識の結果として得られるテキストデータを曖昧に解釈するようにしても良い。例えば、音声認識の結果、「わふいおん」という文字列が記されたテキストデータが得られた場合、この文字列を周知の曖昧解釈などの機能によって「Ｗｉ−Ｆｉ  ＯＮ」という文字列に変換しても良い。
【００６３】
また、コマンドファイルによって規定される処理のシーケンスは、ＯＳの設定など、ＯＳを対象にした処理を含んでも良い。
【００６４】
また、第４の実施形態では、カレンダーのアプリケーションソフトウェアに登録した予定日と現在の日時との差が規定値以下となった場合や、ＧＰＳ等の手段で取得した現在地がカレンダーのアプリケーションソフトウェアに登録した目的地から規定距離以内となった場合には、画面を切り替えていたが、画面の切替は必須ではなく、カレンダーのアプリケーションソフトウェアに登録した予定日と現在の日時との差が規定値以下となった場合や、ＧＰＳ等の手段で取得した現在地がカレンダーのアプリケーションソフトウェアに登録した目的地から規定距離以内となった場合等、条件が満たされた場合に処理がステップＳ５０２に進むようにしても良い。
【００６５】
コマンドファイルで規定されている処理のシーケンスを実行した後、規定時間（コマンドファイルごとに異なっていても良いし、同じでも良い）以内に、更に音声が入力された場合、該音声は先に実行した処理と関連する可能性が高い。そこで例えば、カメラのアプリケーションソフトウェアを実行中にユーザが「ズームイン」と発声した後、規定時間内にユーザが「もう少し」と発声した場合、発声内容「ズームイン」に応じてカメラがズームイン動作を行った後、発声内容「もう少し」に応じて更にズームイン動作を行う。この場合、「もう少し」に対応するコマンドファイルは、先の動作（ズームイン）に対応する名詞ＩＤおよび動詞ＩＤと、カメラのアプリケーションソフトウェアの画面に対応するシーンＩＤと、のセットに対応するコマンドファイルである。また、「ズームイン」と発声した後で「もう少し」の代わりに反対命令、例えば「戻して」と発声した場合は、発声内容「ズームイン」に応じてカメラがズームイン動作を行った後、発声内容「戻して」に応じて元の倍率にズームアウト（先の動作（ズームイン）の逆動作）する。同様の原理で、例えば、「Ｗｉ−ＦｉをＯＮにして」と発声してから「やっぱりやめて」と発声すると、Ｗｉ−ＦｉをＯＮにした後でＯＦＦにする（先の動作（Ｗｉ−ＦｉをＯＮにする）の逆動作）ようにしても良い。
【００６６】
なお、先の処理に後続する音声入力に対応するコマンドファイルはシーンＩＤに対応していなくても良い。つまり、先の処理に後続する音声入力は先の処理に関連する可能性が高いので、先の処理に後続する音声入力に対応するコマンドファイルは単に、名詞ＩＤおよび動詞ＩＤと対応するコマンドファイルであっても良い。
【００６７】
また第１の実施形態では、指示の入力を音声にて行っていたが、指示の入力は音声以外で行っても良い。例えば、指示の入力方法には、キー入力、ジェスチャ入力（ユーザが行ったジェスチャを撮像装置で撮像し、該撮像により得られる動画像／静止画像に写っているジェスチャを情報処理装置１００が認識する）、各種のセンサによるセンシング結果に基づく入力、などがある。例えば、手を振るジェスチャ入力を行った場合には、そのジェスチャの認識結果に対するメッセージ「バイバイ」を表示しても良い。
【００６８】
［第８の実施形態］
上記の説明において使用した数値やアプリケーションソフトウェアの種類等は具体的な説明を行うために使用したものであり、上記の各実施形態が、これらに限定されることを意図したものではない。また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【００６９】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【図１】
2020149585.tif 000003
【図２】
2020149585.tif 000004
【図３】
2020149585.tif 000005
【図４】
2020149585.tif 000006
【図５】
2020149585.tif 000007