(57)【要約】【課題】日本語とアルファベットとが入り混じった文章をより効率的に入力可能とする。【解決手段】制御部１００は、変換処理が完了した確定部文字列と変換処理が完了する前の未確定ひらがな部文字列とを分離し、未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換した第１の検索キー、第１の検索キーの全角カタカナをひらがなに変換した第２の検索キー、さらに第２の検索キーの全てのひらがなを、ひらがな変換テーブルに基づいて、ローマ字に変換した第３の検索キーからなる未確定部キーリストを生成する。さらに、前回確定部と未確定部キーリストとを結合して検索キーリストを生成し、該検索キーと読み補完辞書データと綴り補完辞書データとに基づいて、変換候補を抽出する。【選択図】図１
2010266950.tif 000002
【特許請求の範囲】
【請求項１】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、
少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するひらがな変換テーブルと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成する検索キー生成手段と、
前記検索キー生成手段により生成された前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する変換候補抽出手段と
を備えることを特徴とする文字列入力装置。
【請求項２】
前記検索キー生成手段は、
前記第３の検索キーに含まれるひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列のいずれとも合致しない場合、前記ひらがな文字列を端部から短縮していき、該短縮したひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列に合致するか判定し、
前記短縮したひらがな文字列が前記ひらがな列に合致する場合、前記ひらがな変換テーブルから前記ひらがな列に対応するローマ字表現を取得し、
前記第３の検索キーに含まれるひらがな文字列から前記合致したひらがな列を削除して新たなひらがな文字列とすることを繰り返すことで、前記第３の検索キーのひらがな文字列をローマ字に変換する
ことを特徴とする請求項１に記載の文字列入力装置。
【請求項３】
前記ひらがな変換テーブルは、
清音、濁音、半濁音、拗音、促音を１ないし３文字組み合わせてなるひらがな列と、１文字のアルファベット母音と１ないし３文字のアルファベット子音とを組合せてなるローマ字表現とを対応付けて記憶する
ことを特徴とする請求項１または２に記載の文字列入力装置。
【請求項４】
一文字のローマ字と、そのひらがな読みとを対応付けて記憶するローマ字変換テーブルを更に備え、
前記検索キー生成手段は、
前記第１の検索キーまたは前記第２の検索キーに含まれる半角英数字を、前記ローマ字変換テーブルに基づいて、ひらがな読みに変換して第４の検索キーを生成し、
前記変換候補抽出手段は、
前記検索キー生成手段により生成された前記第１の検索キー、前記第２の検索キー前記第３の検索キー及び前記第４の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する
ことを特徴とする請求項１乃至３のいずれかに記載の文字列入力装置。
【請求項５】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成するステップと、
前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップと
を備えることを特徴とする文字列入力方法。
【請求項６】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、
入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成するステップと、
前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コールセンタなどにおける入力作業に好適な文字列入力装置、文字列入力方法、および、プログラムに関する。
【背景技術】
【０００２】
出願人は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録され、互いに係り受け関係にある単語を木構造に構成した読み補完辞書と、読み補完辞書に含まれる各単語が漢字等に変換された単語として記録され、変換処理前と後の単語を対応付けて、読み補完辞書の木構造と合致した木構造に構成した綴り補完辞書とを備えることにより、確定済文字列と未確定文字列とが混在して与えられても、効率的に変換候補語を抽出できる文字列入出力装置を開示した（例えば、特開２００７−３３４５３４号公報）。
【０００３】
かな漢字変換機能を用いた日本語入力においては、日本語の文章中に英単語を挟もうとする作業がしばしば問題となる。
【０００４】
端末オペレータには、通常、２つの選択肢がある。１つは、かな漢字変換機能をＯＦＦにする方法であり、もう１つは、自動的にローマ字から、かなに（場合によってはローマ字かな混じり文字列に）変換された未確定文字列に対し、所定のキータイプによって変換を解除する操作を行う方法である（例えば、マイクロソフト社（登録商標）のＩＭＥ（Input Method Editor）の場合には、キーボードのＦ９キーを押すことによって実現される）。
【０００５】
しかしながら、いずれの操作も簡潔とはいえず、これを解決するいくつかの方法が提案されている。例えば、特許文献１は、入力力モード（例えば、「ローマ字入力」）と入力文字列（例えば、「ふぉｒまｔ」）と変換語句（ＦＯＲＭＡＴ）とをセットにして辞書に記憶し、最も良く使用するローマ字入力モードから英字入力モードに変更することなく、また、無変換キーなどを押す必要もなく、文字列「ＦＯＲＭＡＴ」を得る発明を開示する。
【０００６】
一方、特許文献２は、非ターゲット言語（例えば、英語）でユーザが部分入力した文字列（例えば、ａｕ）を、ターゲット言語（例えば、日本語）で有り得る表現に変換し（ａｕ→あう）、その上でターゲット言語で単語を補完して完成する（あう→アウトレット）発明を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−３３５２１７号公報
【特許文献２】特表２００８−５３７２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、読み補完辞書と綴り補完辞書を用いた日本語入力装置でも、オペレータが、かな漢字変換機能のＯＮ／ＯＦＦに煩わされることなく、日本語と英語が入り混じった文章が入力できれば便利である。
しかしながら、既知の方法と特開２００７−３３４５３４号公報などに開示された日本語入力装置は、辞書構造が大きく異なるため、適用できないという問題があった。
【０００９】
また、綴り補完辞書に「ＮＴＴデータ」、読み補完辞書に「えぬてぃてぃでーた」というノードを有していたとする。端末オペレータが「ＮＴＴ」まで入力した段階では、「ＮＴＴ」を検索キーとして綴り補完辞書を探索すると、「ＮＴＴデータ」と部分一致するので、「データ」を補完候補語として表示することができる。しかしながら、端末オペレータが「ＮＴＴで」まで入力を進めてしまうと、もはや読み補完辞書でも、綴り補完辞書でも一致するノードが得られなくなってしまうという問題があった。
【００１０】
本発明は、このような事情を考慮してなされたものであり、その目的は、かな漢字変換機能をＯＮにしたままで英単語入力を行った結果、入力エリアに意図しない文字列が表示された場合でも、検索キーに所定の変換を施すことによって、所期の候補語を表示することができる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【００１１】
また、入力エリアから日本語とアルファベットとの入り混じった文字列が得られたとき、検索キーに所定の変換を施すことによって、読み補完辞書を検索することができる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するひらがな変換テーブルと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成する検索キー生成手段と、前記検索キー生成手段により生成された前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する変換候補抽出手段とを備えることを特徴とする文字列入力装置である。
【００１３】
本発明は、上記の発明において、前記検索キー生成手段は、前記第３の検索キーに含まれるひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列のいずれとも合致しない場合、前記ひらがな文字列を端部から短縮していき、該短縮したひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列に合致するか判定し、前記短縮したひらがな文字列が前記ひらがな列に合致する場合、前記ひらがな変換テーブルから前記ひらがな列に対応するローマ字表現を取得し、前記第３の検索キーに含まれるひらがな文字列から前記合致したひらがな列を削除して新たなひらがな文字列とすることを繰り返すことで、前記第３の検索キーのひらがな文字列をローマ字に変換することを特徴とする。
【００１４】
本発明は、上記の発明において、前記ひらがな変換テーブルは、清音、濁音、半濁音、拗音、促音を１ないし３文字組み合わせてなるひらがな列と、１文字のアルファベット母音と１ないし３文字のアルファベット子音とを組合せてなるローマ字表現とを対応付けて記憶することを特徴とする。
【００１５】
本発明は、上記の発明において、一文字のローマ字と、そのひらがな読みとを対応付けて記憶するローマ字変換テーブルを更に備え、前記検索キー生成手段は、前記第１の検索キーまたは前記第２の検索キーに含まれる半角英数字を、前記ローマ字変換テーブルに基づいて、ひらがな読みに変換して第４の検索キーを生成し、前記変換候補抽出手段は、前記検索キー生成手段により生成された前記第１の検索キー、前記第２の検索キー前記第３の検索キー及び前記第４の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出することを特徴とする。
【００１６】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成するステップと、前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップとを備えることを特徴とする文字列入力方法である。
【００１７】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、少なくとも１文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第１の検索キーを生成し、前記第１の検索キーの前記全角カタカナをひらがなに変換して第２の検索キーを生成し、さらに前記第２の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第３の検索キーを生成するステップと、前記第１の検索キー、前記第２の検索キー及び前記第３の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップとを実行させることを特徴とするプログラムである。
【発明の効果】
【００１８】
この発明によれば、仮名漢字変換機能のＯＮ／ＯＦＦを切り替えずとも、日本語とアルファベットとの入り混じった文章を入力できるので、より効率的な文字列入力を行うことができるという利点が得られる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態による入力端末１の構成を示すブロック図である。
【図２】本実施形態による辞書データの構成例を示すブロック図である。
【図３】本実施形態による入力画面の一例を示す模式図である。
【図４】本実施形態による読み補完辞書データの構成例を示す概念図である。
【図５】本実施形態による綴り補完辞書データの構成例を示す概念図である。
【図６】本実施形態による制御部１００によって実現される機能を示す機能ブロック図である。
【図７】本実施形態による、文字列入力処理の動作を説明するためのフローチャートである。
【図８】本実施形態による、検索キー生成処理の動作を説明するためのフローチャートである。
【図９】検索キー生成処理での各種例を示す概念図である。
【図１０】本実施形態による、未確定部キーリスト生成処理の動作を説明するためのフローチャートである。
【図１１】本実施形態による、ローマ字変換処理の動作を説明するためのフローチャートである。
【図１２】本実施形態による、ひらがな変換処理の動作を説明するためのフローチャートである。
【図１３】本実施形態による、候補抽出処理の動作を説明するためのフローチャートである。
【図１４】本実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図１５】先頭未確定処理での各種例を示す概念図である。
【図１６】実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図１７】先頭確定処理での各種例を示す概念図である。
【図１８】実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図１９】余剰一致処理での各種例を示す概念図である。
【図２０】実施形態による、出力処理の動作を説明するためのフローチャートである。
【図２１】出力処理での各種例を示す概念図である。
【図２２】実施形態による、出力例を説明するための模式図である。
【図２３】本実施形態による、キー末尾からローマ字読みに変換する場合のローマ字変換処理の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００２０】
本実施形態では、本発明を、例えば、コールセンタなどでの入力業務に用いる入力端末に適用した場合を例に説明する。
【００２１】
本実施形態にかかる入力端末１は、例えば、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものとする。以下、本実施形態にかかる入力端末１を、図１を参照して説明する。図１は、本実施形態による入力端末１の構成を示す概略ブロック図である。図示するように、入力端末１は、制御部１００、入力制御部２００、出力制御部３００、記憶部４００などから構成される。
【００２２】
制御部１００は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）や、ワークエリアとなるメモリなどから構成され、記憶部４００に格納されているプログラムを読み出して実行することで、入力端末１の各部を制御するとともに、後述する各処理を実行する。
【００２３】
入力制御部２００は、例えば、キーボード２１１や、ポインティングデバイス２１２などの入力装置２１０と入力端末１とを接続し、入力装置２１０の操作に応じた入力信号を制御部１００に入力する。本実施形態では、キーボード２１１を用いて文字列の入力がなされ、ポインティングデバイス２１２を用いて入力エリアの選択などが行われるものとする。
【００２４】
出力制御部３００は、例えば、ディスプレイ装置３１１などの出力装置３１０と入力端末１とを接続し、制御部１００の処理結果などを出力装置３１０に出力する。本実施形態では、予め用意されている入力画面がディスプレイ装置３１１に出力されることにより表示され、入力装置２１０を用いた入力操作が、当該表示された入力画面上で行われるものとする。
【００２５】
記憶部４００は、例えば、ハードディスク装置などの記憶装置から構成され、主に、本実施形態にかかる文字列入力処理に必要な情報を格納する。本実施形態では、記憶部４００に、辞書格納領域４１０、プログラム格納領域４４０、検索された変換候補を記憶する結果テーブル４５０などの記憶領域が確保されるものとする。
【００２６】
辞書格納領域４１０には、入力端末１を用いた文字列入力の際に用いられる辞書データが格納される。本実施形態では、入力端末１を用いた文字列入力において、自然言語としての日本語入力が行われるものとする。この場合、入力端末１は、いわゆるＦＥＰ（Front End Processor）の動作により、キーボード２１１からの入力に応じた入力変換を行う。よって、辞書格納領域４１０には、このような、日本語入力変換の際に参照される辞書データが格納される。この場合、入力端末１は、辞書格納領域４１０に格納されている辞書データを参照することで、変換候補（入力候補）の文字列を選択可能に表示出力する。
【００２７】
本実施形態にかかる辞書データの例を、図２を参照して説明する。図２は、辞書格納領域４１０に格納される辞書データの構成を説明する図である。この図に示すように、辞書格納領域４１０には、基本辞書領域４２０と入力内容別辞書領域４３０とが確保される。基本辞書領域４２０は、入力端末１での日本語入力の際に参照される辞書データのうち、一般的な辞書データ（以下、「基本辞書データ」とする）を格納する領域である。この基本辞書データには、種々の単語と、その品詞や、読みなどを示す情報とが対応付けられている。すなわち、通常の入力用ＦＥＰなどで用いられる一般的な辞書データが、基本辞書データとして基本辞書領域４２０に格納されている。
【００２８】
入力内容別辞書領域４３０は、入力端末１が用いられる業務内容などに基づいて、入力内容に応じて用意された辞書データを格納する領域である。例えば、入力端末１をコールセンタ業務に用いる場合、入力項目が予め規定されているので、特定の入力項目での入力に用いられる単語群から構成される辞書データが入力内容別辞書領域４３０に格納される。すなわち、入力内容別辞書領域４３０には、入力内容毎に用意された専用辞書データが格納される。
【００２９】
一例として、図２に示すような、応対入力辞書データ（Ａ１）４３１や、住所入力辞書データ（Ａ２）４３２などが入力内容別辞書領域４３０に格納される。このような入力内容別辞書データは、入力画面の入力エリアと対応付けられている。ここで、図３は、入力画面の一例を表す図である。例えば、この図に示すような入力画面ＩＳの場合、応対入力辞書データ４３１は、電話応対での応対内容を入力するための入力エリアＡ１と対応付けられる。住所入力辞書データ４３２は、住所情報を入力するための入力エリアＡ２と対応付けられる。すなわち、図３に示したような入力画面ＩＳにおいては、辞書データが対応付けされた入力エリアについては、その入力エリアに入力される内容が規定される。
【００３０】
このような入力内容別に用意された辞書データのそれぞれには、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完辞書データ」と、が一対となって含まれている。すなわち、図２に示すように、応対入力辞書データ（Ａ１）４３１には、読み補完辞書データ４３１Ａと綴り補完辞書データ４３１Ｂとが対応付けられて含まれている。住所入力辞書データ４３２（Ａ２）には、読み補完辞書データ４３２Ａと綴り補完辞書データ４３２Ｂとが対応付けられて含まれている。
【００３１】
入力内容別に用意された辞書データのそれぞれは、このような一対の異なる辞書データによって構成されており、応対入力辞書データ（Ａ１）４３１と住所入力辞書データ（Ａ２）４３２とのそれぞれが１組の辞書データである。よって、仮に、応対入力辞書データ（Ａ１）４３１と住所入力辞書データ（Ａ２）４３２のみが入力内容別辞書領域４３０に格納されているのであれば、入力内容別辞書領域４３０には、２組の辞書データが格納されていることになる。
【００３２】
このような入力内容別辞書データの構成を、図４および図５を参照して説明する。ここでは、入力内容別辞書データの一例として、応対入力辞書データ４３１の構成について説明する。図４は、読み補完辞書データ４３１Ａの構成例を示す概念図であり、図５は、綴り補完辞書データ４３１Ｂの構成例を示す概念図である。なお、本実施形態では、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、応対入力辞書データ４３１が構成されている場合について説明する。
【００３３】
図４を参照して、読み補完辞書データ４３１Ａの構成例を説明する。
図示するように、読み補完辞書データ４３１Ａは、辞書の要素である単語の「読み」を結節点（ノード）とした、樹状の階層構造（木構造）のバイナリデータによって構成されている。そして、主語となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語（ノード）とが連結された構成（ノード列）となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。ここで、読み補完辞書データ４３１Ａは、入力される単語の「読み」に基づく辞書であるので、各ノードには、読みを表すひらがなによって見出し語が示されている。
【００３４】
このような読み補完辞書データ４３１Ａと対をなす綴り補完辞書データ４３１Ｂの構成例を図５に示す。図示するように綴り補完辞書データ４３１Ｂは、読み補完辞書データ４３１Ａと同一の階層構造（木構造）によって構成されており、読み補完辞書データ４３１Ａの各ノードに示された読みに対応する綴りが、その読み補完辞書データ４３１Ａのノードに対応する綴り補完辞書データ４３１Ｂのノードの位置に、綴り補完辞書データ４３１Ｂの各ノードの見出し語として構成される。
【００３５】
つまり、綴り補完辞書データ４３１Ｂは、読み補完辞書データ４３１Ａに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードを、各ノードの綴りに基づいて構成された辞書データである。例えば、読み補完辞書データ４３１Ａにおいて、読みが「けいたい」であるノードにリンクする綴り補完辞書データ４３１Ｂでのノードでは、「けいたい」の変換後表記である「携帯」が対応する。
【００３６】
ここで、読み補完辞書データ４３１Ａおよび綴り補完辞書データ４３１Ｂの各ノードに付されている丸記号（○の中にアルファベット）は、読み補完辞書データ４３１Ａと綴り補完辞書データ４３１Ｂとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データ４３１Ａと綴り補完辞書データ４３１Ｂとの間において、同じ丸記号（同じアルファベット）のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。これにより、一対の読み補完辞書データ４３１Ａと綴り補完辞書データ４３１Ｂとは、ノード単位でリンクされていることを表している。
【００３７】
上述した図１に示すプログラム格納領域４４０には、制御部１００が実行するプログラムが格納される。そして、制御部１００が、プログラム格納領域４４０に格納されているプログラムを実行することで、本実施形態にかかる文字列入力処理を実行する際の機能が実現される。制御部１００によって実現される機能を図６に示す。
【００３８】
図６は、制御部１００によって実現される機能を示す機能ブロック図である。図示するように、制御部１００は、辞書選択部１１０、検索キー生成部１２０、変換候補抽出部１３０、変換候補出力部１４０等の機能を含む。
【００３９】
辞書選択部１１０は、入力画面ＩＳ上の入力エリアのいずれに入力が行われているかを判別し、判別された結果に基づいて、その入力エリアに応じた辞書を辞書格納領域４１０から選択する。
【００４０】
検索キー生成部１２０は、入力が行われている入力エリアから文字列を取得し、検索キーリスト４７０を生成して変換候補抽出部１３０へ引き渡す。また、検索キー生成部１２０は、検索キーリスト４７０生成のために未確定部キーリスト４６０を作成して利用する。
【００４１】
変換候補抽出部１３０は、検索キー生成部１２０が生成した検索キーと辞書選択部１１０によって指定された辞書とに基づいて、変換候補語を抽出し、記憶部４００の結果テーブル４５０に記憶する。
【００４２】
変換候補出力部１４０は、変換候補抽出部１３０で抽出された候補語から、後述するように、冗長な部分を削除する。そして、出力制御部３００との協働により、整形後の文字列を選択可能にディスプレイ装置３１１に表示出力する。
【００４３】
本実施形態では、制御部１００がプログラムを実行することで、図６に示す各機能構成が論理的に実現されるが、これらの機能を、例えば、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などの物理的な構成によって実現してもよい。
【００４４】
次に、上述した構成を有する入力端末１の動作を説明する。ここでは、入力端末１を用いて文字列入力を行う場合に実行される「文字列入力処理」を、図７〜図２２を参照して説明する。この処理は、例えば、図３に示すような入力画面ＩＳを表示する操作が行われたことを契機に開始されるものとする。
【００４５】
まず、図７において、処理が開始され、オペレータによって入力装置２１０から入力がなされると、入力制御部２００から制御部１００への入力信号に基づき、辞書選択部１１０は、表示した入力画面ＩＳ上の、どの入力エリアが指定されたかを判別する（Ｓ００１）。すなわち、入力端末１のオペレータによるポインティングデバイス２１２等の操作によって、入力画面ＩＳ上に用意された入力エリアのうち、入力対象となる入力エリアが選択されたか否かを判別する。
【００４６】
いずれかの入力エリアが指定されると（Ｓ００１：ＹＥＳ）、辞書選択部１１０は、指定された入力エリアが特定の入力エリアであるか否かを判別する（Ｓ００２）。本実施形態では、辞書データが対応付けられた入力エリアであって、入力内容別辞書を用いた変換入力の対象となっている入力エリアを特定の入力エリアである。ここでは、応対内容を入力するための入力エリアＡ１と住所を入力するための入力エリアＡ２（図３参照）が該当する。
【００４７】
指定された入力エリアが、特定の入力エリアではないと判定された場合（Ｓ００２：ＮＯ）、基本辞書領域４２０の基本辞書データを参照し、通常の入力変換動作によって文字列入力が行われる（Ｓ１００）。
【００４８】
一方、特定の入力エリアが指定されたと判定された場合（Ｓ００２：ＹＥＳ）、辞書選択部１１０は、指定された入力エリアの種別を検出する。ここでは、入力エリアＡ１が指定された場合には、その入力エリアに対応づけされている識別子「Ａ１」が検出され、入力エリアＡ２が指定された場合には、その入力エリアに対応付けされている識別子「Ａ２」が検出される。
【００４９】
辞書選択部１１０は、識別子を検出すると、入力内容別辞書領域４３０にアクセスし、検出された識別子に対応する辞書データを選択する（Ｓ００３）。図２に示すように、入力内容別辞書領域４３０に格納されている複数組の入力内容別辞書データには、対応する入力エリアを示す識別子（図２の例では「Ａ１」と「Ａ２」）が付与されている。よって、辞書選択部１１０は、検出された識別子に基づいて、対応する識別子が付与されている辞書データを選択する。以下、本実施形態では、入力エリアＡ１に文字列入力を行うものとして説明する。よって、ここでは、応対入力辞書データ（Ａ１）４３１が選択される。
【００５０】
使用する辞書データを選択すると、辞書選択部１１０は、選択した辞書データがいずれであるかを変換候補抽出部１３０に通知するとともに、指定された入力エリアを検索キー生成部１２０に通知する。
【００５１】
辞書選択部１１０から入力エリアの通知を受けると、検索キー生成部１２０は、指定された入力エリアにある文字列を取得して検索キーを生成する（Ｓ２００）。検索キーの生成には、種々の方法が考えられるが、本実施形態では、図８に示すフローチャートに従って検索キーを生成する。
【００５２】
すなわち、検索キー生成部１２０は、まず、指定された入力エリア中の文字列を取得する（Ｓ２０１）。一般に、入力エリアには、変換終了した確定文字列と、変換すべく入力作業中の未確定文字列とが混在している。そして、未確定文字列には、ＦＥＰが機能する前の「ひらがな」状態と、ＦＥＰが機能して漢字などの変換候補が暫定的に表示された状態とがある。以降において、未確定文字列部分は、下線付加によって示すこととする。「確定文字列＋未確定文字列」の例は、図９（ａ）に示すようになる。ここでは、「携帯電話」の文字列を入力する場合において、「携帯」の文字列の漢字が確定しており、「でんわ」の部分がＦＥＰが機能する前の未確定文字列である。そして、「でんわ」の文字列が、暫定的に「電話」として変換される。
【００５３】
次いで、検索キー生成部１２０は、得られた文字列のうち、最後の句点「。」以前の文字列を削除する（Ｓ２０２）。その例を図９（ｂ）に示す。
【００５４】
次に、検索キーの未確定部の右側に確定文字列がある場合には、検索キーから削除（除外）する（Ｓ２０３）。その例を図９（ｃ）に示す。
【００５５】
一般に、文字列中に未確定部が複数存在することはない。したがって、入力エリアの文字列の状態は、次のような場合に限られる。
（１）確定部のみ
（２）確定部＋未確定部
（３）確定部＋未確定部＋確定部
（４）未確定部のみ
（５）未確定部＋確定部
【００５６】
このうち、ステップＳ２０３の処理の結果、（３）の場合は（２）の場合に、（５）の場合は（４）の場合に帰着するので、検索キーは、（１）「確定部のみ」、（２）「確定部＋未確定部」、（４）「未確定部のみ」の３通りの場合に限られることとなる。
【００５７】
次に、検索キー生成部１２０は、検索キーを「確定部」と「未確定部」とに分離し（Ｓ２０４）、未確定部キーリスト生成処理を行う（Ｓ８００）。次に、確定部のうち、最後に確定された部分（前回確定部）を抽出する（Ｓ２０５）。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。最後に、検索キー生成部１２０は、「前回確定部」と「未確定部」とをそれぞれ結合して検索キーリストを作成する（Ｓ２０６）。
【００５８】
次に、図１０、図１１、図１２を参照して、上記Ｓ８００の未確定部キーリスト生成処理を説明する。まず、検索キー生成部１２０は、未確定部を取得し（Ｓ８０１）、分離した未確定部の有無を判断する（Ｓ８０２）。未確定部が存在しない場合には（Ｓ８０２：ＮＯ）、未確定部キーリスト４６０に長さゼロの文字列を追加し（Ｓ８０５）、未確定部キーリスト生成処理を終了する。
【００５９】
一方、未確定部が存在する場合には（Ｓ８０２：ＹＥＳ）、全角／半角変換処理を行う（Ｓ８０３）。全角／半角変換処理では、半角カタカナを全角カタカナに、全角英数字を半角英数字に変換する。一例として、以下のように変換する。
【００６０】
（例）ＮＴＴテ゛ータ（「ＮＴＴ」が全角、「テ゛ータ」が半角）
↓
NTTデータ（「NTT」が半角、「データ」が全角）
となる。なお、変換後の文字列をｘ１とする。
【００６１】
続いて、検索キー生成部１２０は、変換後の文字列ｘ１を未確定部キーリスト４６０に記録し（Ｓ８０４）、ローマ字変換処理（Ｓ９００）と、ひらがな変換処理（Ｓ１０００）とを行う。
【００６２】
図１１を用いて「ローマ字変換処理」について説明する。処理の流れを詳しく見るため、ここでは、変換後の文字列ｘ１を「JAPANトッキョチョウ」として説明する。
【００６３】
検索キー生成部１２０は、文字列ｘ１からカタカナ部「トッキョチョウ」を抽出する（Ｓ９０１）。該カタカナ部をｘ２とする。次いで、逐次変換されるローマ字を記憶するバッファｘ４を初期化（ヌル化）しておく（Ｓ９０２）。そして、カタカナ文字列をひらがな文字列「とっきょちょう」に変換し、ｘ３に記憶する（Ｓ９０３）。
【００６４】
次に、ｘ２とｘ３とが異なるか否かを判定する（Ｓ９０４）。この場合、カタカナ部ｘ２「トッキョチョウ」とひらがな文字列ｘ３「とっきょちょう」とは、異なる文字列なので（Ｓ９０４のＹＥＳ）、検索キー生成部１２０は、「JAPANとっきょちょう」を未確定部キーリスト４６０に追加する（Ｓ９０５）。なお、ｘ１が元々「JAPANとっきょちょう」だった場合には、カタカナ変換の前後で変化しないので（ｘ２＝ｘ３、Ｓ９０４：ＮＯ）、未確定部キーリスト４６０に新たに追加するものは無い。
【００６５】
続いて、検索キー生成部１２０は、作業バッファｘとｙにｘ３を記憶する（Ｓ９０６）。次に、ｙの長さが０であるか否かを判定する（Ｓ９０７）。この場合、最初、ｙの長さは７なので（Ｓ９０７：ＮＯ）、ｙ「とっきょちょう」をキーとしてhira2rome辞書を検索する（Ｓ９０８）。hira2rome辞書は、例えば、表１のように、ローマ字候補が母音一個を含む単位で構成される。
【００６６】
【表１】
2010266950.tif 000003
【００６７】
次に、hira2rome辞書にキー「とっきょちょう」に該当するローマ字候補があるか否かを判定する（Ｓ９０９）。この場合、キー「とっきょちょう」は、ひらがなリストのいずれとも一致しないので（Ｓ９０９：ＮＯ）、「とっきょちょう」を右から一文字減らした「とっきょちょ」を新たなｙとする（Ｓ９１０）。
【００６８】
そして、Ｓ９０７からＳ９１０のループを繰り返し、ｙが長さ１の「と」まで短縮されると、ローマ字候補「to」が得られ（Ｓ９０９：ＹＥＳ）、作業バッファｚに格納される。検索キー生成部１２０は、ｘ４にｚを記憶し（Ｓ９１１）、ｘ「とっきょちょう」の左からｙ「と」を削除して「っきょちょう」を新たなｘとする（Ｓ９１２）。次に、ｘは長さ０であるか否かを判定する（Ｓ９１３）。このとき、ｘは長さ６なので（Ｓ９１３：ＮＯ）、検索キー生成部１２０は、ｙにも「っきょちょう」を代入する（Ｓ９１４）。
【００６９】
そして、再び、Ｓ９０７〜Ｓ９１０のhira2rome検索ループに戻って、ローマ字候補を検索する。そして、ｙが「っきょ」まで短縮されると、ローマ字候補「kkyo」が得られ（Ｓ９０９：ＹＥＳ）、作業バッファｚに格納される。検索キー生成部１２０は、ｘ４「to」に右からｚ「kkyo」を結合して「tokkyo」とする（Ｓ９１１）。そして、ｘ「っきょちょう」の左からｙ「っきょ」を削除して「ちょう」を新たなｘとする（Ｓ９１２）。このとき、ｘは長さ３なので（Ｓ９１３：ＮＯ）、検索キー生成部１２０は、ｙにも「ちょう」を代入する（Ｓ９１４）。
【００７０】
そして、三度、Ｓ９０７〜Ｓ９１０のhira2rome検索ループに戻って、ローマ字候補を検索し、ｙが「ちょ」まで短縮されると、ローマ字候補「cho」が得られ（Ｓ９０９：ＹＥＳ）、作業バッファｚに格納される。検索キー生成部１２０は、ｘ４「tokkyo」に右からｚ「cho」を結合して「tokkyocho」とする（Ｓ９１１）。そして、ｘ「ちょう」の左からｙ「ちょ」を削除して「う」を新たなｘとする（Ｓ９１２）。この場合、ｘは長さ１なので、検索キー生成部１２０は、ｙにも「う」を代入する。
【００７１】
そして、四度、Ｓ９０７〜Ｓ９１０のhira2rome検索ループに戻り、今度は、ｙの短縮を経ることなく、ローマ字候補「u」が得られ（Ｓ９０９：ＹＥＳ）、作業バッファｚに格納される。検索キー生成部１２０は、ｘ４「tokkyocho」に右からｚ「u」を結合して「tokkyochou」とする（Ｓ９１１）。そして、ｘ「う」の左からｙ「う」を削除してｘをヌルとする（Ｓ９１２）。
【００７２】
ｘは、長さゼロとなるので（Ｓ９１３：ＹＥＳ）、処理はＳ９１５へ進み、ｘ４の長さが０であるか否かを判定する（ステップＳ９１５）。ｘ４には、ローマ字候補が記憶されており、長さがゼロでないので、検索キー生成部１２０は、ｘ１「JAPANトッキョチョウ」のカタカナ部をｘ４「tokkyochou」で置換した「JAPANtokkyochou」をｘ５に記憶し（Ｓ９１６）、未確定部キーリスト４６０にｘ５を追加する（Ｓ９１７）。
【００７３】
以上、ｘ１が「JAPANトッキョチョウ」の場合を例にローマ字変換処理を説明したが、ｘ１が「NTTデータ」の場合には、ｘ１のカタカナをひらがなに変換した文字列「NTTでーた」とｘ５「NTTde-ta」が未確定部キーリスト４６０に追加される。
【００７４】
このようなローマ字変換処理は、次のような場合に有効である。
すなわち、綴り補完辞書に「NTTdata」を有するとき、オペレータが「NTT」まで入力すれば補完機能が働いて、候補語「NTTdata」を提示することができるが、勢いあまって「da」までタイプしてしまうと、入力エリアには、かな漢字変換機能ＯＮの場合、「NTTだ」と表示されてしまう。ここまで入力が進んでしまうと、もはや「NTTdata」を候補語として表示することはできなかった。これに対して、上述した本実施形態によるローマ字変換処理によれば、「NTTだ」のみならず、「NTTda」も検索キーとして変換候補抽出部１３０へ渡すことが可能となる。
【００７５】
次に、図１２を参照して「ひらがな変換処理」について説明する。ここでは、ｘ１が「NTTデータ」だった場合を例に説明する。検索キー生成部１２０は、まず、ｘ１のカタカナ部がひらがなに変換された文字列の有無を確認し、あれば当該文字列をｘ６に、なければｘ１をｘ６に格納する（Ｓ１００１）。当該例の場合、「NTTデータ」のカタカナ部がひらがなに変換された「NTTでーた」が未確定部キーリスト４６０に存在するので、ｘ６に「NTTでーた」を格納する。
【００７６】
検索キー生成部１２０は、ｘ６の文字列長６を取得し、Ｌに格納し、また、ひらがな変換処理ループの変数ｉと、ひらがな変換作業用配列ａ１〜ａＬを初期化する（Ｓ１００２）。ｉは１とし、配列ａ１〜ａＬにはヌル文字を詰める。
【００７７】
ｘ６［１］は、「N」である。rome2hira辞書は、例えば、次の表２に示すように構成する。
【００７８】
【表２】
2010266950.tif 000004
【００７９】
検索キー生成部１２０は、ｘ６［１］をキーとしてrome2hira辞書を検索する（Ｓ１００３）。次に、検索結果が得られたか否かを判定し（Ｓ１００４）、「N」の読みとして「えぬ」が得られると（Ｓ１００３：ＹＥＳ）、検索キー生成部１２０は、ひらがな変換処理作業配列ａ１の先頭ａ１［１］に「えぬ」を格納する（Ｓ１００５）。次に、検索キー生成部１２０は、ｉを１つ増やして２とし（Ｓ１００７）、ｉがＬより大であるか否かを判定する（Ｓ１００８）。
【００８０】
この場合、ｉ（２）はＬ（６）より小さく、ｘ６の最後の文字まで処理が終わっていないので（Ｓ１００８：ＮＯ）、Ｓ１００３へ戻る。次いで、検索キー生成部１２０は、ｘ６［２］、すなわち「T」をキーとしてrome2hira辞書を検索する（Ｓ１００３）。すると、「T」の読みとして「てぃ、てぃー、てー」が得られる（Ｓ１００４：ＹＥＳ）。検索キー生成部１２０は、ひらがな変換処理作業配列ａ２のａ２［１］に「てぃ」を、ａ２［２］に「てぃー」を、ａ２［３］に「てー」をそれぞれ格納する（Ｓ１００５）。
【００８１】
同様に、配列ａ３にも「てぃ、てぃー、てー」を格納する。
ｘ６［４］は「で」である。この場合、rome2hira辞書によるアルファベットの読み検索は不成功に終わる（Ｓ１００４：ＮＯ）。この場合、ａ４［１］には、「で」をそのまま格納する（Ｓ１００６）。したがって、ａ５［１］には「ー」が、ａ６［１］には「た」が格納される。
【００８２】
そして、ｘ６［６］までの読み候補検索が終了すると、ｉは７になるので（Ｓ１００７：ＹＥＳ）、rome2hira検索ループを終了する。この結果、配列ａ１〜ａ６には、次の表３に示す文字列が格納されたことになる。
【００８３】
【表３】
2010266950.tif 000005
【００８４】
次に、配列ａ１〜ａＬのいずれかに要素数２以上のものがあるか否かを判定する（Ｓ１００９）。この例の場合、配列ａ２とａ３は、要素数が３なので（Ｓ１００８：ＹＥＳ）、配列ａ１〜ａ６の組合せを尽くして未確定部キーリスト４６０に追加する（Ｓ１０１０）。配列ａ１〜ａ６の組合せ（３×３＝９通り）は、次の表４に示すようになる。
【００８５】
【表４】
2010266950.tif 000006
【００８６】
以上の結果、検索キー生成部１２０は、入力エリアから「ＮＴＴテ゛ータ」（全角「ＮＴＴ」、半角「テ゛ータ」）を取得して、次の表５に示すように、未確定部キーリスト４６０を生成したことになる。
【００８７】
【表５】
2010266950.tif 000007
【００８８】
図８に説明を戻すと、検索キー生成部１２０は、確定部のうち、最後に確定された部分（前回確定部）を抽出する（Ｓ２０５）。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。最後に、検索キー生成部１２０は、「前回確定部」と「未確定部キーリスト」の各要素をとを結合して検索キーリスト４７０を生成する。
【００８９】
次に、図７に説明を戻すと、変換候補抽出部１３０は、検索キー生成部１２０から検索キーリスト４７０を受け取り、辞書選択部１１０が選択した辞書を用いて変換候補を抽出し、出力する（Ｓ３００）。ここで、図１３〜図１９を参照して変換候補抽出部１３０の動作を説明する。
【００９０】
図１３において、変換候補抽出部１３０は、まず、検索キーリスト４７０から検索キーを取得し（Ｓ３０１）、検索キーの先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する（Ｓ３０２）。そして、検索キーの先頭が「ひらがなのみ」で、かつ「未確定部」である場合には（Ｓ３０２：ＹＥＳ）、「先頭未確定処理」（Ｓ５００）に進み、「ひらがなのみ」からなる「未確定部」でない場合（Ｓ３０２：ＮＯ）には、「先頭確定処理」（Ｓ６００）に進む。ステップＳ５００、Ｓ６００が終了すると、結果テーブルを出力し（Ｓ３０３）、検索キーリストに未処理の検索キーがないか否かを判定し（Ｓ３０４）、未処理の検索キーがある場合には、Ｓ３０１に戻り、次の検索キーに対して上記処理を繰り返す。一方、未処理の検索キーがない場合には当該処理を終了する。
【００９１】
次に、上記ステップＳ５００の「先頭未確定処理」について図１４を参照して説明する。変換候補抽出部１３０は、まず、「読み補完辞書」から係り側ノードを１つ取得する（Ｓ５０１）。これをノードｘとする。なお、以降、アルファベット小文字を用いて「ノードｘ」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードＸ」と記載した場合には、ノードｘと対応する、綴り補完辞書のノードを表すものとする。
【００９２】
ノードｘと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードｘとの長短に応じて、包含関係を次のように定義する。
検索キー  ⊂  ノードｘ  部分一致
検索キー  ＝  ノードｘ  完全一致
検索キー  ⊃  ノードｘ  余剰一致
【００９３】
また、読み補完辞書および綴り補完辞書は、各々、図４および図５に示すように構成されているものとする。ノードｘが「けいたい」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図１５（ａ）に示す通りである。
【００９４】
なお、前方一致とは検索キーとノードｘとの一致判断にあたり、常に先頭部分（文字列左端）の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図１５（ｂ）に示す。
【００９５】
検索キーとノードｘに何らの一致（前方一致）もない場合（Ｓ５０２：ＮＯ）、変換候補抽出部１３０は、読み補完辞書に比較すべきノードが残っていないか確認する（Ｓ５０６）。比較すべきノードが残っていれば（Ｓ５０６：ＮＯ）、ステップＳ５０１へ戻る。
【００９６】
一方、比較すべきノードが残っていない場合（Ｓ５０６：ＹＥＳ）は、当該先頭未確定処理を終了する。
【００９７】
また、検索キーとノードｘとがいずれかの形で前方一致すれば（Ｓ５０２：ＹＥＳ）、変換候補抽出部１３０は、ノードｘと対応する綴り補完辞書のノードＸ（大文字Ｘ）を取得する（Ｓ５０３）。
【００９８】
そして、部分一致の場合（Ｓ５０４：ＹＥＳ）、変換候補抽出部１３０は、ノードＸを結果テーブル４５０に追加する（Ｓ５０５）。その例を図１５（ｃ）に示す。
【００９９】
その後、比較すべき候補がまだ残っていれば（Ｓ５０６：ＮＯ）、Ｓ５０１へ戻る。全てのノードｘについて比較が終了していれば（Ｓ５０６：ＹＥＳ）、当該先頭未確定処理を終了する。
【０１００】
一方、完全一致の場合（Ｓ５０４：ＮＯ、Ｓ５０７：ＹＥＳ）、変換候補抽出部１３０は、受け側ノード列を含めて、ノードＸを結果テーブル４５０に追加する（Ｓ５０８）。
その例を図１５（ｄ）に示す。
【０１０１】
その後、比較すべき候補がまだ残っていれば（Ｓ５０６：ＮＯ）、Ｓ５０１へ戻る。全てのノードｘについて比較が終了していれば（Ｓ５０６：ＹＥＳ）、先頭未確定処理を終了する。
【０１０２】
また、部分一致でも完全一致でもない場合には、余剰一致となる（Ｓ５０７：ＮＯ）。変換候補抽出部１３０は、ノードｘの受け側ノード列ｙを取得する（Ｓ５０９）。次いで、変換候補抽出部１３０は、検索キーからノードｘを削除した余りがノード列ｙに、前方一致を条件として含まれるか（部分一致ないし完全一致するか）判断する（Ｓ５１０）。そして、含まれれば（Ｓ５１０：ＹＥＳ）、ノード列ｙと対応する綴り補完辞書のノード列Ｙを取得し（Ｓ５１１）、ノードＸ＋ノードＹを結果テーブル４５０に追加する（Ｓ５１２）。
【０１０３】
その後、比較すべき受け側ノード列候補がまだ残っていれば（Ｓ５１３：ＮＯ）、Ｓ５０９へ戻る。一方、全てのノード列ｙについて比較が終了していれば（Ｓ５１３：ＹＥＳ）、Ｓ５０６へ進む。余りが部分一致の例を図１５（ｅ）に示し、余りが完全一致の例を図１５（ｆ）に示す。
【０１０４】
一方、検索キーからノードｘを削除した余りがノード列ｙに含まれなければ（Ｓ５１０：ＮＯ）、直接、Ｓ５１３へ進む。この例を図１５（ｇ）に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば（Ｓ５１３：ＮＯ）、Ｓ５０９へ戻る。全てのノード列ｙについて比較が終了していれば（Ｓ５１３：ＹＥＳ）、Ｓ５０６へ進む。
【０１０５】
次に、上記ステップＳ６００の「先頭確定処理」について図１６を参照して説明する。
このフローで処理される検索キーには、「確定部のみ」の場合と「確定部＋未確定部」の場合とがある。変換候補抽出部１３０は、綴り補完辞書から係り側ノードＸを１つ取得する（Ｓ６０１）。係り側ノードＸと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー  ⊂  ノードＸ    部分一致
検索キー  ＝  ノードＸ    完全一致
検索キー  ⊃  ノードＸ    余剰一致
【０１０６】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図１７（ａ）にその例を示す。
【０１０７】
検索キーとノードＸとの間に何らの一致もない場合（Ｓ６０２：ＮＯ）、変換候補抽出部１３０は、綴り補完辞書に、検索キーと比較すべきノードＸが残っていないか確認する（Ｓ６０６）。そして、比較すべきノードＸが残っていれば（Ｓ６０６：ＮＯ）、Ｓ６０１へ戻る。
【０１０８】
一方、比較すべきノードが残っていない場合には（Ｓ６０６：ＹＥＳ）、当該先頭確定処理を終了する。
【０１０９】
一方、部分一致の場合には（Ｓ６０４：ＹＥＳ）、変換候補抽出部１３０は、ノードＸを結果テーブル４５０に追加する。その例を図１７（ｂ）に示す。すなわち、検索キー「携」に対して、「携帯」、「携帯電話」が結果テーブル４５０に追加される。
【０１１０】
そして、比較すべきノードがまだ残っていれば（Ｓ６０６：ＮＯ）、Ｓ６０１へ戻る。全てのノードＸについて比較が終了していれば（Ｓ６０６：ＹＥＳ）、当該先頭確定処理を終了する。
【０１１１】
一方、完全一致の場合（Ｓ６０４：ＮＯ、Ｓ６０７：ＹＥＳ）、変換候補抽出部１３０は、受け側ノード列を含めて、ノードＸを結果テーブル４５０に追加する（Ｓ６０８）。
その例を図１７（ｃ）に示す。
【０１１２】
次いで、変換候補抽出部１３０は、綴り補完辞書に比較すべきノードが残っていないか確認する（Ｓ６０６）。比較すべきノードが残っていれば（Ｓ６０６：ＮＯ）、Ｓ６０１へ戻る。一方、比較すべきノードが残っていない場合には（Ｓ６０６：ＹＥＳ）、当該先頭確定処理を終了する。
【０１１３】
また、部分一致でも完全一致でもない場合は余剰一致となる（Ｓ６０７：ＮＯ）。
ここで、図１８を参照して余剰一致処理について説明する。変換候補抽出部１３０は、まず、ノードＸの受け側ノード列Ｙ（Ｙ１＋Ｙ２）を一組取得する（Ｓ７０１）。その例を図１９（ａ）に示す。
【０１１４】
次いで、変換候補抽出部１３０は、検索キーから係り側ノードＸを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する（Ｓ７０２）。ここで、図１９（ｂ）にＳ７０２がＹＥＳの例を示し、図１９（ｃ）にＳ７０２がＮＯの例を示す。
【０１１５】
余りαが「ひらがなのみ」からなる「未確定部」である場合には（Ｓ７０２：ＹＥＳ）、変換候補抽出部１３０は、読み補完辞書から、ノード列Ｙと対応するノード列ｙを検索して取得する（Ｓ７０３）。そして、変換候補抽出部１３０は、余りキーαがノード列ｙと部分一致ないし完全一致するか判定する（Ｓ７０４）。
【０１１６】
そして、余りキーαがノード列ｙと部分一致ないし完全一致する場合（Ｓ７０４：ＹＥＳ）、変換候補抽出部１３０は、受け側ノード列を含めて、ノードＸ＋Ｙを結果テーブル４５０に追加する（Ｓ７０５）。この例を図１９（ｄ）に示す。その後、Ｓ７０６へ進む。
【０１１７】
一方、余りキーαとノード列ｙとが部分一致も完全一致もしない場合（Ｓ７０４：ＮＯ）、すなわち、図１９（ｅ）に示すような場合には、直接、Ｓ７０６へ進む。
【０１１８】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：ＮＯ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：ＹＥＳ）、当該余剰一致処理を終了する。
【０１１９】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合（Ｓ７０２：ＮＯ）、変換候補抽出部１３０は、余りキーαがノード列Ｙのうち、前方のノードＹ１と部分一致または完全一致するか判定する（Ｓ７０７）。そして、余りキーαがノードＹ１と部分一致または完全一致する場合（Ｓ７０７：ＹＥＳ）、変換候補抽出部１３０は、受け側ノード列を含めて、ノードＸ＋ノードＹを結果テーブル４５０に追加する（Ｓ７０８）。この例を図１９（ｆ）に示す。その後、Ｓ７０６へ進む。
【０１２０】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：ＮＯ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：ＹＥＳ）、当該余剰一致処理を終了する。
【０１２１】
一方、余りキーαがノードＹ１と部分一致も完全一致もしない場合（Ｓ７０７：ＮＯ）、変換候補抽出部１３０は、余りキーαがノードＹ１を包含するか否か判定する（Ｓ７０９）。そして、余りキーαがノードＹ１を包含しない場合（Ｓ７０９：ＮＯ）、すなわち、図１９（ｇ）に示すような場合には、Ｓ７０６へ進む。
【０１２２】
一方、余りキーαがノードＹ１を包含する場合（Ｓ７０９：ＹＥＳ）、変換候補抽出部１３０は、余りキーαから更にノードＹ１を除いた余りキーβを作成し、余りキーβが「ひらがなのみ」からなる「未確定部」であるか否か判定する（Ｓ７１０）。
【０１２３】
余りキーβがひらがなのみからなる未確定部である場合（Ｓ７１０：ＹＥＳ）、変換候補抽出部１３０は、Ｙ２と対応するノードｙ２を読み補完辞書から取得し（Ｓ７１１）、余りキーβがノードｙ２と部分一致または完全一致するか判定する（Ｓ７１２）。そして、余りキーβがノードｙ２と部分一致または完全一致する場合（Ｓ７１２：ＹＥＳ）、変換候補抽出部１３０は、ノードＸ＋ノードＹを結果テーブル４５０に追加する（Ｓ７１３）。その例を図１９（ｈ）に示す。その後、Ｓ７０６へ進む。
【０１２４】
一方、余りキーβがノードｙ２と部分一致も完全一致もしない場合（Ｓ７１２：ＮＯ）、すなわち、図１９（ｉ）に示すような場合には、Ｓ７０６へ進む。
【０１２５】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：ＮＯ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：ＹＥＳ）、当該余剰一致処理を終了する。
【０１２６】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合（Ｓ７１０：ＮＯ）、変換候補抽出部１３０は、余りキーβがＹ２と部分一致または完全一致するか判定する（Ｓ７１４）。そして、余りキーβとＹ２とが部分一致でも完全一致でもない場合（Ｓ７１４：ＮＯ）、Ｓ７０６へ進む。図１９（ｊ）に部分一致でも完全一致でもない場合の例を示す。
【０１２７】
一方、余りキーβとＹ２が部分一致または完全一致の場合（Ｓ７１４：ＹＥＳ）、変換候補抽出部１３０は、ノードＸ＋ノードＹを結果テーブル４５０に追加し（Ｓ７１５）、Ｓ７０６へ進む。ノードＸ＋ノードＹの結果テーブル４５０への追加例を図１９（ｋ）に示す。
【０１２８】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：ＮＯ）、Ｓ７０１へ戻る。一方、全てのノード列Yについて比較が終了していれば（Ｓ７０６：ＹＥＳ）、当該余剰一致処理を終了する。
【０１２９】
そして、当該余剰一致処理を終了した変換候補抽出部１３０は、図１６のＳ６０６に戻り、全てのノードＸについて比較が終了していれば（Ｓ６０６：ＹＥＳ）、当該先頭確定処理を終了する。
【０１３０】
次に、図７に説明を戻すと、変換候補出力部１４０は、検索結果を候補表示するための整形を行う（Ｓ４００）。この処理を、図２０に示すフローチャートを参照して説明する。以下、説明を容易にするため、検索キーが「確定部のみ」、「確定部＋未確定部」、「未確定部のみ」の場合に分けて説明する。
【０１３１】
＜検索キーが確定部のみの場合＞
変換候補出力部１４０は、まず、結果テーブル４５０の文字列から、検索キーの「確定部」を削除する（Ｓ４０１）。次に、削除した結果、検索キーの「未確定部」と一致することになった出力候補語があるか判定する（Ｓ４０２）。この例では、検索キーに「未確定部」を含まないので、Ｓ４０２は自動的にＮＯとなる。この結果、図２１（ａ）に示すような出力が得られる（Ｓ４０４）。また、このように整形された候補語の画面表示例を図２２（ａ）に示す。
【０１３２】
＜検索キーが「確定部＋未確定部」の場合＞
変換候補出力部１４０は、まず、結果テーブル４５０の文字列から検索キーの「確定部」を削除する（Ｓ４０１）。さらに、確定部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合（Ｓ４０２：ＹＥＳ）、当該一致する出力候補語を結果テーブル４５０から削除する（Ｓ４０３）。
【０１３３】
図２１（ｂ）に示す例１では、検索キーの未確定部「が」が、確定部削除後の候補語のノード列「が−壊れた」「が−高い」のうち「が」と一致する。しかし完全一致ではないので（Ｓ４０２：ＮＯ）、「が壊れた」「が高い」がそのまま候補語として出力され（Ｓ４０４）、入力エリアのカーソル近傍に表示される。このように整形された候補語の画面表示例を図２２（ｂ）に示す。そして、オペレータが例えば、「が壊れた」を選択すると、未確定状態の「が」を削除して「が壊れた」を確定状態で入力エリアに差し込む。
【０１３４】
また、図２１（ｃ）に示す例２では、検索キーの未確定部「ありか」が、確定部削除後の出力候補語「ありか」と一致するので、Ｓ４０３において「ありか」全体が削除され、Ｓ４０４で、候補語は出力されない。入力エリアにすでに表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばＥｎｔｅｒキーなどで確定させる方が自然だからである。
【０１３５】
検索キーが「未確定部のみ」の場合、Ｓ４０１で削除される部分はなく、原則、検索結果がそのまま出力される（Ｓ４０４）。図２１（ｄ）に例１の場合、図２１（ｅ）に例２の場合を示す。また、このような場合の候補語の画面表示例を図２２（ｄ）、（ｅ）に示す。
【０１３６】
例外的に、綴り補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、Ｓ４０２でＹＥＳとなり、一致した候補語が結果テーブルから削除される（Ｓ４０３）。この例を図２１（ｆ）に示す。
【０１３７】
上述した実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。例えば、図１１を参照して説明したローマ字変換処理では、キーの先頭からローマ字読みに変換したが、これをキーの末尾からローマ字読みに変換してもよい。この場合、ローマ字変換処理は、図２３に示すフローチャートのような処理手順になる。なお、図１１に対応する部分には同一の符号を付けている。この場合、ステップＳ９１０ａで、ｙを左から１文字減らしてｙに代入する処理、ステップＳ９１１ａで、ｘ４に左からｚを結合する処理、ステップＳ９１２ａで、ｘの右からｙを削除してｘに代入する処理が異なる。
【０１３８】
上記実施の形態にかかる入力端末１は、専用装置から構成可能であるだけでなく、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、例えば、パーソナルコンピュータなどの汎用装置と、当該汎用装置を上記実施の形態で示したように機能させるプログラムによって、当該汎用装置を上述した入力端末１として機能させることができる。
このようなプログラムの提供方法は任意であり、例えば、ＣＤ−ＲＯＭなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体（例えば、インターネットなど）を介して配布することもできる。
【符号の説明】
【０１３９】
１  入力端末
１００  制御部
２００  入力制御装置
２１０  入力装置
２１１  キーボード
２１２  ポインティングデバイス
３００  出力制御装置
３１０  出力装置
３１１  ディスプレイ装置
４００  記憶部
４１０  辞書格納領域
４２０  基本辞書領域
４３０  入力内容別辞書領域
４３１  応対入力辞書データ(Ａ１)
４３１Ａ  読み補完辞書データ
４３１Ｂ  綴り補完辞書データ
４３２  住所入力辞書データ(Ａ２)
４３２Ａ  読み補完辞書データ
４３２Ｂ  綴り補完辞書データ
４４０  プログラム格納領域
４５０  結果テーブル
４６０  未確定部キーリスト
４７０  検索キーリスト
【図１】
2010266950.tif 000008
【図２】
2010266950.tif 000009
【図３】
2010266950.tif 000010
【図４】
2010266950.tif 000011
【図５】
2010266950.tif 000012
【図６】
2010266950.tif 000013
【図７】
2010266950.tif 000014
【図８】
2010266950.tif 000015
【図９】
2010266950.tif 000016
【図１０】
2010266950.tif 000017
【図１１】
2010266950.tif 000018
【図１２】
2010266950.tif 000019
【図１３】
2010266950.tif 000020
【図１４】
2010266950.tif 000021
【図１５】
2010266950.tif 000022
【図１６】
2010266950.tif 000023
【図１７】
2010266950.tif 000024
【図１８】
2010266950.tif 000025
【図１９】
2010266950.tif 000026
【図２０】
2010266950.tif 000027
【図２１】
2010266950.tif 000028
【図２２】
2010266950.tif 000029
【図２３】
2010266950.tif 000030