(57)【要約】【課題】複数の文字種によって表現されたフレーズの類似性を予測すること。【解決手段】情報処理装置１１０は、姓名を示す文字シーケンスを受領し、受領した文字シーケンスを構成する文字種類を判定する文字判定部１１８と、文字シーケンスから、文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成する他表記取得部１２０と、文字種類に応答して異なる類似判断を実行し、表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部１２２と、類似度計算部１２２が計算したスコアを使用して姓名候補について類似スコアを計算する類似スコア計算部１２４とを含む。【選択図】図１
2010044597.tif 000002
【特許請求の範囲】
【請求項１】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理装置。
【請求項２】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項１に記載の情報処理装置。
【請求項４】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項３に記載の情報処理装置。
【請求項５】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項１に記載の情報処理装置。
【請求項６】
情報処理装置が実行する姓名類似を判断する情報処理方法であって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、情報処理方法。
【請求項７】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項６に記載の情報処理方法。
【請求項８】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項６に記載の情報処理方法。
【請求項９】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項８に記載の情報処理方法。
【請求項１０】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項６に記載の情報処理方法。
【請求項１１】
姓名類似を判断する情報処理方法を情報処理装置が実行するための情報処理実行可能なプログラムであって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、コンピュータ実行可能なプログラム。
【請求項１２】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項１１に記載のプログラム。
【請求項１３】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項１２に記載のプログラム。
【請求項１４】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項１３に記載のプログラム。
【請求項１５】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項１１に記載のプログラム。
【請求項１６】
姓名類似を計算するための情報処理システムであって、前記情報処理システムは、
ネットワークを介して接続されたクライアント・コンピュータと、
前記クライアント・コンピュータから姓名を示す文字シーケンスを受領して、姓名類似を判断するサーバ・コンピュータと、を含み、前記サーバ・コンピュータは、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理システム。
【請求項１７】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項１６に記載の情報処理システム。
【請求項１８】
前記情報処理システムは、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項１６に記載の情報処理システム。
【請求項１９】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項１８に記載の情報処理システム。
【請求項２０】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項１６に記載の情報処理システム。
【請求項２１】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる２種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含み、
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成し、
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部と、
前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、
前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールであり、
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姓名の類似判断技術に関し、より詳細には、インド・ヨーロッパ語、アフロ・アフリカ語、日本語、中国語、韓国語などで記述された姓名から、言語種類にかかわらず姓名の類似性を判断する、情報処理装置、情報処理方法、情報処理システム、およびプログラムに関する。  
【０００２】
近年、交通機関や、ネットワーク技術の進歩などにより、国際間での人的活動が活発化している。複数の国にわたって個人や企業が各種の活動を行う場合、当該個人の姓名や、企業の名称を記載して、各種の手続を行う。国際間での活動が増加するにつれ、個人などが手続を行った国以外の国で、その情報を使用して各種の検索を行うことが必要な場合も発生してくるものと考えられる。例示的な場合としては、国際間でのマネーロンダリングなどの場合に、銀行口座などを作成、送金、引出しなどを行った個人の同一性を、複数の国で情報を共有し、なおかつ異なる文化圏に対応する姓名表記に対応して姓名の同一性を損なうことなく認識することが必要な場合を挙げることができる。  
【０００３】
また、姓名検索は、必ずしも国際的な行動だけに必要とされるものではない。例えば日本で言えば、銀行口座、健康保険などが同一人物を示しているか否かを判断することが必要な、いわゆる名寄せなどの処理には、取得した姓名から、どのような類似姓名が生じる可能性があるか、またその尤度がどの程度なのかを、高精度かつ効率的に生成させることが必要となる。  
【０００４】
英語、キリル語、ギリシャ文字などを含むインド・ヨーロッパ語、アフロ・アジア語で記述された姓名は、アルファベットなど表音文字のみで記述されるため、文字列を使用して検索を行うことができ、また検索は、文字列を使用する類似検索を含めて比較的容易である。なお、アルファベットで記述された人名を比較して、人名の類似性を、類似性スコアを計算することにより比較する方法は、人名検索のために利用されている。アルファベットで記述された人名を検索するためのシステム／方法としては、例えば、米国特許第６、９６３、８７１Ｂ１明細書（特許文献１）に記載される、アルファベットで記述された人名を検索する自動化人名検索システムを挙げることができる。  
【０００５】
また、http://publibfp.boulder.ibm.com/epubs/pdf/c1912860.pdf（非特許文献１）で指定されるＵＲＩには、インド・ヨーロッパ語で表記された人名についての類似性を使用して人名検索する、Global Name Analytics（ＧＮＡ）システムも開示されている。  
【０００６】
ところで、ＣＪＫＶ(Chinese, Japanese, Korean, Vietnam)として例示することができる、いわゆる表意文字を使用する文化圏では、異字体が存在し、また同一の文字であっても文字列シーケンスの態様に応じて表音特性が相違する場合がある。このため、表意文字を含む姓名を類似判断を充分な精度で自動実行する際には、インド・ヨーロッパ語文化圏での姓名検索とは異なる問題がある。この様な問題として、例えば下記の掲げる問題点を例示的に挙げることができる。  
【０００７】
（イ）さらに、ＣＪＫＶとして参照される文化圏では、本来同一の表意文字を表し、またその表音特性も同一となる旧字体、新字体、異字体が存在し、例えば、「斉」、「齊」、「斎」、「齋」など、同一の表音文字で記述された姓名に対して複数の表意文字による表記が存在しうる。したがって、表音文字の同一性や表意文字の同一性、類似性を自動判断することができない。  
【０００８】
（ロ）上述した問題に加え、例えば日本語を、ローマ字表記する場合、「タロウ」の表音文字列に対応し、「Taro」、「Taroh」、「Tarou」など、または「トモロヲ」と「トモロオ」、「トモエ」と「トモゑ」、「トモヱ」として例示される表音表記上の揺らぎが存在する。  
【０００９】
（ハ）さらに、現在、大量の文字情報を処理する場合、ＯＣＲなどの光学読み取りシステムが導入され、イメージリーダなどから入力された画像を文字テンプレートなどとビット比較することにより、自動文字認識が普及している。この場合、ＯＣＲによる誤認識を考慮して、外見上類似する文字、例えば、「カ」と、「ケ」「萩」と「荻」、「富」と「冨」などの可能性を考慮する必要がある。また、これらの外観上類似した文字は、業務担当者などによる転記ミス、誤記も考慮する必要があり、表意文字および表音文字の両方を有する言語の姓名を、コンピュータを使用して自動判断することは、困難であった。
【００１０】
これまで、漢字列、例えば日本語について姓名を検索する技術が種々知られている。例えば、特開平１１−３３８８５９号公報（特許文献２）では、フリガナで入力される氏名をローマ字に変換して入力する氏名入力装置であって、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、該フリガナの各文字毎に、規定のローマ字変換を施す必要があるのか否かを示すフリガナ属性情報を管理する氏名辞書と、上記氏名辞書を検索することで、入力されるフリガナの指す氏名を検索するとともに、該氏名の持つフリガナ属性情報を取得する検索手段と、上記検索手段の検索する氏名の中から氏名を１つ選択する選択手段と、上記選択手段の選択する氏名の持つフリガナ属性情報の指示に従って上記規定のローマ字変換を施しつつ、入力されるフリガナをローマ字に変換する変換手段とを備えることを、特徴とする氏名入力装置を開示する。
【００１１】
さらに、特開２０００−２５１０１７号公報（特許文献３）では、団体または個人の名称を表わす「名称」文字列を記憶した第１記憶手段と、個人の姓名の姓を表わす「姓」文字列および名を表わす「名」文字列を、その種別を表わす種別データと共に記憶した第２記憶手段と、一般名称を表わす「一般名称」文字列をその種別を表わす種別データと共に記憶した第３記憶手段と、単語検索の照合に用いる照合用単語辞書を記憶するための第４記憶手段と、前記第１記憶手段内の「名称」文字列の構成要素が前記第２記憶手段内の文字列または前記第３記憶手段内の文字列と一致するかどうか判定し、一致条件の成立した「名称」文字列を一致先の文字列に対応する種別データと共に照合用単語辞書として前記第４記憶手段に記憶せしめる辞書生成手段と、を具備したことを特徴とする単語辞書作成装置を記載する。
【００１２】
さらに、特開２００７−３０５０４６号公報（特許文献４）は、漢字と前記漢字の読みを表わす表音文字とを対応させた第１
の情報を予め記憶するため
の手段と、個人の姓名を表わす漢字と前記個人のメールアドレスに含まれる第２
の情報とを取得するための取得手段と、前記第１の情報に基づいて、前記姓名を表わす漢字の読みの候補を生成するための生成手段と、前記第２の情報と前記候補とを照合した結果に基づいて、前記姓名を表わす漢字の読みを決定するための決定手段とを含む、情報処理装置を開示する。
【００１３】
また、特開２００４−３１８６９９号公報（特許文献５）は、入力された名義の先頭から姓辞書中の単語と前方一致するものを検索する。検索した結果、種別が法人種別や職種の場合はその時点で個人でないとして処理を終了する。種別が姓の場合、入力された名義と後方一致する単語を名辞書から検索する。次に、姓と名の区切り方の候補を１つに絞り込む。最後に、絞り込まれた解が個人かどうか判定する名義解析方法を記載している。
【００１４】
さらに、特開平１０−１７１７９９号公報（特許文献６）は、姓名の区切りなしに入力された個人名とフリガナに対して姓と名の区切り及び漢字１文字毎の文字区切りを付与する姓名解析方法において、姓を登録した姓辞書と、名を登録した名辞書を用いて、入力された前記姓名を姓と名に分割し、文字に対する読みを登録した文字辞書を用いて、姓または名の片方しか前記姓辞書、前記名辞書にない場合、あるいは、両方とも該姓・名辞書にない場合には、漢字１文字毎にフリガナの対応を取ることにより漢字１文字毎にフリガナを付与し、読みの多義を解消するための文字の区切り情報に基づいて解が正しいかを判定することを特徴とする姓名解析方法を記載している。
【００１５】
【特許文献１】米国特許第６、９６３、８７１Ｂ１明細書
【特許文献２】特開平１１−３３８８５９号公報
【特許文献３】特開２０００−２５１０１７号公報
【特許文献４】特開２００７−３０５０４６号公報
【特許文献５】特開２００４−３１８６９９号公報
【特許文献６】特開平１０−１７１７９９号公報
【非特許文献１】http：／／publibfp.boulder.ibm.com／epubs／pdf                    ／c1912860.pdf
【発明の開示】
【発明が解決しようとする課題】
【００１６】
特許文献２〜特許文献６は、それぞれ姓名をコンピュータにより自動的に解析する技術を開示する。しかしながら、特許文献２に記載された技術は、表音文字と表意文字との間の対応付けを操作者が実行するものであり、コンピュータが表意文字シーケンスと表音文字シーケンスとを自動的に対応付ける技術を開示するものではない。また、特許文献３に記載された技術は、類似可能性を考慮した辞書を作製する点および当該辞書を使用して顧客名を選択することを可能とするものの、類似度をどのように適用して姓名の自動選択をするかについては何ら記載するものではなく、また、表意文字と表音文字との間の対応付けを行うことを目的とするものではない。  
【００１７】
さらに、特許文献４は、姓名に対して使用される漢字に適用される表音文字シーケンスを、漢字に適用される頻度の最も高いものとして選択して、表意文字と表音文字との関連づけを行うものである。しかしながら、その時点で処理するべき表意文字シーケンスが、最も頻度の高い表意文字シーケンスで表されるべきか否かについては、何らの判断を行うものではない。また、特許文献４は、漢字表記の姓名とともに、メールアドレスなど姓名を示唆する情報の入力を必要とするため、消音文字と表意文字との間の対応関係について、表音文字または表意文字での姓、名、または姓名が単独で入力された場合には、表音文字と表意文字との対応関係を一義的に定めることはできない。  
【００１８】
さらに、姓名の誤記や転記ミス、または字体の相違などがある場合について、どの字体を使用するべきなのかについて、何ら対応するものではなく、また例えば、「高田俊：タカダタカシ」と、「高田健：タカダタケシ」との間の類似性について何ら基準を与えるものではなく、ＯＣＲにおける誤変換の可能性も含めた表意文字−表音文字変換を目的とするものではないし、表音文字シーケンスも表意文字シーケンスも異なる姓名を可能性のある候補として可能性に対応付けるものではない。  
【００１９】
さらに、特許文献５〜６についても、漢字と読みとを頻度に対応付けて登録し、それらの間の変換を行うものであって、出現頻度のみを使用して表意文字および表音文字の対応付けを行うものであり、入力された表意文字シーケンスまたは表音文字シーケンスに出現頻度では対応付けられない可能性のある姓名候補を生成させるものではない。  
【００２０】
また、特許文献１〜特許文献６に記載された技術は、姓名がインド・ヨーロッパ語、アフロ・アジア語、平仮名、カタカナ、ハングルなどを含む、いかなる表音文字で入力された場合であっても、表意文字で入力された場合であっても、最尤な表意文字シーケンスまたは表音文字シーケンスを含み、当該入力姓名の可能性がある姓名を判断することを課題とするものではない。  
【００２１】
すなわち、これまで、表意文字シーケンスまたは表音文字シーケンスで入力された姓名の入力に対して、最尤の姓名候補を生成するとともに、当該入力された姓名に対して他言語の表記を考慮して同一または類似する姓名候補の他、表音特性に関連して非類似の姓名を判定することが可能な技術が必要とされていた。
【課題を解決するための手段】
【００２２】
本発明は、上記従来技術の課題に鑑みてなされたものであり、本発明では、情報処理装置は、人名を記述した文字シーケンスを受領して、少なくとも異なる２種の表音文字からなる姓名表記、または少なくとも２種の表音文字および表意文字を含む表記ベクトルを生成する。  
【００２３】
表記ベクトルの要素は、情報処理装置が管理する漢字シーケンスまたはカナ・シーケンスとそれぞれ類似度が計算され、表記ベクトルが含む複数の姓名表記について計算したスコアを含むスコア・サブマトリックスを生成する。本発明では、さらにさらにスコア・サブマトリックスについて、少なくとも複数の姓名表記間の類似度を考慮した類似スコアが計算され、当該類似スコアを、姓名を構成するフレーズについて、類似度を言語を横断的に判断した類似尺度と使用する。  
【００２４】
本発明では、文字シーケンスから少なくとも２種の表音文字による姓名表記が生成され、特定の実施形態では、カナ・シーケンスと、アルファベット・シーケンスとされる。文字シーケンスがカナ・シーケンスである場合には、さらに、漢字といった表意文字による姓表記または名表記が与えられる。  
【００２５】
スコア・サブマトリックスは、姓または名のフレーズに関して統合され、スコア付けマトリックスを構成する。本発明では、スコア付けマトリックスは、姓および名についての翻字についての尤度を判断するために使用され、スコア付けマトリックスに登録された姓および名を統合して姓名候補および姓名候補に対して同音でもなく同字でもない類似姓名候補を生成するために利用される。  
【００２６】
本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。  
【００２７】
また、表音文字シーケンスまたは表意文字シーケンスで入力された姓名に対して、多言語での尤度を判断して、目的とする表音文字シーケンスまたは表意文字シーケンスでの姓名候補を重み付けして判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。  
【００２８】
加えて、インド・ヨーロッパ語、アフロ・アジア語、日本語、中国語、韓国語、ベトナム語など多言語にわたる姓名の同一・類似判断を行い、さらに表音特性の非類似の姓名を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を実施形態を使用して説明するが、本発明は後述する実施形態に限定されるものではない。図１は、本実施形態の情報処理システム１００の機能ブロック図である。図１に示した情報処理システム１００は、サーバ１１０と、クライアント・コンピュータ（以下、単にクライアントとして参照する。）１５０と、サーバ・コンピュータ（以下、単にサーバとして参照する。）１１０とクライアント１５０とを接続するネットワーク１１２とを含んで構成されている、クライアント１５０は、カナ、漢字、またはインド・ヨーロッパ語、アフロ・アジア語などで記述された姓、名、または姓名と考えられる文字シーケンスの入力を受付け、例えば、ＨＴＴＰプロトコルなどを使用してサーバ１１０に検索要求を送付する。
【００３０】
なお、用語「カナ」は、本実施形態では、カタカナ、平仮名を含む物として定義する。サーバ１１０は、ＬＡＮ、インターネットなどを含んで構成されるネットワーク１１２を介して姓名照会要求を受領し、姓名生成処理を実行する。サーバ１１０は、受領した姓名照会要求に含まれる文字シーケンスを使用して、受領した文字シーケンスに対応する他の文字表記、例えば、カナ・シーケンスを受領した場合、インド・ヨーロッパ語の例示としてアルファベット・シーケンスおよび表意文字の例である漢字または漢字シーケンスを生成し、姓名検索のために利用する。
【００３１】
サーバ１１０は、ＰＥＮＴＩＵＭ（登録商標）、ＰＥＮＴＩＵＭ（登録商標）互換チップなどのＣＩＳＣアーキテクチャのマイクロプロセッサ、または、ＰＯＷＥＲ  ＰＣ（登録商標）などのＲＩＳＣアーキテクチャのマイクロプロセッサを使用することができ、マイクロプロセッサは、シングルコアでもマルチコアの構成のものを採用することができる。また、サーバ１１０が実装するオペレーティングシステム（ＯＳ）としては、ＷＩＮＤＯＷＳ（登録商標）２００Ｘ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などを挙げることができる。
【００３２】
また、サーバ１１０は、Ｃ＋＋、ＪＡＶＡ（登録商標）、ＪＡＶＡ（登録商標）ＢＥＡＮＳ、ＰＥＲＬ、ＲＵＢＹなどのプログラミング言語を使用して実装される、ＣＧＩ、サーブレット、ＡＰＡＣＨＥ、ＩＩＳなどのサーバ・プログラムを実行し、ネットワーク（図示せず）を介して各種要求を処理する。なお、サーバ１１０は、ウェブ・サーバとして実装することもできるし、ＣＯＲＢＡ(Common Object Resource Broker Architecture)を使用した分散コンピューティングを可能とする専用サーバとすることができる。
【００３３】
クライアント１５０は、パーソナル・コンピュータまたはワークステーションなどを使用して実装され、クライアント１５０が実装するマイクロプロセッサ（ＭＰＵ）としては、これまで知られたいかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを挙げることができる。クライアント１５０は、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＭＡＣ  ＯＳ(登録商標)などのＯＳを搭載することができる。
【００３４】
また、クライアントがウェブ・クライアントとして機能する場合、Internet Explorer（登録商標）、Mozilla、Opera、Netscape(登録商標) Navigatorなどのブラウザ・ソフトウェアを使用して、ＨＴＴＰプロトコルを使用してウェブ・サーバにアクセスする。その他、ＣＯＲＢＡなどの分散コンピューティング環境を利用する場合、クライアント１５０は、サーバ１１０と相互通信するための専用クライアント・プログラムを実装することもできる。
【００３５】
以下、サーバ１１０の機能ブロック構成について詳細に説明する。サーバ１１０の機能ブロックは、サーバ１１０が実装するＲＡＭ内にプログラムを展開し、ＣＰＵまたはＭＰＵがプログラムを実行してサーバ１１０を各機能ブロックとして機能させることにより、サーバ１１０上に実現される機能手段である。
【００３６】
サーバ１１０は、ネットワーク・アダプタ１１４と、文字シーケンス取得部１１６と、文字判定部１１８とを含んでいる。ネットワーク・アダプタ１１４は、姓名照会要求を受領して、ＴＣＰ／ＩＰレベルでトランザクションを処理し、本実施形態の姓名候補生成処理を実行する処理部へと姓名照会要求を渡す。文字シーケンス取得部１１６は、姓名照会要求に含まれる、姓表記、名表記または姓表記および名表記を含む文字シーケンスを、受信パケットのペイロードから取得し、処理対象の文字シーケンスとして適切なメモリに登録する。なお、本実施形態では、姓表記とは、名前の姓(sir Name)に対応する文字列を意味し、名表記とは、名前の名(Second Name)に対応する文字列を意味し、いずれか一方または両方を含む可能性のある文字シーケンスについては、姓名表記として参照する。
【００３７】
文字判定部１１８は、登録した文字シーケンスを構成する文字を解析し、文字シーケンスが、例えば、カタカナ、平仮名、漢字、アルファベットであるか否かを判断する。なお、文字の解析は、文字コードを判定することにより実行することができ、ＳＪＩＳ、ＧＢ、ＵＮＩＣＯＤＥなどいずれのコード体系でも使用することができる。しかしながら、グローバルな姓名検索を実行する上で、ＵＮＩＣＯＤＥを使用することが、判断するべき文字種に適切に対応でき、以下、文字コードの比較を実行する場合、ＵＮＩＣＯＤＥ（ＵＮＩＣＯＤＥ２．０など）を使用して比較を実行するものとする。文字判定部１１８は、受領した文字シーケンスの文字判定を実行した後、受領した文字シーケンスの言語圏を特定し、以後の処理に使用する。
【００３８】
さらに、サーバ１１０は、他表記取得部１２０と、類似度計算部１２２と、類似スコア計算部１２４とを含んで実装されている。他表記取得部１２０は、受領した文字シーケンスを判断し、受領した文字シーケンスがカナであると判断した場合、本実施形態では、翻字処理を実行し、アルファベットおよび漢字表記を取得する。アルファベット表記には、ヘボン式、訓令式、ＩＳＯ３６０２などのローマ字およびインド・ヨーロッパ語圏の姓または名を含む。なお、本実施形態では、情報処理システム１００の特定の目的に応じて、アルファベット以外でもギリシャ文字、キリル文字、アラビア文字などの他表記を取得することができる。
【００３９】
例えば、他表記取得部１２０は、文字シーケンスがカナ・シーケンスであると判断した場合、表音文字変換テーブル１３０を参照し、文字シーケンスを、受領した文字シーケンスに対応する表意文字、より具体的な実施形態では、漢字に変換する本意処理を実行する。表音文字変換テーブル１３０は、姓および名を端意図し、可能性のあるカナ表記に対して漢字表記を対応付けて登録する姓名辞書として構成することができる。
【００４０】
さらに本実施形態の表音文字変換テーブル１３０は、人名に使用される可能性のある漢字を、文化圏によらずに登録し、表音文字−表意文字対応テーブルの他、対応する表意文字が帰属される可能性のある文化圏判断データを含んで構成されている。例えば、入力された文字シーケンスが、「ハリ」である場合、他表記取得部１２０は、表音文字変換テーブル１３０を参照して、人名漢字として、「張」を取得し、文化圏判断データを参照し、当該「張」が、日本語圏、中国語圏、朝鮮語圏に帰属される可能性があることを示すコードを生成し、漢字に割当てることもできる。
【００４１】
さらに、他表記取得部１２０は、受領した文字シーケンスがカナである場合、漢字を取得する他、アルファベット・シーケンスを生成する。この処理は、文字シーケンスがカナである場合、隠れマルコフモデルを使用したカナ−アルファベット変換により実行され、また、文字シーケンスが、漢字コードであると判断された場合には、表音文字変換テーブル１３０の逆検索を実行して、カナ表記を取得し、カナ表記をアルファベット変換することにより、｛カナ、アルファベット、漢字｝の表記ベクトルとして文字シーケンスを登録する。
【００４２】
さらに、文字シーケンスがアルファベットである場合、サーバ１１０は、漢字への変換処理を実行せず、表記ベクトルの｛漢字｝フィールドをブランクのままとして表記ベクトルを生成する。文字シーケンスがアルファベットである場合のカナ表記の生成は、後述する遷移確率テーブルを生成する際に使用するアルファベット−カナ対応テーブルを参照し、アルファベット・シーケンスに対応するカナが検索できる範囲で変換を行うことができる。また、後述する隠れマルコフモデルを使用してカナを目的系列として処理することで、生成することができる。
【００４３】
なお、文字シーケンスとしてアルファベット・シーケンスが入力された場合には、類似度は、ＧＮＲ処理によって計算するので、カナ、漢字が全く生成されなくとも類似度を使用する処理は、不都合なく実行できる。
【００４４】
他表記取得部１２０において、文字シーケンスについて対応する可能性のある表記ベクトルのセットが取得された後、表記ベクトルは、類似度計算部１２２に渡される。類似度計算部１２２は、複数の方法を使用して、表記ベクトルに含まれるアルファベット、カナ、漢字についてそれぞれ類似度のスコアを計算する。
【００４５】
表記ベクトルが含む文字種類のうち、漢字の類似度は、表音文字変換テーブル１３０などを参照して、表記ベクトルが含む漢字と、表音文字変換テーブルに登録された文字コードとが一致しているか否かを使用して行うことができ、例えば、文字コードが完全に一致している場合、１．０を与え、完全に一致していない場合、０を与えるバイナリ基準値を付して行うことができる。
【００４６】
さらに、サーバ１１０は、同音異字、同字異音、または同音でもなく同字でもないが、転記ミス、ＯＣＲによる変換ミスなどを含む類似姓名候補を生成するために、類似モデル・テーブル１３２と、異字体テーブル１３４と、同一・非類似漢字テーブル１３６とを管理する。上述した類似モデル・テーブル１３２、異字体テーブル１３４は、漢字の同一・非類似について、２値基準値以外の、異字体やエラー誘因性を考慮して０〜１までの多値基準値を提供するためにも利用することができる。
【００４７】
類似度計算部１２２は、アルファベット・シーケンスについての類似度についても取得する。類似度計算部１２２は、アルファベット・シーケンスの類似度を計算する場合、アルファベット・シーケンスを抽出し、特定の実施形態では、サーバ１１０の処理部として構成されたＧＮＲ処理部１６０に渡し、ＧＮＲ処理部１６０が登録するアルファベット名との類似度を取得する。なお、ＧＮＲ処理部１６０が実行する類似度判定処理については、例えば特許文献１および非特許文献１にその詳細が開示された方法を使用することができる。
【００４８】
なお、他の実施形態では、ＧＮＲ処理部１６０ではなく、ＧＮＲ処理部１６０を、ＧＮＲ処理を専ら実行するＧＮＲサーバ１４０として構成することができる。この場合、類似度計算部１２２は、類似度を判定するべきアルファベット・シーケンスをネットワーク１１２を介してＧＮＲサーバ１４０に送付し、ＧＮＲサーバ１４０からの応答として類似度を取得する。
【００４９】
さらに類似度計算部１２２は、カナ・シーケンスとカナ・シーケンスとの間の類似度を計算する。この目的のため、類似度計算部１２２は、表記ベクトルからカナ・シーケンスのコードを抽出し、表音文字変換テーブル１３０に登録されたカナ・シーケンスとの比較を実行する。さらに他の実施形態では、カナ・シーケンスから生成されたアルファベット・シーケンスを、ＧＮＲ処理部１６０やＧＮＲサーバ１４０に送付し、ＧＮＲ処理により提供される類似度の値を取得してカナ・シーケンスについての類似度を取得することができる。
【００５０】
カナ・シーケンスの比較を実行する場合、類似度判断部１２２は、文字シーケンスが含む文字列を、表音文字変換テーブル１３０を参照して可能性のある参照カナ・シーケンスを生成する。例えば、文字シーケンスとして、「タケシ」が入力された場合、対応付けられる漢字「健」を抽出し、各漢字コードに対応付けられたカナ・シーケンスである「ケン」を抽出し、参照カナ・シーケンスとして生成する。そして、類似度判断部１２２は、生成された「ケン」を他表記取得部１２０に渡し、対応するアルファベット・シーケンスである「Ｋｅｎ」を生成し、対象シーケンスと参照シーケンスとのスコア計算を可能とする。
【００５１】
その後、対象カナ・シーケンスのコードを参照カナ・シーケンスのコードに対し、逐次フォーワード比較などを使用して実行し、文字コードの一致／不一致に対応して例えば（一致した文字コード総数）／（対象カナ・シーケンスおよび参照カナ・シーケンスの文字コード総数）などとしてスコアを計算する。計算された各スコアのセットは、スコア・サブマトリックスとして登録される。
【００５２】
なお、本実施形態で、漢字、カナなど対応する文字コードが発見できなかった場合については、例えばＯＣＲなどで使用されるように、イメージデータなどとして文字テンプレートを用意しておき、カナまたは漢字に対して文字テンプレートなどとのビットマップ比較を実行して、その類似度を判定することができる。類似度計算部１２２は、他表記取得部１２０が生成した参照表記ベクトルの全セットについてスコア・ベクトルを生成し、ＲＡＭ、Ｌ２キャッシュ、Ｌ３キャッシュなどの適切なメモリに格納する。
【００５３】
サーバ１１０は、さらに類似スコア計算部１２４と、姓名候補生成部１２６とを含んでいる。類似度計算部１２２が生成したスコア・サブマトリックスは、表記ベクトルと対応付けられて、類似スコア計算部１２４に送付される。類似スコア計算部１２４は、受領したサブスコア・マトリックスを、姓または名を構成するフレーズ単位で登録し、スコア付けマトリックスを生成する。説明している実施形態では、スコア付けマトリックスは、３×３のスコア・サブマトリックスが１セットとして登録され、姓について抽出したスコア・サブマトリックスと名について抽出したスコア・サブマトリックスとが姓−名など。設定された順で配置された正方行列として定義される。
【００５４】
その後、類似スコア計算部１２４は、生成したスコア・サブマトリックスの各要素値を使用して類似スコアを計算する。類似スコアの計算は、スコア・ベクトルの要素と、適切な重みベクトルとを使用する内積計算または、設定されたルールに従って要素を抽出して計算することで取得することができ、その処理については、より詳細に後述する。
【００５５】
また、サーバ１１０は、サーバ１１０の独立した処理部または後述する姓名候補生成部１２６の機能モジュールとして実装された姓名類似度計算部１２８を含んでいる。姓名類似度計算部１２８は、類似スコア計算部１２４が生成した姓名候補のうち、合計類似スコアの最大の姓名候補、または他の実施形態ではトップ１０の姓名候補を抽出し、抽出された姓名候補について異体字または外観が類似するだけで、表音特性が全く異なる姓名候補を、類似姓名候補として生成する。
【００５６】
姓名候補生成部１２６は、姓名類似度計算部１２８の出力を受領して、受領した文字シーケンスに対応する姓名候補または類似姓名候補を含む姓名候補リストを生成し、テーブル形式として、クライアント１５０に返す処理を実行する。
【００５７】
この段階での姓名候補リストは、類似判断基準に対応して同音異字・同字異音の姓名まで考慮することができ、特定の用途に対しては充分な結果を提供することができる。さらに、姓名候補生成部１２６が、そのモジュールとして姓名類似度計算部１２８を含んで構成される場合、姓名類似度計算部１２８は、姓名候補リストの中から合計類似スコアの高い姓名候補について、異字体および外観的に類似し、転記ミス、認識ミス、誤記などの可能性のある姓名候補を生成し、姓名候補リストに追加することができる。
【００５８】
さらに他の実施形態では、姓名類似度計算部１２８を、サーバ１１０の独立した処理部として実装することができる。説明する当該他の実施形態では、姓名類似度計算部１２８は、類似スコア計算部１２４からの漢字での姓名またはクライアント１５０から送付された漢字を受領し、異体字または外観上類似する可能性のある姓名候補を生成し、クライアント１５０に類似指標値とともに返す処理を実行する。なお、本実施形態の処理については、当業者により実施できるように、より詳細に後述するが、特願２００８−１１７５３８号明細書（ＩＢＭアトーニードケット番号：ＪＰ９０８００５４）、特願２００８−１４１２０９号明細書（ＩＢＭアトーニードケット番号：ＪＰ９０８００８１）、および特願２００８−１６８０８７号明細書（ＩＢＭアトーニードケット番号：ＪＰ９０８０１１５）の記載は、本明細書の一部を構成するものとして全部を含めることができる。
【００５９】
図２は、本実施形態のサーバ１１０が実行する類似度生成のための処理シーケンス２００を説明する図である。クライアント１５０から入力される可能性のある文字シーケンスは、特定の用途に対応しアルファベット、カナ、漢字のいずれかの可能性がある。また、さらに他の実施形態ではアラビア語などアフロ・アジア語圏の文字列の可能性もある。サーバ１１０は、クライアントから受領した文字シーケンスについて文字コードを判定し、自己以外の文字コードで表現される他表記、例えば、文字シーケンスがカナ２１０である場合、アルファベット・シーケンス２３０および漢字２２０を生成し、類似度計算部１２２に送付する。
【００６０】
類似度計算部１２２は、アルファベット・シーケンス２３０については、ボックス２４０で示すように、ＧＮＲ類似検索２４０を呼び出して処理を依頼する。また、カナ・シーケンス２１０については、アルファベット・シーケンスへの変換後、ボックス２５０で示すように、ＧＮＲ類似検索を実行することもできるし、カナ−カナの文字コード比較を行うこともできるし、さらに他の実施形態では、文字テンプレートとのビットマップ比較を適用することができる。
【００６１】
漢字２２０の場合、ボックス２６０で示すように、文字コード同士の比較による２値基準値を与えることもできるし、図１に示した各テーブル１３２、１３４、１３６を使用し、コスト値から類似度を示すスコアを計算することもできる。さらにボックス２６０で示すように、文字コードの比較ができない場合などについては、文字テンプレートなどを使用するビットマップ比較を行うことにより類似度判断を行うことができる。図２に示した処理シーケンス２００を使用することにより、クライアント１５０から受領する文字シーケンスによらず、適切な類似計算処理を使用して効率的で精度の高い姓名検索を実行することができる。
【００６２】
図３は、本実施形態の姓名候補を生成する情報処理方法のフローチャートを示す。図３に示した処理は、ステップＳ３００から開始し、ステップＳ３０１で、クライアント１５０から文字シーケンスを受領する。ステップＳ３０２で、受領した文字コードの文字コード判定を実行する。説明する実施形態では、漢字、カナ、アルファベットのいずれかを判断するものとしているが、その他ハングル、アラビア語、ギリシャ語、キリル語など受領するべき文字シーケンスは、姓名候補生成の目的および用途に対応して特に制限されるものではない。
【００６３】
ステップＳ３０３では、他表記を取得して、漢字、カタカナ、アルファベットの表記ベクトルとして登録し、ない表記、例えば、文字シーケンスがアルファベット表記の場合、アルファベット・シーケンスから漢字を生成することなく、漢字に対応する要素は、ブランクのままとする。ステップＳ３０４では、文字シーケンスの文字種類を判断し、漢字、アルファベット（カナ）、またはカナを判断する。文字シーケンスが漢字である場合、ステップＳ３１０に処理を渡し、カナである場合には、採用する処理シーケンスに対応して、ステップＳ３０５、またはステップＳ３０９に処理を渡す。
【００６４】
また、文字シーケンスがアルファベットの場合には、処理をステップＳ３０６に渡す。ステップＳ３０５では、カナ・シーケンスをアルファベット変換し、アルファベット・シーケンスをステップＳ３０６に渡し、ＧＮＲ処理部１４０または１６０に送付する。ステップＳ３０７では、ＧＮＲ処理部１４０または１６０から類似度を受領して処理をステップＳ３０８に渡す処理を実行する。
【００６５】
一方、ステップＳ３０９では、漢字同士の文字コード比較を行うか、または文字テンプレートとのビットマップ比較を実行し、その類似判断による類似度をステップＳ３０８に渡す。ステップＳ３０８では、文字シーケンスの文化圏に対応し、少なくとも２表記についての類似度を使用して、スコアを計算する。この理由は、例えばクライアント１５０から受領した文字シーケンスがアルファベットである場合、強制的に漢字に変換せず、表記ベクトルの漢字のフィールドがブランクのままとされるためである。さらにステップＳ３０８では、計算したスコアから、スコア・サブマトリックスについての類似性の指標を与える類似スコアを計算して姓名候補の抽出を可能とさせ、姓名候補リストを生成する。姓名候補リストの生成が終了した段階で、処理をステップＳ３１０に渡し、処理を終了させる。
【００６６】
図３の処理によって、クライアント１５０のユーザは、入力した文字シーケンスに対応する姓名候補を、その確からしさとともに取得することが可能となり、文字シーケンスから、どのような姓名が候補とされるのかについて判断することが可能となる。
【００６７】
図４は、本実施形態の他表記取得部１２０が実行するカナ−アルファベット変換処理のフローチャートを示す。図４の処理は、ステップＳ４００から開始し、ステップＳ４０１でカナ・シーケンスを受領する。ステップＳ４０２でカナ・シーケンスを音素分解する。音素分解は、表音文字の音に対応して行われ、長音、促音については、直前の音素に含ませたものとする。例えばカナ・シーケンス＝「インフォマーション」の場合、音素分解は、「イ」＋「ン」＋「フォ」＋「メー」＋「ショ」＋「ン」とされる。
【００６８】
ステップＳ４０３では、音素分解の結果に遷移確率モデルを使用して変換尤度χを計算し、ステップＳ４０４では、変換尤度χの最も高いアルファベット・シーケンスを取得する。なお、遷移確率モデルは、音素および音素シーケンスを解析し、カナを観測系列とし、アルファベットを目的系列とする隠れマルコフモデルを適用するため、言語解析によって与えることができる。ステップＳ４０５では、アルファベット変換結果を類似度計算部１２２に渡して類似度計算を依頼し、ステップＳ４０６で処理を終了させる。
【００６９】
図５は、図４で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図を示す。変換対象の文字シーケンスは、「インフォメーション」であり、他表記取得部１２０は、音素ごとに音素−音素の遷移確率πｉと、音素間の遷移確率ｐｉｊとを遷移確率テーブルとして登録し、カナ−アルファベット変換を適用する。変換尤度は、図５に示されるように、対数尤度で与えられ、各対数尤度を、音素にわたり積算し、下記式（１）で与えられる変換尤度χを使用して計算し、変換尤度の最も高いアルファベットが類似度計算部１２２へと出力される。
【００７０】
【数１】
2010044597.tif 000003
【００７１】
図６は、図１で説明した、類似モデル・テーブル１３２、異字体テーブル１３４、同一・非類似漢字テーブル１３６の実施形態を示す。図６に示した値は、対応付けられる漢字が類似するものとして判定することのリスクに対応したコストである。図６に示した各テーブルは、姓名類似度計算部１２８が類似姓名候補を抽出する差異の経路コストを計算するために使用される。
【００７２】
また、他の実施形態では、類似モデル・テーブル１３２および異字体テーブル１３４は、類似度計算部１２２が漢字相互の類似度に関する多値基準値を計算するためにも適用することができる。この場合、例えば、図６に示したコストの値を使用して、漢字の類似度についてのスコアを、スコア＝１／（コスト＋α）（αは、コストの最小値よりも小さくアンダーフロー・オーバーフローを回避することができる適切な定数である。）で与えることもできる。なお、多値基準値を与えるため、さらに適切ないかなる別の定式化を使用してもよい。さらに、図６に示した実施形態では、各テーブル１３２、１３４、１３６は、一体化された単一のテーブルとして構成されているが、それぞれのテーブルを個別に作製し、登録しておくことができる。
【００７３】
図６のテーブルのうち、テーブル６１０の非対角要素が同一・非類似漢字テーブル１３６の非類似コストを登録する領域であり、テーブル６２０の非対角要素が異字体テーブル１３４に対応する。また、テーブル６３０の非対角要素は、外観上類似する漢字を登録する類似モデル・テーブル１３２に対応する領域である。図６に示した実施形態は、データ構造を明示的に説明するため、同一・非類似漢字についてのコストまで登録するものとして示す。そして、図６のテーブルの対角要素が、同一・非類似漢字テーブル１３６の同一テーブルに対応する。
【００７４】
図６は説明の目的で全エントリについてコスト値を登録するものとして説明する。本実施形態の好ましい実施形態では、類似モデル・テーブル１３２および異字体テーブル１３４のみを陽に実装させ、同一・非類似漢字テーブル１３６に相当するコストは、テーブルのデータ量を削減するため、プログラムにおける固定値などとして設定し、テーブルのために消費するメモリを削減することもできる。当該実施形態の場合、サーバ１１０は、同一・非類似の漢字について、類似モデル・テーブル１３２および異字体テーブル１３４に登録されていないことに基づいて同一・非類似と判断し、処理を実行することができる。
【００７５】
また、漢字同士が非類似である場合、コストとしては、２が割当てられ、漢字同士が同一の場合コストは０とされている。また、外観的に類似する漢字は、転記ミス、誤記、ＯＣＲ変換ミスなどを発生させる可能性が高いことから、当該変換に幅がある。このため、「萩」と「荻」については、完全に異なるわけではなく誤記、ＯＣＲによる変換ミスの可能性があり、また表音特性も類似しているので、コスト＝０．３が与えられている。一方、漢字「朋」と、「明」については、外観上類似するものの、表音特性が全く異なるため、外観類似であってもより高いコスト＝０．４が与えられている。
【００７６】
また、「富」と「冨」、「高」と、「▲高▼」（鍋ぶたの下は、縦線２本の間に横線２本）、「斉」、「齊」などについては、略記されがちな異字体として、コスト＝０．１が割当てられている。
【００７７】
図７は、本実施形態で、サーバ１１０が入力される可能性のある文字シーケンスに対応するスコア・サブマトリックス７００の実施形態を示す。行が他表記取得部１２０が生成した表記ベクトルに対応するスコア・ベクトルであり、図７に示した実施形態では、要素値｛Takeshi、タケシ、健｝とされる。列は、類似度計算部１２２がスコア計算を実行する際に表音文字変換テーブル１３０から抽出したカナ・シーケンスおよび漢字に対応して計算されたスコアである。
【００７８】
例えば、漢字「健」の場合には、カナ「ケン」、「タケシ」が割当てられ、この結果、スコア・ベクトルは、｛Takeshi、タケシ、健｝と｛Ken、ケン、健｝の参照表記ベクトルが生成され、スコア・サブマトリックス７１０が生成されている。スコア・サブマトリックス７１０は、アルファベット・シーケンスおよびカナ・シーケンスが不一致なので、一致度＝０が与えられている。また、漢字については、漢字「健」の文字コードに対して登録されている読みの範囲で一致し、アルファベット変換でも生成される範囲なので、一致度＝１．０が与えられている。
【００７９】
一方、スコア・サブマトリックス７２０は、サーバ１１０が文字シーケンスとしてアルファベットを受領した場合のスコア・サブマトリックス７２０の実施形態を示す。スコア・サブマトリックス７２０は、サーバ１１０が文字シーケンスとして「James」を受領した場合である。スコア・サブマトリックス７２０では、アルファベット・シーケンスに対応するカナ・シーケンスである「ジェームズ」が見出されたことにより、表記ベクトルは、｛James、ジェームズ、null｝として生成されている。
【００８０】
この場合、参照表記ベクトルについては、説明している実施形態では、アルファベット・シーケンス「James」に対してカナ・シーケンス「ジェームズ」しか登録されていないので、アルファベット、カナの両方の一致度について一致度＝１．０が割当てられ、漢字との類似度については、漢字がブランク（null）のままとされているので、一致度もブランク（null）のままとされている。
【００８１】
そして、スコア・サブマトリックス７３０は、サーバ１１０が、文字シーケンスとして漢字の「毛」を受領した場合の実施形態を示す。漢字「毛」に対しては、「モウ」、「ケ」、「ゲ」、「マオ」などがカナとして登録されている。一方、アルファベット変換処理では、Mou、Mao、Ge、Keなどが抽出される。この場合、例示したスコア・サブマトリックス７３０では、漢字については、常に一致度＝１．０が割当てられ、その他については、対応するアルファベット、カナを含む表記ベクトルと参照表記ベクトルとから生成したスコア・サブマトリックスでない限り、一致度＝０が与えられる。
【００８２】
さらに、本実施形態では、スコア・サブマトリックス７１０、７２０、７３０には、それぞれ類似スコアを計算し、スコア・サブマトリックス全体の類似度を生成する。図８は、類似スコアを計算する場合の各表記に対応するスコアの割当てを説明するための、割当てマップ８００を示す。類似度は、本実施形態では、単純に各スコアの平均値として算出することができる。しかしながら、各表記に対応して、姓名について特有の判断を実行することができることに着目し、本実施形態では、要素ごとに異なる処理を使用して類似スコアを生成することができる。第１の実施形態では、スコア・サブマトリックスから類似度ベクトルを生成する方法である。
【００８３】
類似度ベクトルは、スコア・ベクトルの要素を、設定された順に抽出し、例えば説明する実施形態では、下記式（２）で与えられる。
【００８４】
【数２】
2010044597.tif 000004
また、本実施形態では、各要素値の割当てマップ８００の位置に対応して重み付けが与えられ、Ｓ１，．．．，Ｓ９にそれぞれ対応して、Ｗ１，．．．，Ｗ９が与えられ、重みベクトルについては、下記式（３）で与えられる。
【００８５】
【数３】
2010044597.tif 000005
スコア・サブマトリックス全体としての類似スコアは、各ベクトルの内積を使用して、下記式（４）で与えることができる
【００８６】
【数４】
2010044597.tif 000006
【００８７】
重み付けの値は、例えばカナ−カナ一致、カナ−漢字一致、アルファベット−
カナ一致を重要視する場合など、特定の用途に応じて適宜設定することができ、例えば、日本人について、カナ表記での姓名一致候補を生成する場合には、Ｓ５の重みを高くし、カナ−カナ一致およびカナ−漢字一致の姓名候補を生成する場合には、Ｓ５、Ｓ６、Ｓ８、およびＳ９の重みを高くする。一方、アルファベット−アルファベット一致およびアルファベット−カナ一致を重要視するべき外国人の場合については、Ｓ１、Ｓ２、Ｓ４の重み付けを高く設定することができ、適宜目的とする姓名候補の生成に対応して、システム設定またはユーザ選択により設定することができる。
【００８８】
以下、スコア・サブマトリックス７１０、７２０、７３０の類似スコアの計算は、他の方法を使用しても計算することができる。以下に他の実施形態の説明を行うが、要素割当てのマッピングは、図８に示すとおりである。特に日本人と、中華民族、朝鮮民族を含む外国人の相違は、カナ表記と漢字表記の一致・不一致に依存する。
【００８９】
このため、スコア・サブマトリックスの全体の類似スコアを計算せずに、各要素値の特徴を反映する要素を判断し、文化圏判定を可能とする類似スコアを生成することができる。例えば、上述したように、漢字表記との対応関係を含むＳ５、Ｓ６、Ｓ８、Ｓ９の各要素値が特徴値となる。このため、各要素値に対してしきい値ＴＨｊを設定しておき、Ｓ８、Ｓ９の類似度がいずれもしきい値ＴＨｊを超えた場合、日本人と判定し、類似スコアを計算する。
【００９０】
さらに、類似スコアを計算する第２の実施形態では、外国人、特にインド・ヨーロッパ語圏の民族やアフロ・アフリカ語族に関連する文字シーケンスについては漢字表記を生成しないことに着目し、文化圏の判断を可能とするものである。例えば、図８中、Ｓ３、Ｓ７がnullの場合には、日本、中国、台湾、韓国、ベトナム、マレーシアなど日本民族、中国民族や朝鮮民族を除く外国人用の類似スコアを計算する。そして、漢字−漢字の類似性が設定したしきい値ＴＨｋより高く、カナ−カナの類似度が、設定したしきい値ＴＨｃよりも低い場合には、中国・朝鮮民族の類似スコアを計算させることができる。下記式（５）に、上記判断を使用する場合の処理のための疑似コードを記載する。
【００９１】
【数５】
2010044597.tif 000007
【００９２】
なお、上記式中、cult_categoryは、文化圏識別値を設定する文化圏識別変数である。サーバ１１０は、処理の実装形式に対応して、cult_categoryの値を他の処理部に渡し、文化圏識別処理を実行させることができる。さらに他の実施形態では、名前尤度・国字、アクサンデキュ、ウムラウトなど文化圏に特徴的な文字を検出して実行される文化圏判断の結果を補助情報として使用し、類似スコアの計算処理を変更することもできる。
【００９３】
図９は、スコア・サブマトリックスを部分マトリックスとして構成される、スコア付けマトリックス９００の実施形態を示す。スコア・サブマトリックスは、サーバ１１０が適切な辞書などを参照して生成する姓または名を構成し、ＧＮＲサーバ１４０またはＧＮＲ処理部１６０が処理可能なフレーズを単位として構成されている。スコア付けマトリックス９００は、評価対象の姓・名などのフレーズとして可能性のあるスコア・サブマトリックスを、文字シーケンスの認識順に配列させて生成される。
【００９４】
特定の文字またはフレーズに対する類似スコアは、スコア付けマトリックス９００の例えば、スコア・サブマトリックス９１０の３×３要素を使用し、上記式（４）または（５）を使用して計算することができる。なお、３×３のスコア・サブマトリックスの位置を示すため、スコア・サブマトリックスを、(Nameｉ,Namej)として参照し、フレーズの単位を、図９では、Name1、Name2、Name3、・・・として示す。上記表記中、Name1は、姓「齊籐」に対応し、Name2は、姓「斎藤」に対応し、Name3は、例えば「西藤」などに対応する。さらに、名についても同様なシーケンスでスコア付けマトリックス９００に登録することもできるし、他の実施形態では、名用のスコア付けマトリックスを別に生成し、同洋書方法で類似判断を実行することができる。なお、受領する文字シーケンスがアルファベットの場合、Name1の単位として「James」を使用することができる。
【００９５】
本実施形態の図９に示した実施形態では、スコア・サブマトリックス９１０に隣接する (Nameｉ,Namej±１)で示されるスコア・サブマトリックスおよびスコア・サブマトリックスの部分要素９２０および９３０を使用して、姓名シーケンスの文化圏判断などの一貫性を判断することができる。すなわち、部分要素９２０、９３０は、図８のＳ２、Ｓ３、Ｓ６に対応する要素値に対応する、上記式（４）および（５）に示すように、Ｓ２のカナ−アルファベット類似度および、Ｓ３、Ｓ６の漢字−カナ対応付けの類似度は、例えば姓目シーケンスを生成する場合の類似度のみではない結合処理を可能とし、より精度の高い姓名候補を生成させることができる。
【００９６】
図９に示したスコア付けマトリックス９００に関して、上記式（４）または（５）を使用し、スコア・サブマトリックス(Nameｉ,Namej)についての類似スコアの高い順に例えばトップ３などの姓および名に対応するフレーズを抽出し、姓フレーズと名フレーズとを連結して、合計類似スコアを生成し、合計類似スコアが最高姓名候補、または合計類似スコアのトップＫ（Ｋは、正の整数である。）を抽出し、結果リストに登録する。サーバ１１０は、この段階で、姓名候補リストとして、クライアント１５０に渡すこともできる。
【００９７】
さらに、図９に示したスコア付けマトリックス９００を使用することにより、姓名が同一人物を示すか否かについての判断についても可能とされる。例えばカナ・シーケンスが相違する場合であっても、同一漢字シーケンスに類似する場合には、本来的に別人物である確率Ｐｒ（カナ・シーケンス１｜カナ・シーケンス２）を統計的に決定しておき、同一人物である確率（１−Ｐｒ）を付して姓名候補を表示することもできる。
【００９８】
本実施形態では、さらに、略記、転記ミス、ＯＣＲによる誤認識の可能性を含む姓名候補を生成し、姓名候補リストに追加する構成を採用することができる。この姓名候補は、同音でもなく同字でもない姓名候補を生成させることができる実施形態である。本実施形態では、記載時に略記される可能性が高かったり、転記ミスを生じさせやすかったり、ＯＣＲの誤認識の可能性のある姓名候補となる姓名シーケンスを生成させる。
【００９９】
図１０は、本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャートである。図１０の処理は、ステップＳ１０００から開始する。なお、処理は姓名シーケンスを構成するフレーズではなく、漢字ごとについて文字シーケンスの先頭から末尾まで順に判定してゆくものとするが、当該判定は、逆順でもかまわない。ステップＳ１００１では、先頭から末尾まで姓名シーケンスを構成する漢字をチェックし、図６に示したテーブルを参照し、姓名シーケンスが含む漢字について、異字体テーブル１３４および類似モデル・テーブル１３２を参照して、参照姓名候補を生成し経路マップを生成する。
【０１００】
この際、参照姓名候補は、姓名候補として生成された姓名が含む漢字を含む可能性のある姓および名を網羅的に抽出し、抽出された姓名に関して図６のテーブルを参照して異体字や外観において類似する可能性のある漢字で、類似する漢字を置換した姓名を類似姓名候補として設定することができる。具体的には、姓＝「萩原」には、「萩原」の他、「萩野」、「萩」などの姓が想定でき、外観で類似し、誤りを考慮すれば、「荻原」、「荻野」、「荻」などが可能性のある候補とされる。なお、姓名候補と、参照姓名候補との間で対応付けできない漢字がある場合、例えば、「萩原」に対して「伯耆原」など、適切な大数を設定し、コストを高めることで、類似姓名候補から排除することができる。
【０１０１】
図１０の処理について、具体的な姓名シーケンスを使用して説明すると、図９で説明した類似スコアの最も高い姓名シーケンスが、「荻野明▲高▼」であり、ステップＳ１００１で「萩原朋高」が生成された場合について具体的に説明する。なお、姓名シーケンス「荻原朋高」については、「荻」、「明」と「萩」、「朋」が類似モデル・テーブル１３２で設定したしきい値以下のコスト（それぞれ０．３、０．４）で類似し、「高」と「▲高▼」とは、異字体として、コスト＝０．１が割当てられ、設定したしきい値以下の値を有しているので、姓名候補として生成される。
【０１０２】
また、姓＝「萩野」に対しては、姓＝「荻野」、「萩原」が抽出され、漢字「野」と「原」とは類似でもなく、異字体でもないので、コスト＝２．０が割当てられている。なお、上述したコストについてのしきい値は、特定の用途、精度、および処理効率を考慮して適宜設定でき、概して低くしすぎると類似姓名候補が制限されることから、姓名候補の列挙精度が低下し、高くしすぎると処理効率が低下する。
【０１０３】
姓名候補の「荻野明▲高▼」と、生成された「萩原朋高」について、配列順位ステップＳ１００１で、同一漢字か否かを文字コードを比較することにより、判断し、同一漢字でない場合（ｎｏ）処理をステップＳ１００２に渡す。また、同一漢字であれば、コスト＝０に設定し、処理をステップＳ１００２に渡す。ステップＳ１００２では、処理中の漢字が異体字であるか否かを判断する。異体字でもない場合（ｎｏ）、処理をステップＳ１００３に渡し、異体字である場合（ｙｅｓ）、ステップＳ１００８で、異体字テーブル１３４をルックアップして、コストを取得し、処理をステップＳ１００３に渡す。ステップＳ１００３では、比較対象の文字が外観的に類似し、転記ミスや、誤記、または誤認識を生成させるエントリとして登録されているか否かを判断する。
【０１０４】
処理中の漢字が、当該エントリに登録されていなければ、処理をステップＳ１００５に渡し、登録されている場合（ｙｅｓ）には、ステップＳ１００９で、類似モデル・テーブル１３２をルックアップして登録されたコストを取得し処理をステップＳ１００５に渡す。ステップＳ１００５では、登録されたコストを経路マップに沿って総和して、経路コストを計算し、コストの最も低い姓名シーケンスを選択して姓名候補に対して類似する類似姓名候補として登録し、ステップＳ１００６で処理を終了させる。なお、他の実施形態では、登録した類似姓名候補は、姓名候補生成部１２６へと送付され、図３で説明した処理で生成された姓名候補に対する追加情報として、姓名候補リストに追加する。
【０１０５】
図１１は、図１０の処理で使用する経路コスト計算処理１１００の実施形態を示す。図１１に示した経路マップ１１１０は、列方向が、図９で説明した処理によって抽出された姓名候補であり、行方向が、図１０に説明した処理で生成された類似姓名候補の姓名シーケンスである。漢字「萩」、「荻」の間のコストは、図６に示すように、０．３であり、音は似ているが、「原」と、「野」は、説明する実施形態では、非類似であるため、経路マップ１１１０の矩形の辺を通過する。なお。矩形の片については、経路コスト＝１．０を与え、図６のテーブルとの対応付けを可能とする。また、漢字「明」と「朋」については、０．４として設定され、漢字「高」と「▲高▼」については、異字体であることから、コスト＝０．１が割当てられている。
【０１０６】
図１１に示した経路マップでは、設定された閾値以下のコストが登録されている場合には、対角線上の経路を進行して最小コスト経路１１２０に沿った経路コストが計算される。一方、設定されたしきい値以下のコストが登録されていない場合には、対角線の端点を連結する矩形の辺を進行し、漢字列が全く一致していない場合には、最大コスト経路１１３０で示されるように、最外辺のみを通過する。このため、先頭文字から最終文字まで漢字の類似性に関連して経路を選択してコストの累積計算を実行させることで、経路コスト＝２．８が与えられる。なお、当該経路コストは、姓名の類似性を示す類似指標値として使用することができる。
【０１０７】
なお、姓名候補と参照姓名候補とが文字数が異なる場合、対応付け不能な文字が検出された段階で大数で与えられるコストを割当て、類似姓名候補から排除されるようにすることで、「伯耆原」などの候補を除外することができる。なお、経路コストは、説明している実施形態では、低コストの方がより尤度の高い姓名候補となるので、生成された姓名候補のうち、例えば設定したしきい値以下のコストを有する類似姓名候補を、姓名候補リストに追加し、最終的な結果リストを構成する。
【０１０８】
なお、図１１に示した実施形態では、図６のテーブルを使用して対応付けする類似姓名候補および経路マップ１１００を予め生成し、経路コストを計算するものとして説明した。さらに他の実施形態では、漢字−漢字間に誤記や転記ミスを生じさせる遷移確率を割当て、Vitabiアルゴリズムを使用して列方向に登録された姓名候補と、行方向に登録された姓名候補との間の経路探索を実行し、対数尤度の最小となる経路を与える姓名候補を、類似姓名候補として生成し、結果リストに追加することができる。
【０１０９】
また、図１０および図１１に示した処理は、サーバ１１０の姓名候補生成部１２６のモジュールとして構成する他、姓名類似度を判断する姓名類似度計算部１２８とそして独立した処理部として構成することができる。姓名類似度判断部１２８は、漢字シーケンスを受領して、各処理を実行した後、受領した漢字文字シーケンスを図１１の列に設定し、類似する姓名候補を生成して、行に設定して経路コストを計算し、その結果をクアライアント１５０に返すことができる。
【０１１０】
図１２は、漢字シーケンスの入力を行う場合のＧＵＩ１２００を示す。例えば、クライアント１５０は、サーバ１１０から姓名候補のリストを受領して、可能性のある姓名候補が他にないかどうかを知ることを希望する場合もある。このような場合、クライアント１５０は、図１２に示したＧＵＩ１２００を表示させ、対象とするべき漢字シーケンスを入力し、可能性のある姓名候補を取得することができる。
【０１１１】
図１２に示したＧＵＩ１２００には、表示ウィンドウ１２１０内に、漢字文字列類似度判定を行うためのＧＵＩであることの表示１２２０が表示されている。クライアントのユーザは、入力フィールド１２３０に対象とする漢字シーケンスを入力し、「ＯＫ」ボタンをクリックしてサーバ１１０に漢字シーケンスを送付する。サーバは、上述した処理を適用してクライアント１５０から送付された姓名＝「萩野明▲高▼」に類似する類似姓名候補を生成し、そのリストを、類似候補リスト１２５０としてクライアントに返す構成とすることができる。
【０１１２】
なお、姓名類似度計算部１２８を、姓名候補生成部１２６のモジュールとして構成するか、または独立した処理部として構成するかについては、特定の用途における目的に応じて適宜選択してサーバ１１０に実装することができる。
【０１１３】
さらに、表意文字シーケンスまたは表音文字シーケンスの姓、名、または姓名の入力のみで、表音特性に関連して同一または類似する姓名候補の他、表音特性に関して非類似の姓名候補を、ＣＪＫＶおよびインド・ヨーロッパ語など多言語を考慮して類似性を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【０１１４】
以上、本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。
【０１１５】
本実施形態の上記機能は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【０１１６】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【０１１７】
【図１】本実施形態の情報処理システム１００の機能ブロック図。
【図２】本実施形態のサーバ１１０が実行する類似度生成のための処理シーケンス２００を説明する図。
【図３】本実施形態の姓名候補を生成する情報処理方法のフローチャート。
【図４】本実施形態の他表記取得部１２０が実行するカナ−アルファベット変換処理のフローチャート。
【図５】図４で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図。
【図６】図１で説明した、類似モデル・テーブル１３２、異字体テーブル１３４、同一・非類似漢字テーブル１３６の実施形態を示した図。
【図７】本実施形態で、サーバ１１０が入力される可能性のある文字シーケンスに対応する表記ベクトルを使用した、スコア・サブマトリックス７００の実施形態を示した図。
【図８】類似スコアを計算する場合に作製する類似度ベクトルの生成処理を説明するための要素割当てマップ８００を示した図。
【図９】スコア・サブマトリックスを部分マトリックスとして含む、スコア付けマトリックス９００の実施形態を示した図。
【図１０】本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャート。
【図１１】図１０の処理で使用する経路コスト計算処理１１００の実施形態を示した図。
【図１２】漢字シーケンスの入力を行う場合のＧＵＩ１２００を示した図。
【符号の説明】
【０１１８】
１００…情報処理システム、１１０…サーバ、１１２…ネットワーク、１１４…ネットワーク・アダプタ、１１６…文字シーケンス取得部、１１８…文字判定部、１２０…他表記取得部、１２２…類似度計算部、１２４…類似スコア計算部、１２６…姓名候補生成部、１２８…姓名類似度計算部、１３０…表音文字変換テーブル、１３２…類似モデル・テーブル、１３４…異字体テーブル、１３６…同一・非類似漢字テーブル、１４０…ＧＮＲサーバ、１５０…クライアント・コンピュータ、１６０…ＧＮＲ処理部
【図１】
2010044597.tif 000008
【図２】
2010044597.tif 000009
【図３】
2010044597.tif 000010
【図４】
2010044597.tif 000011
【図５】
2010044597.tif 000012
【図６】
2010044597.tif 000013
【図７】
2010044597.tif 000014
【図８】
2010044597.tif 000015
【図９】
2010044597.tif 000016
【図１０】
2010044597.tif 000017
【図１１】
2010044597.tif 000018
【図１２】
2010044597.tif 000019