(57)【特許請求の範囲】
【請求項１】
入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付部と、
アルファベットで表記される単語及びフレーズの少なくとも一方である第１の言語の語句と、該第１の言語の語句に対応する単語及びフレーズの少なくとも一方である第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索部と、
少なくとも前記第２の処理の結果を入力候補として出力する出力部と
を備える入力支援装置。
【請求項２】
前記入力文字列が複数の単語を含み、
前記検索部が、前記複数の単語のそれぞれについて前記第１の処理及び前記第２の処理を実行し、
前記出力部が、前記複数の単語のすべてにおいて検索された共通のフレーズである前記第１の言語の語句を前記入力候補として出力する、
請求項１に記載の入力支援装置。
【請求項３】
ユーザにより選択された前記共通のフレーズである第１の言語の語句が前記入力文字列の全体と置換されることで、該選択された語句の入力が確定する、
請求項２に記載の入力支援装置。
【請求項４】
前記入力文字列が複数の単語を含み、
前記出力部が、前記複数の単語のうち一部の単語において検索された前記第１の言語の語句を前記入力候補として出力する、
請求項１〜３のいずれか一項に記載の入力支援装置。
【請求項５】
前記一部の単語が、前記入力文字列において最後に位置する単語である、
請求項４に記載の入力支援装置。
【請求項６】
ユーザにより選択された前記第１の言語の語句が、前記複数の単語のうち該選択された語句の検索条件として用いられた単語のみと置換されることで、該選択された語句の入力が確定する、
請求項４又は５に記載の入力支援装置。
【請求項７】
前記入力候補が、未確定部分を示す情報が付加された前記第１の言語の語句を含み、
前記未確定部分を有する語句の入力が確定した場合に、該未確定部分にフォーカスが設定される、
請求項１〜６のいずれか一項に記載の入力支援装置。
【請求項８】
前記入力候補が、未確定部分を示す情報が付加された前記第１の言語の語句を含み、
前記未確定部分を有する語句の入力が確定した場合に、該未確定部分に挿入され得る語句を取得し、取得した語句を更なる入力候補として出力する追加処理部を更に備える、
請求項１〜７のいずれか一項に記載の入力支援装置。
【請求項９】
前記追加処理部が、語句の未確定部分と該未確定部分に挿入可能な語句との対応が記憶された所定の記憶部を参照することで、前記未確定部分に挿入され得る語句を取得する、
請求項８に記載の入力支援装置。
【請求項１０】
前記追加処理部が、前記第１の言語及び前記第２の言語のうち少なくとも一方の言語のコーパスが記憶された所定の記憶部を参照することで、前記未確定部分に挿入され得る語句を取得する、
請求項８又は９に記載の入力支援装置。
【請求項１１】
前記更なる入力候補が前記コーパス内での出現回数に従った順番で表示される、
請求項１０に記載の入力支援装置。
【請求項１２】
前記追加処理部が、前記入力文字列より前に位置する確定済の文字列を解析することで、前記未確定部分に挿入され得る語句を推定する、
請求項８〜１１のいずれか一項に記載の入力支援装置。
【請求項１３】
前記更なる入力候補において、前記確定済の文字列の解析により推定された語句が、該解析により推定されなかった語句よりも優先して表示される、
請求項１２に記載の入力支援装置。
【請求項１４】
前記入力候補に含まれる前記第１の言語の語句に前記未確定部分が複数存在する場合に、前記追加処理部が、各未確定部分について前記更なる入力候補を取得すると共に、第１の未確定部分に挿入され得る語句と第２の未確定部分に挿入され得る語句との自然な組合せを示す組合せ情報を取得し、該組合せ情報を各未確定部分の更なる入力候補と共に出力し、
前記第１及び第２の未確定部分のうちの一方の未確定部分におけるユーザ操作に応じて、他方の未確定部分に挿入され得る語句が前記組合せ情報に基づいて提示される、
請求項８〜１３のいずれか一項に記載の入力支援装置。
【請求項１５】
前記入力候補が単語の列とフレーズの列とに分かれて表示される、
請求項１〜１４のいずれか一項に記載の入力支援装置。
【請求項１６】
前記フレーズが語義に従って更に複数の列に分かれて表示される、
請求項１５に記載の入力支援装置。
【請求項１７】
前記入力候補が語義に従って複数の列に分かれて表示される、
請求項１〜１４のいずれか一項に記載の入力支援装置。
【請求項１８】
各列が独立してスクロールするように前記入力候補が表示される、
請求項１５〜１７のいずれか一項に記載の入力支援装置。
【請求項１９】
入力支援装置により実行される入力支援方法であって、
入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付ステップと、
アルファベットで表記される単語及びフレーズの少なくとも一方である第１の言語の語句と、該第１の言語の語句に対応する単語及びフレーズの少なくとも一方である第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索ステップと、
少なくとも前記第２の処理の結果を入力候補として出力する出力ステップと
を含む入力支援方法。
【請求項２０】
入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付部と、
アルファベットで表記される単語及びフレーズの少なくとも一方である第１の言語の語句と、該第１の言語の語句に対応する単語及びフレーズの少なくとも一方である第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索部と、
少なくとも前記第２の処理の結果を入力候補として出力する出力部と
してコンピュータを機能させるための入力支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、入力支援装置、入力支援方法、及び入力支援プログラムに関する。
【背景技術】
【０００２】
従来から、他言語（例えば日本人にとっての英語）の入力を支援するシステムが知られている。例えば下記特許文献１に記載の文字入力装置では、コピーされた文字列が英語のスペリングとして正しくない場合に、変換バッファにコピーされた文字列がローマ字読みされ、かな変換され、かなバッファに格納される。かな変換の結果が日本語の意味を持つ場合には、その意味に対応する英語が検索され、その結果が格納される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−７４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の装置を使う場合には、ユーザはこの装置に対して、自分が入力したアルファベットの文字列を英単語として認識させるのか、それともローマ字入力による日本語の単語として認識させるのかをユーザ自身が指定する必要がある。そこで、ユーザに入力文字列の言語を指定させることなく、目的とする言語の語句を入力することが可能な仕組みが要請されている。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る入力支援装置は、ローマ字による入力文字列を受け付ける受付部と、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記と、をそれらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索部と、第１の処理の結果と第２の処理の結果とを入力候補として出力する出力部とを備える。【０００６】
本発明の一側面に係る入力支援方法は、入力支援装置により実行される入力支援方法であって、ローマ字による入力文字列を受け付ける受付ステップと、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記と、をそれらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索ステップと、第１の処理の結果と第２の処理の結果とを入力候補として出力する出力ステップとを含む。【０００７】
本発明の一側面に係る入力支援プログラムは、ローマ字による入力文字列を受け付ける受付部と、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記と、をそれらの対応関係が特定できる態様で記憶する記憶部から、前記入力文字列を含む前記第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含む前記ローマ字表記に対応する前記第１の言語の語句を検索する第２の処理とを実行する検索部と、第１の処理の結果と第２の処理の結果とを入力候補として出力する出力部とをコンピュータに実行させる。【０００８】
このような側面によれば、翻訳することなく入力文字列そのものから語句を検索する処理と、その入力文字列に基づく翻訳の処理とが実行され、これらの処理から得られた語句（第１の言語の語句）がまとめて入力候補として出力される。このように、一つの入力文字列に対して複数系統の処理が行われて双方の検索結果が出力されるので、ユーザは、入力文字列の言語を自分で指定することなく、目的とする言語の語句を入力することができる。【０００９】
別の側面に係る入力支援装置では、入力文字列が複数の単語を含み、検索部が、複数の単語のそれぞれについて第１の処理及び第２の処理を実行し、出力部が、複数の単語のすべてにおいて検索された共通の第１の言語の語句を入力候補として出力してもよい。入力文字列を構成するすべての単語を用いて入力候補を検索することで、ユーザが入力しようとしている語句を確度高く提示することができる。【００１０】
さらに別の側面に係る入力支援装置では、ユーザにより選択された共通の第１の言語の語句が入力文字列の全体と置換されることで、該選択された語句の入力が確定してもよい。この置換により、ユーザは直ぐに次の編集作業に取り掛かることができる。【００１１】
さらに別の側面に係る入力支援装置では、入力文字列が複数の単語を含み、出力部が、複数の単語のうち一部の単語において検索された第１の言語の語句を入力候補として出力してもよい。一部の単語のみを用いて入力候補を検索することで、抽出される第１の言語の語句が多すぎたり少なすぎたりする状況を回避することが可能になる。【００１２】
さらに別の側面に係る入力支援装置では、一部の単語が、入力文字列において最後に位置する単語であってもよい。【００１３】
さらに別の側面に係る入力支援装置では、ユーザにより選択された第１の言語の語句が、複数の単語のうち該選択された語句の検索条件として用いられた単語のみと置換されることで、該選択された語句の入力が確定してもよい。このように置換することで、ユーザはどの単語が置き換えられたかを知ることができる。【００１４】
さらに別の側面に係る入力支援装置では、入力候補が、未確定部分を示す情報が付加された第１の言語の語句を含み、未確定部分を有する語句の入力が確定した場合に、該未確定部分にフォーカスが設定されてもよい。このようにフォーカスの位置を設定することで、ユーザは、カーソルを移動させる等の操作をすることなく直ぐに次の編集作業に取り掛かることができる。【００１５】
さらに別の側面に係る入力支援装置では、入力候補が、未確定部分を示す情報が付加された第１の言語の語句を含み、未確定部分を有する語句の入力が確定した場合に、該未確定部分に挿入され得る語句を取得し、取得した語句を更なる入力候補として出力する追加処理部を更に備えてもよい。未確定部分を有する語句の入力が確定すると直ぐに、その未確定部分に挿入され得る語句の候補が提示されるので、ユーザはより簡単に文又は文章を作成することができる。【００１６】
さらに別の側面に係る入力支援装置では、追加処理部が、語句の未確定部分と該未確定部分に挿入可能な語句との対応が記憶された所定の記憶部を参照することで、未確定部分に挿入され得る語句を取得してもよい。【００１７】
さらに別の側面に係る入力支援装置では、追加処理部が、第１の言語及び第２の言語のうち少なくとも一方の言語のコーパスが記憶された所定の記憶部を参照することで、未確定部分に挿入され得る語句を取得してもよい。【００１８】
さらに別の側面に係る入力支援装置では、更なる入力候補がコーパス内での出現回数に従った順番で表示されてもよい。このように表示順を設定することで、選択される蓋然性が高い語句をそうでない語句よりも優先してユーザに提示することが可能になる。【００１９】
さらに別の側面に係る入力支援装置では、追加処理部が、入力文字列より前に位置する確定済の文字列を解析することで、未確定部分に挿入され得る語句を推定してもよい。未確定部分に挿入され得る語句を、既に入力されている文または文章に基づいて推定することで、その文または文章を入力しているユーザがこれから入力しそうな語句を先行して提示することができる。【００２０】
さらに別の側面に係る入力支援装置では、更なる入力候補において、確定済の文字列の解析により推定された語句が、該解析により推定されなかった語句よりも優先して表示されてもよい。このように表示順を設定することで、選択される蓋然性が高い語句をそうでない語句よりも優先してユーザに提示することが可能になる。【００２１】
さらに別の側面に係る入力支援装置では、入力候補に含まれる第１の言語の語句に未確定部分が複数存在する場合に、追加処理部が、各未確定部分について更なる入力候補を取得すると共に、第１の未確定部分に挿入され得る語句と第２の未確定部分に挿入され得る語句との自然な組合せを示す組合せ情報を取得し、該組合せ情報を各未確定部分の更なる入力候補と共に出力し、第１及び第２の未確定部分のうちの一方の未確定部分におけるユーザ操作に応じて、他方の未確定部分に挿入され得る語句が組合せ情報に基づいて提示されてもよい。このように語句同士の自然な組合せを提示することで、ユーザは自然な文または文章を簡単に作成することが可能になる。【００２２】
さらに別の側面に係る入力支援装置では、入力候補が単語の列とフレーズの列とに分かれて表示されてもよい。入力候補を少なくとも二つに分けた上で表示することで、ユーザは所望の語句を容易に見つけて選択することができる。【００２３】
さらに別の側面に係る入力支援装置では、フレーズが語義に従って更に複数の列に分かれて表示されてもよい。フレーズを語義毎に分けた上で提示することで、ユーザは所望の語句を容易に見つけて選択することができる。【００２４】
さらに別の側面に係る入力支援装置では、入力候補が語義に従って複数の列に分かれて表示されてもよい。入力候補の語句を語義毎に分けた上で提示することで、ユーザは所望の語句を容易に見つけて選択することができる。【００２５】
さらに別の側面に係る入力支援装置では、各列が独立してスクロールするように入力候補が表示されてもよい。このようなスクロール方法により、ユーザは他の列の語句をそのまま見続けながら特定の一つの列内の語句を見渡すことができる。
また、本発明の一側面に係る入力支援装置は、入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付部と、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、入力文字列を含む第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含むローマ字表記に対応する第１の言語の語句を検索する第２の処理とを実行する検索部と、少なくとも第２の処理の結果を入力候補として出力する出力部とを備える。
また、本発明の一側面に係る入力支援方法は、入力支援装置により実行される入力支援方法であって、入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付ステップと、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、入力文字列を含む第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含むローマ字表記に対応する第１の言語の語句を検索する第２の処理とを実行する検索ステップと、少なくとも第２の処理の結果を入力候補として出力する出力ステップとを含む。
本発明の一側面に係る入力支援プログラムは、入力文字列の言語の指定を受け付けることなく、ローマ字による入力文字列を受け付ける受付部と、アルファベットで表記される第１の言語の語句と、該第１の言語の語句に対応する第２の言語の語句のローマ字表記とを、それらの対応関係が特定できる態様で記憶する記憶部から、入力文字列を含む第１の言語の語句を検索する第１の処理と、該記憶部から、該入力文字列を含むローマ字表記に対応する第１の言語の語句を検索する第２の処理とを実行する検索部と、少なくとも第２の処理の結果を入力候補として出力する出力部としてコンピュータを機能させる。
【発明の効果】
【００２６】
本発明の一側面によれば、ユーザは、入力文字列の言語を指定することなく、目的とする言語の語句を入力することができる。
【図面の簡単な説明】
【００２７】
【図１】実施形態に係る入力支援の概念を示す図である。
【図２】第１実施形態に係る入力支援システムの機能構成を示すブロック図である。
【図３】入力支援サーバのハードウェア構成を示す図である。
【図４】第１実施形態に係る入力支援システムの動作を示すシーケンス図である。
【図５】エディタの一連の動作を説明する図である。
【図６】エディタの一連の動作を説明する図である。
【図７】エディタの一連の動作を説明する図である。
【図８】エディタの一連の動作を説明する図である。
【図９】エディタの一連の動作を説明する図である。
【図１０】エディタの一連の動作を説明する図である。
【図１１】エディタの一連の動作を説明する図である。
【図１２】エディタの一連の動作を説明する図である。
【図１３】エディタの一連の動作を説明する図である。
【図１４】第１実施形態に係る入力支援プログラムの構成を示す図である。
【図１５】第２実施形態に係る入力支援システムの機能構成を示すブロック図である。
【図１６】第２実施形態に係る入力支援システムの動作を示すシーケンス図である。
【図１７】エディタ上で更なる入力候補が表示された状態を示す図である。
【図１８】第２実施形態に係る入力支援プログラムの構成を示す図である。
【図１９】変形例に係る入力支援システム（ユーザ端末）の機能構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２９】
本明細書における用語「アルファベット」とは、一定の順序に並べられた西欧語の文字の総称を意味する。また、用語「ローマ字」とは、ある言語をラテン語で表記する際に用いる文字を意味する。本明細書では、ある言語をローマ字を用いて表記することを「ローマ字表記」という。
【００３０】
（第１実施形態）
図１〜３を用いて、第１実施形態に係る入力支援システム（以下では単に「システム」ともいう）１の機能及び構成を説明する。このシステム１は英文入力を支援するコンピュータシステムである。このシステム１を用いることで、英語に不慣れなユーザも簡単に英文を作成することが期待できる。
【００３１】
図１に示すように、ユーザは英文を入力する際に英語の文字列を入力してもよいし、ローマ字入力による日本語の文字列を入力してもよい（ステップＳ１）。言い換えると、ユーザは自分がこれから入力しようとする文字列の言語をシステム１に予め認識させる必要がない。例えば、「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」という英語フレーズを最終的に得たい場合に、ユーザは「ｏｋｕｒｕ」と日本語を入力してもよいし、「ｅ−ｍａｉｌ」と英語を入力してもよい。
【００３２】
文字列が入力されると、入力支援システム１はその文字列を用いて二種類の処理を実行する。一つは、入力文字列を英語とみなして、その文字列を含む単語又はフレーズをデータベースから検索する処理である（ステップＳ２）。もう一つは、入力文字列を日本語とみなして、その文字列に関連する英語翻訳をデータベースから取得する処理である（ステップＳ３）。そして、入力支援システム１はこれら二つの処理で得られた結果を入力候補として一度にユーザに提示する（ステップＳ４）。二つのステップＳ２，Ｓ３ではいずれも英語の語句が得られるので、入力候補としてユーザに提示される語句はすべて英語である。なお、本明細書における語句とは、単語及びフレーズの一方又は双方のことをいう。
【００３３】
図２に示すように、入力支援システム１はユーザ端末１０、入力支援サーバ（入力支援装置）２０、及び言語データベース（記憶部）３０を備えている。ユーザ端末１０と入力支援サーバ２０とはインターネットや専用線などの通信ネットワークを介して双方向に通信することが可能である。また、入力支援サーバ２０は同様の通信ネットワークを介して言語データベース３０にアクセスすることができる。
【００３４】
ユーザ端末１０は、英文を作成しようとするユーザが使用するコンピュータである。ユーザ端末１０の種類は限定されず、例えば据置型又は携帯型のパーソナルコンピュータでもよいし、高機能携帯電話機（スマートフォン）や携帯電話機、携帯情報端末（ＰＤＡ）などの携帯端末でもよい。入力支援システム１内に存在するユーザ端末１０の台数も限定されない。ユーザ端末１０は文字の入力及び表示を実行するエディタ（ｅｄｉｔｏｒ）１１を備えている。本実施形態ではエディタ１１は入力支援サーバ２０と通信する機能を有するが、エディタ１１の具体的な実装方法は何ら限定されない。例えば、エディタ１１はウェブブラウザ（Ｗｅｂ  Ｂｒｏｗｓｅｒ）上に実装されてもよいし、特定のワードプロセッサ・アプリケーション・プログラム内に組み込まれてもよい。
【００３５】
入力支援サーバ２０は、ローマ字による日本語が入力されるか、または英単語が入力されると、その入力文字列に基づいて入力候補を検索してユーザに提示するコンピュータである。入力支援サーバ２０はこのような処理を実行するために言語データベース３０を参照する。
【００３６】
言語データベース３０は、英語と日本語との対訳を記憶する装置である。英語の語句と、ローマ字表記された日本語の語句との対応関係が特定できる限り、言語データベース３０及びこの中に格納されるデータの具体的な構成（態様）は何ら限定されない。
【００３７】
例えば、既存の辞書データベース又はコーパスを言語データベース３０として用いてもよい。ただし、入力文字列はローマ字で表現されるので、言語データベース３０内の日本語は少なくともローマ字で表記されている必要がある。もちろん、言語データベース３０中における日本語については、ローマ字表記と共に、平仮名、片仮名、又は漢字による表記が存在していてもよい。言語データベース３０は、英語と、平仮名、片仮名、又は漢字により表記された日本語（仮名等で表記された日本語）との対訳データベースと、仮名等で表記された日本語とローマ字表記された日本語との対応を示す変換テーブルとから成っていてもよい。本実施形態では、エディタ１１が入力候補の英語のフレーズを日本語の語義毎に分けて表示するので、各フレーズには日本語の語義に関する情報（例えば格フレーム辞書の情報）が予め付加されている。
【００３８】
また、言語データベース３０は対訳データだけでなく、英語の語句のリストを示すデータを含んでいてもよい。図１で示すように入力支援システム１は二種類の検索を実行するので、参照するデータベース又は記憶領域を検索処理毎に変えてもよい。例えば、入力支援システム１は、英語からの検索を実行する場合には英語表現のみが登録されているデータベースを用い、日本語からの検索を実行する場合には二言語間の対訳が登録されているデータベースを用いてもよい。
【００３９】
次に、入力支援サーバ２０の機能及び構成を具体的に説明する。入力支援サーバ２０のハードウェア構成を図３に示す。この図に示すように、入力支援サーバ２０は、オペレーティングシステムやアプリケーション・プログラムなどを実行するＣＰＵ２０１と、ＲＯＭ及びＲＡＭで構成される主記憶部２０２と、ハードディスクなどで構成される補助記憶部２０３と、ネットワークカードなどで構成される通信制御部２０４と、キーボードやマウスなどの入力装置２０５と、ディスプレイなどの出力装置２０６とを備えている。
【００４０】
後述する入力支援サーバ２０の各機能的構成要素は、ＣＰＵ２０１又は主記憶部２０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ２０１の制御の下で通信制御部２０４や入力装置２０５、出力装置２０６などを動作させ、主記憶部２０２又は補助記憶部２０３におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部２０２又は補助記憶部２０３内に格納される。なお、図３では入力支援サーバ２０が１台のコンピュータで構成されているように示しているが、入力支援サーバ２０の機能を複数台のコンピュータに分散させてもよい。
【００４１】
図２に示すように、入力支援サーバ２０は機能的構成要素として受付部２１、検索部２２、及び提供部（出力部）２３を備えている。
【００４２】
受付部２１は、アルファベットによる入力文字列を受け付ける機能要素である。ユーザ端末１０のエディタ１１は入力された文字列を入力支援サーバ２０に送信し、受付部２１はその入力文字列を受信して検索部２２にその文字列を出力する。
【００４３】
エディタ１１が入力文字列を入力支援サーバ２０に送信するタイミングは限定されない。例えば、エディタ１１は所定の長さ以上の文字列（例えば２又は３文字以上の文字列）の入力を受け付けた時に初めて入力支援サーバ２０にその文字列を送信してもよい。受付部２１が受信する入力文字列の長さの下限を設定することで、単語又はフレーズの検索の負荷を軽減したり、ユーザ端末１０上に表示される入力候補の個数を抑えてエディタ１１をより使い易くしたりすることができる。あるいは、エディタ１１は区切り文字（スペース）が入力された時に入力文字列を送信してもよい。一つの単語を入力文字列とすることで検索の負荷をさらに軽減したり入力候補の個数をさらに抑えたりすることができる。
【００４４】
あるいは、エディタ１１はキー入力が所定の時間（例えば２秒など）途絶えた時に入力文字列を送信してもよい。さらに別の手法として、エディタ１１はユーザが検索ボタンや送信ボタンなどを押したことに応じて入力文字列を送信してもよい。これら二つの手法によれば、スペースで区切られた複数の単語から成る入力文字列を入力支援サーバ２０に送信することができる。
【００４５】
受付部２１又はエディタ１１は、区切り文字が無い入力文字列から複数の単語を自動的に特定してもよい。例えば、受付部２１又はエディタ１１は、「ｎｉｍｏｔｓｕｗｏｏｋｕｒｕ」（英語の「ｓｅｎｄ  ａ  ｐａｃｋａｇｅ」に相当）という文字列を受け付けた場合に、この文字列をローマ字表記の日本語とみなして形態素解析することで、「ｎｉｍｏｔｓｕ」「ｗｏ」「ｏｋｕｒｕ」という３単語を特定し、これらの単語を検索部２２に出力してもよい。このような単語分割において、受付部２１又はエディタ１１は、検索での必要性が低い特定の語（例えば助詞）を削除し、残った単語（例えば名詞や動詞など）のみを検索部２２に出力してもよい。例えば、受付部２１又はエディタ１１は日本語の助詞である「ｗｏ」を削除して、名詞「ｎｉｍｏｔｓｕ」及び動詞「ｏｋｕｒｕ」のみを検索部２２に出力してもよい。
【００４６】
検索部２２は、入力文字列に対応する入力候補を言語データベース３０から取得する機能要素である。検索部２２は図１に示すような二通りの手法で英語の語句を取得する。
【００４７】
まず、検索部２２は入力文字列を含む英語（第１の言語）の語句を第１の検索結果として言語データベース３０から取得する。この第１の処理では、検索部２２は入力された言語が英語であるとみなして検索を行う。したがって、ローマ字表記の日本語が入力された場合には、検索部２２は第１の処理（英語からの検索）では英語の語句を取得することができない。もちろん、ユーザが日本語を入力したつもりでもその文字列を含む英語がたまたま存在すれば、検索部２２はこの第１の処理で一以上の英語の語句を取得する。
【００４８】
例えば、入力文字列が「ｆｏｒｇ」であれば、検索部２２は「ｆｏｒｇｅｔ」「ｆｏｒｇｏｔ」「ｆｏｒｇｉｖｅ」などの単語と、「ｇｅｔ  ｆｏｒｇｏｔｔｅｎ」「ｇｅｔ  ｆｏｒｇｅｔｆｕｌ」「ｆｏｒｇｉｖｅ  Ａ  ｆｏｒ  Ｂ」などのフレーズとを取得する。
【００４９】
次に、検索部２２は、入力文字列を含む日本語（第２の言語）の語句に対応する英語（第１の言語）の語句を第２の検索結果として取得する。この第２の処理では、検索部２２は入力された言語が日本語であるとみなして検索を行うので、英語が入力された場合には、検索部２２はこの第２の処理（日本語からの検索）では英語の語句を取得することができない。もちろん、ユーザが英語を入力したつもりでもその文字列で示される日本語がたまたま存在すれば、検索部２２はこの第２の処理で一以上の英語の語句を取得する。
【００５０】
例えば、入力文字列が「ｏｋｕｒｕ」であれば、検索部２２はこの日本語に相当し得る「ｓｅｎｄ」「ｇｉｖｅ」「ｌｅａｄ」などの単語と、この日本語に相当し得る「ｓｅｎｄ  ｅ−ｍａｉｌ  ｔｏ」「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」「ｌｅａｄ  ａ  ｇｒａｃｉｏｕｓ  ｌｉｆｅ」などのフレーズとを取得する。一つの日本語の単語が複数の英語の単語に対応することがあるので、この例のように一つの日本語の単語から様々な意味の英語の語句が抽出される場合がある。
【００５１】
なお、入力文字列から語句を検索する方法として前方一致、完全一致、後方一致、部分一致などの様々な手法がある。また、文字そのものの同一性を見るのではなく、入力された単語の関連語句をシソーラス（関連語のデータベース）から検索する手法もある。例えば、検索部２２は日本語「ｎｉｍｏｔｓｕ」の関連語「ｋａｍｏｔｓｕ（貨物）」と日本語「ｏｋｕｒｕ」の関連語「ｓｏｕｆｕ（送付）」とをシソーラスから抽出し、これら二つの関連語を用いて言語データベース３０から英語の語句を取得してもよい。このように様々な検索手法があるが、検索部２２は任意の一以上の手法を用いて語句を検索してよい。
【００５２】
検索部２２はこのような二種類の処理により得た第１及び第２の検索結果を提供部２３に出力する。この際には、検索部２２は、取得した英語の語句の一つ一つに対して、その語句が英語からの検索（第１の処理）により抽出されたのかそれとも日本語からの検索（第２の処理）により抽出されたのかを示すフラグを付加する。なお、当然ながら、ユーザのタイプミスなどにより第１及び第２の検索結果が共に空（ＮＵＬＬ）であることも有り得る。
【００５３】
入力文字列が複数の単語を含む場合には、検索部２２は各単語について上記二種類の検索を行うことで、入力されたすべての単語において抽出された共通のフレーズを最終的に取得してもよい（共通フレーズの検索）。入力文字列を構成するすべての単語を用いて入力候補を検索することで、ユーザが入力しようとしている語句を確度高く提示することができる。共通フレーズの検索において、入力文字列は英語のみから成っていてもよいし、日本語のみから成っていてもよいし、日本語及び英語の混合であってもよい。例えば、入力文字列が二つの英語「ｓｅｎｄ」及び「ｐａｃｋａｇｅ」を含む場合、二つの日本語「ｏｋｕｒｕ」（英語の「ｓｅｎｄ」に相当）及び「ｎｉｍｏｔｓｕ」（英語の「ｐａｃｋａｇｅ」に相当）から成る場合、そして日本語「ｎｉｍｏｔｓｕ」及び英語「ｓｅｎｄ」から成る場合のいずれにおいても、検索部２２は「ｓｅｎｄ  ａ  ｐａｃｋａｇｅ」（日本語で「荷物を送る（ｎｉｍｏｔｓｕ  ｗｏ  ｏｋｕｒｕ）」という意味）というフレーズを検索する。
【００５４】
入力文字列が複数の単語を含む場合の別の処理方法として、検索部２２はそのうちの一部単語についてのみ上記二種類の検索を行ってもよい（一部の単語を用いた検索）。例えば、検索部２２は入力文字列において最後に位置する単語についてのみ上記二種類の検索を行ってもよい。一部の単語のみを用いて入力候補を検索することで、抽出される英語の語句が多すぎたり少なすぎたりする状況を回避することが可能になる。
【００５５】
さらに別の方法として、検索部２２は共通フレーズの検索と、一部の単語を用いた検索との双方を実行して、これら二種類の検索結果を取得してもよい。この場合には、検索部２２は入力候補として取得した語句のそれぞれに、共通フレーズの検索で得られた語句か、それとも一部の単語を用いた検索により取得した語句かを区別するためのフラグを付加する。
【００５６】
提供部２３は、検索部２２による検索結果を入力候補としてユーザ端末１０に送信する機能要素である。上述したように、検索結果に含まれる英語の語句のそれぞれには、その語句がどのような検索により抽出されたかを示すフラグが関連付けられている。ユーザ端末１０ではエディタ１１がその入力候補を受信して画面上に表示する。
【００５７】
次に、図４を用いて、入力支援システム１の動作を説明するとともに本実施形態に係る入力支援方法について説明する。
【００５８】
まず、ユーザ端末１０でエディタ１１がアルファベットで入力された所定の長さ以上の文字列を取得し（ステップＳ１１）、その入力文字列を入力支援サーバ２０に送信する（ステップＳ１２）。
【００５９】
入力支援サーバ２０では、受付部２１がその入力文字列を受信し（ステップＳ１２、受付ステップ）、次に検索部２２がその文字列に基づいて入力候補を検索する。具体的には、検索部２２は入力文字列を含む英語の語句を検索すると共に（ステップＳ１３、検索ステップ）、その入力文字列を含む日本語の語句に対応する英語の語句を検索する（ステップＳ１４、検索ステップ）。なお、検索部２２は日本語からの検索（ステップＳ１４）を実行した後に英語からの検索（ステップＳ１３）を実行してもよい。最後に、提供部２３がこれら二種類の検索の結果を入力候補としてユーザ端末１０に送信する（ステップＳ１５、出力ステップ）。
【００６０】
ユーザ端末１０ではエディタ１１がその入力候補を受信して画面上に表示する（ステップＳ１６、出力ステップ）。ユーザは表示された入力候補から一つを選択でき、選択された英語の語句が確定語句としてエディタ１１上に表示される。
【００６１】
次に、図５〜１３を用いて、エディタ１１上で入力候補がどのように表示されるかを説明する。
【００６２】
例えば、図５に示すように、ユーザがローマ字表記による日本語「ｏｋｕｒｕ」を入力したとする。この場合には、エディタ１１が入力文字列「ｏｋｕｒｕ」を入力支援サーバ２０に送信し、検索部２２がこの文字列に基づいて二種類の検索を実行する。「ｏｋｕｒｕ」を含む英単語は存在しないので、検索部２２は英語からの検索では英語の語句を取得することができない。しかし、日本語の「ｏｋｕｒｕ」は、英語の「ｓｅｎｄ」「ｇｉｖｅ」「ｐｒｅｓｅｎｔ」「ｌｅａｄ」などのいくつかの単語に相当する意味を持っているので、検索部２２は日本語からの検索を実行することで英語の語句を取得する。したがって、提供部２３は一又は複数の英語の語句を入力候補としてユーザ端末１０に送信し、エディタ１１がその入力候補を画面上に表示する。
【００６３】
ユーザ端末１０で表示される入力候補の例を図６に示す。この図では、エディタ１１は入力候補を候補欄Ｃに一覧表示している。検索された英語の語句Ｅのそれぞれには日本語の翻訳Ｊが併記される。候補欄の左上にある「単語（日本語から）」というタイトルは、今回の語句が日本語からの検索により得られたものであることを示している。エディタ１１は取得した語句に関連付けられているフラグを参照することでそのタイトルを決めることができる。
【００６４】
この図では、エディタ１１は入力候補を、最左列に表示される単語のリストＬ１と、それ以外の列に表示されるフレーズのリストとに分けて表示する。更に、エディタ１１はフレーズを日本語の「ｏｋｕｒｕ」の意味毎にそれぞれの列Ｌ２〜Ｌ４に分ける。図６の例では候補欄Ｃの高さと比較して英単語の個数が多いので列Ｌ１にはスクロールバー（ｓｃｒｏｌｌ  ｂａｒ）が表示されているが、エディタ１１はこのスクロールバーを各列の単語数又はフレーズ数に応じて各列に設定する。したがって、ユーザは他の列の語句をそのまま見続けながら特定の一つの列内の語句を見渡すことができる。英語フレーズを日本語の意味毎に分けた際のグループ数が候補欄Ｃの幅と比較して多いようであれば、エディタ１１はフレーズの列を見渡すための横方向のスクロールバーを設定する。
【００６５】
このように、入力候補を単語とフレーズに分けたり、あるいはフレーズを語義毎に分けたりした上でその入力候補を表示することで、ユーザは所望の語句を容易に見つけて選択することができる。なお、エディタ１１は取得した語句を単語とフレーズとに分けることなく、それらの語句を単に語義のみに分けた上で表示してもよい。この場合にも、ユーザは所望の語句を容易に見つけて選択することができる。
【００６６】
図７に示すようにユーザが入力候補から単語「ｓｅｎｄ」を選択すると、図８に示すように、エディタ１１はその単語を入力文字列「ｏｋｕｒｕ」と入れ替えて表示する。これにより、「ｓｅｎｄ」の入力が確定する。一方、図９に示すようにユーザが入力候補からフレーズ「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」を選択すると、図１０に示すように、エディタ１１はそのフレーズを入力文字列「ｏｋｕｒｕ」と入れ替えて表示する。これにより、「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」の入力が確定する。
【００６７】
なお、図６，７に示すように、被選択状態の単語の別の語義をボックスＢで示してもよい。
【００６８】
別の例において、図１１に示すように、ユーザがアルファベットで英語「ｅ−ｍａｉｌ」と入力したとする。この場合には、エディタ１１が入力文字列「ｅ−ｍａｉｌ」を入力支援サーバ２０に送信し、検索部２２がこの文字列に基づいて二種類の検索を実行する。「ｅ−ｍａｉｌ」とローマ字表記される日本語は存在しないので、検索部２２は日本語からの検索では英語の語句を取得することができない。しかし、当然ながら、検索部２２は英語からの検索を実行することでこの「ｅ−ｍａｉｌ」を含む英語の語句を取得することができる。なお、仮に入力文字列が「ｅ−ｍａｉ」であった場合でも同様の結果が得られる。したがって、提供部２３は一又は複数の英語の語句を入力候補としてユーザ端末１０に送信し、エディタ１１がその入力候補を画面上に表示する。
【００６９】
この場合にユーザ端末１０で表示される入力候補の例を図１２に示す。この例でも、エディタ１１は候補欄Ｃ中において英語の語句のそれぞれに日本語の翻訳を併記する。図１２では、複数の語義を有する「ｅ−ｍａｉｌ」にフォーカスが当たっており、このフォーカス設定を受けて他の語義の説明がボックスＢで表示されている。もっとも、エディタ１１にこのボックスＢの機能を実装するか否かは、任意に定めてよい。ユーザが入力候補から一の単語又はフレーズを選択すると、エディタ１１は選択された語句を入力文字列「ｅ−ｍａｉｌ」と入れ替えて表示し、これにより入力が確定する。
【００７０】
図１３は、入力文字列が複数の単語を含む場合の入力候補の一例を示している。列Ｌ１には、入力文字列中の最後の日本語「ｏｋｕｒｕ」に相当する英単語のリストが表示されている。列Ｌ２には、入力文字列に含まれる二つの日本語「ｎｉｍｏｔｓｕ」及び「ｏｋｕｒｕ」の双方の翻訳を含む英語フレーズのリストが表示されている。列Ｌ３，Ｌ４には、入力文字列中の最後の日本語「ｏｋｕｒｕ」の翻訳を含む英語フレーズのリストが表示されている。エディタ１１は、各フレーズに関連付けられているフラグを参照することで、そのフレーズをどの列に表示させるべきかを判定することができる。
【００７１】
図１３の例では、ユーザが列Ｌ１から一つの英単語を選ぶか、あるいは列Ｌ３又はＬ４から一つのフレーズを選んだ場合には、エディタ１１は入力文字列の最後の単語「ｏｋｕｒｕ」のみを選択された語句と置き換えて入力を確定させる。言い換えれば、エディタ１１は、入力支援サーバ２０における英語の語句の検索条件として用いられた単語のみを、ユーザにより指定された語句と置き換える。この場合には、ユーザはどの単語が置き換えられたかを知ることができる。
【００７２】
これに対して、ユーザが列Ｌ２からフレーズを選んだ場合には、エディタ１１は入力文字列に含まれる二つの日本語「ｎｉｍｏｔｓｕ」及び「ｏｋｕｒｕ」を選択されたフレーズと置き換えることで入力を確定させる。したがって、ユーザは直ぐに次の編集作業に取り掛かることができる。エディタ１１は、入力候補内の各語句のフラグを参照することで入力文字列の置換部分を判定することができる。
【００７３】
なお、図１３では入力文字列が二つの単語を含んでいるが、上述したように、入力文字列が３以上の単語を含む場合もある。例えば、入力文字列が日本語「ｏｋｕｒｕ」「ｎｉｍｏｔｓｕ」「ｋｏｕｋｕｕｂｉｎ（英語の「ａｉｒｍａｉｌ」に相当）」という３単語を含んでもよい。
【００７４】
次に、図１４を用いて、入力支援システム１を実現するための入力支援プログラムＰを説明する。入力支援プログラムＰは、ユーザ端末１０でエディタ１１を機能させるためのクライアント・プログラムＰ１と、コンピュータを入力支援サーバ２０として機能させるためのサーバ・プログラムＰ２とを備えている。
【００７５】
クライアント・プログラムＰ１はエディタ・モジュールＰ１１を備えており、このモジュールによりエディタ１１の機能が実現される。
【００７６】
サーバ・プログラムＰ２は、メインモジュールＰ２０、受付モジュールＰ２１、検索モジュールＰ２２、及び提供モジュールＰ２３を備えている。メインモジュールＰ２０は、入力支援サーバ２０の機能を統括的に制御する部分である。受付モジュールＰ２１、検索モジュールＰ２２、及び提供モジュールＰ２３を実行することにより実現される機能はそれぞれ、上記の受付部２１、検索部２２、及び提供部２３の機能と同様である。
【００７７】
クライアント・プログラムＰ１及びサーバ・プログラムＰ２はそれぞれ、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供される。また、各プログラムＰ１，Ｐ２は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【００７８】
以上説明したように、本実施形態によれば、翻訳することなく入力文字列そのものから語句を検索する処理（英語からの検索）と、その入力文字列に基づく翻訳の処理（日本語からの検索）とが実行され、これら二種類の処理から得られた英語の語句がまとめて入力候補として出力される。通常、ユーザは入力モードを切り替えるなどの操作を行った上で文または文章を入力する必要がある。しかし本実施形態では、一つの入力文字列に対して二系統の処理が行われて双方の検索結果が出力されるので、ユーザは、入力文字列の言語を自分で指定することなく（例えば入力モードを切り替えることなく）、目的とする言語の語句を入力することができる。
【００７９】
（第２実施形態）
次に、第２実施形態に係る入力支援システム２を説明する。このシステム２は、ユーザが入力候補から一の語句を選択して入力を確定させた際にその語句のスロット（ｓｌｏｔ）に当てはまる語句を更に提示するという点で、第１実施形態（入力支援システム１）と異なる。このために、入力支援システム２は入力支援サーバ２０Ａを備えている。
【００８０】
本明細書における「スロット」とは、入力候補から選択された一つの語句に設定された未確定部分であり、この未確定部分には目的語や補語などが挿入され得る。このスロットは単語の前後、あるいはフレーズの前、後ろ、又は途中に設定される。例えば、「ｇｉｖｅ  ｓｏｍｅｏｎｅ  ａ  ｂｉｒｔｈｄａｙ  ｐｒｅｓｅｎｔ」というフレーズにおける「ｓｏｍｅｏｎｅ」は、フレーズ中に設定されたスロットである。別の例として、「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」というフレーズの後に続く部分もスロットとして設定され得る。あるいは「ｐｒｏｖｉｄｅ  Ａ  ｗｉｔｈ  Ｂ」というフレーズにおける「Ａ」「Ｂ」もスロットの一例である。このようなスロットに当てはまる語句を更に提示すれば、文章入力が更に簡略化されることが期待できる。
【００８１】
図１５に示すように、本実施形態の入力支援サーバ２０Ａは上記のような追加機能を実現するために、第１実施形態における三つの機能的構成要素に加えてスロット処理部（追加処理部）２４を備えている。また、エディタ１１は、スロットに当てはまる可能性がある語句を得るための機能を更に有する。また、入力候補としてユーザ端末１０に表示され得る英語の語句のうちの少なくとも一部には、スロットの位置を示す情報が予め関連付けられている。
【００８２】
エディタ１１は、ユーザが入力候補の中から一の語句を選択すると、その語句の入力を確定すると共に、その語句の情報を入力支援サーバ２０Ａに送信する。また、エディタ１１はスロットの位置にフォーカスを設定する。スロットが複数存在すれば、エディタ１１はそのうちの一つのスロット（例えば、先頭のスロット）にフォーカスを設定する。その後、エディタ１１は、確定語句の情報の送信に応じて入力支援サーバ２０から送られてきた更なる入力候補を受信し、その入力候補を画面上に表示する。この更なる入力候補は、スロットに挿入され得る語句のことである。
【００８３】
スロット処理部２４は、スロットを有する英語の語句の入力が確定した場合に、そのスロットに挿入される英語の語句を取得し、取得した語句を更なる入力候補として出力する機能要素である。スロット処理部２４は、エディタ１１から受信した確定語句の情報に基づいて、スロットに挿入される可能性がある語句を取得し、その処理結果をユーザ端末１０に送信する。
【００８４】
スロットに当てはまる語句を検索する方法は限定されない。第１の手法として、スロットを有する英語の語句と、そのスロットに挿入され得る語句とが関連付けられて言語データベース３０に格納されていることを前提とした上で、スロット処理部２４は確定語句のスロットに挿入され得る語句を言語データベース３０から抽出してもよい。
【００８５】
あるいは、第２の手法として、スロット処理部２４は従来の自然言語処理の技術を用いることで、確定語句のスロットに挿入され得る語句を判断してもよい。例えば、スロット処理部２４は、英文に対してｎグラム（ｎ−ｇｒａｍ）の手法を用いることで更なる入力候補を得るとともに、格フレーム辞書の情報を含む対訳データを参照することで更なる入力候補を得てもよい。このように、スロット処理部２４は、第１実施形態で説明した入力候補（最初の入力候補）の取得と同様に、英語からの検索と日本語からの検索との双方を用いて更なる入力候補を得ることができる。この場合には、スロット処理部２４は、得られた語句がその二種類の検索処理のどちらで得られたかを示すフラグをその語句に関連付ける。なお、この処理の際に用いる自然言語処理はｎグラム及び格フレーム辞書に限定されず、任意の手法を採用し得る。
【００８６】
あるいは、第３の手法として、スロット処理部２４は言語データベース３０内の英文コーパスを検索することで更なる入力候補を抽出してもよい。具体的には、スロット処理部２４は確定語句を含む文を抽出し、抽出された一以上の文を解析して、スロットの位置に実際に挿入されている語句をその出現回数と共に特定する。そして、スロット処理部２４は特定した一以上の語句を出現回数の降順にソートすることでリストを作成し、このリストを更なる入力候補として設定する。例えば、スロット処理部２４は確定語句「ｇｉｖｅ  ｓｏｍｅｏｎｅ  ａ  ｂｉｒｔｈｄａｙ  ｐｒｅｓｅｎｔ」に対して、出現回数の降順に「ｙｏｕ」「ｈｅｒ」「ｈｉｍ」「Ｔｏｍ」という単語群を更なる入力候補として設定する。出現回数に従って表示順を設定することで、選択される蓋然性が高い語句をそうでない語句よりも優先してユーザに提示することが可能になる。あるいは、スロット処理部２４は、ＰＭＩ（Pointwise Mutual Information。自己相互情報量）などを使って、頻度そのものは大きくないが後に続く特徴的な語を更なる入力候補として設定してもよい。
【００８７】
あるいは、第４の手法として、スロット処理部２４は、エディタ１１上で今回の確定語句よりも前に位置している文又は文章を解析することで、スロットに挿入される蓋然性が高い語句を特定してもよい。例えば、「Ｈｉｓ  ｂｉｒｔｈｄａｙ  ｉｓ  ｉｎ  Ｄｅｃｅｍｂｅｒ．  Ｉ  ｗｉｌｌ」という文章が既に入力されているとする。この場合にユーザが「ｏｋｕｒｕ」と入力し、その操作に応じて表示された入力候補から「ｇｉｖｅ  ｓｏｍｅｏｎｅ  ａ  ｂｉｒｔｈｄａｙ  ｐｒｅｓｅｎｔ」というフレーズを選んだ場合には、スロット処理部２４は単語「Ｈｉｓ」を手掛かりに「ｈｉｍ」を更なる入力候補として抽出する。この第４の手法では、スロット処理部２４は確定語句の情報だけでなく、それより前方の文又は文章の情報もエディタ１１から受信する必要がある。この第４の手法によれば、文または文章を入力しているユーザがこれから入力しそうな語句を先行して提示することができる。
【００８８】
あるいは、スロット処理部２４は第３の手法に従って抽出した単語群のうち、第４の手法に従って導出された単語を、当該手法により導出されなかった単語よりも優先して表示させてもよい（第５の手法）。例えば、スロット処理部２４は、第４の手法で導出された単語の表示順が他の単語の表示順よりも早くなるように、単語群内の各単語の表示順を設定してもよい。
【００８９】
このように、スロットに挿入され得る語句の取得手法は何ら限定されない。また、この語句の表示順も上記に限定されず、例えばスロット処理部２４は取得した語句をアルファベット順に並べてもよい。
【００９０】
スロットが複数存在する場合には、スロット処理部２４は各スロットについて任意の手法（例えば上記第１〜第５の手法うちのいずれかの手法）で更なる入力候補を抽出してもよい。
【００９１】
また、スロット処理部２４は、複数スロットのうち少なくとも二つのスロットのそれぞれに挿入される語句の自然な組合せの情報を、各スロットに挿入され得る語句と共にエディタ１１に送信してもよい。なお、組合せ情報は言語データベース３０に格納されていてもよいし、スロット処理部２４が予め保持しておいてもよい。
【００９２】
例えば、第１のスロットの候補として二つの英単語「ｒｅｎｔ」「ｂｏｒｒｏｗ」があり、第２のスロットの候補として二つの英単語「ｌｉｂｒａｒｙ」「ｒｅｎｔａｌ  ｓｈｏｐ」があると仮定する。この場合に、スロット処理部２４は、「ｌｉｂｒａｒｙ」と「ｂｏｒｒｏｗ」との組合せが「ｌｉｂｒａｒｙ」と「ｒｅｎｔ」との組合せよりも自然であることを示す組合せ情報Ｃａと、「ｒｅｎｔａｌ  ｓｈｏｐ」と「ｒｅｎｔ」との組合せが「ｒｅｎｔａｌ  ｓｈｏｐ」と「ｂｏｒｒｏｗ」との組合せよりも自然であることを示す組合せ情報Ｃｂとを言語データベース３０から読み出してエディタ１１に送信する。
【００９３】
次に、図１６を用いて、入力支援システム２の動作を説明するとともに本実施形態に係る入力支援方法について説明する。
【００９４】
ステップＳ１１〜Ｓ１６の処理は第１実施形態と同じである。その後ユーザが入力候補から一つの語句を選択して入力を確定すると（ステップＳ１７）、エディタ１１は確定語句のスロットにフォーカスを設定する（ステップＳ１８）。
【００９５】
例えば、確定語句が「ｇｉｖｅ  ｓｏｍｅｏｎｅ  ａ  ｂｉｒｔｈｄａｙ  ｐｒｅｓｅｎｔ」であればエディタ１１は単語「ｓｏｍｅｏｎｅ」の全体に対してフォーカスを設定する。別の例で、確定語句が「ｅ−ｍａｉｌ  ｔｈｅ  ａｄｄｒｅｓｓ  ｏｆ」であれば、エディタ１１は「ｏｆ」の後ろにフォーカスを設定する。このようにフォーカスの位置を設定することで、ユーザは、カーソルを移動させる等の操作をすることなく直ぐに次の編集作業に取り掛かることができる。例えば、単語全体に対してフォーカスが設定されることで、ユーザはその単語を入力候補からの選択、又は直接入力により直ぐに上書きできる。この様なフォーカス設定に加えて、エディタ１１は確定語句の情報を入力支援サーバ２０に送信する（ステップＳ１９）。
【００９６】
入力支援サーバ２０ではスロット処理部２４がその情報を受信し（ステップＳ１９）、上述した任意の手法により、スロットに挿入され得る英語の語句を取得する（ステップＳ２０）。そして、スロット処理部２４は抽出した語句を更なる入力候補としてユーザ端末１０に送信する（ステップＳ２１）。
【００９７】
ユーザ端末１０ではエディタ１１がその更なる入力候補を受信して画面上に表示する（ステップＳ２２）。ユーザがその候補の中から一つを選択すると、選択された英語の語句がスロットに挿入され、これにより入力が確定する。
【００９８】
スロットが複数存在する場合には、エディタ１１は、ユーザの選択操作に基づいて各スロットの語句を一つずつ確定していってもよい。あるいは、エディタ１１は、ユーザがすべてのスロットに対して選択操作をした後で全スロットの語句を一括して確定することで、個々のスロットでの語句を再選択する機会をユーザに提供してもよい。
【００９９】
組合せ情報を受信した場合には、エディタ１１はその情報に基づいて、一のスロットにおいてユーザが選択した語句とより自然に対応する他のスロットの語句を自動的に選択及び提示するか、あるいは、自動的に選択することなく、より自然な語句をヘルプ情報としてユーザに提示してもよい。このように語句同士の自然な組合せを提示することで、ユーザは自然な文または文章を簡単に作成することが可能になる。
【０１００】
例えば、エディタ１１が、第１のスロットの候補である二つの英単語「ｒｅｎｔ」「ｂｏｒｒｏｗ」と、第２のスロットの候補である「ｌｉｂｒａｒｙ」「ｒｅｎｔａｌ  ｓｈｏｐ」という英単語と、上述した組合せ情報Ｃａ，Ｃｂを受信したとする。そして、ユーザが第１のスロットで「ｒｅｎｔ」を選択した後に第２のスロットで「ｌｉｂｒａｒｙ」を選択したとする。この場合に、エディタ１１はそのユーザ操作に応じて、第１のスロットの「ｒｅｎｔ」を「ｂｏｒｒｏｗ」に置き換えるか、あるいは「ｂｏｒｒｏｗ」の方がより自然な単語である旨のヘルプ情報を表示する。
【０１０１】
次に、図１７を用いて、エディタ１１上で更なる入力候補がどのように表示されるかを説明する。
【０１０２】
入力候補から「ｃｈｕｃｋ  ａ  ｂａｌｌ  ｔｏ」という英語のフレーズが選択されることで入力が確定したとする。この場合には、エディタ１１がこのフレーズの情報を入力支援サーバ２０に送信する。続いて、スロット処理部２４がこのフレーズに基づいて更なる入力候補を取得してその候補をユーザ端末１０に送信する。
【０１０３】
そして、エディタ１１がその更なる入力候補を図１７に示すように画面上に表示する。この図では、エディタ１１は更なる入力候補を候補欄Ｃに一覧表示している。この例では、更なる入力候補は、英語からの検索により得られた語句（列Ｌ１）と、日本語からの検索により検索された語句（列Ｌ２）とに分かれて表示されている。各語句が二つのグループのうちのどちらに属するかは、その語句に関連付けられているフラグを参照することで判定できる。図１７に示すように、更なる入力候補を表示する際にも、エディタ１１はスクロールバーを各列の単語数又はフレーズ数に応じて各列に設定してもよい。
【０１０４】
次に、図１８を用いて、入力支援システム２を実現するための入力支援プログラムＰを説明する。本実施形態の入力支援プログラムＰは、サーバ・プログラムＰ２Ａが、メインモジュールＰ２０、受付モジュールＰ２１、検索モジュールＰ２２、及び提供モジュールＰ２３に加えてスロット処理モジュールＰ２４を備える点で、第１実施形態と異なる。スロット処理モジュールＰ２４を実行することにより実現される機能は上記のスロット処理部２４の機能と同様である。
【０１０５】
以上説明した第２実施形態も第１実施形態と同様の効果を奏する。加えて、本実施形態によれば、スロットを有する語句の入力が確定すると直ぐに、そのスロットに挿入され得る語句の候補（更なる入力候補）が提示されるので、ユーザはより簡単に文又は文章を作成することができる。
【０１０６】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【０１０７】
上記実施形態ではクライアント・サーバ型の入力支援システムを示したが、ユーザ端末、あるいはエディタが入力支援サーバ２０又は２０Ａの機能を備える入力支援装置を採用してもよい。例えば図１９に示すように、ユーザ端末１０Ａに実装されたエディタ１１Ａが受付部２１、検索部２２、提供部２３、及びスロット処理部２４を備えていてもよい。この場合には、検索部２２及びスロット処理部２４はネットワークを介して言語データベース３０にアクセスする。
【０１０８】
上記実施形態において、言語データベース３０は入力支援サーバ２０又は２０Ａ内に設けられていてもよい。これと同様に、図１９の変形例において、言語データベース３０はユーザ端末１０Ａ内に設けられていてもよい。
【０１０９】
上記実施形態では、入力支援システムは英文入力を支援するために英語の入力又はローマ字表記の日本語の入力を受け付けた。すなわち、上記実施形態では第１の言語が英語であり、第２の言語が日本語であった。しかし、どの言語を第１及び第２の言語とするかは任意に定めてよい事項である。ただし、第１の言語はアルファベットを用いて表現される言語（例えばフランス語やドイツ語）である。一方、第２の言語は、通常はアルファベットを用いないがアルファベットでも表現可能な言語（例えば中国語）でもよいし、アルファベットを用いて表現される言語（例えばフランス語、ドイツ語、英語）でもよい。したがって、第１及び第２の言語の双方がラテン語系の言語であってもよい。
【０１１０】
エディタ上での入力候補及び更なる入力候補の表示方法も限定されない。例えば、エディタ１１はスクロールバーを候補欄Ｃ全体に対して一つのみ表示させてもよいし、入力候補を単語の列とフレーズの列との二つにのみ分けて表示させてもよい。あるいは、スクロールバーではなくページ切替の手法を用いて、表示されていない語句を表示させてもよい。
【０１１１】
上記第２実施形態では、エディタ１１がスロットにフォーカスを設定し、その後に更なる入力候補を表示した。しかし、入力支援システムは、スロットにフォーカスを設定した時点で処理を終了し、更なる入力候補の取得を行わなくてもよい。
【符号の説明】
【０１１２】
１，２…入力支援システム、１０，１０Ａ…ユーザ端末、１１，１１Ａ…エディタ、２０，２０Ａ…入力支援サーバ、２１…受付部、２２…検索部、２３…提供部（出力部）、２４…スロット処理部（追加処理部）、３０…言語データベース（記憶部）、Ｐ…入力支援プログラム、Ｐ１…クライアント・プログラム、Ｐ１１…エディタ・モジュール、Ｐ２，Ｐ２Ａ…サーバ・プログラム、Ｐ２０…メインモジュール、Ｐ２１…受付モジュール、Ｐ２２…検索モジュール、Ｐ２３…提供モジュール、Ｐ２４…スロット処理モジュール。
【図１】
0005897711.tif 000002
【図２】
0005897711.tif 000003
【図３】
0005897711.tif 000004
【図４】
0005897711.tif 000005
【図５】
0005897711.tif 000006
【図８】
0005897711.tif 000007
【図１０】
0005897711.tif 000008
【図１１】
0005897711.tif 000009
【図１４】
0005897711.tif 000010
【図１５】
0005897711.tif 000011
【図１６】
0005897711.tif 000012
【図１８】
0005897711.tif 000013
【図１９】
0005897711.tif 000014
【図６】
0005897711.tif 000015
【図７】
0005897711.tif 000016
【図９】
0005897711.tif 000017
【図１２】
0005897711.tif 000018
【図１３】
0005897711.tif 000019
【図１７】
0005897711.tif 000020