情報処理装置、情報処理方法、情報処理システム、およびプログラム
【課題】複数の文字種によって表現されたフレーズの類似性を予測すること。
【解決手段】情報処理装置110は、姓名を示す文字シーケンスを受領し、受領した文字シーケンスを構成する文字種類を判定する文字判定部118と、文字シーケンスから、文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部120と、文字種類に応答して異なる類似判断を実行し、表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部122と、類似度計算部122が計算したスコアを使用して姓名候補について類似スコアを計算する類似スコア計算部124とを含む。
【解決手段】情報処理装置110は、姓名を示す文字シーケンスを受領し、受領した文字シーケンスを構成する文字種類を判定する文字判定部118と、文字シーケンスから、文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部120と、文字種類に応答して異なる類似判断を実行し、表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部122と、類似度計算部122が計算したスコアを使用して姓名候補について類似スコアを計算する類似スコア計算部124とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、姓名の類似判断技術に関し、より詳細には、インド・ヨーロッパ語、アフロ・アフリカ語、日本語、中国語、韓国語などで記述された姓名から、言語種類にかかわらず姓名の類似性を判断する、情報処理装置、情報処理方法、情報処理システム、およびプログラムに関する。
【0002】
近年、交通機関や、ネットワーク技術の進歩などにより、国際間での人的活動が活発化している。複数の国にわたって個人や企業が各種の活動を行う場合、当該個人の姓名や、企業の名称を記載して、各種の手続を行う。国際間での活動が増加するにつれ、個人などが手続を行った国以外の国で、その情報を使用して各種の検索を行うことが必要な場合も発生してくるものと考えられる。例示的な場合としては、国際間でのマネーロンダリングなどの場合に、銀行口座などを作成、送金、引出しなどを行った個人の同一性を、複数の国で情報を共有し、なおかつ異なる文化圏に対応する姓名表記に対応して姓名の同一性を損なうことなく認識することが必要な場合を挙げることができる。
【0003】
また、姓名検索は、必ずしも国際的な行動だけに必要とされるものではない。例えば日本で言えば、銀行口座、健康保険などが同一人物を示しているか否かを判断することが必要な、いわゆる名寄せなどの処理には、取得した姓名から、どのような類似姓名が生じる可能性があるか、またその尤度がどの程度なのかを、高精度かつ効率的に生成させることが必要となる。
【0004】
英語、キリル語、ギリシャ文字などを含むインド・ヨーロッパ語、アフロ・アジア語で記述された姓名は、アルファベットなど表音文字のみで記述されるため、文字列を使用して検索を行うことができ、また検索は、文字列を使用する類似検索を含めて比較的容易である。なお、アルファベットで記述された人名を比較して、人名の類似性を、類似性スコアを計算することにより比較する方法は、人名検索のために利用されている。アルファベットで記述された人名を検索するためのシステム/方法としては、例えば、米国特許第6、963、871B1明細書(特許文献1)に記載される、アルファベットで記述された人名を検索する自動化人名検索システムを挙げることができる。
【0005】
また、http://publibfp.boulder.ibm.com/epubs/pdf/c1912860.pdf(非特許文献1)で指定されるURIには、インド・ヨーロッパ語で表記された人名についての類似性を使用して人名検索する、Global Name Analytics(GNA)システムも開示されている。
【0006】
ところで、CJKV(Chinese, Japanese, Korean, Vietnam)として例示することができる、いわゆる表意文字を使用する文化圏では、異字体が存在し、また同一の文字であっても文字列シーケンスの態様に応じて表音特性が相違する場合がある。このため、表意文字を含む姓名を類似判断を充分な精度で自動実行する際には、インド・ヨーロッパ語文化圏での姓名検索とは異なる問題がある。この様な問題として、例えば下記の掲げる問題点を例示的に挙げることができる。
【0007】
(イ)さらに、CJKVとして参照される文化圏では、本来同一の表意文字を表し、またその表音特性も同一となる旧字体、新字体、異字体が存在し、例えば、「斉」、「齊」、「斎」、「齋」など、同一の表音文字で記述された姓名に対して複数の表意文字による表記が存在しうる。したがって、表音文字の同一性や表意文字の同一性、類似性を自動判断することができない。
【0008】
(ロ)上述した問題に加え、例えば日本語を、ローマ字表記する場合、「タロウ」の表音文字列に対応し、「Taro」、「Taroh」、「Tarou」など、または「トモロヲ」と「トモロオ」、「トモエ」と「トモゑ」、「トモヱ」として例示される表音表記上の揺らぎが存在する。
【0009】
(ハ)さらに、現在、大量の文字情報を処理する場合、OCRなどの光学読み取りシステムが導入され、イメージリーダなどから入力された画像を文字テンプレートなどとビット比較することにより、自動文字認識が普及している。この場合、OCRによる誤認識を考慮して、外見上類似する文字、例えば、「カ」と、「ケ」「萩」と「荻」、「富」と「冨」などの可能性を考慮する必要がある。また、これらの外観上類似した文字は、業務担当者などによる転記ミス、誤記も考慮する必要があり、表意文字および表音文字の両方を有する言語の姓名を、コンピュータを使用して自動判断することは、困難であった。
【0010】
これまで、漢字列、例えば日本語について姓名を検索する技術が種々知られている。例えば、特開平11−338859号公報(特許文献2)では、フリガナで入力される氏名をローマ字に変換して入力する氏名入力装置であって、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、該フリガナの各文字毎に、規定のローマ字変換を施す必要があるのか否かを示すフリガナ属性情報を管理する氏名辞書と、上記氏名辞書を検索することで、入力されるフリガナの指す氏名を検索するとともに、該氏名の持つフリガナ属性情報を取得する検索手段と、上記検索手段の検索する氏名の中から氏名を1つ選択する選択手段と、上記選択手段の選択する氏名の持つフリガナ属性情報の指示に従って上記規定のローマ字変換を施しつつ、入力されるフリガナをローマ字に変換する変換手段とを備えることを、特徴とする氏名入力装置を開示する。
【0011】
さらに、特開2000−251017号公報(特許文献3)では、団体または個人の名称を表わす「名称」文字列を記憶した第1記憶手段と、個人の姓名の姓を表わす「姓」文字列および名を表わす「名」文字列を、その種別を表わす種別データと共に記憶した第2記憶手段と、一般名称を表わす「一般名称」文字列をその種別を表わす種別データと共に記憶した第3記憶手段と、単語検索の照合に用いる照合用単語辞書を記憶するための第4記憶手段と、前記第1記憶手段内の「名称」文字列の構成要素が前記第2記憶手段内の文字列または前記第3記憶手段内の文字列と一致するかどうか判定し、一致条件の成立した「名称」文字列を一致先の文字列に対応する種別データと共に照合用単語辞書として前記第4記憶手段に記憶せしめる辞書生成手段と、を具備したことを特徴とする単語辞書作成装置を記載する。
【0012】
さらに、特開2007−305046号公報(特許文献4)は、漢字と前記漢字の読みを表わす表音文字とを対応させた第1
の情報を予め記憶するため
の手段と、個人の姓名を表わす漢字と前記個人のメールアドレスに含まれる第2
の情報とを取得するための取得手段と、前記第1の情報に基づいて、前記姓名を表わす漢字の読みの候補を生成するための生成手段と、前記第2の情報と前記候補とを照合した結果に基づいて、前記姓名を表わす漢字の読みを決定するための決定手段とを含む、情報処理装置を開示する。
【0013】
また、特開2004−318699号公報(特許文献5)は、入力された名義の先頭から姓辞書中の単語と前方一致するものを検索する。検索した結果、種別が法人種別や職種の場合はその時点で個人でないとして処理を終了する。種別が姓の場合、入力された名義と後方一致する単語を名辞書から検索する。次に、姓と名の区切り方の候補を1つに絞り込む。最後に、絞り込まれた解が個人かどうか判定する名義解析方法を記載している。
【0014】
さらに、特開平10−171799号公報(特許文献6)は、姓名の区切りなしに入力された個人名とフリガナに対して姓と名の区切り及び漢字1文字毎の文字区切りを付与する姓名解析方法において、姓を登録した姓辞書と、名を登録した名辞書を用いて、入力された前記姓名を姓と名に分割し、文字に対する読みを登録した文字辞書を用いて、姓または名の片方しか前記姓辞書、前記名辞書にない場合、あるいは、両方とも該姓・名辞書にない場合には、漢字1文字毎にフリガナの対応を取ることにより漢字1文字毎にフリガナを付与し、読みの多義を解消するための文字の区切り情報に基づいて解が正しいかを判定することを特徴とする姓名解析方法を記載している。
【0015】
【特許文献1】米国特許第6、963、871B1明細書
【特許文献2】特開平11−338859号公報
【特許文献3】特開2000−251017号公報
【特許文献4】特開2007−305046号公報
【特許文献5】特開2004−318699号公報
【特許文献6】特開平10−171799号公報
【非特許文献1】http://publibfp.boulder.ibm.com/epubs/pdf /c1912860.pdf
【発明の開示】
【発明が解決しようとする課題】
【0016】
特許文献2〜特許文献6は、それぞれ姓名をコンピュータにより自動的に解析する技術を開示する。しかしながら、特許文献2に記載された技術は、表音文字と表意文字との間の対応付けを操作者が実行するものであり、コンピュータが表意文字シーケンスと表音文字シーケンスとを自動的に対応付ける技術を開示するものではない。また、特許文献3に記載された技術は、類似可能性を考慮した辞書を作製する点および当該辞書を使用して顧客名を選択することを可能とするものの、類似度をどのように適用して姓名の自動選択をするかについては何ら記載するものではなく、また、表意文字と表音文字との間の対応付けを行うことを目的とするものではない。
【0017】
さらに、特許文献4は、姓名に対して使用される漢字に適用される表音文字シーケンスを、漢字に適用される頻度の最も高いものとして選択して、表意文字と表音文字との関連づけを行うものである。しかしながら、その時点で処理するべき表意文字シーケンスが、最も頻度の高い表意文字シーケンスで表されるべきか否かについては、何らの判断を行うものではない。また、特許文献4は、漢字表記の姓名とともに、メールアドレスなど姓名を示唆する情報の入力を必要とするため、消音文字と表意文字との間の対応関係について、表音文字または表意文字での姓、名、または姓名が単独で入力された場合には、表音文字と表意文字との対応関係を一義的に定めることはできない。
【0018】
さらに、姓名の誤記や転記ミス、または字体の相違などがある場合について、どの字体を使用するべきなのかについて、何ら対応するものではなく、また例えば、「高田俊:タカダタカシ」と、「高田健:タカダタケシ」との間の類似性について何ら基準を与えるものではなく、OCRにおける誤変換の可能性も含めた表意文字−表音文字変換を目的とするものではないし、表音文字シーケンスも表意文字シーケンスも異なる姓名を可能性のある候補として可能性に対応付けるものではない。
【0019】
さらに、特許文献5〜6についても、漢字と読みとを頻度に対応付けて登録し、それらの間の変換を行うものであって、出現頻度のみを使用して表意文字および表音文字の対応付けを行うものであり、入力された表意文字シーケンスまたは表音文字シーケンスに出現頻度では対応付けられない可能性のある姓名候補を生成させるものではない。
【0020】
また、特許文献1〜特許文献6に記載された技術は、姓名がインド・ヨーロッパ語、アフロ・アジア語、平仮名、カタカナ、ハングルなどを含む、いかなる表音文字で入力された場合であっても、表意文字で入力された場合であっても、最尤な表意文字シーケンスまたは表音文字シーケンスを含み、当該入力姓名の可能性がある姓名を判断することを課題とするものではない。
【0021】
すなわち、これまで、表意文字シーケンスまたは表音文字シーケンスで入力された姓名の入力に対して、最尤の姓名候補を生成するとともに、当該入力された姓名に対して他言語の表記を考慮して同一または類似する姓名候補の他、表音特性に関連して非類似の姓名を判定することが可能な技術が必要とされていた。
【課題を解決するための手段】
【0022】
本発明は、上記従来技術の課題に鑑みてなされたものであり、本発明では、情報処理装置は、人名を記述した文字シーケンスを受領して、少なくとも異なる2種の表音文字からなる姓名表記、または少なくとも2種の表音文字および表意文字を含む表記ベクトルを生成する。
【0023】
表記ベクトルの要素は、情報処理装置が管理する漢字シーケンスまたはカナ・シーケンスとそれぞれ類似度が計算され、表記ベクトルが含む複数の姓名表記について計算したスコアを含むスコア・サブマトリックスを生成する。本発明では、さらにさらにスコア・サブマトリックスについて、少なくとも複数の姓名表記間の類似度を考慮した類似スコアが計算され、当該類似スコアを、姓名を構成するフレーズについて、類似度を言語を横断的に判断した類似尺度と使用する。
【0024】
本発明では、文字シーケンスから少なくとも2種の表音文字による姓名表記が生成され、特定の実施形態では、カナ・シーケンスと、アルファベット・シーケンスとされる。文字シーケンスがカナ・シーケンスである場合には、さらに、漢字といった表意文字による姓表記または名表記が与えられる。
【0025】
スコア・サブマトリックスは、姓または名のフレーズに関して統合され、スコア付けマトリックスを構成する。本発明では、スコア付けマトリックスは、姓および名についての翻字についての尤度を判断するために使用され、スコア付けマトリックスに登録された姓および名を統合して姓名候補および姓名候補に対して同音でもなく同字でもない類似姓名候補を生成するために利用される。
【0026】
本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。
【0027】
また、表音文字シーケンスまたは表意文字シーケンスで入力された姓名に対して、多言語での尤度を判断して、目的とする表音文字シーケンスまたは表意文字シーケンスでの姓名候補を重み付けして判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【0028】
加えて、インド・ヨーロッパ語、アフロ・アジア語、日本語、中国語、韓国語、ベトナム語など多言語にわたる姓名の同一・類似判断を行い、さらに表音特性の非類似の姓名を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明を実施形態を使用して説明するが、本発明は後述する実施形態に限定されるものではない。図1は、本実施形態の情報処理システム100の機能ブロック図である。図1に示した情報処理システム100は、サーバ110と、クライアント・コンピュータ(以下、単にクライアントとして参照する。)150と、サーバ・コンピュータ(以下、単にサーバとして参照する。)110とクライアント150とを接続するネットワーク112とを含んで構成されている、クライアント150は、カナ、漢字、またはインド・ヨーロッパ語、アフロ・アジア語などで記述された姓、名、または姓名と考えられる文字シーケンスの入力を受付け、例えば、HTTPプロトコルなどを使用してサーバ110に検索要求を送付する。
【0030】
なお、用語「カナ」は、本実施形態では、カタカナ、平仮名を含む物として定義する。サーバ110は、LAN、インターネットなどを含んで構成されるネットワーク112を介して姓名照会要求を受領し、姓名生成処理を実行する。サーバ110は、受領した姓名照会要求に含まれる文字シーケンスを使用して、受領した文字シーケンスに対応する他の文字表記、例えば、カナ・シーケンスを受領した場合、インド・ヨーロッパ語の例示としてアルファベット・シーケンスおよび表意文字の例である漢字または漢字シーケンスを生成し、姓名検索のために利用する。
【0031】
サーバ110は、PENTIUM(登録商標)、PENTIUM(登録商標)互換チップなどのCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのマイクロプロセッサを使用することができ、マイクロプロセッサは、シングルコアでもマルチコアの構成のものを採用することができる。また、サーバ110が実装するオペレーティングシステム(OS)としては、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などを挙げることができる。
【0032】
また、サーバ110は、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBYなどのプログラミング言語を使用して実装される、CGI、サーブレット、APACHE、IISなどのサーバ・プログラムを実行し、ネットワーク(図示せず)を介して各種要求を処理する。なお、サーバ110は、ウェブ・サーバとして実装することもできるし、CORBA(Common Object Resource Broker Architecture)を使用した分散コンピューティングを可能とする専用サーバとすることができる。
【0033】
クライアント150は、パーソナル・コンピュータまたはワークステーションなどを使用して実装され、クライアント150が実装するマイクロプロセッサ(MPU)としては、これまで知られたいかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを挙げることができる。クライアント150は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OS(登録商標)などのOSを搭載することができる。
【0034】
また、クライアントがウェブ・クライアントとして機能する場合、Internet Explorer(登録商標)、Mozilla、Opera、Netscape(登録商標) Navigatorなどのブラウザ・ソフトウェアを使用して、HTTPプロトコルを使用してウェブ・サーバにアクセスする。その他、CORBAなどの分散コンピューティング環境を利用する場合、クライアント150は、サーバ110と相互通信するための専用クライアント・プログラムを実装することもできる。
【0035】
以下、サーバ110の機能ブロック構成について詳細に説明する。サーバ110の機能ブロックは、サーバ110が実装するRAM内にプログラムを展開し、CPUまたはMPUがプログラムを実行してサーバ110を各機能ブロックとして機能させることにより、サーバ110上に実現される機能手段である。
【0036】
サーバ110は、ネットワーク・アダプタ114と、文字シーケンス取得部116と、文字判定部118とを含んでいる。ネットワーク・アダプタ114は、姓名照会要求を受領して、TCP/IPレベルでトランザクションを処理し、本実施形態の姓名候補生成処理を実行する処理部へと姓名照会要求を渡す。文字シーケンス取得部116は、姓名照会要求に含まれる、姓表記、名表記または姓表記および名表記を含む文字シーケンスを、受信パケットのペイロードから取得し、処理対象の文字シーケンスとして適切なメモリに登録する。なお、本実施形態では、姓表記とは、名前の姓(sir Name)に対応する文字列を意味し、名表記とは、名前の名(Second Name)に対応する文字列を意味し、いずれか一方または両方を含む可能性のある文字シーケンスについては、姓名表記として参照する。
【0037】
文字判定部118は、登録した文字シーケンスを構成する文字を解析し、文字シーケンスが、例えば、カタカナ、平仮名、漢字、アルファベットであるか否かを判断する。なお、文字の解析は、文字コードを判定することにより実行することができ、SJIS、GB、UNICODEなどいずれのコード体系でも使用することができる。しかしながら、グローバルな姓名検索を実行する上で、UNICODEを使用することが、判断するべき文字種に適切に対応でき、以下、文字コードの比較を実行する場合、UNICODE(UNICODE2.0など)を使用して比較を実行するものとする。文字判定部118は、受領した文字シーケンスの文字判定を実行した後、受領した文字シーケンスの言語圏を特定し、以後の処理に使用する。
【0038】
さらに、サーバ110は、他表記取得部120と、類似度計算部122と、類似スコア計算部124とを含んで実装されている。他表記取得部120は、受領した文字シーケンスを判断し、受領した文字シーケンスがカナであると判断した場合、本実施形態では、翻字処理を実行し、アルファベットおよび漢字表記を取得する。アルファベット表記には、ヘボン式、訓令式、ISO3602などのローマ字およびインド・ヨーロッパ語圏の姓または名を含む。なお、本実施形態では、情報処理システム100の特定の目的に応じて、アルファベット以外でもギリシャ文字、キリル文字、アラビア文字などの他表記を取得することができる。
【0039】
例えば、他表記取得部120は、文字シーケンスがカナ・シーケンスであると判断した場合、表音文字変換テーブル130を参照し、文字シーケンスを、受領した文字シーケンスに対応する表意文字、より具体的な実施形態では、漢字に変換する本意処理を実行する。表音文字変換テーブル130は、姓および名を端意図し、可能性のあるカナ表記に対して漢字表記を対応付けて登録する姓名辞書として構成することができる。
【0040】
さらに本実施形態の表音文字変換テーブル130は、人名に使用される可能性のある漢字を、文化圏によらずに登録し、表音文字−表意文字対応テーブルの他、対応する表意文字が帰属される可能性のある文化圏判断データを含んで構成されている。例えば、入力された文字シーケンスが、「ハリ」である場合、他表記取得部120は、表音文字変換テーブル130を参照して、人名漢字として、「張」を取得し、文化圏判断データを参照し、当該「張」が、日本語圏、中国語圏、朝鮮語圏に帰属される可能性があることを示すコードを生成し、漢字に割当てることもできる。
【0041】
さらに、他表記取得部120は、受領した文字シーケンスがカナである場合、漢字を取得する他、アルファベット・シーケンスを生成する。この処理は、文字シーケンスがカナである場合、隠れマルコフモデルを使用したカナ−アルファベット変換により実行され、また、文字シーケンスが、漢字コードであると判断された場合には、表音文字変換テーブル130の逆検索を実行して、カナ表記を取得し、カナ表記をアルファベット変換することにより、{カナ、アルファベット、漢字}の表記ベクトルとして文字シーケンスを登録する。
【0042】
さらに、文字シーケンスがアルファベットである場合、サーバ110は、漢字への変換処理を実行せず、表記ベクトルの{漢字}フィールドをブランクのままとして表記ベクトルを生成する。文字シーケンスがアルファベットである場合のカナ表記の生成は、後述する遷移確率テーブルを生成する際に使用するアルファベット−カナ対応テーブルを参照し、アルファベット・シーケンスに対応するカナが検索できる範囲で変換を行うことができる。また、後述する隠れマルコフモデルを使用してカナを目的系列として処理することで、生成することができる。
【0043】
なお、文字シーケンスとしてアルファベット・シーケンスが入力された場合には、類似度は、GNR処理によって計算するので、カナ、漢字が全く生成されなくとも類似度を使用する処理は、不都合なく実行できる。
【0044】
他表記取得部120において、文字シーケンスについて対応する可能性のある表記ベクトルのセットが取得された後、表記ベクトルは、類似度計算部122に渡される。類似度計算部122は、複数の方法を使用して、表記ベクトルに含まれるアルファベット、カナ、漢字についてそれぞれ類似度のスコアを計算する。
【0045】
表記ベクトルが含む文字種類のうち、漢字の類似度は、表音文字変換テーブル130などを参照して、表記ベクトルが含む漢字と、表音文字変換テーブルに登録された文字コードとが一致しているか否かを使用して行うことができ、例えば、文字コードが完全に一致している場合、1.0を与え、完全に一致していない場合、0を与えるバイナリ基準値を付して行うことができる。
【0046】
さらに、サーバ110は、同音異字、同字異音、または同音でもなく同字でもないが、転記ミス、OCRによる変換ミスなどを含む類似姓名候補を生成するために、類似モデル・テーブル132と、異字体テーブル134と、同一・非類似漢字テーブル136とを管理する。上述した類似モデル・テーブル132、異字体テーブル134は、漢字の同一・非類似について、2値基準値以外の、異字体やエラー誘因性を考慮して0〜1までの多値基準値を提供するためにも利用することができる。
【0047】
類似度計算部122は、アルファベット・シーケンスについての類似度についても取得する。類似度計算部122は、アルファベット・シーケンスの類似度を計算する場合、アルファベット・シーケンスを抽出し、特定の実施形態では、サーバ110の処理部として構成されたGNR処理部160に渡し、GNR処理部160が登録するアルファベット名との類似度を取得する。なお、GNR処理部160が実行する類似度判定処理については、例えば特許文献1および非特許文献1にその詳細が開示された方法を使用することができる。
【0048】
なお、他の実施形態では、GNR処理部160ではなく、GNR処理部160を、GNR処理を専ら実行するGNRサーバ140として構成することができる。この場合、類似度計算部122は、類似度を判定するべきアルファベット・シーケンスをネットワーク112を介してGNRサーバ140に送付し、GNRサーバ140からの応答として類似度を取得する。
【0049】
さらに類似度計算部122は、カナ・シーケンスとカナ・シーケンスとの間の類似度を計算する。この目的のため、類似度計算部122は、表記ベクトルからカナ・シーケンスのコードを抽出し、表音文字変換テーブル130に登録されたカナ・シーケンスとの比較を実行する。さらに他の実施形態では、カナ・シーケンスから生成されたアルファベット・シーケンスを、GNR処理部160やGNRサーバ140に送付し、GNR処理により提供される類似度の値を取得してカナ・シーケンスについての類似度を取得することができる。
【0050】
カナ・シーケンスの比較を実行する場合、類似度判断部122は、文字シーケンスが含む文字列を、表音文字変換テーブル130を参照して可能性のある参照カナ・シーケンスを生成する。例えば、文字シーケンスとして、「タケシ」が入力された場合、対応付けられる漢字「健」を抽出し、各漢字コードに対応付けられたカナ・シーケンスである「ケン」を抽出し、参照カナ・シーケンスとして生成する。そして、類似度判断部122は、生成された「ケン」を他表記取得部120に渡し、対応するアルファベット・シーケンスである「Ken」を生成し、対象シーケンスと参照シーケンスとのスコア計算を可能とする。
【0051】
その後、対象カナ・シーケンスのコードを参照カナ・シーケンスのコードに対し、逐次フォーワード比較などを使用して実行し、文字コードの一致/不一致に対応して例えば(一致した文字コード総数)/(対象カナ・シーケンスおよび参照カナ・シーケンスの文字コード総数)などとしてスコアを計算する。計算された各スコアのセットは、スコア・サブマトリックスとして登録される。
【0052】
なお、本実施形態で、漢字、カナなど対応する文字コードが発見できなかった場合については、例えばOCRなどで使用されるように、イメージデータなどとして文字テンプレートを用意しておき、カナまたは漢字に対して文字テンプレートなどとのビットマップ比較を実行して、その類似度を判定することができる。類似度計算部122は、他表記取得部120が生成した参照表記ベクトルの全セットについてスコア・ベクトルを生成し、RAM、L2キャッシュ、L3キャッシュなどの適切なメモリに格納する。
【0053】
サーバ110は、さらに類似スコア計算部124と、姓名候補生成部126とを含んでいる。類似度計算部122が生成したスコア・サブマトリックスは、表記ベクトルと対応付けられて、類似スコア計算部124に送付される。類似スコア計算部124は、受領したサブスコア・マトリックスを、姓または名を構成するフレーズ単位で登録し、スコア付けマトリックスを生成する。説明している実施形態では、スコア付けマトリックスは、3×3のスコア・サブマトリックスが1セットとして登録され、姓について抽出したスコア・サブマトリックスと名について抽出したスコア・サブマトリックスとが姓−名など。設定された順で配置された正方行列として定義される。
【0054】
その後、類似スコア計算部124は、生成したスコア・サブマトリックスの各要素値を使用して類似スコアを計算する。類似スコアの計算は、スコア・ベクトルの要素と、適切な重みベクトルとを使用する内積計算または、設定されたルールに従って要素を抽出して計算することで取得することができ、その処理については、より詳細に後述する。
【0055】
また、サーバ110は、サーバ110の独立した処理部または後述する姓名候補生成部126の機能モジュールとして実装された姓名類似度計算部128を含んでいる。姓名類似度計算部128は、類似スコア計算部124が生成した姓名候補のうち、合計類似スコアの最大の姓名候補、または他の実施形態ではトップ10の姓名候補を抽出し、抽出された姓名候補について異体字または外観が類似するだけで、表音特性が全く異なる姓名候補を、類似姓名候補として生成する。
【0056】
姓名候補生成部126は、姓名類似度計算部128の出力を受領して、受領した文字シーケンスに対応する姓名候補または類似姓名候補を含む姓名候補リストを生成し、テーブル形式として、クライアント150に返す処理を実行する。
【0057】
この段階での姓名候補リストは、類似判断基準に対応して同音異字・同字異音の姓名まで考慮することができ、特定の用途に対しては充分な結果を提供することができる。さらに、姓名候補生成部126が、そのモジュールとして姓名類似度計算部128を含んで構成される場合、姓名類似度計算部128は、姓名候補リストの中から合計類似スコアの高い姓名候補について、異字体および外観的に類似し、転記ミス、認識ミス、誤記などの可能性のある姓名候補を生成し、姓名候補リストに追加することができる。
【0058】
さらに他の実施形態では、姓名類似度計算部128を、サーバ110の独立した処理部として実装することができる。説明する当該他の実施形態では、姓名類似度計算部128は、類似スコア計算部124からの漢字での姓名またはクライアント150から送付された漢字を受領し、異体字または外観上類似する可能性のある姓名候補を生成し、クライアント150に類似指標値とともに返す処理を実行する。なお、本実施形態の処理については、当業者により実施できるように、より詳細に後述するが、特願2008−117538号明細書(IBMアトーニードケット番号:JP9080054)、特願2008−141209号明細書(IBMアトーニードケット番号:JP9080081)、および特願2008−168087号明細書(IBMアトーニードケット番号:JP9080115)の記載は、本明細書の一部を構成するものとして全部を含めることができる。
【0059】
図2は、本実施形態のサーバ110が実行する類似度生成のための処理シーケンス200を説明する図である。クライアント150から入力される可能性のある文字シーケンスは、特定の用途に対応しアルファベット、カナ、漢字のいずれかの可能性がある。また、さらに他の実施形態ではアラビア語などアフロ・アジア語圏の文字列の可能性もある。サーバ110は、クライアントから受領した文字シーケンスについて文字コードを判定し、自己以外の文字コードで表現される他表記、例えば、文字シーケンスがカナ210である場合、アルファベット・シーケンス230および漢字220を生成し、類似度計算部122に送付する。
【0060】
類似度計算部122は、アルファベット・シーケンス230については、ボックス240で示すように、GNR類似検索240を呼び出して処理を依頼する。また、カナ・シーケンス210については、アルファベット・シーケンスへの変換後、ボックス250で示すように、GNR類似検索を実行することもできるし、カナ−カナの文字コード比較を行うこともできるし、さらに他の実施形態では、文字テンプレートとのビットマップ比較を適用することができる。
【0061】
漢字220の場合、ボックス260で示すように、文字コード同士の比較による2値基準値を与えることもできるし、図1に示した各テーブル132、134、136を使用し、コスト値から類似度を示すスコアを計算することもできる。さらにボックス260で示すように、文字コードの比較ができない場合などについては、文字テンプレートなどを使用するビットマップ比較を行うことにより類似度判断を行うことができる。図2に示した処理シーケンス200を使用することにより、クライアント150から受領する文字シーケンスによらず、適切な類似計算処理を使用して効率的で精度の高い姓名検索を実行することができる。
【0062】
図3は、本実施形態の姓名候補を生成する情報処理方法のフローチャートを示す。図3に示した処理は、ステップS300から開始し、ステップS301で、クライアント150から文字シーケンスを受領する。ステップS302で、受領した文字コードの文字コード判定を実行する。説明する実施形態では、漢字、カナ、アルファベットのいずれかを判断するものとしているが、その他ハングル、アラビア語、ギリシャ語、キリル語など受領するべき文字シーケンスは、姓名候補生成の目的および用途に対応して特に制限されるものではない。
【0063】
ステップS303では、他表記を取得して、漢字、カタカナ、アルファベットの表記ベクトルとして登録し、ない表記、例えば、文字シーケンスがアルファベット表記の場合、アルファベット・シーケンスから漢字を生成することなく、漢字に対応する要素は、ブランクのままとする。ステップS304では、文字シーケンスの文字種類を判断し、漢字、アルファベット(カナ)、またはカナを判断する。文字シーケンスが漢字である場合、ステップS310に処理を渡し、カナである場合には、採用する処理シーケンスに対応して、ステップS305、またはステップS309に処理を渡す。
【0064】
また、文字シーケンスがアルファベットの場合には、処理をステップS306に渡す。ステップS305では、カナ・シーケンスをアルファベット変換し、アルファベット・シーケンスをステップS306に渡し、GNR処理部140または160に送付する。ステップS307では、GNR処理部140または160から類似度を受領して処理をステップS308に渡す処理を実行する。
【0065】
一方、ステップS309では、漢字同士の文字コード比較を行うか、または文字テンプレートとのビットマップ比較を実行し、その類似判断による類似度をステップS308に渡す。ステップS308では、文字シーケンスの文化圏に対応し、少なくとも2表記についての類似度を使用して、スコアを計算する。この理由は、例えばクライアント150から受領した文字シーケンスがアルファベットである場合、強制的に漢字に変換せず、表記ベクトルの漢字のフィールドがブランクのままとされるためである。さらにステップS308では、計算したスコアから、スコア・サブマトリックスについての類似性の指標を与える類似スコアを計算して姓名候補の抽出を可能とさせ、姓名候補リストを生成する。姓名候補リストの生成が終了した段階で、処理をステップS310に渡し、処理を終了させる。
【0066】
図3の処理によって、クライアント150のユーザは、入力した文字シーケンスに対応する姓名候補を、その確からしさとともに取得することが可能となり、文字シーケンスから、どのような姓名が候補とされるのかについて判断することが可能となる。
【0067】
図4は、本実施形態の他表記取得部120が実行するカナ−アルファベット変換処理のフローチャートを示す。図4の処理は、ステップS400から開始し、ステップS401でカナ・シーケンスを受領する。ステップS402でカナ・シーケンスを音素分解する。音素分解は、表音文字の音に対応して行われ、長音、促音については、直前の音素に含ませたものとする。例えばカナ・シーケンス=「インフォマーション」の場合、音素分解は、「イ」+「ン」+「フォ」+「メー」+「ショ」+「ン」とされる。
【0068】
ステップS403では、音素分解の結果に遷移確率モデルを使用して変換尤度χを計算し、ステップS404では、変換尤度χの最も高いアルファベット・シーケンスを取得する。なお、遷移確率モデルは、音素および音素シーケンスを解析し、カナを観測系列とし、アルファベットを目的系列とする隠れマルコフモデルを適用するため、言語解析によって与えることができる。ステップS405では、アルファベット変換結果を類似度計算部122に渡して類似度計算を依頼し、ステップS406で処理を終了させる。
【0069】
図5は、図4で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図を示す。変換対象の文字シーケンスは、「インフォメーション」であり、他表記取得部120は、音素ごとに音素−音素の遷移確率πiと、音素間の遷移確率pijとを遷移確率テーブルとして登録し、カナ−アルファベット変換を適用する。変換尤度は、図5に示されるように、対数尤度で与えられ、各対数尤度を、音素にわたり積算し、下記式(1)で与えられる変換尤度χを使用して計算し、変換尤度の最も高いアルファベットが類似度計算部122へと出力される。
【0070】
【数1】
【0071】
図6は、図1で説明した、類似モデル・テーブル132、異字体テーブル134、同一・非類似漢字テーブル136の実施形態を示す。図6に示した値は、対応付けられる漢字が類似するものとして判定することのリスクに対応したコストである。図6に示した各テーブルは、姓名類似度計算部128が類似姓名候補を抽出する差異の経路コストを計算するために使用される。
【0072】
また、他の実施形態では、類似モデル・テーブル132および異字体テーブル134は、類似度計算部122が漢字相互の類似度に関する多値基準値を計算するためにも適用することができる。この場合、例えば、図6に示したコストの値を使用して、漢字の類似度についてのスコアを、スコア=1/(コスト+α)(αは、コストの最小値よりも小さくアンダーフロー・オーバーフローを回避することができる適切な定数である。)で与えることもできる。なお、多値基準値を与えるため、さらに適切ないかなる別の定式化を使用してもよい。さらに、図6に示した実施形態では、各テーブル132、134、136は、一体化された単一のテーブルとして構成されているが、それぞれのテーブルを個別に作製し、登録しておくことができる。
【0073】
図6のテーブルのうち、テーブル610の非対角要素が同一・非類似漢字テーブル136の非類似コストを登録する領域であり、テーブル620の非対角要素が異字体テーブル134に対応する。また、テーブル630の非対角要素は、外観上類似する漢字を登録する類似モデル・テーブル132に対応する領域である。図6に示した実施形態は、データ構造を明示的に説明するため、同一・非類似漢字についてのコストまで登録するものとして示す。そして、図6のテーブルの対角要素が、同一・非類似漢字テーブル136の同一テーブルに対応する。
【0074】
図6は説明の目的で全エントリについてコスト値を登録するものとして説明する。本実施形態の好ましい実施形態では、類似モデル・テーブル132および異字体テーブル134のみを陽に実装させ、同一・非類似漢字テーブル136に相当するコストは、テーブルのデータ量を削減するため、プログラムにおける固定値などとして設定し、テーブルのために消費するメモリを削減することもできる。当該実施形態の場合、サーバ110は、同一・非類似の漢字について、類似モデル・テーブル132および異字体テーブル134に登録されていないことに基づいて同一・非類似と判断し、処理を実行することができる。
【0075】
また、漢字同士が非類似である場合、コストとしては、2が割当てられ、漢字同士が同一の場合コストは0とされている。また、外観的に類似する漢字は、転記ミス、誤記、OCR変換ミスなどを発生させる可能性が高いことから、当該変換に幅がある。このため、「萩」と「荻」については、完全に異なるわけではなく誤記、OCRによる変換ミスの可能性があり、また表音特性も類似しているので、コスト=0.3が与えられている。一方、漢字「朋」と、「明」については、外観上類似するものの、表音特性が全く異なるため、外観類似であってもより高いコスト=0.4が与えられている。
【0076】
また、「富」と「冨」、「高」と、「▲高▼」(鍋ぶたの下は、縦線2本の間に横線2本)、「斉」、「齊」などについては、略記されがちな異字体として、コスト=0.1が割当てられている。
【0077】
図7は、本実施形態で、サーバ110が入力される可能性のある文字シーケンスに対応するスコア・サブマトリックス700の実施形態を示す。行が他表記取得部120が生成した表記ベクトルに対応するスコア・ベクトルであり、図7に示した実施形態では、要素値{Takeshi、タケシ、健}とされる。列は、類似度計算部122がスコア計算を実行する際に表音文字変換テーブル130から抽出したカナ・シーケンスおよび漢字に対応して計算されたスコアである。
【0078】
例えば、漢字「健」の場合には、カナ「ケン」、「タケシ」が割当てられ、この結果、スコア・ベクトルは、{Takeshi、タケシ、健}と{Ken、ケン、健}の参照表記ベクトルが生成され、スコア・サブマトリックス710が生成されている。スコア・サブマトリックス710は、アルファベット・シーケンスおよびカナ・シーケンスが不一致なので、一致度=0が与えられている。また、漢字については、漢字「健」の文字コードに対して登録されている読みの範囲で一致し、アルファベット変換でも生成される範囲なので、一致度=1.0が与えられている。
【0079】
一方、スコア・サブマトリックス720は、サーバ110が文字シーケンスとしてアルファベットを受領した場合のスコア・サブマトリックス720の実施形態を示す。スコア・サブマトリックス720は、サーバ110が文字シーケンスとして「James」を受領した場合である。スコア・サブマトリックス720では、アルファベット・シーケンスに対応するカナ・シーケンスである「ジェームズ」が見出されたことにより、表記ベクトルは、{James、ジェームズ、null}として生成されている。
【0080】
この場合、参照表記ベクトルについては、説明している実施形態では、アルファベット・シーケンス「James」に対してカナ・シーケンス「ジェームズ」しか登録されていないので、アルファベット、カナの両方の一致度について一致度=1.0が割当てられ、漢字との類似度については、漢字がブランク(null)のままとされているので、一致度もブランク(null)のままとされている。
【0081】
そして、スコア・サブマトリックス730は、サーバ110が、文字シーケンスとして漢字の「毛」を受領した場合の実施形態を示す。漢字「毛」に対しては、「モウ」、「ケ」、「ゲ」、「マオ」などがカナとして登録されている。一方、アルファベット変換処理では、Mou、Mao、Ge、Keなどが抽出される。この場合、例示したスコア・サブマトリックス730では、漢字については、常に一致度=1.0が割当てられ、その他については、対応するアルファベット、カナを含む表記ベクトルと参照表記ベクトルとから生成したスコア・サブマトリックスでない限り、一致度=0が与えられる。
【0082】
さらに、本実施形態では、スコア・サブマトリックス710、720、730には、それぞれ類似スコアを計算し、スコア・サブマトリックス全体の類似度を生成する。図8は、類似スコアを計算する場合の各表記に対応するスコアの割当てを説明するための、割当てマップ800を示す。類似度は、本実施形態では、単純に各スコアの平均値として算出することができる。しかしながら、各表記に対応して、姓名について特有の判断を実行することができることに着目し、本実施形態では、要素ごとに異なる処理を使用して類似スコアを生成することができる。第1の実施形態では、スコア・サブマトリックスから類似度ベクトルを生成する方法である。
【0083】
類似度ベクトルは、スコア・ベクトルの要素を、設定された順に抽出し、例えば説明する実施形態では、下記式(2)で与えられる。
【0084】
【数2】
また、本実施形態では、各要素値の割当てマップ800の位置に対応して重み付けが与えられ、S1,...,S9にそれぞれ対応して、W1,...,W9が与えられ、重みベクトルについては、下記式(3)で与えられる。
【0085】
【数3】
スコア・サブマトリックス全体としての類似スコアは、各ベクトルの内積を使用して、下記式(4)で与えることができる
【0086】
【数4】
【0087】
重み付けの値は、例えばカナ−カナ一致、カナ−漢字一致、アルファベット−
カナ一致を重要視する場合など、特定の用途に応じて適宜設定することができ、例えば、日本人について、カナ表記での姓名一致候補を生成する場合には、S5の重みを高くし、カナ−カナ一致およびカナ−漢字一致の姓名候補を生成する場合には、S5、S6、S8、およびS9の重みを高くする。一方、アルファベット−アルファベット一致およびアルファベット−カナ一致を重要視するべき外国人の場合については、S1、S2、S4の重み付けを高く設定することができ、適宜目的とする姓名候補の生成に対応して、システム設定またはユーザ選択により設定することができる。
【0088】
以下、スコア・サブマトリックス710、720、730の類似スコアの計算は、他の方法を使用しても計算することができる。以下に他の実施形態の説明を行うが、要素割当てのマッピングは、図8に示すとおりである。特に日本人と、中華民族、朝鮮民族を含む外国人の相違は、カナ表記と漢字表記の一致・不一致に依存する。
【0089】
このため、スコア・サブマトリックスの全体の類似スコアを計算せずに、各要素値の特徴を反映する要素を判断し、文化圏判定を可能とする類似スコアを生成することができる。例えば、上述したように、漢字表記との対応関係を含むS5、S6、S8、S9の各要素値が特徴値となる。このため、各要素値に対してしきい値THjを設定しておき、S8、S9の類似度がいずれもしきい値THjを超えた場合、日本人と判定し、類似スコアを計算する。
【0090】
さらに、類似スコアを計算する第2の実施形態では、外国人、特にインド・ヨーロッパ語圏の民族やアフロ・アフリカ語族に関連する文字シーケンスについては漢字表記を生成しないことに着目し、文化圏の判断を可能とするものである。例えば、図8中、S3、S7がnullの場合には、日本、中国、台湾、韓国、ベトナム、マレーシアなど日本民族、中国民族や朝鮮民族を除く外国人用の類似スコアを計算する。そして、漢字−漢字の類似性が設定したしきい値THkより高く、カナ−カナの類似度が、設定したしきい値THcよりも低い場合には、中国・朝鮮民族の類似スコアを計算させることができる。下記式(5)に、上記判断を使用する場合の処理のための疑似コードを記載する。
【0091】
【数5】
【0092】
なお、上記式中、cult_categoryは、文化圏識別値を設定する文化圏識別変数である。サーバ110は、処理の実装形式に対応して、cult_categoryの値を他の処理部に渡し、文化圏識別処理を実行させることができる。さらに他の実施形態では、名前尤度・国字、アクサンデキュ、ウムラウトなど文化圏に特徴的な文字を検出して実行される文化圏判断の結果を補助情報として使用し、類似スコアの計算処理を変更することもできる。
【0093】
図9は、スコア・サブマトリックスを部分マトリックスとして構成される、スコア付けマトリックス900の実施形態を示す。スコア・サブマトリックスは、サーバ110が適切な辞書などを参照して生成する姓または名を構成し、GNRサーバ140またはGNR処理部160が処理可能なフレーズを単位として構成されている。スコア付けマトリックス900は、評価対象の姓・名などのフレーズとして可能性のあるスコア・サブマトリックスを、文字シーケンスの認識順に配列させて生成される。
【0094】
特定の文字またはフレーズに対する類似スコアは、スコア付けマトリックス900の例えば、スコア・サブマトリックス910の3×3要素を使用し、上記式(4)または(5)を使用して計算することができる。なお、3×3のスコア・サブマトリックスの位置を示すため、スコア・サブマトリックスを、(Namei,Namej)として参照し、フレーズの単位を、図9では、Name1、Name2、Name3、・・・として示す。上記表記中、Name1は、姓「齊籐」に対応し、Name2は、姓「斎藤」に対応し、Name3は、例えば「西藤」などに対応する。さらに、名についても同様なシーケンスでスコア付けマトリックス900に登録することもできるし、他の実施形態では、名用のスコア付けマトリックスを別に生成し、同洋書方法で類似判断を実行することができる。なお、受領する文字シーケンスがアルファベットの場合、Name1の単位として「James」を使用することができる。
【0095】
本実施形態の図9に示した実施形態では、スコア・サブマトリックス910に隣接する (Namei,Namej±1)で示されるスコア・サブマトリックスおよびスコア・サブマトリックスの部分要素920および930を使用して、姓名シーケンスの文化圏判断などの一貫性を判断することができる。すなわち、部分要素920、930は、図8のS2、S3、S6に対応する要素値に対応する、上記式(4)および(5)に示すように、S2のカナ−アルファベット類似度および、S3、S6の漢字−カナ対応付けの類似度は、例えば姓目シーケンスを生成する場合の類似度のみではない結合処理を可能とし、より精度の高い姓名候補を生成させることができる。
【0096】
図9に示したスコア付けマトリックス900に関して、上記式(4)または(5)を使用し、スコア・サブマトリックス(Namei,Namej)についての類似スコアの高い順に例えばトップ3などの姓および名に対応するフレーズを抽出し、姓フレーズと名フレーズとを連結して、合計類似スコアを生成し、合計類似スコアが最高姓名候補、または合計類似スコアのトップK(Kは、正の整数である。)を抽出し、結果リストに登録する。サーバ110は、この段階で、姓名候補リストとして、クライアント150に渡すこともできる。
【0097】
さらに、図9に示したスコア付けマトリックス900を使用することにより、姓名が同一人物を示すか否かについての判断についても可能とされる。例えばカナ・シーケンスが相違する場合であっても、同一漢字シーケンスに類似する場合には、本来的に別人物である確率Pr(カナ・シーケンス1|カナ・シーケンス2)を統計的に決定しておき、同一人物である確率(1−Pr)を付して姓名候補を表示することもできる。
【0098】
本実施形態では、さらに、略記、転記ミス、OCRによる誤認識の可能性を含む姓名候補を生成し、姓名候補リストに追加する構成を採用することができる。この姓名候補は、同音でもなく同字でもない姓名候補を生成させることができる実施形態である。本実施形態では、記載時に略記される可能性が高かったり、転記ミスを生じさせやすかったり、OCRの誤認識の可能性のある姓名候補となる姓名シーケンスを生成させる。
【0099】
図10は、本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャートである。図10の処理は、ステップS1000から開始する。なお、処理は姓名シーケンスを構成するフレーズではなく、漢字ごとについて文字シーケンスの先頭から末尾まで順に判定してゆくものとするが、当該判定は、逆順でもかまわない。ステップS1001では、先頭から末尾まで姓名シーケンスを構成する漢字をチェックし、図6に示したテーブルを参照し、姓名シーケンスが含む漢字について、異字体テーブル134および類似モデル・テーブル132を参照して、参照姓名候補を生成し経路マップを生成する。
【0100】
この際、参照姓名候補は、姓名候補として生成された姓名が含む漢字を含む可能性のある姓および名を網羅的に抽出し、抽出された姓名に関して図6のテーブルを参照して異体字や外観において類似する可能性のある漢字で、類似する漢字を置換した姓名を類似姓名候補として設定することができる。具体的には、姓=「萩原」には、「萩原」の他、「萩野」、「萩」などの姓が想定でき、外観で類似し、誤りを考慮すれば、「荻原」、「荻野」、「荻」などが可能性のある候補とされる。なお、姓名候補と、参照姓名候補との間で対応付けできない漢字がある場合、例えば、「萩原」に対して「伯耆原」など、適切な大数を設定し、コストを高めることで、類似姓名候補から排除することができる。
【0101】
図10の処理について、具体的な姓名シーケンスを使用して説明すると、図9で説明した類似スコアの最も高い姓名シーケンスが、「荻野明▲高▼」であり、ステップS1001で「萩原朋高」が生成された場合について具体的に説明する。なお、姓名シーケンス「荻原朋高」については、「荻」、「明」と「萩」、「朋」が類似モデル・テーブル132で設定したしきい値以下のコスト(それぞれ0.3、0.4)で類似し、「高」と「▲高▼」とは、異字体として、コスト=0.1が割当てられ、設定したしきい値以下の値を有しているので、姓名候補として生成される。
【0102】
また、姓=「萩野」に対しては、姓=「荻野」、「萩原」が抽出され、漢字「野」と「原」とは類似でもなく、異字体でもないので、コスト=2.0が割当てられている。なお、上述したコストについてのしきい値は、特定の用途、精度、および処理効率を考慮して適宜設定でき、概して低くしすぎると類似姓名候補が制限されることから、姓名候補の列挙精度が低下し、高くしすぎると処理効率が低下する。
【0103】
姓名候補の「荻野明▲高▼」と、生成された「萩原朋高」について、配列順位ステップS1001で、同一漢字か否かを文字コードを比較することにより、判断し、同一漢字でない場合(no)処理をステップS1002に渡す。また、同一漢字であれば、コスト=0に設定し、処理をステップS1002に渡す。ステップS1002では、処理中の漢字が異体字であるか否かを判断する。異体字でもない場合(no)、処理をステップS1003に渡し、異体字である場合(yes)、ステップS1008で、異体字テーブル134をルックアップして、コストを取得し、処理をステップS1003に渡す。ステップS1003では、比較対象の文字が外観的に類似し、転記ミスや、誤記、または誤認識を生成させるエントリとして登録されているか否かを判断する。
【0104】
処理中の漢字が、当該エントリに登録されていなければ、処理をステップS1005に渡し、登録されている場合(yes)には、ステップS1009で、類似モデル・テーブル132をルックアップして登録されたコストを取得し処理をステップS1005に渡す。ステップS1005では、登録されたコストを経路マップに沿って総和して、経路コストを計算し、コストの最も低い姓名シーケンスを選択して姓名候補に対して類似する類似姓名候補として登録し、ステップS1006で処理を終了させる。なお、他の実施形態では、登録した類似姓名候補は、姓名候補生成部126へと送付され、図3で説明した処理で生成された姓名候補に対する追加情報として、姓名候補リストに追加する。
【0105】
図11は、図10の処理で使用する経路コスト計算処理1100の実施形態を示す。図11に示した経路マップ1110は、列方向が、図9で説明した処理によって抽出された姓名候補であり、行方向が、図10に説明した処理で生成された類似姓名候補の姓名シーケンスである。漢字「萩」、「荻」の間のコストは、図6に示すように、0.3であり、音は似ているが、「原」と、「野」は、説明する実施形態では、非類似であるため、経路マップ1110の矩形の辺を通過する。なお。矩形の片については、経路コスト=1.0を与え、図6のテーブルとの対応付けを可能とする。また、漢字「明」と「朋」については、0.4として設定され、漢字「高」と「▲高▼」については、異字体であることから、コスト=0.1が割当てられている。
【0106】
図11に示した経路マップでは、設定された閾値以下のコストが登録されている場合には、対角線上の経路を進行して最小コスト経路1120に沿った経路コストが計算される。一方、設定されたしきい値以下のコストが登録されていない場合には、対角線の端点を連結する矩形の辺を進行し、漢字列が全く一致していない場合には、最大コスト経路1130で示されるように、最外辺のみを通過する。このため、先頭文字から最終文字まで漢字の類似性に関連して経路を選択してコストの累積計算を実行させることで、経路コスト=2.8が与えられる。なお、当該経路コストは、姓名の類似性を示す類似指標値として使用することができる。
【0107】
なお、姓名候補と参照姓名候補とが文字数が異なる場合、対応付け不能な文字が検出された段階で大数で与えられるコストを割当て、類似姓名候補から排除されるようにすることで、「伯耆原」などの候補を除外することができる。なお、経路コストは、説明している実施形態では、低コストの方がより尤度の高い姓名候補となるので、生成された姓名候補のうち、例えば設定したしきい値以下のコストを有する類似姓名候補を、姓名候補リストに追加し、最終的な結果リストを構成する。
【0108】
なお、図11に示した実施形態では、図6のテーブルを使用して対応付けする類似姓名候補および経路マップ1100を予め生成し、経路コストを計算するものとして説明した。さらに他の実施形態では、漢字−漢字間に誤記や転記ミスを生じさせる遷移確率を割当て、Vitabiアルゴリズムを使用して列方向に登録された姓名候補と、行方向に登録された姓名候補との間の経路探索を実行し、対数尤度の最小となる経路を与える姓名候補を、類似姓名候補として生成し、結果リストに追加することができる。
【0109】
また、図10および図11に示した処理は、サーバ110の姓名候補生成部126のモジュールとして構成する他、姓名類似度を判断する姓名類似度計算部128とそして独立した処理部として構成することができる。姓名類似度判断部128は、漢字シーケンスを受領して、各処理を実行した後、受領した漢字文字シーケンスを図11の列に設定し、類似する姓名候補を生成して、行に設定して経路コストを計算し、その結果をクアライアント150に返すことができる。
【0110】
図12は、漢字シーケンスの入力を行う場合のGUI1200を示す。例えば、クライアント150は、サーバ110から姓名候補のリストを受領して、可能性のある姓名候補が他にないかどうかを知ることを希望する場合もある。このような場合、クライアント150は、図12に示したGUI1200を表示させ、対象とするべき漢字シーケンスを入力し、可能性のある姓名候補を取得することができる。
【0111】
図12に示したGUI1200には、表示ウィンドウ1210内に、漢字文字列類似度判定を行うためのGUIであることの表示1220が表示されている。クライアントのユーザは、入力フィールド1230に対象とする漢字シーケンスを入力し、「OK」ボタンをクリックしてサーバ110に漢字シーケンスを送付する。サーバは、上述した処理を適用してクライアント150から送付された姓名=「萩野明▲高▼」に類似する類似姓名候補を生成し、そのリストを、類似候補リスト1250としてクライアントに返す構成とすることができる。
【0112】
なお、姓名類似度計算部128を、姓名候補生成部126のモジュールとして構成するか、または独立した処理部として構成するかについては、特定の用途における目的に応じて適宜選択してサーバ110に実装することができる。
【0113】
さらに、表意文字シーケンスまたは表音文字シーケンスの姓、名、または姓名の入力のみで、表音特性に関連して同一または類似する姓名候補の他、表音特性に関して非類似の姓名候補を、CJKVおよびインド・ヨーロッパ語など多言語を考慮して類似性を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【0114】
以上、本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。
【0115】
本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【0116】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0117】
【図1】本実施形態の情報処理システム100の機能ブロック図。
【図2】本実施形態のサーバ110が実行する類似度生成のための処理シーケンス200を説明する図。
【図3】本実施形態の姓名候補を生成する情報処理方法のフローチャート。
【図4】本実施形態の他表記取得部120が実行するカナ−アルファベット変換処理のフローチャート。
【図5】図4で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図。
【図6】図1で説明した、類似モデル・テーブル132、異字体テーブル134、同一・非類似漢字テーブル136の実施形態を示した図。
【図7】本実施形態で、サーバ110が入力される可能性のある文字シーケンスに対応する表記ベクトルを使用した、スコア・サブマトリックス700の実施形態を示した図。
【図8】類似スコアを計算する場合に作製する類似度ベクトルの生成処理を説明するための要素割当てマップ800を示した図。
【図9】スコア・サブマトリックスを部分マトリックスとして含む、スコア付けマトリックス900の実施形態を示した図。
【図10】本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャート。
【図11】図10の処理で使用する経路コスト計算処理1100の実施形態を示した図。
【図12】漢字シーケンスの入力を行う場合のGUI1200を示した図。
【符号の説明】
【0118】
100…情報処理システム、110…サーバ、112…ネットワーク、114…ネットワーク・アダプタ、116…文字シーケンス取得部、118…文字判定部、120…他表記取得部、122…類似度計算部、124…類似スコア計算部、126…姓名候補生成部、128…姓名類似度計算部、130…表音文字変換テーブル、132…類似モデル・テーブル、134…異字体テーブル、136…同一・非類似漢字テーブル、140…GNRサーバ、150…クライアント・コンピュータ、160…GNR処理部
【技術分野】
【0001】
本発明は、姓名の類似判断技術に関し、より詳細には、インド・ヨーロッパ語、アフロ・アフリカ語、日本語、中国語、韓国語などで記述された姓名から、言語種類にかかわらず姓名の類似性を判断する、情報処理装置、情報処理方法、情報処理システム、およびプログラムに関する。
【0002】
近年、交通機関や、ネットワーク技術の進歩などにより、国際間での人的活動が活発化している。複数の国にわたって個人や企業が各種の活動を行う場合、当該個人の姓名や、企業の名称を記載して、各種の手続を行う。国際間での活動が増加するにつれ、個人などが手続を行った国以外の国で、その情報を使用して各種の検索を行うことが必要な場合も発生してくるものと考えられる。例示的な場合としては、国際間でのマネーロンダリングなどの場合に、銀行口座などを作成、送金、引出しなどを行った個人の同一性を、複数の国で情報を共有し、なおかつ異なる文化圏に対応する姓名表記に対応して姓名の同一性を損なうことなく認識することが必要な場合を挙げることができる。
【0003】
また、姓名検索は、必ずしも国際的な行動だけに必要とされるものではない。例えば日本で言えば、銀行口座、健康保険などが同一人物を示しているか否かを判断することが必要な、いわゆる名寄せなどの処理には、取得した姓名から、どのような類似姓名が生じる可能性があるか、またその尤度がどの程度なのかを、高精度かつ効率的に生成させることが必要となる。
【0004】
英語、キリル語、ギリシャ文字などを含むインド・ヨーロッパ語、アフロ・アジア語で記述された姓名は、アルファベットなど表音文字のみで記述されるため、文字列を使用して検索を行うことができ、また検索は、文字列を使用する類似検索を含めて比較的容易である。なお、アルファベットで記述された人名を比較して、人名の類似性を、類似性スコアを計算することにより比較する方法は、人名検索のために利用されている。アルファベットで記述された人名を検索するためのシステム/方法としては、例えば、米国特許第6、963、871B1明細書(特許文献1)に記載される、アルファベットで記述された人名を検索する自動化人名検索システムを挙げることができる。
【0005】
また、http://publibfp.boulder.ibm.com/epubs/pdf/c1912860.pdf(非特許文献1)で指定されるURIには、インド・ヨーロッパ語で表記された人名についての類似性を使用して人名検索する、Global Name Analytics(GNA)システムも開示されている。
【0006】
ところで、CJKV(Chinese, Japanese, Korean, Vietnam)として例示することができる、いわゆる表意文字を使用する文化圏では、異字体が存在し、また同一の文字であっても文字列シーケンスの態様に応じて表音特性が相違する場合がある。このため、表意文字を含む姓名を類似判断を充分な精度で自動実行する際には、インド・ヨーロッパ語文化圏での姓名検索とは異なる問題がある。この様な問題として、例えば下記の掲げる問題点を例示的に挙げることができる。
【0007】
(イ)さらに、CJKVとして参照される文化圏では、本来同一の表意文字を表し、またその表音特性も同一となる旧字体、新字体、異字体が存在し、例えば、「斉」、「齊」、「斎」、「齋」など、同一の表音文字で記述された姓名に対して複数の表意文字による表記が存在しうる。したがって、表音文字の同一性や表意文字の同一性、類似性を自動判断することができない。
【0008】
(ロ)上述した問題に加え、例えば日本語を、ローマ字表記する場合、「タロウ」の表音文字列に対応し、「Taro」、「Taroh」、「Tarou」など、または「トモロヲ」と「トモロオ」、「トモエ」と「トモゑ」、「トモヱ」として例示される表音表記上の揺らぎが存在する。
【0009】
(ハ)さらに、現在、大量の文字情報を処理する場合、OCRなどの光学読み取りシステムが導入され、イメージリーダなどから入力された画像を文字テンプレートなどとビット比較することにより、自動文字認識が普及している。この場合、OCRによる誤認識を考慮して、外見上類似する文字、例えば、「カ」と、「ケ」「萩」と「荻」、「富」と「冨」などの可能性を考慮する必要がある。また、これらの外観上類似した文字は、業務担当者などによる転記ミス、誤記も考慮する必要があり、表意文字および表音文字の両方を有する言語の姓名を、コンピュータを使用して自動判断することは、困難であった。
【0010】
これまで、漢字列、例えば日本語について姓名を検索する技術が種々知られている。例えば、特開平11−338859号公報(特許文献2)では、フリガナで入力される氏名をローマ字に変換して入力する氏名入力装置であって、漢字綴りの氏名とフリガナとの対応関係を管理するとともに、該フリガナの各文字毎に、規定のローマ字変換を施す必要があるのか否かを示すフリガナ属性情報を管理する氏名辞書と、上記氏名辞書を検索することで、入力されるフリガナの指す氏名を検索するとともに、該氏名の持つフリガナ属性情報を取得する検索手段と、上記検索手段の検索する氏名の中から氏名を1つ選択する選択手段と、上記選択手段の選択する氏名の持つフリガナ属性情報の指示に従って上記規定のローマ字変換を施しつつ、入力されるフリガナをローマ字に変換する変換手段とを備えることを、特徴とする氏名入力装置を開示する。
【0011】
さらに、特開2000−251017号公報(特許文献3)では、団体または個人の名称を表わす「名称」文字列を記憶した第1記憶手段と、個人の姓名の姓を表わす「姓」文字列および名を表わす「名」文字列を、その種別を表わす種別データと共に記憶した第2記憶手段と、一般名称を表わす「一般名称」文字列をその種別を表わす種別データと共に記憶した第3記憶手段と、単語検索の照合に用いる照合用単語辞書を記憶するための第4記憶手段と、前記第1記憶手段内の「名称」文字列の構成要素が前記第2記憶手段内の文字列または前記第3記憶手段内の文字列と一致するかどうか判定し、一致条件の成立した「名称」文字列を一致先の文字列に対応する種別データと共に照合用単語辞書として前記第4記憶手段に記憶せしめる辞書生成手段と、を具備したことを特徴とする単語辞書作成装置を記載する。
【0012】
さらに、特開2007−305046号公報(特許文献4)は、漢字と前記漢字の読みを表わす表音文字とを対応させた第1
の情報を予め記憶するため
の手段と、個人の姓名を表わす漢字と前記個人のメールアドレスに含まれる第2
の情報とを取得するための取得手段と、前記第1の情報に基づいて、前記姓名を表わす漢字の読みの候補を生成するための生成手段と、前記第2の情報と前記候補とを照合した結果に基づいて、前記姓名を表わす漢字の読みを決定するための決定手段とを含む、情報処理装置を開示する。
【0013】
また、特開2004−318699号公報(特許文献5)は、入力された名義の先頭から姓辞書中の単語と前方一致するものを検索する。検索した結果、種別が法人種別や職種の場合はその時点で個人でないとして処理を終了する。種別が姓の場合、入力された名義と後方一致する単語を名辞書から検索する。次に、姓と名の区切り方の候補を1つに絞り込む。最後に、絞り込まれた解が個人かどうか判定する名義解析方法を記載している。
【0014】
さらに、特開平10−171799号公報(特許文献6)は、姓名の区切りなしに入力された個人名とフリガナに対して姓と名の区切り及び漢字1文字毎の文字区切りを付与する姓名解析方法において、姓を登録した姓辞書と、名を登録した名辞書を用いて、入力された前記姓名を姓と名に分割し、文字に対する読みを登録した文字辞書を用いて、姓または名の片方しか前記姓辞書、前記名辞書にない場合、あるいは、両方とも該姓・名辞書にない場合には、漢字1文字毎にフリガナの対応を取ることにより漢字1文字毎にフリガナを付与し、読みの多義を解消するための文字の区切り情報に基づいて解が正しいかを判定することを特徴とする姓名解析方法を記載している。
【0015】
【特許文献1】米国特許第6、963、871B1明細書
【特許文献2】特開平11−338859号公報
【特許文献3】特開2000−251017号公報
【特許文献4】特開2007−305046号公報
【特許文献5】特開2004−318699号公報
【特許文献6】特開平10−171799号公報
【非特許文献1】http://publibfp.boulder.ibm.com/epubs/pdf /c1912860.pdf
【発明の開示】
【発明が解決しようとする課題】
【0016】
特許文献2〜特許文献6は、それぞれ姓名をコンピュータにより自動的に解析する技術を開示する。しかしながら、特許文献2に記載された技術は、表音文字と表意文字との間の対応付けを操作者が実行するものであり、コンピュータが表意文字シーケンスと表音文字シーケンスとを自動的に対応付ける技術を開示するものではない。また、特許文献3に記載された技術は、類似可能性を考慮した辞書を作製する点および当該辞書を使用して顧客名を選択することを可能とするものの、類似度をどのように適用して姓名の自動選択をするかについては何ら記載するものではなく、また、表意文字と表音文字との間の対応付けを行うことを目的とするものではない。
【0017】
さらに、特許文献4は、姓名に対して使用される漢字に適用される表音文字シーケンスを、漢字に適用される頻度の最も高いものとして選択して、表意文字と表音文字との関連づけを行うものである。しかしながら、その時点で処理するべき表意文字シーケンスが、最も頻度の高い表意文字シーケンスで表されるべきか否かについては、何らの判断を行うものではない。また、特許文献4は、漢字表記の姓名とともに、メールアドレスなど姓名を示唆する情報の入力を必要とするため、消音文字と表意文字との間の対応関係について、表音文字または表意文字での姓、名、または姓名が単独で入力された場合には、表音文字と表意文字との対応関係を一義的に定めることはできない。
【0018】
さらに、姓名の誤記や転記ミス、または字体の相違などがある場合について、どの字体を使用するべきなのかについて、何ら対応するものではなく、また例えば、「高田俊:タカダタカシ」と、「高田健:タカダタケシ」との間の類似性について何ら基準を与えるものではなく、OCRにおける誤変換の可能性も含めた表意文字−表音文字変換を目的とするものではないし、表音文字シーケンスも表意文字シーケンスも異なる姓名を可能性のある候補として可能性に対応付けるものではない。
【0019】
さらに、特許文献5〜6についても、漢字と読みとを頻度に対応付けて登録し、それらの間の変換を行うものであって、出現頻度のみを使用して表意文字および表音文字の対応付けを行うものであり、入力された表意文字シーケンスまたは表音文字シーケンスに出現頻度では対応付けられない可能性のある姓名候補を生成させるものではない。
【0020】
また、特許文献1〜特許文献6に記載された技術は、姓名がインド・ヨーロッパ語、アフロ・アジア語、平仮名、カタカナ、ハングルなどを含む、いかなる表音文字で入力された場合であっても、表意文字で入力された場合であっても、最尤な表意文字シーケンスまたは表音文字シーケンスを含み、当該入力姓名の可能性がある姓名を判断することを課題とするものではない。
【0021】
すなわち、これまで、表意文字シーケンスまたは表音文字シーケンスで入力された姓名の入力に対して、最尤の姓名候補を生成するとともに、当該入力された姓名に対して他言語の表記を考慮して同一または類似する姓名候補の他、表音特性に関連して非類似の姓名を判定することが可能な技術が必要とされていた。
【課題を解決するための手段】
【0022】
本発明は、上記従来技術の課題に鑑みてなされたものであり、本発明では、情報処理装置は、人名を記述した文字シーケンスを受領して、少なくとも異なる2種の表音文字からなる姓名表記、または少なくとも2種の表音文字および表意文字を含む表記ベクトルを生成する。
【0023】
表記ベクトルの要素は、情報処理装置が管理する漢字シーケンスまたはカナ・シーケンスとそれぞれ類似度が計算され、表記ベクトルが含む複数の姓名表記について計算したスコアを含むスコア・サブマトリックスを生成する。本発明では、さらにさらにスコア・サブマトリックスについて、少なくとも複数の姓名表記間の類似度を考慮した類似スコアが計算され、当該類似スコアを、姓名を構成するフレーズについて、類似度を言語を横断的に判断した類似尺度と使用する。
【0024】
本発明では、文字シーケンスから少なくとも2種の表音文字による姓名表記が生成され、特定の実施形態では、カナ・シーケンスと、アルファベット・シーケンスとされる。文字シーケンスがカナ・シーケンスである場合には、さらに、漢字といった表意文字による姓表記または名表記が与えられる。
【0025】
スコア・サブマトリックスは、姓または名のフレーズに関して統合され、スコア付けマトリックスを構成する。本発明では、スコア付けマトリックスは、姓および名についての翻字についての尤度を判断するために使用され、スコア付けマトリックスに登録された姓および名を統合して姓名候補および姓名候補に対して同音でもなく同字でもない類似姓名候補を生成するために利用される。
【0026】
本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。
【0027】
また、表音文字シーケンスまたは表意文字シーケンスで入力された姓名に対して、多言語での尤度を判断して、目的とする表音文字シーケンスまたは表意文字シーケンスでの姓名候補を重み付けして判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【0028】
加えて、インド・ヨーロッパ語、アフロ・アジア語、日本語、中国語、韓国語、ベトナム語など多言語にわたる姓名の同一・類似判断を行い、さらに表音特性の非類似の姓名を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明を実施形態を使用して説明するが、本発明は後述する実施形態に限定されるものではない。図1は、本実施形態の情報処理システム100の機能ブロック図である。図1に示した情報処理システム100は、サーバ110と、クライアント・コンピュータ(以下、単にクライアントとして参照する。)150と、サーバ・コンピュータ(以下、単にサーバとして参照する。)110とクライアント150とを接続するネットワーク112とを含んで構成されている、クライアント150は、カナ、漢字、またはインド・ヨーロッパ語、アフロ・アジア語などで記述された姓、名、または姓名と考えられる文字シーケンスの入力を受付け、例えば、HTTPプロトコルなどを使用してサーバ110に検索要求を送付する。
【0030】
なお、用語「カナ」は、本実施形態では、カタカナ、平仮名を含む物として定義する。サーバ110は、LAN、インターネットなどを含んで構成されるネットワーク112を介して姓名照会要求を受領し、姓名生成処理を実行する。サーバ110は、受領した姓名照会要求に含まれる文字シーケンスを使用して、受領した文字シーケンスに対応する他の文字表記、例えば、カナ・シーケンスを受領した場合、インド・ヨーロッパ語の例示としてアルファベット・シーケンスおよび表意文字の例である漢字または漢字シーケンスを生成し、姓名検索のために利用する。
【0031】
サーバ110は、PENTIUM(登録商標)、PENTIUM(登録商標)互換チップなどのCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのマイクロプロセッサを使用することができ、マイクロプロセッサは、シングルコアでもマルチコアの構成のものを採用することができる。また、サーバ110が実装するオペレーティングシステム(OS)としては、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などを挙げることができる。
【0032】
また、サーバ110は、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBYなどのプログラミング言語を使用して実装される、CGI、サーブレット、APACHE、IISなどのサーバ・プログラムを実行し、ネットワーク(図示せず)を介して各種要求を処理する。なお、サーバ110は、ウェブ・サーバとして実装することもできるし、CORBA(Common Object Resource Broker Architecture)を使用した分散コンピューティングを可能とする専用サーバとすることができる。
【0033】
クライアント150は、パーソナル・コンピュータまたはワークステーションなどを使用して実装され、クライアント150が実装するマイクロプロセッサ(MPU)としては、これまで知られたいかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを挙げることができる。クライアント150は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OS(登録商標)などのOSを搭載することができる。
【0034】
また、クライアントがウェブ・クライアントとして機能する場合、Internet Explorer(登録商標)、Mozilla、Opera、Netscape(登録商標) Navigatorなどのブラウザ・ソフトウェアを使用して、HTTPプロトコルを使用してウェブ・サーバにアクセスする。その他、CORBAなどの分散コンピューティング環境を利用する場合、クライアント150は、サーバ110と相互通信するための専用クライアント・プログラムを実装することもできる。
【0035】
以下、サーバ110の機能ブロック構成について詳細に説明する。サーバ110の機能ブロックは、サーバ110が実装するRAM内にプログラムを展開し、CPUまたはMPUがプログラムを実行してサーバ110を各機能ブロックとして機能させることにより、サーバ110上に実現される機能手段である。
【0036】
サーバ110は、ネットワーク・アダプタ114と、文字シーケンス取得部116と、文字判定部118とを含んでいる。ネットワーク・アダプタ114は、姓名照会要求を受領して、TCP/IPレベルでトランザクションを処理し、本実施形態の姓名候補生成処理を実行する処理部へと姓名照会要求を渡す。文字シーケンス取得部116は、姓名照会要求に含まれる、姓表記、名表記または姓表記および名表記を含む文字シーケンスを、受信パケットのペイロードから取得し、処理対象の文字シーケンスとして適切なメモリに登録する。なお、本実施形態では、姓表記とは、名前の姓(sir Name)に対応する文字列を意味し、名表記とは、名前の名(Second Name)に対応する文字列を意味し、いずれか一方または両方を含む可能性のある文字シーケンスについては、姓名表記として参照する。
【0037】
文字判定部118は、登録した文字シーケンスを構成する文字を解析し、文字シーケンスが、例えば、カタカナ、平仮名、漢字、アルファベットであるか否かを判断する。なお、文字の解析は、文字コードを判定することにより実行することができ、SJIS、GB、UNICODEなどいずれのコード体系でも使用することができる。しかしながら、グローバルな姓名検索を実行する上で、UNICODEを使用することが、判断するべき文字種に適切に対応でき、以下、文字コードの比較を実行する場合、UNICODE(UNICODE2.0など)を使用して比較を実行するものとする。文字判定部118は、受領した文字シーケンスの文字判定を実行した後、受領した文字シーケンスの言語圏を特定し、以後の処理に使用する。
【0038】
さらに、サーバ110は、他表記取得部120と、類似度計算部122と、類似スコア計算部124とを含んで実装されている。他表記取得部120は、受領した文字シーケンスを判断し、受領した文字シーケンスがカナであると判断した場合、本実施形態では、翻字処理を実行し、アルファベットおよび漢字表記を取得する。アルファベット表記には、ヘボン式、訓令式、ISO3602などのローマ字およびインド・ヨーロッパ語圏の姓または名を含む。なお、本実施形態では、情報処理システム100の特定の目的に応じて、アルファベット以外でもギリシャ文字、キリル文字、アラビア文字などの他表記を取得することができる。
【0039】
例えば、他表記取得部120は、文字シーケンスがカナ・シーケンスであると判断した場合、表音文字変換テーブル130を参照し、文字シーケンスを、受領した文字シーケンスに対応する表意文字、より具体的な実施形態では、漢字に変換する本意処理を実行する。表音文字変換テーブル130は、姓および名を端意図し、可能性のあるカナ表記に対して漢字表記を対応付けて登録する姓名辞書として構成することができる。
【0040】
さらに本実施形態の表音文字変換テーブル130は、人名に使用される可能性のある漢字を、文化圏によらずに登録し、表音文字−表意文字対応テーブルの他、対応する表意文字が帰属される可能性のある文化圏判断データを含んで構成されている。例えば、入力された文字シーケンスが、「ハリ」である場合、他表記取得部120は、表音文字変換テーブル130を参照して、人名漢字として、「張」を取得し、文化圏判断データを参照し、当該「張」が、日本語圏、中国語圏、朝鮮語圏に帰属される可能性があることを示すコードを生成し、漢字に割当てることもできる。
【0041】
さらに、他表記取得部120は、受領した文字シーケンスがカナである場合、漢字を取得する他、アルファベット・シーケンスを生成する。この処理は、文字シーケンスがカナである場合、隠れマルコフモデルを使用したカナ−アルファベット変換により実行され、また、文字シーケンスが、漢字コードであると判断された場合には、表音文字変換テーブル130の逆検索を実行して、カナ表記を取得し、カナ表記をアルファベット変換することにより、{カナ、アルファベット、漢字}の表記ベクトルとして文字シーケンスを登録する。
【0042】
さらに、文字シーケンスがアルファベットである場合、サーバ110は、漢字への変換処理を実行せず、表記ベクトルの{漢字}フィールドをブランクのままとして表記ベクトルを生成する。文字シーケンスがアルファベットである場合のカナ表記の生成は、後述する遷移確率テーブルを生成する際に使用するアルファベット−カナ対応テーブルを参照し、アルファベット・シーケンスに対応するカナが検索できる範囲で変換を行うことができる。また、後述する隠れマルコフモデルを使用してカナを目的系列として処理することで、生成することができる。
【0043】
なお、文字シーケンスとしてアルファベット・シーケンスが入力された場合には、類似度は、GNR処理によって計算するので、カナ、漢字が全く生成されなくとも類似度を使用する処理は、不都合なく実行できる。
【0044】
他表記取得部120において、文字シーケンスについて対応する可能性のある表記ベクトルのセットが取得された後、表記ベクトルは、類似度計算部122に渡される。類似度計算部122は、複数の方法を使用して、表記ベクトルに含まれるアルファベット、カナ、漢字についてそれぞれ類似度のスコアを計算する。
【0045】
表記ベクトルが含む文字種類のうち、漢字の類似度は、表音文字変換テーブル130などを参照して、表記ベクトルが含む漢字と、表音文字変換テーブルに登録された文字コードとが一致しているか否かを使用して行うことができ、例えば、文字コードが完全に一致している場合、1.0を与え、完全に一致していない場合、0を与えるバイナリ基準値を付して行うことができる。
【0046】
さらに、サーバ110は、同音異字、同字異音、または同音でもなく同字でもないが、転記ミス、OCRによる変換ミスなどを含む類似姓名候補を生成するために、類似モデル・テーブル132と、異字体テーブル134と、同一・非類似漢字テーブル136とを管理する。上述した類似モデル・テーブル132、異字体テーブル134は、漢字の同一・非類似について、2値基準値以外の、異字体やエラー誘因性を考慮して0〜1までの多値基準値を提供するためにも利用することができる。
【0047】
類似度計算部122は、アルファベット・シーケンスについての類似度についても取得する。類似度計算部122は、アルファベット・シーケンスの類似度を計算する場合、アルファベット・シーケンスを抽出し、特定の実施形態では、サーバ110の処理部として構成されたGNR処理部160に渡し、GNR処理部160が登録するアルファベット名との類似度を取得する。なお、GNR処理部160が実行する類似度判定処理については、例えば特許文献1および非特許文献1にその詳細が開示された方法を使用することができる。
【0048】
なお、他の実施形態では、GNR処理部160ではなく、GNR処理部160を、GNR処理を専ら実行するGNRサーバ140として構成することができる。この場合、類似度計算部122は、類似度を判定するべきアルファベット・シーケンスをネットワーク112を介してGNRサーバ140に送付し、GNRサーバ140からの応答として類似度を取得する。
【0049】
さらに類似度計算部122は、カナ・シーケンスとカナ・シーケンスとの間の類似度を計算する。この目的のため、類似度計算部122は、表記ベクトルからカナ・シーケンスのコードを抽出し、表音文字変換テーブル130に登録されたカナ・シーケンスとの比較を実行する。さらに他の実施形態では、カナ・シーケンスから生成されたアルファベット・シーケンスを、GNR処理部160やGNRサーバ140に送付し、GNR処理により提供される類似度の値を取得してカナ・シーケンスについての類似度を取得することができる。
【0050】
カナ・シーケンスの比較を実行する場合、類似度判断部122は、文字シーケンスが含む文字列を、表音文字変換テーブル130を参照して可能性のある参照カナ・シーケンスを生成する。例えば、文字シーケンスとして、「タケシ」が入力された場合、対応付けられる漢字「健」を抽出し、各漢字コードに対応付けられたカナ・シーケンスである「ケン」を抽出し、参照カナ・シーケンスとして生成する。そして、類似度判断部122は、生成された「ケン」を他表記取得部120に渡し、対応するアルファベット・シーケンスである「Ken」を生成し、対象シーケンスと参照シーケンスとのスコア計算を可能とする。
【0051】
その後、対象カナ・シーケンスのコードを参照カナ・シーケンスのコードに対し、逐次フォーワード比較などを使用して実行し、文字コードの一致/不一致に対応して例えば(一致した文字コード総数)/(対象カナ・シーケンスおよび参照カナ・シーケンスの文字コード総数)などとしてスコアを計算する。計算された各スコアのセットは、スコア・サブマトリックスとして登録される。
【0052】
なお、本実施形態で、漢字、カナなど対応する文字コードが発見できなかった場合については、例えばOCRなどで使用されるように、イメージデータなどとして文字テンプレートを用意しておき、カナまたは漢字に対して文字テンプレートなどとのビットマップ比較を実行して、その類似度を判定することができる。類似度計算部122は、他表記取得部120が生成した参照表記ベクトルの全セットについてスコア・ベクトルを生成し、RAM、L2キャッシュ、L3キャッシュなどの適切なメモリに格納する。
【0053】
サーバ110は、さらに類似スコア計算部124と、姓名候補生成部126とを含んでいる。類似度計算部122が生成したスコア・サブマトリックスは、表記ベクトルと対応付けられて、類似スコア計算部124に送付される。類似スコア計算部124は、受領したサブスコア・マトリックスを、姓または名を構成するフレーズ単位で登録し、スコア付けマトリックスを生成する。説明している実施形態では、スコア付けマトリックスは、3×3のスコア・サブマトリックスが1セットとして登録され、姓について抽出したスコア・サブマトリックスと名について抽出したスコア・サブマトリックスとが姓−名など。設定された順で配置された正方行列として定義される。
【0054】
その後、類似スコア計算部124は、生成したスコア・サブマトリックスの各要素値を使用して類似スコアを計算する。類似スコアの計算は、スコア・ベクトルの要素と、適切な重みベクトルとを使用する内積計算または、設定されたルールに従って要素を抽出して計算することで取得することができ、その処理については、より詳細に後述する。
【0055】
また、サーバ110は、サーバ110の独立した処理部または後述する姓名候補生成部126の機能モジュールとして実装された姓名類似度計算部128を含んでいる。姓名類似度計算部128は、類似スコア計算部124が生成した姓名候補のうち、合計類似スコアの最大の姓名候補、または他の実施形態ではトップ10の姓名候補を抽出し、抽出された姓名候補について異体字または外観が類似するだけで、表音特性が全く異なる姓名候補を、類似姓名候補として生成する。
【0056】
姓名候補生成部126は、姓名類似度計算部128の出力を受領して、受領した文字シーケンスに対応する姓名候補または類似姓名候補を含む姓名候補リストを生成し、テーブル形式として、クライアント150に返す処理を実行する。
【0057】
この段階での姓名候補リストは、類似判断基準に対応して同音異字・同字異音の姓名まで考慮することができ、特定の用途に対しては充分な結果を提供することができる。さらに、姓名候補生成部126が、そのモジュールとして姓名類似度計算部128を含んで構成される場合、姓名類似度計算部128は、姓名候補リストの中から合計類似スコアの高い姓名候補について、異字体および外観的に類似し、転記ミス、認識ミス、誤記などの可能性のある姓名候補を生成し、姓名候補リストに追加することができる。
【0058】
さらに他の実施形態では、姓名類似度計算部128を、サーバ110の独立した処理部として実装することができる。説明する当該他の実施形態では、姓名類似度計算部128は、類似スコア計算部124からの漢字での姓名またはクライアント150から送付された漢字を受領し、異体字または外観上類似する可能性のある姓名候補を生成し、クライアント150に類似指標値とともに返す処理を実行する。なお、本実施形態の処理については、当業者により実施できるように、より詳細に後述するが、特願2008−117538号明細書(IBMアトーニードケット番号:JP9080054)、特願2008−141209号明細書(IBMアトーニードケット番号:JP9080081)、および特願2008−168087号明細書(IBMアトーニードケット番号:JP9080115)の記載は、本明細書の一部を構成するものとして全部を含めることができる。
【0059】
図2は、本実施形態のサーバ110が実行する類似度生成のための処理シーケンス200を説明する図である。クライアント150から入力される可能性のある文字シーケンスは、特定の用途に対応しアルファベット、カナ、漢字のいずれかの可能性がある。また、さらに他の実施形態ではアラビア語などアフロ・アジア語圏の文字列の可能性もある。サーバ110は、クライアントから受領した文字シーケンスについて文字コードを判定し、自己以外の文字コードで表現される他表記、例えば、文字シーケンスがカナ210である場合、アルファベット・シーケンス230および漢字220を生成し、類似度計算部122に送付する。
【0060】
類似度計算部122は、アルファベット・シーケンス230については、ボックス240で示すように、GNR類似検索240を呼び出して処理を依頼する。また、カナ・シーケンス210については、アルファベット・シーケンスへの変換後、ボックス250で示すように、GNR類似検索を実行することもできるし、カナ−カナの文字コード比較を行うこともできるし、さらに他の実施形態では、文字テンプレートとのビットマップ比較を適用することができる。
【0061】
漢字220の場合、ボックス260で示すように、文字コード同士の比較による2値基準値を与えることもできるし、図1に示した各テーブル132、134、136を使用し、コスト値から類似度を示すスコアを計算することもできる。さらにボックス260で示すように、文字コードの比較ができない場合などについては、文字テンプレートなどを使用するビットマップ比較を行うことにより類似度判断を行うことができる。図2に示した処理シーケンス200を使用することにより、クライアント150から受領する文字シーケンスによらず、適切な類似計算処理を使用して効率的で精度の高い姓名検索を実行することができる。
【0062】
図3は、本実施形態の姓名候補を生成する情報処理方法のフローチャートを示す。図3に示した処理は、ステップS300から開始し、ステップS301で、クライアント150から文字シーケンスを受領する。ステップS302で、受領した文字コードの文字コード判定を実行する。説明する実施形態では、漢字、カナ、アルファベットのいずれかを判断するものとしているが、その他ハングル、アラビア語、ギリシャ語、キリル語など受領するべき文字シーケンスは、姓名候補生成の目的および用途に対応して特に制限されるものではない。
【0063】
ステップS303では、他表記を取得して、漢字、カタカナ、アルファベットの表記ベクトルとして登録し、ない表記、例えば、文字シーケンスがアルファベット表記の場合、アルファベット・シーケンスから漢字を生成することなく、漢字に対応する要素は、ブランクのままとする。ステップS304では、文字シーケンスの文字種類を判断し、漢字、アルファベット(カナ)、またはカナを判断する。文字シーケンスが漢字である場合、ステップS310に処理を渡し、カナである場合には、採用する処理シーケンスに対応して、ステップS305、またはステップS309に処理を渡す。
【0064】
また、文字シーケンスがアルファベットの場合には、処理をステップS306に渡す。ステップS305では、カナ・シーケンスをアルファベット変換し、アルファベット・シーケンスをステップS306に渡し、GNR処理部140または160に送付する。ステップS307では、GNR処理部140または160から類似度を受領して処理をステップS308に渡す処理を実行する。
【0065】
一方、ステップS309では、漢字同士の文字コード比較を行うか、または文字テンプレートとのビットマップ比較を実行し、その類似判断による類似度をステップS308に渡す。ステップS308では、文字シーケンスの文化圏に対応し、少なくとも2表記についての類似度を使用して、スコアを計算する。この理由は、例えばクライアント150から受領した文字シーケンスがアルファベットである場合、強制的に漢字に変換せず、表記ベクトルの漢字のフィールドがブランクのままとされるためである。さらにステップS308では、計算したスコアから、スコア・サブマトリックスについての類似性の指標を与える類似スコアを計算して姓名候補の抽出を可能とさせ、姓名候補リストを生成する。姓名候補リストの生成が終了した段階で、処理をステップS310に渡し、処理を終了させる。
【0066】
図3の処理によって、クライアント150のユーザは、入力した文字シーケンスに対応する姓名候補を、その確からしさとともに取得することが可能となり、文字シーケンスから、どのような姓名が候補とされるのかについて判断することが可能となる。
【0067】
図4は、本実施形態の他表記取得部120が実行するカナ−アルファベット変換処理のフローチャートを示す。図4の処理は、ステップS400から開始し、ステップS401でカナ・シーケンスを受領する。ステップS402でカナ・シーケンスを音素分解する。音素分解は、表音文字の音に対応して行われ、長音、促音については、直前の音素に含ませたものとする。例えばカナ・シーケンス=「インフォマーション」の場合、音素分解は、「イ」+「ン」+「フォ」+「メー」+「ショ」+「ン」とされる。
【0068】
ステップS403では、音素分解の結果に遷移確率モデルを使用して変換尤度χを計算し、ステップS404では、変換尤度χの最も高いアルファベット・シーケンスを取得する。なお、遷移確率モデルは、音素および音素シーケンスを解析し、カナを観測系列とし、アルファベットを目的系列とする隠れマルコフモデルを適用するため、言語解析によって与えることができる。ステップS405では、アルファベット変換結果を類似度計算部122に渡して類似度計算を依頼し、ステップS406で処理を終了させる。
【0069】
図5は、図4で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図を示す。変換対象の文字シーケンスは、「インフォメーション」であり、他表記取得部120は、音素ごとに音素−音素の遷移確率πiと、音素間の遷移確率pijとを遷移確率テーブルとして登録し、カナ−アルファベット変換を適用する。変換尤度は、図5に示されるように、対数尤度で与えられ、各対数尤度を、音素にわたり積算し、下記式(1)で与えられる変換尤度χを使用して計算し、変換尤度の最も高いアルファベットが類似度計算部122へと出力される。
【0070】
【数1】
【0071】
図6は、図1で説明した、類似モデル・テーブル132、異字体テーブル134、同一・非類似漢字テーブル136の実施形態を示す。図6に示した値は、対応付けられる漢字が類似するものとして判定することのリスクに対応したコストである。図6に示した各テーブルは、姓名類似度計算部128が類似姓名候補を抽出する差異の経路コストを計算するために使用される。
【0072】
また、他の実施形態では、類似モデル・テーブル132および異字体テーブル134は、類似度計算部122が漢字相互の類似度に関する多値基準値を計算するためにも適用することができる。この場合、例えば、図6に示したコストの値を使用して、漢字の類似度についてのスコアを、スコア=1/(コスト+α)(αは、コストの最小値よりも小さくアンダーフロー・オーバーフローを回避することができる適切な定数である。)で与えることもできる。なお、多値基準値を与えるため、さらに適切ないかなる別の定式化を使用してもよい。さらに、図6に示した実施形態では、各テーブル132、134、136は、一体化された単一のテーブルとして構成されているが、それぞれのテーブルを個別に作製し、登録しておくことができる。
【0073】
図6のテーブルのうち、テーブル610の非対角要素が同一・非類似漢字テーブル136の非類似コストを登録する領域であり、テーブル620の非対角要素が異字体テーブル134に対応する。また、テーブル630の非対角要素は、外観上類似する漢字を登録する類似モデル・テーブル132に対応する領域である。図6に示した実施形態は、データ構造を明示的に説明するため、同一・非類似漢字についてのコストまで登録するものとして示す。そして、図6のテーブルの対角要素が、同一・非類似漢字テーブル136の同一テーブルに対応する。
【0074】
図6は説明の目的で全エントリについてコスト値を登録するものとして説明する。本実施形態の好ましい実施形態では、類似モデル・テーブル132および異字体テーブル134のみを陽に実装させ、同一・非類似漢字テーブル136に相当するコストは、テーブルのデータ量を削減するため、プログラムにおける固定値などとして設定し、テーブルのために消費するメモリを削減することもできる。当該実施形態の場合、サーバ110は、同一・非類似の漢字について、類似モデル・テーブル132および異字体テーブル134に登録されていないことに基づいて同一・非類似と判断し、処理を実行することができる。
【0075】
また、漢字同士が非類似である場合、コストとしては、2が割当てられ、漢字同士が同一の場合コストは0とされている。また、外観的に類似する漢字は、転記ミス、誤記、OCR変換ミスなどを発生させる可能性が高いことから、当該変換に幅がある。このため、「萩」と「荻」については、完全に異なるわけではなく誤記、OCRによる変換ミスの可能性があり、また表音特性も類似しているので、コスト=0.3が与えられている。一方、漢字「朋」と、「明」については、外観上類似するものの、表音特性が全く異なるため、外観類似であってもより高いコスト=0.4が与えられている。
【0076】
また、「富」と「冨」、「高」と、「▲高▼」(鍋ぶたの下は、縦線2本の間に横線2本)、「斉」、「齊」などについては、略記されがちな異字体として、コスト=0.1が割当てられている。
【0077】
図7は、本実施形態で、サーバ110が入力される可能性のある文字シーケンスに対応するスコア・サブマトリックス700の実施形態を示す。行が他表記取得部120が生成した表記ベクトルに対応するスコア・ベクトルであり、図7に示した実施形態では、要素値{Takeshi、タケシ、健}とされる。列は、類似度計算部122がスコア計算を実行する際に表音文字変換テーブル130から抽出したカナ・シーケンスおよび漢字に対応して計算されたスコアである。
【0078】
例えば、漢字「健」の場合には、カナ「ケン」、「タケシ」が割当てられ、この結果、スコア・ベクトルは、{Takeshi、タケシ、健}と{Ken、ケン、健}の参照表記ベクトルが生成され、スコア・サブマトリックス710が生成されている。スコア・サブマトリックス710は、アルファベット・シーケンスおよびカナ・シーケンスが不一致なので、一致度=0が与えられている。また、漢字については、漢字「健」の文字コードに対して登録されている読みの範囲で一致し、アルファベット変換でも生成される範囲なので、一致度=1.0が与えられている。
【0079】
一方、スコア・サブマトリックス720は、サーバ110が文字シーケンスとしてアルファベットを受領した場合のスコア・サブマトリックス720の実施形態を示す。スコア・サブマトリックス720は、サーバ110が文字シーケンスとして「James」を受領した場合である。スコア・サブマトリックス720では、アルファベット・シーケンスに対応するカナ・シーケンスである「ジェームズ」が見出されたことにより、表記ベクトルは、{James、ジェームズ、null}として生成されている。
【0080】
この場合、参照表記ベクトルについては、説明している実施形態では、アルファベット・シーケンス「James」に対してカナ・シーケンス「ジェームズ」しか登録されていないので、アルファベット、カナの両方の一致度について一致度=1.0が割当てられ、漢字との類似度については、漢字がブランク(null)のままとされているので、一致度もブランク(null)のままとされている。
【0081】
そして、スコア・サブマトリックス730は、サーバ110が、文字シーケンスとして漢字の「毛」を受領した場合の実施形態を示す。漢字「毛」に対しては、「モウ」、「ケ」、「ゲ」、「マオ」などがカナとして登録されている。一方、アルファベット変換処理では、Mou、Mao、Ge、Keなどが抽出される。この場合、例示したスコア・サブマトリックス730では、漢字については、常に一致度=1.0が割当てられ、その他については、対応するアルファベット、カナを含む表記ベクトルと参照表記ベクトルとから生成したスコア・サブマトリックスでない限り、一致度=0が与えられる。
【0082】
さらに、本実施形態では、スコア・サブマトリックス710、720、730には、それぞれ類似スコアを計算し、スコア・サブマトリックス全体の類似度を生成する。図8は、類似スコアを計算する場合の各表記に対応するスコアの割当てを説明するための、割当てマップ800を示す。類似度は、本実施形態では、単純に各スコアの平均値として算出することができる。しかしながら、各表記に対応して、姓名について特有の判断を実行することができることに着目し、本実施形態では、要素ごとに異なる処理を使用して類似スコアを生成することができる。第1の実施形態では、スコア・サブマトリックスから類似度ベクトルを生成する方法である。
【0083】
類似度ベクトルは、スコア・ベクトルの要素を、設定された順に抽出し、例えば説明する実施形態では、下記式(2)で与えられる。
【0084】
【数2】
また、本実施形態では、各要素値の割当てマップ800の位置に対応して重み付けが与えられ、S1,...,S9にそれぞれ対応して、W1,...,W9が与えられ、重みベクトルについては、下記式(3)で与えられる。
【0085】
【数3】
スコア・サブマトリックス全体としての類似スコアは、各ベクトルの内積を使用して、下記式(4)で与えることができる
【0086】
【数4】
【0087】
重み付けの値は、例えばカナ−カナ一致、カナ−漢字一致、アルファベット−
カナ一致を重要視する場合など、特定の用途に応じて適宜設定することができ、例えば、日本人について、カナ表記での姓名一致候補を生成する場合には、S5の重みを高くし、カナ−カナ一致およびカナ−漢字一致の姓名候補を生成する場合には、S5、S6、S8、およびS9の重みを高くする。一方、アルファベット−アルファベット一致およびアルファベット−カナ一致を重要視するべき外国人の場合については、S1、S2、S4の重み付けを高く設定することができ、適宜目的とする姓名候補の生成に対応して、システム設定またはユーザ選択により設定することができる。
【0088】
以下、スコア・サブマトリックス710、720、730の類似スコアの計算は、他の方法を使用しても計算することができる。以下に他の実施形態の説明を行うが、要素割当てのマッピングは、図8に示すとおりである。特に日本人と、中華民族、朝鮮民族を含む外国人の相違は、カナ表記と漢字表記の一致・不一致に依存する。
【0089】
このため、スコア・サブマトリックスの全体の類似スコアを計算せずに、各要素値の特徴を反映する要素を判断し、文化圏判定を可能とする類似スコアを生成することができる。例えば、上述したように、漢字表記との対応関係を含むS5、S6、S8、S9の各要素値が特徴値となる。このため、各要素値に対してしきい値THjを設定しておき、S8、S9の類似度がいずれもしきい値THjを超えた場合、日本人と判定し、類似スコアを計算する。
【0090】
さらに、類似スコアを計算する第2の実施形態では、外国人、特にインド・ヨーロッパ語圏の民族やアフロ・アフリカ語族に関連する文字シーケンスについては漢字表記を生成しないことに着目し、文化圏の判断を可能とするものである。例えば、図8中、S3、S7がnullの場合には、日本、中国、台湾、韓国、ベトナム、マレーシアなど日本民族、中国民族や朝鮮民族を除く外国人用の類似スコアを計算する。そして、漢字−漢字の類似性が設定したしきい値THkより高く、カナ−カナの類似度が、設定したしきい値THcよりも低い場合には、中国・朝鮮民族の類似スコアを計算させることができる。下記式(5)に、上記判断を使用する場合の処理のための疑似コードを記載する。
【0091】
【数5】
【0092】
なお、上記式中、cult_categoryは、文化圏識別値を設定する文化圏識別変数である。サーバ110は、処理の実装形式に対応して、cult_categoryの値を他の処理部に渡し、文化圏識別処理を実行させることができる。さらに他の実施形態では、名前尤度・国字、アクサンデキュ、ウムラウトなど文化圏に特徴的な文字を検出して実行される文化圏判断の結果を補助情報として使用し、類似スコアの計算処理を変更することもできる。
【0093】
図9は、スコア・サブマトリックスを部分マトリックスとして構成される、スコア付けマトリックス900の実施形態を示す。スコア・サブマトリックスは、サーバ110が適切な辞書などを参照して生成する姓または名を構成し、GNRサーバ140またはGNR処理部160が処理可能なフレーズを単位として構成されている。スコア付けマトリックス900は、評価対象の姓・名などのフレーズとして可能性のあるスコア・サブマトリックスを、文字シーケンスの認識順に配列させて生成される。
【0094】
特定の文字またはフレーズに対する類似スコアは、スコア付けマトリックス900の例えば、スコア・サブマトリックス910の3×3要素を使用し、上記式(4)または(5)を使用して計算することができる。なお、3×3のスコア・サブマトリックスの位置を示すため、スコア・サブマトリックスを、(Namei,Namej)として参照し、フレーズの単位を、図9では、Name1、Name2、Name3、・・・として示す。上記表記中、Name1は、姓「齊籐」に対応し、Name2は、姓「斎藤」に対応し、Name3は、例えば「西藤」などに対応する。さらに、名についても同様なシーケンスでスコア付けマトリックス900に登録することもできるし、他の実施形態では、名用のスコア付けマトリックスを別に生成し、同洋書方法で類似判断を実行することができる。なお、受領する文字シーケンスがアルファベットの場合、Name1の単位として「James」を使用することができる。
【0095】
本実施形態の図9に示した実施形態では、スコア・サブマトリックス910に隣接する (Namei,Namej±1)で示されるスコア・サブマトリックスおよびスコア・サブマトリックスの部分要素920および930を使用して、姓名シーケンスの文化圏判断などの一貫性を判断することができる。すなわち、部分要素920、930は、図8のS2、S3、S6に対応する要素値に対応する、上記式(4)および(5)に示すように、S2のカナ−アルファベット類似度および、S3、S6の漢字−カナ対応付けの類似度は、例えば姓目シーケンスを生成する場合の類似度のみではない結合処理を可能とし、より精度の高い姓名候補を生成させることができる。
【0096】
図9に示したスコア付けマトリックス900に関して、上記式(4)または(5)を使用し、スコア・サブマトリックス(Namei,Namej)についての類似スコアの高い順に例えばトップ3などの姓および名に対応するフレーズを抽出し、姓フレーズと名フレーズとを連結して、合計類似スコアを生成し、合計類似スコアが最高姓名候補、または合計類似スコアのトップK(Kは、正の整数である。)を抽出し、結果リストに登録する。サーバ110は、この段階で、姓名候補リストとして、クライアント150に渡すこともできる。
【0097】
さらに、図9に示したスコア付けマトリックス900を使用することにより、姓名が同一人物を示すか否かについての判断についても可能とされる。例えばカナ・シーケンスが相違する場合であっても、同一漢字シーケンスに類似する場合には、本来的に別人物である確率Pr(カナ・シーケンス1|カナ・シーケンス2)を統計的に決定しておき、同一人物である確率(1−Pr)を付して姓名候補を表示することもできる。
【0098】
本実施形態では、さらに、略記、転記ミス、OCRによる誤認識の可能性を含む姓名候補を生成し、姓名候補リストに追加する構成を採用することができる。この姓名候補は、同音でもなく同字でもない姓名候補を生成させることができる実施形態である。本実施形態では、記載時に略記される可能性が高かったり、転記ミスを生じさせやすかったり、OCRの誤認識の可能性のある姓名候補となる姓名シーケンスを生成させる。
【0099】
図10は、本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャートである。図10の処理は、ステップS1000から開始する。なお、処理は姓名シーケンスを構成するフレーズではなく、漢字ごとについて文字シーケンスの先頭から末尾まで順に判定してゆくものとするが、当該判定は、逆順でもかまわない。ステップS1001では、先頭から末尾まで姓名シーケンスを構成する漢字をチェックし、図6に示したテーブルを参照し、姓名シーケンスが含む漢字について、異字体テーブル134および類似モデル・テーブル132を参照して、参照姓名候補を生成し経路マップを生成する。
【0100】
この際、参照姓名候補は、姓名候補として生成された姓名が含む漢字を含む可能性のある姓および名を網羅的に抽出し、抽出された姓名に関して図6のテーブルを参照して異体字や外観において類似する可能性のある漢字で、類似する漢字を置換した姓名を類似姓名候補として設定することができる。具体的には、姓=「萩原」には、「萩原」の他、「萩野」、「萩」などの姓が想定でき、外観で類似し、誤りを考慮すれば、「荻原」、「荻野」、「荻」などが可能性のある候補とされる。なお、姓名候補と、参照姓名候補との間で対応付けできない漢字がある場合、例えば、「萩原」に対して「伯耆原」など、適切な大数を設定し、コストを高めることで、類似姓名候補から排除することができる。
【0101】
図10の処理について、具体的な姓名シーケンスを使用して説明すると、図9で説明した類似スコアの最も高い姓名シーケンスが、「荻野明▲高▼」であり、ステップS1001で「萩原朋高」が生成された場合について具体的に説明する。なお、姓名シーケンス「荻原朋高」については、「荻」、「明」と「萩」、「朋」が類似モデル・テーブル132で設定したしきい値以下のコスト(それぞれ0.3、0.4)で類似し、「高」と「▲高▼」とは、異字体として、コスト=0.1が割当てられ、設定したしきい値以下の値を有しているので、姓名候補として生成される。
【0102】
また、姓=「萩野」に対しては、姓=「荻野」、「萩原」が抽出され、漢字「野」と「原」とは類似でもなく、異字体でもないので、コスト=2.0が割当てられている。なお、上述したコストについてのしきい値は、特定の用途、精度、および処理効率を考慮して適宜設定でき、概して低くしすぎると類似姓名候補が制限されることから、姓名候補の列挙精度が低下し、高くしすぎると処理効率が低下する。
【0103】
姓名候補の「荻野明▲高▼」と、生成された「萩原朋高」について、配列順位ステップS1001で、同一漢字か否かを文字コードを比較することにより、判断し、同一漢字でない場合(no)処理をステップS1002に渡す。また、同一漢字であれば、コスト=0に設定し、処理をステップS1002に渡す。ステップS1002では、処理中の漢字が異体字であるか否かを判断する。異体字でもない場合(no)、処理をステップS1003に渡し、異体字である場合(yes)、ステップS1008で、異体字テーブル134をルックアップして、コストを取得し、処理をステップS1003に渡す。ステップS1003では、比較対象の文字が外観的に類似し、転記ミスや、誤記、または誤認識を生成させるエントリとして登録されているか否かを判断する。
【0104】
処理中の漢字が、当該エントリに登録されていなければ、処理をステップS1005に渡し、登録されている場合(yes)には、ステップS1009で、類似モデル・テーブル132をルックアップして登録されたコストを取得し処理をステップS1005に渡す。ステップS1005では、登録されたコストを経路マップに沿って総和して、経路コストを計算し、コストの最も低い姓名シーケンスを選択して姓名候補に対して類似する類似姓名候補として登録し、ステップS1006で処理を終了させる。なお、他の実施形態では、登録した類似姓名候補は、姓名候補生成部126へと送付され、図3で説明した処理で生成された姓名候補に対する追加情報として、姓名候補リストに追加する。
【0105】
図11は、図10の処理で使用する経路コスト計算処理1100の実施形態を示す。図11に示した経路マップ1110は、列方向が、図9で説明した処理によって抽出された姓名候補であり、行方向が、図10に説明した処理で生成された類似姓名候補の姓名シーケンスである。漢字「萩」、「荻」の間のコストは、図6に示すように、0.3であり、音は似ているが、「原」と、「野」は、説明する実施形態では、非類似であるため、経路マップ1110の矩形の辺を通過する。なお。矩形の片については、経路コスト=1.0を与え、図6のテーブルとの対応付けを可能とする。また、漢字「明」と「朋」については、0.4として設定され、漢字「高」と「▲高▼」については、異字体であることから、コスト=0.1が割当てられている。
【0106】
図11に示した経路マップでは、設定された閾値以下のコストが登録されている場合には、対角線上の経路を進行して最小コスト経路1120に沿った経路コストが計算される。一方、設定されたしきい値以下のコストが登録されていない場合には、対角線の端点を連結する矩形の辺を進行し、漢字列が全く一致していない場合には、最大コスト経路1130で示されるように、最外辺のみを通過する。このため、先頭文字から最終文字まで漢字の類似性に関連して経路を選択してコストの累積計算を実行させることで、経路コスト=2.8が与えられる。なお、当該経路コストは、姓名の類似性を示す類似指標値として使用することができる。
【0107】
なお、姓名候補と参照姓名候補とが文字数が異なる場合、対応付け不能な文字が検出された段階で大数で与えられるコストを割当て、類似姓名候補から排除されるようにすることで、「伯耆原」などの候補を除外することができる。なお、経路コストは、説明している実施形態では、低コストの方がより尤度の高い姓名候補となるので、生成された姓名候補のうち、例えば設定したしきい値以下のコストを有する類似姓名候補を、姓名候補リストに追加し、最終的な結果リストを構成する。
【0108】
なお、図11に示した実施形態では、図6のテーブルを使用して対応付けする類似姓名候補および経路マップ1100を予め生成し、経路コストを計算するものとして説明した。さらに他の実施形態では、漢字−漢字間に誤記や転記ミスを生じさせる遷移確率を割当て、Vitabiアルゴリズムを使用して列方向に登録された姓名候補と、行方向に登録された姓名候補との間の経路探索を実行し、対数尤度の最小となる経路を与える姓名候補を、類似姓名候補として生成し、結果リストに追加することができる。
【0109】
また、図10および図11に示した処理は、サーバ110の姓名候補生成部126のモジュールとして構成する他、姓名類似度を判断する姓名類似度計算部128とそして独立した処理部として構成することができる。姓名類似度判断部128は、漢字シーケンスを受領して、各処理を実行した後、受領した漢字文字シーケンスを図11の列に設定し、類似する姓名候補を生成して、行に設定して経路コストを計算し、その結果をクアライアント150に返すことができる。
【0110】
図12は、漢字シーケンスの入力を行う場合のGUI1200を示す。例えば、クライアント150は、サーバ110から姓名候補のリストを受領して、可能性のある姓名候補が他にないかどうかを知ることを希望する場合もある。このような場合、クライアント150は、図12に示したGUI1200を表示させ、対象とするべき漢字シーケンスを入力し、可能性のある姓名候補を取得することができる。
【0111】
図12に示したGUI1200には、表示ウィンドウ1210内に、漢字文字列類似度判定を行うためのGUIであることの表示1220が表示されている。クライアントのユーザは、入力フィールド1230に対象とする漢字シーケンスを入力し、「OK」ボタンをクリックしてサーバ110に漢字シーケンスを送付する。サーバは、上述した処理を適用してクライアント150から送付された姓名=「萩野明▲高▼」に類似する類似姓名候補を生成し、そのリストを、類似候補リスト1250としてクライアントに返す構成とすることができる。
【0112】
なお、姓名類似度計算部128を、姓名候補生成部126のモジュールとして構成するか、または独立した処理部として構成するかについては、特定の用途における目的に応じて適宜選択してサーバ110に実装することができる。
【0113】
さらに、表意文字シーケンスまたは表音文字シーケンスの姓、名、または姓名の入力のみで、表音特性に関連して同一または類似する姓名候補の他、表音特性に関して非類似の姓名候補を、CJKVおよびインド・ヨーロッパ語など多言語を考慮して類似性を判断することが可能な情報処理装置、情報処理方法およびプログラムが提供できる。
【0114】
以上、本発明によれば、入力された文字シーケンスを使用して複数の異なる表記についての類似性を判断して姓名候補を生成することができ、さらに、生成された姓名候補について、同音でもなく同字でもない誤記、転記ミス、略記、変換エラーなどの可能性を含めた類似姓名候補を生成することができ、さらには、グローバルな姓名表記に対応可能な、情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することができる。
【0115】
本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【0116】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【0117】
【図1】本実施形態の情報処理システム100の機能ブロック図。
【図2】本実施形態のサーバ110が実行する類似度生成のための処理シーケンス200を説明する図。
【図3】本実施形態の姓名候補を生成する情報処理方法のフローチャート。
【図4】本実施形態の他表記取得部120が実行するカナ−アルファベット変換処理のフローチャート。
【図5】図4で説明した隠れマルコフモデルを使用するアルファベット変換の状態遷移図。
【図6】図1で説明した、類似モデル・テーブル132、異字体テーブル134、同一・非類似漢字テーブル136の実施形態を示した図。
【図7】本実施形態で、サーバ110が入力される可能性のある文字シーケンスに対応する表記ベクトルを使用した、スコア・サブマトリックス700の実施形態を示した図。
【図8】類似スコアを計算する場合に作製する類似度ベクトルの生成処理を説明するための要素割当てマップ800を示した図。
【図9】スコア・サブマトリックスを部分マトリックスとして含む、スコア付けマトリックス900の実施形態を示した図。
【図10】本実施形態で、同音でもなく同字でもない類似姓名候補を抽出する処理のフローチャート。
【図11】図10の処理で使用する経路コスト計算処理1100の実施形態を示した図。
【図12】漢字シーケンスの入力を行う場合のGUI1200を示した図。
【符号の説明】
【0118】
100…情報処理システム、110…サーバ、112…ネットワーク、114…ネットワーク・アダプタ、116…文字シーケンス取得部、118…文字判定部、120…他表記取得部、122…類似度計算部、124…類似スコア計算部、126…姓名候補生成部、128…姓名類似度計算部、130…表音文字変換テーブル、132…類似モデル・テーブル、134…異字体テーブル、136…同一・非類似漢字テーブル、140…GNRサーバ、150…クライアント・コンピュータ、160…GNR処理部
【特許請求の範囲】
【請求項1】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理装置。
【請求項2】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項1に記載の情報処理装置。
【請求項4】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項3に記載の情報処理装置。
【請求項5】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項1に記載の情報処理装置。
【請求項6】
情報処理装置が実行する姓名類似を判断する情報処理方法であって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、情報処理方法。
【請求項7】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項6に記載の情報処理方法。
【請求項8】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項6に記載の情報処理方法。
【請求項9】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項8に記載の情報処理方法。
【請求項10】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項6に記載の情報処理方法。
【請求項11】
姓名類似を判断する情報処理方法を情報処理装置が実行するための情報処理実行可能なプログラムであって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、コンピュータ実行可能なプログラム。
【請求項12】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項11に記載のプログラム。
【請求項13】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項12に記載のプログラム。
【請求項14】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項13に記載のプログラム。
【請求項15】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項11に記載のプログラム。
【請求項16】
姓名類似を計算するための情報処理システムであって、前記情報処理システムは、
ネットワークを介して接続されたクライアント・コンピュータと、
前記クライアント・コンピュータから姓名を示す文字シーケンスを受領して、姓名類似を判断するサーバ・コンピュータと、を含み、前記サーバ・コンピュータは、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理システム。
【請求項17】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項16に記載の情報処理システム。
【請求項18】
前記情報処理システムは、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項16に記載の情報処理システム。
【請求項19】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項18に記載の情報処理システム。
【請求項20】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項16に記載の情報処理システム。
【請求項21】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含み、
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成し、
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部と、
前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、
前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールであり、
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、情報処理装置。
【請求項1】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理装置。
【請求項2】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項1に記載の情報処理装置。
【請求項4】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項3に記載の情報処理装置。
【請求項5】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項1に記載の情報処理装置。
【請求項6】
情報処理装置が実行する姓名類似を判断する情報処理方法であって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、情報処理方法。
【請求項7】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項6に記載の情報処理方法。
【請求項8】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項6に記載の情報処理方法。
【請求項9】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項8に記載の情報処理方法。
【請求項10】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項6に記載の情報処理方法。
【請求項11】
姓名類似を判断する情報処理方法を情報処理装置が実行するための情報処理実行可能なプログラムであって、前記情報処理装置が、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定するステップと、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成するステップと、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算するステップと、
前記類似度計算部が計算した使用して前記姓名候補について類似スコアを計算するステップと
を実行する、コンピュータ実行可能なプログラム。
【請求項12】
前記表記ベクトルを生成するステップは、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成するステップを含む、請求項11に記載のプログラム。
【請求項13】
さらに、外観の類似する前記表意文字を対応付ける類似モデル・テーブルおよび前記表意文字の異字体を登録する異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算するステップを含む、請求項12に記載のプログラム。
【請求項14】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付するステップを含む、請求項13に記載のプログラム。
【請求項15】
前記スコアを計算するステップは、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成するステップを含み、
前記類似スコアを計算するステップは、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算するステップを含む、請求項11に記載のプログラム。
【請求項16】
姓名類似を計算するための情報処理システムであって、前記情報処理システムは、
ネットワークを介して接続されたクライアント・コンピュータと、
前記クライアント・コンピュータから姓名を示す文字シーケンスを受領して、姓名類似を判断するサーバ・コンピュータと、を含み、前記サーバ・コンピュータは、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるためのスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含む、情報処理システム。
【請求項17】
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成する、請求項16に記載の情報処理システム。
【請求項18】
前記情報処理システムは、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部を含む、請求項16に記載の情報処理システム。
【請求項19】
さらに、前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールである、請求項18に記載の情報処理システム。
【請求項20】
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、請求項16に記載の情報処理システム。
【請求項21】
姓名類似度を計算する情報処理装置であって、
姓名を示す文字シーケンスを受領し、受領した前記文字シーケンスを構成する文字種類を判定する文字判定部と、
前記文字シーケンスから、前記文字シーケンスを表意文字または表音文字を含む他の文字種類で記述した他表記を生成し、表音文字を含む少なくとも異なる2種の姓名表記を含む表記ベクトルを生成する他表記取得部と、
前記文字種類に応答して異なる類似判断を実行し、前記表記ベクトルの要素について類似性の尺度を与えるスコアを計算する類似度計算部と、
前記類似度計算部が計算した前記スコアを使用して前記姓名候補について類似スコアを計算する類似スコア計算部と
を含み、
前記他表記取得部は、前記文字シーケンスの文字種がアルファベットであると判断された場合には、前記文字シーケンスに対応する表音文字を使用した前記他表記を生成し、前記文字シーケンスがカナであると判断した場合、表意文字で前記他表記を生成し、
前記情報処理装置は、外観の類似する表意文字を対応付ける類似モデル・テーブルと、前記表意文字の異字体を登録する異字体テーブルとを管理し、さらに前記他表記の姓名候補について、前記類似モデル・テーブルおよび異字体テーブルをルックアップして外観類似および字体の相違を含めて経路コストを計算する姓名類似度計算部と、
前記類似スコアを使用して前記姓名候補を選択し、前記文字シーケンスの送付元に姓名候補リストとして送付する姓名候補生成部を含み、
前記姓名類似度計算部は、前記姓名候補生成部のモジュールまたは前記情報処理装置の独立したモジュールであり、
前記類似度計算部は、評価対象である前記表記ベクトルの要素についてのスコアを登録したスコア・サブマトリックスを生成し、前記類似スコア計算部は、前記スコア・サブマトリックスのスコアを使用して前記スコア・サブマトリックスの類似度の指標を与える類似スコアを計算する、情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2010−44597(P2010−44597A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−208297(P2008−208297)
【出願日】平成20年8月13日(2008.8.13)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
【Fターム(参考)】
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願日】平成20年8月13日(2008.8.13)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100110607
【弁理士】
【氏名又は名称】間山 進也
【Fターム(参考)】
[ Back to top ]