(57)【特許請求の範囲】
【請求項１】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
特定された文例の一覧を、前記第一の入力領域とは異なる第二の入力領域に対する入力候補として表示させる処理をコンピュータに実行させる入力支援プログラム。
【請求項２】
前記表示させる処理は、前記特定された文例のうち、前記第二の画面において既に入力された文例を除く全ての文例の一覧を入力候補として表示させる請求項１記載の入力支援プログラム。
【請求項３】
前記特定する処理は、前記第二の画面の複数の入力領域に入力された全ての文例又は全ての文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する請求項１又は２記載の入力支援プログラム。
【請求項４】
前記特定する処理は、複数の入力画面が表示されている状態において、操作対象の入力画面が切り替えられた場合に、切り替え先の入力画面が有する複数の入力領域のうちのいずれかの入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する請求項１乃至３いずれか一項記載の入力支援プログラム。
【請求項５】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得し、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
前記取得された文例の表示順を、当該文例が前記特定されたいずれかの文例であるか否かに基づいて決定し、
前記取得された文例を、決定された表示順によって入力候補として表示させる処理をコンピュータに実行させる入力支援プログラム。
【請求項６】
第一の画面が有する複数の入力領域のうちの第一の入力領域に文字列が入力されたことを検出すると、前記第一の画面とは異なる第二の画面が有する複数の入力領域に入力された文例又は前記複数の入力領域に入力された文字列に対応する文例の組み合わせを示す情報を記憶する記憶部を参照して、検出した前記入力にかかる文字列を有する文例を含む組み合わせを特定し、
特定した前記組み合わせに含まれる文例を、前記第一の入力領域とは異なる第二の入力領域に対する入力候補として一覧表示する、
処理をコンピュータに実行させることを特徴とする入力支援プログラム。
【請求項７】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
特定された文例の一覧を、前記第一の入力領域とは異なる第二の入力領域に対する入力候補として表示させる処理をコンピュータが実行する入力支援方法。
【請求項８】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得し、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
前記取得された文例の表示順を、当該文例が前記特定されたいずれかの文例であるか否かに基づいて決定し、
前記取得された文例を、決定された表示順によって入力候補として表示させる処理をコンピュータが実行する入力支援方法。
【請求項９】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を記憶する組み合わせ情報記憶部と、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する特定部と、
特定された文例の一覧を、前記第一の入力領域とは異なる第二の入力領域に対する入力候補として表示させる表示部とを有する入力支援装置。
【請求項１０】
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を記憶する組み合わせ情報記憶部と、
前記第一の画面とは異なる第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得する取得部と、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する特定部と、
前記取得部によって取得された文例の表示順を、当該文例が前記特定部によって特定されたいずれかの文例であるか否かに基づいて決定する表示順決定部と、
前記取得によって取得された文例を、決定された表示順によって入力候補として表示させる表示部とを有する入力支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力支援プログラム、入力支援装置、及び入力支援方法に関する。
【背景技術】
【０００２】
従来、読みに対応付けて文例が登録された辞書（以下、「文例辞書」という。）を利用して、読みの入力に応じて、当該読みに対応する文例の一覧を入力候補として提示するソフトウェア（以下、「文例入力ソフト」という。）が有る。一覧の中から選択された文例は、文書の入力画面に出力される。
【０００３】
文例入力ソフトの利便性は、入力候補の文例の表示順に大きく依存する。例えば、利用頻度の高い文例が上位に表示されれば、ユーザにとって所望の文例が入力候補の上位において見つかる可能性が高くなり、文例入力ソフトの利便性が向上する。
【０００４】
そこで、従来、読みの入力に応じて表示された文例の中から選択された回数を文例ごとに記録しておき、当該回数に応じて、入力候補の表示順を決定することが行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２８０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ワープロソフト等の、大きな編集領域に対して文章を入力する場合は、上記のような表示順の決定方法は有効である。
【０００７】
しかしながら、複数の小さな入力領域を含む画面に対して各入力領域に対する値を入力する場合、従来の表示順の決定方法では、必ずしも操作性の高い文例の一覧を提示することができなかった。
【０００８】
そこで、一側面では、複数の入力領域を有する画面に対する文字列の入力負担を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、入力支援プログラムは、読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、第二の画面が有する複数の入力領域のうちのいずれかの入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、特定された文例の一覧を入力候補として表示させる処理をコンピュータに実行させる。
【発明の効果】
【００１０】
一態様によれば、複数の入力領域を有する画面に対する文字列の入力負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における入力支援装置のハードウェア構成例を示す図である。
【図２】第一の実施の形態における入力支援装置の機能構成例を示す図である。
【図３】第一の実施の形態において入力支援部が実行する処理手順の一例を説明するためのフローチャートである。
【図４】第一の実施の形態における文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。
【図５】文例辞書の構成例を示す図である。
【図６】第一の実施の形態における文例一覧の表示例を示す図である。
【図７】選択された文例の出力例を示す図である。
【図８】文例グループバッファ更新処理の処理手順の一例を説明するためのフローチャートである。
【図９】文例グループバッファの構成例を示す図である。
【図１０】入力画面への文例の入力例に対応した文例グループバッファの記憶内容の例を示す図である。
【図１１】文例グループ登録処理の処理手順の一例を説明するためのフローチャートである。
【図１２】文例グループ情報記憶部の構成例を示す図である。
【図１３】メンバ文例表示処理の処理手順の一例を説明するためのフローチャートである。
【図１４】ウィンドウ判定処理の処理手順の一例を説明するためのフローチャートである。
【図１５】メンバ文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。
【図１６】メンバ文例一覧画面の表示例を示す図である。
【図１７】メンバ文例出力処理の処理手順の一例を説明するためのフローチャートである。
【図１８】選択されたメンバ文例の出力例を示す図である。
【図１９】メンバ文例再表示処理の処理手順の一例を説明するためのフローチャートである。
【図２０】第二の実施の形態における入力支援装置の機能構成例を示す図である。
【図２１】第二の実施の形態において入力支援部が実行する処理手順の一例を説明するためのフローチャートである。
【図２２】第二の実施の形態における文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。
【図２３】文例グループに基づくソート処理の処理手順の一例を説明するためのフローチャートである。
【図２４】第二の実施の形態における文例一覧の表示例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における入力支援装置のハードウェア構成例を示す図である。図１の入力支援装置１０は、コンピュータの一例であり、例えば、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１３】
入力支援装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１４】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って入力支援装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００１５】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１６】
図２は、第一の実施の形態における入力支援装置の機能構成例を示す図である。図２において、入力支援装置１０は、編集部１１、変換部１２、入力支援部１３、及びＯＳ１４等を有する。
【００１７】
ＯＳ１４は、一般的なＯＳ（Operating System）である。
【００１８】
編集部１１は、文字列の入力画面を表示装置１０６に表示させる。入力画面は、文字列を入力可能な一以上の入力領域を有するウィンドウをいう。本実施の形態では、各入力領域を「エディタ領域」という。例えば、編集部１１が、ウィンドウのほぼ全領域を占有するエディタ領域を含む入力画面を表示させる場合、当該編集部１１は、一般的に、ワープロソフトと呼ばれるプログラムがＣＰＵ１０４に実行させる処理によって実現される。一方、編集部１１が、複数のエディタ領域を含む入力画面を表示させる場合、当該編集部１１は、各種のアプリケーションプログラムがＣＰＵ１０４に実行させるプログラムによって実現される。当該アプリケーションプログラムは、例えば、データベースに対する情報の入力を受け付けるクライアントアプリケーションであってもよいし、Ｗｅｂブラウザであってもよい。
【００１９】
変換部１２は、入力画面に入力される文字に関して、かな漢字変換を行う。但し、日本語以外の言語用の変換部１２は、当該言語に応じた変換を行う。変換部１２は、例えば、かな漢字変換ソフトのような、ＩＭＥ（Input Method Editor）又はＦＥＰ（Front End Processor）等と呼ばれるソフトウェアがＣＰＵ１０４に実行させる処理によって実現される。
【００２０】
入力支援部１３は、入力画面への文字列の入力の支援を行う。入力支援部１３は、文字列の入力に応じ、入力候補とする文例の一覧を表示する。入力支援部１３は、当該一覧の中から選択された文例を入力画面に出力又は展開する。入力支援部１３は、入力支援装置１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。なお、本実施の形態において、文字列とは、一以上の文字の集合をいう。したがって、一つの文字についても、文字列という。また、文字の概念には、言葉を表記するための記号としての文字のみならず、一般的に、コンピュータにおいて入力可能な各種の記号も含まれる。
【００２１】
図２において、入力支援部１３は、イベント監視部１３１、文例抽出部１３２、文例検索部１３３、表示順決定部１３４、文例一覧表示部１３５、辞書更新部１３６、文例出力部１３７、文例グループ更新部１３８、メンバ文例検索部１３９、メンバ文例表示部１４０、メンバ文例出力部１４１、及びウィンドウ判定部１４２等を含む。入力支援部１３は、また、入力文字バッファ１５１、文例グループバッファ１５２、文例辞書記憶部１５３、及び文例グループ情報記憶部１５４等の記憶部を利用する。
【００２２】
文例辞書記憶部１５３は、文例辞書を記憶する。文例辞書とは、文例の読みに対応付けて文例や文例の利用回数等が記録されているデータである。本実施の形態において、文例とは、単語、又は一以上の文節等、文の構成要素となる文字列や、一以上の文の集合を含む文字列等をいう。また、帳票等、定型文書の雛型等が文例とされてもよい。何が文例として登録されるかは、ユーザの任意である。文例辞書記憶部１５３は、例えば、補助記憶装置１０２又は入力支援装置１０とネットワークを介して接続される記憶装置等を用いて実現可能である。
【００２３】
イベント監視部１３１は、入力支援装置１０において発生する入力イベントを監視し、文字の入力等を検知する。入力イベントとは、例えば、入力装置１０７対するユーザによる入力に応じて、入力装置１０７が発生させるイベントをいう。文字の入力が検知された場合、イベント監視部１３１は、入力された文字を、入力文字バッファ１５１に記憶する。入力文字バッファ１５１は、文例の検索に用いられる文字列を記憶する記憶部である。入力文字バッファ１５１は、例えば、メモリ装置１０３を用いて実現可能である。
【００２４】
文例抽出部１３２は、入力された文字列より文例を抽出する。文例の抽出には、例えば、形態素解析が用いられる。
【００２５】
文例検索部１３３は、入力画面に対する文字列の入力に応じて、当該文字列に対応する文例を文例辞書記憶部１５３より検索する。表示順決定部１３４は、文例検索部１３３によって検索された文例を入力候補として表示する際の表示順序を決定する。文例一覧表示部１３５は、表示順決定部１３４によって決定された表示順序によって、文例検索部１３３によって検索された一以上の文例の一覧を、入力候補として表示させる。文例一覧表示部１３５によって表示される文例の一覧を、以下「文例一覧」という。
【００２６】
辞書更新部１３６は、文例辞書の更新を行う。辞書更新部１３６は、例えば、文例辞書に新たな文例を登録したり、入力候補として表示された文例の中から選択された文例の利用回数を更新したりする。利用回数は、文例辞書において、文例ごとに記録されており、文例の表示順の決定に用いられる情報である。辞書更新部１３６は、また、入力候補として表示された文例の中から選択された文例のみならず、入力された文字列から文例抽出部１３２によって抽出された文例に一致する文例に関しても利用回数を更新する。
【００２７】
文例出力部１３７は、文例一覧の中から選択された文例を、入力画面に出力する。
【００２８】
文例グループ情報記憶部１５４は、文例グループを構成する文例の対応付け情報等を記憶する。本実施の形態において、文例グループとは、複数のエディタ領域を有する入力画面において、各エディタ領域に入力された文例の組み合わせをいう。文例グループ情報記憶部１５４は、例えば、補助記憶装置１０２又は入力支援装置１０とネットワークを介して接続される記憶装置等を用いて実現可能である。
【００２９】
文例グループバッファ１５２は、一つの入力画面に入力された複数の文例又は文字列を対応付けて記憶する。文例グループバッファ１５２は、入力画面ごとに生成される。例えば、３つの入力画面が表示中である場合、３つの文例グループバッファ１５２の領域が確保される。文例グループバッファ１５２は、例えば、メモリ装置１０３を用いて実現可能である。
【００３０】
文例グループ更新部１３８は、文例グループ情報記憶部１５４に対する文例グループの登録又は更新等を行う。
【００３１】
メンバ文例検索部１３９は、入力画面の少なくとも一つのエディタ領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例を含む文例グループを、文例グループ情報記憶部１５４を参照して特定する。メンバ文例検索部１３９は、特定された文例グループに含まれる文例を文例辞書記憶部１５３より取得する。文例グループに含まれる文例を、以下「メンバ文例」という。
【００３２】
メンバ文例表示部１４０は、メンバ文例検索部１３９によって取得されたメンバ文例の一覧を、表示装置１０６に表示させる。以下、当該一覧を「メンバ文例一覧」という。
【００３３】
メンバ文例出力部１４１は、メンバ文例一覧の中から選択された文例を、入力画面に出力する。ウィンドウ判定部１４２は、アクティブな入力画面が、複数のエディタ領域を有する可能性の有無を判定する。アクティブな入力画面とは、現在操作対象とされている入力画面をいう。例えば、複数の入力画面が表示されている状態において、最前面に表示されている入力画面がアクティブな入力画面となる。最前面に表示されている入力画面が複数有る場合、その中でフォーカスの有る入力画面がアクティブな入力画面となる。
【００３４】
なお、図２において、破線で囲まれた範囲は、ＯＳ１４から見た場合のプロセスの単位の一例を示す。図２では、編集部１１としてのプロセスは、複数起動されうることが示されている。例えば、入力支援装置１０を編集部１１として機能させるアプリケーションプログラムとして、アプリケーションＡとアプリケーションＢとが起動されている場合、それぞれに関して編集部１１としてのプロセスが生成される。また、図２では、変換部１２は、編集部１１のプロセス内において機能することが示されている。したがって、変換部１２は、編集部１１としてのプロセスの数だけ存在しうる。一方、入力支援部１３は、編集部１１からは独立したプロセスとして起動される。
【００３５】
以下、第一の実施の形態の入力支援装置１０が実行する処理手順について説明する。図３は、第一の実施の形態において入力支援部が実行する処理手順の一例を説明するためのフローチャートである。
【００３６】
入力支援部１３が、例えば、プロセスとして起動されると、イベント監視部１３１は、入力支援装置１０において発生し、ＯＳ１４によって検出される入力イベントの監視を開始する（Ｓ１０１）。ＯＳ１４によって何らかの入力イベントが検出されたことがイベント監視部１３１によって検知されると（Ｓ１０１でＹｅｓ）、入力支援部１３は、入力イベントに応じた処理を実行する。なお、イベント監視部１３１による入力イベントの検知は、例えば、ＯＳ１４によって提供される、イベントのフック機構を用いて実現可能である。
【００３７】
検知された入力イベントが文字入力イベントである場合（Ｓ１０２でＹｅｓ）、入力支援部１３は、文例一覧表示処理を実行する（Ｓ１０３）。なお、文字入力イベントは、文字の入力に応じて検知されるイベントをいう。
【００３８】
図４は、第一の実施の形態における文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。
【００３９】
ステップＳ２１０において、文例検索部１３３は、入力された文字列に対応する文例を文例辞書記憶部１５３に記憶されている文例辞書より検索する。
【００４０】
図５は、文例辞書の構成例を示す図である。図５において、文例辞書は、文例ごとに、文例ＩＤ、読み、及び利用回数等を含む。
【００４１】
文例ＩＤは、文例の識別情報である。読みは、文例に対する読みである。但し、厳密な意味における読みでなくてもよい。すなわち、読みは、文例の検索キーとして利用される文字列である。利用回数は、文例が利用された（入力対象として選択された）回数である。本実施の形態において、利用回数は、文例が利用された累積回数である。但し、過去の所定期間（例えば、過去数日間）において文例が利用された回数であってもよい。
【００４２】
なお、ステップＳ２１０において、入力された文字列に対応する文例とは、当該文例に対応する読みが入力された文字列に適合する文例、又は入力された文字列が未確定文字列である場合は、当該文例自体が未確定文字列に適合する文例をいう。入力された文字列に適合する読みとは、例えば、入力された文字列を先頭から含む読みをいう。入力された文字列と読みとが完全に一致する場合も含まれるし、読みの先頭の一部分が、入力された文字列に一致する場合も含まれる。また、未確定文字列に適合する文例とは、例えば、未確定文字列を先頭から含む文例をいう。未確定文字列と文例とが完全に一致する場合も含まれるし、文例の先頭の一部分が、未確定文字列に一致する場合も含まれる。未確定文字列とは、入力された文字又は文字列が、変換部１２によって変換対象とされた状態の文字又は文字列であって、かつ、入力が確定されていない文字又は文字列をいう。なお、入力された文字列と読み又は文例との比較において、ひらがな及びカタカナの相違、半角及び全角の相違、又は大文字及び小文字の相違等は、相違としては扱われなくてもよい。
【００４３】
該当する文例が検索された場合（Ｓ２２０でＹｅｓ）、表示順決定部１３４は、検索された各文例の利用回数に基づいて、当該各文例の表示順序を決定する（Ｓ２３０）。例えば、表示順決定部１３４は、利用回数の降順に、検索された文例をソートする。
【００４４】
続いて、文例一覧表示部１３５は、決定された表示順序で、検索された文例の一覧を入力候補として表示装置１０６に表示させる（Ｓ２４０）。
【００４５】
図６は、第一の実施の形態における文例一覧の表示例を示す図である。図６において、入力画面５１０は、エディタ領域ｅ１１、ｅ１２、及びｅ１３等の３つのエディタ領域を含む入力画面である。図６では、エディタ領域ｅ１１に対して、未確定文字列である「ふじ」が入力された状態が示されている。この場合、「ふじ」に対応する文例が、図５に示される文例辞書より検索され、文例一覧Ｌ１に含まれて表示される。文例一覧Ｌ１においては、文例辞書に記憶されている利用回数が最大である「富士山」が最上位に表示されている。
【００４６】
図３に戻る。検知された入力イベントが文字列確定イベントである場合（Ｓ１０４でＹｅｓ）、イベント監視部１３１は、確定された文字列を、入力文字バッファ１５１に記憶する（Ｓ１０５）。文字列確定イベントとは、未確定文字列に関して、入力の確定を示すイベントをいい、未確定文字列が表示されている状態において、例えば、リターンキーの押下に応じて検知されるイベントをいう。但し、いずれのキーの押下が文字列確定イベントとなるかは、入力支援装置１０を変換部１２として機能させるプログラムの仕様に依存する。
【００４７】
なお、文字列確定イベントは、通常、文字入力イベントに続いて検知される。例えば、未確定文字列が入力された場合、文字入力イベントが検知される。当該未確定文字列が確定された場合、文字列確定イベントが検知される。また、半角文字等、当初より確定している文字が入力された場合、文字入力イベントが検知され、引き続いて文字列確定イベントが検知される。
【００４８】
検知された入力イベントが文例選択イベントである場合（Ｓ１０６でＹｅｓ）、文例出力部１３７は、文例一覧の中から選択された文例を、入力画面において現在操作対象とされているエディタ領域に出力（又は展開）する（Ｓ１０７）。現在操作対象とされているエディタ領域とは、フォーカスの入っているエディタ領域をいう。なお、文例の出力に応じ、文例一覧は非表示となる。
【００４９】
図７は、選択された文例の出力例を示す図である。図７中、図６と同一部分には同一符号を付し、その説明は省略する。
【００５０】
図７では、図６において表示されていた文例一覧Ｌ１の中から、２番目の文例である「富士太郎」が選択された例が示されている。したがって、当該文例が、エディタ領域ｅ１１に出力されている。
【００５１】
なお、厳密には、文例出力部１３７は、選択された文例の出力の前に、変換部１２に対して未確定文字列のキャンセルを要求する。その結果、変換部１２によってエディタ領域に表示されていた未確定文字列は非表示とされる。また、未確定文字列が非表示とされることでカーソル位置は、未確定文字列が入力される前の位置に戻る。文例出力部１３７は、操作対象とされているエディタ領域ｅ１１のカーソル位置に、選択された文例を出力する。
【００５２】
続いて、イベント監視部１３１は、文例グループバッファ更新処理を実行する（Ｓ１０８）。文例グループバッファ更新処理において、文例一覧から選択された文例、すなわち、エディタ領域に出力された文例が、出力先のエディタ領域及び当該エディタ領域を含む入力画面に関連付けられて、文例グループバッファ１５２に記憶される。文例グループバッファ更新処理の詳細については後述される。
【００５３】
続いて、イベント監視部１３１は、既に一以上の文例グループが文例グループ情報記憶部１５４に記憶されているか否かを判定する（Ｓ１０９）。文例グループ情報記憶部１５４に文例グループが記憶されている場合（Ｓ１０９でＹｅｓ）、入力支援部１３は、メンバ文例表示処理を実行する（Ｓ１１０）。メンバ文例表示処理によって、例えば、エディタ領域ｅ１１に出力された文例と同一の文例グループを構成する他のメンバ文例の一覧が、入力候補として表示される。メンバ文例表示処理の詳細については後述される。
【００５４】
一方、文例グループ情報記憶部１５４に文例グループが記憶されていない場合（Ｓ１０９でＮｏ）、メンバ文例表示処理は実行されない。
【００５５】
検知された入力イベントが文字列入力完了イベントである場合（Ｓ１１１でＹｅｓ）、文例抽出部１３２は、入力文字バッファ１５１に記憶された文字列より文例を抽出する（Ｓ１１２）。文字列入力完了イベントとは、所定の単位の文字列の入力の完了を示すイベントをいう。本実施の形態において、文字列入力完了イベントは、改行コード又はタブコードの入力であるとする。すなわち、改行が行われるたび、又はタブが入力されるたびに、文字列入力完了イベントが発生する。但し、変換部１２において、改行コードが未確定文字列の確定に割り当てられている場合、改行コードを文字列入力完了イベントとしなくてもよい。この場合、タブコードのみを文字列入力完了イベントとしてもよい。
【００５６】
入力文字バッファ１５１に記憶された文字列からの文例の抽出は、例えば、形態素解析等を用いて行われる。例えば、当該文字列の先頭又は途中からの一以上の単語を含む部分文字列が一以上抽出される。また、入力文字バッファ１５１に記憶された文字列の全部も一つの文例として抽出される。したがって、入力文字バッファ１５１に記憶された文字列が２以上の単語を含む場合、通常、複数の文例が抽出される。
【００５７】
続いて、文例辞書更新部１３６は、抽出された各文例を読みに対応付けて文例辞書に登録する（Ｓ１１３）。既に同一の文例が文例辞書に登録されている場合、文例辞書更新部１３６は、当該文例の利用回数に１を加算する。新規の文例である場合、文例辞書更新部１３６は、当該文例に対して、利用回数として１を登録する。また、新規の文例に対しては、他の文例と重複しない文例ＩＤが割り当てられる。
【００５８】
例えば、文例辞書には、「富士太郎」という文例が登録されていない状態において、エディタ領域ｅ１１に対して「ふじ」という読みが入力されると、「富士太郎」を除く文例一覧が表示される。そのまま、未確定文字列の入力が継続され、変換部１２による変換の後、「富士太郎」という文字列が確定され、例えば、タブキーが押下されると、ステップＳ１１２〜Ｓ１１３が実行される。その結果、「富士太郎」という文例が、文例辞書に登録される。
【００５９】
続いて、イベント監視部１３１は、入力文字バッファ１５１を初期化する（Ｓ１１４）。その結果、入力文字バッファ１５１が空となる。続いて、入力支援部１３は、ステップＳ１０８以降を実行する。すなわち、文例グループバッファ更新処理やメンバ文例表示処理は、既存の文例が入力画面に出力されたときだけでなく、一文字ずつ入力された文字列が入力画面に入力され、当該文字列が文例として登録されたときにも実行されうる。
【００６０】
検知された入力イベントがメンバ文例選択イベントである場合（Ｓ１１５でＹｅｓ）、メンバ文例出力部１４１は、メンバ文例一覧の中から選択されたメンバ文例を、入力画面において操作対象とされているエディタ領域に出力（又は展開）する（Ｓ１１６）。続いて、入力支援部１３は、ステップＳ１０８以降を実行する。すなわち、文例グループバッファ更新処理やメンバ文例表示処理は、メンバ文例一覧の中から選択されたメンバ文例が入力画面に出力されたときにも実行されうる。
【００６１】
検知された入力イベントが、ウィンドウ切り替えイベントである場合（Ｓ１１７でＹｅｓ）、入力支援部１３は、メンバ文例再表示処理を実行する（Ｓ１１８）。ウィンドウ切り替えイベントとは、アクティブな入力画面が切り替えられた際に検知されるイベントである。メンバ文例再表示処理の詳細については後述される。
【００６２】
検知された入力イベントが、ウィンドウクローズイベントである場合（Ｓ１１９でＹｅｓ）、入力支援部１３は、文例グループ登録処理を実行する（Ｓ１２０）。文例グループ登録処理によって、クローズされた（閉じられた）入力画面の各エディタ領域に入力された文例又は文字列をメンバ文例とする文例グループが、文例グループ情報記憶部１５４に登録される。文例グループ登録処理の詳細については、後述される。
【００６３】
検知された入力イベントが終了イベントである場合（Ｓ１２１でＹｅｓ）、入力支援部１３のプロセスは終了する。終了イベントは、入力支援部１３に対する終了指示の入力に応じて検知されるイベントである。
【００６４】
入力イベントが上記以外のイベントである場合（Ｓ１２１でＮｏ）、入力支援部１３は、必要に応じて当該イベントに応じた処理を実行する（Ｓ１２２）。
【００６５】
続いて、ステップＳ１０８の詳細について説明する。図８は、文例グループバッファ更新処理の処理手順の一例を説明するためのフローチャートである。
【００６６】
ステップＳ３０１において、イベント監視部１３１は、文例又は文字列が入力された入力画面に対応する文例グループバッファ１５２の有無を判定する。文例又は文字列が入力された入力画面とは、アクティブな入力画面である。
【００６７】
アクティブな入力画面に対応する文例グループバッファ１５２が無い場合（Ｓ３０１でＮｏ）、イベント監視部１３１は、当該入力画面に対応する文例グループバッファ１５２を生成する（Ｓ３０２）。例えば、当該文例グループバッファ１５２に対するメモリ領域が確保され、当該メモリ領域のアドレスと、入力画面の識別子とが対応付けられて、メモリ装置１０３に記憶される。本実施の形態において、入力画面の識別子としては、ＯＳ１４より取得可能なウィンドウの識別子（ウィンドウＩＤ）が利用される。但し、各入力画面を識別可能な情報であれば、他の識別情報が、入力画面の識別子として利用されてもよい。
【００６８】
続いて、イベント監視部１３１は、当該入力画面に入力された文例の文例ＩＤを、当該入力画面のウィンドウＩＤと、当該文例の入力先のエディタ領域の識別子とに対応付けて、文例グループバッファ１５２に登録する。
【００６９】
図９は、文例グループバッファの構成例を示す図である。図９に示されるように、文例グループバッファ１５２は、ウィンドウＩＤ、文例ＩＤ、及びエディタＩＤを対応付けて記憶する。エディタＩＤは、エディタ領域の識別子であり、例えば、ＯＳ１４より取得可能である。
【００７０】
また、文例ではなく、文字列が入力画面に対して入力された場合、当該文字列と一致する文例の文例ＩＤが、文例グループバッファ１５２に記憶される。すなわち、入力された文字列は、文例として文例辞書に登録される。したがって、当該文字列に一致する文例の文例ＩＤは、文例辞書より取得可能である。なお、図９に示される文例グループバッファ１５２の内容は、図７における入力画面５１０に対する入力状態に対応する。
【００７１】
なお、本実施の形態では、入力画面ごとに文例グループバッファ１５２が生成されるため、必ずしも文例グループバッファ１５２内にウィンドウＩＤが記憶されなくてもよい。但し、複数の入力画面に対して一つの文例グループバッファ１５２が共用されてもよい。その場合、レコードごとに、ウィンドウＩＤが記憶されるとよい。
【００７２】
一方、アクティブな入力画面のウィンドウＩＤに対応付けられている文例グループバッファ１５２が既に有る場合（Ｓ３０１でＹｅｓ）、イベント監視部１３１は、アクティブな入力画面において最後に文例又は文字列が入力されたエディタ領域に対応するレコードを当該文例グループバッファ１５２から検索する（Ｓ３０５）。すなわち、当該入力画面の文例グループバッファ１５２において、当該エディタ領域のエディタＩＤを含むレコードの検索が行われる。
【００７３】
該当するレコードが検索された場合（Ｓ３０６でＹｅｓ）、イベント監視部１３１は、当該レコードに対し、入力された文例又は文字列に対する文例Ｄを上書きする（Ｓ３０７）。例えば、既に文字列が入力されているエディタ領域に対して、文例又は文字列が再入力された場合、ステップＳ３０７が実行される。
【００７４】
一方、該当するレコードが検索されない場合（Ｓ３０６でＮｏ）、ステップＳ３０４が実行される。
【００７５】
このように、入力画面のいずれかのエディタ領域に文例又は文字列が入力されるたびに、当該入力画面に対応する文例グループバッファ１５２には、当該文例又は文字列に対応する文例ＩＤが記憶される。したがって、例えば、図７の入力画面５１０の全てのエディタ領域に文例又は文字列が入力された場合、入力画面５１０に対応する文例グループバッファ１５２の記憶内容は、図１０に示されるようになる。
【００７６】
図１０は、入力画面への文例の入力例に対応した文例グループバッファの記憶内容の例を示す図である。
【００７７】
図１０に示される入力画面５１０には、エディタ領域ｅ１１、ｅ１２、ｅ１３の順に、文例ＩＤが「１」、「２」、「５」である文例が入力された例が示されている。その結果、文例グループバッファ１５２には、これら各文例ＩＤに対応付けて、入力画面５１０のウィンドウＩＤと、各エディタ領域のエディタＩＤが記憶されている。
【００７８】
なお、エディタ領域ｅ１１、ｅ１２、及びｅ１３に対する入力は、文例一覧からの文例の選択によって行われてもよいし、文例の選択を介さずに、全ての文字が打ち込まれることにより行われてもよい。
【００７９】
続いて、図３のステップＳ１２０の詳細について説明する。図１１は、文例グループ登録処理の処理手順の一例を説明するためのフローチャートである。
【００８０】
ステップＳ３１１において、文例グループ更新部１３８は、クローズした入力画面のウィンドウＩＤに対応付けられている文例グループバッファ１５２内の文例ＩＤ群を取得する。例えば、図１０に示される文例グループバッファ１５２からは、「１」、「２」、及び「５」が取得される。続いて、文例グループ更新部１３８は、取得された文例ＩＤ群を構成する文例ＩＤの組み合わせと完全に一致する文例ＩＤの組み合わせを有する文例グループを文例グループ情報記憶部１５４より検索する（Ｓ３１２）。
【００８１】
該当する文例グループが無い場合（Ｓ３１３でＮｏ）、文例グループ更新部１３８は、文例グループバッファ１５２から取得された文例ＩＤの組み合わせを、新たな文例グループとして文例グループ情報記憶部１５４に登録する（Ｓ３１４）。
【００８２】
図１２は、文例グループ情報記憶部の構成例を示す図である。図１２において、文例グループ情報記憶部１５４は、いずれかの文例グループに属する文例（メンバ文例）ごとに、文例グループＩＤ、文例ＩＤ、及び入力回数を記憶する。
【００８３】
文例グループＩＤは、各文例グループを識別する識別情報である。文例グループＩＤは、ステップＳ３１４において新たな文例グループが登録される際に、文例グループ更新部１３８によって割り当てられる。したがって、同一の文例グループに属するメンバ文例の文例グループＩＤは、共通する。
【００８４】
文例ＩＤは、メンバ文例の文例ＩＤである。入力回数は、文例グループＩＤに係る文例グループが入力された回数である。すなわち、当該文例グループに属する全てのメンバ文例が、一つの入力画面において過不足無く入力された回数である。新規の文例グループが登録された際の入力回数の値は「１」である。
【００８５】
なお、ステップＳ３１２では、ステップＳ３１１において取得された各文例ＩＤとのみ対応付いている同一の文例グループＩＤが文例グループ情報記憶部１５４より検索される。
【００８６】
一方、文例グループバッファ１５２から取得された文例ＩＤの組み合わせと完全に一致する組み合わせを有する文例グループが検索された場合（Ｓ３１３でＹｅｓ）、文例グループ更新部１３８は、当該文例グループに対する入力回数に１を加算する（Ｓ３１５）。すなわち、当該文例グループに属するメンバ文例ごとに文例グループ情報記憶部１５４が記憶する入力回数に１が加算される。
【００８７】
ステップＳ３１４又はＳ３１５に続いて、文例グループ更新部１３８は、クローズした入力画面に対応する文例グループバッファ１５２を削除又は破棄する（Ｓ３１６）。
【００８８】
以上より明らかなように、文例グループは、複数のエディタ領域を有する入力画面において同時に入力された文例の組み合わせである。換言すれば、同一の文例グループに属する各メンバ文例は、同一の入力画面における各エディタ領域に入力された実績が有ったという関係を有する。
【００８９】
少なくとも一つの文例グループが文例グループ情報記憶部１５４に登録されると、図３のステップＳ１１０が実行されるようになる。続いて、ステップＳ１１０の詳細について説明する。
【００９０】
図１３は、メンバ文例表示処理の処理手順の一例を説明するためのフローチャートである。
【００９１】
ステップＳ３２１において、ウィンドウ判定部１４２は、ウィンドウ判定処理を実行する。ウィンドウ判定処理において、アクティブな入力画面が複数のエディタ領域を有する可能性の有無が判定される。
【００９２】
アクティブな入力画面は複数のエディタ領域を有すると判定された場合（Ｓ３２２でＹｅｓ）、入力支援部１３は、メンバ文例一覧表示処理を実行する（Ｓ３２３）。一方、アクティブな入力画面は複数のエディタ領域を有するか不明であると判定された場合（Ｓ３２２でＮｏ）、メンバ文例一覧表示処理は実行されない。不明であるとは、確定できないことをいう。
【００９３】
続いて、ステップＳ３２１の詳細について説明する。図１４は、ウィンドウ判定処理の処理手順の一例を説明するためのフローチャートである。
【００９４】
ステップＳ３３１において、ウィンドウ判定部１４２は、アクティブな入力画面のウィンドウＩＤに対応付いている文例グループバッファ１５２に記憶されている全てのエディタＩＤを取得する。続いて、ウィンドウ判定部１４２は、取得されたエディタＩＤの中に、現在操作対象とされているエディタ領域のエディタＩＤと相違するエディタＩＤが１以上含まれているか否かを判定する（Ｓ３３２）。例えば、入力画面５１０が、図７に示される状態において、エディタ領域ｅ１１にフォーカスが移っている場合、ステップＳ３３２では、現在操作対象とされているエディタ領域は、エディタ領域ｅ１２である。一方、この時点において、文例グループバッファ１５２には、図９に示される通り、エディタ領域ｅ１１のエディタＩＤが記憶されている。したがって、この場合、当該文例グループバッファ１５２から取得されたエディタＩＤには、現在操作対象とされているエディタ領域のエディタＩＤと相違するエディタＩＤが１以上含まれている。
【００９５】
取得されたエディタＩＤの中に、現在操作対象とされているエディタ領域のエディタＩＤと相違するエディタＩＤが１以上含まれている場合（Ｓ３３２でＹｅｓ）、ウィンドウ判定部１４２は、アクティブな入力画面は複数のエディタ領域を有すると判定する（Ｓ３３３）。
【００９６】
一方、取得されたエディタＩＤの中に、現在操作対象とされているエディタ領域のエディタＩＤと相違するエディタＩＤが含まれていない場合（Ｓ３３２でＮｏ）、ウィンドウ判定部１４２は、アクティブな入力画面は、複数のエディタ領域を有するかは不明である（確定でない）と判定する（Ｓ３３３）。
【００９７】
なお、第一の実施の形態において、ウィンドウ判定処理は、主に、ワープロソフトやメーラー等が表示させる入力画面のように、一つのエディタ領域に対して長文を入力させる入力画面を、メンバ文例一覧の表示対象から除外するために実行される判定処理である。したがって、同様の目的を達成可能な処理であれば、他の方法によってウィンドウ判定処理が代替されてもよい。例えば、入力画面のウィンドウタイトル名を取得し、当該ウィンドウタイトル名に、所定のアプリケーション名が含まれているか否かに基づいて、当該入力画面が複数のエディタ領域を有するか否かが判定されてもよい。
【００９８】
続いて、図１３のステップＳ３２３の詳細について説明する。図１５は、メンバ文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。
【００９９】
ステップＳ３４１において、メンバ文例表示部１４０は、メンバ文例一覧を表示させる画面（以下、「メンバ文例一覧画面」という。）は、既に表示中であるか否かを判定する。メンバ文例一覧画面が表示中でない場合（Ｓ３４１でＮｏ）、メンバ文例表示部１４０は、メンバ文例一覧画面のウィンドウを生成する（Ｓ３４２）。この時点では、未だメンバ文例一覧画面にはメンバ文例一覧は設定されていない。
【０１００】
ステップＳ３４１でＹｅｓの場合、又はステップＳ３４２に続いて、メンバ文例表示部１４０は、メンバ文例一覧画面を初期化する（Ｓ３４３）。例えば、メンバ文例一覧画面が表示中であった場合、それまでの表示内容が消去される。
【０１０１】
続いて、メンバ文例検索部１３９は、アクティブな入力画面のウィンドウＩＤに対応付いている文例グループバッファ１５２に記憶されている文例ＩＤを取得する（Ｓ３４４）。続いて、メンバ文例検索部１３９は、取得された全ての文例ＩＤをメンバ文例の文例ＩＤとして含み、かつ、入力回数が閾値以上である文例グループＩＤを、文例グループ情報記憶部１５４より検索する（Ｓ３４５）。ここで検索される文例グループＩＤは、取得された文例ＩＤ以外の文例ＩＤを含む文例グループの文例グループＩＤであってもよい。また、複数の文例グループが該当する場合、複数の文例グループＩＤが検索されてよい。また、閾値による絞り込みは、必ずしも行われなくてもよい。但し、閾値による絞り込みが行われることで、複数のエディタ領域を有する一つの入力画面に同時に入力される可能性の高い文例が構成する文例グループの文例グループＩＤを検索することができる。
【０１０２】
該当する文例グループＩＤが検索された場合（Ｓ３４６でＹｅｓ）、メンバ文例検索部１３９は、検索された文例グループＩＤに係る文例グループに属する全てのメンバ文例の文例ＩＤごとに、文例グループの入力回数の合計値を算出する（Ｓ３４７）。例えば、同一の文例ＩＤが、複数の文例グループに属している場合もある。その場合、当該文例ＩＤが属する複数の文例グループにおける入力回数の合計値が算出される。
【０１０３】
続いて、メンバ文例検索部１３９は、入力回数の合計値の降順にメンバ文例の文例ＩＤをソートする（Ｓ３４８）。続いて、メンバ文例検索部１３９は、当該各文例ＩＤに対応する文例を、文例辞書より取得する（Ｓ３４９）。すなわち、アクティブな入力画面に入力されているメンバ文例を含むいずれかの文例グループに属するメンバ文例が取得される。
【０１０４】
なお、ステップＳ３４７〜Ｓ３４９において、アクティブな入力画面に対応する文例グループバッファ１５２に記憶されている文例ＩＤは、処理対象から除かれる。換言すれば、本実施の形態において、当該文例ＩＤに係る文例は、メンバ文例一覧画面への表示対象から除外される。複数のエディタ領域を有する一つの入力画面内で、同じ文例が異なる入力領域に２度以上入力される可能性は低いと考えられるからである。但し、当該文例ＩＤに係る文例が、メンバ文例一覧画面に表示されるようにしてもよい。
【０１０５】
続いて、メンバ文例表示部１４０は、取得されたメンバ文例の一覧を、ステップＳ３４８における文例ＩＤのソート順にメンバ文例一覧画面に設定する（Ｓ３５０）。続いて、メンバ文例表示部１４０は、アクティブな入力画面のウィンドウＩＤを、当該メンバ文例一覧画面の表示対象の入力画面の識別情報として、例えば、メモリ装置１０３に記憶する（Ｓ３５１）。続いて、メンバ文例表示部１４０は、メンバ文例一覧画面を表示装置１０６に表示又は再表示させる（Ｓ３５２）。
【０１０６】
図１６は、メンバ文例一覧画面の表示例を示す図である。図１６において、入力画面５２０は、エディタ領域ｅ２１、ｅ２２、及びｅ２３等の３つのエディタ領域を含む入力画面である。図１６では、エディタ領域ｅ２１に対して、文例ＩＤが「５」である文例が入力された状態が示されている。ステップＳ１０７又はステップＳ１１１において、当該文例又は当該文例に一致する文字列がエディタ領域ｅ２１に入力されることにより、図３のステップＳ１０８〜Ｓ１１０が実行される。すなわち、図１３、図１４、及び図１５において説明した処理が実行される。その結果、図１２に示される文例グループ情報記憶部１５４及び図５に示される文例辞書に基づいて、図１６に示されるメンバ文例一覧画面Ｌ２が表示される。具体的には、図１２における文例グループＩＤが「ＧＲＰ００１」の文例グループに属する文例のうち、エディタ領域ｅ２１に入力された文例ＩＤが「５」の文例を除く文例が、入力候補として文例一覧画面Ｌ２に表示される。
【０１０７】
なお、図１６に示される入力画面５２０は、図６又は図７等に示される入力画面５１０とは異なる入力画面である。但し、入力支援部１３は、入力画面５１０に対する文例又は文字列の入力に基づいて学習した内容を、入力画面５２０にも適用させる。文例グループは、必ずしも、入力画面の異同を区別するためのものではなく、複数のエディタ領域を有する一つの入力画面において同時に入力される可能性の高い文例同の組み合わせを判断するためのものだからである。
【０１０８】
続いて、図３のステップＳ１１６の詳細について説明する。すなわち、例えば、図１６のメンバ文例一覧画面Ｌ２において、いずれかのメンバ文例の選択に応じて実行される処理について説明する。
【０１０９】
図１７は、メンバ文例出力処理の処理手順の一例を説明するためのフローチャートである。
【０１１０】
メンバ文例一覧画面におけるいずれかのメンバ文例の選択に応じ、メンバ文例出力部１４１は、当該メンバ文例一覧画面に対応付けられてメモリ装置１０３に記憶されているウィンドウＩＤを取得する（Ｓ３６１）。続いて、メンバ文例出力部１４１は、取得されたウィンドウＩＤに係る入力画面において、現在フォーカスが有るエディタ領域のエディタＩＤを、例えば、ＯＳ１４より取得する（Ｓ３６２）。続いて、メンバ文例出力部１４１は、当該エディタＩＤに係るエディタ領域に対し、選択されたメンバ文例を出力する（Ｓ３６３）。
【０１１１】
図１８は、選択されたメンバ文例の出力例を示す図である。図１８中、図１６と同一部分には同一符号を付し、その説明は省略する。
【０１１２】
図１８では、エディタ領域ｅ２２にフォーカスが有る状態で、図１６に示されるメンバ文例一覧画面Ｌ２においてメンバ文例「富士太郎」が選択された後の入力画面５２０及び文例一覧画面Ｌ２の表示状態が示されている。
【０１１３】
エディタ領域ｅ２２には、選択されたメンバ文例「富士太郎」が出力されている。また、メンバ文例一覧画面Ｌ２からは、選択されたメンバ文例「富士太郎」が除去されている。選択されたメンバ文例が除去されるのは、図３のステップＳ１１６の後に、ステップＳ１０８及びステップＳ１１０が実行されるからである。すなわち、メンバ文例の選択に応じて、再度、当該メンバ文例が文例グループバッファ１５２に記憶され、改めてメンバ文例表示処理が実行されるからである。改めて実行されるメンバ文例表示処理では、エディタ領域ｅ２１及びｅ２２に入力された文例は、メンバ文例一覧画面Ｌ２の表示対象から除去されるからである。
【０１１４】
また、改めて実行されるメンバ文例表示処理では、エディタ領域ｅ２１及びｅ２２に入力された文例は、図１５のステップＳ３４６において検索される文例グループに対する絞り込み条件とされる。すなわち、文例が入力されたエディタ領域が増えれば増えるほど、メンバ文例一覧画面において表示対象とされるメンバ文例は、これまでに入力された文例に対してより関連性の強いものに絞り込まれる。
【０１１５】
なお、メンバ文例一覧Ｌ２においてメンバ文例が選択されても、表示対象のメンバ文例が有る限り、メンバ文例一覧Ｌ２は表示されたままとなる。図１８の例では、メンバ文例「フジタロウ」が表示対象として残っているため、メンバ文例一覧Ｌ２は、表示されたままとなっている。
【０１１６】
ここで、フォーカスがエディタ領域ｅ２３に移動され、「フジタロウ」が選択されると、再び、図３のステップＳ１１６が実行される。その後、入力画面５２０がクローズされると、図３のステップＳ１２０が実行される。その結果、図１２に示される文例グループの各メンバ文例の入力回数に１が加算される。
【０１１７】
一方、エディタ領域ｅ２３に、文字列の入力が開始されると、メンバ文例一覧Ｌ２は非表示とされる。この場合、入力された文字に基づいて、図３のステップＳ１０３において文例一覧が表示される。文例一覧において「フジタロウ」とは別の文例が選択され、当該文例がエディタ領域ｅ２３に出力された後、入力画面５２０がクローズされたとする。この場合、エディタ領域ｅ２１、ｅ２３、及びｅ２３に入力された文例を組み合わせとする新たな文例グループが、文例グループ情報記憶部１５４に登録される。すなわち、一部のメンバ文例の相違は、文例グループの相違として扱われる。
【０１１８】
続いて、図３のステップＳ１１８の詳細について説明する。図１９は、メンバ文例再表示処理の処理手順の一例を説明するためのフローチャートである。
【０１１９】
アクティブな入力画面が切り替えられると、ウィンドウ判定部１４２は、新たにアクティブとなった入力画面に関して、ウィンドウ判定処理を実行する（Ｓ３７１）。なお、アクティブなウィンドウの切り替えは、これまで最前面であった入力画面が表示されたまま最前面でなくなった場合のみならず、当該入力画面がクローズしたときにも発生する。したがって、図１９の処理は、図３のステップＳ１２０に続けて実行される場合もある。
【０１２０】
アクティブな入力画面は複数のエディタ領域を有すると判定された場合（Ｓ３７２でＹｅｓ）、入力支援部１３は、図１５において説明したメンバ文例一覧表示処理を実行する（Ｓ３７３）。この際、新たにアクティブとなった入力画面のウィンドウＩＤに対応付いている文例グループバッファ１５２に記憶されている文例ＩＤが、文例グループの絞り込み条件として用いられ、メンバ文例一覧画面が表示される。すなわち、新たにアクティブとなった入力画面に対する入力状態に対応した文例グループに属するメンバ文例の一覧が表示される。
【０１２１】
したがって、ユーザが、或る入力画面の一部のエディタ領域に文例等を入力した後、他の入力画面において作業を行い、再び元の入力画面で作業を開始する際に、即時的に、現在の入力状態に対応したメンバ文例一覧画面が表示される。その結果、入力画面に対する入力作業を効率化することができる。
【０１２２】
一方、アクティブな入力画面は複数のエディタ領域を有するか不明であると判定された場合（Ｓ３７２でＮｏ）、メンバ文例一覧表示処理は実行されない。
【０１２３】
上述したように、第一の実施の形態によれば、複数のエディタ領域を有する入力画面に対する各エディタ領域に入力された文例は、文例グループのメンバ文例として関連付けられて記憶される。その後、複数のエディタ領域を有する入力画面において、いずれかのエディタ領域に、いずれかの文例グループに属するメンバ文例が入力されると、当該文例グループに属する他のメンバ文例の一覧が入力候補として表示される。ユーザは、当該入力候補の中から所望の文例を選択することで、エディタ領域への文字列の入力を行うことができる。ここで、入力フォームのように、複数のエディタ領域を有する入力画面には、氏名、住所、及び氏名の読み等、同じ文字列が入力されるエディタ領域の組み合わせが含まれる場合が多い。したがって、メンバ文例一覧画面には、ユーザが次以降に入力しようとしている文例が含まれている可能性が高い。したがって、複数の入力領域を有する画面に対する文字列の入力負担を軽減することができる。
【０１２４】
なお、本実施の形態では、文例グループとは関係無く表示される文例の一覧画面を「文例一覧」といい、メンバ文例の一覧画面を「メンバ文例一覧画面」と記した。後者にのみ「画面」という用語が付与されているのは、両者の混同を少しでも緩和するためであり、例えば、両者を異なるウィンドウによって作成しなければならないといった、特段の制約を意味するものではない。
【０１２５】
次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。
【０１２６】
図２０は、第二の実施の形態における入力支援装置の機能構成例を示す図である。図２０中、図２と同一部分には同一符号を付し、その説明は省略する。
【０１２７】
図２０に示されるように、第二の実施の形態において、入力支援部１３は、メンバ文例表示部１４０及びメンバ文例出力部１４１を有さない。後述より明らかなように、第二の実施の形態では、メンバ文例一覧画面は表示されないからである。
【０１２８】
以下、第二の実施の形態の入力支援装置１０が実行する処理手順について説明する。図２１は、第二の実施の形態において入力支援部が実行する処理手順の一例を説明するためのフローチャートである。図２１中、図３と同一ステップには同一ステップ番号を付し、その説明は省略する。
【０１２９】
図２１に示されるように、第二の実施の形態では、図３におけるステップＳ１０９及びＳ１１０、並びにステップＳ１１５〜Ｓ１１８は実行されない。すなわち、メンバ文例一覧画面に関係する処理は実行されない。
【０１３０】
一方、図３におけるステップＳ１０３は、図２１においてステップＳ１０３ａに置き換わっている。すなわち、第二の実施の形態では、文例一覧表示処理が、第一の実施の形態と異なる。
【０１３１】
図２２は、第二の実施の形態における文例一覧表示処理の処理手順の一例を説明するためのフローチャートである。図２２中、図４と同一ステップには同一ステップ番号を付し、その説明は省略する。
【０１３２】
図２２では、ステップＳ２３０及びＳ２４０の間に、ステップＳ２３５が追加されている。ステップＳ２３５において、入力支援部１３は、文例辞書に記憶されている利用回数に基づいてソートされた文例に関して、文例グループに基づくソート処理を実行する。すなわち、第二の実施の形態において、文例グループは、文例一覧に表示される文例のソート（整列）に利用される。
【０１３３】
続いて、ステップＳ２３５の詳細について説明する。図２３は、文例グループに基づくソート処理の処理手順の一例を説明するためのフローチャートである。
【０１３４】
ステップＳ４０１において、ウィンドウ判定部１４２は、アクティブな入力画面に関して、ウィンドウ判定処理を実行する。ウィンドウ判定処理については、図１４において説明した通りである。
【０１３５】
アクティブな入力画面は複数のエディタ領域を有すると判定された場合（Ｓ４０２でＹｅｓ）、ステップＳ４０３〜Ｓ４０６において、図１５のステップＳ３４４〜Ｓ３４８と同様の処理が実行される。すなわち、アクティブな入力画面に対応する文例グループバッファ１５２に記憶されている文例ＩＤ群を含む文例グループに属するメンバ文例ごとに、入力回数の合計値が算出される。
【０１３６】
ステップＳ４０６に続いて、表示順決定部１３４は、図２２のステップＳ２３０においてソートされた各文例のうち、ステップＳ４０６において合計値が算出された文例に対して、当該合計値を付与する（Ｓ４０７）。合計値が算出されていない文例に対しては、０が付与される。
【０１３７】
続いて、表示順決定部１３４は、付与された合計値に基づいて、ソート結果を入れ替える（Ｓ４０８）。すなわち、付与された合計値の降順で、文例のソートが行われる。合計値が同じ文例間では、既に行われたソート順が採用される。したがって、ステップＳ４０４において検索されたいずれかの文例グループに属するメンバ文例が上位となる。
【０１３８】
図２２のステップＳ２４０では、このようにソートされた結果で、文例一覧が表示される。
【０１３９】
図２４は、第二の実施の形態における文例一覧の表示例を示す図である。図２４中、図１６と同一部分には同一符号を付し、その説明は省略する。ここでは、文例辞書は図５に示される通りであり、文例グループ情報記憶部１５４の記憶内容は、図１２に示される通りであるとする。
【０１４０】
図２４では、エディタ領域ｅ２１に文例ＩＤが「５」である文例、又は当該文例と一致する文字列が入力された後、エディタ領域ｅ２２に対して、未確定文字列である「ふじ」が入力された状態が示されている。この場合、「ふじ」に対応する文例が、図５に示される文例辞書より検索され、検索された文例が、文例一覧Ｌ３に含まれて表示される。但し、第二の実施の形態では、エディタ領域ｅ２１に入力された文例と同じ文例グループに属する「富士太郎」及び「フジタロウ」が上位になるようにソートされる点が、図６における文例一覧Ｌ１と異なる。その結果、入力画面５２０において入力される可能性が高い文例が、上位に表示され、文例一覧Ｌ３の操作性が向上している。操作性の向上の一例として、所望の文例を視認し易くなっていることや、タブキー又は矢印キーで選択する文例を移動する際に、キー操作の回数が削減されること等が挙げられる。
【０１４１】
なお、仮に、エディタ領域ｅ２１及びｅ２３に対して住所又はカナが入力されていない状態で、エディタｅ２２領域において「ふじ」という文字列が入力された場合、第二の実施の形態においても、図６と同様の文例一覧Ｌ１が表示される。
【０１４２】
上述したように、第二の実施の形態においても、複数の入力領域を有する画面に対する文字列の入力負担を軽減することができる。
【０１４３】
なお、上記各実施の形態では、入力画面５１０に対する入力に基づいて登録された文例グループが、入力画面５２０に対する入力時に利用される例を説明した。但し、入力画面５１０が改めて表示された際においても、当該文例グループは、有効である。
【０１４４】
なお、本実施の形態において、文例辞書記憶部１５３は、文例記憶部の一例である。文例グループ情報記憶部１５４は、組み合わせ情報記憶部の一例である。メンバ文例検索部
１３９は、特定部の一例である。メンバ文例表示部１４０又は文例一覧表示部１３５は、表示部の一例である。文例検索部１３３は、取得部の一例である。
【０１４５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１４６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
第二の画面が有する複数の入力領域のうちのいずれかの入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
特定された文例の一覧を入力候補として表示させる処理をコンピュータに実行させる入力支援プログラム。
（付記２）
前記特定する処理は、前記第二の画面の複数の入力領域に入力された全ての文例又は全ての文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記１記載の入力支援プログラム。
（付記３）
前記特定する処理は、複数の入力画面が表示されている状態において、操作対象の入力画面が切り替えられた場合に、切り替え先の入力画面が有する複数の入力領域のうちのいずれかの入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記１又は２記載の入力支援プログラム。
（付記４）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得し、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
前記取得された文例の表示順を、当該文例が前記特定されたいずれかの文例であるか否かに基づいて決定し、
前記取得された文例を、決定された表示順によって入力候補として表示させる処理をコンピュータに実行させる入力支援プログラム。
（付記５）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
第二の画面が有する複数の入力領域のうちのいずれかの入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
特定された文例の一覧を入力候補として表示させる処理をコンピュータが実行する入力支援方法。
（付記６）
前記特定する処理は、前記第二の画面の複数の入力領域に入力された全ての文例又は全ての文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記５記載の入力支援方法。
（付記７）
前記特定する処理は、複数の入力画面が表示されている状態において、操作対象の入力画面が切り替えられた場合に、切り替え先の入力画面が有する複数の入力領域のうちのいずれかの入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記５又は６記載の入力支援方法。
（付記８）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を組み合わせ情報記憶部に記憶し、
第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得し、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定し、
前記取得された文例の表示順を、当該文例が前記特定されたいずれかの文例であるか否かに基づいて決定し、
前記取得された文例を、決定された表示順によって入力候補として表示させる処理をコンピュータが実行する入力支援方法。
（付記９）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を記憶する組み合わせ情報記憶部と、
第二の画面が有する複数の入力領域のうちのいずれかの入力領域に対する文例又は文字列の入力に応じ、当該文例又は当該文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する特定部と、
特定された文例の一覧を入力候補として表示させる表示部とを有する入力支援装置。
（付記１０）
前記特定部は、前記第二の画面の複数の入力領域に入力された全ての文例又は全ての文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記９記載の入力支援装置。
（付記１１）
前記特定部は、複数の入力画面が表示されている状態において、操作対象の入力画面が切り替えられた場合に、切り替え先の入力画面が有する複数の入力領域のうちのいずれかの入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する付記９又は１０記載の入力支援装置。
（付記１２）
読みに対応付けて文例記憶部が記憶する文例の中で、第一の画面における複数の入力領域のそれぞれに対して入力された文例又は前記入力領域のそれぞれに対して入力された文字列に一致する文例の組み合わせを示す情報を記憶する組み合わせ情報記憶部と、
第二の画面が有する複数の入力領域のうちの第一の入力領域に対する文字列の入力に応じ、当該文字列に対応する文例を前記文例記憶部より取得する取得部と、
前記第二の画面が有する第二の入力領域に対して入力されている文例又は文字列に一致する文例、を含む前記組み合わせに属する文例を前記組み合わせ情報記憶部に基づいて特定する特定部と、
前記取得部によって取得された文例の表示順を、当該文例が前記特定部によって特定されたいずれかの文例であるか否かに基づいて決定する表示順決定部と、
前記取得によって取得された文例を、決定された表示順によって入力候補として表示させる表示部とを有する入力支援装置。
【符号の説明】
【０１４７】
１０          入力支援装置
１１          編集部
１２          変換部
１３          入力支援部
１４          ＯＳ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１３１        イベント監視部
１３２        文例抽出部
１３３        文例検索部
１３４        表示順決定部
１３５        文例一覧表示部
１３６        辞書更新部
１３７        文例出力部
１３８        文例グループ更新部
１３９        メンバ文例検索部
１４０        メンバ文例表示部
１４１        メンバ文例出力部
１４２        ウィンドウ判定部
１５１        入力文字バッファ
１５２        文例グループバッファ
１５３        文例辞書記憶部
１５４        文例グループ情報記憶部
Ｂ            バス
【図１】
0005949034.tif 000002
【図２】
0005949034.tif 000003
【図３】
0005949034.tif 000004
【図４】
0005949034.tif 000005
【図５】
0005949034.tif 000006
【図６】
0005949034.tif 000007
【図７】
0005949034.tif 000008
【図８】
0005949034.tif 000009
【図９】
0005949034.tif 000010
【図１０】
0005949034.tif 000011
【図１１】
0005949034.tif 000012
【図１２】
0005949034.tif 000013
【図１３】
0005949034.tif 000014
【図１４】
0005949034.tif 000015
【図１５】
0005949034.tif 000016
【図１６】
0005949034.tif 000017
【図１７】
0005949034.tif 000018
【図１８】
0005949034.tif 000019
【図１９】
0005949034.tif 000020
【図２０】
0005949034.tif 000021
【図２１】
0005949034.tif 000022
【図２２】
0005949034.tif 000023
【図２３】
0005949034.tif 000024
【図２４】
0005949034.tif 000025