JP2009266110A - 情報処理装置、姓名識別方法、情報処理システム、およびプログラム - Google Patents

情報処理装置、姓名識別方法、情報処理システム、およびプログラム Download PDF

Info

Publication number
JP2009266110A
JP2009266110A JP2008117538A JP2008117538A JP2009266110A JP 2009266110 A JP2009266110 A JP 2009266110A JP 2008117538 A JP2008117538 A JP 2008117538A JP 2008117538 A JP2008117538 A JP 2008117538A JP 2009266110 A JP2009266110 A JP 2009266110A
Authority
JP
Japan
Prior art keywords
name
morpheme
character string
last name
last
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008117538A
Other languages
English (en)
Other versions
JP5466376B2 (ja
Inventor
Tsuyoshi Fukuda
剛志 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008117538A priority Critical patent/JP5466376B2/ja
Publication of JP2009266110A publication Critical patent/JP2009266110A/ja
Application granted granted Critical
Publication of JP5466376B2 publication Critical patent/JP5466376B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】情報処理装置、姓名識別方法、情報処理システム、およびプログラムを提供すること。
【解決手段】情報処理装置100は、マルチバイト文字列を、登録する字体に正規化する漢字正規化部114と、正規化後の文字列を形態素トークンに分割し、かつ形態素トークンに割当てられた属性識別子を取得する形態素解析部116と、形態素トークンと、属性識別子と、形態素トークン間の属性識別子から接続識別子を生成し、文化圏についての重付けを与える文化圏重付け値を生成して姓名候補リストとして登録する姓名候補作成部118と、形態素トークン、接続識別子、および文化圏重付け値について割当てられたスコア値を取得し、合計スコア値を計算して、姓名の先頭から末尾までの距離の尺度を与える姓名距離を使用して姓名候補とするスコア計算部120と、姓名候補が含む形態素トークンの姓および名に対応するシングルバイト文字列を出力する。
【選択図】図1

Description

本発明は、姓名識別を行う情報処理技術に関し、より詳細にはマルチバイト文字を含む人名の検索をその発音特性を含めて可能とする、情報処理装置、姓名識別方法、情報処理システム、およびプログラムに関する。
アルファベットなどのシングルバイト文字で記述された人名を比較して、人名の類似性を、類似性スコアを計算することにより比較する方法は、人名検索のために利用されている。シングルバイト文字で記述された人名を検索するためのシステムとしては、例えば、米国特許第6、963、871B1明細書(特許文献1)には、アルファベットで記述された人名を検索する自動化人名検索システムが開示されている。
また、http://publibfp.boulder.ibm.com/epubs/pdf/c1912860.pdf(非特許文献1)で指定されるURIには、アルファベット表記された人名についての類似性を使用して、人名検索する、Global
Name Analytics(GNA)システムが開示されている。
一方、日本語など、マルチバイト文字で記述された文書を、設定された単位の語(トークン)に分割して文書検索を行う情報検索装置は、例えば特開2004−206473号公報(特許文献2)に記載されている。さらにマルチバイト文字で記述された人名のうち、姓、名を使用して異なる重み付けを付与して検索する情報検索装置技術も例えば、特開2004−295797号公報(特許文献3)に記載されている。
特許文献1〜3、非特許文献1に開示される情報検索は、アルファベットや、その他のシングルバイトコードで記述される人名を検索するには、充分な精度および検索性を提供することができる。また、特許文献2、3では、1文字がマルチバイトコードで定義されるマルチバイト文字で記述された文書を検索し、また文書中から人名を抽出して重み付けに反映させることも可能である。しかしながら、日本語など、マルチバイト文字で記述される言語を使用する文化圏では、同一の文字について異なる発音が割当てられる可能性がある。例えば、日本語で漢字「大」は、人名に使用された場合、「dai」、「hiroshi」などの複数の発音が割当てられることも想定される。
また、姓名は、文化圏の相違に大きく依存し、文化圏が異なる場合、姓名同一であっても(Sir Name, Given Name)の並び順が異なることや、漢字などのマルチバイト文字が異なる複数の発音特性を派生させ、この結果、異なるアルファベット表記を生じさせる場合もある。このような場合、特許文献1〜3および非特許文献1に記載された姓名検索技術は、効率的な姓名識別を行うものではない。このため、マルチバイト文字で記述された人名の検索は、シングルバイト文字における人名検索技術とは異なる技術を必要とするということができる。
例えば典型的なマルチバイト文字である日本語の漢字で記述された人名について考える。漢字の文字列をローマ字に変換する技術は、種々想定できる。例えば、漢字列に対して形態素解析技術を適用して検索を実行する技術が知られている。形態素解析においては、品詞や頻度情報を含む辞書を参照し、姓および名といった入力文字列を形態素解析して行き、辞書に登録されるエントリ単位にまで分解する。形態素分解のパターンが複数存在する場合は、分割数を最小とするものを優先的に選択する手法や、文法情報や頻度情報を用いて最尤の候補を選択する手法を使用して人名を形態素に分解することによって、姓名の検索が行われる。
また、漢字の読みの違い、すなわち発音特性の相違に対応する場合には、漢字の読み方を、漢字に対応して登録した辞書を用いて漢字に対する発音の多様性に対応する方法も知られている。近年、経済活動のグローバル化、交通機関の発達、ネットワーク技術の進歩に伴い、異なる文化圏に属する者が異文化圏において生活したり、経済活動を行ったり、サーバにアクセスするなどの種々の活動が通常に行われている。このため、文化圏を越えて姓名を検索する必要性がますます高まっている。さらに、近年では、年金、銀行口座の統合を目的とする名寄せ、マネーロンダリングなど文化圏が同一の場合や非同一の場合に、これらを総合して姓名の同一性が同一人物であることを示しているか否かを判断する必要性もますます増大してきている。
米国特許第6、963、871B1明細書 特開2004−206473号公報 特開2004−295797号公報 http://publibfp.boulder.ibm.com/epubs/pdf/c1912860.pdf
上述したように、漢字などのマルチバイト文字を含む姓名の検索を実行する方法として、形態素解析法および読み方辞書を使用して行う方法が知られている。しかしながら、漢字で書かれた姓名は、アルファベットの姓名とは異なり、スペースやカンマなどの区切り文字で分割されず、一続きで記述される。このため、何処までが姓であり、何処までが名であるのかについて、直接的に判断することはできない。また、姓名には、敬称や役職名などが前後に追加される場合もある。このような漢字で記述された人名を、姓・名・敬称のコンポーネントへ分割することは、多くの知識を有する人間にとっては容易であると考えられるが、複数の分割方法が存在する場合もあり、また再現性や正確性にかけるという問題点がある。一方、コンピュータを使用して姓名分割を自動実行する場合には、分割のパターンを選択しなければならないという曖昧さを解決する必要がある。さらに、漢字には、新字体、旧字体、異字体、略字体などが存在し、これらの相違を統合して人名を識別することが必要とされていた。
さらに、人名の姓、名といった各コンポーネントを仮名またはアルファベット(ローマ字)に転写(transcribe)する場合について考えると、漢字の読み方の多様性や、漢字などの発音特性をアルファベットに変換するパターンの多様性に起因して、数多くの候補が存在する。このため、姓名識別の多様性に加え発音の多様性も加わり、人名検索を行う上で充分な精度および効率を提供することができないという問題もある。
さらに、同じ漢字を使った名前であっても、文化圏の違いによる表音特性の相違もある。例えば、中国の発音特性および日本の発音特性は、同一の漢字であってもまったく異なるため、単純な辞書引きだけでは正しい発音特性は推定できない。発音特性は、漢字、ハングルで記述された場合、姓名のアルファベット表記や仮名表記に直結することになるので、人名の検索において人名記載の多様性に対応するためにもマルチバイト文字−シングルバイト文字の転写までも含めた検索を行うことが重要であった。
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、漢字など複数の発音特性を与える可能性があり、漢字、平仮名、カタカナ、ハングルなどで記述された姓名を、アルファベットへの転写の曖昧さを排除して、マルチバイト文字の姓名からアルファベット表記の姓名を生成する、情報処理装置、姓名識別方法、情報処理システム、およびプログラムを提供することを目的とする。
本発明は上記課題を解決するために、姓名を含む文字列について形態素解析を実行する。形態素解析では、文字列に対して形態素トークンを割当て、形態素トークン列とする。形態素解析に使用する形態素辞書には、形態素トークンの他、形態素トークンが姓、名、または姓名に対して付属される「君」、「代表取締役」などの付属語といった属性を示すための属性識別子と、形態素トークンが、日本語圏、韓国語圏、または中国語圏など、どの文化圏の帰属とともに分類されている。
形態素解析の結果は、全部列挙されて、姓名候補作成部に送付される。姓名候補作成部では、姓名候補リストを作成する。姓名候補リストは、形態素トークンと、形態素トークン間の接続関係を示す接続識別子と、形態素トークンが属する文化圏で決定される姓名特性によって指定される文化圏重付け値を少なくとも登録する。文化圏重付け値は、姓名の形態素分割において、当該文化圏の姓名シーケンス順となっていない場合および文化圏特有の文字、例えば日本語圏であっては国字を含む場合に、当該文化圏の特有性を付与された姓名候補について非通常の分類であることを示す値とされる。
また、他の実施形態では、姓名候補リストは、姓名候補の文化圏を陽に示す文化圏識別値を登録することもでき、文化圏ごとに最尤の姓名候補を特定し、文化圏ごとに可能性のあるアルファベット文字列の出力を可能としている。
姓名候補リストのフィールドに登録された値には、形態素トークンの姓、名として使用される頻度に対応したスコアが付されている。また、形態素トークン間の属性識別子についてもスコアが割当てられている。当該実施形態の場合、文化圏重付け値は、スコア合計を行うための例えばSQL文、スクリプトなどの設定値として登録することができる。また、他の実施形態では、文化圏重付け値についてのスコアが割当てられていてもよい。
スコア計算部は、姓名候補リストに登録された形態素トークン、接続識別子、文化圏重付け値のスコア値を合計して、合計スコア値を計算する。合計スコア値は、姓名の先頭から末尾までの距離を示す姓名距離の尺度として使用され、姓名距離の最小の姓名候補が、表記変換部に送付され、アルファベット表記などのシングルバイト文字に変換される。
他の実施形態では、姓名距離の最小のものから設定された数の姓名候補を抽出し、これらについてまとめて表記変換を実行することができる。さらに他の実施形態では、文化圏識別子ごとに生成された姓名候補について、文化圏識別値ごとに最小の姓名距離の姓名候補を抽出し、表記変換を実行することもできる。
本発明によれば、文化圏ごとに最尤の姓名候補についてシングルバイト文字列への変換を行うことができ、また、本発明によれば、姓名が複数の文化圏にまたがる場合であっても、最尤の発音特性に対応したシングルバイト文字列への変換を可能とする、情報処理装置、姓名識別方法、情報処理システム、およびプログラムを提供することができる。
さらに、本発明によれば、マルチバイト文字を使用する文化圏の姓名について最尤のシングルバイト文字列を、既存の姓名識別システムへの入力文字列として使用可能とする、情報処理装置、姓名識別方法、情報処理システム、およびプログラムを提供することができる。
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の情報処理装置100について機能ブロックを示す。情報処理装置100は、好ましくは、サーバとして構成することができる。なお、他の実施形態で、処理容量やアプリケション・サイズなどの点で姓名識別処理が可能な場合、ワークステーション、パーソナル・コンピュータとして実装することもできる。
以下、情報処理装置100のハードウェア構成について概略的に説明する。情報処理装置100は、オペレーティング・システム(OS)の下で各種処理を管理するシングルコアまたはマルチコアのCPUと、アプリケーションの実行空間を与えるRAMと、初期セットアップ用のブートコード、BIOSなどを格納するROM、およびハードディスク装置などを含んで構成されている。
CPUとしては、例えば、PENTIUM(登録商標)、PENTIUM(登録商標)互換チップ、などのCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのマイクロプロセッサをシングルコア、またはマルチコアとして実装することができる。さらに、CPUの処理の命令フェッチ、データフェッチなどの高速化する目的で、L1キャッシュ、L2キャッシュ、L3キャッシュなどの階層キャッシュを実装することができる。
OSとしては、例えば、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)、AIX(登録商標)などを使用することができる。また、情報処理装置100は、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBYなどのプログラミング言語を使用して記述される各種アプリケーションを実行して、入力されたデータを処理し、処理結果を生成させている。情報処理装置100をサーバとして構成する場合、情報処理装置100は、ウェブ・サーバまたはCORBA(Common Object Resource Broker Architecture)などを使用する分散コンピューティング環境を提供するためのサーバとすることができる。
情報処理装置100をネットワークを介してデータを提供するサーバとして構成する場合、情報処理装置100は、LAN、WAN、インターネットなどのネットワーク(図示せず)を介して、HTTP、HTTPSなどのファイル転送プロトコル、RPC、RMIなど手続呼出しやメソッド呼出しを使用して、ネットワークを介して接続されたクライアント・コンピュータ(図示せず)から、姓名に対応する漢字列といったデータを受信し、アプリケーションによる処理を実行する。
情報処理装置100をウェブ・サーバとして構成する場合には、情報処理装置100は、上述したプログラミング言語により記述された、CGI、サーブレット、APACHEなどのサーバ・プログラムを実行し、ウェブ・クライアントに対して処理結果である、姓名識別値、姓名識別値により参照される銀行口座、年金情報などの特定情報などを返す。
図1を参照して情報処理装置100の機能ブロックについて説明する。情報処理装置100の各機能処理部は、上述したハードウェア資源を含むコンピュータ装置110で、プログラムをRAM上に展開することによってコンピュータ上に機能手段として実現することができる。情報処理装置100は、CGIなどを使用して構成された入力インタフェース112を備えている。入力インタフェース112は、外部から入力される姓名と考えられる文字列を受領して、以後の処理を実行するための各機能ブロックを呼出す。本実施形態では、姓名と考えられる文字列としては、マルチバイト文字を含み、例えば、漢字列、カタカナ列、仮名列、ハングル列など、表意文字列でもよいし、表音文字でもよく、表意文字および表音文字の混合文字列であってもよい。
情報処理装置100は、さらに、漢字正規化部114と、形態素解析部116と、姓名候補作成部118とを含んでいる。漢字正規化部114は、文字列が漢字を含む場合、漢字辞書124を参照し、異字体、旧字体、略字体などを、コンピュータが処理するに適切な字体に修正する。適切な字体とは、各文化圏について規格の字体を挙げることができ、日本語については例えば、JIS第1水準、JIS第2水準などで設定された字体に修正し、情報処理装置100が形態素解析において統一して処理を実行する。漢字辞書124は、この目的のため、異字体、旧字体、略字体などを、情報処理装置100が登録する漢字に対応付けたテーブルとして構成される。
形態素解析部116は、正規化処理後の文字列を受領して、形態素トークンを登録した形態素辞書126を参照し、文字列を、形態素トークン列に分解する。また、形態素辞書126は、形態素トークンが帰属される文化圏を示す識別値および当該文化圏で、当該形態素トークンが姓(SN:Sir Name)として使用されるか、名(GN:Given Name)として使用されるかを示す属性識別子を登録する。形態素解析部116は、形態素トークンが帰属される文化圏識別値、姓を示すか、名を示すか、または付属語を示すかの属性識別子を形態素辞書126から取得して、対として後述する姓名候補作成部118に送付する。
また、形態素辞書126は、姓名と判断される文字列の前後に付される場合がある、「代表取締役」、「部長」、「課長」、「係長」、「教授」、「君」、「様」、「殿」などの形態素トークンに対し、付属語であることを示す識別子「SX(Suffix)」を付属語とされる可能性のある形態素トークンに割当てて登録する。以下、姓、名、付属語を示すための識別子を、属性識別子として参照する。
なお、形態素辞書126は、異字体、旧字体、略字体など同一の漢字として処理することが可能な形態素トークンを登録する同義漢字辞書(図示せず)を実装することもできる。この場合、形態素辞書126が異字体、旧字体、略字体などの漢字の相違を含め姓名候補を作成することもできる。この実施形態の場合にあっては、漢字正規化部114、漢字辞書124の機能は、形態素辞書126の機能に統合させることができる。
なお、本実施形態では、漢字の字体が異なる文字列であっても、当該文字列に対応するアルファベット表記を出力するので、複数の異字体からなる姓名候補を作成するよりも、漢字正規化部114、漢字辞書124を使用して形態素解析前に文字列を統一して処理することが、後述する姓名候補作成部118以後の処理を効率化する点では好ましい。
形態素解析部116は、文字列を解析し、文字列を、姓に対応する形態素トークン、名に対応する形態素トークン、付属語に対応する形態素トークンに分類し、形態素トークンについて割当てられた属性識別子を、形態素トークンに対応付けて抽出し、文字列に対応する順序で(形態素トークン、属性識別子、形態素トークン、属性識別子、・・・)といったベクトル型式、有向グラフ型式などの適切な型式で解析結果を姓名組合わせとして生成し、姓名候補作成部118に渡す。
姓名候補作成部118は、形態素解析部116が生成した姓名組合わせが抽出した姓名組合わせ情報を受領して、形態素トークンに付された属性識別子について接続を解析する。属性識別子の解析では、連続する形態素トークンに付された属性識別子を抽出し、接続識別子として決定する。そして、姓名候補作成部118は、形態素トークンの接続を特徴付ける接続識別子を、形態素トークン間に挿入する型式で、(形態素トークン−接続識別子−形態素トークン−接続識別子、・・・)のフィールドから構成されるレコードを含む姓名候補リスト(600、800)を、生成された全形態素トークン列について作成する。
この結果、姓名候補作成部118が作成する姓名候補リスト(600、800)は、特定の姓名候補についての形態素トークンおよび接続識別子が1レコードを構成するフィールドを構成する。また、特定の実施形態では、姓名候補リスト(600、800)は、姓名候補について計算された合計スコア値を登録するフィールドを含んで構成することもできる。合計スコア値を登録するフィールドには、スコア計算部120により形態素トークンの属性識別子および接続識別子を使用して計算された合計スコア値を登録し、処理結果として出力するべき姓名候補を選択するために使用される。
また、姓名候補作成部118は、入力文字列が、漢字、ハングル、カタカナ、平仮名などを含んで構成される場合、文化圏判断を実行し、文化圏重付け値を生成する。文化圏重付け値は、文字列が漢字、ハングル、カタカナ、平仮名などを含む場合、付属語を除いた姓名候補の先頭に存在する形態素トークンの人名属性識別値が、SNであるか、GNであるかを判断する。また、姓名候補作成部118は、姓名候補の形態素トークンと名候補の形態素トークンとに対し、各形態素トークンがどの文化圏に帰属されるかを判断して、姓、名が同一の文化圏に帰属される場合と、異なる文化圏に帰属される場合でも、姓名シーケンスの場合と同様に、異なる文化圏重付け値を生成して、姓名候補リスト(600、800)に登録する。
さらに、他の実施形態では、姓名候補作成部118は、姓名候補ごとに文化圏識別値を生成し、後述するスコア計算部120に対し文化圏ごとに最尤の姓名候補を利用可能とすることができる。
スコア計算部120は、姓名候補リスト(600、800)の特定のレコードについて、当該レコードの値がNULLではないフィールドの値を取得する。その後、スコア計算部120は、スコア・テーブル128を参照して当該フィールド値について割当てられたスコア値を取得し、処理レコードの非NULLのフィールド値について取得されたスコア値を合計する。さらに、スコア計算部120は、文化圏重付け値についてのスコア値を加算して合計スコア値を計算し、姓名候補リスト(600、800)の対応するレコード内に記述する。
なお、文化圏重付け値は、スコア・テーブル128に登録されている場合、スコア計算部120が計算のために参照されるが、スコア計算部120を記述するSQL文やスクリプトの定数として設定することができる。スコア・テーブル128が登録する各スコア値は、形態素トークン列が与える、姓名候補の文字列の先頭から末尾までの姓名距離を示すものとして利用される。
好ましい実施形態では、姓名候補リストのレコードの非NULLの値を総和して合計スコア値を計算させ、当該合計スコア値を、文化圏判断を含む姓名の先頭から末尾までのシーケンスの距離を示す値として使用する。また、他の実施形態では、より精度は低くなるが、文化圏重付け値姓および名候補が含む接続識別子の総数を使用して姓名候補の先頭から末尾までの距離の指標として使用することもできる。
表記変換部122は、合計スコア値の最小な姓名候補を姓名候補リスト(600、800)から最尤の姓名候補として抽出する。表記変換部122は、最尤の姓名候補について、変換辞書130を参照して、最尤の姓名候補について登録されたアルファベット表記を、姓および名について割当て、姓名候補についての最尤のアルファベット表記として出力する。アルファベット表記変換辞書130は、最尤の姓名候補が含む文字が姓または名に使用される統計的確率、または漢字の場合には漢字が国字であるか、非国字であるかを使用して、文化圏ごとに異なるアルファベット表記を登録している。なお、姓名候補リスト(600、800)は、RAMなどの記憶装置内に処理中に生成される例えばビューなどとして構成することができ、その詳細な構成については後述する。
表記変換部122は、姓名候補の文字列を登録するテーブルを登録した変換辞書130に対して姓名候補の文字列を姓および名について照会する。表記変換部122は、文字列について設定されたアルファベット表記を抽出し、同一の表意文字であっても、文化圏ごとにその表記が異なる可能性に対して対応可能としている。
図1で説明した各機能部は、JAVA(登録商標)、PERL、RUBYなどのプログラミング言語によるサーバ・プログラムとして実装することができる。また、他の実施形態で、DB2(登録商標)、MYSQL、ORACLE(登録商標)などのリレーショナル・データベースや、オブジェクト指向データベース(OODB)が利用できる場合、各種処理を実行するSQL文(Structured Query Language)を使用して作成した機能モジュールとして実装することができる。いずれの形態で実装するかについては、プログラミングの便宜や、データベースの利用性に応じて適宜選択することができる。
図2は、本実施形態の情報処理装置100の姓名識別方法のフローチャートである。図2に示す処理は、ステップS200から開始し、ステップS201で、姓名であると考えられる文字列について、文字列とともに姓名識別要求を受領したか否かを判断し、姓名識別要求を受領しない場合(no)、姓名識別要求を受領するまで処理をステップS201で待機させる。
ステップS201で姓名識別要求を受領した場合(yes)、ステップS202で文字列を取得し、ステップS203で漢字正規化部114を呼出して、文字列について異字体、旧字体、略字体の正規化処理を実行する。なお、姓名識別を要求する文字列が複数送付された場合、受領した文字列をキューに登録し、受領順に処理を実行する。なお、正規化処理は、日本語の異字体正規化処理の他、中国語と台湾語など、略字体が異なるものの同義語に分類されるべき漢字の正規化も同時に実行する。
ステップS204では、形態素解析部116を呼出して正規化後の文字列に対して形態素辞書126を参照して、姓および名として登録された形態素トークンおよび対応する属性識別値の候補を決定する。ステップS205では、姓名候補作成部118を呼出して、決定された形態素トークンおよび属性識別値を姓名候補リストのレコードの登録し、姓名候補リストを作成する。
ステップS206では、スコア計算部120を呼出してスコア計算を実行させる。計算された合計スコア値は、文字列についての姓名距離として、姓名候補リストの合計対象のレコードの合計スコア値フィールドに登録される。ステップS206では、表記変換部122は、姓名候補リストに登録された姓名候補のうち、姓名距離が最小の姓名候補を検索し、表記変換辞書130を使用して最尤のシングルバイト文字列として、特定の実施形態ではアルファベット表記を決定する。
ステップS207では、決定されたアルファベット表記を、処理結果として出力し、ステップS208では、キューに未処理の文字列が残っているか否かを判断する。未処理の文字列が残っていない場合(no)処理をステップS201に戻し、未処理の文字列がなくなるまで処理を繰り返す。
一方、キュー内に未処理の文字列が残っている場合(yes)には、処理をステップS202に戻し、別の文字列に対する姓名候補を決定し、ステップS207でアルファベット表記を出力するまで処理を反復させる。
なお、他の実施形態では、ステップS205のスコア計算部120の処理で、姓名距離の小さいものから複数の姓名候補を抽出し、それぞれについてアルファベット表記を割当てることもできる。また、さらに他の実施形態では、例えば文字列が「林子平」などのように、文字列に対して可能性のある複数の姓名候補が異なる文化圏について得られる場合も想定される。この場合、各文化圏について最尤の姓名候補をそれぞれ抽出し、ステップS206、ステップS207の処理を繰り返すことで、文化圏にまたがった複数のアルファベット表記を出力させることもできる。この実施形態では、各文化圏ごとに、最尤の姓名候補から昇順に複数の姓名候補を設定数抽出して、可能性のあるアルファベット表記の選択数を増加させてもよい。
図3は、図2で説明した処理のステップS204において、本実施形態の形態素解析部116が実行する形態素解析処理により生成される形態素トークン列生成処理の実施形態を示す。なお、図3の実施形態では、正規化後の文字列は、「下鶴間大和君」であるものとして説明を行う。
文字列が、「下鶴間大和君」である場合、姓名について知識を有する日本人の場合、何処までが姓で、どこまでが名であり、付属語がどれかを判断することは、姓名知識を利用することによってある程度分類可能である。また、例えば、文字列の何文字目までが姓であり、名であるのかについては、姓名についての統計解析により、形態素辞書126に登録しておくことが可能である。また、例えば、短い姓として、「間」、長い姓として、「勅使河原」、「左衛門三郎(サエモンサブロウ」、「勘解由小路(かでのこうじ)」などを例示的に挙げることができ、文字列の何処までを姓とし、何処までを名とするかについては、形態素辞書126で、姓、名として登録された形態素トークンの組合わせから、最尤の組合わせを与えるように姓名分割を実行することができる。
さらに、他の実施形態では、特に日本人の姓名を分割する場合、形態素辞書126において割当てるべき姓、名の組合わせについて、音声−言語処理で汎用的に利用される、モーラ解析を併用し、最尤の姓名分割を決定してもよい。
図3に示した実施形態で、文字列が、「下鶴間大和君」の場合、文字列の判断から、文化圏は、日本語、中国語、韓国語のいずれかであると判断される。説明している実施形態では、形態素トークン解析の結果、「下」、「鶴」、「下鶴」、「鶴間」、「下鶴間」、「大」、「和」、「君」、「大和」、「和」、「和君」の形態素トークンが抽出される。
これらの形態素トークンを使用して姓名を再現する場合、形態素解析部116は、文化圏の判断を、各文化圏での姓名として登録されているか否かを判断して、文化圏の判定を行う。図3に示した実施形態では、「下」、「鶴」、「間」、「下鶴」、「鶴間」、「下鶴間」を含む姓は、日本語の文化圏で姓に割当てられた形態素トークンである。なお、形態素トークン「下」および「鶴」については、日本語の文化圏では、名にも割当てられた形態素トークンであるものとして説明を行う。なお、図3には、代表的な属性識別子および当該属性識別子に割り当てたスコアの値を示す。
本実施形態の情報処理装置100の形態素解析部116は、図3に示す形態素トークン解析で、形態素トークン列をグラフ化する処理を実行する。形態素トークン列のグラフ化は、形態素トークン列について、特定した形態素トークンをノードとし、連続するノードに与えられた属性識別子から、連続する順で接続識別子を生成させて、文字列順に形態素トークンおよび接続識別子を登録することにより実行される。
図3に示した実施形態では、文字列「下鶴間大和君」について、形態素辞書126により、「鶴」、「下鶴」、「鶴間」、「下鶴間」、「大」、「和」、「君」、「大和」、「和」、「和君」の形態素トークンが抽出されている。そして、文字列「下鶴間大和君」を、先頭の「下」から末尾の「君」までについて、抽出された形態素トークン列を割当てる。具体的には、形態素トークン「下鶴間」については、「下」、「鶴」、「間」、「下鶴」、「鶴間」、「下鶴間」の6形態素トークンが抽出され、これらの形態素トークンを文字列「下鶴間」に割当てる。
図3に示した実施形態では、「下鶴間」に対して、{「下(SN)」−「鶴間(SN)」}、{「下(GN)」−「鶴(GN)」−「間(SN)」}、{「下鶴(SN)」−「間(SN)」}、{「下鶴間(SN)」}の形態素トークン列が割当てられている。そして、図3に示した実施形態では、姓として使用される可能性の高い形態素トークンを含む形態素トークン列がより上方となるようにして、形態素トークン列を配置示している。例えば、「下」、「鶴間」については、スコア1が与えられ、「下鶴間」についてはスコア4が与えられている。
形態素辞書126は、当該形態素トークンが、姓(SN)を示すものであるか、または名(GN)を示すものであるかを統計的に解析し、形態素トークンの属性識別子が、形態素トークンに対応付けて登録する。図3に示した実施形態では、形態素トークン「下」および「鶴」は、名(GN)を示す属性識別子が採用されたものとして説明する。なお、形態素トークン「下」を姓とし、「鶴」を、名(GN)とする姓名候補も想定できるが、この場合でも、図3の形態素トークン列に1シリーズが追加されることになるのみで、処理は同様に行うことができる。なお、図3に示した実施形態では、合計スコア値は、破線で囲った形態素トークン列310が最小値を与え、この結果、「下鶴間大和君」の姓名識別の結果、姓=「下鶴間」、名=「大和」、付属語=「君」に分解することが最尤の結果として出力される。
図3に示した形態素トークン列を生成させた後、形態素解析部116は、当該形態素トークンの属性識別子、「SN」、「GN」、「SX」を各形態素トークンと対応付けて姓名候補リストに、例えば、「下」−「鶴間」について、{下、SN−鶴間、SN}のシーケンスで登録する。また、「下」−「鶴」−「間」については、{下、GN−鶴、GN−間、SN}のシーケンスで属性識別子を追加しながら登録され、姓名を表す形態素トークン列が姓名候補リスト内に定義される。
図4は、本実施形態の姓名候補作成部118およびスコア計算部120が実行する処理のフローチャートである。図4の処理は、ステップS400から開始し、ステップS401で正規化後の処理対象の文字列についての形態素解析部116の結果を受取り、当該文字列について可能性のある形態素トークン、属性識別値を、姓名候補リストに追加して行く。
ステップS402では、互いに隣接する形態素トークンの属性識別子を使用して形態素トークン間の接続識別値を生成し、姓名候補リストに登録する。例えば、姓(SN)として構成された形態素トークンが連続する場合SS、姓(SN)名(GN)が連続する場合SG、名(GN)姓(SN)が連続する場合GSなどである。さらに、文化圏の判定を用いて文化圏重付け値を生成し、姓名候補リストに登録する。文化圏の判定は、図3に示した実施形態では、文字列が漢字を含んで構成されている。このため、文字列が姓名に対応する場合、姓が先頭に記述されるのは通常(N:Normal)であり、名が先頭に記述されるシーケンスは、非通常(AN:Abnormal)ということができる。文化圏重付け値は、文化圏を考慮した場合に通常か非通常かを識別して重付けを行うために用いられる値であり、特定の識別文字、フラグ、または他の適切なキャラクタなどを用いることができる。
また、他の文化圏判定の実施形態では、姓名候補作成部118は、姓および名の形態素トークン分割が終了した段階で姓および名に帰属された形態素トークンの文化圏判定を実行する。この実施形態では、姓に帰属された形態素トークンと名に帰属された形態素トークンとが異なる文化圏の組合わせであると判断した場合、文化圏重付け値として値ANを付し、同一の形態素トークンのみで姓名が分解されている場合に値Nを付して姓名候補リストに登録する。なお、先に文化圏重付け値が設定されている場合には、先の文化圏重付け値の値と、後の文化圏重付け値とを参照し、ANが存在する場合には、ANを付し、ANが存在しない場合Nを付する処理を実行する。
その後、ステップS403では、スコア・テーブル128を参照し、形態素トークン、接続識別子のスコア値を取得する。ステップS404では、文字列を形成する形態素トークンの先頭から最後まで、特定の姓名候補についてのレコードのスコア値および文化圏重付け値のスコア値または値を合計して姓名距離を計算する。その後、計算した姓名距離の最も小さい形態素トークン列を有するものを、最尤の姓名候補として決定する。
その後、ステップS405で、表記変換部122に送付して、処理をステップS406で終了する。なお、ステップS404では、上述したように、特定の目的および実装形態に応じて、ランク順、または文化圏別に複数の候補形態素トークン列を姓名候補として、表記変換部122に送付することもできる。
図5は、本実施形態のスコア計算部120が参照するスコア・テーブル128の実施形態を示す。スコア・テーブル128は、形態素トークン・スコア・テーブル500と、シーケンス・スコア・テーブル550とを含んで構成されている。形態素トークン・スコア・テーブル500は、形態素トークンが姓または名として使用される場合の頻度の高さを、頻度が高いほど低いスコアを割当てたデータ構造として構成されている。例えば、姓として形態素トークン「下」、「間」が使用されることはその頻度は高いと言えるので、スコア=1が割当てられている。
一方、名について、「下」が使用される頻度はないとは言えないが、それほど頻度は高くないと言えるので、図3に示した実施形態では、スコア=2が割当てられている。また、3文字姓である「下鶴間」については、出現頻度はさらに低いと考えられるので、スコア=4が割当てられており、例えば、「勘解由小路」などについては、さらに大きなスコアを割当てることができる。図5に示した形態素トークン・スコア・テーブル500では、特定の形態素トークンについて、姓(SN)スコア、名(GN)スコアが対として登録され、レコードを構成している。
また、シーケンス・スコア・テーブル550は、文字列に割当てた形態素トークンの順が、当該文化圏および姓名構造に関連して妥当か否かの統計的判断を使用して形態素トークンの間の接続識別子をスコア付けするために利用されるデータ構造である。図5に示すシーケンス・スコア・テーブル550は、姓−名、姓−姓、名−姓などの形態素トークンの接続関係が、接続識別子SG、SS、GSなどとして登録され当該文化圏に関連して適切か否かの統計的および文化圏の判断から、接続識別子に対して接続スコアが登録されている。
スコア計算部120は、姓名候補リストに登録された接続識別子のフィールドに値が登録されている場合、当該値に対応する接続スコア値をシーケンス・スコア・テーブル550から取得して、形態素トークン・スコア・テーブル500に登録された形態素トークンのスコア値とともにスコア計算のために使用する。なお、文化圏重付け値は、上述したようにスコア・テーブル128に登録することもできるし、また、Nの場合0、ANの場合、適切な大数としてプログラム中に設定しておくことができ、適宜、プログラミングの便宜を考慮して実装することができる。
図6は、本実施形態で姓名候補作成部118が作成する姓名候補リスト600の実施形態を示す。図6に示した姓名候補リスト600の実施形態では、4種類の姓候補に対してそれぞれ3種類の名候補の組み合わせが全部リストされる。図6に示した実施形態では、レコード・セット610が、「下+鶴間」の姓組合わせに対応し、レコード・セット620が、「下+鶴+間」の姓組合わせに対応する。さらにレコード・セット630は、姓組合わせ「下鶴+間」に対応し、さらにレコード・セット640は、姓組合わせ「下鶴間」に対応する。
また、姓名候補リスト600は、文化圏重付け値を登録するフィールド650、文字列の開始からの形態素トークンの接続を示す先行形態素トークン接続リスト・フィールド660、文字列の末尾までの残りの形態素トークンの接続を示す後続形態素トークン接続リスト・フィールド680、および先行形態素トークンおよび後続形態素トークンの前後接続を示す前後接続リスト・フィールド670、および合計スコア値フィールド690を含んで構成されている。
フィールド650は、文化圏判断において、日本人名として判断されたことに対応して、姓名の先頭について、SNの属性識別子を有する形態素トークンが割当てられている場合、姓名候補作成部118が、N:Normalの識別子を設定する。また、レコード・セット620は、「下」について、属性識別子が「GN」が割当てられているので、文化圏判断において、日本語の姓名の通常の記述ではないことから、AN:Abnormalの識別子を設定している。
スコア計算部120は、図6の姓名候補リスト600のレコードについて、それぞれNULLではないフィールドのスコア値を、スコア・テーブル128を参照して取得して、好ましい実施形態では、下記式(1)を使用して合計スコア値を計算する。
Figure 2009266110
上記式(1)中、iは、レコードを指定するサフィックスであり、jは、レコードiのj番目のフィールドを示すサフィックスである。また、SUM_SCORE(i)は、合計スコア値であり、Culture_weight(i)は、文化圏重付け値である。なお、上述したように文化圏重付け値は、スコア・テーブル128の登録項目としておくこともできるし、またSQL文中の条件値として指定しておくこともできる。なお、「君」、「さん」、「殿」などの付属語については、姓名のスコア計算に影響を与えない適切なスコアを割当てることができ、図6に示した実施形態では、付属語「君」についてスコア=1を割当てて合計スコア値であるSUM_SCORE(i)を計算している。なお、付属語については、スコア=0として設定することもできるし、上記式(1)の計算から除外する処理を採用することもできる。
図6に示す姓名候補リスト600について、上記式(1)を適用して計算された合計スコア値である、SUM_SCOREijの値が、フィールド690に登録される。なお、合計スコア値内のNおよびANの値は、文化圏判定に関連して例えば、N=0、AN=大数などの値を適宜設定することができる。スコア計算部120は、フィールド690の値を比較し、値が最小のレコードを姓名候補として採用し、表記変換部122に渡す。
さらにスコア計算部120のスコア計算処理の他の実施形態として、下記式(2)を使用して、文化圏重付け値および接続識別子のみを抽出し、そのスコアを合計して合計スコア値として姓名候補リスト600に登録することもできる。
Figure 2009266110
上記式(2)を使用して合計スコア値を計算する場合、形態素トークンが姓を示すか、または名を示すかの判断とは別に、文字列をいくつの形態素トークンで接続したか、および文化圏の判断結果を使用して姓名候補を抽出することが可能となる。この実施形態は、使用される姓、名の頻度を使用するものではないが、姓に利用される文字が比較的限定される場合、姓名候補を効率的に抽出するためには好ましく利用することができる。なお、上記式(2)の計算においても、付属語についての取扱いは、上記式(1)の場合と同様に実行することができる。
図6に示した実施形態では、文字列=「下鶴間大和君」について、姓=「下鶴間」、名=「大和」、付属語=「君」と分解することが、最小の合計スコア値を与える。表記変換部122は、姓名候補リストを検索し、合計スコア値が最小の姓名候補を最尤の姓名候補とするなど、適切な抽出形態を使用して抽出する。
図7は、表記変換部122が使用する変換辞書130が登録するテーブル・セット700の実施形態を示す。図7に示したテーブル・セットは、姓テーブル710と、名テーブル750として構成されている。姓テーブル710には、さらに文化圏別にJPセクション720、CNセクション730、KRセクション740が割当てられていて、各セクションには、文化圏に帰属される姓に対応する形態素トークンが、そのアルファベット表記と対として登録されている。なお、姓テーブル710には、同一の文字が複数の文化圏で姓として使用される場合でも、それぞれのセクションにそのアルファベット表記とともに登録されている。
なお、アルファベット表記といったシングルバイト文字列は、日本人名についてはローマ字を使用することができ、ローマ字の表記方法としては、ISO3602で規定される訓令式の表記方法の他、ヘボン式、日本式ローマ字など表記方式のアルファベット表記を使用することができ、これらは、単独で登録することもできるし、異表記形態候補として並列的にシングルバイト文字列に変換して、出力とすることもできる。
当該実施形態の変換辞書130を実装する場合、例えば、姓「柳」について、姓テーブルを使用して縦断的にアルファベット表記を検索することが可能となる。一方、名についても名テーブルを使用して縦断的にアルファベット表記を検索することが可能となる。一方で、姓について取得されたアルファベット表記と、名について取得されたアルファベット表記とを組合わせる場合、異なる文化圏のアルファベット表記の姓と名とが結合される可能性も発生する。
しかしながら、上述した場合でも、スコア計算部120が文化圏重付け値を利用して異なる文化圏に帰属される姓と名とが組合わされた姓名候補について高いスコアを付する。このため、文字列が異なる文化圏に帰属される姓および名でしか記述できなかった場合(例えば、異なる文化圏に帰属される男性と女性とが婚姻し、いずれか一方の姓に統一した場合など)を除き、通常では、表記変換部122は、異なる文化圏に帰属される姓名を組合わせる可能性は低い。この結果、表記変換部122は、文化圏に対応したアルファベット表記をシングルバイト文字列として返すことが可能となる。また、この結果、異文化圏の姓名の組合わせしか生成されなかった場合でも、対応するシングルバイト文字列を出力させることができる。
さらに変換辞書130は、他の実施形態では、文化圏ごとに姓、名として使用される形態素トークンと、属性識別子と、アルファベット表記とをJPテーブル、CNテーブル、およびKRテーブルといった文化圏テーブルを含むように実装することができる。
姓テーブル、名テーブルではなく、文化圏テーブルを実装する説明する他の実施形態では、姓および名が同一の文化圏に帰属されるシングルバイト文字列が優先的に検索され、通常の姓名識別においてより効率的な処理を行うことができる。また、姓または名のいずれかが特定の文化圏テーブルのみで検索されたなった場合、検索されなかった姓または名について、JPテーブルから、CNテーブル、KRテーブルへと検索対象テーブルを変更して検索することにより、異文化圏に帰属される姓名についてのアルファベット表記を、シングルバイト文字列として出力させることが可能となる。
図8は、姓名と考えられる文字列が、複数の文化圏にわたる可能性がある場合の情報処理装置100の姓名候補作成部118が実行する処理の実施形態を示す。図8に示すように、例えば、入力文字列が、「江***」の場合、図8に示すように、「江澤−東」、「江−***」、「江−澤−東」の3つの形態素トークン列に分割可能である。この場合、姓名候補リスト800には、江SS澤SG東、江SG***、江澤SG東の3つの形態素トークン列で示される姓名候補が作成される。姓として「江」は、日本姓として極めて希であるが、中国姓としては、通常に使われる姓であり、また「***」についても中国語で名として使用される可能性がある。
一方、姓「江澤」は、日本では通常に使われる姓であり、また名「東」についても名として使用される場合がある。このような場合、後述する江−***および江澤−東について文化圏重付け値では両者を区別できず、いずれもNとして判断することになる。さらに合計スコア値の点でより低い姓名候補を選択することは、文字列「江***」について、日本姓または中国姓のいずれかであるかを強制的に決定し、他方を廃棄することは妥当ではない。なお、「江−澤−東」については、文化圏重付け値および接続識別子の数およびスコアに基づいて、「江澤−東」、「江−***」よりも合計スコア値が高くなるので、選択されず、表記変換部122が抽出することはないので詳細な説明は行わない。
姓名候補「江***」について説明するような場合には、姓名候補リスト800に例えば、文化圏識別子を登録するフィールドを設けておき、各形態素トークン列を生成した場合の、先頭形態素トークンが帰属されている文化圏を識別するための識別子、例えばJP、CN、KRなどを記入するフィールドを定義しておくことができる。姓名候補作成部118は、各フィールドへの値の記入が終了した時点で、スコア計算部120を呼出し、姓名候補リスト800の各レコードの値を総和して合計スコア値を計算する。その後、表記変換部122は、JP、CN、KRの識別子ごとに合計スコア値の最小を与える最尤の形態素トークン列を抽出する。
表記変換部122は、姓名候補リスト800を参照し、最尤の形態とトークン列を、各文化圏ごとに抽出し、抽出した姓名候補を、一旦キュー・バッファに格納する。さらに表示変換部122は、キュー・バッファが空になるまでJP、CN、KRごとにアルファベット表記を取得して、シングルバイト文字列として出力する。なお、表記変換部122は、各文化圏ごとに合計スコア値の小さいものから順に複数の形態素トークン列を表記変換部122に渡し、さらに多くのシングルバイト文字列変換候補を出力させることもできる。
また、図8に示した実施形態で、文字列「金澤雫」は、形態素トークンで、金−澤雫、金澤−雫、金−澤−雫に分割することができる。この実施形態の場合、姓としての「金」は、韓国姓としては普通に使用される姓であり、また姓「金澤」についても、日本姓として普通に使用される姓である。一方「金−澤−雫」は、接続識別子の数および種類を使用して、合計スコアはいずれにしても高くなるので、「江−澤−東」と同様の処理が実行され、表記変換部122には渡されることはないので詳細な説明は省略する。
ところで、文字列「金澤雫」に含まれる漢字のうち、「雫」は、日本製の漢字、いわゆる国字である。このため、姓名候補作成部118は、「金−澤雫」をKRとして識別し、「金澤−雫」についてJPとして識別する。そして、文化圏重付け値は、「金−澤雫」について先頭の形態素トークンが「金」であることから文化圏識別子=KRとしてはNであるが、文字属性が文化圏識別子=JPを含んでいるため、ANの値を検出し、この結果、文化圏重付け値としてANを与え、合計スコア値を増加させている。なお、この場合でも、合計スコア値は、「金−澤雫」の方が低いので、JP、KR、CNについてそれぞれ、「江***」、「金***」、「江***」が選択され、それぞれ表記変換部122により抽出される。
図9は、本実施形態の姓名識別方法を実行する情報処理ステム900の実施形態を示す。図9に示した情報処理システム900は、姓名識別処理を実行する情報処理装置である姓名識別サーバ910と、アルファベット表記と姓名候補とを対応付けて姓名識別結果を姓名識別サーバ910に返すデータベース・サーバ960とを含んで構成されている。
姓名識別サーバ910は、ネットワーク920を介してクライアント・コンピュータから姓名識別要求および姓名と考えられる少なくともマルチバイト文字を含む文字列をHTTPプロトコルなどを使用して受信する。受信された姓名識別要求は、ネットワーク・アダプタ930を介してアルファベット変換部940aに送られる。アルファベット変換部940aは、本実施形態の姓名識別処理を実行し、姓名識別サーバのフロントプロセッサとして実装されている。アルファベット変換部940aは、マルチバイト文字を含む文字列を、単一または複数のシングルバイト文字列に変換し、姓名識別部950に送付する。
姓名識別部950は、例えば非特許文献1に記載されたインターナショナル・ビジネス・マシーンズ・コーポレーション製のGlobal Name Analyticsシステムとして実装することができる。姓名識別部950は、アルファベット変換部940aからの出力をその入力文字列として取得する。図9に示した実施形態では、姓名識別部950は、例えば、SQL文などを使用してデータベース・サーバ960に検索クエリーを発行し、シングルバイト文字に対応するマルチバイト文字列の検索を指令する。データベース・サーバ960は、例えばDB2などのリレーショナル・データベース970を管理しており、リレーショナル・データベース970は、シングルバイト文字列で記述された姓名と、当該姓名を固有に特定する姓名識別子とを対応付けたテーブル980aと、姓名識別子とマルチバイト文字列での姓名とを対応付けたテーブル980bとを含んで構成される。
データベース・サーバ960は、シングルバイト文字を参照して姓名識別子を特定し、特定された姓名識別子を検索キーとしてテーブル980bを検索し、対応するマルチバイト文字で記述された文字列を姓名として取得する。その後、データベース・サーバ960は、取得した姓名を姓名識別部950に返す。姓名識別部950は、取得したマルチバイト文字列の姓名を、出力処理部940bに渡し、姓名識別要求の送付元に返すべき処理結果を作成させる。出力処理部940bは、例えば、姓名識別部950により識別された姓名について、そのまま姓名識別要求の送付元に送付することもできるし、例えば、姓(SN)と名(SN)との間にスペース、中黒(・)、ハイフン、その他のキャラクタなどを挿入して、検索結果として返すこともできる。さらに他の実施形態では、フォームとして、検索結果を姓フィールド、名フィールドなどに別々に記述して、送信元であるクライアント・コンピュータに送付することもできる。
さらに他の実施形態では、データベース・サーバ960は、姓名に対応して住所、勤務先、年金情報、銀行口座、経歴などの姓名に関連付けられる情報を管理する情報テーブル990を管理する。当該実施形態では、姓名識別子により特定されたマルチバイト文字およびそのために使用したシングルバイト文字で参照される各種情報を検索し、その検索結果を、姓名識別結果とともに姓名識別部950に返すこともできる。姓名識別部950は、データベース・サーバ960から取得した姓名識別結果と、当該姓名識別結果を使用して検索された他の情報とを、出力処理部940bに送り、ネットワーク・アダプタ930を介して姓名識別要求の送信元であるクライアント・コンピュータに返すことにより、姓名識別および姓名によりタグ付けされる他の情報とを、クライアント・コンピュータに利用させている。
また、さらに他の実施形態は、姓名を含むと考えられる文字列が、シングルバイト文字と、マルチバイト文字とを含む場合について処理を実行する。シングルバイト文字とマルチバイト文字とを含む文字列が姓名を含むものと考えられる場合、例えば、文字列からシングルバイト文字を削除する処理を実行するプリプロセッサを実装することができる。その後、文字列を検索対象の文字列として使用することで、情報処理装置100または情報処理システム900は、同様の検索を実行することができる。また、アルファベット表記、例えばJane、Johnsなどのアルファベット表記がカタカナなどマルチバイト文字で記述された文字列の場合には、カタカナに相当するコードを削除して検索対象の文字列とするプリプロセッサを実装することで、上述した渡同様の処理を実行し、処理結果を生成することができる。
本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
本実施形態の情報処理装置100について機能ブロックを示した図。 本実施形態の情報処理装置100の姓名識別方法のフローチャート。 図2で説明した処理のステップS204において、本実施形態の形態素解析部116が実行する形態素解析処理により生成される形態素トークン列生成処理の実施形態を示した図。 本実施形態の姓名候補作成部118およびスコア計算部120が実行する処理のフローチャート。 本実施形態のスコア計算部120が参照するスコア・テーブル128の実施形態を示した図。 本実施形態で姓名候補作成部118が作成する姓名候補リスト600の実施形態を示した図。 表記変換部122が使用する変換辞書130が登録するテーブル・セット700の実施形態を示した図。 姓名と考えられる文字列が、複数の文化圏にわたる可能性がある場合の情報処理装置100の姓名候補作成部118が実行する処理の実施形態を示した図。 本実施形態の姓名識別方法を実行する情報処理ステム900の実施形態を示した図。
符号の説明
100…情報処理装置、110…コンピュータ装置、112入力インタフェース、114…漢字正規化部、116…形態素解析部、118…姓名候補作成部、120…スコア計算部、122…表記変換部、124…漢字辞書、126…形態素辞書、128…スコア・テーブル、130変換辞書、600、800…姓名候補リスト、900…情報処理システム

Claims (13)

  1. マルチバイト文字で記述された姓名を含む文字列をシングルバイト文字列に変換する情報処理装置であって、前記情報処理装置は、
    前記文字列が含むマルチバイト文字を、前記情報処理装置が登録する字体に正規化する漢字正規化部と、
    前記漢字正規化部による正規化後の文字列を形態素トークンに分割し、かつ前記形態素トークンに割当てられた属性識別子を取得する形態素解析部と、
    前記形態素解析部が分割した前記形態素トークンと、前記属性識別子と、前記形態素トークン間の前記属性識別子から接続識別子を生成し、前記形態素トークンが属する文化圏についての重付けを与える文化圏重付け値を生成して、姓名候補リストとして登録する姓名候補作成部と、
    前記形態素トークン、前記接続識別子、および前記文化圏重付け値について割当てられたスコア値を取得し、合計スコア値を計算して、前記姓名の先頭から末尾までの距離の尺度を与える姓名距離を生成し、前記姓名距離の短さを使用して姓名候補とするスコア計算部と、
    前記姓名候補を抽出して前記姓名候補が含む前記形態素トークンの姓および名に対応するシングルバイト文字列を出力する表記変換部と
    を含む情報処理装置。
  2. 前記漢字正規化部に対して異字体に対応する登録漢字を対応付けて提供する漢字辞書と、
    前記形態素解析部に対して前記姓名を構成するための形態素トークンおよび属性識別値を提供し、前記姓名の属する文化圏に対応付けて形態素トークンおよび前記属性識別子を登録する形態素辞書と、
    前記スコア計算部に対して、前記形態素トークンおよび前記接続識別子について割当てたスコア値を提供するためのスコア・テーブルと、
    前記形態素トークンの前記姓に対応するシングルバイト文字列および前記名に対応するシングルバイト文字列を登録する変換辞書と
    を含む請求項1に記載の情報処理装置。
  3. 前記変換辞書は、前記姓についてのシングルバイト文字列を前記文化圏ごとに登録した姓テーブルおよび前記名についてのシングルバイト文字列を前記文化圏ごとに登録した名テーブルを含み、前記文化圏が同一の姓名の組合わせおよび前記文化圏の異なる姓名の組合わせについての前記シングルバイト文字列に変換する、請求項2に記載の情報処理装置。
  4. 前記姓名候補作成部は、姓および名を与える前記形態素トークンが帰属される前記文化圏および前記形態素トークンが国字であるか否かの判断を使用して前記文字列が含む前記姓名が属する文化圏を示す文化圏識別子を生成する、請求項1に記載の情報処理装置。
  5. 前記表記変換部は、異なる文化圏ごとに最尤の前記姓および前記名についてのシングルバイト文字列を出力する、請求項1に記載の情報処理装置。
  6. マルチバイト文字で記述された姓名を含む文字列をシングルバイト文字列に変換する情報処理装置が実行する姓名識別方法であって、前記姓名識別方法は、
    漢字辞書を参照して前記文字列が含むマルチバイト文字を、前記情報処理装置が登録する字体に正規化するステップと、
    形態素辞書を参照して、漢字正規化部による正規化後の文字列を形態素トークンに分割し、かつ前記形態素トークンに割当てられた属性識別子を取得し、形態素解析部が分割した前記形態素トークンと、前記属性識別子と、前記形態素トークン間の前記属性識別子から接続識別子を生成し、前記形態素トークンが属する文化圏についての重付けを与える文化圏重付け値を生成して、前記形態素トークンと、前記接続識別子と、前記文化圏重付け値とを姓名候補リストに記述するステップと、
    前記形態素トークン、前記接続識別子、および前記文化圏重付け値について割当てられたスコア値を使用して、合計スコア値を計算して、前記姓名の先頭から末尾までの距離の尺度を与える姓名距離を生成し、前記姓名距離の短さを使用して姓名候補とするステップと、
    前記姓名候補を抽出して前記姓名候補が含む前記形態素トークンの姓および名に対応するシングルバイト文字列を出力するステップと
    を含む姓名識別方法。
  7. 前記シングルバイト文字列を出力するステップは、
    前記姓についてのシングルバイト文字列を前記文化圏ごとに登録した姓テーブルおよび前記名についてのシングルバイト文字列を前記文化圏ごとに登録した名テーブルを参照するステップと、
    前記文化圏が同一の姓名の組合わせおよび前記文化圏の異なる姓名の組合わせについての前記シングルバイト文字列に変換する、請求項6に記載の姓名識別方法。
  8. 前記文化圏重付け値を生成するステップは、姓および名を与える前記形態素トークンが帰属される前記文化圏および前記形態素トークンが国字であるか否かにより、前記文字列が含む前記姓名が属する文化圏を示す文化圏識別子を生成するステップを含む、請求項6に記載の姓名識別方法。
  9. 姓名識別を実行するための情報処理システムであって、前記情報処理システムは、
    ネットワークに接続され、前記ネットワークを介して姓名識別要求および姓名を含むマルチバイト文字列を受領する姓名識別サーバと、
    前記姓名識別サーバが受領した前記文字列から変換されたシングルバイト文字列に対応するシングルバイト文字列を検索し、検索された前記シングルバイト文字列に対応付けられたマルチバイト文字の姓および名を前記姓名識別サーバに返すデータベース・サーバとを含み、
    前記姓名識別サーバは、
    前記文字列を、前記情報処理装置が登録する字体に正規化する漢字正規化部と、
    前記漢字正規化部による正規化後の文字列を形態素トークンに分割し、かつ前記形態素トークンに割当てられた属性識別子を取得する形態素解析部と、
    前記形態素解析部が分割した前記形態素トークンと、前記属性識別子と、前記形態素トークン間の前記属性識別子から接続識別子を生成し、前記形態素トークンが属する文化圏についての重付けを与える文化圏重付け値を生成し、姓名候補リストとして登録する姓名候補作成部と、
    前記形態素トークン、前記接続識別子、および前記文化圏重付け値について割当てられたスコア値を取得し、合計スコア値を計算して、前記姓名の先頭から末尾までの距離の尺度を与える姓名距離を生成し、前記姓名距離の短さを使用して姓名候補とするスコア計算部と、
    前記姓名候補を抽出して前記姓名候補が含む前記形態素トークンの姓および名に対応するシングルバイト文字列を出力する表記変換部と、
    前記表記変換部の出力を受領して前記データベース・サーバに照会を発行する氏名識別部と、
    前記データベース・サーバの照会結果をマルチバイト文字列の姓名として受領して姓と名とを分離して表示させる処理を実行する出力処理部と
    を含む、情報処理システム。
  10. 前記データベース・サーバは、前記シングルバイト文字列に対して前記マルチバイト文字列を対応させるための姓名識別子を登録するテーブルと、
    前記姓名に対応付けられた情報を管理する情報テーブルと
    を含み、前記テーブルから前記姓および前記名を検索し、前記情報テーブルから関連する前記情報を検索し、検索結果として前記姓名検索サーバに渡す、請求項9に記載の情報処理システム。
  11. マルチバイト文字で記述された姓名を含む文字列をシングルバイト文字列に変換する情報処理方法を実行するためのコンピュータ実行可能なプログラムであって、前記プログラムは、情報処理装置に対し、
    前記文字列が含むマルチバイト文字を、前記情報処理装置が登録する字体に正規化する漢字正規化部と、
    前記漢字正規化部による正規化後の文字列を形態素トークンに分割し、かつ前記形態素トークンに割当てられた属性識別子を取得する形態素解析部と、
    前記形態素解析部が分割した前記形態素トークンと、前記属性識別子と、前記形態素トークン間の前記属性識別子から接続識別子を生成し、前記形態素トークンが属する文化圏についての重付けを与える文化圏重付け値を生成し、姓名候補リストとして登録する姓名候補作成部と、
    前記形態素トークン、前記接続識別子、および前記文化圏重付け値について割当てられたスコア値を取得し、合計スコア値を計算して、前記姓名の先頭から末尾までの距離の尺度を与える姓名距離を生成し、前記姓名距離の短さを使用して姓名候補とするスコア計算部と、
    前記姓名候補を抽出して前記姓名候補が含む前記形態素トークンの姓および名に対応するシングルバイト文字列を出力する表記変換部と
    を実現する、コンピュータ実行可能なプログラム。
  12. 前記表記変換部は、前記姓についてのシングルバイト文字列を前記文化圏ごとに登録した姓テーブルおよび前記名についてのシングルバイト文字列を前記文化圏ごとに登録した名テーブルを含み、前記文化圏が同一の姓名の組合わせおよび前記文化圏の異なる姓名の組合わせについての前記シングルバイト文字列に変換する、請求項12に記載のプログラム。
  13. 前記姓名候補作成部は、姓および名を与える前記形態素トークンが帰属される前記文化圏および前記形態素トークンが国字であるか否かの判断を使用して前記文字列が含む前記姓名が属する文化圏を示す文化圏識別子を生成し、
    前記表記変換部は、異なる文化圏ごとに最尤の前記姓および前記名についてのシングルバイト文字列を出力する、請求項12に記載のプログラム。
JP2008117538A 2008-04-28 2008-04-28 情報処理装置、姓名識別方法、情報処理システム、およびプログラム Expired - Fee Related JP5466376B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008117538A JP5466376B2 (ja) 2008-04-28 2008-04-28 情報処理装置、姓名識別方法、情報処理システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008117538A JP5466376B2 (ja) 2008-04-28 2008-04-28 情報処理装置、姓名識別方法、情報処理システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2009266110A true JP2009266110A (ja) 2009-11-12
JP5466376B2 JP5466376B2 (ja) 2014-04-09

Family

ID=41391846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008117538A Expired - Fee Related JP5466376B2 (ja) 2008-04-28 2008-04-28 情報処理装置、姓名識別方法、情報処理システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP5466376B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008784A (ja) * 2009-06-24 2011-01-13 Nhn Corp ローマ字変換を用いる日本語自動推薦システムおよび方法
JP2014517428A (ja) * 2011-06-24 2014-07-17 グーグル・インコーポレーテッド 検索クエリのソース言語を検出すること
JP7200474B2 (ja) 2017-09-14 2023-01-10 日本電気株式会社 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196198A (ja) * 1989-12-26 1991-08-27 Matsushita Electric Ind Co Ltd 音声規則合成装置
JPH0675956A (ja) * 1992-05-06 1994-03-18 Nippon Telegr & Teleph Corp <Ntt> 日本文同形語解析方式
JP2004021707A (ja) * 2002-06-18 2004-01-22 Frost International Corporation 住所及び氏名のローマ字への変換システム
JP2004102856A (ja) * 2002-09-12 2004-04-02 Fuji Xerox Co Ltd 形態素列処理装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196198A (ja) * 1989-12-26 1991-08-27 Matsushita Electric Ind Co Ltd 音声規則合成装置
JPH0675956A (ja) * 1992-05-06 1994-03-18 Nippon Telegr & Teleph Corp <Ntt> 日本文同形語解析方式
JP2004021707A (ja) * 2002-06-18 2004-01-22 Frost International Corporation 住所及び氏名のローマ字への変換システム
JP2004102856A (ja) * 2002-09-12 2004-04-02 Fuji Xerox Co Ltd 形態素列処理装置および方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011008784A (ja) * 2009-06-24 2011-01-13 Nhn Corp ローマ字変換を用いる日本語自動推薦システムおよび方法
JP2014517428A (ja) * 2011-06-24 2014-07-17 グーグル・インコーポレーテッド 検索クエリのソース言語を検出すること
JP7200474B2 (ja) 2017-09-14 2023-01-10 日本電気株式会社 変換補助装置、変換補助システム、変換補助方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP5466376B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
US8812300B2 (en) Identifying related names
JP5599662B2 (ja) 統計的な方法を用いて漢字を自国語の発音列に変換するシステムおよび方法
US20180293302A1 (en) Natural question generation from query data using natural language processing system
JP2009205397A (ja) 検索エンジン、検索システム、検索方法およびプログラム
CN105550206B (zh) 结构化查询语句的版本控制方法及装置
CN106502991B (zh) 出版物处理方法和装置
KR20220134695A (ko) 인공지능 학습 모델을 이용한 저자 식별 시스템 및 그 방법
Xu et al. Using SVM to extract acronyms from text
JP5466376B2 (ja) 情報処理装置、姓名識別方法、情報処理システム、およびプログラム
JP2011028379A (ja) データ構造変換プログラムおよびデータ構造変換装置
US10678870B2 (en) System and method for search discovery
JP5285491B2 (ja) 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、
JP4953440B2 (ja) 形態素解析装置、形態素解析方法、形態素解析プログラム及びコンピュータプログラムを格納した記録媒体
JP2006227914A (ja) 情報検索装置、情報検索方法、プログラム、記憶媒体
JP5132430B2 (ja) 姓名候補を生成する情報処理装置、情報処理方法、およびプログラム
JP2022002034A (ja) 抽出方法、抽出プログラム、及び、抽出装置
JP2001014326A (ja) 構造指定による類似文書の検索装置及び検索方法
JP5348964B2 (ja) 情報処理装置、情報処理方法、情報処理システム、およびプログラム
JP2008197700A (ja) 文書管理システムおよび文書管理方法
CN112015888B (zh) 摘要信息提取方法和摘要信息提取***
JP5137140B2 (ja) 出現表記レコード同定装置、削除規則生成装置、その方法、プログラム及び記録媒体
JP5412137B2 (ja) 機械学習装置及び方法
JPH0944521A (ja) インデックス作成装置および文書検索装置
JP2001034630A (ja) 文書ベース検索システム、およびその方法
JP6954108B2 (ja) 化合物名判定方法、化合物名判定プログラム及び化合物名判定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130723

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees