(57)【特許請求の範囲】
【請求項１】
少なくとも漢字を含んだ文字列を一旦仮名文字列に変換した後、再度仮名漢字変換を行なう仮名漢字変換装置であって、
前記漢字を含む文字列を取り込む文字列入力手段と、
該取り込まれた文字列を、文節を構成する自立語について漢字見出しと読みとを記録した第１の辞書を参照して仮名文字列に逆変換する第１の逆変換手段と、
該逆変換により仮名文字列が得られれば、該仮名文字列の前方から単文節として仮名漢字変換して語尾・付属語との接続検定を行なった上で、単文節の変換候補を出力する仮名漢字変換手段と、
該仮名漢字変換手段により変換候補が得られなかった場合には、単漢字について漢字見出しと読みとを記録した第２の辞書を参照して、前記漢字を含む文字列を仮名文字列に逆変換し、該逆変換された仮名文字列を前記仮名漢字変換手段に供する第２の逆変換手段と、
前記第２の逆変換手段により得られた仮名文字列を基にして、前記仮名漢字変換手段による変換候補が得られなかった場合には、該仮名文字列に対して単漢字変換を行なう単漢字変換手段と、
前記単漢字変換手段における単漢字変換に際して、前記第２の逆変換手段が取り込んだ文字列に含まれる漢字の位置を、前記単漢字変換手段における変換の対象となる仮名文字の区切り位置とする区切り位置決定手段と
を備える仮名漢字変換装置。
【請求項２】
前記第２の逆変換手段は、前記単漢字変換手段による単漢字変換に先立って、前記逆変換して得られた仮名文字列を、前記単文節の変換候補を出力する前記仮名漢字変換手段に出力する請求項１記載の仮名漢字変換装置。
【請求項３】
請求項２記載の仮名漢字変換装置において、
前記仮名漢字変換手段は、前記第２の辞書を参照して得られた仮名文字列について仮名漢字変換を行なう際、前記取り込まれた文字列に含まれる漢字と仮名漢字変換後に得られた単文節に含まれる漢字とが一致するもののみを変換候補とする変換候補制限手段を備えることを特徴とする仮名漢字変換装置。
【請求項４】
前記仮名漢字変換手段により出力される単文節としての変換候補と前記単漢字変換手段により出力される単漢字としての変換候補とを区別可能な態様で表示する表示手段を備えた請求項１記載の仮名漢字変換装置。
【請求項５】
請求項１ないし請求項４のいずれか記載の仮名漢字変換装置であって、
仮名文字列を漢字混じり文に変換する仮名漢字変換用の辞書から、前記逆変換用の第１の辞書を生成する第１辞書辞書生成手段を備えた仮名漢字変換装置。
【請求項６】
請求項１ないし請求項５のいずれか記載の仮名漢字変換装置において、
単漢字変換用の辞書から前記第２の辞書を生成する第２辞書生成手段を備えた仮名漢字変換装置。
【請求項７】
前記仮名漢字変換手段は、使用頻度に応じた順に単文節変換による変換候補を出力する手段を備えた請求項１ないし請求項６記載の仮名漢字変換装置。
【請求項８】
コンピュータが、少なくとも漢字を含んだ文字列を一旦仮名文字列に変換した後、再度仮名漢字変換を行なう処理を実行することにより実現される仮名漢字変換方法であって、
前記漢字を含む文字列を、文字列を入力する手段を介して取り込み、
該取り込まれた文字列を、文節を構成する自立語について漢字見出しと読みとを記録した第１の辞書を参照して仮名文字列に逆変換し、
該逆変換により仮名文字列が得られれば、該仮名文字列の前方から単文節として仮名漢字変換を行なう手段に供して語尾・付属語との接続検定を行なった上で、単文節の変換候補を出力し、
該変換により変換候補が得られなかった場合には、単漢字について漢字見出しと読みとを記録した第２の辞書を参照して前記漢字を含む文字列を仮名文字列に逆変換し、該逆変換された仮名文字列を前記仮名漢字変換を行なう手段に供し、
前記仮名漢字変換を行なう手段が変換候補を作成できなかった場合には、前記文字列に含まれる漢字の位置を仮名文字の区切り位置として、前記逆変換して得られた仮名文字列に対して単漢字変換を行なう
仮名漢字変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮名漢字変換装置および仮名漢字変換方法に関し、少なくとも漢字を含む文字列を取り込んでこれを変換する仮名漢字変換装置および仮名漢字変換方法に関する。
【０００２】
【従来の技術】
日本語をコンピュータで扱うことを目的として作られた仮名漢字変換装置では、仮名文字列を入力し、これを漢字仮名混じり文に変換する。これに対して、近年、既に確定した文字列を再変換することを目的として、あるいはＯＣＲにより読み取った文字列や手書き認識により読み取った文字列を再変換することを目的として、漢字が混じった文字列を変換しようとするものが提案されている。
【０００３】
即ち、ワードプロセッサなどに入力して確定済みの文字列に変換の誤りなどを見いだした場合に、もう一度仮名文字列を入力する替わりに、入力され確定済みの文字列から仮名文字列を作成して、再変換に供するのである。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の仮名漢字変換では、変換済みの文字列から逆変換用の単語辞書（漢字見出しと読みとを有する辞書）を参照して仮名文字列を得ているので、単語が不完全な形態で入力されている場合には、再変換できないという問題があった。例えば、手書き文字を認識する場合、「飛行機」や「伊藤」といった熟語について画数の多い漢字を入力する手間を嫌って「ひ行き」「伊とー」と入力することが考えられる。こうした文字列を正しい日本語文字列に変換しようとすると、一旦これらの文字列を仮名文字列に変換しなければならないが、辞書には「飛行機」を見出しとする語は登録されていても、「ひ行き」といった語は登録されていないから、うまく再変換できないと言う問題を招致する。
【０００５】
また、一旦仮名文字列に変換できたとしても、該当する単語が見いだされない場合には、入力を最初からやり直さなければならなかった。例えば、名前などは種々の漢字を当てはめることができるので、一旦漢字を仮名に戻してから仮名漢字変換を行なっても所望の漢字を得ることができない場合があった。
【０００６】
本発明は、上記問題点を解決するためになされ、少なくとも漢字が混じった文字列をスムースに仮名漢字変換することを目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
かかる目的を達成するためになされた本発明の仮名漢字変換装置は、
少なくとも漢字を含んだ文字列を一旦仮名文字列に変換した後、再度仮名漢字変換を行なう仮名漢字変換装置であって、
前記漢字を含む文字列を取り込む文字列入力手段と、
該取り込まれた文字列を、文節を構成する自立語について漢字見出しと読みとを記録した第１の辞書を参照して仮名文字列に逆変換する第１の逆変換手段と、
該逆変換により仮名文字列が得られれば、該仮名文字列の前方から単文節として仮名漢字変換して語尾・付属語との接続検定を行なった上で、単文節の変換候補を出力する仮名漢字変換手段と、
該仮名漢字変換手段により変換候補が得られなかった場合には、単漢字について漢字見出しと読みとを記録した第２の辞書を参照して、前記漢字を含む文字列を仮名文字列に逆変換し、該逆変換された仮名文字列を前記仮名漢字変換手段に供する第２の逆変換手段と、
前記第２の逆変換手段により得られた仮名文字列を基にして、前記仮名漢字変換手段による変換候補が得られなかった場合には、該仮名文字列に対して単漢字変換を行なう単漢字変換手段と、
前記単漢字変換手段における単漢字変換に際して、前記第２の逆変換手段が取り込んだ文字列に含まれる漢字の位置を、前記単漢字変換手段における変換の対象となる仮名文字の区切り位置とする区切り位置決定手段と
を備えることを要旨とする。
【０００８】
この仮名漢字変換装置に対応した本発明の仮名漢字変換方法は、コンピュータが、少なくとも漢字を含んだ文字列を一旦仮名文字列に変換した後、再度仮名漢字変換を行なう処理を実行することにより実現される仮名漢字変換方法であって、
前記漢字を含む文字列を、文字列を入力する手段を介して取り込み、
該取り込まれた文字列を、文節を構成する自立語について漢字見出しと読みとを記録した第１の辞書を参照して仮名文字列に逆変換し、
該逆変換により仮名文字列が得られれば、該仮名文字列の前方から単文節として仮名漢字変換を行なう手段に供して語尾・付属語との接続検定を行なった上で、単文節の変換候補を出力し、
該変換により変換候補が得られなかった場合には、単漢字について漢字見出しと読みとを記録した第２の辞書を参照して前記漢字を含む文字列を仮名文字列に逆変換し、該逆変換された仮名文字列を前記仮名漢字変換を行なう手段に供し、
前記仮名漢字変換を行なう手段が変換候補を作成できなかった場合には、前記文字列に含まれる漢字の位置を仮名文字の区切り位置として、前記逆変換して得られた仮名文字列に対して単漢字変換を行なう
ことを要旨とする。
【０００９】
かかる仮名漢字変換装置および方法は、ＯＣＲやペン入力、キーボード入力などにより取り込んだ漢字を含む文字列を、文節を構成する自立語について漢字見出しと読みとを記録した第１の辞書を用いて仮名文字列に逆変換し、得られた仮名文字列を基に仮名漢字変換を行なって、単文節の変換候補を出力する。かかる変換候補が得られなかった場合には、単漢字について漢字見出しと読みを記録した第２の辞書を参照して、前記取り込まれた文字列を仮名文字列に逆変換し、これを仮名漢字変換を行なう手段に供する。従って、この仮名漢字変換装置および方法によれば、対象となる文字列について文節を構成する語が含まれるとしてまず逆変換および仮名漢字変換を行なった後、変換候補が得られない場合（例えば漢字の熟語の一部を仮名で入力した場合など）には、単漢字についての第２の辞書を参照して逆変換を行なうことにより、所望の変換候補を得られ易くなると言う利点がある。しかも、本発明では、第２の逆変換手段により得られた仮名文字列を基にして、前記仮名漢字変換手段が変換候補を作成できなかった場合には、該仮名文字列に対して単漢字変換を行なう単漢字変換手段を備え、更に、取り込まれた文字列に含まれる漢字の位置を、単漢字変換の対象となる仮名文字の区切り位置とする区切り位置決定手段を備える。従って、仮名漢字変換用の辞書に登録がない文字列について漢字候補を出力することができ、人名などの変換の場合に有効である。単漢字変換の区切り位置が決定できるので、単漢字変換の変換精度を向上することができる。例えば「ひ行き」という文字列を取り込んだ場合、「行」を区切り位置として「ひ」と「き」について単漢字変換を行なえば良く、「ひこ（彦）」等を変換候補とする必要がない。
【００１０】
漢字などを含む文字列を再変換するといった要請は、比較的短い文字列の範囲に対して生じると考えられるから、単文節を前提とした逆変換および仮名漢字変換を起動することにより、文法解析などの手間を低減でき、短時間のうちに変換候補を得ることができる。しかも、変換候補が得られない場合には、単漢字毎に逆変換を行なってから仮名漢字変換に供するので、仮名漢字変換の基本となる仮名文字列が必ず得られるという利点がある。最終的に単漢字変換を用いれば、所望の変換結果を得ることができる可能性は高い。
【００１１】
なお、第２の逆変換手段によって得られた仮名文字列は、単文節の仮名漢字変換を行なう仮名漢字変換手段による仮名漢字変換に供しても良いが、これ以外の仮名漢字変換、例えば単漢字変換や連文節変換あるいは自動変換などに供しても差し支えない。
【００１２】
この仮名漢字変換装置において、前記仮名漢字変換手段に、第２の辞書を参照して得られた仮名文字列について仮名漢字変換を行なう際、前記取り込まれた文字列に含まれる漢字と仮名漢字変換後に得られた単文節に含まれる漢字とが一致するもののみを変換候補とする変換候補制限手段を備えるものとすることができる。例えば、「公えん」と入力されたときに、「公園」や「公演」は変換候補とするが、「講演」や「後援」などは候補としないのである。この結果、単文節変換における変換精度が各段に向上する。
【００１３】
また、この仮名漢字変換装置において、第２の逆変換手段により得られた仮名文字列を基にして、前記仮名漢字変換手段が変換候補を作成できなかった場合には、該仮名文字列に対して単漢字変換を行なう単漢字変換手段を備えるものとすることができる。この場合には、仮名漢字変換用の辞書に登録がない文字列について漢字候補を出力することができる。人名などの変換の場合に有効である。更に、取り込まれた文字列に含まれる漢字の位置を、単漢字変換の対象となる仮名文字の区切り位置とする区切り位置決定手段を備えるものとすることもできる。この場合には、単漢字変換の区切り位置が決定しやすいので、単漢字変換の変換精度を向上することができる。例えば「ひ行き」という文字列を取り込んだ場合、「行」を区切り位置として「ひ」と「き」について単漢字変換を行なえば良く、「ひこ（彦）」等を変換候補とする必要がない。
【００１４】
仮名漢字変換手段による変換候補が得られなかった場合に、最終的に単漢字変換手段による単漢字変換を行なう場合、得られた変換候補がいずれの変換手段により変換されたものであるか直ちに判断することが困難なことが考えられる。そこで、仮名漢字変換手段により出力される単文節としての変換候補と前記単漢字変換手段により出力される単漢字としての変換候補とを区別可能な態様で表示することも好適である。
【００１５】
漢字の含まれる文字列から仮名文字列を得るには、漢字から仮名を取り出す逆変換用の辞書が必要となる。この辞書は、専用に用意してもよいが、仮名文字列を漢字混じり文に変換する仮名漢字変換用の辞書から、生成することも可能である。なお、仮名漢字変換において新たな単語が登録された場合には、そのたびに逆変換用の辞書を更新するものとすることも可能である。この場合には、基本的に用意する辞書を一種類ですませることができる。
【００１６】
上述した様々な仮名漢字変換装置において、第２の辞書を単漢字変換用の辞書から生成するものとすることができる。この場合には、特別な辞書を用意する必要がなく、簡便に第２の辞書を構築することができる。
【００１７】
なお、仮名漢字変換手段によって漢字候補を出力する場合には、使用頻度に応じた順に単漢字変換による変換候補を出力するものとすることができる。単漢字変換の場合には、変換候補が多数に上ることがあり得るから、どのような手法で変換候補を出力するかは使い勝手に影響を与えやすい。
【００１８】
【発明の他の態様】
本発明の他の態様として、入力手段が手書き認識手段であるもの、スキャナなどの光学式文字読み取り装置であるもの、音声認識装置である等、種々の態様を考えることができる。更に、この仮名漢字変換装置は、単独でワードプロセッサとして用いることもできるし、仮名漢字変換を要する種々の機器に組み込んで用いることも可能である。また、コンピュータのオペレーティングシステムに組み込む形態で実現することも可能である。コンピュータを用いた機器にソフトウェアとして組み込んで実現する場合には、このソフトウェアを記録したフレキシブルディスクやＣＤ−ＲＯＭなどの形態で取り扱ったり、パソコン通信などを介して配布することも可能である。
【００１９】
例えば、コンピュータシステムのマイクロプロセッサによって実行されることによって、少なくとも漢字を含んだ文字列を一旦仮名文字列に変換した後、再度仮名漢字変換を行なうソフトウェアプログラムを格納した携帯型記憶媒体であって、
前記漢字を含む文字列を、取り込み、
該取り込まれた文字列を、辞書を参照して仮名文字列に逆変換し、
該逆変換により得られた仮名文字列を単文節として仮名漢字変換して、単文節の変換候補を出力し、
該単文節の変換候補が得られなかった場合には、前記逆変換された仮名文字列に対して単漢字変換を行ない、単漢字の変換候補を出力する
機能を実現するものが実施可能である。
【００２０】
これらの各部の機能を実現するソフトウェアプログラム（アプリケーションプログラム）は、フロッピディスクやＣＤ−ＲＯＭ等の携帯型記憶媒体（可搬型記憶媒体）に格納され、携帯型記憶媒体からコンピュータシステムのメインメモリまたは外部記憶装置に転送される。なお、通信回線を介して、これらのソフトウェアプログラムを提供する装置を設け、上記仮名漢字変換方法を実現するソフトウェアプログラムを通信回線を介して、この供給装置からコンピュータシステムのメインメモリまたは外部記憶装置に転送するものとしても良い。例えば、電話回線を介してパソコン通信のホストコンピュータからダウンロードしたり、衛星放送を用いて配信を受けることも可能である。
【００２１】
【発明の実施の形態】
次に、本発明に係る仮名漢字変換装置の好適な実施例について、図面に基づき説明する。図１は、第１本実施例の仮名漢字変換装置の機能ブロック図、図２は、かかる仮名漢字変換装置が実現されるコンピュータの概略構成を示すブロック図、である。
【００２２】
説明の便宜上、まず図２に従い、コンピュータ１０のハードウェア構成について説明する。このコンピュータ１０は、図示するように、ローカルバス２２に接続された演算処理部２０、ローカルバス２２を外部バスの一つであるＰＣＩバス３２に接続するＰＣＩブリッジ３０、ＰＣＩバス３２を介して演算処理部２０のＣＰＵ２１等によりアクセスを受けるコントローラ部４０、各種のＩ／Ｏ装置等を制御する機器が低速の外部バスであるＩＳＡバス４２に接続されたＩ／Ｏ部６０、および周辺機器であるキーボード７２，スピーカ７４，ＣＲＴ７６などから構成されている。
【００２３】
演算処理部２０は、中央演算処理装置としてのＣＰＵ２１（本実施例ではインテル社製Ｐｅｎｔｉｕｍを使用）、キャッシュメモリ２３，そのキャッシュコントローラ２４およびメインメモリ２５から構成されている。ＰＣＩブリッジ３０は、高速のＰＣＩバス３２を制御する機能を備えたコントローラである。ＣＰＵ２１が扱うメモリ空間は、ＣＰＵ２１の内部に用意された各種レジスタにより、実際の物理アドレスより広い論理アドレスに拡張されている。
【００２４】
コントローラ部４０は、モニタ（ＣＲＴ）７６への画像の表示を司るグラフィックスコントローラ（以下、ＶＧＡと呼ぶ）４４、接続されるＳＣＳＩ機器とのデータ転送を司るＳＣＳＩコントローラ４６、ＰＣＩバス３２と下位のＩＳＡバスとのインタフェースを司るＰＣＩ−ＩＳＡブリッジ４８から構成されている。ＶＧＡ４４は、ＣＲＴ７６に対して、６４０×４８０ドット、１６色表示が可能である。なお、表示用のフォントを記憶したキャラクタジェネレータや所定のコマンドを受け取って所定の図形を描画するグラフィックコントローラ、さらには描画画像を記憶するビデオメモリ等は、このＶＧＡ４４に実装されているが、これらの構成は周知のものなので、必要に応じて後述するものとし、図２では省略した。
【００２５】
ＰＣＩ−ＩＳＡブリッジ４８を介して接続されたＩＳＡバス４２は、各種のＩ／Ｏ機器が接続される入出力制御用のバスであり、ＤＭＡコントローラ（以下単にＤＭＡと呼ぶ）５０、リアルタイムクロック（ＲＴＣ）５２、２つの複合Ｉ／Ｏポート５４，５５、サウンドＩ／Ｏ５６、キーボード７２およびマウス７３とのインタフェースを司るキーボードインタフェース（以下ＫＥＹと呼ぶ）６４、優先順位を有する割り込み制御を行なう割り込みコントローラ（以下ＰＩＣと呼ぶ）６６、各種の時間カウントやビープ音を発生するタイマ６８等から構成されている。なお、ＩＳＡバス４２には、拡張ボードが実装可能なＩＳＡスロット６２が接続されている。
【００２６】
複合Ｉ／Ｏポート５４には、パラレル出力，シリアル出力の他、フロッピディスク装置８２やハードディスク８４を制御する信号を入出力するポートが用意されている。また、パラレル入出力には、パラレルポート８６を介してプリンタ８８が、シリアル入出力には、シリアルポート９０を介してモデム９２が、各々接続されている。もう一つの複合Ｉ／Ｏポート５５には、スキャナ９３や手書き入力可能なタブレット９４が接続されている。サウンドＩ／Ｏ５６には、上述したスピーカ７４の他、マイクロフォン９６が接続可能とされている。これらの構成の他、ＤＯＳ／Ｖ機では、標準化されたＩ／Ｏチャンネルが用意されることも多いが、本実施例では図示および説明は省略する。
【００２７】
次に、こうして構成されたハードウエアにより実行される機能を図１を用いて説明する。図１に示した各部の構成と働きについて概説するが、ここで行なわれる処理は、キーボード７２，スキャナ９３あるいはタブレット９４より入力されたデータに基づき、中央処理装置（ＣＰＵ２１）が実行するものである。このＣＰＵ２１により、総ての処理がおこなわれる。仮名漢字変換については、キーボード７２などから文字列が入力された後、所定の操作によって仮名漢字変換の実行が指示されたとき、所定の割込処理が起動し、取り込まれた文字列（仮名文字列あるいは漢字を含む文字列）を変換し、最終的に仮名漢字混じり文字列に変換するデバイスドライバが起動する。もとより、並列処理可能なコンピュータであれば、仮名漢字変換を一つのアプリケーション（インプットメソッド）が行なうものとし、変換結果を、必要とするアプリケーションに引き渡す構成としても差し支えない。この場合には、キーボード７２等からの入力をインプットメソッドが一括して引き受けることになる。
【００２８】
コンピュータ１０上で実現されるこの仮名漢字変換装置は、図１に示すように、文字列を入力部ＩＰＵにより入力する。この入力部ＩＰＵは、既に文書として入力された文字列を範囲指定して取り込むのが基本であるが、文字列を直接コードにより入力するキーボード７２、紙などに記載された文字を読み取り文字認識により文字列を認識するスキャナ９３と文字認識ソフトウェア、手書き文字を入力し文字列として認識するタブレット９４と手書き文字認識ソフトウェアなどを用いて、文字列を入力するものも含まれる。
【００２９】
こうして入力された文字列には漢字が混じっていることがあり、漢字混じりの部分は、第１の逆変換部ＲＣ１により、ハードディスク８４に記憶された第１の辞書を利用して仮名文字列に変換される。第１の辞書は、漢字見出し（文節を構成し得る語）に対して少なくともその読みを与えるものであり、実施例では、図３に示しように、品詞情報を併せ持つ構造としている。
【００３０】
次に、第１の逆変換部ＲＣ１から得られた仮名文字列を基に、仮名漢字変換部ＫＫＣが、単文節変換を行なう。単文節変換は、周知のものであり、与えられた仮名文字列が、一つの自立語＋付属語として構成されるものとして、変換を行なう。単文節変換に限定すると、仮名文字列に対する形態素解析などが簡略にでき、単純なマッチングにより、変換候補を得ることができる。なお、詳しい処理の内容については後述する。単文節変換には、図示を省略したが、仮名漢字変換用の自立語辞書、付属語辞書が用いられる。
【００３１】
単文節変換により変換候補が得られた場合には、これを出力し、出力された変換候補は、ＣＲＴ７６の所定の領域に表示される。一方、変換候補が得られなかった場合には、次に第２の逆変換部ＲＣ２を起動し、入力部により得られた文字列に対して、単漢字の漢字読み出しと読みとを含む第２の辞書を用いて仮名文字れを行なう。この結果、文節を構成する語の一部であって本来漢字で表記される部分が仮名になっているような場合でも、仮名漢字変換を行なって、変換候補を得やすくなる。なお、それでも変換候補が得られない場合には、図１には示していないが、更に単漢字変換を行なうモジュールを起動することもできる。この場合には図示しない単漢字変換辞書を利用する。単漢字変換であれば、大部分の文字列について、変換候補を示すことができる。
【００３２】
なお、これらの各部の機能を実現するソフトウェアプログラム（アプリケーションプログラム）は、ＣＰＵ２１により直接実行可能にＲＯＭに記憶しておくことも可能であるが、フレキシブルディスクやＭＯ，ＣＤ−ＲＯＭ等の携帯型記憶媒体（可搬型記憶媒体）に格納され、携帯型記憶媒体からこのコンピュータシステムのメインメモリ２５またはハードディスク８４に転送されて、実行されるものとすることもできる。なお、通信回線を介して、これらのソフトウェアプログラムを提供する装置を設け、この装置をモデム９２を介して通信回線に接続し、供給装置から、当該ソフトウェアプログラムをコンピュータシステムのメインメモリ２５またはハードディスク８４に転送するものとしても良い。
【００３３】
次に、各処理ルーチンについて、順次説明する。図４および図５は、漢字を含む文字列を取り込んでこれを再度仮名漢字変換する再変換処理ルーチンを示すフローチャートである。ワードプロセッサなどのアプリケーションプログラムを実行中に、既に入力され確定された文字列の範囲を指定して、再変換の指示がなされると、仮名漢字変換用のプログラムが起動され、図４および図５に示す処理を開始する。
【００３４】
このルーチンが開始されると、まず対象文字列を取得する処理が行なわれる（ステップＳ１００）。対象文字列とは、範囲指定して本実施例の仮名漢字変換プログラムに渡される文字列であり、以下で再変換の対象となる文字列である。例えば、図６（Ａ）に示したように、確定した文字列「佐賀のは今日の北部に」が対象文字列として取得されたものとする。次に、検索文字ポインタと検索回数を初期化する処理を行ない（ステップＳ１１０）、まず検索文字を一つ追加する処理を行なう（ステップＳ１２０）。図６（Ｂ）に示すように、検索文字ポインタの初期値は０なので、ステップＳ１２０の処理を一回行なうことにより、まず検索文字ポインタを先頭の文字に設定する。
【００３５】
次に逆引き自立語辞書ＪＤ１を検索する処理を行なう（ステップＳ１３０）。即ち、検索文字ポインタが示している文字（図６では「佐」）について、第１の辞書に相当する逆引き自立語辞書ＪＤ１を検索する。この辞書ＪＤ１は、漢字見出しにより検索が可能であり、実施例では、その読みと品詞情報とを得ることができる。検索した後、検索結果について判定する。逆引き自立語辞書ＪＤ１は、漢字見出しの順に並んでおり、一回の検索で同じ漢字見出しの単語が一つ読み出されるから、まずその漢字見出しについて最初の単語について一致するかを判断する（ステップＳ１４０）。図６の例のように一致する語が見つからない場合には、更に前方一致があるか否かについて判断する（ステップＳ１５０）。「佐」にたいして「佐賀」や「佐藤」が存在する場合には、前方一致する語が存在することになるから、この場合には、ステップＳ１２０に戻って、検索文字を一つ追加し、逆引き自立語辞書ＪＤ１の検索を再度実行する。即ち、「佐賀」について逆引き自立語辞書ＪＤ１を検索するのである。
【００３６】
この場合には、一致する語「佐賀」が見いだされるので、処理は、図５に示すステップＳ１６０以降に移行する。なお、検索回数番目での一致がなくかつ前方一致もなければ、この逆引き自立語辞書ＪＤ１によっては適正な仮名文字列は得られないと判断して、図８に示す追変換処理ルーチンに移行するが、この処理については後述する。
【００３７】
逆引き自立語辞書ＪＤ１を引いて丁度検索回数番目の一致が見いだされた場合には（ステップＳ１４０）、該当する単語が自立語辞書ＪＤ１に登録されていると判断できるので、検索文字ポインタを一つ進め（ステップＳ１６０）、続いて語尾／付属語検索回数を初期化、即ち値１に設定する処理を行なう（ステップＳ１７０）。次に検索文字を一つ追加して自立語に続く最初の文字（図６（Ｃ）では「の」）にポインタをおいて、語尾／付属語について逆引き辞書ＪＤ２を検索し（ステップＳ１９０）、一致があるか否かを判断する（ステップＳ２００）。一致がなく、前方一致が見いだされた場合には（ステップＳ２１０）、逆引き自立語辞書ＪＤ１の検索の場合と同様、検索文字を追加し（ステップＳ１８０）、再度逆引き語尾／付属語検索を行なう（ステップＳ１９０）。なお、図６では、逆引き語尾／付属語辞書ＪＤ２について、見出し語しか示さなかったが、付属語には漢字からなる接辞（「化」、「課」、「町」、「下さい」など）も存在するので、漢字もしくは仮名の見出しとその読みおよび文法情報とから構成されていることは、逆引き自立語辞書ＪＤ１と同様である。
【００３８】
図６に示した例では、「の」は逆引き語尾／付属語辞書に見出し語が見いだされるから、ステップＳ２００での判断は「ＹＥＳ」となり、この場合には、接続検定を行なう（ステップＳ２２０）。即ち、既に逆引き自立語辞書の検索により見いだされた自立語との文法上の接続を検定し、接続するか否かを判断するのである（ステップＳ２３０）。地名「佐賀」に格助詞「の」は接続するが、仮に接続しない場合には、検索回数を増やして（ステップＳ２４０）、再度逆引き語尾／付属語検索（ステップＳ１９０）以下の処理を行なう。この結果、接続する語尾または付属語が見いだされた場合には、この語尾または付属語を、先に見いだされた自立語に追加し（ステップＳ２５０）、取得された文字列すべてについて対象文字列を再構成したか判断する（ステップＳ２６０）。図６の例では、検索ポインタが「の」に置かれたとき、接続検定は「ＹＥＳ」となるから、対象文字列の再構成が完了したかを判断し、まだ「は」が残っていることから、ステップＳ１６０に戻って、検索文字ポインタを一つ進める所から処理を繰り返す。この結果、今度は「のは」という付属語が見いだされ、かつ対象文字列がすべて再構成されたことになるから、仮名文字列「さがのは」を得て、次に自立語の読みを用いた自立語検索（ステップＳ２７０）を中心とする仮名漢字変換を実行する（ステップＳ２８０）。即ち、図７に示すように、自立語を辞書を検索して、最長一致でかつ付属語も接続する自立語を検索し、変換候補「佐賀のは」「嵯峨のは」「性のは」などを表示し、使用者による候補の選択などを受け付ける（ステップＳ３００）。なお、表示を伴う候補の選択処理の詳細については、後述する。
【００３９】
語尾／付属語の検索において、検索回数番目での一致がなくかつ前方一致も見いだされない場合には、語尾／付属語の検索に入る以前の自立語の切り出しに問題があったと考えられるから、検索回数を増やし（ステップＳ２９０）、図４に示したステップＳ１３０に戻って、自立語の検索、即ち逆非自立語検索から処理を再開する。この場合には、同じ見出しの次の語に一致するものがあれば、これを用いて、上述した語尾／付属語の検索や接続の検定を行なうことになる。例えば、文字列「実物大の」についてまず「実物」までを逆引き自立語検索で検索した結果、「実物、じつぶつ、名詞」を見いだしたとすると、ここで一旦語尾／付属語検索を行なう。ところが、「大」については逆引き語尾／付属語辞書ＪＤ２には、対応する見出しがなく、前方一致も見いだされない。この場合には、検索回数を増やして（ステップＳ２９０）再度検索を行ない（ステップＳ１３０以下）、検索回数番目の一致はなく（ステップＳ１４０）かつ前方一致が見いだされるから（ステップＳ１５０）、次は自立語「実物大」を切り出してから、語尾／付属語の検索に入ることになる。この場合には、付属語「の」が見いだされ、対象文字列の再構成が完了する。
【００４０】
次に、逆引き自立語検索においていかなる一致も見いだされない場合に実行される追変換処理について、図８を用いて説明する。図８に示した追変換が開始されると、まず文字ポインタを初期化、即ち値１に設定し（ステップＳ３１０）、まずそのポインタの位置から１文字の取り出しを行なう（ステップＳ３２０）。この文字が漢字が否かの判断を行ない（ステップＳ３３０）、漢字の場合には、第２の辞書に相当する逆引き単漢字辞書ＫＤを検索し（ステップＳ３４０）、漢字でなければそのまま読み（かな）を取得する（ステップＳ３５０）。得られた読み（仮名）を、既に取得された仮名文字列の末尾に追加し（ステップＳ３６０）、文字ポインタを１だけ進める処理を行なう（ステップＳ３７０）。その後、残りの文字があるか否かを判断し（ステップＳ３８０）、あればステップＳ３２０に戻って１文字の取り出しから処理を繰り返す。
【００４１】
例えば、図９に示す「ひ行き」という文字列の場合、図４および図５に示した再変換の手法では、逆引き自立語検索の時点で破綻し、図８に示した追変換が起動される。文字ポインタが値１の場合に取り出された文字「ひ」については、そのまま読み（仮名）「ひ」を取得し、文字「行」については、逆引き単漢字辞書ＫＤを参照して読み「こう」を取得する。こうして総ての文字について処理を繰り返すと、読みとして「ひこうき」が得られる。
【００４２】
残りの文字がなくなったとき、取得した読みをもって単文節かな漢字変換を起動する（ステップＳ３９０）。この変換は、図５に示したステップＳ２８０と同一であり、仮名漢字変化により変換候補が得られると、次に候補選択処理（ステップＳ３００）が実行される。そこで次に、候補選択処理（ステップＳ３００）の詳細について説明する。候補選択処理は、図１０のフローチャートに示すように、まずキーボード７２などからの指示を受け付ける処理を行ない（ステップＳ４００）、この指示が候補の選択を指示するものであれば、候補を入れ替える処理を行なう（ステップＳ４１０）。図７に示した再変換の結果の例では、最初の候補が「嵯峨野は」となっていれば、これを次候補である「佐賀の」や「性の」に入れ替えるのである。なお、「佐賀の」に対して再変換を行なっているのであるから、再変換の対象となった文字列「佐賀の」は候補として表示しないか、最後に表示する候補とすることも好適である。
【００４３】
また、指示が修正指示であれば（ステップＳ４００）、表示していた候補を一旦仮名文字列に戻しこれを修正する処理を行なう（ステップＳ４２０）。得ようとした文字列が「坂野は（さかのは）」であり、これを誤って「さがのは」と入力したために誤変換を生じていたといった場合には、確定文字列を仮名文字列に戻して再変換を行なっても正しい変換結果を得ることはできない。そこで、こうした場合には、仮名文字列に戻した後、読み（仮名文字列）を修正する作業を行なうのである。読みを修正した後、単文節仮名漢字変換を実行する（ステップＳ４３０）。この変換処理は、上述した単文節仮名漢字変換の処理（ステップＳ２８０，３９０）と同一である。なお、追変換の場合も、文字列の修正とその後の単文節仮名漢字変換の処理は、全く同様に行なわれる。
【００４４】
キーボード７２等からの指示が確定の指示である場合には、まず自立語辞書ＫＤに、選択された候補を優先的に出力するように学習する処理を行なう（ステップＳ４４０）。これは通常の仮名漢字変換における学習と同様である。その後、現在選択されている候補からなる文節を確定文字列として出力する処理を行ない（ステップＳ４５０）、本ルーチンを終了する。
【００４５】
以上の候補選択処理により、再変換もしくは追変換の対象となった文字列を所望の日本語文字列に容易に変換することができる。
【００４６】
以上説明した実施例では、逆引き自立語辞書ＪＤ１や逆引き語尾・付属語辞書ＪＤ２は、それぞれ自立語辞書ＫＤや語尾・付属語辞書から生成するものとして説明した。通常の自立語辞書ＫＤなどは、見出しとしての読み，変換文字列としての漢字および品詞情報とを備えているので、これから図３に示した逆引き辞書を生成することは容易である。このように自立語辞書などから生成する場合でも、あるいは自立語辞書とは別に逆引き辞書を用意する場合でも、新たな単語を登録した時に逆引き辞書にもこれを登録する必要が存在する。図１１は、単語登録の処理ルーチンを示すフローチャートである。
【００４７】
図示するように、このルーチンが起動されると、まず登録しようとする単語を入力する処理を行なう（ステップＳ５００）。続いて、読みを入力する処理を行ない（ステップＳ５１０）、更に品詞を入力する処理を行なう（ステップＳ５２０）。品詞の入力は、予め用意した品詞を選択することにより行なっても差し支えない。以上の情報を順次入力した後、自立語辞書もしくは語尾・付属語辞書に登録する処理を行ない（ステップＳ５３０）、更に逆引き辞書に登録する処理を行なう（ステップＳ５４０）。
【００４８】
この処理を実行することにより、単語登録と同時に逆引き辞書も更新され、再変換や追変換の対象とすることができるものとなる。
【００４９】
以上説明した実施例では、登録単語単位で逆変換を行なってから再度仮名漢字変換に供すること（再変換）と、単漢字単位で逆変換を行なってから再度仮名漢字変換に供すること（追変換）とを行なっているが、再度行なわれる仮名漢字変換は単文節変換としている。これは、再変換や追変換の要請が複文節に亘って行なわれることが少なく、むしろ変換の速度を優先すべき考えれるからである。単文節変換では、接辞の処理（特に接頭語）の処理が困難な場合が考えられるが、「接辞」＋「単語」を予め登録しておけば、単文節変換によっても容易に変換することができる。もとより、形態素解析を行なうものとして、連文節変換を行なうものとすることもできる。
【００５０】
人名などの場合には、単文節変換によっては所望の文字が得られない場合も考えられる。したがって、こうした場合を含め、候補選択処理（ステップＳ３００）において、単漢字変換の選択肢を加えることも好適である。この例を図１２に示す。キーボード７２などからの入力が単漢字変換の起動を指示するものである場合には、読みを区切る処理を行ない（ステップＳ４６０）、区切った読み毎に単漢字変換を起動する（ステップＳ４７０）。こうした単漢字変換によれば、図１３に示すように、「ひ行き」といった文字列が指定された場合には、「行」という漢字の存在により、読みをその前後で区切り、「ひ」と「き」とをそれぞれ単漢字変換することになる。また、「行」については、単漢字変換の対処としても良いし、既に漢字で入力されていると判断し、単漢字変換の対象から除くことも望ましい。図１３の例では、漢字で入力された部分は、単漢字変換の対象から除いてある。なお、入力した文字列に漢字の部分が含まれていない場合には、先頭から単漢字変換の見出しとなりうる最大長の文字列を切り出し、順次単漢字変換に供すれば良い。
【００５１】
こうした単漢字変換は、「ひ行き」のように一部が漢字で入力された場合に有用であるばかりでなく、図１４に例示するように、確定した漢字文字列を変換する場合にも有用である。特に人名の場合には、すべてを登録しておくことは困難なので、単漢字変換を併用することは有用である。図１４に示した人名「北岡」は逆変換により仮名文字列「きたおか」を得たとしても、通常の文節変換では、「貴田岡」に変換することは困難である。こうした場合に、単漢字変換を起動し、逆変換により得られた仮名文字列「きたおか」を、単漢字の見出しのある最小の見出しの組み合わせに区切り、その後、単漢字変換を起動する。この例では、「きた」＋「おか」、「きた」＋「お」＋「か」、「き」＋「た」＋「おか」、「き」＋「た」＋「おか」、「き」＋「た」＋「お」＋「か」といった区切りが可能であり、これらを適宜指定することで、「き」＋「た」＋「おか」に対する単漢字変換を起動して、所望の漢字「貴」＋「田」＋「岡」に変換することができる。なお、単漢字変換により得られた変換候補と単文節変換により得られた候補とは、異なる態様で表示することが望ましい。図１４に示した例では、変換の単位毎に区切って表示しており、いずれの変換が行なわれているか直感的に理解できるが、更に表示の色などを変えることにより、明示することも好適である。
【００５２】
以上説明したように本実施例の仮名漢字変換装置は、確定した文字列や、スキャナ９３により読み込まれた文字列、あるいはタブレット９４から手書き入力され文字認識された文字列などに対して、単語単位で逆変換して再度仮名漢字変換を実行し、この処理によっては有意な候補が得られない場合には、漢字毎に単漢字の逆変換を行なってから仮名漢字変換を行なう。したがって、必ず漢字候補を得ることができ、誤変換などに対する修正を容易に行なうことができる。
【００５３】
以上本発明の実施例について説明したが、本発明はこの様な実施例になんら限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様で実施し得ることは勿論である。
【００５４】
【図面の簡単な説明】
【図１】本実施例における仮名漢字変換の概略構成を示す説明図である。
【図２】実施例で用いたコンピュータ１０のハードウェア構成を示すブロック図である。
【図３】逆引き辞書の構造を示す説明図である。
【図４】再変換処理の前半を示すフローチャートである。
【図５】再変換処理の後半を示すフローチャートである。
【図６】再変換処理の一例を示す説明図である。
【図７】再変換処理の後の単文節変換の様子を示す説明図である。
【図８】追変換の処理を示すフローチャートである。
【図９】同じく追変換の様子を示す説明図である。
【図１０】候補選択処理を示すフローチャートである。
【図１１】単語登録処理ルーチンを示すフローチャートである。
【図１２】候補選択処理において単漢字変換を起動する場合の処理を示すフローチャートである。
【図１３】単漢字変換の様子を示す説明図である。
【図１４】同じく単漢字変換の他の例を示す説明図である。
【符号の説明】
１０…コンピュータ
２０…演算処理部
２１…ＣＰＵ
２２…ローカルバス
２３…キャッシュメモリ
２４…キャッシュコントローラ
２５…メインメモリ
３０…ＰＣＩブリッジ
３２…ＰＣＩバス
４０…コントローラ部
４２…ＩＳＡバス
４４…ＶＧＡ
４６…ＳＣＳＩコントローラ
４８…ＩＳＡブリッジ
５４，５５…複合Ｉ／Ｏポート
５４…複合Ｉ／Ｏポート
５５…複合Ｉ／Ｏポート
５６…サウンドＩ／Ｏ
６０…Ｉ／Ｏ部
６２…ＩＳＡスロット
６８…タイマ
７２…キーボード
７３…マウス
７４…スピーカ
７６…ＣＲＴ
８２…フロッピディスク装置
８４…ハードディスク
８６…パラレルポート
８８…プリンタ
９０…シリアルポート
９２…モデム
９３…スキャナ
９４…タブレット
９６…マイクロフォン
ＩＰＵ…入力部
ＫＥＹ…以下
ＰＩＣ…以下
Ｐｅｎｔｉｕｍ…インテル社製
ＲＣＵ…逆変換部
ＳＢＣ…単文節変換部
ＳＫＣ…単漢字変換部
【図１】
0003876451.tif 000002
【図２】
0003876451.tif 000003
【図３】
0003876451.tif 000004
【図４】
0003876451.tif 000005
【図５】
0003876451.tif 000006
【図６】
0003876451.tif 000007
【図７】
0003876451.tif 000008
【図８】
0003876451.tif 000009
【図９】
0003876451.tif 000010
【図１０】
0003876451.tif 000011
【図１１】
0003876451.tif 000012
【図１２】
0003876451.tif 000013
【図１３】
0003876451.tif 000014
【図１４】
0003876451.tif 000015