(57)【特許請求の範囲】
【請求項１】
日本語名称が入力された場合に、所定の変換ルール及び記憶装置に格納される所定の変換テーブルに従って前記日本語名称を英字名称に変換し、前記日本語名称と当該日本語名称に対応する前記英字名称とを前記記憶装置に格納する変換手段と、
前記変換手段により変換された前記英字名称を基に前記記憶装置を参照し、当該英字名称が前記記憶装置に格納される前に、同一の英字名称が前記記憶装置に既に登録済みか判断する判断手段と、
前記英字名称が前記記憶装置に格納される前に、同一の英字名称が前記記憶装置に既に登録済みであると判断された場合には、当該英字名称に対応する両日本語名称を前記記憶装置から読み出し、読み出された前記両日本語名称において相違する日本語の単語を特定し、前記記憶装置に格納する日本語単語特定手段と、
前記記憶装置に格納された前記日本語の単語間の意味関係に基づいて、前記日本語名称の変更を促す出力を行う変更要求手段と、
をコンピュータに実現させるためのプログラム。
【請求項２】
前記変更要求手段が、
前記記憶装置に格納された前記日本語の単語間の意味関係が類義語である場合には、前記両日本語名称を統一するような変更を促す出力を行う
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記変更要求手段が、
前記記憶装置に格納された前記日本語の単語間の意味関係が異義語である場合には、入力された前記日本語名称において特定された前記日本語の単語と代替可能な類義語を提示して変更を促す出力を行う
ことを特徴とする請求項１又は２記載のプログラム。
【請求項４】
前記変換手段が、
入力された前記日本語名称を単語分割し、単語分割結果を前記記憶装置に格納する手段と、
前記記憶装置に格納された前記単語分割結果に基づき、前記日本語名称において末尾に配置される末尾単語を特定する手段と、
前記日本語名称の末尾に配置され且つ前記英字名称への変換時に先頭に配置される末尾文字に関する情報を前記末尾文字毎に格納し且つ前記末尾文字に関する情報に従った変換を抑止する抑止文字に関する情報を格納する末尾文字テーブルを参照し、前記末尾文字テーブルに格納された前記末尾文字のうち、特定された前記末尾単語と部分一致する前記末尾文字が存在するか確認する手段と、
前記末尾単語と部分一致する前記末尾文字が存在すると判断された場合には、当該末尾単語を前記抑止文字として前記末尾文字テーブルに格納する手段と、
を有する請求項１乃至３のいずれか１つ記載のプログラム。
【請求項５】
日本語名称が入力された場合に、所定の変換ルール及び記憶装置に格納される所定の変換テーブルに従って前記日本語名称を英字名称に変換し、前記日本語名称と当該日本語名称に対応する前記英字名称とを前記記憶装置に格納する変換手段と、
前記変換手段により変換された前記英字名称を基に前記記憶装置を参照し、当該英字名称が前記記憶装置に格納される前に、同一の英字名称が前記記憶装置に既に登録済みか判断する判断手段と、
前記英字名称が前記記憶装置に格納される前に、同一の英字名称が前記記憶装置に既に登録済みであると判断された場合には、当該英字名称に対応する両日本語名称を前記記憶装置から読み出し、読み出された前記両日本語名称において相違する日本語の単語を特定し、前記記憶装置に格納する日本語単語特定手段と、
前記記憶装置に格納された前記日本語の単語間の意味関係に基づいて、前記日本語名称の変更を促す変更要求手段と、
を有する名称変換装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、日本語名称を英字名称に変換する技術に関し、より詳しくは例えば変数や項目等の日本語名称をプログラムにおいて使用可能な英字名称に変換するための技術に関する。
【０００２】
【従来の技術】
従来から特開平８−１０６４５８号公報に代表されるように、かな漢字変換技術を各種文字変換に適用して、入力文字列を所望の文字列に変換する技術は存在していた。しかし、変数や項目等の日本語名称をプログラムにおいて使用できる英字名称（英字だけでなく数字等が用いられる場合も含む。英数字名称と呼ぶ場合もある。）に変換する際の特有の処理については考慮がなされていない。
【０００３】
一方、特開平６−１８７１３６号公報に代表されるように、既存のソースプログラム等を用いてデータ項目名等を標準化するような技術も存在しているが、新規にプログラミングを行う場合において、新規な日本語名称の英字名称への変換には必ずしも有用とは言えない。
【０００４】
【発明が解決しようとする課題】
このように従来技術では変数等の日本語名称をプログラムにおいて使用できる英字名称に適切に変換することができない。また、手作業による日本語名称の英字名称への変換は変換ルールが多くなるほど誤りが避けられず、単純な変換ではプログラムにおける変数名等として使用できない場合が多い。
【０００５】
従って、本発明の目的は、変数名等の日本語名称を適切に英字名称に変換するための新規な技術を提供することである。
【０００６】
【課題を解決するための手段】
本発明の第１の態様に係るプログラムは、入力された日本語名称を所定の変換テーブル及び変換ルールに従って英字名称に変換し、記憶装置に格納する変換ステップと、生成された英字名称と同一の英字名称が記憶装置に既に登録済みか判断する判断ステップと、生成された英字名称と同一の英字名称が記憶装置に既に登録済みであると判断された場合には、当該英字名称に対応する両日本語名称において相違する日本語の単語を特定し、記憶装置に格納する日本語単語特定ステップと、特定された日本語の単語間の意味関係に基づいて、日本語名称の変更を促す変更要求ステップとをコンピュータに実行させるものである。
【０００７】
このようにすれば所定のルールに従って変換すると実際には使用できないような英字名称が生成されても、特定された日本語の単語間の意味関係に基づいて適切に名称変更を実施することができるようになる。
【０００８】
例えば、上で述べた変更要求ステップにおいて、特定された日本語の単語間の意味関係が類義語である場合には、日本語名称を統一するような変更を促すような構成であってもよい。例えば「連携」と「連係」であれば、日本語名称の統一がなされていないと推測されるためである。
【０００９】
また、上で述べた変更要求ステップにおいて、特定された日本語の単語間の意味関係が異義語である場合には、入力された日本語名称において特定された日本語の単語と代替可能な類義語を提示して変更を促すような構成であってもよい。同音異義語であれば単純な変換処理では、適切な英字変換ができないためである。
【００１０】
さらに、上で述べた変更要求ステップが、上記代替可能な類義語を、候補となる類義語の英字名称を含む英字名称が記憶装置に既に登録済みの英字名称と不一致であることを確認することにより特定するステップを含むような構成であってもよい。同音異義語の場合に、単純に代替用の類義語を提示するのではなく、代替した際に再度他の英字名称と一致するような類義語を候補から除外するためである。
【００１１】
なお、代替可能な類義語が存在しないと判断された場合には、別の単語を入力するように促すような場合もある。
【００１２】
本発明の第２の態様に係るプログラムは、日本語名称を少なくとも英字による英字名称に変換するためのプログラムであって、入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、変換テーブルを用いて各単語を少なくとも英字による英字単語に変換し、記憶装置に格納するステップと、所定のプログラム言語によるプログラム生成時であることが指定されている場合には、所定のルールにより英単語結合の順番を決定し、最初の英字単語以外の英字単語における最初の文字を大文字化して結合し、結合により生成される英字名称を記憶装置に格納するステップとをコンピュータに実行させるものである。これにより、例えばＪａｖａ（Sun Microsystems社の商標）言語用の変換を実施することができる。
【００１３】
また、上で述べた所定のルールを、メソッドを表す日本語単語に対応する英字単語である場合には先頭に配置するというルールとすることも可能である。これもＪａｖａ言語用の変換である。
【００１４】
例えば、ＣＯＢＯＬの場合には、所定のルールにより英単語結合の順を決定し、全ての文字を大文字化し且つ最初の英字単語以外の英字単語の前にハイフンを付して結合し、結合により生成される英字名称を記憶装置に格納するステップが実施される。
【００１５】
本発明の第３の態様に係るプログラムは、入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、単語分割結果に基づき末尾単語を特定し、記憶装置に格納するステップと、特定された末尾単語が末尾文字テーブルに格納された末尾文字と部分一致するか確認するステップと、末尾単語が末尾文字と部分一致すると判断された場合には、末尾単語を抑止文字として末尾文字テーブルに登録するステップとをコンピュータに実行させるものである。
【００１６】
これにより末尾文字テーブルに格納されている末尾文字「数」が末尾単語「回数」と部分一致しても、「回」と「数」で分けて英字に変換することの無いように自動的に設定することができるようになる。また、当該末尾単語と部分一致した末尾文字については、末尾文字テーブルに従った英字変換を実施しない。
【００１７】
なお、上述のプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介して配布される場合もある。尚、中間的な処理結果はメモリに一時保管される。
【００１８】
【発明の実施の形態】
図１に本発明の一実施の形態に係るシステム概要図を示す。本実施の形態に係る日英変換装置１００は、例えばコンピュータであって、日英変換処理部１０と、設計書エディタ２０と、ユーザ辞書マネージャ３０と、基本単語テーブル格納部４０と、類義語テーブル格納部５０と、変換履歴テーブル格納部６０と、カタカナテーブル格納部７０と、末尾文字テーブル格納部８０とを含む。
【００１９】
設計書エディタ２０は、設計情報を入力するためのエディタであり、データ項目名等を日本語で定義するものである。なお、設計書エディタ２０において定義されたデータ項目名等の日本語名称は、以下で説明する日英変換処理部１０における処理にて英字名称に変換される。ユーザ辞書マネージャ３０は、以下で説明する日英変換処理部１０における処理において使用する類義語テーブル、カタカナテーブル、末尾文字テーブルのメンテナンスを行うものである。これらは、以下で説明する日英変換処理部１０における処理とは直接は関係ないので、これ以上説明しない。
【００２０】
基本単語テーブル格納部４０に格納される基本単語テーブルは、基本的な日本語の単語と対応する英字単語とが登録されたテーブルであって、日本語名称を単語に分解するためや、漢字の単語を英字単語に変換するためなどに用いられる。類義語テーブル格納部５０に格納される類義語テーブルは、類義語となる単語同士をまとめたテーブルである。変換履歴テーブル格納部６０に格納される変換履歴テーブルは、入力された日本語名称を英字名称に変換した結果を格納するテーブルである。カタカナテーブル格納部７０に格納されるカタカナテーブルは、カタカナ単語と対応する英字単語とが格納されたテーブルである。カタカナの場合には対応する英語の単語が存在する場合もあるため、ローマ字変換する方が不適当な場合もある。従って、ローマ字変換しないカタカナ単語と対応する英字単語を格納しておく。末尾文字テーブル格納部８０に格納される末尾文字テーブルは、特別な取り扱い又は変換が必要な末尾文字と対応する英字を格納するテーブルである。特別な取り扱いというのは例えば日本語において末尾に配置された文字であっても英字名称においては先頭に配置するような文字である。
【００２１】
日英変換処理部１０には、入力された日本語名称を基本単語テーブルを用いて単語に分解するための処理を実施する単語分解エンジン１１と、カタカナテーブルを用いて日本語名称に含まれるカタカナを英字単語に変換するカタカナ変換エンジン１２と、末尾文字テーブル８０を用いて末尾文字の変換を実施する末尾文字変換エンジン１３と、基本単語テーブルを用いて入力された日本語名称に含まれる漢字をローマ字に変換するローマ字変換エンジン１６と、カタカナ変換エンジン１２、末尾文字変換エンジン１３及びローマ字変換エンジン１６により生成された英字単語を所定のルールに従って結合する処理を実施する単語結合エンジン１５と、単語結合エンジン１５により新たに生成された英字名称が以前に変換履歴テーブルに登録された英字名称と重複しないかを確認し、重複を検出した場合にはユーザに対して適切な変更を促すための重複チェックエンジン１４とが含まれる。
【００２２】
以下図２乃至図１３を用いて図１に示した日英変換装置１００の処理について説明する。図２は、日英変換装置１００全体の処理フローを示している。最初に、テーブル定義の日本語名称が入力されると、単語分解エンジン１１は、入力された日本語名称に対して、基本単語テーブル４０を用いて、単語分割処理を実施する（ステップＳ１）。単語分割処理については、入力日本語名称を単語毎に区切る処理であって、従来かな漢字変換などの処理において行われている処理と大きく変わらないのでこれ以上述べない。単語分割処理の結果は、例えば「連携区分」であれば「連携／区分」といったような形態にて変換履歴テーブルに格納される。
【００２３】
次に、カタカナ変換エンジン１２が、カタカナテーブルを用いてカタカナ−英字変換処理を実施する（ステップＳ３）。カタカナテーブルは、上でも述べたようにカタカナと対応する英字単語とを格納するテーブルであるから、カタカナ変換エンジン１２は、入力日本語名称に含まれるカタカナ単語によりカタカナテーブルを検索し、対応する英字単語を取得するものである。カタカナテーブルにカタカナ単語が登録されていない場合には、ローマ字変換を実施する。変換結果は、変換履歴テーブルに、入力日本語名称、単語分割処理結果と対応して格納される。
【００２４】
また、末尾文字変換エンジン１３は、入力日本語名称を解析して末尾文字テーブルに登録されている末尾文字を特定し、それに対応して末尾文字テーブルに登録されている英字に変換する。また、単純に末尾文字テーブルに登録されている末尾文字に従って変換すると、意図しないものまで誤変換される場合がある。本実施の形態では、単語分解により取得される末尾単語と部分一致するような末尾文字が末尾文字テーブルに登録されている場合には変換を行わず、当該末尾単語を、変換を抑止するための抑止文字として抽出し、末尾文字テーブルに登録する（ステップＳ５）。登録された末尾単語を、抑止文字とするため、対応する英字単語は登録されない。
【００２５】
例えば、「数」という末尾文字と対応する英字「su」が末尾文字テーブルに登録されていると、「グループ数」は「group／su」と対応する英字を得ることができる。この後、単語結合処理にて「suGroup」と結合される場合もあるが、これについては以下で説明する。ところが「変更回数」という入力日本語名称があった場合、「数」が末尾文字テーブルにあるので、「henko／kai／su」という英字が生成されることになる。同じ単語結合ルールを適用すると、「suHenkoKai」という英字名称が生成されてしまう。このような誤変換は以前においては人手でしか直すことができなかった。本実施の形態では図３に示すような処理を実施することにより、適正な変換を可能にする。
【００２６】
図３を用いて末尾文字変換及び末尾単語登録処理について説明する。末尾文字変換エンジン１３は、まず単語分割処理の結果から末尾単語を抽出する（ステップＳ２１）。そして、末尾単語の右からＮ（１以上の整数：初期値は１）文字を抽出する（ステップＳ２３）。例えば「回数」が末尾単語の場合には、最初にＮ＝１で「数」を抽出する。そして、抽出した部分が末尾文字テーブルに存在するか確認する（ステップＳ２５）。
【００２７】
末尾文字テーブルの一例を図４に示す。図４の例では、日本語の欄４００と、対応する英文字の欄４０１とが設けられている。英文字の欄４０２には、接頭語用の前置の欄４０２と、接尾語用の後置の欄４０３とが設けられている。このように末尾文字であっても接頭語として最初に配置する英字や、末尾にそのまま配置する英字が登録される。日英変換処理部１０には、図５に示すような末尾単語変換フラグとＣＯＢＯＬ／Ｊａｖａフラグとが設けられており、ユーザが設定を行う。もし末尾単語変換フラグがＯＮにセットされている場合には、末尾文字テーブルの設定どおりに、前置すべき英字ならば前置する。末尾単語変換フラグがＯＦＦにセットされている場合には、末尾文字テーブルの設定ではなく通常の変換を行う。例えば「変換コード」は、末尾単語変換フラグがＯＮであれば「cdHenkan」と変換される。但し、単語結合については図３においては実施されない。一方、末尾単語変換フラグがＯＦＦであれば、「コード」についてはカタカナテーブルの登録に従うため「henkanCode」と変換される。
【００２８】
もし、抽出した部分が末尾文字テーブルに存在しない場合には（ステップＳ２５：Ｎｏルート）、Ｎ＝末尾単語長か否かを判断する（ステップＳ２７）。もし、Ｎ≠末尾単語長であれば（ステップＳ２７：Ｎｏルート）、Ｎを１インクリメントする（ステップＳ２９）。そしてステップＳ２３に戻る。もし、Ｎ＝末尾単語長であれば（ステップＳ２７：Ｙｅｓルート）、ステップＳ３７に移行する。
【００２９】
ステップＳ２５において、抽出した部分が末尾文字テーブルに存在すると判断された場合には（ステップＳ２５：Ｙｅｓルート）、Ｎ≠末尾単語長であるか判断する（ステップＳ３１）。Ｎ＝末尾単語長であればステップＳ３７に移行し、Ｎ≠末尾単語長であればステップＳ３３に移行する。「回数」の場合、Ｎ＝１で「数」がステップＳ２５でステップＳ３１に移行する。また、この場合Ｎ＝１であるからＮ≠末尾単語長であり、ステップＳ３３に移行する。
【００３０】
ステップＳ３３では、末尾単語全体が末尾文字テーブルに存在するか確認する。もし末尾単語全体が末尾文字テーブルに登録されていると判断された場合にはステップＳ３７に移行する。一方、末尾単語全体が末尾文字テーブルに登録されていない場合にはステップＳ３５に移行する。ステップＳ３３では「回数」自体が末尾文字テーブルに登録されているか確認するが、ここでは「回数」は末尾文字テーブルに登録されていないものとする。従ってステップＳ３３からステップＳ３５に移行する。ステップＳ３５では、末尾文字テーブルに末尾単語を登録する（ステップＳ３５）。「回数」は抑止文字として登録されるため、対応する英字単語は登録されない。すなわち、回数については通常どおりに変換される。そして元の処理に戻る。
【００３１】
一方、ステップＳ２７及びステップＳ３３においてＹｅｓとされた場合並びにステップＳ３１においてＮｏとされた場合、末尾文字テーブルを用いて末尾文字の英字への変換を実施する（ステップＳ３７）。変換結果は、変換履歴テーブルに登録される。
【００３２】
このようにすることにより、末尾文字テーブルを用いた単純な変換により生ずる誤変換を抑止できるようになる。
【００３３】
図２の説明に戻って、ローマ字変換エンジン１６は、基本単語テーブルを用いて漢字−ローマ字変換処理を実施する（ステップＳ７）。この処理については従来行われている処理と変わらないのでこれ以上述べない。
【００３４】
そして、単語結合エンジン１５は、単語結合処理を実施する（ステップＳ７）。単語結合処理については図６を用いて詳細に説明する。最初に、単語結合エンジン１５は、未処理の日本語名称についての情報を変換履歴テーブルから読み出す（ステップＳ４１）。そして、当該日本語名称の全ての単語について処理したか判断する（ステップＳ４３）。もし、全ての単語について処理した場合には（ステップＳ４３：Ｙｅｓルート）、未処理の日本語名称が存在するか判断する（ステップＳ６１）。未処理の日本語名称が存在しない場合には（ステップＳ６１：Ｎｏルート）、元の処理に戻る。一方、未処理の日本名称が存在する場合には（ステップＳ６１：Ｙｅｓルート）、ステップＳ４１に戻る。
【００３５】
ステップＳ４３において全ての単語について処理したわけではない場合には（ステップＳ４３：Ｎｏルート）、所定のルールに基づいて決められた単語の順番に従って未処理の英字単語を変換履歴テーブルから読み出す（ステップＳ４５）。所定のルールについては、例えば末尾単語変換フラグがＯＮに設定されている場合に末尾文字テーブルから抽出された英字を先頭に配置するといったルールである。なお、Ｊａｖａであればメソッド名用のテーブルを別途用意しておき、当該メソッド名用のテーブルに登録されており且つメソッド変換フラグがセットされている場合には、日本語メソッド名に対応する英字単語を先頭に配置するといったルールが適用される場合もある。
【００３６】
そして、図５に示したＣＯＢＯＬ／ＪａｖａフラグがＪａｖａを指示しているか判断する（ステップＳ４７）。もし、Ｊａｖａを指示している場合には、ステップＳ４５において読み出した英字単語が最初の単語か否かを判断する（ステップＳ４９）。もし、最初の単語であればステップＳ５３に移行する。一方、２番目以降の単語であれば当該英字単語の最初の文字を大文字化する（ステップＳ５１）。そして、ステップＳ４９及びステップＳ５１の後に、既に処理した英字単語に結合し、変換履歴テーブルに格納する（ステップＳ５３）。そしてステップＳ４３に戻る。
【００３７】
例えば「得意先別」という日本語名称が存在した場合、自動的に「得意先」＋「別」と単語分解され、「tokuisaki」＋「betsu」という英字単語が得られる。Ｊａｖａであれば、「tokuisakiBetsu」という英字名称が生成され、変換履歴テーブルに格納される。
【００３８】
一方、ステップＳ４７においてＣＯＢＯＬが指示されていると判断された場合には（ステップＳ４７：Ｎｏルート）、ステップＳ４５において読み出した英字単語が最初の単語であるか否かを判断する（ステップＳ５５）。もし、最初の単語であればステップＳ５９に移行する。一方、２番目以降の単語であれば英字単語の先頭にハイフン（−）を付加する（ステップＳ５７）。ステップＳ５７及びステップＳ５５の後に、英字単語全体を大文字化する（ステップＳ５９）。そしてステップＳ５３に移行する。
【００３９】
ＣＯＢＯＬの場合には、上で述べた「得意先別」の例では、「TOKUISAKI-BETSU」が生成され、変換履歴テーブルに格納される。
【００４０】
以上のように、適切な単語区切りが実施されているので、Ｊａｖａであれば先頭単語を除く単語の先頭文字を自動的に大文字にして単語の連結を行うことができ、またＣＯＢＯＬであれば単語の区切りにハイフンを付加した上で全ての文字を大文字化して連結することができる。従来では、単語の区切り方が各人によって異なるためハイフンの付加する場所が異なったり、大文字化する文字が異なったりする現象が発生していた。例えば、「得意先別」であれば「得意」＋「先」＋「別」としたり、「得意先」＋「別」や「得意先別」と区切る場合があった。本実施の形態では統一された単語の区切りを得ることができ且つプログラミング言語毎のやり方に従った大文字化等を実施することができるようになる。
【００４１】
図２に戻って、最後に重複チェックエンジン１４が、類義語テーブルを用いて重複チェック処理を実施する（ステップＳ１１）。ここまでの処理において、変換履歴テーブルに格納されるデータの一例を図７に示す。図７の例では、レコード番号の欄７０１と、日本語名称の欄７０２と、単語分解結果の欄７０３と、単語毎に抽出された英字単語の欄７０４と、抽出された英字単語を結合した英字名称の欄７０５とが含まれる。この例では、「連携区分」と「連係区分」、「狩猟区分」と「終了区分」とが英字名称において同一となっているため、重複チェックの対象となる。また、類義語テーブルの一例についても図７に関連する部分について図８に示しておく。図８の例では、レコード番号の欄８０１と、類義語の欄８０２とが設けられている。レコード番号０００１においては、「連係」「連携」「関連」「類似」「提携」が類義語として登録されている。レコード番号０００２においては、「終了」「完了」「終結」「締め」が類義語として登録されている。レコード番号０００３においては、「狩猟」「狩り」「猟」が類義語として登録されている。
【００４２】
重複チェックエンジン１４は、変換履歴テーブルの最新レコードの英字名称を読み出す（図９：ステップＳ７１）。そして、他レコードに同一英字名称が存在しているか判断する（ステップＳ７３）。以上のように最新レコードが変換履歴テーブルに書き込まれる毎に図９の処理が実施されるが、図７では以下の処理を説明するための具体例を２つ一度に含めているため最新レコードが１つずつ登録されるようにはなっていない。上で述べたように、「連携区分」と「連係区分」の「renkeiKubun」が一致しており、「終了区分」と「狩猟区分」の「syuryoKubun」が一致していると判断されるものとする。
【００４３】
もし、ステップＳ７３において他レコードに同一英字名称がないと判断された場合には（ステップＳ７３：Ｎｏルート）、元の処理に戻る。一方、他レコードに同一英字名称があると判断されると（ステップＳ７３：Ｙｅｓルート）、該当レコード番号及びその情報を読み出す（ステップＳ７５）。図７の例では、「連携区分」のレコード番号０００１及びその情報又は「連係区分」のレコード番号０００３及びその情報とが読み出される。また、「狩猟区分」のレコード番号０００２及びその情報又は「終了区分」のレコード番号０００５及びその情報とが読み出される。
【００４４】
そして、最新レコードと該当レコードの日本語における対応単語を比較する（ステップＳ７７）。日本語名称の最初の単語から比較する。例では「連携」と「連係」、「狩猟」と「終了」が比較される。そして、日本語において異なる単語であるか判断する（ステップＳ７９）。もし、日本語において同じ単語であれば（ステップＳ７９：Ｎｏルート）、ステップＳ９１に移行する。上の例では「区分」であれば同一と判断される。一方、日本語において異なる単語であると判断されると（ステップＳ７９：Ｙｅｓルート）、類義語テーブルで両単語が含まれるレコード番号を判定する（ステップＳ８１）。「連係」と「連携」であれば、図８の類義語テーブルであれば両方ともレコード番号０００１である。また、「終了」と「狩猟」であれば、図８の類義語テーブルであればレコード番号０００２と０００３である。
【００４５】
そしてステップＳ８１の結果として、レコード番号が一致しているか判断する（ステップＳ８３）。もし、レコード番号が一致している場合には（ステップＳ８３：Ｙｅｓルート）、英字が一致する単語を修正要求画面で提示し、修正を促す（ステップＳ８５）。例えば、図１０に示すような画面が表示装置に表示される。ここでは、「連係区分」と「連携区分」とが同一の英字名称「renkeiKubun」に変換され、「連携」又は「連係」のいずれかに名称を統一するように促すような表示がなされている。すなわち、ステップＳ８５では日本語名称においてばらつきがあるために生じている英字名称の一致であると判断されて、その修正が促される。ユーザは、「連係」又は「連携」の左に設けられたラジオボタンをクリックした後に、修正ボタンをクリックすれば、選択された日本語名称が入力される。
【００４６】
すなわち、修正指示された単語の情報を受け取り、変換履歴テーブルを更新する（ステップＳ８９）。ステップＳ８５を経た場合には、選択された日本語名称ではない方のレコードを変換履歴テーブルから削除する。図１０において「連携」が選択された場合には、「連係」のレコード（レコード番号０００３）は削除される。
【００４７】
一方ステップＳ８３においてレコード番号が不一致であると判断された場合には、異音類義語の提示処理を実施する（ステップＳ８７）。この処理については後に詳述する。ステップＳ８７の後にステップＳ８９に移行する。
【００４８】
ステップＳ８９の後に、最後の単語について比較したか判断する（ステップＳ９１）。もし、最後の単語についての比較が終了していれば元の処理に戻る（ステップＳ９１：Ｙｅｓルート）。一方、最後の単語についての比較が終了していなければ（ステップＳ９１：Ｎｏルート）、次の対応単語を比較する（ステップＳ９３）。そしてステップＳ７９に戻る。なお、一度でもステップＳ８９を通過した場合には他の単語についての処理が終了していなくとも、元の処理（図２）に戻るような構成とすることも可能である。
【００４９】
次に図１１を用いて図９のステップＳ８７の詳細について説明する。まず重複チェックエンジン１４は、変換履歴テーブルにおける最新レコードの該当単語の全類義語を英字変換して候補とする（ステップＳ１０１）。この際基本単語テーブルなどを用いる。次に、最初の候補単語の英字を使用して単語結合処理を実施する（ステップＳ１０３）。Ｊａｖａ言語を使用しており且つ同音異義語が先頭単語であれば、最初の候補単語の英字をそのまま結合する。Ｊａｖａ言語を使用しており且つ同音異義語が２番目以降の単語であれば、最初の文字を大文字化して結合する。ＣＯＢＯＬ言語を使用しており且つ同音異義語が先頭単語であれば、最初の候補単語の英字を全て大文字化して結合する。ＣＯＢＯＬ言語を使用しており且つ同音異義語が２番目以降の単語であれば、当該候補単語の英字の先頭にハイフン（−）を付加し且つ英字を全て大文字化して結合する。
【００５０】
そして、変換履歴テーブルに既に登録されている他のレコードの英字名称と一致するか判断する（ステップＳ１０５）。もし一致する場合には（ステップＳ１０５：Ｙｅｓルート）、当該候補単語を用いても使用できないような英字名称が生成されることになるので、当該候補単語を候補から除外する（ステップＳ１０７）。もし一致しないようであれば（ステップＳ１０５：Ｎｏルート）又はステップＳ１０７の後に、全候補単語についてチェックしたか確認する（ステップＳ１０９）。もし、全てのチェックが済んでいなければ（ステップＳ１０９：Ｎｏルート）、次の候補単語の英字を使用して単語結合処理を実施する（ステップＳ１１０）。そしてステップＳ１０５に戻る。
【００５１】
図７に示した例の「狩猟」と「終了」の場合には、「終了」の方が最新レコードであるとすると、図８に示した類義語テーブルで、「終了」の類義語として「完了」「終結」「締め」の３つの候補単語が得られる。そして、英字変換し、単語結合すると、「kanryoKubun」「syuketsuKubun」「shimeKubun」が生成される。「kanryoKubun」と「shimeKubun」であれば図８の変換履歴テーブルにおいて一致する英字名称は存在しないが、「syuketsuKubun」は「集結区分」の英字名称と一致してしまう。従って、本例では「syuketsuKubun」は候補単語から除外され、「kanryoKubun」と「shimeKubun」とが残ることになる。
【００５２】
全候補単語についてのチェックが終了すると（ステップＳ１０９：Ｙｅｓルート）、候補単語が残っているか判断する（ステップＳ１１１）。候補単語が残っている場合には（ステップＳ１１１：Ｙｅｓルート）、候補単語を変更推奨単語として提示した変更要求画面を表示装置に表示する（ステップＳ１１３）。例えば図１２のような表示がなされる。図１２の例では、最新の入力日本語名称「終了区分」は、変換履歴テーブルに既に登録された「狩猟区分」と一致するので、「終了」を類義語であり且つ候補単語である「完了」又は「締め」に変更するように要求している。「完了」と「締め」の文字の左には、ラジオボタンが用意されているので、いずれかを選択してクリックし、修正ボタンをクリックすれば、日英変換処理部１０に選択された単語の情報が入力される。
【００５３】
この処理の後に図９のステップＳ８９に戻るので、重複チェックエンジン１４は、選択された単語の情報を受け取ると、最新レコードにおける日本語名称の該当単語を選択単語に置き換え且つ従前の英字名称を選択単語の英字単語を含む英字名称に変更して、変換履歴テーブルに登録する。
【００５４】
一方、ステップＳ１１１において候補単語が残っていないと判断された場合には（ステップＳ１１１：Ｎｏルート）、再度最新レコードの該当単語の全類義語を類義語テーブルから読み込み（ステップＳ１１５）、全類義語を提示し、類義語以外の単語への修正を要求する画面を表示する（ステップＳ１１７）。例えば、図８の変換履歴テーブルには載っていないが、最新レコードの「先行区分」が既登録「専攻区分」と「senkoKubun」という英字名称で一致してしまい、類義語からは使用可能な候補単語が見つからなかった場合に表示される画面例を図１３に示す。すなわち、「先行」の類義語として「事前」「既」についても既に他の英字名称において使用されているので、使用できない旨の表示がなされる。従って、ユーザが自ら違う単語を入力欄１３００に入力して、修正ボタンをクリックすることになる。
【００５５】
重複チェックエンジン１４は、ユーザにより入力された単語を受け取り（ステップＳ１１９）、最新レコードにおける日本語名称の該当単語を入力単語に置き換え、入力単語の英字を例えば基本単語テーブルから取得し、英字単語の結合処理を実施し、変換履歴テーブルに登録する。そして、再度図９の重複チェック処理を実施する（ステップＳ１２１）。これは、新たな日本語名称が入力されたのと同様であり、重複チェック処理を実施しなければ、既登録の英字名称と同一の英字名称が生成されたかもしれないからである。
【００５６】
以上の処理を実施することにより、既に変換履歴テーブルに登録された英字名称と一致する英字名称が生成されていないかをチェックすることができるだけではなく、類義語テーブルを用いて重複する単語の意味関係（例えば類義語、異義語）を調べ、用語を統一したほうがよいのか、別の言葉に置き換えた方が良いのか、別の言葉に置き換える場合であってもどのような選択肢があるのかといった情報をユーザに提示することができ、ユーザのデータ管理作業の効率化を図ることができる。また、英字名称を生成した時点で重複チェックを実施すればチェック漏れをなくし、日本語名称追加時にもユーザの手間をかけずにチェックを行うことができるようになる。
【００５７】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図１０、図１２及び図１３に示した画面例は一例であって、同様の内容を含む他の構成の画面を提示するようにしても良い。また、複数の画面に分割して情報を提示するようにしても良い。
【００５８】
また、図１に示した機能ブロックは必ずしもプログラム・モジュールと対応しない場合もある。また、図１に示されない機能が追加されたり、一部の機能が実施されない場合もある。また、図２のメイン処理フローを本発明が実現できる範囲ならば、処理順を入れ替えたり、新たな処理を挿入・追加すること、あるいは、説明されている処理を削除してもよい。例えば、処理順をステップＳ３とＳ５を入れ替え、末尾文字変換で該当部分がヒットした場合にカタカナ変換の結果が利用されなくなることを避けるようにしても良い。
【００５９】
プログラミング言語についてはＪａｖａとＣＯＢＯＬを例に説明したが、これに限定されるものではない。また、本発明は、スタンドアローンのコンピュータであっても良いし、ネットワークを介して接続されるサーバ等においても実施可能である。
【００６０】
（付記１）
入力された日本語名称を所定の変換テーブル及び変換ルールに従って英字名称に変換し、記憶装置に格納する変換ステップと、
生成された前記英字名称と同一の英字名称が記憶装置に既に登録済みか判断する判断ステップと、
生成された前記英字名称と同一の英字名称が記憶装置に既に登録済みであると判断された場合には、当該英字名称に対応する両日本語名称において相違する日本語の単語を特定し、記憶装置に格納する日本語単語特定ステップと、
特定された前記日本語の単語間の意味関係に基づいて、前記日本語名称の変更を促す変更要求ステップと、
をコンピュータに実行させるためのプログラム。
【００６１】
（付記２）
前記変更要求ステップにおいて、
特定された前記日本語の単語間の意味関係が類義語である場合には、日本語名称を統一するような変更を促す
ことを特徴とする付記１記載のプログラム。
【００６２】
（付記３）
前記変更要求ステップにおいて、
特定された前記日本語の単語間の意味関係が異義語である場合には、前記入力された日本語名称において特定された前記日本語の単語と代替可能な類義語を提示して変更を促す
ことを特徴とする付記１又は２記載のプログラム。
【００６３】
（付記４）
前記変更要求ステップが、
前記代替可能な類義語を、候補となる類義語の英字名称を含む英字名称が前記記憶装置に既に登録済みの英字名称と不一致であることを確認することにより特定するステップ
を含む付記３記載のプログラム。
【００６４】
（付記５）
前記変更要求ステップにおいて、
代替可能な類義語が存在しないと判断された場合には、別の単語を入力するように促す
ことを特徴とする付記３又は４のいずれか１つ記載のプログラム。
【００６５】
（付記６）
前記変換ステップが、
入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、
変換テーブルを用いて各単語を少なくとも英字による英字単語に変換し、記憶装置に格納するステップと、
所定のプログラム言語によるプログラム生成時であることが指定されている場合には、所定のルールにより英単語結合の順番を決定し、最初の英字単語以外の英字単語における最初の文字を大文字化して結合し、結合により生成される英字名称を記憶装置に格納するステップと、
を含む付記１乃至５のいずれか記載のプログラム。
【００６６】
（付記７）
前記所定のルールが、メソッドを表す日本語単語に対応する英字単語である場合には先頭に配置するというルールである
ことを特徴とする付記４記載のプログラム。
【００６７】
（付記８）
前記変換ステップが、
入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、
前記単語分割結果に基づき末尾単語を特定するステップと、
特定された前記末尾単語が末尾文字テーブルに格納された末尾文字と部分一致するか確認するステップと、
前記末尾単語が末尾文字と部分一致すると判断された場合には、前記末尾単語を抑止文字として前記末尾文字テーブルに登録するステップと、
を含む付記１乃至５のいずれか１つ記載のプログラム。
【００６８】
（付記９）
日本語名称を少なくとも英字による英字名称に変換するためのプログラムであって、
入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、
変換テーブルを用いて各単語を少なくとも英字による英字単語に変換し、記憶装置に格納するステップと、
所定のプログラム言語によるプログラム生成時であることが指定されている場合には、所定のルールにより英単語結合の順番を決定し、最初の英字単語以外の英字単語における最初の文字を大文字化して結合し、結合により生成される英字名称を記憶装置に格納するステップと、
をコンピュータに実行させるためのプログラム。
【００６９】
（付記１０）
入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納するステップと、
前記単語分割結果に基づき末尾単語を特定し、記憶装置に格納するステップと、
特定された前記末尾単語が末尾文字テーブルに格納された末尾文字と部分一致するか確認するステップと、
前記末尾単語が末尾文字と部分一致すると判断された場合には、前記末尾単語を抑止文字として前記末尾文字テーブルに登録するステップと、
をコンピュータに実行させるためのプログラム。
【００７０】
（付記１１）
入力された日本語名称を所定の変換テーブル及び変換ルールに従って英字名称に変換し、記憶装置に格納する変換手段と、
生成された前記英字名称と同一の英字名称が記憶装置に既に登録済みか判断する判断手段と、
生成された前記英字名称と同一の英字名称が記憶装置に既に登録済みであると判断された場合には、当該英字名称に対応する両日本語名称において相違する日本語の単語を特定し、記憶装置に格納する日本語単語特定手段と、
特定された前記日本語の単語間の意味関係に基づいて、前記日本語名称の変更を促す変更要求手段と、
を有する名称変換装置。
【００７１】
（付記１２）
日本語名称を少なくとも英字による英字名称に変換するための装置であって、入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納する手段と、
変換テーブルを用いて各単語を少なくとも英字による英字単語に変換し、記憶装置に格納する手段と、
所定のプログラム言語によるプログラム生成時であることが指定されている場合には、所定のルールにより英単語結合の順番を決定し、最初の英字単語以外の英字単語の最初の文字を大文字化して結合し、結合により生成される英字名称を記憶装置に格納する手段と、
を有する装置。
【００７２】
（付記１３）
入力された日本語名称を単語分割し、単語分割結果を記憶装置に格納する手段と、
前記単語分割結果に基づき末尾単語を特定し、記憶装置に格納する手段と、
特定された前記末尾単語が末尾文字テーブルに格納された末尾文字と部分一致するか確認する手段と、
前記末尾単語が末尾文字と部分一致すると判断された場合には、前記末尾単語を抑止文字として前記末尾文字テーブルに登録する手段と、
を有するコンピュータ。
【００７３】
【発明の効果】
以上のように本発明によれば、変数名等の日本語名称を適切に英字名称に変換するための新規な技術を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るシステム概要を説明するための図である。
【図２】本発明の一実施の形態に係るメイン処理フローを示す図である。
【図３】末尾文字変換及び末尾単語登録処理のフローを示す図である。
【図４】末尾文字テーブルの一例を示す図である。
【図５】設定されるフラグの一例を示す図である。
【図６】単語結合処理のフローを示す図である。
【図７】変換履歴テーブルの一例を示す図である。
【図８】類義語テーブルの一例を示す図である。
【図９】重複チェック処理のフローを示す図である。
【図１０】同音類義語が検出された場合に表示される画面の一例を示す図である。
【図１１】異音類義語の提示処理のフローを示す図である。
【図１２】同音異義語が検出され且つ置換の候補単語が存在する場合に表示される画面の一例を示す図である。
【図１３】同音異義語が検出されたが、置換の候補単語が存在しない場合に表示される画面の一例を示す図である。
【符号の説明】
１０  日英変換処理部
２０  設計書エディタ
３０  ユーザ辞書マネージャ
４０  基本単語テーブル格納部
５０  類義語テーブル格納部
６０  変換履歴テーブル格納部
７０  カタカナテーブル格納部
８０  末尾文字テーブル格納部
１１  単語分解エンジン
１２  カタカナ変換エンジン
１３  末尾文字変換エンジン
１４  重複チェックエンジン
１５  単語結合エンジン
１６  ローマ字変換エンジン
【図１】
0003868303.tif 000002
【図２】
0003868303.tif 000003
【図３】
0003868303.tif 000004
【図４】
0003868303.tif 000005
【図５】
0003868303.tif 000006
【図６】
0003868303.tif 000007
【図７】
0003868303.tif 000008
【図８】
0003868303.tif 000009
【図９】
0003868303.tif 000010
【図１０】
0003868303.tif 000011
【図１１】
0003868303.tif 000012
【図１２】
0003868303.tif 000013
【図１３】
0003868303.tif 000014