(57)【要約】【課題】  入力設定を自動的に調整するための方法及びシステムを提供すること。【解決手段】  入力設定を自動的に調整するための方法及びシステムが開示される。方法は、ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視することを含むことができる。方法は、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定された、コンピュータ・システムの入力設定状態を判定することをさらに含むことができる。方法はまた、１つ又は複数の後続の入力インスタンスにおいて、フィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整することを含むことができる。コンピュータ・プログラム製品も開示される。【選択図】      図２
2013545380.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムの入力設定を自動的に調整するための方法であって、
ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視するステップと、
初期入力インスタンスにおいて、前記ＧＵＩの少なくとも１つのフィールド内への情報入力のために前記ユーザによって設定された、前記コンピュータ・システムの入力設定状態を判定するステップと、
１つ又は複数の後続の入力インスタンスにおいて、前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するステップと
を含む方法。
【請求項２】
前記コンピュータ・システムの前記入力設定状態を判定する前記ステップは、前記入力設定状態を示すオペレーティング・システムの動作を追跡するステップを含む、請求項１に記載の方法。
【請求項３】
前記ＧＵＩを監視する前記ステップは、前記ＧＵＩ上でスクリーン・スクレイピングを実行することを含む、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する前記ステップは、キーボード・イベントを生成すること、及び、アプリケーション・プログラミング・インターフェースを用いることから成るアクションの群から選択されたアクションを実行するステップを含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する前記ステップは、
情報入力のために前記ユーザによって選択された前記少なくとも１つのフィールドのうちのあるフィールドを前もって示す指標を受け取るステップと、
前記ユーザがそのフィールド内に情報を入力し始める前に、そのフィールドに関する前記入力設定状態を自動的に調整するステップと
を含む、請求項１に記載の方法。
【請求項６】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する前記ステップは、
前記少なくとも１つのフィールドのうちのあるフィールド内で実行されている情報入力を検出するステップと、
前記ユーザによってそのフィールド内に入力された前記情報を、前記判定された初期入力インスタンスの入力設定に合致するように再フォーマットするステップと
を含む、請求項１に記載の方法。
【請求項７】
そのフィールドに関する前記入力設定状態を自動的に調整する前記ステップが、前記ユーザによって開始される、請求項６に記載の方法。
【請求項８】
ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視するためのコードと、
初期入力インスタンスにおいて、前記ＧＵＩの少なくとも１つのフィールド内への情報入力のために前記ユーザによって設定された、前記コンピュータ・システムの入力設定状態を判定するためのコードと、
１つ又は複数の後続の入力インスタンスにおいて、前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するためのコードと
を含むコンピュータ・プログラム。
【請求項９】
前記コンピュータ・システムの前記入力設定状態を判定するための前記コードは、前記入力設定状態を示すオペレーティング・システムの動作を追跡するためのコードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記ＧＵＩを監視するための前記コードは、前記ＧＵＩ上でスクリーン・スクレイピングを実行するためのコードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１１】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するための前記コードは、キーボード・イベントを生成すること、及び、アプリケーション・プログラミング・インターフェースを用いることから成るアクションの群から選択されたアクションを実行するためのコードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１２】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するための前記コードは、
情報入力のために前記ユーザによって選択された前記少なくとも１つのフィールドのうちのあるフィールドを前もって示す指標を受け取るためのコードと、
前記ユーザがそのフィールド内に情報を入力し始める前に、そのフィールドに関する前記入力設定状態を自動的に調整するためのコードと
を含む、請求項８に記載のコンピュータ・プログラム。
【請求項１３】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するための前記コードは、
前記少なくとも１つのフィールドのうちのあるフィールド内で実行されている情報入力を検出するためのコードと、
前記ユーザによってそのフィールド内に入力された前記情報を、前記判定された初期の入力インスタンスの入力設定に合致するように再フォーマットするためのコードと
を含む、請求項８に記載のコンピュータ・プログラム。
【請求項１４】
そのフィールドに関する前記入力設定状態を自動的に調整するための前記コードは、前記入力設定状態の前記自動調整のユーザによる開始のためのコードを含む、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
入力設定を自動的に調整するためのシステムであって、
ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視し、
初期入力インスタンスにおいて、前記ＧＵＩの少なくとも１つのフィールド内への情報入力のために前記ユーザによって設定された、前記コンピュータ・システムの入力設定状態を判定し、
１つ又は複数の後続の入力インスタンスにおいて、前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する
ように構成されたプロセッサを含む、システム。
【請求項１６】
前記プロセッサは、前記情報入力を監視するときに、前記ユーザによる情報入力を示すオペレーティング・システムの動作を追跡するように構成される、請求項１５に記載のシステム。
【請求項１７】
前記プロセッサは、前記ＧＵＩを監視するときに、前記ＧＵＩ上でスクリーン・スクレイピングを実行するように構成される、請求項１５に記載のシステム。
【請求項１８】
前記プロセッサは、前記少なくとも１つのフィールドに関する前記入力設定状態を前記判定された初期入力インスタンスの入力設定に自動的に調整するときに、キーボード・イベントを生成すること、及び、アプリケーション・プログラミング・インターフェースを用いることから成るアクションの群から選択されたアクションを実行するように構成される、請求項１５に記載のシステム。
【請求項１９】
前記プロセッサは、前記少なくとも１つのフィールドに関する前記入力設定状態を前記判定された初期入力インスタンスの入力設定に自動的に調整するときに、
情報入力のために前記ユーザによって選択された前記少なくとも１つのフィールドのうちのあるフィールドを前もって示す指標を受け取り、
前記ユーザがそのフィールド内に情報を入力し始める前に、そのフィールドに関する前記入力設定状態を自動的に調整するように構成される、請求項１５に記載のシステム。
【請求項２０】
前記プロセッサは、前記少なくとも１つのフィールドに関する前記入力設定状態を前記判定された初期入力インスタンスの入力設定に自動的に調整するときに、
前記少なくとも１つのフィールドのうちのあるフィールド内で実行されている情報入力を検出し、
前記ユーザによってそのフィールド内に入力された前記情報を、前記判定された初期入力インスタンスの入力設定に合致するよう再フォーマットするように構成される、請求項１５に記載のシステム。
【請求項２１】
前記プロセッサは、ユーザによる開始に対して、そのフィールドに関する前記入力設定状態を自動的に調整することによって応答するように構成される、請求項２０に記載のシステム。
【請求項２２】
コンピュータ・システムの入力設定を自動的に調整するための方法であって、
ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を、スクリーン・スクレイピングを実行することによって監視するステップと、
初期入力インスタンスにおいて、前記ＧＵＩの少なくとも１つのフィールド内への情報入力のために前記ユーザによって設定された、前記コンピュータ・システムの入力設定状態を、前記入力設定状態を示すオペレーティング・システムの動作を追跡することによって判定するステップと、
１つ又は複数の後続の入力インスタンスにおいて、前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整するステップと
を含む方法。
【請求項２３】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する前記ステップは、
情報入力のために前記ユーザによって選択された前記少なくとも１つのフィールドのうちのあるフィールドを前もって示す指標を受け取るステップと、
前記ユーザがそのフィールド内に情報を入力し始める前に、そのフィールドに関する前記入力設定状態を自動的に調整するステップと
を含む、請求項２２に記載の方法。
【請求項２４】
前記少なくとも１つのフィールドに関する前記入力設定状態を、前記判定された初期入力インスタンスの入力設定に自動的に調整する前記ステップは、
前記少なくとも１つのフィールドのうちのあるフィールド内で実行されている情報入力を検出するステップと、
前記ユーザによってそのフィールド内に入力された前記情報を、前記判定された初期入力インスタンスの入力設定に合致するように再フォーマットするステップと
を含む、請求項２２に記載の方法。
【請求項２５】
そのフィールドに関する前記入力設定状態を自動的に調整する前記ステップが、前記ユーザによって開始される、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力設定の自動調整のための方法及びシステムに関する。
【背景技術】
【０００２】
コンピュータ・システム及びアプリケーションを用いて作業するときに、ときどき、オペレータがキーボードの状態を変更することを要求される場合がある。これは、例えば、現在の言語以外のキーボード言語を必要とするデータ・フィールドに入力するとき（例えば、現在は英語モードのユーザがヘブライ語でデータを入力したいと思うとき）、キャプス・ロック又はナンバー・ロックの状態を変更するとき、及びキーボード配列を変更するときに起こる。
【０００３】
様々な状況において、こうした変更は、同じような方式で行われ、繰り返して行われることさえある。例えば、ヘブライ語を話すユーザは、電子メールのテキスト・フィールドにテキストを入力するときには、キーボードの言語設定をヘブライ語に変更し、次に、電子メール・アドレス・フィールドに電子メール・アドレスを入力するときには、キーボードの言語設定を英語に変更することになる。こうした変更は、推測及び予測することが比較的容易であるが、それらの変更は、ほとんどの場合、自動的に行われるわけではない。
【０００４】
既知の例外は、パスワード・フィールドの処理である。パスワード・フィールドを認識し、将来の使用のためにパスワードを保存し、さらにユーザに対してパスワードの入力を示唆するブラウザ及びアドオンが存在する。しかしながら、このソリューションは、特定のアプリケーションのためのものであり、パスワードのみを対象としている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、入力設定を自動的に調整するための方法及びシステムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の実施形態によると、コンピュータ・システムの入力設定を自動的に調整するための方法が提供される。この方法は、ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視することを含むことができる。この方法は、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定された、コンピュータ・システムの入力設定状態を判定することをさらに含むことができる。この方法はまた、１つ又は複数の後続の入力インスタンスにおいて、前述の少なくとも１つのフィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整することを含むことができる。
【０００７】
さらに、本発明の実施形態によると、一時的ではない有形のコンピュータ可読ストレージ媒体上に格納されたコンピュータ・プログラム製品が提供される。コンピュータ・プログラムは、ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視するためのコードを含むことができる。コンピュータ・プログラムは、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定された、コンピュータ・システムの入力設定状態を判定するためのコードを含むことができる。コンピュータ・プログラムはまた、１つ又は複数の後続の入力インスタンスにおいて、前述の少なくとも１つのフィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整するためのコードを含むことができる。
【０００８】
さらに、本発明の実施形態によると、入力設定を自動的に調整するためのシステムが提供される。このシステムは、ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を監視するように構成されたプロセッサを含むことができる。プロセッサはまた、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定された、コンピュータ・システムの入力設定状態を判定するように構成することができる。プロセッサはまた、１つ又は複数の後続の入力インスタンスにおいて、少なくとも１つのフィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整するように構成することができる。
【０００９】
さらに、本発明の実施形態によると、コンピュータ・システムの入力設定を自動的に調整するための方法が提供される。この方法は、ユーザによるグラフィカル・ユーザ・インターフェース（ＧＵＩ）内への情報入力を、スクリーン・スクレイピング(screen scraping)を実行することによって監視することを含むことができる。この方法はまた、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定されたコンピュータ・システムの入力設定状態を、入力設定状態を示すオペレーティング・システムの動作を追跡することによって判定することを含むことができる。この方法は、１つ又は複数の後続の入力インスタンスにおいて、少なくとも１つのフィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整することをさらに含むことができる。
【００１０】
本発明の好ましい実施形態を、例示のみを目的として、以下の図面を参照して、ここから説明する。
【図面の簡単な説明】
【００１１】
【図１】電子メール・アプリケーションのグラフィカル・ユーザ・インターフェース（ＧＵＩ）１２（従来技術）を示す。
【図２】本発明の実施形態による、コンピュータ・システムの入力設定を自動的に調整するための方法を示す。
【図３】本発明の実施形態による、コンピュータ・システムの入力設定を自動的に調整するためのプロセスを示す。
【図４】本発明の実施形態による、コンピュータ・システムの入力設定を自動的に調整するためのシステムを示す。
【発明を実施するための形態】
【００１２】
当業者には認識されるように、本発明の態様は、システム、方法又はコンピュータ・プログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロ・コード等を含む）、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形を取ることができ、本明細書においては、これらを全て、一般的に、「回路」、「モジュール」又は「システム」と呼ぶことがある。さらに、本発明の態様は、媒体内に具体化されたコンピュータ可読プログラム・コードを有する、１つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形を取ることができる。
【００１３】
１つ又は複数のコンピュータ可読媒体のいずれの組み合わせも利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線若しくは半導体のシステム、装置若しくはデバイス、又は上記のもののいずれかの適切な組み合わせとすることができるが、これらに限定されるものではない。コンピュータ可読ストレージ媒体のより具体的な例（非網羅的なリスト）として、以下のもの、即ち、１つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク型読み出し専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又はこれらのいずれかの適切な組み合わせが挙げられる。本明細書の文脈においては、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって又はそれらと関連して用いるためのプログラムを収容又は格納することが可能な、任意の、一時的ではない有形媒体とすることができる。
【００１４】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが、例えばベースバンド内に、又は搬送波の一部としてその中に具体化された、伝搬データ信号を含むことができる。このような伝搬信号は、電磁気、光又はこれらのいずれかの適切な組み合わせを含むがそれらに限定されない、種々の異なる形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、かつ、命令実行システム、装置若しくはデバイスによって又はこれらと関連して用いるためのプログラムを通信し、伝搬し又は搬送することができる、任意のコンピュータ可読媒体とすることができる。
【００１５】
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、又は上記のもののいずれかの適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を用いて、伝送することができる。
【００１６】
本発明の態様のための動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのようなオブジェクト指向型プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、１つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行されるか、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行されるか、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合がある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続されるか、又は、（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）外部コンピュータへの接続がなされる場合がある。
【００１７】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品の流れ図及び／又はブロック図を参照して以下で説明される。流れ図及び／又はブロック図の各ブロック、及び、流れ図及び／又はブロック図におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができることが理解されるであろう。これらのコンピュータ・プログラム命令を汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを生成し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、流れ図及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を生成することができる。
【００１８】
これらのコンピュータ命令を、コンピュータ、他のプログラム可能データ処理装置、又はその他の装置を特定の様式で機能するように指令することができるコンピュータ可読媒体に格納し、それにより、そのコンピュータ可読媒体に格納された命令が、流れ図及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装する命令を含む製品を生成するようにすることもできる。
【００１９】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又はその他の装置にロードして、コンピュータ、他のプログラム可能データ処理装置、又はその他の装置上で一連の動作ステップを行わせて、コンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、流れ図及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実行するためのプロセスを提供するようにすることもできる。
【００２０】
図面内の流れ図及びブロック図は、本発明の種々の実施形態によるシステム、方法、及びコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。この点に関して、流れ図又はブロック図の中の各ブロックは、特定の１つ又は複数の論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装においては、ブロックに記載された機能が図に示された順序通りに行われない場合があることにも留意すべきである。例えば、逐次的に示された２つのブロックは、関与する機能に応じて、実際には、実質的に同時に実行されることがあり、又は、ブロックが逆順に実行されることもある。ブロック図及び／又は流れ図の各ブロック、及び、ブロック図及び／又は流れ図におけるブロックの組み合わせは、指定された機能又は動作を行う専用ハードウェアに基づくシステムによって、又は専用ハードウェアとコンピュータ命令との組み合わせによって、実装することができることにも留意されたい。
【００２１】
本発明の実施形態によると、コンピュータ・アプリケーションの監視されたグラフィカル・ユーザ・インターフェース内の各々の特定のデータ・フィールドに関するコンピュータ・システムの入力設定の自動調整のための方法及びシステムが、本明細書において開示される。
【００２２】
本発明の文脈において、「入力インターフェース」という用語は、コンピュータ・デバイス上で稼働しているアプリケーションによって促されたときに、そうすることが必要とされる場合又は所望される場合に情報を入力するため、及び、入力グラフィカル・ユーザ・インターフェースをディスプレイ（例えば、モニタ画面）上に表示するために、ユーザが用いることができるあらゆる種類の入力インターフェース（例えば、キーボード、ポインティング・デバイス、タッチ・スクリーン）を含むものと理解される。
【００２３】
入力インターフェース設定の自動調整のための方法及びシステムは、本発明の実施形態によると、ユーザの入力挙動を学習すること、及び、そのユーザの入力挙動に適合する入力インターフェース設定の自動調整をそのユーザに提供することに基づくものとすることができる。
【００２４】
本発明の実施形態によると、キーボード入力設定を自動的に設定するための方法及びシステムは、ユーザ群の各ユーザの入力挙動を学習し、そのユーザの入力挙動に適合する自動化されたキーボード入力設定を各ユーザに提供するように設計することができる。
【００２５】
本発明の実施形態によると、キーボード入力設定を自動的に設定するための方法及びシステムは、データフォームの入力時間を短縮することができ、ヒューマンエラーを減らすことができる。
【００２６】
異なる入力設定を必要とする様々な種類の入力フィールドが存在する。例えば、電子メール・アドレス・フィールド（典型的には、ラテン語キーボード設定が必要とされる）、名前フィールド（典型的には、現地語設定）、番号フィールド（数字設定）である。
【００２７】
本発明の実施形態によると、コンピュータがユーザからの入力を必要とするアプリケーションを稼働している間に、表示画像に対してＯＣＲ（光学式文字認識）を使用して、ユーザに対して表示された画面の内容を認識することを伴う、スクリーン・スクレイピング技術を用いることができる。スクリーン・スクレイピング技術は、そのＧＵＩが関連する稼働アプリケーションの、アプリケーション自体から直接（ＡＰＩを介して）取得されるか又はオペレーティング・システム（ＯＳ）を介して取得される構造化データを構文解析することを含むこともできる。
【００２８】
本発明の実施形態による方法は、以下のステップを含むことができる。
ａ）ユーザが作業している間、アプリケーション画面を監視し、スクリーン・スクレイピング（ＯＣＲ）によって画面の内容を認識し、入力インターフェース（例えば、キーボード、マウス）イベント、又はオペレーティング・システムによって実行されたその他の動作を検出すること。
ｂ）ユーザが現在編集しているフィールドを識別すること（（ａ）からのデータに基づいて）
ｃ）ユーザが編集している画面及びフィールドにより、ユーザのアクション及びシステム設定を学習すること。
ｄ）特定のユーザの挙動についての十分な知識を蓄積した後で、各監視対象入力フィールドに関する少なくとも１つの規則が生成される。
e)画面上に表示された監視対象のグラフィカル・ユーザ・インターフェースのフィールド内に次回ユーザが情報を入力するときに、規則が以前に生成されている場合には、提唱される方法は、生成された規則に従って、入力インターフェースの設定を自動的に適用する。
【００２９】
入力インターフェース設定の変更は、特定のフィールドにユーザがタイプ入力しているとき、又はまさにタイプ入力しようとしている合図（キュー）があったときにいつでも適用することができる。
【００３０】
本発明の代替的な実施形態においては、入力インターフェース設定の変更は、自動化された後処理手順で適用することができる。後処理ルーティンにおいて、ウィンドウの１つのフィールド（又は複数のフィールド）は、（データ入力時に同時実行される自動システム設定とは対照的に）学習されたユーザの入力パターンに従って自動的に調整することができる。自動化された後処理手順は、ユーザが起動することもでき（例えば、ユーザが、指定のキー又はアイコンを押すことによって）、又は、ユーザが情報を入力している間に、若しくはユーザがそのフィールド内での情報の入力を完了した直後に、動作させることもできる。
【００３１】
例えば、上記の電子メールの例を考える。本発明の実施形態によると、指定されたアプリケーションは、表示画像を監視し（スクリーン・スクレイピングを実行することによって）、それをユーザの入力アクションと相関させる。ユーザが、電子メール・アドレス・フィールド（ほとんどの電子メール・アプリケーションにおいて、多くの場合フィールドの左側に見られる「ＴＯ：」というタイトルによって特徴付けられ、スクリーン・スクレイピング・フェーズにおいてそれ自体として識別される）を指しているとき、ユーザは、入力インターフェース（この場合にはキーボード）の言語モードが英語（又は、電子メール・アドレスを入力するのに適したアルファベットを用いる他のいずれかの言語）である場合にのみ電子メール・アドレスを入力し、言語モードが英語でない場合には、ユーザは、言語設定を英語に変更するであろう。これらのアクションは指定されたアプリケーションによって記録されるので、このフィールドについての十分な情報が蓄積された後、次回ユーザが電子メール・アプリケーションを起動し、電子メール・メッセージを書き始めると、電子メール・アドレス・フィールドに達したときに、指定されたアプリケーションは、キーボードの言語モードが英語であることを確認し、英語でない場合には、言語モードはシステムによって英語に切り換えられる。指定されたアプリケーションは、例えば、言語モード変更に対応するキーボード・イベントを生成することによって、又は、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を用いることによって、キーボード言語の変更を実行することができる。
【００３２】
本発明の実施形態による入力インターフェース設定の自動調整のための方法は、画面の視覚的分析に基づくものとすることができ、従って、この方法は、ユーザが入力インターフェース上のフィールド内に情報を入力する際に用いるための入力インターフェースを画面上に表示する任意のプログラムに対して、独立に、かつ、監視対象アプリケーションのソース・コード、及び／又はそのアプリケーションが実行されるプラットフォームにアクセスすることなく、適用することができる。
【００３３】
図１は、電子メール・アプリケーションのグラフィカル・ユーザ・インターフェース（ＧＵＩ）１２（従来技術）を示し、これは、メニュー・キー１６（メニュー・キーのうちのいくつかはテキスト形式であり、いくつかのメニュー・キーは図形アイコンである）を含む。ＧＵＩ１２はまた、受信者の電子メール・アドレスを入力するように設計された電子メール・アドレス・フィールド１８（「Ｔｏ：」及び「ＣＣ：」）、並びに、テキストを入力するように設計された２つのテキスト・フィールド、即ち、「件名（Ｓｕｂｊｅｃｔ）」フィールド２０及びメッセージ本文フィールド１４を含む。
【００３４】
ユーザが、英語（又は、適切なフォーマットで電子メール・アドレスを入力するためにそのアルファベットを用いることができる他の言語）以外の言語で電子メール・メッセージを送信したいと思ったとき、ユーザは、以下のアクションを実行することができる。
ａ）電子メール・アドレス・フィールドを、例えばカーソルを電子メール・アドレス・フィールド内に配置することによって選択し、受信者の電子メール・アドレスを入力する。キーボードの現在の言語設定が英語である場合は、ユーザは、電子メール・アドレスをタイプ入力する。しかしながら、キーボードの現在の言語設定が英語でない場合、例えばヘブライ語、アラビア語、中国語、ロシア語、又は電子メール・アドレスに適さない他の言語である場合には、ユーザは、最初に、キーボードの現在の言語設定を英語に切り換えるであろう。おそらく、最初は間違った言語設定を用いて誤ったタイプ入力が行われ、間違いに気がつくと、ユーザは、タイプ入力されたテキストを削除し、再度タイプ入力する前にキーボードの言語設定を英語に切り換えることになるであろう。
ｂ）テキスト・フィールドを、例えば、カーソルをテキスト・フィールド内に配置することによって選択し、所望の言語でメッセージをタイプ入力する。所望の言語が現在の設定とは異なるアルファベットを用いる言語である場合には、ユーザは、キーボードの言語設定をその言語に切り換えることになるであろう。
【００３５】
情報入力の順序（例えば、最初に電子メール・アドレスを入力し、次にメッセージ・テキストをタイプ入力する、又はその逆の順序で入力する）は、任意であり得る。
【００３６】
本発明の実施形態によると、アプリケーションのＧＵＩの表示画像を監視することができる。スクリーン・スクレイピング・ツールを用いて、画面上に現れている可視のテキスト及び図形アイテム又は記号（例えば、アイコン）を検出することができる。検出されたテキスト又は図形コンポーネントの内容及びその位置が記録される。キーボード入力及びマウス・クリック・イベントの順序を記録するために、スクリーン・スクレイピング・ツールと並列に機能する入力インターフェース（例えば、キーボード及び／又はマウス）リスナ・ツール（listener tool）を用いることができる。
【００３７】
現在、情報を入力中のアクティブなフィールドを識別することができる。編集マーカ（例えば、カーソル）の位置を検出するための既知の方法がある。例えば、見つけ出すためのサインは、画面上の点滅しているマーカ又は強調表示されたフィールドとすることができ、両方とも既知の変更検出技術によって検出される。各キーボード・ストローク後に画面を分析することができ、画面上の新たな文字の出現が、現在編集中のフィールドの場所を示すことができる。
【００３８】
マウス・クリック・イベントがあった場合には、編集可能なフィールドの存在を判定するために、そのイベントの座標及びそのイベントの周囲を分析することもでき、又は、そのマウス・イベントの周囲領域の、以前に完了した分析と比較することもできる。
【００３９】
画面上のフィールドを編集するときのユーザのアクション、及び、同時実行の入力インターフェース設定を、監視された画面と関連付けることができる。
【００４０】
初回の入力インスタンス又は最初の数回のインスタンス（以下、「初期入力インスタンス」と呼ぶ）における各フィールドに関する入力インターフェース設定の履歴を記録し、格納することができる。
【００４１】
従って、次回の入力インスタンス及びその後の入力インスタンスに関しては、ユーザがフィールドの１つを選択すると、入力インターフェース設定を、ユーザが初回の入力インスタンスにおいて用いた設定と一致するように設定することができる
【００４２】
本発明の実施形態によると、特定のフィールドについての（又は、画面上のいくつか若しくは全てのフィールドについての）初期入力インスタンスは、何回かの入力インスタンスを含むことができるので、入力インターフェース設定の自動調整は、何回かの初期入力インスタンスが記録され、そのデータ・フィールドに関して収集された統計値がそのフィールドに関してユーザが好む入力インターフェース設定の判定を可能にすることができるようになった後でのみ、実行することができる。本発明のいくつかの実施形態において、入力インスタンスの回数は、ユーザによるカスタマイズが可能であるものとすることができる。
【００４３】
ユーザがデータをフィールド内に入力する前には何の指標（ｉｎｄｉｃａｔｉｏｎ）もなく、ユーザがデータを入力し始めた後でないと入力インターフェース設定を判定することができない場合には、既に書き込まれたテキストを学習されたユーザの挙動に従って再フォーマットする、後処理を実行することができる。例えば、電話番号などを入力する場合のように、あるデータ・フィールドの方向が常に左から右である場合には、これをデータ入力の後で自動的に訂正することができる。
【００４４】
本発明の実施形態による方法を使用すること又はシステムを用いることにより、ユーザに対して、テキストを入力する前に正しいキーボード設定を提供することができる。本発明の他の実施形態によると、後処理を利用して、データが正しい入力インターフェース設定で入力されたことを確認することができ、そうでない場合にはこれを訂正することができる。従って、ユーザは、入力インターフェースを手動で設定する必要を排除すること、並びに、不適当なキーボード設定によって引き起こされるタイプ入力エラーを回避することによって、時間を節約することができる。
【００４５】
本発明の実施形態による、入力インターフェース設定を自動的に調整するための方法が、図２に示される。
【００４６】
本方法は、ＧＵＩ内への情報入力を監視すること（２１０）を含むことができる。本方法は、初期入力インスタンスにおいて、ＧＵＩの少なくとも１つのフィールド内への情報入力のためにユーザによって設定された入力設定状態を判定すること（２２０）をさらに含むことができる。本方法はまた、１つ又は複数の後続の入力インスタンスにおいて、少なくとも１つのフィールドに関する入力設定状態を、判定された初期入力インスタンスの入力設定に自動的に調整すること（２３０）を含むことができる。
【００４７】
本発明の実施形態による、入力インターフェース設定を自動的に調整するためのプロセス３００が、図３に示される。
【００４８】
プロセス（例えば、アルゴリズム）は、ＧＵＩ内への情報入力を監視すること（３１０）を含むことができる。ユーザがＧＵＩのフィールド内に情報を入力するときに、それが初回の入力インスタンスに関して（又は、上記で定義された初期インスタンスにおいて）行われているものであるか否かを判定すること（３２０）ができる。
【００４９】
ユーザが、そのフィールド内に初回の入力インスタンスにおいて情報を入力する場合には、入力インターフェースの設定状態を判定し（３３０）、記録する（３４０）ことができ、ＧＵＩをさらに監視することができる（３１０）。
【００５０】
ユーザがこのフィールド内に情報を入力しているのが初回の入力インスタンス（上記で定義されたような）でない場合には、ユーザが情報を入力し始める前に、情報を入力するためにユーザによって現在選択されている入力フィールドを前もって示す指標（例えば、ユーザがＴＡＢを押してカーソルをフィールド内に進める、又は、ポインティング・デバイスをフィールド上でクリックする）があるか否かを判定することができる（３４５）。このような前もっての指標が検出された場合には、入力インターフェースの設定状態を、そのフィールドに関して判定された設定に調整することができる（３５０）。次に、入力ＧＵＩが完了したかどうかを判定することができる（３６０）。それが実際に完了した場合には、プロセスは終了することができる（３７０）。入力ＧＵＩが完了していない場合には、さらに監視することができる（３１０）。
【００５１】
ユーザがそのフィールド内に情報を入力し始める前に、選択されたフィールドを前もって示す指標がない場合には、入力された情報を、そのフィールドに関して判定された入力インターフェース設定に合致するように自動的に再フォーマットすることができる（３５５）。
【００５２】
図４は、本発明の実施形態による、入力インターフェース設定を自動的に調整するためのシステム４００を示す。このようなシステムは、例えばハード・ディスク・ドライブのようなストレージ媒体４２０を含むことができる。システムはまた、プロセッサ４１０、例えばキーボード又はタッチ・スクリーンのような入力インターフェース４４０、及び、例えばモニタのようなディスプレイ装置４３０を含むことができる。
【００５３】
ストレージ媒体４２０を用いて、プロセッサ４１０上で実行することができるコンピュータ・プログラム製品（例えば、コンピュータ・ソフトウェア・アプリケーション）を格納することができ、これは、本発明の実施形態による、入力インターフェース設定を自動的に調整するための方法を実行するためのコードを含むことができる。
【符号の説明】
【００５４】
１２：グラフィカル・ユーザ・インターフェース（ＧＵＩ）
１４：メッセージ本文フィールド
１６：メニュー・キー
１８：電子メール・アドレス・フィールド
２０：「件名」フィールド
３００：プロセス
４００：システム
【図１】
2013545380.tif 000003
【図２】
2013545380.tif 000004
【図３】
2013545380.tif 000005
【図４】
2013545380.tif 000006
【国際調査報告】
2013545380.tif 000007
2013545380.tif 000008