以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係るコンピュータ・システム10が示されている。コンピュータ・システム10は、特定金融機関の情報センタ等に設置されたコンピュータ12を含んで構成されている。コンピュータ12はメインフレーム・コンピュータから成り、CPU12A、ROM12B、RAM12C、入出力ポート12Dを備え、これらはアドレスバス、データバス、制御バス等のバス12Eを介して互いに接続されている。入出力ポート12Dには、各種の入出力機器として、通信制御装置14、ディスプレイ16、マウス18、キーボード20、HDD(ハードディスクドライブ)22が各々接続されている。
HDD22には基本語辞書、名称辞書、不要単語辞書及び補助辞書(詳細は後述)が各々記憶されており、HDD22は本発明に係る第1記憶手段及び第2記憶手段に対応しており、請求項2,7に記載の第3記憶手段にも対応している。またコンピュータ12には、後述する顧客コード変換処理を行うための顧客コード変換プログラムがHDD22に予めインストールされている。この顧客コード変換プログラムは請求項8に記載の情報変換プログラムに対応しており、コンピュータ12のCPU12Aが上記各プログラムを実行することで、コンピュータ12は本発明に係る情報変換装置として機能する。なお、本発明に係る情報変換装置として機能するコンピュータはメインフレーム・コンピュータに限られるものではなく、例えばパーソナル・コンピュータやマイクロプロセッサ等、任意のコンピュータを適用可能である。
また、コンピュータ12の通信制御装置14は、特定の金融機関内に構築されたコンピュータ・ネットワーク26に接続されている。コンピュータ・ネットワーク26は多数台のコンピュータが通信回線を介して互いに接続されて構成されている。また、コンピュータ・ネットワーク26を構成する多数台のコンピュータの中には、コンピュータ12から指示された金融取引(例えば指示された口座への入金処理等)を行うためのコンピュータが含まれている。また、コンピュータ12の通信制御装置14は、ネットワーク28(銀行間のメッセージ交換のための国際間ネットワーク)を介して、海外の他の金融機関のコンピュータ30と接続されている。なお、以下ではコンピュータ12が設置された特定金融機関を第1の金融機関、コンピュータ30が設置された金融機関を第2の金融機関と称して区別する。
次に本実施形態の作用を説明する。金融機関へ外国送金を依頼する際には、送金依頼人により、送金先口座の金融機関名、支店名、口座名義人名、口座番号、送金金額等の情報が指定される。第2の金融機関では、第1の金融機関に開設されている特定口座への送金が送金依頼人から依頼されると、特定口座への入金を第1の金融機関へ依頼する電文を作成するが、この電文には送金依頼人によって指定された各情報が設定され、このうち送金先口座の名義人名等の情報は文字列(テキストデータ)として電文に設定される。第2の金融機関は電文の作成が完了すると、作成した電文をコンピュータ30によってネットワーク28経由で第1の金融機関のコンピュータ12へ送信する。第1の金融機関のコンピュータ12は、ネットワーク28経由で他の金融機関から電文を受信すると、受信した電文に設定されている送金先口座の名義人名(第1の金融機関の顧客の名称)を表す文字列のテキストデータを取り出し、取り出した文字列のテキストデータを、第1の金融機関が個々の顧客を識別するために個々の顧客に付与している顧客コード(識別情報)へ変換する処理(後述する顧客コード変換処理)を行う。コンピュータ12のHDD22に記憶されている基本語辞書、名称辞書、不要単語辞書及び補助辞書は、顧客コード変換処理を実現するために設けられている。
すなわち、顧客の名称を表す文字列は複数の単語が組合わされて構成されているが、第1の金融機関では、個々の顧客の名称を表す文字列を構成する個々の単語に複数桁の数値から成るコード情報(論理インデックスと称する)を予め各々付与しており、顧客コード変換処理では、受信した電文から取り出した顧客名称を表す変換対象の文字列を、該文字列を構成する各単語に対応する論理インデックスの組合わせ(論理インデックスセット)へ変換した後に処理する。このため、前述の基本語辞書には、例として図2(A)にも示すように、個々の単語を表すテキストデータと個々の単語に付与した論理インデックスに相当する数値データが対応付けられて各々登録されている(図2(A)では品詞、属性(名称)及び属性(コード)等の情報も個々の単語に付加されている)。また前述の名称辞書には、例として図2(B)にも示すように、個々の顧客の名称と、該名称に対応する論理インデックスセットと、個々の顧客に付与した顧客コードが対応付けられて各々登録されている。
ところで、個々の顧客の名称の中には、第1の顧客の名称を表す文字列を構成する単語の組合わせに特定の単語を加えた組合わせが、第2の顧客の名称を表す文字列を構成する単語の組合わせに一致する関係(この関係を包摂関係という)を有する名称が存在している。例として図2(B)に示すように、顧客Bの名称を表す文字列「NAKAMORI CO,.LTD」は「NAKAMORI」と「CO,.LTD」の2個の単語から構成されている(図2(B)に示す論理インデックスを用いると、上記文字列の論理インデックスセットは「105,107」となる)が、この単語の組合わせに特定単語「ELECTRIC」を加えた単語の組合わせは、顧客Cの名称を表す文字列である「NAKAMORI ELECTRIC CO,.LTD」(この文字列の論理インデックスセットは「105,106,107」となる)を構成する単語の組合わせに一致する。そして、変換対象の文字列が包摂関係を有する顧客名称に相当する文字列であった場合、変換対象の文字列が包摂関係を有する複数の顧客名称のうちの何れを表しているのかを一意に判断できないという問題がある。例えば変換対象の文字列が「NAKAMORI CO,.LTD」であった場合、変換対象の文字列は上述した顧客Bの名称を表している可能性が高いものの、変換対象の文字列は顧客Cの名称を表す文字列「NAKAMORI ELECTRIC CO,.LTD」における特定単語「ELECTRIC」(以下、この単語を包摂外単語という)が何らかの理由で欠落したものであり、変換対象の文字列が顧客Cの名称を表している、という可能性も否定できない。
従って、顧客コード変換処理では、変換対象の文字列が包摂関係を有する名称を表している場合と包摂関係のない名称を表している場合とで異なる処理を行う必要がある。このため、名称辞書に登録されている各顧客の情報のうち、名称が包摂関係を有している顧客の情報には、例として図2(B)にも示すように、包摂関係を有していることを表す包摂コード(包摂識別情報)が付加されている。詳しくは、名称が包摂関係を有している複数の顧客(上述した第1の顧客及び第2の顧客)の情報には同一の包摂コードが付加されると共に、同一の包摂コードが付加された顧客のうち、名称に包摂外単語が加わっている顧客(第2の顧客)の包摂コードには、包摂外単語の論理インデックスも付加されている(図2(B)では、名称が「NAKAMORI ELECTRIC CO,.LTD」である顧客Cの包摂コードに、包摂外単語「ELECTRIC」の論理インデックス「106」が付加されている例を示している)。
なお、不要単語辞書については詳細は後述するが、包摂関係を有する特定顧客の名称を表す変換対象文字列が、名称辞書に登録されている特定顧客の論理インデックスセットが表す複数単語にそれ以外の余計な単語が付加された文字列であった場合に、前記余計な単語が特定顧客の顧客コードと対応付けられて、特定顧客の不要単語として不要単語辞書に登録される。また、補助辞書についても詳細は後述するが、或る変換対象文字列がオペレータによって特定の顧客名称を表していると判断された場合に、特定の顧客名称を表す文字列における変換対象文字列との不一致単語の論理インデックスが主論理インデックスとして、変換対象文字列における特定の顧客名称を表す文字列との不一致単語の論理インデックスが副論理インデックスとして、補助辞書に対応付けされて登録される。
続いて、他の金融機関より受信した電文から顧客名称を表す文字列のテキストデータを取り出した後に、コンピュータ12のCPU12Aが顧客コード変換プログラムを実行することでコンピュータ12によって行われる顧客コード変換処理について、図3を参照して説明する。なお、この顧客コード変換処理は、顧客名称を表す文字列のテキストデータを含む電文を他の金融機関から受信する毎に実行される。また、図3に示す各ステップは本発明に係る変換手段に対応している。
ステップ50では、受信した電文から取り出した変換対象文字列を、該変換対象文字列中に存在するスペースを区切りとして複数の単語に分割する。ステップ52では、ステップ50における文字列の分割によって得られた複数の単語の中から未処理の単語のテキストデータを取り出し、次のステップ54では、取り出した単語のテキストデータをキーとして基本語辞書を検索する。この検索は、取り出した単語のテキストデータをメモリ(RAM12C等)に記憶させると共に、基本語辞書全体をHDD22から読み出してメモリに展開した後に、検索対象の単語のテキストデータをメモリに展開した基本語辞書に登録されている個々の単語のテキストデータと順に比較することで行ってもよいし、HDD22から単一の単語のテキストデータを読み出してメモリに記憶させ、該メモリに記憶させたテキストデータを検索対象の単語のテキストデータと比較することを、検索対象の単語のテキストデータと一致するテキストデータが出現する迄繰り返すことで行うことも可能である。
ステップ56では、ステップ54の検索により検索対象の単語が基本語辞書から抽出されたか否か、すなわち検索対象の単語が基本語辞書に登録されていたか否か判定する。判定が肯定された場合はステップ64へ移行し、抽出された検索対象の単語と対応付けられて基本語辞書に登録されている論理インデックス(数値データ)を取り出し、変換対象文字列を構成する単語の論理インデックスとしてメモリに記憶させた後にステップ66へ移行する。また、ステップ56の判定が否定された場合はステップ58へ移行し、検索対象の単語に付与する論理インデックスを、基本語辞書に既に登録されている論理インデックスと重複しないように決定する。またステップ60では、検索対象の単語のテキストデータを、ステップ58で決定した論理インデックス(の数値データ)と対応付けて基本語辞書に登録する。更にステップ62では、ステップ58で決定した論理インデックスを変換対象文字列を構成する単語の論理インデックスとしてメモリに記憶させた後にステップ66へ移行する。
ステップ66では、変換対象文字列から全ての単語を取り出したか否か判定する。判定が否定された場合はステップ52に戻り、ステップ66の判定が肯定される迄ステップ52〜ステップ66を繰り返す。これにより、変換対象文字列を構成する個々の単語が論理インデックスへ各々変換されることになり、メモリには、変換対象文字列の論理インデックスセットが記憶されることになる。なお、ステップ52〜ステップ66は請求項7に記載の単語変換手段に対応している。
ステップ66の判定が肯定されるとステップ68へ移行し、名称辞書から単一の顧客の情報を取り出し、取り出した情報に含まれる論理インデックスセットを変換対象文字列の論理インデックスセットと比較する。なお、この論理インデックスセットの比較についても、名称辞書全体をHDD22から読み出してメモリに展開した後に行ってもよいし、HDD22から単一の顧客の情報を読み出してメモリに記憶させることを繰り返しながら行うことも可能である。次のステップ70では、変換対象文字列の論理インデックスセットが、名称辞書から取り出した論理インデックスセットを含む関係(名称辞書から取り出した論理インデックスセットを構成する各論理インデックスが、変換対象文字列の論理インデックスセットの中に全て存在している)か否か判定する。
判定が否定された場合は何ら処理を行うことなくステップ74へ移行するが、判定が肯定された場合はステップ72へ移行し、ステップ68で名称辞書より取り出した単一の顧客の情報から顧客コードを抽出すると共に、変換対象文字列の論理インデックスセットを構成する各論理インデックスのうち、名称辞書から取り出した論理インデックスセットに含まれていない論理インデックスの数(不一致単語数)を計数し、抽出した顧客コード及び計数した不一致単語数を名称辞書から取り出した論理インデックスセットと対応付けてメモリに記憶させた後にステップ74へ移行する。なお、ステップ72において、名称辞書から取り出した単一の顧客の情報に包摂コードも含まれている場合には、この包摂コードも抽出されてメモリに記憶される。
ステップ74では名称辞書に登録されている全ての論理インデックスを取り出したか(変換対象文字列の論理インデックスセットと比較したか)否か判定する。判定が否定された場合はステップ68に戻り、ステップ74の判定が肯定される迄ステップ68〜ステップ74を繰り返す。このステップ68〜ステップ74の検索処理により、ステップ70の判定条件に合致する論理インデックスセットとして、通常は単一の論理インデックスセットが抽出され、変換対象文字列が、包摂関係を有し包摂外単語を含む顧客名称に相当する文字列(例えば先の例では「NAKAMORI ELECTRIC CO,.LTD」)又は該文字列に包摂外単語とは別の単語が加わっている文字列(例えば「NAKAMORI ELECTRIC CO,.LTD SHINZYUKU」等)である場合にのみ、同一の包摂コードが付加されている複数の論理インデックスセットが各々抽出される。
ステップ74の判定が肯定されるとステップ76へ移行し、上述したステップ68〜ステップ74の検索処理により、ステップ70の判定条件に合致する論理インデックスセットが抽出されたか否か判定する。判定が肯定された場合はステップ98へ移行して顧客コード判定処理が行われる。以下、この顧客コード判定処理について、図4を参照して説明する。なお、図4のうちステップ120〜124を除く各ステップは本発明に係る変換手段に対応している。
ステップ110では、先のステップ68〜ステップ74の検索によってメモリに記憶された論理インデックスセットのうち、不一致単語数が最少の論理インデックスセット(以下、この論理インデックスセットを便宜上「第1の論理インデックスセット」と称する)を判定する。なお、ステップ68〜ステップ74の検索によって単一の論理インデックスセットのみが抽出(メモリに記憶)された場合には、以下の処理ではこの論理インデックスセットが第1の論理インデックスセットとして扱われる。ステップ112では、第1の論理インデックスセットに対応する包摂コードがメモリに記憶されているか否かに基づいて、第1の論理インデックスセットに対応する顧客名称に包摂関係があるか否か判定する。この判定が否定された場合にはステップ118へ移行し、変換対象文字列に対応する顧客コードとして、第1の論理インデックスセットに対応する顧客コードを出力する。次のステップ120では出力した顧客コードが付与されている顧客の名称に包摂関係があるか否かが判定されるが、この場合は判定が否定されることで処理を終了する。
例えば図2に示す例において、変換対象文字列が「AKASAKA BANK CO.,LTD」(論理インデックスセットは「100,101,107」)或いは「AKASAKA BANK CO.,LTD MARUNOUCHI」(論理インデックスセットは「100,101,107,110」)であった場合には、先のステップ68〜ステップ74の処理により、ステップ70の判定条件に合致する論理インデックスセットとして、顧客Aの名称を表す文字列「AKASAKA BANK CO.,LTD」に対応する論理インデックスセット「100,101,107」が名称辞書から抽出される。そして、抽出された論理インデックスセット(第1の論理インデックスセット)に対応する包摂コードは名称辞書に登録されておらず(図2(B)を参照)、顧客Aの名称には包摂関係がないので、変換対象文字列が「AKASAKA BANK CO.,LTD」及び「AKASAKA BANK CO.,LTD MARUNOUCHI」の何れであっても、変換対象文字列は顧客Aの名称を表していると判断できる。このような場合は、上述のようにステップ112の判定が肯定されることで、ステップ118において、変換対象文字列に対応する顧客コードとして、第1の論理インデックスセットに対応する顧客コード「1230000」が出力されることになる。
一方、ステップ112の判定が肯定された場合はステップ114へ移行し、メモリに記憶されている第1の論理インデックスセットの情報に含まれる包摂外単語の論理インデックスを参照し、この包摂外単語の論理インデックスが変換対象文字列の論理インデックスセットに含まれているか否かを判断することで、変換対象文字列に包摂外単語が含まれているか否か判定する。そして、判定が肯定された場合はステップ116へ移行し、ステップ68〜ステップ74の検索処理によって抽出された論理インデックスセットのうち、包摂外単語を含む論理インデックスセットに対応する顧客コードを、変換対象文字列に対応する顧客コードとして出力し、ステップ120へ移行する。
例えば図2の例において、変換対象文字列が「NAKAMORI ELECTRIC CO,.LTD」(論理インデックスセットは「105,106,107」)或いは「NAKAMORI ELECTRIC CO,.LTD SHINZYUKU」(論理インデックスセットは「105,106,107,111」)であった場合、ステップ68〜ステップ74の検索処理において、ステップ70の判定条件に合致する論理インデックスセットとして、包摂関係を有する複数の顧客名称に対応する論理インデックスセット、すなわち顧客Bの名称を表す文字列「NAKAMORI CO,.LTD」に対応する論理インデックスセット「105,107」及び顧客Cの名称を表す文字列「NAKAMORI ELECTRIC CO,.LTD」に対応する論理インデックスセット「105,106,107」が名称辞書から各々抽出されるが、変換対象文字列には上記の包摂関係における包摂外単語が含まれているので、変換対象文字列は包摂外単語が含まれる顧客Cの名称を表していると判断できる。本実施形態に係る顧客コード変換処理では、上記のような場合にステップ114の判定が肯定されてステップ116へ移行することで、変換対象文字列に対応する顧客コードとして、名称に包摂外単語が含まれている顧客に付与されている顧客コード(上記の例では顧客Cに付与された顧客コード「3450000」)が出力されることになる。
次のステップ120では、出力した顧客コードに対応する顧客名称に包摂関係があるか否かが判定されるが、この場合は判定が肯定されてステップ122へ移行し、変換対象文字列の論理インデックスセットが、出力した顧客コードに対応する顧客名称の論理インデックスセットと完全に一致しているか(不一致単語数が0か)否か判定する。前述の例において、変換対象文字列が「NAKAMORI ELECTRIC CO,.LTD」であれば、変換対象文字列の論理インデックスセットは出力した顧客コードに対応する顧客名称の論理インデックスセットと完全に一致するので、ステップ122の判定が肯定されて処理を終了する。
また、変換対象文字列が「NAKAMORI ELECTRIC CO,.LTD SHINZYUKU」の場合は、出力した顧客コードに対応する顧客名称を表す文字列「NAKAMORI ELECTRIC CO,.LTD」に対して変換対象文字列には余計な単語「SHINZYUKU」が付加されており、変換対象文字列の論理インデックスセットは出力した顧客コードに対応する顧客名称の論理インデックスセットと完全には一致していないので、ステップ122の判定が否定されてステップ124へ移行する。ここで、変換対象文字列に付加されている余計な単語は、変換対象文字列に対応する顧客コードの判定には本来不要な単語であるが、変換対象文字列と同一の顧客名称を表す文字列が今後入力された際に、該文字列にも同一の単語が付加されている可能性が高い一方で、変換対象文字列が表している顧客名称は包摂関係を有しているので、変換対象文字列が表している顧客名称の判断に上記の単語を利用できる可能性がある。このため、ステップ122では、変換対象文字列に含まれており、出力した顧客コードに対応する顧客名称を表す文字列には含まれていない不一致単語(上記の例では単語「SHINZYUKU」)の論理インデックスを、出力した顧客コードと対応付けて不要単語辞書に登録した後に処理を終了する(図2(C)も参照)。
また、第1の論理インデックスセットに対応する顧客名称に包摂関係が有り、かつ変換対象文字列が上記包摂関係における包摂外単語を含まない文字列(例えば「NAKAMORI CO,.LTD」))或いは該文字列に包摂外単語とは別の単語が加わっている文字列(例えば「NAKAMORI AND CO,.LTD」又は「NAKAMORI CO,.LTD SHINZYUKU」)である場合、ステップ68〜ステップ74の検索処理では、ステップ70の判定条件に合致する論理インデックスセットとして、包摂関係を有する複数の顧客名称のうち包摂外単語を含まない顧客名称に対応する論理インデックスセット、すなわち顧客Bの名称を表す文字列「NAKAMORI CO,.LTD」に対応する論理インデックスセット「105,107」のみが抽出されるが、変換対象文字列は、顧客Bの名称を表す文字列である可能性が高いものの、顧客Bの名称と包摂関係にある顧客Cの名称「NAKAMORI ELECTRIC CO,.LTD」における特定単語「ELECTRIC」が何らかの理由で欠落した文字列である(顧客Cの名称を表す文字列である)可能性もある。
上記の場合にはステップ114の判定が肯定されてステップ126へ移行し、変換対象文字列の論理インデックスセットが第1の論理インデックスセットと完全に一致しているか(不一致単語数が0か)否か判定する。判定が肯定された場合(例えば変換対象文字列が「NAKAMORI CO,.LTD」の場合)は何ら処理を行うことなくステップ138へ移行するが、判定が否定された場合(例えば変換対象文字列が「NAKAMORI AND CO,.LTD」又は「NAKAMORI CO,.LTD SHINZYUKU」の場合)にはステップ128へ移行し、変換対象文字列の論理インデックスセットと第1の論理インデックスセットを比較することで、変換対象文字列中には存在しており第1の論理インデックスセットに対応する文字列には存在していない単語(不一致単語)の論理インデックスを抽出する。例えば変換対象文字列が「NAKAMORI AND CO,.LTD」であり、第1の論理インデックスセットが顧客Bの名称に対応する論理インデックスセットである場合、不一致単語は「AND」であるので「AND」の論理インデックス「108」が抽出される。
次のステップ130では、第1の論理インデックスセットに対応する顧客コードをキーにして不要単語辞書を検索する。この不要単語辞書の検索についても、不要単語辞書全体をHDD22から読み出してメモリに展開した後に行ってもよいし、HDD22から単一の顧客の情報を読み出してメモリに記憶させることを繰り返しながら行うことも可能である。次のステップ132では、ステップ130の検索によって該当する情報が抽出されたか否か判定する。判定が肯定された場合はステップ134へ移行し、ステップ130の検索によって抽出された情報の中に、先のステップ128で抽出した不一致単語の論理インデックスが含まれているか否か判定する。
ステップ134の判定が肯定された場合は、先のステップ128で論理インデックスが抽出された不一致単語が、第1の論理インデックスセットに対応する顧客名称についての不要単語として不要単語辞書に登録されているので、第1の論理インデックスセットに対応する顧客名称を表していると過去に判定された文字列の中に上記の不一致単語が付加された文字列が存在していたことになり(例えば上述した例では、顧客Bの名称を表していると過去に判定された文字列の中に上記の「AND」が付加された文字列が存在していたことになる)、変換対象文字列は第1の論理インデックスセットに対応する顧客名称を表していると判断できる。このため、ステップ134の判定が肯定された場合はステップ136へ移行し、変換対象文字列に対応する顧客コードとして、第1の論理インデックスセットに対応する顧客コードを出力して処理を終了する。
一方、ステップ132又はステップ134の判定が肯定された場合には、第1の論理インデックスセットに対応する顧客名称を表していると過去に判定された文字列の中に、先のステップ128で論理インデックスが抽出された不一致単語が付加された文字列は存在しておらず、この不一致単語に基づいて変換対象文字列が第1の論理インデックスセットに対応する顧客名称を表していると判断することは困難である。このため、ステップ132又はステップ134の判定が肯定された場合はステップ138へ移行し、第1の論理インデックスセットに付加されている包摂コードをキーにして名称辞書を検索し、第1の論理インデックスセットに対応する顧客名称と包摂関係を有する顧客名称を表す第2の論理インデックスセットの情報を名称辞書から抽出する。
次のステップ140では、変換対象文字列の論理インデックスセットと第2の論理インデックスセットを比較することで、変換対象文字列中には存在しており第2の論理インデックスセットに対応する文字列には存在していない不一致単語の論理インデックスを抽出する。例えば変換対象文字列が「NAKAMORI CO,.LTD SHINZYUKU」であり、第2の論理インデックスセットが顧客Cの名称に対応する論理インデックスセットである場合、不一致単語「SHINZYUKU」の論理インデックス「118」が抽出される。次のステップ142では、第2の論理インデックスセットに対応する顧客コードをキーにして不要単語辞書を検索する。そしてステップ144では、ステップ142の検索によって該当する情報が抽出されたか否か判定する。判定が肯定された場合はステップ146へ移行し、ステップ142の検索によって抽出された情報の中に、先のステップ140で抽出した不一致単語の論理インデックスが含まれているか否か判定する。
ステップ146の判定が肯定された場合は、先のステップ140で論理インデックスが抽出された不一致単語が、第2の論理インデックスセットに対応する顧客名称についての不要単語として不要単語辞書に登録されていることになるので、第2の論理インデックスセットに対応する顧客名称を表していると過去に判定された文字列の中に上記の不一致単語が付加された文字列が存在していたことになり、変換対象文字列は第2の論理インデックスセットに対応する顧客名称を表している可能性が高いと判断できる。例えば変換対象文字列が「NAKAMORI CO,.LTD SHINZYUKU」であり、このうちの単語「SHINZYUKU」が、第1の論理インデックスセットの不一致単語として抽出されたものの、第1の論理インデックスセットに対応する顧客Bについての不要単語として不要単語辞書に登録されていなかった一方で、第2の論理インデックスセットの不一致単語としても抽出され、第2の論理インデックスセットに対応する顧客Cについての不要単語として不要単語辞書に登録されていた場合には、顧客Cの名称を表していると過去に判定された文字列の中に上記の「SHINZYUKU」が付加された文字列が存在していたことになるため、変換対象文字列は単語「ELECTRIC」が欠落してはいるものの、顧客Cの名称を表す文字列である可能性が高いと判断できる。このため、ステップ146の判定が肯定された場合はステップ148へ移行し、変換対象文字列に対応する顧客コードとして、第2の論理インデックスセットに対応する顧客コードを出力して処理を終了する。
一方、ステップ144又はステップ146の判定が肯定された場合には、第2の論理インデックスセットに対応する顧客名称を表していると過去に判定された文字列の中に、先のステップ140で論理インデックスが抽出された不一致単語が付加された文字列も存在していないので、変換対象文字列が第1の論理インデックスセットに対応する顧客名称と第2の論理インデックスセットに対応する顧客名称の何れを表しているかを判断することは困難である。このため、ステップ144又はステップ146の判定が肯定された場合はステップ150へ移行し、変換対象文字列をディスプレイ16に表示させると共に、第1及び第2の論理インデックスセットに対応する文字列、顧客コード等の情報をディスプレイ16に表示させ、更に所定のメッセージをディスプレイ16に表示させることで、変換対象文字列が表している顧客名称の判定をオペレータへ要請する。
次のステップ152ではオペレータによる判定結果が入力されたか否か判定し、判定が肯定される迄ステップ152を繰り返す。顧客名称の判定が要請されると、オペレータは電文送信元の第2の金融機関へ問い合せる等の作業を行うことで、変換対象文字列が表している顧客名称を判定する。そして、判定結果を表す情報をキーボード20を介して入力する。これにより、ステップ152の判定が肯定されてステップ154へ移行し、変換対象文字列に対応する顧客コードとして、入力された判定結果に相当する顧客コードを出力した後にステップ120へ移行する。
従って、変換対象文字列が、オペレータによって判定された顧客名称に対して余計な単語が付加されている文字列であれば、ステップ120,122の判定が肯定されてステップ124へ移行し、変換対象文字列中の余計な単語が、判定された顧客についての不要単語として不要単語辞書に登録されることになるので、次回以降に、同一の顧客を表す文字列として、同一の単語(不要単語)が付加された文字列が出現した場合には、この不要単語に基づいてステップ134又はステップ146の判定が肯定されることで、オペレータの手を再度煩わすことなく変換対象文字列が表す顧客名称を自動的に判定することができる。
次に、前述したステップ68〜ステップ74の検索処理において、ステップ70の判定条件に合致する論理インデックスセットが抽出されなかった場合(ステップ76の判定が否定された場合)の処理について説明する。なお、ステップ76の判定が否定される場合としては、例えば顧客Dの名称が「NAKAMORI SOFTWARE DEVELOPMENT」であるのに対し、変換対象文字列が「NAKAMORI SOFT DEV」であった場合(この例では単語「SOFTWARE」及び「DEVELOPMENT」に対し、変換対象文字列では略語である「SOFT」及び「DEV」が設定されている)が挙げられる。
図3に示すように、ステップ76の判定が否定された場合はステップ78へ移行し、補助辞書から単一の副論理インデックスセットを取り出し、取り出した副論理インデックスセットを変換対象文字列の論理インデックスセットと比較し、次のステップ80で変換対象文字列の論理インデックスセットが取り出した副論理インデックスセットを含む関係か否か、すなわち補助辞書から取り出した副論理インデックスセットが表す各不一致単語が変換対象文字列に全て含まれているか否か判定する。判定が否定された場合はステップ82へ移行し、補助辞書に登録されている全ての副論理インデックスセットの取り出しを行ったか否か判定する。判定が否定された場合はステップ78に戻り、ステップ80又はステップ82の判定が肯定される迄、ステップ78〜ステップ82を繰り返す。当初は補助辞書に何ら情報が登録されていないので、ステップ82の判定が肯定されてステップ100へ移行し、オペレータ判定処理が行われる。このオペレータ判定処理について、図5のフローチャートを参照して説明する。
オペレータ判定処理では、まずステップ170において、変換対象文字列及び所定のメッセージをディスプレイ16に表示させることで、変換対象文字列が表している顧客名称及び対応する顧客コードの判定をオペレータへ要請する。次のステップ172ではオペレータによる判定結果が入力されたか否か判定し、判定が肯定される迄ステップ172を繰り返す。顧客名称及び顧客コードの判定が要請されると、オペレータはディスプレイ16に表示された変換対象文字列を参照し、必要に応じて電文送信元の第2の金融機関へ問い合せる等の作業を行うことで、変換対象文字列が表している顧客名称及び対応する顧客コードを判定する。そして、判定した顧客コードをキーボード20を介して入力する。これにより、ステップ172の判定が肯定されてステップ174へ移行し、変換対象文字列に対応する顧客コードとして、入力された顧客コードを出力する。なお、上記ステップ170〜ステップ174も本発明に係る変換手段に対応している。
オペレータ判定処理における次のステップ176以降の処理は本発明に係る単語登録手段に対応しており、まずステップ176では、変換対象文字列に対応する顧客コードとして出力した顧客コードをキーにして名称辞書を検索することで、出力した顧客コードが付与された顧客の正規の名称を表す論理インデックスセットを名称辞書から抽出する。ステップ178では、名称辞書から抽出した論理インデックスセットを変換対象文字列の論理インデックスセットと比較することで、正規の顧客名称を表す文字列における変換対象文字列との不一致単語数及び変換文字列における正規の顧客名称を表す文字列との不一致単語数を各々計数する。次のステップ180では、ステップ178で計数した正規の顧客名称を表す文字列における不一致単語数及び変換文字列における不一致単語数が各々「1」であったか否か判定する。
例えば顧客Dの正規の名称「NAKAMORI SOFTWARE DEVELOPMENT」に対して変換対象文字列が「NAKAMORI SOFT DEV」であった場合には、正規の顧客名称を表す文字列における不一致単語数及び変換対象文字列における不一致単語数が各々「2」であるので、ステップ180の判定が否定されてステップ184へ移行し、例として図2(D)に示すように、変換対象文字列における全ての不一致単語の論理インデックスを副論理インデックスセットとして補助辞書へ各々登録すると共に、正規の顧客名称を表す文字列における全ての不一致単語の論理インデックスを、先の副論理インデックスセットに対応する主論理インデックスセットとして補助辞書へ登録し、処理を終了する。なお、図2(D)は変換対象文字列における不一致単語「SOFT」及び「DEV」に各々論理インデックス「500」「501」が付与され、この論理インデックスが副論理インデックスセットとして補助辞書に登録されると共に、正規の顧客名称を表す文字列における不一致単語「SOFTWARE」及び「DEVELOPMENT」の論理インデックス「112」「113」が主論理インデックスセットとして登録された状態を例として示している。
次に、補助辞書に上記の情報が登録された状態で、変換対象文字列「NAKAMORI SOFT DEV」が再度入力された場合の処理について説明する。上記の変換対象文字列が再度入力された場合にも、ステップ68〜ステップ74の検索処理でステップ70の判定条件に合致する論理インデックスセットは抽出されないので、ステップ76の判定が否定されてステップ78へ移行し、先にも説明したように、ステップ78〜ステップ82において、ステップ80の判定条件に合致する副論理インデックスセットが補助辞書に登録されているか否かが検索される。この場合は単語「SOFT」「DEV」の論理インデックス「500,501」が副論理インデックスセットとして補助辞書に登録されているので、ステップ80の判定が肯定されてステップ84へ移行する。
ステップ84では、補助辞書から取り出した副論理インデックスセットと対応付けて登録されている主論理インデックスセットを補助辞書から取り出す。この場合は単語「SOFTWARE」「DEVELOPMENT」の論理インデックス「112,113」が主論理インデックスセットとして取り出される。次のステップ86では、変換対象文字列の論理インデックスセットのうち、補助辞書から取り出した副論理インデックスセットを構成する各論理インデックスと同一の論理インデックスを、補助辞書から取り出した主論理インデックスセットを構成する各論理インデックスへ置換する。なお、この処理は「入力文字列のうち特定の副単語群を構成する全ての単語を、特定の副単語群と対応付けられて補助辞書に登録されている特定の主単語群を構成する単語に置き換えた文字列を生成」することに相当しており、例えば変換対象文字列「NAKAMORI SOFT DEV」の論理インデックスセット「105,500,501」は、上記処理により文字列「NAKAMORI SOFTWARE DEVELOPMENT」を表す論理インデックスセット「105,112,113」に置換されることになる。
ステップ88では、単一の顧客の情報を名称辞書から取り出し、取り出した情報に含まれる前記顧客の名称の論理インデックスセットをステップ86の置換処理を経た変換対象文字列の論理インデックスセットと比較する。次のステップ90では、変換対象文字列の論理インデックスセットが、名称辞書から取り出した論理インデックスセットを含む関係か否か判定する。判定が否定された場合は何ら処理を行うことなくステップ94へ移行するが、判定が肯定された場合はステップ92へ移行し、ステップ88で名称辞書より取り出した単一の顧客の情報から顧客コードを抽出すると共に、置換処理を経た変換対象文字列の論理インデックスセットを構成する各論理インデックスのうち、名称辞書から取り出した論理インデックスセットに含まれていない論理インデックスの数(不一致単語数)を計数し、抽出した顧客コード及び計数した不一致単語数を名称辞書から取り出した論理インデックスセットと対応付けてメモリに記憶させた後にステップ94へ移行する。なお、ステップ92において、名称辞書から取り出した単一の顧客の情報に包摂コードも含まれている場合には、この包摂コードも抽出されてメモリに記憶される。
ステップ94では、名称辞書に登録されている全ての論理インデックスを取り出したか(ステップ86の置換処理を経た変換対象文字列の論理インデックスセットと比較したか)否か判定する。判定が否定された場合はステップ88に戻り、ステップ94の判定が肯定される迄ステップ88〜ステップ94を繰り返す。このステップ88〜ステップ94の処理により、変換対象文字列「NAKAMORI SOFT DEV」に対し、正規の名称が「NAKAMORI SOFTWARE DEVELOPMENT」である顧客Dの情報が名称辞書から抽出されてメモリに記憶されることになる。ステップ94の判定が肯定されるとステップ96へ移行し、上述したステップ88〜ステップ94の検索処理により、置換処理を経た変換対象文字列の論理インデックスセットに含まれる関係にある論理インデックスセット(ステップ90の判定条件に合致する論理インデックスセット)が名称辞書から抽出されたか否か判定する。この場合は判定が肯定されてステップ98へ移行し、置換処理を経た変換対象文字列の論理インデックスセットに対して先に説明した顧客コード判定処理が行われることで変換対象文字列が表す顧客名称が自動的に判定され、変換対象文字列に対応する顧客コードがオペレータの手を煩わすことなく自動的に出力されることになる。
なお、本実施形態では補助辞書に登録されている情報(正論理インデックスセット及び副論理インデックスセット)が、変換対象文字列が何れの顧客の名称を表す文字列かに拘らず共通に用いられ、例えば変換対象文字列が「AKASAKA SOFT DEV」であり、この変換対象文字列に対し、該変換対象文字列の論理インデックスセットに含まれる関係の論理インデックスセット(ステップ70の判定条件を満足する論理インデックスセット)が名称辞書に存在していなかった場合にも、変換対象文字列の論理インデックスセットが文字列「AKASAKA SOFTWARE DEVELOPMENT」の論理インデックスセットへ置換され、置換後の論理インデックスセットに含まれる関係の論理インデックスセットが名称辞書に存在しているか否かが再度検索されることになる。
また、ステップ96の判定が否定された場合は、変換対象文字列の論理インデックスセットを置換前の論理インデックスセットへ戻した後にステップ78に戻り、変換対象文字列の論理インデックスセットに含まれる関係にある他の副論理インデックスセットが補助辞書に登録されているか否かが再度検索され、該当する副論理インデックスセットが抽出されたときには上述したステップ84〜ステップ96が再度行われることになる。
続いて、変換対象文字列「NAKAMORI SOFTWARE DEV」が入力された場合の処理について説明する。上記の変換対象文字列が入力された場合にも、ステップ68〜ステップ74の検索処理でステップ70の判定条件に合致する論理インデックスセットは抽出されないので、ステップ76の判定が否定されてステップ78へ移行し、ステップ78〜ステップ82において、変換対象文字列の論理インデックスセットに含まれる関係にある副論理インデックスセットが補助辞書に登録されているか否かが検索される。この場合、単語「SOFT」「DEV」の論理インデックス「500,501」が副論理インデックスセットとして補助辞書に登録されているものの、変換対象文字列の論理インデックスセットには単語「SOFT」の論理インデックス「500」が含まれていないので、ステップ82の判定が肯定されることで前述のオペレータ判定処理が行われる。
オペレータ判定処理において、正規の名称が「NAKAMORI SOFTWARE DEVELOPMENT」である顧客Dに付与された顧客コードがオペレータによって入力されると、ステップ176で顧客Dの正規の名称を表す論理インデックスセットが名称辞書から抽出された後にステップ178へ移行するが、この場合、顧客Dの正規の名称を表す文字列における変換対象文字列との不一致単語は「DEVELOPMENT」のみで、変換文字列における顧客Dの正規の名称を表す文字列との不一致単語も「DEV」のみであるので、ステップ180の判定が肯定されてステップ182へ移行する。正規の顧客名称を表す文字列における不一致単語数及び変換対象文字列における不一致単語数が各々1の場合、個々の文字列中の不一致単語が1対1で対応しているので、変換対象文字列中の不一致単語は正規の顧客名称を表す文字列における不一致単語と同義語であるとみなすことができる。
このため、ステップ182では、基本語辞書に登録されている変換文字列中の不一致単語の論理インデックスを、正規の顧客名称を表す文字列中の不一致単語と同一の論理インデックスへ書き替えることで、変換対象文字列中の不一致単語を、正規の顧客名称を表す文字列中の不一致単語の同義語として基本語辞書に再登録する。例えば上記の例では、変換文字列中の不一致単語「DEV」が、正規の顧客名称を表す文字列中の不一致単語「DEVELOPMENT」の同義語として基本語辞書に再登録される。これにより、次回以降は変換対象文字列「NAKAMORI SOFTWARE DEV」が顧客Dの正規の名称「NAKAMORI SOFTWARE DEVELOPMENT」と同一の論理インデックスセットへ変換されることになり、変換対象文字列「NAKAMORI SOFTWARE DEV」が顧客Dの名称を表す文字列であることを、オペレータの手を煩わせることなく自動的に判断することができる。
ステップ186では単一の副論理インデックスセットを補助辞書から取り出し、次のステップ188では、ステップ186で取り出した副論理インデックスセットの中に、変換対象文字列中の不一致単語の論理インデックスが存在しているか否か判定する。判定が否定された場合はステップ200へ移行し、補助辞書に登録されている全ての副論理インデックスセットを取り出したか否か判定する。判定が否定された場合はステップ186に戻り、ステップ186以降の処理を繰り返す。また、ステップ188の判定が肯定された場合はステップ190へ移行し、ステップ186で取り出した副論理インデックスセットと対応付けられて補助辞書に登録されている主論理インデックスセットを補助辞書から取り出す。次のステップ192では、ステップ190で補助辞書から取り出した主論理インデックスセットの中に、正規の顧客名称を表す文字列中の不一致単語の論理インデックスが存在しているか否か判定する。
判定が否定された場合は何ら処理を行うことなくステップ200へ移行するが、判定が肯定された場合はステップ194へ移行し、補助辞書に登録されている副論理インデックスセット(ステップ186で取り出した副論理インデックスセットと同一の論理インデックスセット)から変換対象文字列中の不一致単語の論理インデックスを削除すると共に、補助辞書に登録されている主論理インデックスセット(ステップ190で取り出した副論理インデックスセットと同一の論理インデックスセット)から正規の顧客名称を表す文字列中の不一致単語の論理インデックスを削除する。例えば単語「DEV」を単語「DEVELOPMENT」の同義語として基本語辞書に再登録した場合には、ステップ186で単語「SOFT」及び「DEV」に対応する副論理インデックスセット「500,501」を補助辞書から取り出した際にステップ188の判定が肯定され、ステップ190で上記の副論理インデックスセットに対応する主論理インデックスセットとして、単語「SOFTWARE」及び「DEVELOPMENT」に対応する論理インデックスセット「112,113」が補助辞書から取り出されることでステップ192の判定が肯定される。そしてステップ194において、「DEV」及び「DEVELOPMENT」に対応する論理インデックスが主/副論理インデックスセットから削除されることで、副論理インデックスセットを構成する論理インデックスは「SOFT」の論理インデックス「500」のみとなり、主論理インデックスセットを構成する論理インデックスは単語「SOFTWARE」の論理インデックス「112」のみとなる。
このように、基本語辞書に同義語として登録した単語を補助辞書から削除することで、補助辞書を記憶するための記憶容量が削減される。また、補助辞書に副論理インデックスセットとして登録されている単語群(素性が不明のために一塊りとして扱うべき単語群)の中に、素性が明確化した単語(基本語辞書に同義語として登録した単語)が混在している状態が解消されることで、補助辞書に登録されている情報の精度も向上する。
次のステップ196では、ステップ194で主論理インデックスセット及び副論理インデックスセットから不一致単語の論理インデックスを削除することで、主論理インデックスセットを構成する論理インデックスの数及び副論理インデックスセットを構成する論理インデックスの数が各々1になったか否か、すなわち主論理インデックスセット及び副論理インデックスセットとして対応付けられている単語が1対1の関係へ変化したか否か判定する。判定が否定された場合は何ら処理を行うことなくステップ200へ移行する。一方、ステップ196の判定が肯定された場合は、上記の主論理インデックスセット及び副論理インデックスセットによって1対1で対応付けられている単語は同義語である可能性が極めて高い。
このため、ステップ198において、上記の主論理インデックスセット及び副論理インデックスセット自体を補助辞書から削除すると共に、上記の副論理インデックスセットに論理インデックスが設定されていた単語を、先のステップ182と同様にして、上記の主論理インデックスセットに論理インデックスが設定されていた単語の同義語として基本辞書に再登録する。例えば前述の例では、単語「SOFT」の論理インデックス「500」のみから成る副論理インデックスセット及び単語「SOFTWARE」の論理インデックス「112」のみから成る主論理インデックスセットが補助辞書から削除され、単語「SOFT」が単語「SOFTWARE」の同義語として基本語辞書に再登録されることになる。これにより、先にも説明したように、補助辞書を記憶するための記憶容量を削減できると共に、補助辞書に登録されている情報の精度も向上する。
なお、上記では変換対象文字列から取り出した単語が基本語辞書に登録されていなかった場合に、該単語に論理インデックスを付与して基本語辞書に新規に登録する処理を行うことで、変換対象文字列を構成する全ての単語を論理インデックスへ各々変換する例を説明したが、これに限定されるものではなく、変換対象文字列を構成する各単語のうち基本語辞書に未登録の単語については、論理インデックスへ変換することなくテキストデータのまま以降の処理を行うようにしてもよい。この場合、不要単語辞書及び補助辞書には、論理インデックスとして登録される単語とテキストデータとして登録される単語が混在する可能性があるが、本発明はこのような態様も権利範囲に含むものである。
また、上記では補助辞書に登録されている特定の副論理インデックスセットを構成する各単語が変換対象文字列に全て含まれている場合(ステップ80の判定が肯定された場合)に、変換対象文字列に含まれている上記各単語を、特定の副論理インデックスセットに対応する特定の主論理インデックスセットを構成する各単語に置換した文字列に相当する論理インデックスセットを生成し(ステップ86)、生成した論理インデックスセットを各顧客名称の論理インデックスセットと各々比較することで、変換対象文字列が表す顧客名称を判断するようにしていたが、本発明はこれに限定されるものではなく、変換対象文字列が表す顧客名称がオペレータによって判断され、正規の顧客名称を表す文字列における変換対象文字列との不一致単語及び変換文字列における正規の顧客名称を表す文字列との不一致単語を正/副論理インデックスセットとして補助辞書に登録するにあたり、この正/副論理インデックスセットをオペレータによって判断された顧客名称に対応する顧客コードと対応付けて登録し、特定の顧客コードと対応付けられた正/副論理インデックスセットを、変換対象文字列が前記特定の顧客コードに対応する顧客名称を表しているか否かを判断するときにのみ用いるようにしてもよい。
具体的には、補助辞書に登録されている特定の副論理インデックスセットを構成する各単語が変換対象文字列に全て含まれている場合に、変換対象文字列に含まれている上記各単語を、特定の副論理インデックスセットに対応する特定の主論理インデックスセットを構成する各単語に置換した文字列に相当する論理インデックスセットを生成し、生成した論理インデックスセットを、上記の特定の正/副論理インデックスと同一の特定顧客コードと対応付けられて名称辞書に登録されている単一の論理インデックスセットとのみ比較することで、変換対象文字列が上記の特定顧客コードに対応する特定の顧客名称を表しているか否かを判断するようにしてもよい。なお、上記態様は請求項4記載の発明に対応している。
また、上記態様において、特定顧客コードと対応付けて特定単語を不要単語辞書に不要単語として登録する場合に、上記の特定顧客コードと対応付けられて補助辞書に登録されている副論理インデックスセットを参照し、当該副論理インデックスセットの中に前記特定単語の論理インデックスが存在している場合には、当該副論理インデックスセットから前記特定単語の論理インデックスを削除するようにしてもよい。これにより、補助辞書を記憶するための記憶容量を削減できると共に、補助辞書に登録されている副論理インデックスセットに対応する単語群(素性が不明のために一塊りとして扱うべき単語群)の中に、素性(不要単語であること)が明確化した特定単語が混在している状態が解消されることになり、補助辞書に登録されている情報の精度も向上させることができる。この態様は請求項5記載の発明に対応している。また、上記のように副論理インデックスセットから特定単語の論理インデックスを削除することで、主/副論理インデックスセットを構成する単語の数が各々1個となった場合にも、当該主/副論理インデックスセットを補助辞書から削除してもよいことは言うまでもない。
更に、上記では変換対象文字列が、該変換対象文字列が表す顧客名称の文字列と完全には一致しておらず(不一致単語数≧1)、かつ変換対象文字列が表す顧客名称に包摂関係がある場合にのみ、不一致単語を不要単語として登録する例を説明したが、これに限定されるものではなく、変換対象文字列が表す顧客名称に包摂関係がない場合にも、変換対象文字列が顧客名称の文字列と完全には一致していなければ、不一致単語を不要単語として不要単語辞書へ登録するようにしてもよい。
また、上記では副論理インデックスセットとして、基本語辞書に登録されている登録対象単語の論理インデックスを補助辞書へそのまま登録する例を説明したが、これに限定されるものではなく、基本語辞書に登録されている登録対象単語の論理インデックスに対し、副論理インデックスセットであることを表す所定の編集(例えば所定の記号「♭」を末尾に付加する等)を行った論理インデックスを、副論理インデックスセットとして補助辞書へ登録するようにしてもよい。
また、上記では本発明に係る文字列として、顧客名称を表す文字列を例に説明したが、本発明はこれに限定されるものではなく、複数の単語が組合わされて成る任意の対象を表す文字列に適用可能である。