(全体の概要)
本発明は、企業あるいは団体の属性を表す定型的な文字列またはそれを短縮した文字列である特定文字列(接頭語)を登録した接頭語DBと、企業名あるいは団体名を示す文字列、特殊読みする文字、単一文字、単語とそのひらがな読みを対応付けて登録した総合辞書DBを備え、入力文字列から前記接頭語を除外した文字列を検索する、コンピュータを用いた特定文字列除き文字列検索支援システムであり、入力文字列から接頭語DBに登録されている接頭語を取得し、該取得した接頭語を前記入力文字列から削除する接頭語取得・並べ替え・削除処理部と、接頭語を削除した入力文字列を、総合辞書DBを参照し前記対応付けに基づいて1以上のひらがなに変換するひらがな変換処理部と、変換された1以上のひらがなを、総合辞書DBを参照し前記対応付けに基づいて再度企業名文字列に変換し、複数の企業名文字列を組み立てるようにしたものである。総合辞書DBとしては、実施例では、企業名あるいは団体名を示す文字列とそのひらがな読みを対応付けて登録した企業名変換辞書DBと、特殊読みする文字とそのひらがな読みを対応付けて登録した特殊読み辞書DBと、前記企業名変換辞書DBあるいは前記特殊読みDBに含まれない単一文字、単語、語句とそのひらがな読みを対応付けて登録した一般辞書DBとで構成しており、該総合辞書DBの参照は、企業名変換DBを優先的に参照するようにしている。
以下、図面を用いて詳細に説明する。
図1は、本発明に係る特定文字列除き文字列検索支援システムの全体構成図である。同図において、本発明に係る特定文字列除き文字列検索支援システム102は、アプリケーションサーバ101上で動く検索支援システムである。
特定文字列除き文字列検索支援システム102は、同図に示すように、大きく分けて、接頭語取得・並べ替え・削除処理部103、ひらがな変換処理部104、および企業名再変換処理部105の3個の処理部と、接頭語DB106、企業名変換辞書DB107、特殊読み辞書DB108、および一般辞書DB109の4個のDB(データベース)から構成されている。
接頭語取得・並べ替え・削除処理部103は、ユーザが入力した企業名から、“株式会社”や“(株)”などの特定文字列(接頭語)を取得して、入力した企業名の先頭から削除するための処理部であり、接頭語取得処理部110aと接頭語並べ替え処理部110bと接頭語削除処理部111を有している。
接頭語取得処理部110aは、ユーザが入力したデータの中から接頭語DB106に登録されている接頭語を取得する処理部であり、接頭語並べ替え処理部110bは、接頭語取得処理部110aで取得した接頭語(株式会社や(株)など)を並べ替える処理部であり、接頭語削除処理部111は、ユーザ入力データから接頭語を削除する処理部である。
ひらがな変換処理部104は、接頭語削除後の企業名を、ひらがな読みに変換するための処理部であり、企業名変換辞書DBひらがな変換処理部112と特殊読み辞書DBひらがな変換処理部113と一般辞書DBひらがな変換処理部114とひらがな変換結果の組合せ処理部115を有している。
企業名変換辞書DBひらがな変換処理部112は、ユーザ入力データを、企業名変換辞書DBでひらがな変換する処理部である。
特殊読み辞書DBひらがな変換処理部113は、ユーザ入力データを、特殊読み辞書DBでひらがな変換する処理部である。
一般辞書DBひらがな変換処理部114は、ユーザ入力データを、一般辞書DBでひらがな変換する処理部である。
ひらがな変換結果の組合せ処理部115は、企業名変換辞書DBひらがな変換処理部112、特殊読み辞書DBひらがな変換処理部113、一般辞書DBひらがな変換処理部114でひらがな変換した結果を組合せて、ユーザ入力データのひらがな読みを作成する処理部である。
企業名再変換処理部105は、ひらがな変換処理部104でひらがな読みに変換した企業名を、ユーザが入力した企業名と同一読みであるが、別の漢字に再変換するための処理部であり、企業名変換辞書DB漢字変換処理部116と特殊読み辞書DB特殊文字変換処理部117と一般辞書DB漢字変換処理部118と漢字変換結果の組合せ処理部119を有している。
企業名変換辞書DB漢字変換処理部116は、ひらがな読みに変換した企業名を、企業名変換辞書DBで漢字変換する処理部である。
特殊読み辞書DB特殊文字変換処理部117は、ひらがな読みに変換した企業名を、特殊読み辞書DBで特殊文字に変換する処理部である。
一般辞書DB漢字変換処理部118は、ひらがな読みに変換した企業名を、一般辞書DBで漢字変換する処理部である。
漢字変換結果の組合せ処理部119は、企業名変換辞書DB漢字変換処理部116、特殊読み辞書DB特殊文字変換処理部117、一般辞書DB漢字変換処理部118で漢字変換した結果を組合せて、新たな企業名を作成する処理部である。
次に、接頭語DB106、企業名変換辞書DB107、特殊読み辞書DB108、および一般辞書DB109のデータベース構成の一例を、図5〜図8を用いて説明する。
接頭語DB106は、例えば図5に示すように、“株式会社”や“(株)”などの「接頭語」、「接頭語の文字数」(例えば、接頭語が“株式会社”の場合は“4”、“(株)”の場合は“3”)、「接頭語の頭文字1字」(例えば、接頭語が“株式会社”の場合は“株”、“(株)”の場合は“(”とする)が格納されているデータベース(DB)である。同図(a)は項目名と各項目の内容(意味)の説明を、同図(b)は各項目のデータ例を、それぞれ示している。
企業名変換辞書DB107は、例えば図6に示すように、「企業名漢字」、「企業名漢字文字数」、「企業名漢字変換フラグ」(“1”の場合に漢字変換)、「企業名ひらがな」、「企業名ひらがな文字数」(企業名をひらがなで表したときのひらがな文字数)、「企業名ひらがな変換フラグ」(“1”の場合にひらがな変換)が格納されているデータベース(DB)である。同図(a)は項目名と各項目の内容(意味)の説明を、同図(b)は各項目のデータ例を、それぞれ示している。なお、同図(b)に示されているように、本願では、企業名として使用されている文字、例えば、通常の意味での漢字の他、企業名に使用されているアルファベット、ひらがな、カタカナなどを含めて“企業名漢字”あるいは単に“漢字”と称している。
特殊読み辞書DB108は、例えば図7に示すように、“−”や“・”や“,”などの特殊な読みをする「特殊文字」、「特殊文字文字数」(特殊文字の文字数)、「特殊文字変換フラグ」(“1”の場合に特殊文字変換)、「特殊文字ひらがな」(例えば、“−”の場合は“はいふん”あるいは“はいほんあるいは”“ぼう”、“・”の場合は“ちゅうてん”あるいは“ぽち”、“,”の場合は“こんま”あるいは“かんま”)、「特殊文字ひらがな文字数」、「特殊文字ひらがな変換フラグ」(“1”の場合にひらがな変換)が格納されているデータベース(DB)である。同図(a)は項目名と各項目の内容(意味)の説明を、同図(b)は各項目のデータ例を、それぞれ示している。
一般辞書DB109は、例えば図8に示すように、企業名変換辞書DB107や特殊読み辞書DB108に登録された文字あるいは文字列以外の一般的な単一文字や文字列である「文字」、「文字数」、「変換フラグ」(“1”の場合に変換対象とする)、一般的な読みの「ひらがな」、「ひらがな文字数」、「ひらがな変換フラグ」(“1”の場合のひらがなを変換対象とする)が格納されたデータベース(DB)である。同図(a)は項目名と各項目の内容(意味)の説明を、同図(b)は各項目のデータ例を、それぞれ示している。
特定文字列除き文字列検索支援システム102における接頭語取得・並べ替え・削除処理部103(接頭語取得処理部110a、接頭語並べ替え処理部110b、接頭語削除処理部111からなる)、ひらがな変換処理部104(企業名変換辞書DBひらがな変換処理部112、特殊読み辞書DBひらがな変換処理部113、一般辞書DBひらがな変換処理部114、ひらがな変換結果の組合せ処理部115からなる)、企業名再変換処理部105(企業名変換辞書DB漢字変換処理部116、特殊読み辞書DB特殊文字変換処理部117、一般辞書DB漢字変換処理部118、漢字変換結果の組合せ処理部119からなる)の各処理部の機能は、アプリケーションサーバ101を構成するコンピュータにおけるCPU、メモリ、レジスタなどのハードウェアにより各処理部に対応するプログラムを実行することにより実現され、また、接頭語DB106、企業名変換辞書DB107、特殊読み辞書DB108、一般辞書DB109の4個のデータベース(DB)は、外部記憶装置などに格納され、必要に応じて各処理部によって参照/更新されるデータベースである。
次に、本発明に係る特定文字列除き文字列検索支援システム102が行う処理を、接頭語取得・並べ替え・削除処理部103によって行われる処理、ひらがな変換処理部104によって行われる処理、企業名再変換処理部105によって行われる処理に分けて、また必要に応じて具体的なデータ例を用いて説明する。なお、図5〜図8に示した各データベースのデータ例はあくまでも一例を示したものであり、以下の各処理部の説明で便宜的に用いた各データベースのデータ例は図5〜図8に示したデータ例と必ずしも同一ではないが、発明の本質に影響するものではない。
<接頭語取得・並べ替え・削除処理部103によって行われる処理の説明>
(接頭語取得・並べ替え・削除処理の概要)
接頭語取得・並べ替え・削除処理では、入力文字列の先頭1文字から接頭語DBを検索し、入力文字列の先頭1文字と接頭語DBにある接頭語の先頭1文字が同一の接頭語を接頭語DBから取得し、該取得した接頭語を接頭語の文字数の大きい順に並べ替え、文字数の大きい順に並び替えられた接頭語を、順番に、入力文字列の先頭1文字目から照合し、同一文字列があった場合に、入力文字列から該接頭語を削除するようにしている。
以下、図面を用いて詳細に説明する。
図2−A〜図2−Cは、接頭語取得・並べ替え・削除処理部103によって行われる処理のフローチャートである。
図2−AのステップS201からステップS203は、接頭語取得処理部110aによって行われる接頭語取得処理のフローチャートである。この接頭語取得処理は、ユーザが入力したデータから接頭語DB106に登録されている接頭語データを抽出し取得する処理である。
まず、図2−Aに示すように、ユーザが入力したデータに接頭語DB106に設定されている接頭語が含まれているか否かを検索するため、ユーザが入力したデータの文字数を取得し(ステップS201)、ユーザが入力したデータの頭文字1字を取得する(ステップS202)。
例えば、ユーザが入力したデータが“(株)日立情報システムズ”の場合、ステップS201で取得する入力データの文字数は“12文字”であり、ステップS202で取得する入力データの頭文字1字は“(”である。
次に、接頭語DB106から、「入力データの文字数>=接頭語DBの接頭語文字数」の条件(条件1)と、「入力データの頭文字1字=接頭語DBの頭文字1字」の条件(条件2)の両方の条件を満たす接頭語データを取得する(ステップS203)。
例えば、接頭語DB106の登録内容が図9−Aに示すものであった場合、ステップS203で取得される「入力データの文字数>=接頭語DBの接頭語文字数」の条件(条件1)と「入力データの頭文字1字=接頭語DBの頭文字1字」の条件(条件2)の両方の条件を満たす接頭語データとして、図9−Bに示す接頭語データが得られる。
次に、以下において接頭語DB106から取得した図9−Bに示す接頭語データを接頭語の文字数の大きい順に並べ替える場合の前準備について説明する。
まず、接頭語DB106から取得した接頭語データの件数を取得し(ステップS204)、何件目まで比較を行ったかをカウントするための比較元カウントに1を設定する(ステップS205)。接頭語DB106から取得した上記図9−Bに示す接頭語データの例では、ステップS204において接頭語データの件数として“3”が取得される。
図2−BのステップS206からステップS214は、接頭語並べ替え処理部110bによって行われる接頭語並べ替え処理のフローチャートである。この接頭語並べ替え処理は、接頭語取得処理部110aによって取得した接頭語データを、文字数が大きい順になるように並べ替える処理である。
接頭語の並べ替えは、比較元カウントが、接頭語データの件数を超えるまで続ける。比較元カウントが、接頭語データの件数を超えていない場合は(ステップS206:N)、接頭語の並べ替えを行う(ステップS207〜S214)。比較元カウントが接頭語データの件数を超えた場合は(ステップS206:Y)、並べ替え処理を終了する。
接頭語の比較は、まず、比較元の接頭語の次の接頭語と比較を行うため、比較先カウントに比較元カウントに1を加えた値を設定する(ステップS207)。
接頭語の比較は、比較先カウントが、接頭語データの件数を超えるまで続ける。比較先カウントが、接頭語データの件数を超えていない場合は(ステップS208:N)、次の比較先の接頭語と比較を行う(ステップS210)。比較先カウントが、接頭語データの件数を越えた場合は(ステップS208:Y)、当該接頭語の比較を終了し、次に、接頭語の比較元を、次の接頭語にするために、比較元カウントに1を加算した後(ステップS209)、ステップS206へ戻る。
次に、比較元の接頭語と比較先の接頭語を入れ替える必要があるのかを判定するために、比較元の接頭語の文字数と比較先の接頭語の文字数を比較する(ステップS210)。
ステップS210の比較により、比較元の接頭語の文字数より比較先の接頭語の文字数の方が小さい場合あるいは等しい場合は(ステップS210:N)、接頭語の入れ替えは行わない。
ステップS210の比較により、比較元の接頭語の文字数より比較先の接頭語の文字数の方が大きい場合は(ステップS210:Y)、接頭語DB106の接頭語、接頭語の文字数、接頭語の頭文字1字の入れ替えを行う(ステップS211〜S213)。
接頭語の入れ替えでは、まず、比較元の接頭語と比較先の接頭語を入れ替え(ステップS211)、次に、比較元の接頭語の文字数と比較先の接頭語の文字数を入れ替え(ステップS212)、最後に、比較元の接頭語の頭文字1字と比較先の接頭語の頭文字1字を入れ替える(ステップS213)。
その後、次の比較先の接頭語と比較を行うために、比較先カウントに1を加算した後(ステップS214)、ステップS208へ戻る。
本実施例の場合、接頭語DB106から取得後の接頭語データは図10−Aであり、ステップS206からステップS214の接頭語並べ替え処理後の文字数の大きい順に並べ替えられた接頭語データは図10−Bに示したようになる。
接頭語DB106から取得した接頭語データが図10−Aの場合の処理の流れをより詳細に述べると、(イ)接頭語データ件数が3で比較元カウントが1であるのでステップS206:N→(ロ)ステップS207で比較先カウント=2とする→(ハ)接頭語データ件数が3で比較先カウントが2であるのでステップS208:N→(ニ)接頭語文字数(比較元カウント)が3で接頭語文字数(比較先カウント)が6であるのでステップS210:Y→(ホ)ステップS211〜S213において図10−Bの1番目の接頭語データと2番目の接頭語データを入れ替える→(ヘ)ステップS214で比較先カウントを3にする。
次に、比較元カウントが1の接頭語データと比較先カウントが3の接頭語データに対して同様な処理を行う。(ト)ステップS208:N→(チ)ステップS21:N→ (リ)ステップS214で比較先カウントを4にする→(ヌ)接頭語データ件数が3で比較先カウントが4であるのでステップS208:Y→(ル)ステップS209で比較元カウントを2にする→ (ヲ)接頭語データ件数が3で比較元カウントが2であるのでステップS206:N→ (ワ)ステップS207で比較先カウントを3にする→(カ)接頭語データ件数が3で比較先カウントが3であるのでステップS208:N→ (ヨ)ステップS210:N→ (タ)ステップS214で比較先カウントを4にする→(レ)接頭語データ件数が3で比較先カウントが4であるからステップS208:Y→(ソ)接頭語データ件数が3で比較元カウントが3であるのでステップS206:N→ (ツ)比較先カウントを4にする→(ネ)接頭語データ件数が3で比較先カウントが4であるのでステップS208:Y→(ナ)ステップS209で比較元カウントを4にする→(ラ)接頭語データ件数が3で比較元カウントが4であるのでステップS206:Y→図2−CのステップS215へ。以上の結果、図10−Bに示した文字数の大きい順に並べ替えられた接頭語データが得られる。
図2−CのステップS215からステップS220は、接頭語削除処理部111によって行われる接頭語削除処理のフローチャートである。この接頭語削除処理は、ユーザが入力したデータから接頭語を削除する処理である。
接頭語の削除は、ユーザが入力したデータと上述した処理によって並べ替えが終了した接頭語データ(図10−B参照)の1件目から順に比較を行い、入力データの先頭1文字目から順に接頭語データの接頭語と比較し、ユーザが入力したデータに接頭語と同一文字列があれば、その接頭語をユーザが入力したデータから削除するものである。
ここでの処理では、まず、ユーザ入力データ(ユーザが入力したデータ)と並べ替えが終了した接頭語との比較が何件まで完了したかをカウントするため、比較カウントに1を設定する(ステップS215)。
接頭語並べ替え処理部11bによる並べ替えが終了した接頭語データ全てに対してユーザ入力データとの比較が終了した場合に本接頭語削除処理を終了する必要があるため、接頭語データ件数と比較カウントを比較し(ステップS216)、接頭語データの件数よりも比較カウントの方が大きくなった場合は(ステップS216:Y)、全ての接頭語の比較を実施したと判断し、接頭語削除処理を終了する。
接頭語データの件数よりも比較カウントが小さい場合あるいは等しい場合は(ステップS216:N)、次にユーザ入力データと接頭語データの比較を行う(ステップS217)。
ユーザ入力データに接頭語DB106から取得した接頭語があるか判断をするため、ユーザ入力データの先頭から接頭語データの文字数分のユーザ入力データと、接頭語データの接頭語と比較を行い(ステップS217)、ユーザ入力データの先頭から接頭語データの文字数分のユーザ入力データと接頭語データの接頭語がアンマッチ(不一致)の場合は(ステップS217:N)、次の接頭語データと比較を行うために、比較カウントに1を加算し(ステップS218)、ステップS216の処理へ戻る。
ユーザ入力データの先頭から接頭語データの文字数分のユーザ入力データと、接頭語データの接頭語がマッチ(一致)した場合は(ステップS217:Y)、接頭語削除処理を行う(ステップS220)。
ここでステップS220の接頭語削除処理に先立って、ユーザ入力データから接頭語を削除した場合にユーザ入力データが0文字となってしまう場合には接頭語の削除を行わないようにするため、入力データの文字数と接頭語データの文字数を比較し(ステップS219)、同一文字数の場合は(ステップS219:Y)、接頭語の削除は行わないようにする。入力データの文字数と接頭語データの文字数が同一文字数でない場合は(ステップS219:N)、接頭語削除処理を行う、すなわち、入力データの先頭から接頭語データと同一文字を削除する(ステップS220)。
上記実施例の場合、入力データが“(株)日立情報システムズ”であるから、ステップS215からステップS220の接頭語削除処理部111の処理により、入力データ“(株)日立情報システムズ”から接頭語データ“(株)”が削除され、接頭語削除後の入力データとして“日立情報システムズ”が得られる。
<ひらがな変換処理部104によって行われる処理の説明>
(ひらがな変換処理の概要)
ひらがな変換処理では、接頭語を削除した入力文字列の先頭1文字で辞書DBを検索し、該入力文字列の先頭1文字と同一の先頭1文字を有する文字列と該文字列に対応するひらがな読みの全ての組を取得し、該取得した文字列で入力文字列の先頭1文字目から照合し、一致する文字列のひらがな読みを全て取得する。実施例では、取得した文字列で入力文字列の先頭1文字目から照合し、一致する最長の文字列を検索し、該最長の文字列を入力文字列から削除した残りの文字列に対して同様の処理を繰り返して行い、このようにして得られた文字列に対応するひらがな読みを組み合わせるようにしている。
以下、図面を用いて詳細に説明する。
図3−A〜図3−Eは、ひらがな変換処理部104によって行われる処理のフローチャートである。
図3−Aに示すように、ひらがな変換処理の準備として、ひらがな変換の変換回数に1を、ひらがな変換の対象文字数範囲を決めるための変換対象外文字数に0を、入力データ文字数に接頭語を削除した入力データの文字数を設定する(ステップS301)。
ここで、「変換対象外文字数」の意味について説明する。変換対象外文字数とは、ひらがな変換の変換対象文字列の後方から外す文字数である。例えば、変換対象文字数が0の場合は、“日立情報システムズ”(変換対象文字列の全てが変換対象)、変換対象文字数が1の場合は、“日立情報システム”(変換対象文字列の右から1文字減らした“日立情報システム”が変換対象)、変換対象文字数が2の場合は、“日立情報システ”(変換対象文字列の右から2文字減らした“日立情報システ”が変換対象)となる。
図3−Aに示すステップS302からステップS309は、企業名変換辞書DB107を使ってユーザ入力データをひらがな変換する、企業名変換辞書DBひらがな変換処理部112の処理である。
企業名変換辞書DB107よりユーザ入力データをひらがな変換するかを変換対象外文字数が0か否かで判断し(ステップS302)、変換対象外文字数が0の場合は(ステップS302:Y)、企業名変換辞書DB107からまだ変換対象データを取得していないので、企業名変換辞書DB107からの変換対象データの取得処理を行う(ステップS303)。
変換対象外文字数が0以外の場合は(ステップS302:N)、以前に行われた変換対象外文字数が0のときの処理により企業名変換辞書DB107から既に変換対象データを取得していて、再度、変換対象データを取得する必要がないのでステップS303の変換対象データの取得処理をスルーして直接ステップS306以降の処理に進む。
ステップS303の変換対象データの取得処理では、企業名辞書DB107より、検索条件として、「企業名漢字の先頭1文字目=接頭語を削除した入力データの先頭1文字目」の条件(条件a1)と、「企業名漢字の文字数<=入力データ文字数」の条件(条件a2)と、「企業名ひらがな変換フラグ=1」の条件(条件a3)を全て満たすデータを検索し(ステップS303)、これらの条件に合致したデータを企業名変換辞書DB検索結果(304)として記憶装置に出力する。
上記実施例のように、接頭語削除後の入力データが“日立情報システムズ”で、接頭語を削除した入力データの先頭1文字目が“日”で、接頭語を削除した入力データの文字数が“9文字”の場合で、図11−Aに示す企業名変換辞書DB107を有する場合、上記条件に合致するデータとして、接頭語を削除した入力データ“日立情報システムズ”の先頭1文字目“日”を先頭1文字目として有し(条件a1)、かつ(条件a2)および(条件a3)を満たす企業名変換辞書DB107の企業名漢字として図11−Bに示す企業名変換辞書DB検索結果(304)が得られる。
次に、ステップS303で出力した企業名変換辞書DB検索結果の件数を取得する(ステップS305)。図11−Bに示した企業名変換辞書DB検索結果(304)の例では企業名変換辞書DB検索結果の件数として4が得られる。
次に、企業名変換辞書DB検索結果の有無によりユーザ入力データのひらがな変換を実施するか否かを判断するため、企業名変換辞書DB検索結果件数が0件か否かを判断する(ステップS306)。
検索結果件数が0件の場合(ステップS306:Y)、企業名変換辞書DB107にはひらがな変換候補がないため、企業名変換辞書DBによるひらがな変換は行わず、ステップS310以下の特殊読み辞書DBによるひらがな変換処理に進む。検索結果件数が1件以上ある場合は(ステップS306:N)、企業名変換辞書DBによるユーザ入力データのひらがな変換を行う(ステップS307)。
企業名変換辞書DB検索結果304より、「企業名漢字=接頭語を削除した入力データの1文字目から、(入力データ文字数−変換対象外文字数)により得られる文字目」を条件(条件イ)にして検索し(ステップS307)、これらの条件に合致したデータ数すなわち検索結果件数を取得する(ステップS308)。
本実施例のように、接頭語削除後の入力データが“日立情報システムズ”で、接頭語を削除した入力データの文字数が“9文字”で、図11−Bに示す企業名変換辞書DB検索結果を有する場合、まず、(条件イ)に合致するデータを検索する。企業名変換辞書DB検索結果と比較する入力データは、入力データの先頭1文字目から(入力データ文字数−変換対象外文字数)文字数目となる。
1回目の検索では、変換対象外文字数が0となるので、(入力データ文字数−変換対象外文字数)は9−0=9であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から9文字目の“日立情報システムズ”となる。
1回目の検索では、比較対象入力データの“日立情報システムズ”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
変換対象外文字数は、ひらがな変換範囲を絞るため、後述する図3−DのステップS328(企業名変換辞書DB検索の場合)により検索毎に+1が加算され、次の回のステップS207の検索に使われる。(なお、同様に、後述する図3−Bの特殊読み辞書DBひらがな変換処理の場合は、図3−DのステップS330により検索毎に変換対象外文字数に+1が加算され、次の回のステップS315の検索に使われ、後述する図3−Cの一般辞書DBひらがな変換処理の場合は、図3−DのステップS332により検索毎に変換対象外文字数に+1が加算され、次の回のステップS323の検索に使われる。)
2回目の検索では、変換対象外文字数が1となるので、(入力データ文字数−変換対象外文字数)は9−1=8であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から8文字目の“日立情報システム”となる。
2回目の検索では、比較対象入力データの“日立情報システム”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
3回目の検索では、変換対象外文字数が2となるので、(入力データ文字数−変換対象外文字数)は9−2=7であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から7文字目の“日立情報システ”となる。
3回目の検索では、比較対象入力データの“日立情報システ”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
4回目の検索では、変換対象外文字数が3となるので、(入力データ文字数−変換対象外文字数)は9−3=6であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から6文字目の“日立情報シス”となる。
4回目の検索では、比較対象入力データの“日立情報シス”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
5回目の検索では、変換対象外文字数が4となるので、(入力データ文字数−変換対象外文字数)は9−4=5であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から5文字目の“日立情報シ”となる。
5回目の検索では、比較対象入力データの“日立情報シ”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
6回目の検索では、変換対象外文字数が5となるので、(入力データ文字数−変換対象外文字数)は9−5=4であり、企業名変換辞書DB検索結果と比較する入力データは、接頭語を削除した入力データ先頭1文字目から4文字目の“日立情報”となる。
6回目の検索では、比較対象入力データの“日立情報”と一致するデータが企業名変換辞書DB検索結果に存在する(本例の場合は検索結果件数が1)。検索された企業名変換辞書DBのデータをひらがな変換対象データとする。
図12は、以上のように、6回目の検索で比較対象データと一致した企業名変換辞書DBのデータを示している(本例の場合は1件で、「企業名漢字が“日立情報”、企業名漢字文字数が“4”、企業名漢字変換フラグが“1”、企業名ひらがなが“ひたちじょうほう”、企業名ひらがな文字数が“8”、企業名ひらがな変換フラグが“1”」である)。
次に、企業名変換辞書DB検索結果304からのデータ取得有無でひらがな変換を終了するか否かを判断するため、ステップS308で取得した検索結果件数が0件か否かを判断する(ステップS309)。
検索結果が0件の場合は(ステップS309:Y)、企業名変換辞書DBにはひらがな変換候補がないため、次に特殊読み辞書DB108によりひらがな変換を行う(ステップS310〜S317)。検索結果件数が1件以上ある場合は(ステップS309:N)、企業名変換辞書DBにひらがな変換候補(上記の場合のひらがな変換候補は“ひたちじょうほう”)が見つかったので、ひらがな変換を終了し、図3−DのステップS336に進む。
図3−Bに示すステップS310からステップS317は、特殊読み辞書DB108を使ってユーザ入力データをひらがな変換する、特殊読み辞書DBひらがな変換処理部113の処理である。これらの処理は、図3−Aに示すステップS302からステップS309と同様な処理を企業名変換辞書DB107の代わりに特殊読み辞書DB108を使ってユーザ入力データをひらがな変換する処理である。
特殊読み辞書DB108よりユーザ入力データをひらがな変換するかを変換対象外文字数が0か否かで判断し(ステップS310)、変換対象外文字数が0の場合は(ステップS310:Y)、特殊読み辞書DB108からまだ変換対象データを取得していないので、特殊読み辞書DB108からの変換対象データの取得処理を行う(ステップS311)。
変換対象外文字数が0以外の場合は(ステップS310:N)、以前に行われた変換対象外文字数が0のときの処理により特殊読み辞書DB108から既に変換対象データを取得していて、再度、変換対象データを取得する必要がないのでステップS3311の変換対象データの取得処理をスルーして直接ステップS314以降の処理に進む。
特殊読み辞書DB108より、検索条件として、特殊文字の先頭1文字目=接頭語を削除した入力データの先頭1文字目の条件(条件b1)と、特殊文字の文字数<=入力データ文字数の条件(条件b2)と、特殊文字ひらがな変換フラグ=1の条件(条件b3)を全て満たすデータを取得し(ステップS311)、特殊読み辞書DB検索結果(312)として記憶装置に出力する(ステップS312)。
特殊読み辞書DBの検索結果件数を取得する(ステップS313)。
次に、特殊読み辞書DB検索結果の有無によりユーザ入力データのひらがな変換を実施するか否かを判断するため、特殊読み辞書DB検索結果件数が0件か否かを判断する(ステップS314)。
検索結果件数が0件の場合(ステップS314:Y)、特殊読み辞書DB108にはひらがな変換候補がないため、特殊読み辞書DBによるひらがな変換は行わず、ステップS318以降の一般辞書DBによるひらがな変換処理に進む。検索結果件数が1件以上ある場合は(ステップS314:N)、特殊読み辞書DBによるユーザ入力データのひらがな変換を行う(ステップS315)。
ステップS315では、特殊読み辞書DB検索結果(312)より、「特殊文字=接頭語を削除した入力データの1文字目から(入力データ文字数−変換対象外文字数)により得られる文字目」を条件(条件ロ)にして検索してひらがなデータを取得する。
特殊読み辞書DB検索結果から検索結果件数を取得する(ステップS316)。
特殊読み辞書DB検索結果からのデータ取得有無で、ひらがな変換を終了するか判断するため、検索結果件数を判断する(ステップS317)。検索結果が1件以上ある場合は(ステップS317:N)、ひらがな変換候補が見つかったので、ひらがな変換を終了し、図3−DのステップS336に進む。検索結果が0件の場合は(ステップS317:Y)、ひらがな変換候補がないため、次に、一般辞書DBのひらがな変換を行う(ステップS318〜S325)。
図3−Cに示すステップS318からステップS325は、一般辞書DB109を使ってユーザ入力データをひらがな変換する、一般辞書DBひらがな変換処理部114の処理ある。これらの処理は、図3−Aに示すステップS302からステップS309と同様な処理を企業名変換辞書DB107の代わりに一般辞書DB109を使ってユーザ入力データをひらがな変換する処理である。
一般辞書DB109よりユーザ入力データをひらがな変換するかを変換対象外文字数が0か否かで判断し(ステップS318)、変換対象外文字数が0の場合は(ステップS318:Y)、一般辞書DB109からまだ変換対象データを取得していないので、一般辞書DB109からの変換対象データの取得処理を行う(ステップS319)。
変換対象外文字数が0以外の場合は(ステップS318:N)、以前に行われた変換対象外文字数が0のときの処理により一般辞書DB109から既に変換対象データを取得しており、再度、変換対象データを取得する必要がないのでステップS319の変換対象データの取得処理をスルーして直接ステップS322以降の処理に進む。
一般辞書DB109より、検索条件として、漢字の先頭1文字目=接頭語を削除した入力データの先頭1文字目の条件(条件c1)と、漢字の文字数<=入力データ文字数の条件(条件c2)と、ひらがな変換フラグ=1の条件(条件c3)を全て満たすデータを取得し(ステップS319)、一般辞書DB検索結果(320)として記憶装置に出力する。
一般辞書DB検索結果件数を取得する(ステップS321)。
次に、一般辞書DB検索結果(320)の有無によりユーザ入力データのひらがな変換を実施するか否かを判断するため、一般辞書DB検索結果件数が0件か否かを判断する(ステップS322)。
検索結果件数が0件の場合(ステップS322:Y)、一般辞書DB109にはひらがな変換候補がないため、ひらがな変換は行わない。検索結果件数が1件以上ある場合は(ステップS322:N)、ユーザ入力データのひらがな変換を行う(ステップS323)。
ステップS323では、一般辞書DB検索結果(320)より、「漢字=接頭語を削除した入力データの1文字目から(入力データ文字数−変換対象外文字数)により得られる文字目」を条件(条件ハ)にして検索し、ひらがなデータを取得する。
一般辞書DB検索結果から検索結果件数を取得する(ステップS324)。
一般辞書DB検索結果(320)からのデータ取得有無で、ひらがな変換を終了するか判断するため、検索結果件数を判断する(ステップS325)。検索結果が1件以上ある場合は(ステップS325:N)、ひらがな変換候補が見つかったので、ひらがな変換を終了し、図3−DのステップS336に進む。
検索結果が0件の場合は(ステップS325:Y)、ひらがな変換候補がなく入力データをひらがな変換できなかったことを意味するため、図3−DのステップS326に進んで入力データよりひらがな変換範囲を絞って、再度ひらがな変換を行う。
図3−Dに示すように、まず、現在行っているひらがな変換文字数(すなわち、入力データ文字数−変換対象外文字数)についての判断を行う(ステップS326)。
入力データのひらがな変換範囲を絞る際、現在行っているひらがな変換文字数(=入力データ文字数−変換対象外文字数)を判定し(ステップS326)、ひらがな変換対象文字が、すでに入力データの先頭1文字のみの場合は(ステップS326:Y)、ひらがな変換範囲をこれ以上絞ることができないので、入力データの先頭1文字をひらがな変換結果とする(ステップS333)。
入力データのひらがな変換範囲が2文字以上ある場合は(ステップS326:N)、企業名変換辞書DB107の検索結果件数より再検索有無を判定する(ステップS327)。
企業名変換辞書DB検索結果件数を判断し(ステップS327)、検索結果件数が1件以上ある場合は(ステップS327:Y)、企業名変換辞書DB検索結果にひらがな変換候補があるので、変換対象外文字数に+1を加算することにより入力データのひらがな変換範囲を絞った後(ステップS328)、ステップS307に戻って再度企業名変換辞書DBによりひらがな変換を行う。検索結果件数が0件の場合は(ステップS327:N)、次に特殊読み辞書DB108の検索結果件数より再検索有無を判断する(ステップS329)。
企業名変換辞書DB検索結果件数が0件の場合は(ステップS327:N)、次に特殊読み辞書DB検索結果件数を判断し(ステップS329)、検索結果件数が1件以上ある場合は(ステップS329:Y)、特殊読み辞書DB検索結果に変換候補があるので、変換対象外文字数に+1を加算することにより入力データのひらがな変換範囲を絞った後(ステップS330)、ステップS315に戻って再度特殊読み辞書DBによりひらがな変換を行う。検索結果件数が0件の場合は(ステップS329:N)、次に一般辞書DB109の検索結果件数より再検索有無を判断する(ステップS331)。
次に、一般辞書DB検索結果件数を判断し(ステップS331)、検索結果件数が1件以上ある場合は(ステップS331:Y)、一般辞書DB検索結果に変換候補があるので、変換対象外文字数に+1を加算することにより入力データのひらがな変換範囲を絞った後(ステップS332)、ステップS323に戻って再度ひらがな変換を行う。検索結果件数が0件の場合は(ステップS331:N)、ひらがな変換候補がないため、接頭語を削除した入力データの先頭1文字を、ひらがな変換(データの変換回数)回目(334)のひらがな変換結果として、記憶装置に記憶する(ステップS333)。
次のひらがな変換を行うため、接頭語を削除した入力データの先頭1文字を削除する(ステップS335)。
一方、ステップS309:N、ステップS317:N、ステップS325:Nの場合、企業名変換辞書DB107、もしくは、特殊文字辞書DB108、もしくは、一般辞書DB109からひらがな変換したデータをひらがな変換(データの変換回数)回目(334)のひらがな変換結果として、記憶装置に記憶する(ステップS336)。
次に、ステップS337において、接頭語を削除した入力データの先頭から(入力データ文字数−変換対象外文字数)の文字数目まで削除する(ステップS337)。
上記例のように入力データが“日立情報システムズ”の場合、入力データ文字数が9文字、変換対象外文字数が5の場合、(入力データ文字数−変換対象外文字数)=9−5=4であり、入力データ1文字目から4文字目まで(すなわち“日立情報”)でひらがな変換できたため、ステップS337では、接頭語を削除した入力データの“日立情報システムズ”からひらがな変換できた“日立情報”を削除する。
次に、ひらがな変換できた文字列を削除した入力データの文字数をカウントし、入力データ文字数とする(ステップS338)。上記例のように入力データが“日立情報システムズ”の場合、ステップS338では、“日立情報システムズ”から“日立情報”を削除した残りの入力文字列“システムズ”の文字数をカウントして得た5を入力データ文字数とする。その後、入力データからひらがな変換した文字列を削除した残りの文字列(上記例の場合の“システムズ”に対応)に対して再度ひらがな変換処理を行う。
入力データ文字数を判断し(ステップS339)、入力データ文字数が0以外(入力データが存在する)の場合は(ステップS339:N)、入力データがまだあるので(上記の場合“システムズ”)、次のひらがな変換を行うため、変換回数と変換対象外文字数の設定を行う(ステップS340)。具体的には、ステップS340において、変換回数に+1の加算と変換対象外文字数に0を設定した後、ステップS302に戻って次のひらがな変換を行う。
次に、接頭語を削除した入力データ“日立情報システムズ”から、更にステップS337でひらがな変換できた“日立情報”を削除して得られた“システムズ”について、ステップS302に戻って再度行われる2回目のひらがな変換について説明する。
この場合、“日立情報システムズ”の2回目の変換は、図3−Cに示す一般辞書DB109によるひらがな変換処理によって行われる。
“システムズ”について、本例の場合、企業名変換辞書DB107、特殊読み辞書DB108には存在せず、一般辞書DB109に図13に示すように“システム”と“ズ”が一般文字として登録されているものとする。一般辞書DB109には、当然のことながら多数のデータが登録されているが、簡単のため“システム”と“ズ”についてのみ図示している。この場合、企業名変換辞書DB107、特殊読み辞書DB108ではひらがな変換されず、一般辞書DB109によってひらがな変換される。
一般辞書DB109でひらがな変換する場合、ステップS319の条件c1、c2、c3を満たすものとして、図14(2回目の変換)または図15(3回目の変換)に示す一般辞書DB検索結果(320)が得られ、ステップS321において一般辞書DB検索結果件数として1が取得されるので、ステップS322:Nとなり、ステップS323に進む。
次に、2回目の変換では、図14に示す一般辞書DB検索結果から、ステップS323の条件ハに一致するデータを検索する。一般辞書DB検索結果と比較するデータは、接頭語を削除した入力データの先頭1文字目から(入力データ文字数−変換対象外文字数)文字目である。
本例では、1回目の検索では、変換対象外文字数が0となるので、入力データ文字数(5)−変換対象外文字数(0)は5−0であり、一般辞書DB検索結果と比較する入力データは、ひらがな変換できた文字列を削除した入力データ先頭1文字から5文字目の“システムズ”である。
1回目の検索では、比較対象となる入力データの“システムズ”と一致するデータが図16に示す一般辞書DB検索結果には存在しないので、検索結果が0となる(ステップS325:Y)。
本例の場合、一般辞書DB検索結果件数=1となるので(ステップS331:Y)、変換対象外文字数を+1加算し(ステップS332)、再度ステップS323に戻る。
2回目の検索では、変換対象外文字数が1となるので、入力データ文字数−変換対象外文字数は5−1で4となり、一般辞書DB検索結果と比較する入力データは、ひらがな変換できた文字列を削除した入力データ先頭1文字から4文字目の“システム”である。
2回目の検索では、比較対象となる入力データの“システム”と一致するデータが一般辞書DB検索結果に存在するので(ステップS325:N)、そのデータをひらがな変換対象データとし、2回目のひらがな変換データ(334)(図17参照)として記憶装置に登録する(ステップS336)。
入力データ“システムズ”からひらがな変換できた“システム”を削除して“ズ”を得て(ステップS337)、その文字数1を入力文字数とし(ステップS338)、次にステップS340で変換回数に+1加算し、変換対象外文字数に0を設定し、再度ステップS302に戻って“ズ”に対してひらがな変換を行う。
3回目のひらがな変換では、“ズ”は企業名変換辞書DB107、特殊読みDB108になく、一般辞書DB109にのみあるので(図13参照)、ステップS319の処理を行う。
ステップS319の条件c1、c2、c3を満たすものとして、図18に示す一般辞書DB検索結果(320)が得られ、ステップS321において一般辞書DB検索結果件数として1が取得されるので、ステップS322:Nとなり、ステップS323に進む。
次に、ステップS323では、図18に示す一般辞書DB検索結果から条件ハに一致するデータを検索する。一般辞書DB検索結果と比較するデータは、ひらがな変換できて削除された入力データの先頭1文字目から(入力データ文字数−変換対象外文字数)文字目である。
本例では、1回目の検索では、変換対象外文字数が0となるので、入力データ文字数(1)−変換対象外文字数(0)は1であり、一般辞書DB検索結果と比較する入力データは、ひらがな変換できた文字列を削除した入力データ“ズ”(先頭1文字も同じ)である。
1回目の検索では、比較対象となる入力データの“ズ”と一致するデータが一般辞書DB検索結果に存在し、検索結果件数が1となる(ステップS325:N)。
得られた一般辞書DB検索結果にあるデータ“ズ”をひらがな変換対象データとし、1回目のひらがな変換データ(334)(図19参照)として記憶装置に登録し(ステップS336)、ひらがな変換できた文字を削除した入力データの先頭から(入力データ文字数−変換対象外文字数)文字目までを削除する(ステップS337)。
次に、ひらがな変換できた文字列を削除した入力データの文字数をカウントし、入力文字数とする(ステップS338)。今の例では、入力データが“ズ”であり、これからひらがな変換できた文字列“ズ”を削除すると、残りの文字列はなくなるため、入力文字数=0となる(ステップS339:Y)。
このように、ステップS339で入力データ文字数が0(入力データが0件)の場合は(ステップS339:Y)、入力データが全てひらがな変換されたので、次に、図3−Eに示したステップS344以降のひらがな変換結果の組合せ処理を行なう。
図3−Eに示すステップS344からステップS350は、複数できたひらがな変換結果の組合せ処理を行う、ひらがな変換結果の組合せ処理部115の処理である。
まず、ひらがな変換(変換回数)回目(334)の変換回数1回目のデータをひらがな変換結果(345)として記憶装置に出力する(ステップS344)。
次に、ひらがな変換を複数回行っているかを判断し(ステップS346)、ひらがな変換を複数回行っている場合は(ステップS346:Y)、ひらがな変換組合せ回数の設定を行う(ステップS347)。まず、ひらがな変換組合せを行う準備として、ひらがな変換組合せ回数に+2を設定する(ステップS347)。
ひらがな変換組合せの終わりを判断するために、ひらがな変換組合せ回数と変換回数の比較する(ステップS348)。比較の結果、変換回数よりひらがな変換組合せ回数の方が大きい場合は(ステップS348:Y)、処理を終了する。変換回数より、ひらがな変換組合せ回数が大きくない場合は(ステップS348:N)、ひらがな変換結果の組合せを行う(ステップS349)。
ステップS349では、ひらがな変換結果(345)の1件目から最後のデータまで順番に、ひらがな変換データのひらがな変換(組合せ回数)回目(334)を組合せて、新たなひらがな変換結果(345)とする。
次に、ひらがな変換組合せ回数に+1を加算し(ステップS350)、ステップS348のひらがな変換組合せ終了の判断処理に戻る。
上述したユーザ入力データが“日立情報システムズ”の場合、図12に示した1回目のひらがな変換結果“ひたちじょうほう”、図20に示した2回目のひらがな変換結果“しすてむ”、および図21に示した3回目のひらがな変換結果“ず”を組合せることによって、ひらがな変換結果として“ひたちじょうほうしすてむず”が得られる。
また例えば、入力データが“日本最中”で、ひらがな変換時に、“日本”と“最中”で2回ひらがな変換した場合は、変換結果の組合せを行う。
図22に、ひらがな変換1回目(入力データの上2文字の“日本”のひらがな変換結果“にほん”と“にっぽん”)を示し、図23に、ひらがな変換2回目(入力データの下2文字の“最中”のひらがな変換結果“さいちゅう”と“もなか”)を示した。
まず、ひらがな変換1回目の「にほん」に対し、ひらがな変換2回目の“さいちゅう”と“もなか”を組合せ、次に、ひらがな変換1回目の“にっぽん”に対し、ひらがな変換2回目の“さいちゅう”と“もなか”を組合せる。この組合せの結果、図24に示すように“にほんさいちゅう”、“にほんもなか”、“にっぽんさいちゅう”、“にっぽんもなか”の4個のひらがな変換結果が得られる。以上の4個のひらがな変換結果を入力データのひらがな変換候補として以降の処理を行う(ユーザがこれらの候補の中から最適と思われる候補を選択するなど)。
一方、ステップS346の判断の結果、ひらがな変換回数が1回の場合は(ステップS346:N)、変換結果の組合せ処理を行う必要がないため、ひらがな変換処理を終了する。例えば、図25に示すように、入力データが“日立製作所”で、ひらがな変換時に“日立製作所”で1回しかひらがな変換していない場合は、変換結果の組合せ処理を行う必要がないので図25から得られる“ひたちせいさくじょ”をひらがな変換結果とすることによりひらがな変換を終了する。
次に、団体名あるいは企業名を間違えて入力してしまった場合や、団体名あるいは企業名を間違えて覚えていた場合の処理を考える。
例えば、“(株)日本鉄鋼”と入力すべきところを“(株)日本鉄工”と入力した場合、あるいは“(株)日本鉄鋼”という企業名を“(株)日本鉄工”と覚えていた場合について説明する。
ユーザ入力データ“(株)日本鉄工”を、上述した接頭語削除処理により、“(株)”が削除され、“日本鉄工”がひらがな変換処理対象となる。
ひらがな変換処理1回目で“日本”をひらがな変換する。
一般辞書DBが図26に示したDB構成(「日本」・・「にほん」、「日本」・・「にっぽん」、「鉄鋼」・・「てっこう」、「鉄工」・・「てっこう」)を有する場合(一般辞書DBには当然のことながら多数のデータが登録されているが、簡単のため関係するデータのみを図示)、上記で説明した条件に合うとして、図27に示した如き一般辞書DB検索結果(「日本」・・「にほん」、「日本」・・「にっぽん」))が得られる。
ひらがな変換処理2回目で“鉄工”をひらがな変換する。
一般辞書DBが図28に示したDB構成を有する場合、上記で説明した条件に合うとして、図29に示した如き一般辞書DB検索結果(「鉄工」・・「てっこう」)が得られる。
図27に示した1回目のひらがな変換結果と図29に示した2回目のひらがな変換結果を組み合わせることにより、図30に示したように、ひらがな変換結果として“にほんてっこう”と“にっぽんてっこう”が得られる。
<企業名再変換処理部105によって行われる処理の説明>
(企業名再変換処理の概要)
企業名再変換処理では、ひらがな変換した入力文字列の先頭1文字で辞書DBを検索し、ひらがな変換した入力文字列の先頭1文字と同一の先頭1文字を有するひらがな読みと該ひらがな読みに対応する文字列の組を取得し、該取得したひらがな読みで、前記ひらがな変換した入力文字列の先頭1文字目から照合し、一致するひらがな読みに対応する文字列を全て取得する。実施例では、取得したひらがなで、前記ひらがな変換した入力文字列の先頭1文字目から照合し、一致する最長のひらがな読みを検索し、該最長のひらがな読みを前記取得したひらがな読みから削除した残りのひらがな読みに対して同様の処理を繰り返して行い、このようにして得られたひらがな読みに対応する文字列を組み合わせるようにしている。
次に、企業名再変換処理部105によって行われる処理について詳細に説明する。
図4−A〜図4−Fは、企業名再変換処理部105によって行われる処理のフローチャートである。
漢字変換実施の準備として、図4−Aに示すように、ひらがな変換結果(345)より、ひらがな変換結果件数を取得する(ステップS401)。図24に示したひらがな変換結果を有する場合、ステップS401で取得されるひらがな変換結果件数は“4”である。
漢字変換実施回数に初期値として1を設定する(ステップS402)。ここで、漢字変換実施回数とは、ひらがな変換結果のうち、何番目のひらがな変換結果を漢字変換しているかをカウントする値である。
ひらがな変換結果より、(漢字変換実施回数)件目のひらがなを取得し、漢字変換の入力データとする(ステップS403)。図24に示したひらがな変換結果の例では、漢字変換の入力データは、漢字変換実施回数が1の場合は“にほんさいちゅう”、漢字変換実施回数が2の場合は“にほんもなか”、漢字変換実施回数が3の場合は“にっぽんさいちゅう”、漢字変換実施回数が4の場合は“にっぽんもなか”である。
次に、漢字変換の変換回数に1を、漢字変換の対象文字数範囲を決めるための変換対象外文字数に0を、入力データ文字数にひらがな変換結果より取得したひらがなの文字数を設定する(ステップS404)。変換対象外文字数は、図3−AのステップS301で説明したのと同じ機能を有するものである。
図4−Aに示すステップS405からステップS412は、企業名変換辞書DB107を使ってひらがなを漢字変換する、企業名変換辞書DB漢字変換処理部116の処理である。
企業名変換辞書DB107よりひらがなデータを漢字変換するかを、変換対象外文字数で判断し(ステップS405)、変換対象外文字数が0の場合は(ステップS405:Y)、企業名変換辞書DB107からまだ変換対象データを取得していないので、企業名変換辞書DB107からの変換対象データの取得処理を行う(ステップS406)。
変換対象外文字数が0以外の場合は(ステップS405:N)、以前に行われた変換対象外文字数が0のときの処理により企業名変換辞書DB107から既に変換対象データを取得しており、再度、変換対象データを取得する必要がないのでステップS406の変換対象データの取得処理をスルーして直接ステップS409以降の処理に進む。
ステップS406の変換対象データの取得処理では、企業名変換辞書DB107より、検索条件として、「企業名ひらがなの先頭1文字目=ひらがな変換結果より取得したひらがなの先頭1文字目」の条件(条件d1)と、「企業名ひらがなの文字数<=入力データ文字数」の条件(条件d2)と、「企業名漢字変換フラグ=1」の条件(条件d3)を全て満たすデータを取得し、企業名変換辞書DB検索結果(407)として記憶装置に出力する。
ひらがな変換結果が“ひたちじょうほうしすてむず”(入力文字数=13)の場合の再変換処理を考える。企業名変換辞書DB107が図31に示すデータを有している場合(企業名変換辞書DBには多数の企業名が登録されているが、簡単のため関係するデータのみを図示)、ステップS406において、「企業名ひらがなの先頭1文字目がひらがな変換結果より取得したひらがなの先頭1文字目“ひ”を有し(条件d1)、「入力データ文字数13以下の企業名ひらがなの文字数を有し(条件d2)、「企業名漢字変換フラグ=1」の条件(条件d3)の全てを満たす企業名漢字として、図32に示した“日立製作所”、“日立情報”、“檜電気”が取得され、企業名変換辞書DB検索結果(407)として記憶装置に出力される。
企業名変換辞書DB検索結果の件数を取得する(ステップS408)。上記例の場合、企業名変換辞書DB検索結果の件数は“3”である。
企業名変換辞書DB107の検索結果の有無でひらがなの漢字変換を実施するか否かを判断するため、企業名変換辞書DB検索結果件数を判断する(ステップS409)。
検索結果件数が0件の場合(ステップS409:Y)、企業名変換辞書DB107には漢字変換候補がないため、漢字変換は行わない。検索結果件数が1件以上ある場合は(ステップS409:N)、ひらがなデータの漢字変換を行う(ステップS410)。
ステップS410では、企業名変換辞書DB検索結果(407)より、「企業名ひらがな=ひらがな変換結果より取得したひらがなの1文字目から(入力データ文字数−変換対象外文字数)で得られる文字目」を条件(条件ニ)に、漢字データを取得する。
上記実施例のように、ひらがな変換結果が“ひたちじょうほうしすてむず”、ひらがな変換結果の文字数が“13”、企業名変換辞書DB検索結果が図18(図32)に示すデータを有する場合、「企業名ひらがな=ひらがな変換結果より取得したひらがなの1文字目から(入力データ文字数−変換対象外文字数)で得られる文字目」を検索する。従って企業名変換辞書DB検索結果と比較する入力データは、入力データの先頭1文字目から(入力データ文字数−変換対象外文字数)文字数目となる。
1回目の検索では、変換対象外文字数が0となるので、(入力データ文字数−変換対象外文字数)は13−0=13であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から13文字目の““ひたちじょうほうしすてむず”となる。
1回目の検索では、比較対象入力データの““ひたちじょうほうしすてむず”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
変換対象外文字数は、後述する図4−DのステップS431,S433,S435により検索毎に+1が加算される。
2回目の検索では、変換対象外文字数が1となるので、(入力データ文字数−変換対象外文字数)は13−1=12であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から12文字目の““ひたちじょうほうしすてむ”となる。
2回目の検索では、比較対象入力データの“ひたちじょうほうしすてむ”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
3回目の検索では、変換対象外文字数が2となるので、(入力データ文字数−変換対象外文字数)は13−2=11であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から11文字目の““ひたちじょうほうしすて”となる。
3回目の検索では、比較対象入力データの“ひたちじょうほうしすて”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
4回目の検索では、変換対象外文字数が3となるので、(入力データ文字数−変換対象外文字数)は13−3=10であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から10文字目の“ひたちじょうほうしす”となる。
4回目の検索では、比較対象入力データの“ひたちじょうほうしす”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
5回目の検索では、変換対象外文字数が4となるので、(入力データ文字数−変換対象外文字数)は13−4=9であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から9文字目の“日立情報シ”となる。
5回目の検索では、比較対象入力データの“ひたちじょうほうし”と一致するデータが企業名変換辞書DB検索結果には存在しないので、検索結果件数は0件となる。
6回目の検索では、変換対象外文字数が5となるので、(入力データ文字数−変換対象外文字数)は13−5=8であり、企業名変換辞書DB検索結果と比較する入力データは、ひらがな変換結果データ先頭1文字目から8文字目の“ひたちじょうほう”となる。
6回目の検索では、比較対象入力データの“ひたちじょうほう”と一致するデータが企業名変換辞書DB検索結果に存在する(本例の場合は検索結果件数が1)。検索された企業名変換辞書DB検索結果データを漢字変換対象データとする。
図33は、以上のように6回目の検索で比較対象データと一致した企業名変換辞書DB検索結果のデータを示している(本例の場合は1件で、「企業名漢字が“日立情報”、企業名漢字文字数が“4”、企業名漢字変換フラグが“1”、企業名ひらがなが“ひたちじょうほう”、企業名ひらがな文字数が“8”、企業名ひらがな変換フラグが“1”」である)。
次に、企業名変換辞書DB検索結果から検索結果件数を取得する(ステップS411)。本例の場合、検索結果件数は“1”である。
企業名変換辞書DB検索結果(407)からのデータ取得有無で漢字変換を終了するか判断するため、検索結果件数を判断する(ステップS412)。検索結果が1件以上ある場合は(ステップS412:N)、漢字変換候補があると判断し、漢字変換候補があることで漢字変換できたものとして漢字変換を終了し、図4−DのステップS439に進む。検索結果が0件の場合は(ステップS412:Y)、漢字変換候補がないため、次に特殊読み辞書DB108の特殊文字変換を行う(ステップS413〜)。
図4−Bに示すステップS413からステップS420は、特殊読み辞書DB108を使ってひらがなデータを特殊文字変換する、特殊読み辞書DB特殊文字変換処理117の処理である。これらの処理は、図4−Aに示すステップS405〜S412の処理と考え方は同じで、使用するデータベースを企業名変換辞書DBの代わりに特殊読み辞書DBにしただけである。
特殊読み辞書DB108よりひらがなデータを特殊文字変換するかを、変換対象外文字数で判断し(ステップS413)、変換対象外文字数が0の場合は(ステップS413:Y)、特殊読み辞書DB108からまだ変換対象データを取得していないので、特殊読み辞書DB108からの変換対象データの取得処理を行う(ステップS414)。変換対象外文字数が0以外の場合は(ステップS413:N)、以前に行われた変換対象外文字数が0のときの処理により既に特殊読み辞書DB108より変換対象データを取得しており、再度、変換対象データを取得する必要がないのでステップS414の変換対象データの取得処理をスルーして直接ステップS417以降の処理に進む。
ステップS414では、特殊読み辞書DB108より、検索条件として、特殊文字ひらがなの先頭1文字目=ひらがな変換結果より取得したひらがなの先頭1文字目の条件(条件e1)と、特殊文字ひらがな文字数<=入力データ文字数の条件(条件e2)と、特殊文字変換フラグ=1の条件(条件e3)を全て満たすデータを取得し(ステップS414)、特殊読み辞書DB検索結果(415)として記憶装置に出力する。
次に、特殊読み辞書DB検索結果の件数を取得する(ステップS416)。
次に、特殊読み辞書DB108の検索結果の有無でひらがなデータの特殊文字変換を実施するかを判断するため、特殊読み辞書DB検索結果件数を判断する(ステップS417)。検索結果件数が0件の場合(ステップS417:Y)、特殊読み辞書DB108には特殊文字変換候補がないため、特殊文字変換は行わない。検索結果件数が1件以上ある場合は(ステップS417:N)、ひらがなデータの特殊文字変換を行う(ステップS418〜)。
ステップS418では、特殊読み辞書DB検索結果(415)より、「特殊文字ひらがな=ひらがな変換結果より取得したひらがなの1文字目から(入力データ文字数−変換対象外文字数)文字目」を条件(条件ホ)に、特殊文字データを取得する。
次に、特殊読み辞書DB検索結果から検索結果件数を取得する(ステップS419)。
特殊読み辞書DB検索結果からのデータ取得有無で、特殊文字変換を終了するか判断するため、検索結果件数を判断する(ステップS420)。検索結果が1件以上ある場合は(ステップS420:N)、特殊文字変換候補があると判断し、特殊文字変換候補があることで特殊文字変換できたものとして特殊文字変換を終了し、図4−DのステップS439に進む。検索結果が0件の場合は(ステップS420:Y)、特殊文字変換候補がないため、一般辞書DB109の漢字変換を行う(図4−CのステップS421〜)。
図4−Cに示すステップS421からステップS428は、一般辞書DB109を使ってひらがなデータを漢字変換する、一般辞書DB漢字変換処理部118の処理である。これらの処理は、図4−Aに示すステップS405〜S412の処理と考え方は同じで、使用するデータベースを企業名変換辞書DBの代わりに一般辞書DBにしただけである。
まず、一般辞書DB109よりひらがなデータを漢字変換するかを、変換対象外文字数で判断し(ステップS421)、変換対象外文字数が0の場合は(ステップS421:Y)、一般辞書DB109からまだ変換対象データを取得していないので、一般辞書DB109からの変換対象データの取得処理を行う(ステップS422)。変換対象外文字数が0以外の場合は(ステップS421:N)、以前に行われた変換対象外文字数が0のときの処理により一般辞書DB109から既に変換対象データを取得しており、再度、変換対象データを取得する必要がないのでステップS422の変換対象データの取得処理をスルーして直接ステップS425以降の処理に進む。
ステップS422では、一般辞書DB109より、検索条件として、ひらがなの先頭1文字目=ひらがな変換結果より取得したひらがなの先頭1文字目の条件(条件f1)と、ひらがな文字数<=入力データ文字数の条件(条件f2)と、変換フラグ=1の条件(条件f3)を全て満たすデータを取得し、一般辞書DB検索結果(423)として、記憶装置に出力する。
一般辞書DB109の検索結果件数を取得する(ステップS424)。
一般辞書DB109の検索結果の有無でひらがなデータの漢字変換を実施するかを判断するため、一般辞書DB検索結果件数を判断する(ステップS425)。検索結果件数が0件の場合(ステップS425:Y)、一般辞書DB109には漢字変換候補がないため、漢字変換は行わないで図4−DのステップS429に進む。検索結果件数が1件以上ある場合は(ステップS425:N)、ひらがなデータの漢字変換を行う(ステップS426)。
ステップS426では、一般辞書DB検索結果(423)より、「ひらがな=ひらがな変換結果より取得したひらがなの1文字目から(入力データ文字数−変換対象外文字数)文字目)」を条件(条件ヘ)に、漢字データを取得する。
一般辞書DB検索結果から検索結果件数を取得する(ステップS427)。
一般辞書DB検索結果からのデータ取得有無で、漢字変換を終了するか判断するため、検索結果件数を判断する(ステップS428)。検索結果が1件以上ある場合は(ステップS428:N)、漢字変換候補があると判断し、漢字変換候補があることで漢字変換できたものとして漢字変換を終了し、図4−DのステップS439に進む。検索結果が0件の場合は(ステップS428:Y)、漢字変換候補がないため、次に現在行っている漢字変換文字数の判断を行う(ステップS429)。
図4−DのステップS429〜S435は、ひらがなデータが漢字変換できなかった場合に、ひらがなデータより漢字変換範囲を絞って、再度漢字変換を行うための処理である。
ひらがなデータの漢字変換範囲を絞る際、現在行っている漢字変換文字数を判定し(ステップS429)、漢字変換対象が、すでにひらがなデータの先頭1文字のみの場合、すなわち「入力データ文字数−変換対象外文字数=1」の場合は(ステップS429:Y)、漢字変換範囲をこれ以上絞ることができないので、ひらがなデータの先頭1文字を漢字変換結果(漢字変換(変換回数)回目(437))として、記憶装置に出力する(ステップS436)。
ひらがなデータの漢字変換範囲が2文字以上ある場合、すなわち「入力データ文字数−変換対象外文字数>1」の場合は(ステップS429:N)、まず企業名変換辞書DB107の検索結果件数より再検索有無を判定する(ステップS430)。
企業名変換辞書DB検索結果件数を判断し(ステップS430)、検索結果件数が1件以上ある場合は(ステップS430:Y)、変換候補があるので、変換対象外文字数に+1を加算することによりひらがなデータの漢字変換範囲を絞った後(ステップS431)、ステップS410に戻り、再度企業名変換辞書DB検索結果により、ひらがなデータの漢字変換を行う。
検索結果件数が0件の場合は(ステップS430:N)、次に特殊読み辞書DBの検索結果件数より再検索有無を判断する(ステップS432)。
ステップS432において、特殊読み辞書DB検索結果件数を判断し、検索結果件数が1件以上ある場合は(ステップS432:Y)、変換候補があるので、変換対象外文字数に+1を加算することによりひらがなデータの特殊文字変換範囲を絞った後(ステップS433)、ステップS418に戻り、再度特殊読み辞書DB検索結果より、ひらがなデータの特殊文字変換を行う。
検索結果件数が0件の場合は(ステップS432:N)、次に一般辞書DB109の検索結果件数より再検索有無を判断する(ステップS434)。
一般辞書DB検索結果件数を判断し(ステップS434)、検索結果件数が1件以上ある場合は(ステップS434:Y)、変換候補があるので、変換対象外文字数に+1を加算することによりひらがなデータの漢字変換範囲を絞った後(ステップS435)、ステップS426に戻り、再度一般辞書DB検索結果より、ひらがなデータの漢字変換を行う。
検索結果件数が0件の場合は(ステップS434:N)、漢字変換候補がないため、ひらがなデータの先頭1文字を漢字変換(変換回数)回目(437)のデータとして、記憶装置に出力する(ステップS436)。
次に、次の漢字変換を行うため、ひらがなデータの先頭1文字を削除する(ステップS438)。
ステップS439では、企業名変換辞書DB107、もしくは、特殊文字辞書DB108、もしくは、一般辞書DB109から漢字変換したデータを、漢字変換結果とし、漢字変換(変換回数)回目(437)として、記憶装置に出力する。
次に、ひらがな変換結果より取得したひらがなデータの先頭から(入力データ文字数−変換対象外文字数)の文字数目までの文字列(漢字変換できた文字列)を削除する(ステップS440)。
上記実施例の場合、ステップS410で説明したように、変換対象外文字数が“5”の場合に“ひたちじょうほう”で漢字変換できたため(図33参照)、ひらがな変換結果より取得したひらがなデータ(入力データ)が“ひたちじょうほうしすてむず”で入力データ文字数が“13”、変換対象外文字数が“5”、よって、ひらがな変換結果の“ひたちじょうほうしすてむず”の13文字のうちの1文字目“ひ”から8文字目(8=13−5)の“う”までの“ひたちじょうほう”を削除する。以降、残りの“しすてむず”で再度漢字変換処理を行う。
ステップS438とステップS440における文字列の削除後の残りのひらがな変換結果の文字数をカウントし、入力データ文字数とする(ステップS441)。上記の例の場合、残りのひらがな変換結果は“しすてむず”であるので、入力データ文字数は“5”である。
次に、ステップS442において、入力データ文字数を判断し、入力データ文字数=0でない場合は(ステップS442:N)、漢字変換されていないひらがな変換結果データがまだ残っているので、次の漢字変換を行うために、変換回数と変換対象外文字数の設定を行い(ステップS443)、図4−AのステップS405に戻り、次の漢字変換を行う。上記実施例の場合は、入力データ文字数が“5”(ステップS442:N)であるので、ステップS443で変換回数と変換対象外文字数の設定を行った後、ステップS405に戻り企業名変換辞書DB107、特殊読み辞書DB108、一般辞書DB109により再変換処理を行う。
ステップS443における変換回数と変換対象外文字数の設定では、変換回数に+1を加算し、変換対象外文字数に0を設定する。
ステップS405に戻って再度行われる2回目の再変換処理について説明する。“しすてむず”について、本例の場合、企業名変換辞書DB107、特殊読み辞書DB108には存在せず、一般辞書DB109に図13に示すように“しすてむ”と“ず”が一般文字として登録されているものとする。この場合、企業名変換辞書DB107、特殊読み辞書DB108では再変換されず、一般辞書DB109によって再変換される。
一般辞書DB109で再変換する場合、ステップS422の条件f1、f2、f3を満たすものとして、図14(2回目の変換)に示す一般辞書DB検索結果(423)が得られ、ステップS424において一般辞書DB検索結果件数として1が取得されるので、ステップS425:Nとなり、ステップS426に進む。
2回目の変換では、図14に示す一般辞書DB検索結果から、ステップS426の条件ヘに一致するデータを検索する。一般辞書DB検索結果と比較するデータは、入力データ“しすてむず”の先頭1文字目から(入力データ文字数−変換対象外文字数)文字目である。
本例では、1回目の検索では、変換対象外文字数が0となるので、入力データ文字数(5)−変換対象外文字数(0)は5−0であり、一般辞書DB検索結果と比較する入力データは、入力データ先頭1文字から5文字目の“しすてむず”である。
1回目の検索では、比較対象となる入力データの“しすてむず”と一致するデータが図16に示す一般辞書DB検索結果には存在しないので、検索結果が0となる(ステップS427、ステップS428:Y)。
本例の場合、一般辞書DB検索結果件数=1となるので(ステップS434:Y)、変換対象外文字数を+1加算し(ステップS435)、再度ステップS426に戻る。
2回目の検索では、変換対象外文字数が1となるので、入力データ文字数−変換対象外文字数は5−1で4となり、一般辞書DB検索結果と比較する入力データは、再変換できた文字列“ひたちじょうほう”を削除した入力データ先頭1文字から4文字目の“しすてむ”である。
2回目の検索では、比較対象となる入力データの“しすてむ”と一致するデータが一般辞書DB検索結果に存在するので(ステップS427,ステップS428:N)、そのデータ“しすてむ”を再変換対象データとし、2回目のひらがな変換データ(437)(図17参照)として記憶装置に登録する(ステップS439)。
入力データ“しすてむず”から再変換できた“しすてむ”を削除して“ず”を得て(ステップS440)、その文字数1を入力文字数とする(ステップS441)。本例では、入力文字数が1であるので(ステップS442:N)、次にステップS443で変換回数に+1加算し、変換対象外文字数に0を設定し、再度ステップS405に戻って“ず”に対して再変換を行う。
3回目の再変換では、“ず”は企業名変換辞書DB107、特殊読みDB108になく、一般辞書DB109にのみあるので(図13参照)、ステップS422の処理を行う。
ステップS422の条件f1、f2、f3を満たすものとして、図18に示す一般辞書DB検索結果(423)が得られ、ステップS424において一般辞書DB検索結果件数として1が取得されるので、ステップS425:Nとなり、ステップS426に進む。
次に、ステップS426では、図18に示す一般辞書DB検索結果から条件ヘに一致するデータを検索する。一般辞書DB検索結果と比較するデータは、再変換できて削除された入力データの先頭1文字目から(入力データ文字数−変換対象外文字数)文字目である。
本例では、1回目の検索では、変換対象外文字数が0となるので、入力データ文字数(1)−変換対象外文字数(0)は1であり、一般辞書DB検索結果と比較する入力データは、ひらがな変換できた文字列を削除した入力データ“ず”(先頭1文字も同じ)である。
1回目の検索では、比較対象となる入力データの“ず”と一致するデータが一般辞書DB検索結果(図18)に存在し、検索結果件数が1となる(ステップS427,ステップS428:N)。
得られた一般辞書DB検索結果にあるデータ“ず”を再変換対象データとし、1回目の再変換データ(437)(図19参照)として記憶装置に登録し(ステップS439)、再変換できた文字を削除した入力データの先頭から(入力データ文字数−変換対象外文字数)文字目までを削除する(ステップS440)。
次に、再変換できた文字列を削除した入力データの文字数をカウントし、入力文字数とする(ステップS441)。今の例では、入力データが“ず”であり、これから再変換できた文字列“ず”を削除すると、残りの文字列はなくなるため、入力文字数=0となる(ステップS442:Y)。
このように、ステップS442で入力データ文字数が0(入力データが0件)の場合は(ステップS442:Y)、ひらがな変換された入力データが全て漢字に再変換されたということなので、次に、図4−Eに示したステップS447以降の再変換結果の組合せ処理を行なう。
図4−Eに示すステップS447からステップS453は、複数できた漢字変換結果の組合せ処理を行う、漢字変換結果の組合せ処理部119の処理である。
まず、漢字変換1回目(漢字変換(変換回数1)回目)(437)を漢字変換結果(448)として、記憶装置に出力する(ステップS447)。
次に、漢字変換を複数回行っているかを判断し(ステップS449)、漢字変換を複数回行っている場合は(ステップS449:Y)、漢字変換組合せ回数の設定を行う(ステップS450)。ステップS450の漢字変換組合せ回数の設定では、漢字変換組合せを行う準備として、漢字変換組合せ回数に+2を設定する。
ここで、漢字変換を2回行っている例を説明する。
例えば、入力データが“にほんさいちゅう”で、漢字変換時に、“にほん”と“さいちゅう”で2回漢字変換した場合は(ステップS449:Y)、変換結果の組合せ処理を行う。
すなわち、漢字変換1回目(入力データの上3文字の“にほん”の漢字変換)の結果が図34に示す“日本”と“二本”、漢字変換2回目(入力データの下5文字の“さいちゅう”の漢字変換)の結果が図35に示す“最中”と“菜酎”の場合には、変換結果の組合せ処理を行う。
次に、漢字変換組合せの終わりを判断するために、漢字変換組合せ回数と変換回数の比較する(ステップS451)。変換回数より漢字変換組合せ回数の方が大きいが場合は(ステップS451:Y)、企業名漢字変換結果出力を行う(図4−FのステップS454)。変換回数より漢字変換組合せ回数の方が大きくないか等しい場合は(ステップS451:N)、漢字変換結果の組合せを行う(ステップS452)。
ステップS452の漢字変換結果の組合せでは、漢字変換結果(448)の1件目から最後のデータまで、順番に、漢字変換(データの漢字変換組合せ回数)回目(437)のデータを組合せて、新たな漢字変換結果(448)として、記憶装置に出力する。
例えば、入力データが“にほんさいちゅう”で、漢字変換時に“にほん”と“さいちゅう”の2つに分割して漢字変換した結果が図34(「日本」・・「にほん」、「二本」・・「にほん」)と図35(「最中」・・「さいちゅう」、「採酎」・・「さいちゅう」)のデータを有する場合、まず、漢字変換1回目の“日本”に対し、漢字変換2回目の“最中”と“採酎”を組合せ、次に、漢字変換2回目の“二本”に対し、漢字変換2回目の“最中”と“採酎”を組合せることにより、漢字変換結果として、図36に示す如き4つのデータ(「日本最中」、「日本菜酎」、「二本最中」、「二本菜酎」)が得られる。
次に、漢字変換組合せ回数に+1を加算した後(ステップS453)、ステップS451に戻って、再度漢字変換組合せ終了の判断を行う。
ステップS449において、漢字変換を1回しか行っていない場合は(ステップS449:N)、漢字変換結果(448)を企業名漢字変換結果(455)として、記憶装置に出力する(図4−FのステップS454)。
例えば、図37に示すように、ひらがな変換結果が“ひたちせいさくじょ”で、漢字変換時に、“日立製作所”で1回しか漢字変換していない場合は(ステップS449:N)、変換結果の組合せを行う必要がないので、漢字変換結果の組合せ処理を終了し、ステップS454に進んで、企業名漢字変換結果(455)として記憶装置に出力する。
次に、図4−Fに示すように、漢字変換結果(448)を企業名漢字変換結果(455)に加える(ステップS454)。
図38は、入力データが“にほんさいちゅう”で漢字変換した結果である漢字変換処理1回目の漢字変換結果を、企業名漢字変換結果に加えることを示す図である。
図39は、入力データが“にほんもなか”で漢字変換した結果である漢字変換処理2回目の漢字変換結果を、企業名漢字変換結果に加えることを示す図である。
次に、ひらがな変換結果件数と漢字変換実施回数を比較して(ステップS456)、ひらがな変換結果件数=漢字変換実施回数の場合は(ステップS456:Y)、処理を終了する。ひらがな変換結果件数=漢字変換実施回数でない場合は(ステップS456:N)、漢字変換実施回数の設定を行う(ステップS457)。漢字変換実施回数の設定では、漢字変換実施回数に+1を加算する。その後、ステップS403に戻る。
なお、ひらがな変換結果が“ひたちじょうほうしすてむず”の場合、1回目の再変換で“ひたちじょうほう”が“日立情報”に変換され、2回目の再変換で“しすてむ”が“システム”に変換され、3回目の再変換で“ず”が“ズ”に変換され、これらを図4−Eの漢字変換結果の組合せ処理によって組み合わせることにより漢字に再変換された企業名として“日立情報システムズ”が得られる。
次に、“(株)日本鉄鋼”と入力すべきところ間違えて“(株)日本鉄工”と入力してしまった場合、あるいは、“(株)日本鉄鋼”という企業名を間違えて“(株)日本鉄工”と覚えていた場合について説明する。
ここでは、ひらがな変換結果が“にほんてっこう”の場合を考える。
一般辞書DB109が図40に示すように、「日本・・にほん」、「二本・・にほん」、「鉄鋼・・てっこう」、「鉄工・・てっこう」のデータを有している場合(一般辞書DBには当然のことながら多数のデータが登録されているが、簡単のため関係するデータのみを図示)、1回目の漢字変換では、「にほん」で一般辞書DBを検索することにより、図41に示すように(「日本」・・「にほん」)と(「二本」・・「にほん」)が一般辞書DB検索結果として得られる。
2回目の漢字変換では、「てっこう」で一般辞書DBを検索することにより、図42に示すように(「鉄鋼」・・「てっこう」)と(「鉄工」・・「てっこう」)が一般辞書DB検索結果として得られる。
漢字変換結果の組み合わせに使う漢字は、「にほん」で一般辞書DBを検索する漢字変換1回目で得られた図41に示す漢字(「日本」、「二本」)と「てっこう」で一般辞書DBを検索する漢字変換2回目で得られた図42に示す漢字(「鉄鋼」、「鉄工」)である。
漢字変換結果の組み合わせは、まず、漢字変換1回目で得られた「日本」に対し、漢字変換2回目で得られた「鉄鋼」と「鉄工」とを組合せ、次に、漢字変換1回目で得られた「二本」に対し、漢字変換2回目で得られた「鉄鋼」と「鉄工」とを組合せる。その結果、図43に示すように、「日本鉄鋼」、「日本鉄工」、「二本鉄鋼」、「二本鉄工」が得られる。
ユーザは、“(株)日本鉄鋼”と入力すべきところ間違えて“(株)日本鉄工”と入力してしまった場合や、間違えて“(株)日本鉄工”と覚えていた場合であっても、図43に示した一般辞書DB検索結果を参照あるいは比較することにより、「日本鉄鋼」が最も正しいらしいことに気づき、「日本鉄鋼」を選択してその後の処理を進めることができる。
なお、企業名変換辞書DBが図44に示すように、(「日本鉄鋼」・・「にほんてっこう」)が登録され、(「日本鉄工」・・「にほんてっこう」)が登録されていない場合、“(株)日本鉄鋼”と入力すべきところ間違えて“(株)日本鉄工”と入力してしまった場合、あるいは、“(株)日本鉄鋼”という企業名を間違えて“(株)日本鉄工”と覚えていた場合を考える。この場合、入力された「日本鉄工」をひらがな変換して「にほんてっこう」を得、得られた「にほんてっこう」で図44に示した企業名変換辞書DBを検索することによって漢字に再変換すると、より蓋然性の高い企業名「日本鉄鋼」を得ることができる。
上記実施例では、企業名変換辞書DBと特殊読み辞書DBと一般辞書DBを別々に設けた場合を説明したが、これらを統合した単一の総合辞書DBを用いるようにしてもよい。しかし、本発明のように企業名を変換する場合、企業名変換辞書DBを参照する頻度が高いので、企業名変換辞書DBと特殊読み辞書DBと一般辞書DBを別々に設け、企業名変換辞書DBを最初に(優先的に)参照するようにするとより効率的であると考えられる。
本発明によれば、検索する企業名の入力データに「株式会社」、「(株)」、「有限会社」、「(有)」、「財団法人」、「(財)」などの企業や団体の属性を表す定常的な文字列や短縮された特定文字列(接頭語)が入っていた場合、これらを自動的に削除して検索するので、ユーザはこれらの接頭語の入力に気をつかう必要がなくなる。
また、例えば、企業名を間違えて入力した場合や企業名を間違えて覚えていた場合であっても、ひらがな変換処理および企業名再変換処理を行うことにより、より蓋然性の高い企業名を得ることができるので、検索したい企業名を何度も試行錯誤して入力を繰り返す必要がなくなる。
なお、本発明における各処理部(接頭語取得・並べ替え・削除処理部103(接頭語取得処理部110a、接頭語並べ替え処理部110b、接頭語削除処理部111からなる)、ひらがな変換処理部104(企業名変換辞書DBひらがな変換処理部112、特殊読み辞書DBひらがな変換処理部113、一般辞書DBひらがな変換処理部114、ひらがな変換結果の組合せ処理部115からなる)、企業名再変換処理部105(企業名変換辞書DB漢字変換処理部116、特殊読み辞書DB特殊文字変換処理部117、一般辞書DB漢字変換処理部118、漢字変換結果の組合せ処理部119からなる)の各処理部(請求項では処理手段という)によって行われる図2−A〜図2−C、図3−A〜図3−E、および図4−A〜図4−Fに示された処理は、アプリケーションサーバ101となるコンピュータに内蔵されるCPU、メモリ、レジスタなどのハードウェアを用いて、該処理部に対応するソフトウェア(プログラム)を実行することにより実現される。
また、本発明における上記各処理部(処理手段)に対応するソフトウェア(プログラム)は、FD、CD−ROM、DVDなどのコンピュータ読み取り可能な記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。