(57)【特許請求の範囲】
【請求項１】
単語の読みと、表記の格納先と、文法情報とを、読みの順に並べたデータを、先頭部分の読み毎に１つのブロックとした複数のブロックを記憶している読み辞書部と、前記格納先に表記を格納している表記辞書部とを備えた辞書部を参照して、与えられた読み列に対する表記列を出力するデータ処理方法であって、
与えられた読み列の先頭文字を着目文字とし、当該着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録し、
登録された各読みの単語に後続する読み文字を着目文字とし、各着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録し、
前記変換候補リストの各単語のデータを参照して、前記読み列に対する第１候補となる単語列を決定し、
当該決定された単語列の各単語について、前記ロードしたブロック中の格納先を参照して、前記表記辞書部よりそれぞれの表記を読み出して、前記単語列に対応する表記列を作成し出力する
ことを特徴とするデータ処理方法。
【請求項２】
与えられた読み列に対する表記列を出力するデータ処理装置であって、
単語の読みと、表記の格納先と、文法情報とを、読みの順に並べたデータを、先頭部分の読み毎に１つのブロックとした複数のブロックを記憶している読み辞書部と、前記格納先に表記を格納している表記辞書部とを備えた辞書手段と、
与えられた読み列の先頭文字を着目文字とし、当該着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録すると共に、
登録された各読みの単語に後続する読み文字を着目文字とし、各着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録手段と、
前記変換候補リストの各単語のデータを参照して、前記読み列に対する第１候補となる単語列を決定する単語列決定手段と、
当該決定された単語列の各単語について、前記ロードしたブロック中の格納先を参照して、前記表記辞書部よりそれぞれの表記を読み出して、前記単語列に対応する表記列を作成し出力する表記列出力手段と
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はデータ処理方法及びその装置、特にパーソナルコンピュータなどの情報処理システムにおいて、データの検索を伴うデータ処理方法及びその装置に関する。
【０００２】
【従来の技術】
通常、かな漢字変換処理は、辞書を検索することにより、入力された読み列をかな漢字混じりの表記文字列に変換するものである。また、データベースの検索は、入力されたキーワードに対応付けられたデータをデータベースから検索して出力するものである。
【０００３】
従来のかな漢字変換を説明する。尚、辞書は、図５のように索引と単語を格納してあるデータブロックとから構成される。各データブロックには図６のように各単語に対して、読み、表記と、文法情報等が連続して格納されている。
【０００４】
かな漢字変換は、辞書の索引から解析に必要なデータブロックを決定し、データブロックをロードし、読み列を解析して可能な文節候補を作成し、それらを組み合わせて変換候補を決定し、尤もらしい候補を提示する。
【０００５】
【発明が解決しようとする課題】
前述した従来の文字処理方法では、辞書のデータブロックに格納されている読みと文法情報等は、読み列を解析して可能な文節候補を作成し、それらを組み合わせて変換候補を決定する部分で必要であるのに対し、表記は候補作成時には必要なく、尤もらしい候補を提示する部分でのみ必要である。ところで、読み列の解析から変換候補の決定までは、辞書のデータに頻繁にアクセスするため、辞書の異なったブロックを複数回ロードしなければならない。したがって、解析に必要のない表記をロードするための処理時間がかかっていた。また、表記は１文字２バイトで大部分は複数文字であり、ロードするサイズも大きくなっていた。また、１回でロードできるブロックサイズには制限があるため、同じ文字から始まる読みに関するデータが複数のブロックに分割され、ロード回数の増加を招いていた。
【０００６】
例えば、図１０のように、変換結果「高周波数」を期待して読み列「こうしゅうはすう」を入力した場合の変換処理では、先ず、「こ」で始まるブロックｎと「こうし」で始まるブロックｎ＋１をロードし、後続する文節開始点「う」のブロックａと「し」のブロックｂ、「は」のブロックｃをロードするため解析に合計５回のロードを行わなければならない。また出力処理の段階で改めて表記をロードするため１回更にロードしなければならない。もし、ブロック中の各単語の表記の情報量を低減させ、各ブロックの収録語数を増加させて、「こ」で始まるブロック中に「こうし」で始まる単語も納められれば、この例では、ロード回数を減らすことができる。また、一般にキーワード検索では、実際にそのキーワードに対するデータが存在しない場合でも、そのキーワードが含まれる可能性のあるデータブロックをロードし、ロードしたブロックに対して検索を実行する不要な処理が行われていた。
【０００７】
【課題を解決するための手段】
本発明はかかる問題点に鑑みなされたものであり、かな漢字変換における辞書のブロックのロード回数を低減させて、処理を高速化することを可能ならしめるデータ処理方法及び装置を提供しようとするものである。
【０００８】
この課題を解決するため、例えば本発明のデータ処理装置は以下の工程を備える。すなわち、
単語の読みと、表記の格納先と、文法情報とを、読みの順に並べたデータを、先頭部分の読み毎に１つのブロックとした複数のブロックを記憶している読み辞書部と、前記格納先に表記を格納している表記辞書部とを備えた辞書部を参照して、与えられた読み列に対する表記列を出力するデータ処理方法であって、
与えられた読み列の先頭文字を着目文字とし、当該着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録し、
登録された各読みの単語に後続する読み文字を着目文字とし、各着目文字で示されるブロックを前記読み辞書部からロードし、当該ロードしたブロック中の読み列と、前記着目文字から始まる読み列とを一致可能性がなくなるまで比較することで、複数の候補読み列の単語のデータを変換リストに登録し、
前記変換候補リストの各単語のデータを参照して、前記読み列に対する第１候補となる単語列を決定し、
当該決定された単語列の各単語について、前記ロードしたブロック中の格納先を参照して、前記表記辞書部よりそれぞれの表記を読み出して、前記単語列に対応する表記列を作成し出力することを特徴とする。
【００１２】
【実施例】
以下、添付図面に従って本発明に係る実施例を詳細に説明する。
【００１３】
図４は、本発明の文字処理方法が実施される情報処理システムの構成を表したブロック図である。実施例における「かな漢字変換処理」の概要を説明すると以下の通りである。
【００１４】
入力装置３（キーボードなど）から入力された文字列を受けた、中央演算処理装置１は主記憶装置２（ＲＯＭ及びＲＡＭ構成され、後述する各フローチャートに対応するプログラムを記憶している）内のプログラムに従い、辞書を格納している補助記憶装置５（ＤＩＳＫなど）を参照して、入力された文字列に対応する変換結果の文字列を表示装置３（ＣＲＴなど）に出力する。尚、主記憶装置２には、上記プログラムの他、各種ワークエリア（後述する変換候補リスト等を作成するためのエリア等）を記憶する場合にも用いられる。
【００１５】
図１は実施例の全体的な処理の流れを表すフローチャートである。図示の如く、入力装置１から読み列の入力処理を行ない、図１１のような文節候補のリストを作成するステップＳ１と（この処理については図２で詳細処理を述べる）、その作成された変換候補のリストからもっともらしい候補を第１候補として決定するステップＳ２と、第１候補を出力装置３に出力するステップＳ３を備える。
【００１６】
図２は図１のステップＳ１の文節候補作成処理の流れを表すフローチャートである。図示の如く本処理には、補助記憶装置５に格納されている辞書を主記憶装置２にロードし、単語の情報を検索するステップＳ１１（この処理については図３で詳細処理を述べる）と、ステップＳ１１で検索した単語に付属語が接続するかを決定するステップＳ１２と、ステップＳ１１で得られた単語とステップＳ１２で得られた付属語を主記憶装置４に確保された変換候補リストに格納するステップＳ１３が含まれる。
【００１７】
図３は図２のステップＳ１１の詳細処理の流れを表すフローチャートである。図示の如く、索引情報（読みの先頭文字による識別情報を記憶している）を検索するステップＳ１１１と、ブロックをロードするステップＳ１１２と、読みと一致するか判定するステップＳ１１３と、読みと一致するデータの検索がそれ以上必要かどうかを判定するステップＳ１１４と、読み込んだブロックデータ中の次の読みを取得するステップＳ１１５と、読みと一致すると判断した場合に、主記憶装置２中のＲＡＭに予め確保された変換リストを更新するステップＳ１１６を含む。
【００１８】
図７は、本実施例の記憶装置５に格納されている辞書の構造を示している。この辞書には、索引（インデックス）、読みブロック、表記ブロックの大きく３つに大別される。
【００１９】
索引は、各読みブロックに格納されている先頭の読みとそのブロック番号が対になって格納されている。これは、ある読みブロックには、対となる先頭の読みから次の読みブロックの先頭読みまでの範囲にある読みがその読みブロックに格納されていることを示している。
【００２０】
読みブロックは、ある単位（読みの先頭文字）でブロックに分割されている。この読みブロック内のデータ構造は図８に示すようになっていて、読みと表記の識別値（表記の格納アドレス）と文法情報等が格納されている。但し、読みブロック中の読みは文字コード順に並んでいて、２文字の読みと３文字の読みの先頭２文字が等しい場合には、文字数の少ない方を前方に位置させている。
【００２１】
また、３つ目の表記ブロックには図９に示すごとく、その表記が格納されている。
【００２２】
以上の構造及びその処理手順を、図８のデータ構造に従って更に詳しく説明する。
【００２３】
今、例えば、入力装置１から「こうしゅうはすう」という読みを取得したとする。この場合、変換処理としては、取得した読みにより図１１のような変換候補リストを作成する（ステップＳ１）。次いで、ステップＳ１で作成した変換候補から尤もらしい候補「高周波数」を第１候補として決定する（ステップＳ２）。そして、ステップＳ３で取得した第１候補「高周波数」を出力装置３に出力する（ステップＳ３）という工程を経ることになる。
【００２４】
ここでステップＳ１で取得する変換候補の作成について、図２に沿って説明を行なう。
【００２５】
読み「こうしゅうはすう」で辞書をサーチする（ステップＳ１１）。この結果、次の単語「こ（個、弧、子）」、「こう（項、公、候、高）」、「こうしゅう（講習、公衆）」がサーチされる。
【００２６】
次に、ステップＳ１１で作成された変換候補リストを参照し、個々の単語に付属語が接続するかどうか判断し、接続すると判断した場合には、付属語を接続する（ステップＳ１２）。次に、ステップＳ１３では、ステップＳ１１で得られた単語と、ステップＳ１２で得られた付属語を接続し、図１１のような変換候補リストを再構築する（ステップＳ１３）。
【００２７】
この図２のステップＳ１１の処理の内容の詳細を図３のフローチャートに従って説明する。
【００２８】
読み「こうしゅうはすう」の先頭文字「こ」で辞書の索引が決定されるから、目的の単語が格納されている「こ」ではじまる読みブロックを注目する（ステップＳ１１１）。ステップＳ１１１で決定した読みブロック番号の読みブロックを補助記憶装置５から主記憶装置４にロードする（ステップＳ１１２）。次に、ロードした読みブロック内の読み（初期値は先頭位置）と入力の読みが一致しているかを判断する（ステップＳ１１３）。尚、ここでいう一致とは、読み全体が一致していることはもとより、入力された読みの先頭文字から数文字が“読みブロック”内の読み全体に一致している場合をも含む。従って、「こ」を比較した場合には一致する読みがあるので、ステップＳ１１６に進んで、単語「こ（個、弧、子）」（図９参照）に対応する変換リストが更新（初期段階では作成）される。この変換リストには、書き込まれた個々の候補の表記アドレスと文法（複合語として次に単語が接続し得るか等）が書き込まれる。
【００２９】
次に「こいん（コイン）」と比較した場合であるが、この場合には一致しない。そこで、処理はステップＳ１１４に進んで、比較すべき他のデータがブロック内に存在し得るかどうかを判断する（ステップＳ１１４）。「コイン」は「こうしゅうはすう」より小さい（文字コードによる大小比較としている）ので、それ以降に一致する読みが存在する可能性があると判断する。換言すれば、文字コードを比較することで、それ以上の検索が意味を持つかどうかを判断する。尚、比較している読みが注目ブロックの最後のデータであると判断した場合も、検索を中止することになる。
【００３０】
さて、「こうしゅうはすう」と「こいん」を比較した場合、読みの文字コードが大きいことになり、且つ、「こいん」が注目しているブロックの最後のデータではないと判断すると、処理はステップＳ１１５に進んで、読み「こいん」の次の読みを取り出し、ステップＳ１１３に戻る。
【００３１】
また、単語「こう」が所得された場合、与えられた読みと一致するので「こ」と同様に「こう（項、公、候、高）」が変換候補リストに出力される。同様に「こうしゅう（講習、公衆）」が出力される。
【００３２】
こうして、単語「こうしん」が取得された場合、与えられた読み「こうしゅうはすう」と比較し、前者が大きいのでこれ以上一致する単語がないと判断する。従って、本処理は終了する。
【００３３】
以上の結果、結局のところ「こ（個、弧、子）」と「こう（項、公、候、高）」と「こうしゅう（講習、公衆）」の３つの単語が一致する単語として変換候補リストに出力される。
【００３４】
この３つの単語に後続する単語をサーチすると図１１の様に入力「こうしゅうはすう」を「公衆は数」と変換するまでに４回のロードで変換が完了することになる。尚、最終的な変換結果の出力時には、上記サーチ処理及び作成された変換候補リストに基づいて、最適な候補の連結を出力する。
【００３５】
以上、説明したように本実施例によれば、読みの最初の文字単位にブロック化し、そのブロック内には文字コードが昇順（或は降順）に整理された状態で格納されている。従って、与えられた読み（変換しようとするひらかな文字）に対しては、その先頭文字から順に該当する候補を抽出し、且つ、注目ブロック内の全てに対して調べるのではなく、文字コードを比較してそれ以上の処理を進めても無意味であるかどうかが判別できる。従って、かな漢字変換に要する処理は簡略化され、処理を高速なものにすることが可能になる。しかも、表記情報は読みなどと別個に記憶されており、読みブロックには、表記自体より情報量の少ない、その表記に対するアドレス情報が記憶されているわけであるから、読みブロックの各読み毎の情報量を少なくすることが可能になる。
【００３６】
尚、実施例では各ブロックを先頭の文字単位に分割して管理したが、先頭から２文字単位に分割管理するようにしても良い。
【００３７】
［第２の実施例の説明］
一般にデータベースをキーワードで検索する場合には、先ず、索引（インデックス）を検索し、どのデータブロックに存在する可能性があるかを判断する。そして、その後で、個々のデータブロックを記憶媒体から読出し、それに注目しているキーワードが存在するかどうかを判断し、存在するブロックを出力するという処理を行う。つまり、一致するキーワードがあるか無いかにかかわらず、一致するキーワードを有するブロックと同じ処理を行う必要がある。
【００３８】
従って、本来検索する必要がない部分に対しても同様の処理を行うので、処理に時間がかかるという問題がある。
【００３９】
また、キーワードの先頭コード単位に、どのデータブロックに存在するか、或はしないかを格納すると記憶容量が増加するという問題もある。
【００４０】
そこで、本第２の実施例では、キーワードによる検索時間を短縮することが可能なデータ処理方法を説明する。
【００４１】
尚、本第２の実施例における装置構成は上記第１の実施例における図４と同じとする。但し、主記憶装置２に記憶されているプログラムは図１２の通りであって、補助記憶装置５には検索対象の情報（その内容は後述する）が格納されてる点が異なる。
【００４２】
本第２の実施例における処理は図１２のフローチャートに従って処理される。図示の如く本処理は、キーワードを取得するステップＳ２１、存在情報判定（先頭からいくつかのコードで始まるキーワードが存在するかしないかの判定）を行うステップＳ２２、索引検索処理（キーワードがどのデータブロックに格納されている可能性があるかを判定する）するステップＳ２３、ブロックのデータをロードするステップＳ２４、キーワードと一致するかを判定するステップＳ２５、最後のデータであるかどうかを判定するステップＳ２６、注目しているデータを次のデータに進めるステップＳ２７、一致したデータがあったことを出力するステップＳ２８、一致したデータが存在しないことを出力するステップＳ２９で構成される。
【００４３】
図１３〜図１５は、実施例における補助記憶装置１５に記憶されているデータを示している。図示の如く、本第２の実施例では、存在情報、索引情報、ブロックデータ群であるデータ本体の３つから構成される。
【００４４】
存在情報（図１３）はデータ本体に格納されているキーワードの先頭コードによる分類で、あるコードで始まるキーワードが存在するか否かを示している。つまり、データ本体にそのキーワード文字列の先頭文字で始まるキーワードが存在していれば”１”、存在しない場合には”０”になっている。例えば、データ本体に「あお」、「あおみどり」というキーワードが存在する場合には、図示の如く「あ」の状態情報として”１”がセットされている。換言すれば、存在情報が図示のような状態である場合には、少なくとも「あ」、「き」、「こ」、「し」…ではじまるキーワードがデータ本体に存在することを示し、例えば「い」で始まるキーワードは存在しないことを示している。
【００４５】
索引情報（図１４）には、データ本体に格納されている最初のキーワードとそのブロック番号が対になって格納されている。あるブロックの先頭のキーワードから次のブロックの先頭キーワードまでの範囲のキーワードがそのブロックに格納されていることを示している。
【００４６】
データ本体（図１５）はある特定の単位でブロックに分割されていて、１つのブロックにはそのブロックのキーワード群とデータ部（実際に検索して表示するためのデータ）が格納されている。但し、各ブロック内のキーワードはその文字コード順にならべられている。
【００４７】
以下、図１３〜図１５のデータ構造に従って本第２の実施例の具体的な処理手順を図１２のフローチャートに従って説明する。尚、ここでは補助記憶装置１５に記憶されている情報は、上述した図１３〜図１５に示すようになっているものとして説明する。
【００４８】
キーボード１３から例えばキーワードとして「くろ」が入力されたとする（ステップＳ２１）。すると、処理はステップＳ２２に進んで、存在情報を調べて「く」はじまるキーワードが存在するかどうかを判断する。
【００４９】
ここで、存在情報中の「く」に対する存在／非存在を示す情報（以下、単にフラグという）が“０”であった場合、「くろ」のキーワードは存在しないことになるから、ステップＳ２９に進んで目的のキーワードは存在しないことを外部の報知するメッセージ等を表示する。
【００５０】
また、キーボード１３からキーワード「あか」が入力された場合、存在情報中の「あ」のフラグが“１”になっている、すなわち、キーワード「あか」が存在する可能性があることを意味するから、処理はステップＳ２２からステップＳ２３に進むことになる。
【００５１】
ステップＳ２３では、入力されたキーワードがどのブロックに存在するかを探し出すため、索引情報を検索する。この結果、第１番目のブロックに存在する可能性があることがわかるから、そのブロックのキーワード部分をロードする。この後、ロードしたブロック中のキーワード部分を調べて、「あか」が存在するかをステップＳ２５〜Ｓ２７をループして調べることになる。具体的には、最初の時点では、キーワード部分の「あお」が指し示されているから、入力されたキーワード「あか」と一致しないと判断し（ステップＳ２５）、尚且つ、その「あお」が最後のデータではないことがわかるので（ステップＳ２６）、ステップＳ２７に進んで、比較対象のキーワードを次のものに更新する。そして、ステップＳ２５に戻る。以下、同様の処理を繰り返していくと、３回目のループで合致するキーワードの存在が確かめられるから、ループ中のステップＳ２５から抜け出し、ステップＳ２８に進む。ステップＳ２８では、データ本体中のデータ部を主記憶装置１２にロードし、表示装置に表示する。
【００５２】
以上の結果、入力されたキーワード「あか」に対応する検索が行われ、該当するデータが表示装置に表示されることになる。一方、キーワード「くろ」が入力された場合には、最初の段階でそのようなキーワードが存在しないことが判明するので、ステップＳ２２以降の処理を行わないことになる。
【００５３】
以上説明した様に本第２の実施例によれば、キーワードでもってデータを検索する場合、先ず、キーワードの存在の有無の可能性を判断し、その次の段階で、該当するキーワードが存在し得る可能性が有るブロックを判断し、その後でブロックデータをロードしてキーワードの存在を判断する。
【００５４】
従って、キーワードの存在の有無を多段階で判断するので、該当するキーワードの存在の可能性がないと判断した場合には、それ以上の処理を継続しないので、効率的な検索処理が行えるようになる。
【００５５】
尚、第２の実施例では索引情報として、キーワードの先頭の１文字のみを管理したが、２文字或はそれ以上を単位として管理するようにししても良い。検索する情報量が多い場合には、むしろこのようにすることが効率的であるからである。
【００５６】
また、本発明は、複数の機器から構成されるシステムに適用しても１つの機器から成る装置に適用しても良い。また、本発明は、システム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
【００５７】
【発明の効果】
以上説明したように本発明によれば、かな漢字変換における辞書のブロックのロード回数を低減させて、更に、ブロック中の各単語の読みと、同じ読みから始まる複数の部分読みのそれぞれとの比較を、読みの順において一致可能性がなくなるまでとしたので、処理を高速化することが可能になる。
【００５９】
【図面の簡単な説明】
【図１】第１の実施例における全体的処理内容を示すフローチャートである。
【図２】図１における処理Ｓ１の内容を示すフローチャートである。
【図３】図２における処理Ｓ１１の内容を示すフローチャートである。
【図４】第１の実施例における情報処理システムのブロック構成図である。
【図５】従来のかな漢字変換辞書のデータ構造を示す図である。
【図６】従来のかな漢字変換辞書のデータブロックの内容を示す図である。
【図７】第１の実施例におけるかな漢字変換辞書の構造を示す図である。
【図８】第１の実施例におけるかな漢字変換辞書の読みブロックの内容を示す図である。
【図９】第１の実施例における表記ブロックの内容を示す図である。
【図１０】従来のかな漢字変換によるかな漢字変換の検索にかかる検索単位を概念的に示す図である。
【図１１】第１の実施例におけるかな漢字変換の検索にかかる検索単位を概念的に示す図である。
【図１２】第２の実施例における情報検索に係る処理内容を示すフローチャートである。
【図１３】第２の実施例におけるキーワード存在情報の内容を示す図である
【図１４】第２の実施例における索引情報の内容を示す図である。
【図１５】第２の実施例におけるデータ本体の構造を示す図である。
【符合の説明】
１  中央演算処理装置
２  主記憶装置
３  入力装置（キーボード）
４  表示装置
５  補助記憶装置
【図１】
0003585944.tif 000002
【図２】
0003585944.tif 000003
【図３】
0003585944.tif 000004
【図４】
0003585944.tif 000005
【図５】
0003585944.tif 000006
【図６】
0003585944.tif 000007
【図７】
0003585944.tif 000008
【図８】
0003585944.tif 000009
【図９】
0003585944.tif 000010
【図１０】
0003585944.tif 000011
【図１１】
0003585944.tif 000012
【図１２】
0003585944.tif 000013
【図１３】
0003585944.tif 000014
【図１４】
0003585944.tif 000015
【図１５】
0003585944.tif 000016