説明

文字列入力装置、文字列入力方法、および、プログラム

【課題】日本語とアルファベットとが入り混じった文章をより効率的に入力可能とする。
【解決手段】制御部100は、変換処理が完了した確定部文字列と変換処理が完了する前の未確定ひらがな部文字列とを分離し、未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換した第1の検索キー、第1の検索キーの全角カタカナをひらがなに変換した第2の検索キー、さらに第2の検索キーの全てのひらがなを、ひらがな変換テーブルに基づいて、ローマ字に変換した第3の検索キーからなる未確定部キーリストを生成する。さらに、前回確定部と未確定部キーリストとを結合して検索キーリストを生成し、該検索キーと読み補完辞書データと綴り補完辞書データとに基づいて、変換候補を抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コールセンタなどにおける入力作業に好適な文字列入力装置、文字列入力方法、および、プログラムに関する。
【背景技術】
【0002】
出願人は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録され、互いに係り受け関係にある単語を木構造に構成した読み補完辞書と、読み補完辞書に含まれる各単語が漢字等に変換された単語として記録され、変換処理前と後の単語を対応付けて、読み補完辞書の木構造と合致した木構造に構成した綴り補完辞書とを備えることにより、確定済文字列と未確定文字列とが混在して与えられても、効率的に変換候補語を抽出できる文字列入出力装置を開示した(例えば、特開2007−334534号公報)。
【0003】
かな漢字変換機能を用いた日本語入力においては、日本語の文章中に英単語を挟もうとする作業がしばしば問題となる。
【0004】
端末オペレータには、通常、2つの選択肢がある。1つは、かな漢字変換機能をOFFにする方法であり、もう1つは、自動的にローマ字から、かなに(場合によってはローマ字かな混じり文字列に)変換された未確定文字列に対し、所定のキータイプによって変換を解除する操作を行う方法である(例えば、マイクロソフト社(登録商標)のIME(Input Method Editor)の場合には、キーボードのF9キーを押すことによって実現される)。
【0005】
しかしながら、いずれの操作も簡潔とはいえず、これを解決するいくつかの方法が提案されている。例えば、特許文献1は、入力力モード(例えば、「ローマ字入力」)と入力文字列(例えば、「ふぉrまt」)と変換語句(FORMAT)とをセットにして辞書に記憶し、最も良く使用するローマ字入力モードから英字入力モードに変更することなく、また、無変換キーなどを押す必要もなく、文字列「FORMAT」を得る発明を開示する。
【0006】
一方、特許文献2は、非ターゲット言語(例えば、英語)でユーザが部分入力した文字列(例えば、au)を、ターゲット言語(例えば、日本語)で有り得る表現に変換し(au→あう)、その上でターゲット言語で単語を補完して完成する(あう→アウトレット)発明を開示する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平8−335217号公報
【特許文献2】特表2008−537260号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、読み補完辞書と綴り補完辞書を用いた日本語入力装置でも、オペレータが、かな漢字変換機能のON/OFFに煩わされることなく、日本語と英語が入り混じった文章が入力できれば便利である。
しかしながら、既知の方法と特開2007−334534号公報などに開示された日本語入力装置は、辞書構造が大きく異なるため、適用できないという問題があった。
【0009】
また、綴り補完辞書に「NTTデータ」、読み補完辞書に「えぬてぃてぃでーた」というノードを有していたとする。端末オペレータが「NTT」まで入力した段階では、「NTT」を検索キーとして綴り補完辞書を探索すると、「NTTデータ」と部分一致するので、「データ」を補完候補語として表示することができる。しかしながら、端末オペレータが「NTTで」まで入力を進めてしまうと、もはや読み補完辞書でも、綴り補完辞書でも一致するノードが得られなくなってしまうという問題があった。
【0010】
本発明は、このような事情を考慮してなされたものであり、その目的は、かな漢字変換機能をONにしたままで英単語入力を行った結果、入力エリアに意図しない文字列が表示された場合でも、検索キーに所定の変換を施すことによって、所期の候補語を表示することができる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【0011】
また、入力エリアから日本語とアルファベットとの入り混じった文字列が得られたとき、検索キーに所定の変換を施すことによって、読み補完辞書を検索することができる文字列入力装置、文字列入力方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【0012】
上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するひらがな変換テーブルと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成する検索キー生成手段と、前記検索キー生成手段により生成された前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する変換候補抽出手段とを備えることを特徴とする文字列入力装置である。
【0013】
本発明は、上記の発明において、前記検索キー生成手段は、前記第3の検索キーに含まれるひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列のいずれとも合致しない場合、前記ひらがな文字列を端部から短縮していき、該短縮したひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列に合致するか判定し、前記短縮したひらがな文字列が前記ひらがな列に合致する場合、前記ひらがな変換テーブルから前記ひらがな列に対応するローマ字表現を取得し、前記第3の検索キーに含まれるひらがな文字列から前記合致したひらがな列を削除して新たなひらがな文字列とすることを繰り返すことで、前記第3の検索キーのひらがな文字列をローマ字に変換することを特徴とする。
【0014】
本発明は、上記の発明において、前記ひらがな変換テーブルは、清音、濁音、半濁音、拗音、促音を1ないし3文字組み合わせてなるひらがな列と、1文字のアルファベット母音と1ないし3文字のアルファベット子音とを組合せてなるローマ字表現とを対応付けて記憶することを特徴とする。
【0015】
本発明は、上記の発明において、一文字のローマ字と、そのひらがな読みとを対応付けて記憶するローマ字変換テーブルを更に備え、前記検索キー生成手段は、前記第1の検索キーまたは前記第2の検索キーに含まれる半角英数字を、前記ローマ字変換テーブルに基づいて、ひらがな読みに変換して第4の検索キーを生成し、前記変換候補抽出手段は、前記検索キー生成手段により生成された前記第1の検索キー、前記第2の検索キー前記第3の検索キー及び前記第4の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出することを特徴とする。
【0016】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成するステップと、前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップとを備えることを特徴とする文字列入力方法である。
【0017】
また、上述した課題を解決するために、本発明は、入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成するステップと、前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップとを実行させることを特徴とするプログラムである。
【発明の効果】
【0018】
この発明によれば、仮名漢字変換機能のON/OFFを切り替えずとも、日本語とアルファベットとの入り混じった文章を入力できるので、より効率的な文字列入力を行うことができるという利点が得られる。
【図面の簡単な説明】
【0019】
【図1】本実施形態による入力端末1の構成を示すブロック図である。
【図2】本実施形態による辞書データの構成例を示すブロック図である。
【図3】本実施形態による入力画面の一例を示す模式図である。
【図4】本実施形態による読み補完辞書データの構成例を示す概念図である。
【図5】本実施形態による綴り補完辞書データの構成例を示す概念図である。
【図6】本実施形態による制御部100によって実現される機能を示す機能ブロック図である。
【図7】本実施形態による、文字列入力処理の動作を説明するためのフローチャートである。
【図8】本実施形態による、検索キー生成処理の動作を説明するためのフローチャートである。
【図9】検索キー生成処理での各種例を示す概念図である。
【図10】本実施形態による、未確定部キーリスト生成処理の動作を説明するためのフローチャートである。
【図11】本実施形態による、ローマ字変換処理の動作を説明するためのフローチャートである。
【図12】本実施形態による、ひらがな変換処理の動作を説明するためのフローチャートである。
【図13】本実施形態による、候補抽出処理の動作を説明するためのフローチャートである。
【図14】本実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図15】先頭未確定処理での各種例を示す概念図である。
【図16】実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図17】先頭確定処理での各種例を示す概念図である。
【図18】実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図19】余剰一致処理での各種例を示す概念図である。
【図20】実施形態による、出力処理の動作を説明するためのフローチャートである。
【図21】出力処理での各種例を示す概念図である。
【図22】実施形態による、出力例を説明するための模式図である。
【図23】本実施形態による、キー末尾からローマ字読みに変換する場合のローマ字変換処理の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0020】
本実施形態では、本発明を、例えば、コールセンタなどでの入力業務に用いる入力端末に適用した場合を例に説明する。
【0021】
本実施形態にかかる入力端末1は、例えば、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものとする。以下、本実施形態にかかる入力端末1を、図1を参照して説明する。図1は、本実施形態による入力端末1の構成を示す概略ブロック図である。図示するように、入力端末1は、制御部100、入力制御部200、出力制御部300、記憶部400などから構成される。
【0022】
制御部100は、例えば、CPU(Central Processing Unit:中央演算処理装置)や、ワークエリアとなるメモリなどから構成され、記憶部400に格納されているプログラムを読み出して実行することで、入力端末1の各部を制御するとともに、後述する各処理を実行する。
【0023】
入力制御部200は、例えば、キーボード211や、ポインティングデバイス212などの入力装置210と入力端末1とを接続し、入力装置210の操作に応じた入力信号を制御部100に入力する。本実施形態では、キーボード211を用いて文字列の入力がなされ、ポインティングデバイス212を用いて入力エリアの選択などが行われるものとする。
【0024】
出力制御部300は、例えば、ディスプレイ装置311などの出力装置310と入力端末1とを接続し、制御部100の処理結果などを出力装置310に出力する。本実施形態では、予め用意されている入力画面がディスプレイ装置311に出力されることにより表示され、入力装置210を用いた入力操作が、当該表示された入力画面上で行われるものとする。
【0025】
記憶部400は、例えば、ハードディスク装置などの記憶装置から構成され、主に、本実施形態にかかる文字列入力処理に必要な情報を格納する。本実施形態では、記憶部400に、辞書格納領域410、プログラム格納領域440、検索された変換候補を記憶する結果テーブル450などの記憶領域が確保されるものとする。
【0026】
辞書格納領域410には、入力端末1を用いた文字列入力の際に用いられる辞書データが格納される。本実施形態では、入力端末1を用いた文字列入力において、自然言語としての日本語入力が行われるものとする。この場合、入力端末1は、いわゆるFEP(Front End Processor)の動作により、キーボード211からの入力に応じた入力変換を行う。よって、辞書格納領域410には、このような、日本語入力変換の際に参照される辞書データが格納される。この場合、入力端末1は、辞書格納領域410に格納されている辞書データを参照することで、変換候補(入力候補)の文字列を選択可能に表示出力する。
【0027】
本実施形態にかかる辞書データの例を、図2を参照して説明する。図2は、辞書格納領域410に格納される辞書データの構成を説明する図である。この図に示すように、辞書格納領域410には、基本辞書領域420と入力内容別辞書領域430とが確保される。基本辞書領域420は、入力端末1での日本語入力の際に参照される辞書データのうち、一般的な辞書データ(以下、「基本辞書データ」とする)を格納する領域である。この基本辞書データには、種々の単語と、その品詞や、読みなどを示す情報とが対応付けられている。すなわち、通常の入力用FEPなどで用いられる一般的な辞書データが、基本辞書データとして基本辞書領域420に格納されている。
【0028】
入力内容別辞書領域430は、入力端末1が用いられる業務内容などに基づいて、入力内容に応じて用意された辞書データを格納する領域である。例えば、入力端末1をコールセンタ業務に用いる場合、入力項目が予め規定されているので、特定の入力項目での入力に用いられる単語群から構成される辞書データが入力内容別辞書領域430に格納される。すなわち、入力内容別辞書領域430には、入力内容毎に用意された専用辞書データが格納される。
【0029】
一例として、図2に示すような、応対入力辞書データ(A1)431や、住所入力辞書データ(A2)432などが入力内容別辞書領域430に格納される。このような入力内容別辞書データは、入力画面の入力エリアと対応付けられている。ここで、図3は、入力画面の一例を表す図である。例えば、この図に示すような入力画面ISの場合、応対入力辞書データ431は、電話応対での応対内容を入力するための入力エリアA1と対応付けられる。住所入力辞書データ432は、住所情報を入力するための入力エリアA2と対応付けられる。すなわち、図3に示したような入力画面ISにおいては、辞書データが対応付けされた入力エリアについては、その入力エリアに入力される内容が規定される。
【0030】
このような入力内容別に用意された辞書データのそれぞれには、入力される読みに基づいて構成された「読み補完辞書データ」と、変換後の綴りに基づいて構成された「綴り補完辞書データ」と、が一対となって含まれている。すなわち、図2に示すように、応対入力辞書データ(A1)431には、読み補完辞書データ431Aと綴り補完辞書データ431Bとが対応付けられて含まれている。住所入力辞書データ432(A2)には、読み補完辞書データ432Aと綴り補完辞書データ432Bとが対応付けられて含まれている。
【0031】
入力内容別に用意された辞書データのそれぞれは、このような一対の異なる辞書データによって構成されており、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432とのそれぞれが1組の辞書データである。よって、仮に、応対入力辞書データ(A1)431と住所入力辞書データ(A2)432のみが入力内容別辞書領域430に格納されているのであれば、入力内容別辞書領域430には、2組の辞書データが格納されていることになる。
【0032】
このような入力内容別辞書データの構成を、図4および図5を参照して説明する。ここでは、入力内容別辞書データの一例として、応対入力辞書データ431の構成について説明する。図4は、読み補完辞書データ431Aの構成例を示す概念図であり、図5は、綴り補完辞書データ431Bの構成例を示す概念図である。なお、本実施形態では、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、応対入力辞書データ431が構成されている場合について説明する。
【0033】
図4を参照して、読み補完辞書データ431Aの構成例を説明する。
図示するように、読み補完辞書データ431Aは、辞書の要素である単語の「読み」を結節点(ノード)とした、樹状の階層構造(木構造)のバイナリデータによって構成されている。そして、主語となる係り側の単語(ノード)のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語(ノード)とが連結された構成(ノード列)となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。ここで、読み補完辞書データ431Aは、入力される単語の「読み」に基づく辞書であるので、各ノードには、読みを表すひらがなによって見出し語が示されている。
【0034】
このような読み補完辞書データ431Aと対をなす綴り補完辞書データ431Bの構成例を図5に示す。図示するように綴り補完辞書データ431Bは、読み補完辞書データ431Aと同一の階層構造(木構造)によって構成されており、読み補完辞書データ431Aの各ノードに示された読みに対応する綴りが、その読み補完辞書データ431Aのノードに対応する綴り補完辞書データ431Bのノードの位置に、綴り補完辞書データ431Bの各ノードの見出し語として構成される。
【0035】
つまり、綴り補完辞書データ431Bは、読み補完辞書データ431Aに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードを、各ノードの綴りに基づいて構成された辞書データである。例えば、読み補完辞書データ431Aにおいて、読みが「けいたい」であるノードにリンクする綴り補完辞書データ431Bでのノードでは、「けいたい」の変換後表記である「携帯」が対応する。
【0036】
ここで、読み補完辞書データ431Aおよび綴り補完辞書データ431Bの各ノードに付されている丸記号(○の中にアルファベット)は、読み補完辞書データ431Aと綴り補完辞書データ431Bとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データ431Aと綴り補完辞書データ431Bとの間において、同じ丸記号(同じアルファベット)のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。これにより、一対の読み補完辞書データ431Aと綴り補完辞書データ431Bとは、ノード単位でリンクされていることを表している。
【0037】
上述した図1に示すプログラム格納領域440には、制御部100が実行するプログラムが格納される。そして、制御部100が、プログラム格納領域440に格納されているプログラムを実行することで、本実施形態にかかる文字列入力処理を実行する際の機能が実現される。制御部100によって実現される機能を図6に示す。
【0038】
図6は、制御部100によって実現される機能を示す機能ブロック図である。図示するように、制御部100は、辞書選択部110、検索キー生成部120、変換候補抽出部130、変換候補出力部140等の機能を含む。
【0039】
辞書選択部110は、入力画面IS上の入力エリアのいずれに入力が行われているかを判別し、判別された結果に基づいて、その入力エリアに応じた辞書を辞書格納領域410から選択する。
【0040】
検索キー生成部120は、入力が行われている入力エリアから文字列を取得し、検索キーリスト470を生成して変換候補抽出部130へ引き渡す。また、検索キー生成部120は、検索キーリスト470生成のために未確定部キーリスト460を作成して利用する。
【0041】
変換候補抽出部130は、検索キー生成部120が生成した検索キーと辞書選択部110によって指定された辞書とに基づいて、変換候補語を抽出し、記憶部400の結果テーブル450に記憶する。
【0042】
変換候補出力部140は、変換候補抽出部130で抽出された候補語から、後述するように、冗長な部分を削除する。そして、出力制御部300との協働により、整形後の文字列を選択可能にディスプレイ装置311に表示出力する。
【0043】
本実施形態では、制御部100がプログラムを実行することで、図6に示す各機能構成が論理的に実現されるが、これらの機能を、例えば、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)などの物理的な構成によって実現してもよい。
【0044】
次に、上述した構成を有する入力端末1の動作を説明する。ここでは、入力端末1を用いて文字列入力を行う場合に実行される「文字列入力処理」を、図7〜図22を参照して説明する。この処理は、例えば、図3に示すような入力画面ISを表示する操作が行われたことを契機に開始されるものとする。
【0045】
まず、図7において、処理が開始され、オペレータによって入力装置210から入力がなされると、入力制御部200から制御部100への入力信号に基づき、辞書選択部110は、表示した入力画面IS上の、どの入力エリアが指定されたかを判別する(S001)。すなわち、入力端末1のオペレータによるポインティングデバイス212等の操作によって、入力画面IS上に用意された入力エリアのうち、入力対象となる入力エリアが選択されたか否かを判別する。
【0046】
いずれかの入力エリアが指定されると(S001:YES)、辞書選択部110は、指定された入力エリアが特定の入力エリアであるか否かを判別する(S002)。本実施形態では、辞書データが対応付けられた入力エリアであって、入力内容別辞書を用いた変換入力の対象となっている入力エリアを特定の入力エリアである。ここでは、応対内容を入力するための入力エリアA1と住所を入力するための入力エリアA2(図3参照)が該当する。
【0047】
指定された入力エリアが、特定の入力エリアではないと判定された場合(S002:NO)、基本辞書領域420の基本辞書データを参照し、通常の入力変換動作によって文字列入力が行われる(S100)。
【0048】
一方、特定の入力エリアが指定されたと判定された場合(S002:YES)、辞書選択部110は、指定された入力エリアの種別を検出する。ここでは、入力エリアA1が指定された場合には、その入力エリアに対応づけされている識別子「A1」が検出され、入力エリアA2が指定された場合には、その入力エリアに対応付けされている識別子「A2」が検出される。
【0049】
辞書選択部110は、識別子を検出すると、入力内容別辞書領域430にアクセスし、検出された識別子に対応する辞書データを選択する(S003)。図2に示すように、入力内容別辞書領域430に格納されている複数組の入力内容別辞書データには、対応する入力エリアを示す識別子(図2の例では「A1」と「A2」)が付与されている。よって、辞書選択部110は、検出された識別子に基づいて、対応する識別子が付与されている辞書データを選択する。以下、本実施形態では、入力エリアA1に文字列入力を行うものとして説明する。よって、ここでは、応対入力辞書データ(A1)431が選択される。
【0050】
使用する辞書データを選択すると、辞書選択部110は、選択した辞書データがいずれであるかを変換候補抽出部130に通知するとともに、指定された入力エリアを検索キー生成部120に通知する。
【0051】
辞書選択部110から入力エリアの通知を受けると、検索キー生成部120は、指定された入力エリアにある文字列を取得して検索キーを生成する(S200)。検索キーの生成には、種々の方法が考えられるが、本実施形態では、図8に示すフローチャートに従って検索キーを生成する。
【0052】
すなわち、検索キー生成部120は、まず、指定された入力エリア中の文字列を取得する(S201)。一般に、入力エリアには、変換終了した確定文字列と、変換すべく入力作業中の未確定文字列とが混在している。そして、未確定文字列には、FEPが機能する前の「ひらがな」状態と、FEPが機能して漢字などの変換候補が暫定的に表示された状態とがある。以降において、未確定文字列部分は、下線付加によって示すこととする。「確定文字列+未確定文字列」の例は、図9(a)に示すようになる。ここでは、「携帯電話」の文字列を入力する場合において、「携帯」の文字列の漢字が確定しており、「でんわ」の部分がFEPが機能する前の未確定文字列である。そして、「でんわ」の文字列が、暫定的に「電話」として変換される。
【0053】
次いで、検索キー生成部120は、得られた文字列のうち、最後の句点「。」以前の文字列を削除する(S202)。その例を図9(b)に示す。
【0054】
次に、検索キーの未確定部の右側に確定文字列がある場合には、検索キーから削除(除外)する(S203)。その例を図9(c)に示す。
【0055】
一般に、文字列中に未確定部が複数存在することはない。したがって、入力エリアの文字列の状態は、次のような場合に限られる。
(1)確定部のみ
(2)確定部+未確定部
(3)確定部+未確定部+確定部
(4)未確定部のみ
(5)未確定部+確定部
【0056】
このうち、ステップS203の処理の結果、(3)の場合は(2)の場合に、(5)の場合は(4)の場合に帰着するので、検索キーは、(1)「確定部のみ」、(2)「確定部+未確定部」、(4)「未確定部のみ」の3通りの場合に限られることとなる。
【0057】
次に、検索キー生成部120は、検索キーを「確定部」と「未確定部」とに分離し(S204)、未確定部キーリスト生成処理を行う(S800)。次に、確定部のうち、最後に確定された部分(前回確定部)を抽出する(S205)。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。最後に、検索キー生成部120は、「前回確定部」と「未確定部」とをそれぞれ結合して検索キーリストを作成する(S206)。
【0058】
次に、図10、図11、図12を参照して、上記S800の未確定部キーリスト生成処理を説明する。まず、検索キー生成部120は、未確定部を取得し(S801)、分離した未確定部の有無を判断する(S802)。未確定部が存在しない場合には(S802:NO)、未確定部キーリスト460に長さゼロの文字列を追加し(S805)、未確定部キーリスト生成処理を終了する。
【0059】
一方、未確定部が存在する場合には(S802:YES)、全角/半角変換処理を行う(S803)。全角/半角変換処理では、半角カタカナを全角カタカナに、全角英数字を半角英数字に変換する。一例として、以下のように変換する。
【0060】
(例)NTTテ゛ータ(「NTT」が全角、「テ゛ータ」が半角)

NTTデータ(「NTT」が半角、「データ」が全角)
となる。なお、変換後の文字列をx1とする。
【0061】
続いて、検索キー生成部120は、変換後の文字列x1を未確定部キーリスト460に記録し(S804)、ローマ字変換処理(S900)と、ひらがな変換処理(S1000)とを行う。
【0062】
図11を用いて「ローマ字変換処理」について説明する。処理の流れを詳しく見るため、ここでは、変換後の文字列x1を「JAPANトッキョチョウ」として説明する。
【0063】
検索キー生成部120は、文字列x1からカタカナ部「トッキョチョウ」を抽出する(S901)。該カタカナ部をx2とする。次いで、逐次変換されるローマ字を記憶するバッファx4を初期化(ヌル化)しておく(S902)。そして、カタカナ文字列をひらがな文字列「とっきょちょう」に変換し、x3に記憶する(S903)。
【0064】
次に、x2とx3とが異なるか否かを判定する(S904)。この場合、カタカナ部x2「トッキョチョウ」とひらがな文字列x3「とっきょちょう」とは、異なる文字列なので(S904のYES)、検索キー生成部120は、「JAPANとっきょちょう」を未確定部キーリスト460に追加する(S905)。なお、x1が元々「JAPANとっきょちょう」だった場合には、カタカナ変換の前後で変化しないので(x2=x3、S904:NO)、未確定部キーリスト460に新たに追加するものは無い。
【0065】
続いて、検索キー生成部120は、作業バッファxとyにx3を記憶する(S906)。次に、yの長さが0であるか否かを判定する(S907)。この場合、最初、yの長さは7なので(S907:NO)、y「とっきょちょう」をキーとしてhira2rome辞書を検索する(S908)。hira2rome辞書は、例えば、表1のように、ローマ字候補が母音一個を含む単位で構成される。
【0066】
【表1】

【0067】
次に、hira2rome辞書にキー「とっきょちょう」に該当するローマ字候補があるか否かを判定する(S909)。この場合、キー「とっきょちょう」は、ひらがなリストのいずれとも一致しないので(S909:NO)、「とっきょちょう」を右から一文字減らした「とっきょちょ」を新たなyとする(S910)。
【0068】
そして、S907からS910のループを繰り返し、yが長さ1の「と」まで短縮されると、ローマ字候補「to」が得られ(S909:YES)、作業バッファzに格納される。検索キー生成部120は、x4にzを記憶し(S911)、x「とっきょちょう」の左からy「と」を削除して「っきょちょう」を新たなxとする(S912)。次に、xは長さ0であるか否かを判定する(S913)。このとき、xは長さ6なので(S913:NO)、検索キー生成部120は、yにも「っきょちょう」を代入する(S914)。
【0069】
そして、再び、S907〜S910のhira2rome検索ループに戻って、ローマ字候補を検索する。そして、yが「っきょ」まで短縮されると、ローマ字候補「kkyo」が得られ(S909:YES)、作業バッファzに格納される。検索キー生成部120は、x4「to」に右からz「kkyo」を結合して「tokkyo」とする(S911)。そして、x「っきょちょう」の左からy「っきょ」を削除して「ちょう」を新たなxとする(S912)。このとき、xは長さ3なので(S913:NO)、検索キー生成部120は、yにも「ちょう」を代入する(S914)。
【0070】
そして、三度、S907〜S910のhira2rome検索ループに戻って、ローマ字候補を検索し、yが「ちょ」まで短縮されると、ローマ字候補「cho」が得られ(S909:YES)、作業バッファzに格納される。検索キー生成部120は、x4「tokkyo」に右からz「cho」を結合して「tokkyocho」とする(S911)。そして、x「ちょう」の左からy「ちょ」を削除して「う」を新たなxとする(S912)。この場合、xは長さ1なので、検索キー生成部120は、yにも「う」を代入する。
【0071】
そして、四度、S907〜S910のhira2rome検索ループに戻り、今度は、yの短縮を経ることなく、ローマ字候補「u」が得られ(S909:YES)、作業バッファzに格納される。検索キー生成部120は、x4「tokkyocho」に右からz「u」を結合して「tokkyochou」とする(S911)。そして、x「う」の左からy「う」を削除してxをヌルとする(S912)。
【0072】
xは、長さゼロとなるので(S913:YES)、処理はS915へ進み、x4の長さが0であるか否かを判定する(ステップS915)。x4には、ローマ字候補が記憶されており、長さがゼロでないので、検索キー生成部120は、x1「JAPANトッキョチョウ」のカタカナ部をx4「tokkyochou」で置換した「JAPANtokkyochou」をx5に記憶し(S916)、未確定部キーリスト460にx5を追加する(S917)。
【0073】
以上、x1が「JAPANトッキョチョウ」の場合を例にローマ字変換処理を説明したが、x1が「NTTデータ」の場合には、x1のカタカナをひらがなに変換した文字列「NTTでーた」とx5「NTTde-ta」が未確定部キーリスト460に追加される。
【0074】
このようなローマ字変換処理は、次のような場合に有効である。
すなわち、綴り補完辞書に「NTTdata」を有するとき、オペレータが「NTT」まで入力すれば補完機能が働いて、候補語「NTTdata」を提示することができるが、勢いあまって「da」までタイプしてしまうと、入力エリアには、かな漢字変換機能ONの場合、「NTTだ」と表示されてしまう。ここまで入力が進んでしまうと、もはや「NTTdata」を候補語として表示することはできなかった。これに対して、上述した本実施形態によるローマ字変換処理によれば、「NTTだ」のみならず、「NTTda」も検索キーとして変換候補抽出部130へ渡すことが可能となる。
【0075】
次に、図12を参照して「ひらがな変換処理」について説明する。ここでは、x1が「NTTデータ」だった場合を例に説明する。検索キー生成部120は、まず、x1のカタカナ部がひらがなに変換された文字列の有無を確認し、あれば当該文字列をx6に、なければx1をx6に格納する(S1001)。当該例の場合、「NTTデータ」のカタカナ部がひらがなに変換された「NTTでーた」が未確定部キーリスト460に存在するので、x6に「NTTでーた」を格納する。
【0076】
検索キー生成部120は、x6の文字列長6を取得し、Lに格納し、また、ひらがな変換処理ループの変数iと、ひらがな変換作業用配列a1〜aLを初期化する(S1002)。iは1とし、配列a1〜aLにはヌル文字を詰める。
【0077】
x6[1]は、「N」である。rome2hira辞書は、例えば、次の表2に示すように構成する。
【0078】
【表2】

【0079】
検索キー生成部120は、x6[1]をキーとしてrome2hira辞書を検索する(S1003)。次に、検索結果が得られたか否かを判定し(S1004)、「N」の読みとして「えぬ」が得られると(S1003:YES)、検索キー生成部120は、ひらがな変換処理作業配列a1の先頭a1[1]に「えぬ」を格納する(S1005)。次に、検索キー生成部120は、iを1つ増やして2とし(S1007)、iがLより大であるか否かを判定する(S1008)。
【0080】
この場合、i(2)はL(6)より小さく、x6の最後の文字まで処理が終わっていないので(S1008:NO)、S1003へ戻る。次いで、検索キー生成部120は、x6[2]、すなわち「T」をキーとしてrome2hira辞書を検索する(S1003)。すると、「T」の読みとして「てぃ、てぃー、てー」が得られる(S1004:YES)。検索キー生成部120は、ひらがな変換処理作業配列a2のa2[1]に「てぃ」を、a2[2]に「てぃー」を、a2[3]に「てー」をそれぞれ格納する(S1005)。
【0081】
同様に、配列a3にも「てぃ、てぃー、てー」を格納する。
x6[4]は「で」である。この場合、rome2hira辞書によるアルファベットの読み検索は不成功に終わる(S1004:NO)。この場合、a4[1]には、「で」をそのまま格納する(S1006)。したがって、a5[1]には「ー」が、a6[1]には「た」が格納される。
【0082】
そして、x6[6]までの読み候補検索が終了すると、iは7になるので(S1007:YES)、rome2hira検索ループを終了する。この結果、配列a1〜a6には、次の表3に示す文字列が格納されたことになる。
【0083】
【表3】

【0084】
次に、配列a1〜aLのいずれかに要素数2以上のものがあるか否かを判定する(S1009)。この例の場合、配列a2とa3は、要素数が3なので(S1008:YES)、配列a1〜a6の組合せを尽くして未確定部キーリスト460に追加する(S1010)。配列a1〜a6の組合せ(3×3=9通り)は、次の表4に示すようになる。
【0085】
【表4】

【0086】
以上の結果、検索キー生成部120は、入力エリアから「NTTテ゛ータ」(全角「NTT」、半角「テ゛ータ」)を取得して、次の表5に示すように、未確定部キーリスト460を生成したことになる。
【0087】
【表5】

【0088】
図8に説明を戻すと、検索キー生成部120は、確定部のうち、最後に確定された部分(前回確定部)を抽出する(S205)。例えば、「どこのショップ」のうち「ショップ」が前回確定部である場合には、「ショップ」が抽出される。最後に、検索キー生成部120は、「前回確定部」と「未確定部キーリスト」の各要素をとを結合して検索キーリスト470を生成する。
【0089】
次に、図7に説明を戻すと、変換候補抽出部130は、検索キー生成部120から検索キーリスト470を受け取り、辞書選択部110が選択した辞書を用いて変換候補を抽出し、出力する(S300)。ここで、図13〜図19を参照して変換候補抽出部130の動作を説明する。
【0090】
図13において、変換候補抽出部130は、まず、検索キーリスト470から検索キーを取得し(S301)、検索キーの先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する(S302)。そして、検索キーの先頭が「ひらがなのみ」で、かつ「未確定部」である場合には(S302:YES)、「先頭未確定処理」(S500)に進み、「ひらがなのみ」からなる「未確定部」でない場合(S302:NO)には、「先頭確定処理」(S600)に進む。ステップS500、S600が終了すると、結果テーブルを出力し(S303)、検索キーリストに未処理の検索キーがないか否かを判定し(S304)、未処理の検索キーがある場合には、S301に戻り、次の検索キーに対して上記処理を繰り返す。一方、未処理の検索キーがない場合には当該処理を終了する。
【0091】
次に、上記ステップS500の「先頭未確定処理」について図14を参照して説明する。変換候補抽出部130は、まず、「読み補完辞書」から係り側ノードを1つ取得する(S501)。これをノードxとする。なお、以降、アルファベット小文字を用いて「ノードx」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードX」と記載した場合には、ノードxと対応する、綴り補完辞書のノードを表すものとする。
【0092】
ノードxと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードxとの長短に応じて、包含関係を次のように定義する。
検索キー ⊂ ノードx 部分一致
検索キー = ノードx 完全一致
検索キー ⊃ ノードx 余剰一致
【0093】
また、読み補完辞書および綴り補完辞書は、各々、図4および図5に示すように構成されているものとする。ノードxが「けいたい」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図15(a)に示す通りである。
【0094】
なお、前方一致とは検索キーとノードxとの一致判断にあたり、常に先頭部分(文字列左端)の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図15(b)に示す。
【0095】
検索キーとノードxに何らの一致(前方一致)もない場合(S502:NO)、変換候補抽出部130は、読み補完辞書に比較すべきノードが残っていないか確認する(S506)。比較すべきノードが残っていれば(S506:NO)、ステップS501へ戻る。
【0096】
一方、比較すべきノードが残っていない場合(S506:YES)は、当該先頭未確定処理を終了する。
【0097】
また、検索キーとノードxとがいずれかの形で前方一致すれば(S502:YES)、変換候補抽出部130は、ノードxと対応する綴り補完辞書のノードX(大文字X)を取得する(S503)。
【0098】
そして、部分一致の場合(S504:YES)、変換候補抽出部130は、ノードXを結果テーブル450に追加する(S505)。その例を図15(c)に示す。
【0099】
その後、比較すべき候補がまだ残っていれば(S506:NO)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:YES)、当該先頭未確定処理を終了する。
【0100】
一方、完全一致の場合(S504:NO、S507:YES)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S508)。
その例を図15(d)に示す。
【0101】
その後、比較すべき候補がまだ残っていれば(S506:NO)、S501へ戻る。全てのノードxについて比較が終了していれば(S506:YES)、先頭未確定処理を終了する。
【0102】
また、部分一致でも完全一致でもない場合には、余剰一致となる(S507:NO)。変換候補抽出部130は、ノードxの受け側ノード列yを取得する(S509)。次いで、変換候補抽出部130は、検索キーからノードxを削除した余りがノード列yに、前方一致を条件として含まれるか(部分一致ないし完全一致するか)判断する(S510)。そして、含まれれば(S510:YES)、ノード列yと対応する綴り補完辞書のノード列Yを取得し(S511)、ノードX+ノードYを結果テーブル450に追加する(S512)。
【0103】
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:NO)、S509へ戻る。一方、全てのノード列yについて比較が終了していれば(S513:YES)、S506へ進む。余りが部分一致の例を図15(e)に示し、余りが完全一致の例を図15(f)に示す。
【0104】
一方、検索キーからノードxを削除した余りがノード列yに含まれなければ(S510:NO)、直接、S513へ進む。この例を図15(g)に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば(S513:NO)、S509へ戻る。全てのノード列yについて比較が終了していれば(S513:YES)、S506へ進む。
【0105】
次に、上記ステップS600の「先頭確定処理」について図16を参照して説明する。
このフローで処理される検索キーには、「確定部のみ」の場合と「確定部+未確定部」の場合とがある。変換候補抽出部130は、綴り補完辞書から係り側ノードXを1つ取得する(S601)。係り側ノードXと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー ⊂ ノードX 部分一致
検索キー = ノードX 完全一致
検索キー ⊃ ノードX 余剰一致
【0106】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図17(a)にその例を示す。
【0107】
検索キーとノードXとの間に何らの一致もない場合(S602:NO)、変換候補抽出部130は、綴り補完辞書に、検索キーと比較すべきノードXが残っていないか確認する(S606)。そして、比較すべきノードXが残っていれば(S606:NO)、S601へ戻る。
【0108】
一方、比較すべきノードが残っていない場合には(S606:YES)、当該先頭確定処理を終了する。
【0109】
一方、部分一致の場合には(S604:YES)、変換候補抽出部130は、ノードXを結果テーブル450に追加する。その例を図17(b)に示す。すなわち、検索キー「携」に対して、「携帯」、「携帯電話」が結果テーブル450に追加される。
【0110】
そして、比較すべきノードがまだ残っていれば(S606:NO)、S601へ戻る。全てのノードXについて比較が終了していれば(S606:YES)、当該先頭確定処理を終了する。
【0111】
一方、完全一致の場合(S604:NO、S607:YES)、変換候補抽出部130は、受け側ノード列を含めて、ノードXを結果テーブル450に追加する(S608)。
その例を図17(c)に示す。
【0112】
次いで、変換候補抽出部130は、綴り補完辞書に比較すべきノードが残っていないか確認する(S606)。比較すべきノードが残っていれば(S606:NO)、S601へ戻る。一方、比較すべきノードが残っていない場合には(S606:YES)、当該先頭確定処理を終了する。
【0113】
また、部分一致でも完全一致でもない場合は余剰一致となる(S607:NO)。
ここで、図18を参照して余剰一致処理について説明する。変換候補抽出部130は、まず、ノードXの受け側ノード列Y(Y1+Y2)を一組取得する(S701)。その例を図19(a)に示す。
【0114】
次いで、変換候補抽出部130は、検索キーから係り側ノードXを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する(S702)。ここで、図19(b)にS702がYESの例を示し、図19(c)にS702がNOの例を示す。
【0115】
余りαが「ひらがなのみ」からなる「未確定部」である場合には(S702:YES)、変換候補抽出部130は、読み補完辞書から、ノード列Yと対応するノード列yを検索して取得する(S703)。そして、変換候補抽出部130は、余りキーαがノード列yと部分一致ないし完全一致するか判定する(S704)。
【0116】
そして、余りキーαがノード列yと部分一致ないし完全一致する場合(S704:YES)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+Yを結果テーブル450に追加する(S705)。この例を図19(d)に示す。その後、S706へ進む。
【0117】
一方、余りキーαとノード列yとが部分一致も完全一致もしない場合(S704:NO)、すなわち、図19(e)に示すような場合には、直接、S706へ進む。
【0118】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:NO)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:YES)、当該余剰一致処理を終了する。
【0119】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合(S702:NO)、変換候補抽出部130は、余りキーαがノード列Yのうち、前方のノードY1と部分一致または完全一致するか判定する(S707)。そして、余りキーαがノードY1と部分一致または完全一致する場合(S707:YES)、変換候補抽出部130は、受け側ノード列を含めて、ノードX+ノードYを結果テーブル450に追加する(S708)。この例を図19(f)に示す。その後、S706へ進む。
【0120】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:NO)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:YES)、当該余剰一致処理を終了する。
【0121】
一方、余りキーαがノードY1と部分一致も完全一致もしない場合(S707:NO)、変換候補抽出部130は、余りキーαがノードY1を包含するか否か判定する(S709)。そして、余りキーαがノードY1を包含しない場合(S709:NO)、すなわち、図19(g)に示すような場合には、S706へ進む。
【0122】
一方、余りキーαがノードY1を包含する場合(S709:YES)、変換候補抽出部130は、余りキーαから更にノードY1を除いた余りキーβを作成し、余りキーβが「ひらがなのみ」からなる「未確定部」であるか否か判定する(S710)。
【0123】
余りキーβがひらがなのみからなる未確定部である場合(S710:YES)、変換候補抽出部130は、Y2と対応するノードy2を読み補完辞書から取得し(S711)、余りキーβがノードy2と部分一致または完全一致するか判定する(S712)。そして、余りキーβがノードy2と部分一致または完全一致する場合(S712:YES)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加する(S713)。その例を図19(h)に示す。その後、S706へ進む。
【0124】
一方、余りキーβがノードy2と部分一致も完全一致もしない場合(S712:NO)、すなわち、図19(i)に示すような場合には、S706へ進む。
【0125】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:NO)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:YES)、当該余剰一致処理を終了する。
【0126】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合(S710:NO)、変換候補抽出部130は、余りキーβがY2と部分一致または完全一致するか判定する(S714)。そして、余りキーβとY2とが部分一致でも完全一致でもない場合(S714:NO)、S706へ進む。図19(j)に部分一致でも完全一致でもない場合の例を示す。
【0127】
一方、余りキーβとY2が部分一致または完全一致の場合(S714:YES)、変換候補抽出部130は、ノードX+ノードYを結果テーブル450に追加し(S715)、S706へ進む。ノードX+ノードYの結果テーブル450への追加例を図19(k)に示す。
【0128】
その後、比較すべき受け側ノード列Yがまだ残っていれば(S706:NO)、S701へ戻る。一方、全てのノード列Yについて比較が終了していれば(S706:YES)、当該余剰一致処理を終了する。
【0129】
そして、当該余剰一致処理を終了した変換候補抽出部130は、図16のS606に戻り、全てのノードXについて比較が終了していれば(S606:YES)、当該先頭確定処理を終了する。
【0130】
次に、図7に説明を戻すと、変換候補出力部140は、検索結果を候補表示するための整形を行う(S400)。この処理を、図20に示すフローチャートを参照して説明する。以下、説明を容易にするため、検索キーが「確定部のみ」、「確定部+未確定部」、「未確定部のみ」の場合に分けて説明する。
【0131】
<検索キーが確定部のみの場合>
変換候補出力部140は、まず、結果テーブル450の文字列から、検索キーの「確定部」を削除する(S401)。次に、削除した結果、検索キーの「未確定部」と一致することになった出力候補語があるか判定する(S402)。この例では、検索キーに「未確定部」を含まないので、S402は自動的にNOとなる。この結果、図21(a)に示すような出力が得られる(S404)。また、このように整形された候補語の画面表示例を図22(a)に示す。
【0132】
<検索キーが「確定部+未確定部」の場合>
変換候補出力部140は、まず、結果テーブル450の文字列から検索キーの「確定部」を削除する(S401)。さらに、確定部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合(S402:YES)、当該一致する出力候補語を結果テーブル450から削除する(S403)。
【0133】
図21(b)に示す例1では、検索キーの未確定部「が」が、確定部削除後の候補語のノード列「が−壊れた」「が−高い」のうち「が」と一致する。しかし完全一致ではないので(S402:NO)、「が壊れた」「が高い」がそのまま候補語として出力され(S404)、入力エリアのカーソル近傍に表示される。このように整形された候補語の画面表示例を図22(b)に示す。そして、オペレータが例えば、「が壊れた」を選択すると、未確定状態の「が」を削除して「が壊れた」を確定状態で入力エリアに差し込む。
【0134】
また、図21(c)に示す例2では、検索キーの未確定部「ありか」が、確定部削除後の出力候補語「ありか」と一致するので、S403において「ありか」全体が削除され、S404で、候補語は出力されない。入力エリアにすでに表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばEnterキーなどで確定させる方が自然だからである。
【0135】
検索キーが「未確定部のみ」の場合、S401で削除される部分はなく、原則、検索結果がそのまま出力される(S404)。図21(d)に例1の場合、図21(e)に例2の場合を示す。また、このような場合の候補語の画面表示例を図22(d)、(e)に示す。
【0136】
例外的に、綴り補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、S402でYESとなり、一致した候補語が結果テーブルから削除される(S403)。この例を図21(f)に示す。
【0137】
上述した実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。例えば、図11を参照して説明したローマ字変換処理では、キーの先頭からローマ字読みに変換したが、これをキーの末尾からローマ字読みに変換してもよい。この場合、ローマ字変換処理は、図23に示すフローチャートのような処理手順になる。なお、図11に対応する部分には同一の符号を付けている。この場合、ステップS910aで、yを左から1文字減らしてyに代入する処理、ステップS911aで、x4に左からzを結合する処理、ステップS912aで、xの右からyを削除してxに代入する処理が異なる。
【0138】
上記実施の形態にかかる入力端末1は、専用装置から構成可能であるだけでなく、汎用のコンピュータ装置などを用いて構成することもできる。すなわち、例えば、パーソナルコンピュータなどの汎用装置と、当該汎用装置を上記実施の形態で示したように機能させるプログラムによって、当該汎用装置を上述した入力端末1として機能させることができる。
このようなプログラムの提供方法は任意であり、例えば、CD−ROMなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体(例えば、インターネットなど)を介して配布することもできる。
【符号の説明】
【0139】
1 入力端末
100 制御部
200 入力制御装置
210 入力装置
211 キーボード
212 ポインティングデバイス
300 出力制御装置
310 出力装置
311 ディスプレイ装置
400 記憶部
410 辞書格納領域
420 基本辞書領域
430 入力内容別辞書領域
431 応対入力辞書データ(A1)
431A 読み補完辞書データ
431B 綴り補完辞書データ
432 住所入力辞書データ(A2)
432A 読み補完辞書データ
432B 綴り補完辞書データ
440 プログラム格納領域
450 結果テーブル
460 未確定部キーリスト
470 検索キーリスト

【特許請求の範囲】
【請求項1】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書手段と、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書であって、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書手段の木構造と合致した木構造に構成した綴り補完辞書データを記憶する綴り補完辞書手段と、
少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するひらがな変換テーブルと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成する検索キー生成手段と、
前記検索キー生成手段により生成された前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する変換候補抽出手段と
を備えることを特徴とする文字列入力装置。
【請求項2】
前記検索キー生成手段は、
前記第3の検索キーに含まれるひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列のいずれとも合致しない場合、前記ひらがな文字列を端部から短縮していき、該短縮したひらがな文字列が前記ひらがな変換テーブルに記憶されている前記ひらがな列に合致するか判定し、
前記短縮したひらがな文字列が前記ひらがな列に合致する場合、前記ひらがな変換テーブルから前記ひらがな列に対応するローマ字表現を取得し、
前記第3の検索キーに含まれるひらがな文字列から前記合致したひらがな列を削除して新たなひらがな文字列とすることを繰り返すことで、前記第3の検索キーのひらがな文字列をローマ字に変換する
ことを特徴とする請求項1に記載の文字列入力装置。
【請求項3】
前記ひらがな変換テーブルは、
清音、濁音、半濁音、拗音、促音を1ないし3文字組み合わせてなるひらがな列と、1文字のアルファベット母音と1ないし3文字のアルファベット子音とを組合せてなるローマ字表現とを対応付けて記憶する
ことを特徴とする請求項1または2に記載の文字列入力装置。
【請求項4】
一文字のローマ字と、そのひらがな読みとを対応付けて記憶するローマ字変換テーブルを更に備え、
前記検索キー生成手段は、
前記第1の検索キーまたは前記第2の検索キーに含まれる半角英数字を、前記ローマ字変換テーブルに基づいて、ひらがな読みに変換して第4の検索キーを生成し、
前記変換候補抽出手段は、
前記検索キー生成手段により生成された前記第1の検索キー、前記第2の検索キー前記第3の検索キー及び前記第4の検索キーと、前記読み補完辞書手段に記憶されている読み補完辞書データと、前記綴り補完辞書手段に記憶されている綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出する
ことを特徴とする請求項1乃至3のいずれかに記載の文字列入力装置。
【請求項5】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力方法であって、
入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成するステップと、
前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップと
を備えることを特徴とする文字列入力方法。
【請求項6】
入力された文字列に応じた変換候補を検索して提示し、提示された変換候補を選択することで文字列入力を行う文字列入力装置のコンピュータに、
入力される文字列を変換処理する前の読みが単語として記録された辞書に、互いに係り受け関係にある単語を、ノードとして木構造に構成した読み補完辞書データを記憶するステップと、
前記読み補完辞書データに含まれる各単語が漢字等に変換された単語として記録された辞書に、変換処理前と後の単語をノードとして対応付けて、前記読み補完辞書データの木構造と合致した木構造に構成した綴り補完辞書データを記憶するステップと、
少なくとも1文字以上のひらがなを含むひらがな列とそのローマ字表現とを対応付けて記憶するステップと、
入力された文字列の未確定部の半角カタカナを全角カタカナに、全角英数字を半角英数字に変換して第1の検索キーを生成し、前記第1の検索キーの前記全角カタカナをひらがなに変換して第2の検索キーを生成し、さらに前記第2の検索キーの全てのひらがなを、前記ひらがな変換テーブルに基づいて、ローマ字に変換して第3の検索キーを生成するステップと、
前記第1の検索キー、前記第2の検索キー及び前記第3の検索キーと、前記読み補完辞書データと、前記綴り補完辞書データとに基づいて、入力された文字列の変換候補を抽出するステップと
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2010−266950(P2010−266950A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−115801(P2009−115801)
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【出願人】(509132738)合同会社シンタックス (10)
【Fターム(参考)】