(57)【特許請求の範囲】
【請求項１】
比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得し、
前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較し、
各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する
処理をコンピュータに実現させることを特徴とする文字列比較プログラム。
【請求項２】
前記比較する処理は、前記第１文字列全体及び前記第２文字列全体が共通して有する意味的な領域に応じて共通的に定めた構造であって、前記第１文字列に含まれる各単語に対応する概念記号を要素とし当該各要素が単語の有する意味属性または配置に基づいて関連付けられた第１概念構造、及び前記第２文字列に含まれる各単語に対応する概念記号を要素とし当該各要素が単語の有する意味属性または配置に基づいて関連付けられた第２概念構造を取得し、前記第１概念構造及び前記第２概念構造間において、対応する要素の概念記号同士を比較することを特徴とする請求項１記載の文字列比較プログラム。
【請求項３】
前記比較する処理は、前記第１文字列及び前記第２文字列間における概念記号同士の比較結果を示す比較値を各概念記号につき夫々決定して、各概念記号の比較値を合算した評価値を算出し、
前記比較結果を生成する処理は、所定の判定閾値と前記評価値との比較結果に基づいて、前記第１文字列及び前記第２文字列の比較結果を生成することを特徴とする請求項１又は２に記載の文字列比較プログラム。
【請求項４】
前記比較する処理は、各概念記号の比較値に、概念記号に対応する単語の意味属性または配置応じた重み付けを反映させ、当該重み付けを反映させた比較値を合算して前記評価値を算出することを特徴とする請求項３記載の文字列比較プログラム。
【請求項５】
前記比較する処理は、各概念記号について比較値を決定するごとに、決定済みの比較値の合算値と、未だ比較値が決定されていない概念記号について決定され得る比較値の最大値と、を合算し、当該合算した値が所定の足切値よりも少ないときには、概念記号同士を比較する処理を中断することを特徴とする請求項３又は４に記載の文字列比較プログラム。
【請求項６】
比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得する手段と、
前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較する手段と、
各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する手段と、
を備えたことを特徴とする文字列比較装置。
【請求項７】
比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得し、
前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較し、
各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する
処理をコンピュータが実行することを特徴とする文字列比較方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列の比較処理を行う技術に関する。
【背景技術】
【０００２】
文字列に対して形態素解析を行って単語単位に分割し、各単語の品詞等に基づいて構文解析を行い、当該解析結果を様々な処理に用いる技術が提案されている。例えば、文書に含まれる文字列を形態素解析及び構文解析して単語同士の係り受けを特定し、翻訳を行う技術がある。また、検索文字列の単語同士の係り受けを特定した上で構文木データを作成し、当該構文木データを用いてデータ検索を行う技術がある。さらに、文書を構成する各種の概念の構造、及び、概念の話題性を知識ベースに保持しておき、入力文書による概念の構造のスロットの充足率及び当該概念の話題性に基づいて評価値を算出し、評価値の高い概念を用いて入力文書の要約を作成する技術がある。また、入力文書から構文木データ及びその部分木データを生成し、さらに関連する２つの語句と語句間の関係とを表したタプルデータに変換して、頻度集計等に用いる技術がある。さらに、言語翻訳において、原言語文及び目的言語文の対に対し、単語に分割して品詞名で置き換えた対を生成し、頻度の高い単語及び品詞を連結して意味的なまとまりを形成するフレーズを抽出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−８０８２号公報
【特許文献２】特開２００３−１６７８９８号公報
【特許文献３】特開昭６３−２６１４５７号公報
【特許文献４】特開２００３−５８５３７号公報
【特許文献５】特開２０００−３０５９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、文字列同士を比較する処理を行う場合、従来の比較処理においては、単純に文字列の表記の比較をするに過ぎない。かかる比較処理では、比較対象となる文字列の有する意味内容が同一であっても、表記が異なれば異なる文字列として判定される。ここで、かりに文字列に対して上述のような形態素解析及び構文解析を行った上で比較をしても、かかる構文解析は各単語の意味内容までも反映させるものではないため、文字列の表記が異なれば解析結果も異なり、比較結果も異なるものとなる。このため、従来技術では、文字列同士の意味内容を考慮した上で両文字列が一致しているか否かを判定することが困難であった。
【０００５】
以上のような問題点に鑑み、本技術は、１つの側面において、文字列同士の比較処理において、文字列の意味内容を考慮して両文字列の比較を行うことを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得する。そして、取得した情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定して、当該意味属性が共通する各単語に対応する概念記号同士を夫々比較する。さらに、各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列の比較結果を生成する。
【発明の効果】
【０００７】
本技術によれば、文字列同士の比較処理において、文字列の意味内容を考慮して両文字列の比較を行うことができるようになる。
【図面の簡単な説明】
【０００８】
【図１】名寄せ処理を実現するシステムの一例の全体構成の説明図である。
【図２】名寄せ処理定義の一例の説明図である。
【図３】概念構造生成部の詳細構成の一例の説明図である。
【図４】用語辞書の一例の説明図である。
【図５】形態素解析結果の一例の説明図である。
【図６】解析文法の一例の説明図である。
【図７】概念構造の一例の説明図である。
【図８】標準概念構造の一例の説明図である。
【図９】標準概念構造の一例の説明図である。
【図１０】正規化ルールの一例の説明図である。
【図１１】照合部の詳細構成の一例の説明図である。
【図１２】重み付けの一例の説明図である。
【図１３】名寄せ処理全体の一例を示すフローチャートである。
【図１４】概念構造生成処理の一例を示すフローチャートである。
【図１５】概念構造正規化処理の一例を示すフローチャートである。
【図１６】照合処理の一例を示すフローチャートである。
【図１７】概念評価関数の処理の一例を示すフローチャートである。
【図１８】名寄せ先概念構造の具体例（正規化の途中過程）の説明図である。
【図１９】名寄せ先概念構造の具体例（正規化完了）の説明図である。
【図２０】名寄せ元概念構造の一例（正規化完了）の説明図である。
【図２１】評価値の一例の説明図である。
【図２２】概念評価関数の処理の一例を示すフローチャートである。
【図２３】データベースを検索する処理を実現するシステムの一例の全体構成の説明図である。
【図２４】データベースを検索する処理の具体例の説明図である。
【図２５】ＸＭＬを検索する処理を実現するシステムの一例の全体構成の説明図である。
【図２６】ＸＭＬを検索する処理の具体例の説明図である。
【図２７】名寄せ装置のハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【０００９】
本明細書では、文字列同士を比較する処理において、単に文字列の表記同士を比較するのではなく、その文字列が有する意味内容に基づいた比較処理を行うことについて主に説明する。本明細書で説明する文字列比較処理によれば、例えば、相互に比較される文字列において、表記が異なっていても、文字列が有する意味内容が同じであれば、両文字列は一致しているものとして比較結果が生成される。
【００１０】
＜第１実施例＞
第１実施例では、上述の文字列比較処理につき、複数項目を含むレコード同士が一致しているか否かを判定する名寄せ処理において適用する例を用いて説明する。なお、本明細書において「一致する」とは、完全一致のみならず、比較対象同士が一定基準以上類似していることも含むものとする。かかる名寄せ処理は、名寄せ元データと関連性のあるデータを名寄せ先データから検出するのに用いられる。具体的には、名寄せ処理は、一例として、１つのデータベース内において、１のレコードと当該レコード以外の他のレコードとを名寄せし、両者が一致している場合に、重複レコードを除去すべく一方を削除する処理に用いられる。また、他の例として、名寄せ処理は、複数のデータベース間において、一方のデータベースに含まれるレコードと他方のデータベースに含まれるレコードとを名寄せし、両者に関連性がある場合（例えばキー項目の値が同一である等）に、両レコードを関連付ける処理に用いられることもある。
【００１１】
図１は、名寄せ処理を実現するシステムの一例の全体構成図である。このシステムでは、名寄せ装置１が、名寄せ元データ２Ａに含まれる名寄せ元レコード及び名寄せ先データ２Ｂに含まれる名寄せ先レコードを照合して比較し、両レコードが一致しているか否かを判定し、判定結果として名寄せ結果３を出力する。名寄せ元データ２Ａ及び名寄せ先データ２Ｂは、例えば、ハードディスクやフラッシュメモリ等の記憶装置に格納されている。また、名寄せ結果３は、例えば、記憶装置にファイル等として出力されたり、ディスプレイ等の表示装置に画面表示されたり、帳票出力等されてもよい。なお、名寄せ元データ２Ａ及び名寄せ先データ２Ｂ並びに名寄せ結果３が格納される記憶装置は、名寄せ装置１が備える記憶装置であってもよいし、また、外部の記憶装置であってもよい。
【００１２】
名寄せ装置１は、名寄せ処理を実行する機構として、概念構造生成部４と、照合部５と、判定部６と、を備える。さらに、名寄せ装置１は、ハードディスク等の記憶装置（記憶手段）に格納された、概念構造生成情報７、照合情報８及び名寄せ処理定義９を備える。
【００１３】
概念構造生成部４は、名寄せ元レコードに含まれる各項目の文字列について名寄せ元概念構造１０Ａを生成する一方、名寄せ元データ２Ａに含まれる各項目の文字列について名寄せ先概念構造１０Ｂを生成する。この概念構造については、後述する概念構造生成部４の説明において詳述する。
【００１４】
照合部５は、名寄せ元レコード及び名寄せ先レコード間で対応する各項目の値（文字列）を、概念構造生成部４により生成された概念構造を用いて比較する。そして、各項目の文字列の比較結果を総合した総合評価値１１を算出する。
【００１５】
判定部６は、照合部５による比較結果に基づいて、名寄せ元レコード及び名寄せ先レコードが一致しているか否かにつき、一致（Ｗｈｉｔｅ）、不一致（Ｂｌａｃｋ）又は判定不能（Ｇｒａｙ）のいずれかの判定結果である名寄せ結果３を出力する。
【００１６】
概念構造生成情報７は、概念構造生成部４における概念構造の生成において必要な情報を含む。概念構造生成情報７の内容については、後述する概念構造生成部４の説明において詳述する。
【００１７】
照合情報８は、照合部５における照合処理において必要な情報が格納されている。照合情報８の内容については、後述する照合部５の説明において詳述する。
名寄せ処理定義９は、例えば図２に示すように、名寄せ元データ２Ａ及び名寄せ先データ２Ｂを特定する情報や、名寄せを行う対象項目、対象項目に適用する評価関数とその評価結果に対する重み、判定部６においてレコードが一致しているか否かの判定基準とする判定閾値等の情報を含む。ここで、概念構造を用いた評価関数（概念評価関数）として「概念評価_XX」を指定することができる。なお、本明細書では評価関数として概念評価関数が指定されている場合について説明している。
【００１８】
名寄せ処理定義９において、対象項目の対に適用する評価関数として概念評価関数が指定されると、指定された概念評価関数が扱う意味的な領域が決まり、意味的な領域に対応する解析文法１６、標準概念構造１７、正規化ルール１８が決定し、以降の処理ではここで決定した組み合わせで進められる。
【００１９】
例えば、図２に例示する名寄せ処理定義において最初の＜名寄せ項目＞タグで指定されている名寄せを行う対象項目は、「名寄せ元データ」の「氏名」項目と、「名寄せ先データ」の「氏名」項目の対であり、その対象項目に適用する評価関数は「概念評価_人名」であり、その評価結果に対する重みが「０．４」であることを示している。ここで、対象項目に適用する評価関数として「概念評価_人名」が指定されているので、当該評価関数が扱う意味的な領域は「人名」であり、「人名」領域に対応する解析文法１６、標準概念構造１７、正規化ルール１８が使用されることになる。
【００２０】
なお、名寄せを行う対象項目とは、名寄せ元レコード及び名寄せ先レコード間において比較対象とする項目を示し、かかる比較対象となる各項目に含まれる文字列は、共通する意味的な領域（性質）を有しており、指定された概念評価関数が扱う意味的な領域とも一致している必要がある。
【００２１】
ここで、本明細書における「意味的な領域」とは、対象となる個々の文字列が表現する意味的な領域であり、一般的にＲＤＢ(リレーショナル・データベース)などの表における項目（列）は項目名に代表される特定の意味的な領域を有する文字列の集まりとして構造化される。また、ＸＭＬにおける要素（ｅｌｅｍｅｎｔ）は、要素名に代表される特定の意味的な領域を有する文字列を値や属性として有するように構造化される。例えば、ＲＤＢにおいて「氏名」項目の意味的な領域が「人名」であるとき、各レコードの「氏名」項目には「田中一郎」、「鈴木次郎」などの意味的に「人名」の領域に属する文字列を値とすることを意味する。また、ＸＭＬにおける＜会員＞要素の子要素である＜氏名＞要素の意味的な領域が「人名」であるとき、各＜会員＞要素の子要素である＜氏名＞要素は、「田中一郎」、「鈴木次郎」などの意味的に「人名」の領域に属する文字列を値とすることを意味する。
【００２２】
なお、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂ並びに総合評価値１１は、一時的にＲＡＭ（Random Access Memory）等に格納されてもよいし、ハードディスク等に格納されてもよい。
【００２３】
次に、概念構造生成部４の構成について詳述する。
図３は、概念構造生成部４の詳細構成を示す。概念構造生成部４は、形態素解析部１２と、構文解析部１３と、正規化部１４と、を含む。概念構造生成部４は、名寄せ装置１が備える記憶装置に格納された、用語辞書１５、解析文法１６、標準概念構造１７及び正規化ルール１８を参照して処理を行う。
【００２４】
形態素解析部１２は、名寄せ元データ２Ａ及び名寄せ先データ２Ｂのレコードの各項目のうち、概念構造を用いた比較を行う項目の文字列につき形態素解析を行う。具体的には、形態素解析部１２は、文字列を先頭から順に参照して用語辞書１５と照合し、用語辞書１５に設定された単語単位に分割する。
【００２５】
図４は、用語辞書１５の一例を示す。用語辞書１５は、文字列に含まれる単語に対応する表記と、単語の品詞と、単語の概念記号と、単語が有する意味属性と、単語の重要性（出現可能性の高さ）を示す頻度を含む。
【００２６】
ここで、本明細書における概念記号とは、意味的な観点（概念レベル）において単語の現実世界における概念を識別する記号であり、単語は１つの概念記号を有する。例えば、図４に示す単語「富士通」の概念記号は「FUJITSU」であり、他の会社名とは区別できる記号となっている。
【００２７】
また、本明細書における「意味属性」とは、単語が持つ意味を表現する属性であり、１つの単語に複数の意味属性を有することもある。例えば文字列「富士地域の会社」と、「富士通男の会社」において、前者の単語「富士」は文法属性として「地域名」を有し、文字列は「富士という地域名の地域に存在する会社」の意味である。同様に後者の単語「富士」は文法属性として「姓」を有し、文字列は「富士さんが所属する会社」の意味である。このように表記が同じでも意味属性が異なる単語は多く存在するので、区別する必要がある。また、図４における単語「富士通」は「会社名」と「後株」の２つの意味属性を有し、単語「ミドルウエア事業本部」は「組織名」と「事業部」の２つの意味属性を有する。
【００２８】
なお、形態素解析部１２は、必要に応じ、品詞情報によって、隣り合う事ができる単語と、隣り合えない単語の判断を行う隣接判定を行う。また、文字列中に競合する単語が存在する場合（分割方法が複数考え得る文字列が存在する場合）には、形態素解析部１２は、例えば、単語の表記長や用語辞書１５に設定された単語の出現頻度、品詞等に基づいて優先度の計算等を行った上で、分割方法を決定する処理等を行う。また、分割する処理が途中で失敗した場合は、直前の別の選択肢を試す処理などが行われる場合もある。
【００２９】
そして、形態素解析部１２は、かかる用語辞書１５に基づいて、各単語の有する意味属性、及び各単語の概念記号を取得し、形態素解析結果１９（単語リスト）を生成する。図５は、形態素解析結果１９の一例である。形態素解析結果１９には、単語ごとに、用語辞書１５から取得した単語の意味属性や概念記号が保持され、以降の処理で活用される。
【００３０】
ここで、用語辞書１５は概念評価関数が扱う意味的な領域毎に使用される可能性のある単語だけを集めた用語辞書でも良く、その場合には形態素解析部１２は評価対象項目に適用する概念評価関数が扱う意味的な領域に対応する用語辞書１５を使用して処理を行う。なお、本明細書では用語辞書が全体で１つの場合について説明している。
【００３１】
構文解析部１３は、各項目の文字列について、形態素解析結果１９に含まれる各単語の意味属性に基づき、当該項目に適用する概念評価関数が扱う意味的な領域に対応する解析文法１６を参照して各単語同士の関連を特定し、文字列の概念構造を生成する。概念構造とは、文字列に含まれる各単語の概念記号を要素とし当該各要素が単語の有する意味属性や文字列における文法上の配置に基づく関連性によって関連付けられたものである。
【００３２】
ここで、図６は、解析文法１６の一例を示す。解析文法１６は、概念評価関数が扱う意味的な領域に応じて存在し、適用条件として、解析処理の状態が肯定条件に一致するときに対応する規則を適用できることを示す肯定条件と、解析処理の状態が否定条件に一致しないときに対応する規則を適用できることを示す否定条件と、を含む。なお、肯定条件及び否定条件が両方設定されているときには、両方を満たす必要がある（ＡＮＤ条件）。さらに、解析文法１６は、適用条件を満足するときに適用する、概念構造の生成規則を含む。なお、図６に示す解析文法１６は、「勤務先」項目に対応する解析文法の一例であり、具体的に説明すると次のようになる。なお、この説明において、例えば［会社名］とは、意味属性が会社名の単語を表わす（他も同様である）。
【００３３】
＜１＞は、[会社名]を、概念構造の主軸<COMMON>とすることを示す。
＜２＞は、[会社名]と[法人格]が連続する場合、［会社名］の単語の意味属性にさらに[前株]がなければ、[会社名]と[法人格]を連結したものを、[会社名]とみなすことを示す。
＜３＞は、[会社名]と[ビル名]が連続する場合、両者を<事業所>という概念で関連付けられる（すなわち、［ビル名］を［会社名］の事業所とする）ことを示す。
＜４＞は、[会社名]と[組織名]が連続する場合、両者を<下位組織>という概念で関連付けられる（すなわち、［組織名］を［会社名］の下位組織とする）ことを示す。
＜５＞は、[組織名]と[区切り記号]が連続する場合、[区切り記号]は[組織名]に吸収することを示す。
＜６＞は、[数字]と[組織名]が連続する場合、[数字]は[組織名]に吸収され、概念記号も[数字]の概念記号と[組織名]の概念記号を結合することを示す。
【００３４】
構文解析部１３は、文字列に含まれる単語の意味属性が解析文法１６の適用条件を満たす場合に、解析文法１６の規則を適用して、単語間の関連を構築する処理を再帰的に繰り返し、概念構造（正規化前）２０を生成する。このようにして生成される概念構造２０は、内部構造において［Fromノード（要素）］-<アーク（要素間の関連を示す概念）>-[Toノード（要素）]で表現され、方向性のあるネットワークの集合となる。概念構造の要素（Fromノード又はToノード）は原則として単語に対応するものであり、各単語の概念記号で表される。また、概念構造の要素は、当該単語の意味属性を示す情報も含んでおり、この意味属性は、概念記号に続けて＄で表される。また、概念構造には、主軸（概念構造の始点）となる要素が１つ存在する（Fromノードを持たない＜COMMON＞アークのToノードとして指定される）。図７は、かかる概念構造の一例を示す。図７（Ａ）は概念構造の内部表現であり、図７（Ｂ）は、その概念構造を図式化したものである。なお、図７に示す概念構造は、「勤務先」項目の文字列について生成された概念構造の一例であり、具体的に説明すると次のようになる。
【００３５】
＜１＞は、[FUJITSU $会社名]が、概念構造の主軸<COMMON>であることを示す。
＜２＞は、[FUJITSU $会社名]に対し、[SY_Buil $ビル名]が<事業所>の概念で関連付けられている。
＜３＞は、[FUJITSU $会社名]に対し、[DMM $事業部]が<下位組織>の概念で関連付けられている。
＜４＞は、[FUJITSU $会社名]に対し、[3Develop $部門]が<下位組織>の概念で関連付けられている。
【００３６】
正規化部１４は、文字列の意味的な領域が持つべき標準的な概念構造として予め定められた標準概念構造１７を参照し、各項目の文字列について生成された概念構造２０を、さらに標準概念構造１７の構造に合わせるように変換する正規化処理を行う。
【００３７】
このとき、正規化部１４は、各標準概念構造１７に対応した正規化ルール１８に基づいて正規化処理を行う。
【００３８】
ここで、図８は、標準概念構造１７の一例を示す。標準概念構造１７は、上述したように項目に適用する概念評価関数が扱う意味的な領域に応じた概念構造の標準形であり、各概念評価関数の意味的な領域に応じて存在する。また、この標準概念構造１７は、個別具体的な概念構造とは別に定められる標準形であるので、内部表現では、図８（Ａ）に示すように、各要素は意味属性を示す情報のみを有している。したがって、標準概念構造１７では、各要素の先頭に「$」が付けられ、個別具体的な概念構造とは区別されている。また、図８（Ｂ）は、図８（Ａ）の標準概念構造１７を図式化したものである。なお、図８に示す標準概念構造１７は、「勤務先」項目の標準概念構造１７の一例であり、具体的に説明すると次のようになる。
【００３９】
＜１＞は、[$会社名]が、概念構造の主軸<COMMON>であることを示す。
＜２＞は、[$会社名]に対して［$事業所名］が<事業所>の概念で関連付けられている（すなわち、［$事業所名］は［$会社名］の事業所である）ことを示す。
＜３＞は、[$会社名]に対して［$事業部］が<下位組織>の概念で関連付けられている（すなわち、［$事業部］は［$会社名］の下位組織である）ことを示す。
＜４＞は、[$事業部]に対して［$部門］が<下位組織>の概念で関連付けられている（すなわち、［$部門］は［$事業部］の下位組織である）ことを示す。
【００４０】
さらに、図９は、「会社」領域を含む複数の意味的な領域に対応する標準概念構造１７の例として、「会社」領域、「住所」領域及び「人名」領域について図式化して表わした例である。このように、標準概念構造１７は、概念評価関数が扱う意味的な領域に応じて夫々保持されている。
【００４１】
また、図１０は、正規化ルール１８の一例を示す。正規化ルール１８は、適用条件として、概念構造の内部表現が肯定条件に一致するときに該当する規則が適用できることを示す肯定条件と、概念構造の内部表現が否定条件に一致しないときに該当する規則が適用できることを示す否定条件と、を含む。なお、肯定条件及び否定条件が両方設定されているときには、両方を満たす必要がある（ＡＮＤ条件）。さらに、正規化ルール１８は、適用条件を満足するときに適用する変換規則を含む。
【００４２】
なお、図１０に示す正規化ルール１８は、「勤務先」項目から生成した「会社」領域の概念構造を、上記図９に示す「会社」領域の標準概念構造１７に変換するための正規化ルール１８の一例であり、具体的に説明すると次のようになる。なお、［＊］で示される要素には、全ての意味属性を有する単語の概念記号が該当する。
【００４３】
＜１＞は、ある要素に対して[ビル名]が<事業所>の概念で関連付けられているとき、[ビル名]の意味属性を事業所名に変更することを示す。
＜２＞は、ある要素に対して［事業部］が＜下位組織＞の概念で関連付けられており、且つ、当該要素に対して［部門］もまた＜下位組織＞の概念で関連付けられているとき、当該要素の単語と［部門］との関連を解除し、［部門］を［事業部］に対して＜下位組織＞の概念で関連付けることを示す。
【００４４】
なお、用語辞書１５、解析文法１６、標準概念構造１７および正規化ルール１８は、例えばシステム管理者等が、比較対象となる文字列と、適用する概念評価関数に対応した内容で予め準備し、事前に名寄せ装置１が備える記憶装置に格納しておくものである。用語辞書１５、解析文法１６、標準概念構造１７および正規化ルール１８は、いずれも任意にメンテナンスすることが可能であり、適用する概念評価関数に応じて選定可能である。
【００４５】
また、形態素解析結果１９、正規化前の概念構造２０、正規化済の概念構造である名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂは、一時的にＲＡＭ等に格納されてもよいし、ハードディスク等に格納されてもよい。
【００４６】
次に、照合部５の構成について詳述する。
図１１は、照合部５の詳細構成を示す。照合部５は、要素比較部２１と、評価値算出部２２と、総合評価値算出部２３と、を含む。また、照合部５は、名寄せ装置１が備える記憶装置に格納された、標準概念構造２４、要素重み付け２５、項目重み付け２６を参照する。ここで、要素重み付け２５は、各要素の値の比較結果が文字列全体の比較結果に対して及ぼす影響度合（重要度）を示す値である。また、項目重み付け２６は、各項目の値の比較結果がレコード全体の比較結果に対して及ぼす影響度合を示す値である。なお、図１２（Ａ）は、要素重み付け２５の一例を示し、図１２（Ｂ）は、項目重み付け２６の一例を示している。なお、標準概念構造２４は、概念構造生成部４において参照する標準概念構造１７と同じである。
【００４７】
要素比較部２１及び評価値算出部２２は、各項目の文字列につき、概念構造生成部４により生成された概念構造同士を比較して評価を行う概念評価関数として機能する。かかる概念評価関数は、項目の意味的な領域に応じて（すなわち、比較する名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂの構造に応じて）存在してもよい。各項目の概念構造の比較処理においてどの概念評価関数を用いるかの関連付けについては、例えば、図２に示すように、名寄せ処理定義９において定義しておくことが可能である。
【００４８】
要素比較部２１は、各項目の意味的な領域に応じた標準概念構造１７を参照し、各項目について生成された名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂ間において対応する要素を特定して、当該要素の概念記号同士を比較する。当該比較は、換言すれば、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０間において同一の関連性と意味属性を有する要素を特定し、同一の関連性と意味属性を有する要素同士で概念記号を比較することによって、意味レベルの比較を行うということである。
【００４９】
評価値算出部２２は、要素同士の比較結果に基づいて、比較結果を表わす比較値２７を決定し（例えば、一致なら１、不一致なら０とする等）、当該要素ごとの比較値２７に対し、要素重み付け２５に基づいて重み付けをした上で、対象項目の文字列全体について各要素の比較値２７を合算した評価値２８を算出する。この重み付けは、例えば、各要素の比較値２７に対し、要素重み付け２５の値を乗算することによって行われる。そして、評価値算出部２２は、概念構造に基づいて比較を行う各対象項目について、対応する照合情報と概念評価関数を適用して評価値２８を算出する。
【００５０】
総合評価値算出部２３は、評価値２８につき、項目重み付け２６に基づいて重み付けをした上で、レコードに含まれる項目のうち、評価値２８を算出した項目全体について評価値２８を合算した総合評価値１１を算出する。
【００５１】
次に、かかる名寄せ装置１で実行される名寄せ処理について、フローチャートを用いて説明する。
図１３は、名寄せ装置１で実行される全体処理の一例を示すフローチャートである。なお、当該処理は、名寄せ装置１において、図２に示す名寄せ処理定義９に基づき、名寄せ元データ２Ａおよび名寄せ先データ２Ｂ、比較対象となる項目および評価関数（ここでは概念構造を用いて比較する概念評価関数と概念評価関数に対応する解析文法１６、標準概念構造１７、正規化ルール１８）の特定、並びに判定閾値等の特定を含む環境設定が完了したことを前提として実行される。なお、ここでは、名寄せ元データ２Ａが複数の名寄せ元レコードを含む一方、名寄せ先データ２Ｂが複数の名寄せ先レコードを含み、名寄せ元レコードの夫々について、複数の名寄せ先レコードとの比較照合を行う場合の処理の一例を用いて説明する。
【００５２】
ステップ１（図ではＳ１と表記している。他も同様）では、名寄せ先データ２Ｂに含まれる名寄せ先レコードの概念評価関数による評価対象である各項目の文字列につき、概念構造生成部４が概念構造生成処理を行い、名寄せ先概念構造１０Ｂを生成する。なお、概念構造生成処理の内容については後述する。
【００５３】
ステップ２では、概念構造生成部４が、未処理の名寄せ先レコードが残っているか否かを判定する。未処理の名寄せ先レコードが残っているときには、ステップ１に戻って、次の名寄せ先レコードについて概念構造生成処理を行う（Ｙｅｓ）、一方全ての名寄せ先レコードについて処理をしたときには、ステップ３の処理を実行する（Ｎｏ）。
【００５４】
ここまでの処理で生成された名寄せ先概念構造１０Ｂは名寄せ処理終了まで保持することによって、同じ処理の繰り返しを防いでいる。
ステップ３では、概念構造生成部４が、名寄せ元データ２Ａに含まれる名寄せ元レコードを１件ずつ順に読み出す。
【００５５】
ステップ４では、概念構造生成部４が、読み出した名寄せ元レコードの概念評価関数による評価対象である各項目の文字列につき、概念構造生成処理を行い、名寄せ元概念構造１０Ａを生成する。ここで生成された名寄せ元概念構造１０Ａは、当該名寄せ元に対する処理が終了するまで一時的に保持される。
【００５６】
ステップ５では、照合部５が、名寄せ先レコードの概念評価関数による評価対象である各項目の文字列が概念構造化された名寄せ先概念構造１０Ｂを順次１レコード分読み出す。
【００５７】
ステップ６では、照合部５が、ステップ４で生成した名寄せ元概念構造１０Ａと、ステップ５で読み出した名寄せ先概念構造１０Ｂと、の照合処理を行い、総合評価値１１を算出する。なお、照合処理の内容については後述する。
【００５８】
ステップ７では、判定部６が、算出された総合評価値１１と名寄せ処理定義９に設定された判定閾値とに基づいて、名寄せ先レコードと名寄せ元レコードとが一致しているか否かの判定を行う。そして、判定部６は、当該判定処理結果に基づいて、名寄せ結果３の出力処理を実行する。すなわち、判定部６は、判定結果が判定閾値における上位閾値以上である場合には比較結果を一致とし、判定結果が上下の閾値の間である場合には比較結果を判定不能とし、判定結果が下位閾値以下である場合には比較結果を不一致として、名寄せ結果３を出力する。なお、このとき、照合部５は、比較結果を判定不能とした場合には、処理対象の名寄せ元レコード及び名寄せ先レコードにつき、人手による判断が必要なレコードとして別途リスト出力等をしてもよい。
【００５９】
ステップ８では、照合部５が、現在処理中の名寄せ元概念構造１０Ａとの間で照合処理を未だ行っていない名寄せ先概念構造１０Ｂが残っているか否かを判定する。未処理の名寄せ先概念構造１０Ｂが残っているときには、ステップ５に戻る（Ｙｅｓ）、一方全ての名寄せ先概念構造１０Ｂについて処理をしたときには、ステップ９の処理を実行する（Ｎｏ）。ここまでの処理で、名寄せ元の１レコードに関する名寄せ処理が終了するので、ステップ４で生成された名寄せ元概念構造１０Ａは開放できる。
【００６０】
ステップ９では、概念構造生成部４が、未処理の名寄せ元レコードが残っているか否かを判定する。未処理の名寄せ元レコードが残っているときには、ステップ３に戻る一方（Ｙｅｓ）、全ての名寄せ元レコードについて処理をしたときには、全体処理を終了する（Ｎｏ）。
【００６１】
次に、概念構造生成部４（形態素解析部１２、構文解析部１３及び正規化部１４を含む）で実行される概念構造生成処理について詳述する。
図１４は、概念構造生成処理を示すフローチャートである。
【００６２】
ステップ１１では、概念構造生成部４が、照合対象となる項目を１つ選択する。
ステップ１２では、概念構造生成部４が、名寄せ処理定義９を参照し、選択した項目が、概念評価関数を適用する項目であるか否かを判定する。この判定は、換言すれば、選択した項目の文字列の照合処理において、概念構造を用いた比較を行うか否かの判定である。さらに換言すれば、この判定は、選択した項目が、意味内容に基づいて文字列の比較処理を行う項目であるか否かの判定である。当該項目が概念評価関数を適用する項目である場合には、ステップ１３の処理を実行する（Ｙｅｓ）、一方当該項目が概念評価関数を適用する項目でない場合には、ステップ１７の処理を実行する（Ｎｏ）。
【００６３】
ステップ１３では、形態素解析部１２が、対象項目の文字列を取得する。
ステップ１４では、形態素解析部１２が、対象項目の文字列につき、文字列を先頭から順に用語辞書１５と照合して単語単位に分解し、形態素解析結果１９を生成する。
【００６４】
ステップ１５では、構文解析部１３が、対象項目の文字列に対応する形態素解析結果１９である単語リストに基づき、当該項目の意味的な領域に対応する解析文法１６を参照して各単語同士の関連を特定し、対象文字列の概念構造を生成する。
【００６５】
ステップ１６では、正規化部１４が、概念構造正規化処理を行う。なお、概念構造正規化処理の内容については後述する。
ステップ１７は、概念構造生成部４が、未処理の項目が残っているか否かを判定する。未処理の項目が残っているときには、ステップ１１に戻る（Ｙｅｓ）、一方全ての項目について処理をしたときには、概念構造生成処理を終了する（Ｎｏ）。
【００６６】
次に、正規化部１４で実行される概念構造正規化処理について詳述する。
図１５は、概念構造正規化処理を示すフローチャートである。
【００６７】
ステップ２１では、正規化部１４が、処理対象の概念構造を取得する。
ステップ２２では、正規化部１４が、記憶装置に格納された標準概念構造１７の中から、処理対象の項目の意味的な領域に対応する標準概念構造１７を取得する。
ステップ２３では、正規化部１４が、正規化処理が完了しているか否かを判定する。この判定では、具体的には、処理中の概念構造と標準概念構造１７とが同一構造となっている場合に正規化処理が完了していると判定し、両者が同一構造となっていない場合に、正規化処理が完了していないと判定する。正規化部１４は、正規化処理が完了しているときには、概念構造正規化処理を終了する（Ｙｅｓ）、一方正規化処理が完了していないときには、ステップ２４に進む（Ｎｏ）。
【００６８】
ステップ２４では、正規化部１４が、取得した標準概念構造１７に対応する正規化ルール１８を参照し、現在処理中の概念構造に適用可能なルールを選択する。換言すれば、正規化部１４は、正規化ルール１８における適用条件が、現在処理中の概念構造の少なくとも一部の構造（状態）に合致するルールを選択する。なお、該当する正規化ルール１８が複数存在する場合は、正規化部１４は、例えば正規化ルール１８における規則が標準概念構造１７に近いものや、適用条件を満たすことが難しいもの等を選択し、同じ正規化ルール１８を繰り返し適用することは回避する。
【００６９】
ステップ２５では、正規化部１４が、ステップ２４の正規化ルール１８の選択において、適用可能な正規化ルール１８があったか否かを判定する。適用可能な正規化ルール１８があったときには、ステップ２６に進む（Ｙｅｓ）一方、適用可能な正規化ルール１８がなかったときには、概念構造正規化処理を終了する（Ｎｏ）。なお、このように、正規化処理が完了していないにも関わらず適用可能な正規化ルール１８がない場合（すなわち、現在処理中の概念構造が標準概念構造１７に合致する概念構造でない場合）には、正規化部１４は、正規化処理自体が失敗したものとして処理をしてもよい。この場合、もし途中段階まで正規化処理による概念構造の変換が進行している場合には、もとの概念構造に戻してもよいし、あるいは、途中段階まで変換が行われた状態の概念構造のまま正規化処理を終了し、正規化が途中段階であることがシステムの使用者等にわかるように通知等を行ってもよい。
【００７０】
ステップ２６では、正規化部１４が、選択した正規化ルール１８の規則を適用して概念構造を変換する。そして、ステップ２３へと戻る。なお、正規化部１４は、概念構造自体のデータを書き換えるのではなく、正規化ルール１８を適用した概念構造を、正規化ルール１８を適用する前の概念構造とは別に生成して出力（作業領域に格納）してもよい。
【００７１】
次に、照合部５（概念評価関数の処理を行う要素比較部２１及び評価値算出部２２、並びに総合評価値算出部２３を含む）で実行される照合処理について詳述する。
図１６は、照合処理を示すフローチャートである。
【００７２】
ステップ３１では、照合部５が、名寄せ先および名寄せ元の対象項目を順に選択する。
ステップ３２では、照合部５が、選択された各項目の文字列について生成された名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂを取得する。
【００７３】
ステップ３３では、要素比較部２１及び評価値算出部２２が、名寄せ元概念構造１０Ａと名寄せ先概念構造１０Ｂに対して、概念評価関数の適用処理を行って評価値を一時的に保持する。なお、概念評価関数の処理については後で詳述する。
【００７４】
ステップ３４では、照合部５が、未処理の対象項目があるか否かを判定する。照合処理部は、未処理の照合対象項目があるときには、ステップ３１に戻り（Ｙｅｓ）、未処理の照合対象項目がないときには、ステップ３５に進む（Ｎｏ）。
【００７５】
ステップ３５では、総合評価値算出部２３が、各対象項目について算出された評価値２８につき、記憶装置に格納された項目重み付け２６の値に基づいて重み付けをした上で、項目毎の評価値２８を合算して総合評価値１１を算出する。
【００７６】
ステップ３６では、総合評価値算出部２３が、算出した総合評価値１１を出力（作業領域に格納）して照合処理を終了する。
【００７７】
次に、概念評価関数の処理について詳述する。
図１７は、概念評価関数の処理を示すフローチャートである。
ステップ４１では、評価値算出部２２が、評価値２８を０に初期化する。
ステップ４２では、要素比較部２１が、記憶装置に格納された標準概念構造１７から、処理対象の項目に対応する標準概念構造１７を取得する。また、評価値算出部２２が、当該標準概念構造１７に対応する要素重み付け２５を取得する。
【００７８】
ステップ４３では、要素比較部２１が、標準概念構造１７の要素を順次選択する。
ステップ４４では、要素比較部２１が、選択した要素に対応する名寄せ元概念構造１０Ａの要素の概念記号と、選択した要素に対応する名寄せ先概念構造１０Ｂの要素の概念記号と、を特定して、両要素の概念記号同士を比較し、比較結果を示す比較値２７を決定する。この比較値２７としては、例えば、概念記号同士が一致していれば１、一致していなければ０とする。
【００７９】
ステップ４５では、評価値算出部２２が、対象要素に対応する重み値を要素重み付け２５から取得して、比較値２７に対して重み付けを実施した上で、評価値２８に加算する。
ステップ４６では、要素比較部２１が、未処理の要素があるか否かを判定する。照合処理部は、未処理の要素があるときには、ステップ４３に戻り（Ｙｅｓ）、未処理の要素がないときには、ステップ４７に進む（Ｎｏ）。
【００８０】
ステップ４７では、評価値算出部２２が、算出した評価値２８を出力（作業領域に格納）して概念評価関数を終了する。
ここで、名寄せ装置１で実行される処理について、具体例を示して説明する。
【００８１】
本具体例では、説明の便宜上、名寄せ元レコード及び名寄せ先レコードはいずれも１件とする。また、名寄せ元レコード及び名寄せ先レコードともに、「ＩＤ」、「氏名」、「住所」、「勤務先」項目を有している。
【００８２】
まず、概念構造生成処理につき、「勤務先」項目の文字列を例に用いて説明する。名寄せ元レコード及び名寄せ先レコードにおける「勤務先」項目の文字列は、夫々次に示す内容である。
【００８３】
名寄せ元：「富士通株式会社  ミドルウエア事業本部  データマネジメント・ミドルウエア事業部  第二開発部  新横浜ビル」
名寄せ先：「富士通ＳＹ  ＤＭＭ）３開発」
さらに、本具体例では、用語辞書１５は図４、解析文法１６は図６、「勤務先」項目に対応する標準概念構造１７は図８、正規化ルール１８は図１０に示す内容とする。
【００８４】
そして、概念構造生成部４においては、次の処理を行う。すなわち、形態素解析部１２が、名寄せ先レコードの「勤務先」項目の文字列を取得し、図４の用語辞書１５を参照しつつ、図５に示すような、単語単位に分割した形態素解析結果１９を生成する（図１４のステップ１４）。
【００８５】
さらに、構文解析部１３が、図６の解析文法１６を参照しつつ、名寄せ先レコードの「勤務先」項目の文字列から生成した形態素解析結果１９を概念構造に変換する（図１４のステップ１５）。当該変換は、次のような手順を経る。
（１）解析文法＜１＞により、意味属性に[会社名]を持つ単語「富士通」が主軸ノード<COMMON>に選定される。
（２）解析文法＜３＞により、意味属性に[会社名]を持つ単語「富士通」と、意味属性に［ビル名］を持つ単語「SY」と、は<事業所>の概念で関連付けられる。
（３）解析文法＜５＞により、意味属性に[区切り記号]を持つ単語「）」は、意味属性に［組織名］を持つ単語「ＤＭＭ」に吸収される。
（４）解析文法＜４＞により、意味属性に[会社名]を持つ単語「富士通」と、意味属性に［組織名］を持つ単語「ＤＭＭ」と、は<下位組織>の概念で関連付けられる。
（５）解析文法＜６＞により、意味属性に[数字]を持つ単語「３」は、意味属性に［組織名］を持つ単語「開発」に吸収されて１つの要素となる。且つ、当該要素は概念記号「3Develop」に変換される。
（６）解析文法＜４＞により、意味属性に[会社名]を持つ単語「富士通」と、意味属性が［組織名］である単語「開発」と、は<下位組織>の概念で関連付けられる。
（７）全ての単語について概念構造への変換が完了し、これ以上適用できるルールが無いので終了する。
【００８６】
かかる処理の結果、名寄せ先レコードの「勤務先」項目の文字列は、図７に示すような概念構造に変換される。
【００８７】
次に、正規化部１４が、当該概念構造について概念構造正規化処理を行う（図１４のステップ１６）。ここでは、正規化部１４は、図７に示す概念構造を取得するとともに、図８に示す「勤務先」項目に対応する「会社」領域の標準概念構造１７を取得する（図１５のステップ２１、２２）。そして、正規化部１４は、概念構造生成部４によって生成された図７の概念構造と図８の標準概念構造１７との比較を行い、正規化処理が完了しているか否かを判定する（ステップ２３：１回目）。この場合、図７の概念構造と図８の標準概念構造とでは、概念構造＜２＞[FUJITSU $会社名]-<事業所>-[SY_Buil $ビル名]のＴｏノードと、標準概念構造＜２＞[$会社名]-<事業所>-[$事業所名]のＴｏノードにおいて、要素の意味属性が「$ビル名」と「$事業所名」とで異なっている。このため、異なっている部分につき、図１０に示す正規化ルール１８の中から、適用可能なルールを選択する（ステップ２４：１回目）。ここでは、概念構造＜２＞に適用可能なルールとして、正規化ルール＜１＞を選択する。そして、正規化ルール＜１＞を適用して、図７の概念構造を変換する（ステップ２５、２６：１回目）。すると、概念構造＜２＞のＴｏノードの意味属性が、「$ビル名」から「$事業所名」に変更されるので、概念構造は図１８のようになる。
【００８８】
そして、再び、正規化部１４は、図１８の概念構造と図８の標準概念構造との比較を行い、正規化処理が完了しているか否かを判定する（ステップ２３：２回目）。この場合、図１８の概念構造と図８の標準概念構造とでは、概念構造＜４＞[FUJITSU $会社名]-<下位組織>-[3Develop $部門]のFromノードと、標準概念構造＜４＞[$事業部]-<下位組織>-[$部門]のFromノードにおいて、意味属性が「$会社名」と「$事業部」とで異なっている。このため、異なっている部分につき、図１０に示す正規化ルールの中から、適用可能なルールを選択する（ステップ２４：２回目）。
【００８９】
ここで、正規化ルール＜２＞に着目すると、第１条件である[*]-<下位組織>-[$事業部]については、Fromノード[*]を[FUJITSU $会社名]、Ｔｏノード[$事業部]を［DMM $事業部］とすれば、概念構造＜３＞がこの条件と一致する。また、第２条件である[*]-<下位組織>-[$部門]については、Fromノード[*]は第１条件と同じ[FUJITSU $会社名]であるから、概念構造＜４＞がこの条件と一致する。すなわち、現在処理中の概念構造は、正規化ルール＜２＞の適用条件を満たしている。このため、正規化ルール＜２＞を適用して図１８の概念構造を変換する（ステップ２５、２６：２回目）。すると、概念構造＜４＞のFromノードが、上述した第１条件で[$事業部]に適合した[DMM $事業部]に変更されるので、概念構造は図１９のようになる。
【００９０】
そして、再び、正規化部１４は、概念構造生成部４によって生成された図１９の概念構造と図８の標準概念構造との比較を行い、正規化処理が完了しているか否かを判定する（ステップ２３：３回目）。この段階では、図１９の概念構造と図８の標準概念構造とで全ての概念構造が一致するので、図１９の概念構造が名寄せ先概念構造１０Ｂとして確定し、概念構造正規化処理が終了する。
【００９１】
一方、概念構造生成部４は、名寄せ元レコードの勤務先の文字列についても、上記処理と同様に概念構造生成処理を行う。その結果、名寄せ元レコードの「勤務先」項目の文字列については、図２０のような名寄せ元概念構造１０Ａが生成される。
【００９２】
次に、照合処理について説明する。ここでは特に、上記「勤務先」項目について生成した概念構造の比較について説明する。照合部５が、「勤務先」項目を処理対象として選択し、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂを取得する（図１６のステップ３１、３２）。そして、概念評価関数として機能する要素比較部２１が、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂとの間で対応する要素の概念記号同士を比較し、「勤務先」項目の評価値２８を算出する（ステップ３３）。
【００９３】
具体的には、評価値算出部２２が、まず評価値２８を０に初期化する（図１７のステップ４１）。そして、要素比較部２１は、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂとの間で対応する要素同士が一致しているときに要素の評価値を１．０とする一方、一致していないときに０とし、図１２（Ａ）に示す要素重み付け２５を適用した上で評価値２８に加算する（ステップ４２〜４５）。例えば、図２０の名寄せ元概念構造１０Ａの〔会社名〕の要素と、図１９の名寄せ先概念構造１０Ｂの〔会社名〕の要素とを比較すると、両者はともに［FUJITSU］で一致する。そして、〔会社名〕要素の重み付けは０．６である。このとき、〔会社名〕要素の評価値は、１．０×０．６＝０．６となる。同様に、〔事業部〕要素及び〔事業所名〕要素も一致するため、〔事業部〕要素の評価値は１．０×０．２＝０．２、〔事業所名〕要素の評価値は１．０＊０．１＝０．１となる。一方、〔部門〕要素は、名寄せ元と名寄せ先とで一致しないため、０＊０．１＝０となる。そして、評価値算出部２２は、各要素の評価値を合算した評価値０．６＋０．２＋０．１＋０＝０．９を評価値２８として出力する（ステップ４６、４７）。なお、各要素に対する要素重み付けと、これらの各要素同士の比較値２７と、比較値２７に要素重み付けを反映させた値と、評価値２８と、の関係を表に表したものが図２１である。
【００９４】
さらに、概念構造生成部４は、「勤務先」以外の項目である「氏名」及び「住所」についても同様に概念構造を生成して正規化し、照合部５は、これらの項目についても夫々評価値２８を算出する。そして、照合部５は、全項目の評価値２８につき、図１２（Ｂ）に示す項目に対する重み付けを適用した上で合算し、総合評価値１１を算出する。例えば、「氏名」項目の文字列及び「住所」項目の文字列が意味的に一致しており、各項目の評価値２８が、夫々、氏名＝１、住所＝１、勤務先＝０．９である場合、各項目の評価値に図１２（Ｂ）に示す項目に対する重み付けをすると、「氏名」項目は１×０．５＝０．５、「住所」項目は１×０．３＝０．３、「勤務先」項目は０．９＊０．２＝０．１８となり、総合評価値１１は０．５＋０．３＋０．１８＝０．９８となる。ここで、図２に示す名寄せ処理定義９に設定された閾値の上限が０．７２、下限が０．２６であるため、総合評価値１１は上限閾値以上である。このため、判定部６は、この名寄せ元レコード及び名寄せ先レコードを一致していると判定し、名寄せ結果３として出力する（図１３のステップ７）。
【００９５】
かかる名寄せ処理によれば、名寄せ元レコードの比較対象項目の文字列及び名寄せ先レコードの比較対象項目の文字列について、文字列の表記そのものではなく、文字列について生成された概念構造において対応する要素の概念記号同士において比較がなされる。ここで、比較対象となる概念構造は、比較対象項目自体が共通に持つべき意味的な構造として与えられた標準概念構造に合わせて正規化されている。この正規化処理においては、比較対象となる概念構造の夫々につき、各要素の意味属性と要素間の関連付けについて、全体の意味が変わらないように修正され、標準概念構造に合わせた構造に変換される。その結果、名寄せ元概念構造１０Ａ及び名寄せ先概念構造１０Ｂは、標準概念構造に準じた対応する要素を特定することができる。即ち、対応する要素とは、意味的に共通性があるべき要素、換言すれば、本質的に比較すべき対象となる。例えば、図２０と図１９の〔部門〕要素は、「会社の事業部の下位組織である部門」という共通の意味を持つ要素であり、この要素を比較することは、「会社の事業部の下位組織である部門」について厳密な比較を実現することになる。そして、概念記号は単語の現実世界における概念を識別する記号であるから、かかる概念構造を用いて対応する要素の概念記号同士を比較することは、すなわち、意味的に共通性がある要素間の厳密な比較において、具体的な比較対象の違いを検定することとなる。例えば、図２０の〔部門〕の概念記号である［2Develop］と、図１９の〔部門〕の概念記号である［3Develop］とを比較することは、比較対象の文字列における表記は多様で異なっていても、意味的に同じ概念である部門について「第二開発部」と「第３開発部」とを比較するのと同義であり、「部門は異なる」「部門は近い」などの現実世界に照らして本質的な比較結果を得ることを可能にするものである。
【００９６】
このため、概念構造を用いた概念評価関数による比較によれば、従来の文字列表記同士の比較（例えば、文字列の表記同士が完全一致、部分一致又は前方一致等をしているかについての比較や、Ｎ−ｇｒａｍや編集距離を用いた比較を行う評価関数による比較）と異なり、次のような判定が可能である。すなわち、概念構造を用いた比較によれば、比較対象となる文字列間において表記が異なっていても、標準概念構造に照らして、共通する構造を構成する要素である単語同士の現実世界における概念が一致していれば、両者が一致しているものと判定された比較結果が生成される。
【００９７】
さらに、かかる概念構造を用いた比較処理によれば、例えば、比較対象となる文字列間において、例えば、同一意味内容を有するが表記が異なる単語が用いられている場合、同一表記の単語が用いられているが単語の表記順序が異なっている場合、また、同一意味内容を有するが表記が異なる単語が用いられ、かつ表記順序が異なっている場合も、両文字列は一致しているものと判定され得る。なお、上記具体例においては、名寄せ元の「勤務先」項目の文字列及び名寄せ先の「勤務先」項目の文字列につき、概念構造を用いた比較を行った結果、両者が一致しているという比較結果が生成されたが、これらの文字列の表記を単純に比較した場合、両者は当然に不一致となるばかりか、従来の比較手段（完全一致、完全一致、部分一致、前方一致、Ｎ−ｇｒａｍ、編集距離、など）では類似していると判定することも困難である。
【００９８】
したがって、概念構造を用いた比較処理によれば、単なる文字列表記の比較処理とは異なり、人間が文字列を比較して一致しているか否かを判断する場合に近い文字列比較処理を実現することができる。
【００９９】
また、上記実施例では、評価値の算出において、各要素の概念記号の比較値に対し、要素の重要度に応じた要素重み付けを行った上で評価値を算出している。これにより、要素重み付けの設定次第で、各要素同士の比較結果が文字列全体の比較結果に与える影響度合を調整することができる。しかし、かかる調整が必要ない場合には、要素重み付けをせずに評価値を算出することも可能である。なお、同様に、総合評価値の算出においても、項目の重要度に応じた項目重み付けを行った上で総合評価値を算出している。これにより、項目重み付けの設定次第で、各項目における評価関数による比較結果がレコード同士の比較結果へ与える影響度合を調整することができる。しかし、かかる調整が必要ない場合には、要素重み付けをせずに総合評価値を算出することも可能である。
【０１００】
さらに、上記実施例では、図１３に示す名寄せの全体処理において、全ての名寄せ先レコードの文字列について先ず名寄せ先概念構造１０Ｂを生成している（ステップ１及び２）。これにより、以降の処理においてこの名寄せ先概念構造１０Ｂを用いて名寄せ元レコードとの比較を行うことが可能となる。このため、処理対象の名寄せ元レコードが変わるたびに名寄せ先概念構造を生成する処理をする必要がなくなる。
【０１０１】
なお、概念構造の各要素の概念記号を用いて比較を行う処理は、上記第１実施例のように名寄せを目的とした処理のみならず、文字列同士の比較処理であれば、いかなる処理においても適用可能である。すなわち、比較対象となる２つの文字列の内容（領域）に応じた用語辞書、解析文法、標準概念構造及び正規化ルールが予め記憶装置に格納されていれば、概念構造生成処理により、両文字列について正規化された概念構造を生成し、正規化することができる。そして、照合処理により、両概念構造において対応する要素の概念記号同士を比較し、評価値が算出される。なお、この場合は、当該文字列に対する評価値によって文字列同士の比較結果が決定される場合には、上記第１実施例のような、複数項目の文字列の評価値を合算した総合評価値１１の算出や閾値による判定処理は不要となる。
【０１０２】
また、上記実施例では、概念構造生成処理において、構文解析部１３によって概念構造を生成した後に、正規化部１４によって、当該概念構造を正規化している。しかし、構文解析部１３によって生成される概念構造の構造自体が標準概念構造と一致していれば、正規化処理を行う必要はない。換言すれば、構文解析部によって標準概念構造と同様に概念構造を生成することができるように用語辞書や解析文法が設定されていれば、さらなる正規化処理は不要となる。
【０１０３】
さらに、そもそも概念構造を生成する処理は必ずしも必要ではない。例えば、比較対象となり得る文字列について予め概念構造を生成して記憶装置に格納しておき、比較対象とされた文字列に対応する概念構造を取得して、概念構造同士の比較を行ってもよい。そのようにすれば、文字列を比較するごとに概念構造を生成する必要がなく、処理負荷を軽減することができる。
【０１０４】
また、上記実施例では概念構造を用いた比較を行っているが、そもそも、比較対象となる文字列間において、意味属性が共通する概念記号同士を比較することができれば、必ずしも概念構造を用いる必要もない。例えば、比較対象となる一の文字列及び他の文字列のそれぞれの形態素解析結果が有する各単語の意味属性に基づいて、両文字列において意味属性が共通する単語を特定し、当該単語の概念記号同士を比較してもよい。
【０１０５】
ここで、上述の実施例のように、項目（文字列全体）に応じた標準概念構造に合わせて正規化された概念構造を用いて比較を行う場合、例えば次のような処理が可能である。すなわち、正規化処理において、概念構造を標準概念構造に一致させることができない（正規化ルールを完全に適用できない）文字列については、意味内容に基づいた比較に適さない文字列であるとして、概念構造の生成を中止する（概念構造を用いた比較処理を回避する）ことが可能である。換言すれば、比較対象となる両文字列について完全に標準概念構造と一致することを要求した完全な一致を評価することができ、意味内容に基づいた完全一致を求める手段として有効である。
【０１０６】
また、正規化処理において、概念構造を標準概念構造に一致させることができない場合には、可能な限りの処理をした上で、次の照合処理に進み、照合処理では標準概念構造と一致している部分の要素について比較を行うこともできる。この方法は、比較対象の文字列に情報が不足している場合でも、それなりの比較結果を得ることができるので、曖昧性を許容したい場合に有効である。この照合処理において、片方の要素が存在しない場合の評価値を０にするのではなく、０．５など、中間的な点数を与えることによって「仮に情報が有った場合を考慮すると、異なる場合よりも両者は近い」という概念を導入することもできる。
【０１０７】
かかる概念構造の生成及び正規化を行わずに、単に一の文字列及び他の文字列において意味属性が共通する単語の概念記号同士を比較する場合には、文字列全体として意味内容に基づいた厳密なの判定をすることは困難である。しかし、例えば、文字列を構成する各単語の意味属性が明らかに一致している文字列同士を比較する場合などには有効であり、文字列の意味内容に基づいた比較を実現することは可能である。
【０１０８】
次に、照合処理の概念評価関数の処理において各要素の比較結果を表わす値を順に加算して評価値を算出する過程において、評価値が所定の閾値以下になることが明らかになった段階で、当該要素の照合処理を中止する（打ち切る）変形例について説明する。
【０１０９】
図２２は、照合部５で実行される概念評価関数の処理の一例を示すフローチャートである。
ステップ５１では、評価値算出部２２が、評価値を０に初期化する。さらに、評価値算出部２２は、当該項目において評価値が取り得る最高値（例えば１）を残最高値として設定する。
【０１１０】
ステップ５２では、要素比較部２１が、記憶装置に格納された標準概念構造から、処理対象の項目に対応する標準概念構造を取得する。さらに、評価値算出部２２が、当該標準概念構造に対応する要素重み付けと、処理対象の項目についての概念評価関数の処理を中断する判断基準となる足切値と、を取得する。
【０１１１】
ステップ５３では、要素比較部２１が、標準概念構造の要素を、重み付けの大きい要素から順に選択する。なお、ここで重み付けの大きい要素から順に選択するのは、足切りの判断をできるだけ早い段階で行うことができるようにし、処理量を効率的に減らすためであって、必ずしも重み付けの大きい要素から順に選択する必要はない。
【０１１２】
ステップ５４では、要素比較部２１が、選択した要素について、名寄せ元概念構造１０Ａと名寄せ先概念構造１０Ｂとを比較し、比較結果を示す判定値を特定する。この判定値としては、例えば、要素同士が一致していれば１、一致していなければ０とすることができる。
【０１１３】
ステップ５５では、評価値算出部２２が、ステップ５４で特定された判定値に、当該要素に対応する重み付けを行った上で、評価値に加算する。
ステップ５６では、評価値算出部２２が、残最高値から、当該要素が一致した場合における判定値（即ち、当該要素における最高の判定値）に対して重み付けを行った値を減算する。
【０１１４】
ステップ５７では、評価値算出部２２が、現段階における評価値及び残最高値の合算値が足切値よりも大きいか否かを判定する。この判定は、換言すれば、この段階で残り要素に対する判定値がすべて最高であると仮定した場合に、評価値が足切値よりも大きくなる可能性があるか否かの判定であり、この段階で処理を中断するか否かの判定である。合算値が足切値よりも大きいときには、ステップ５８に進み（Ｙｅｓ）、合算値が足切値以下であるときには、ステップ５９に進む（Ｎｏ）。
【０１１５】
ステップ５８では、要素比較部２１が、未処理の要素があるか否かを判定する。照合処理部は、未処理の要素があるときには、ステップ５３に戻り（Ｙｅｓ）、未処理の要素がないときには、ステップ５９に進む（Ｎｏ）。
【０１１６】
ステップ５９では、評価値算出部２２が、算出した評価値を出力（作業領域に格納）して概念評価関数の処理を終了する。
かかる変形例における概念評価関数の処理によれば、評価値を算出する途中段階において、評価値が足切値に到達しないことが明らかとなったときには、概念評価関数の処理を中断し、現段階までの各要素の比較値を加算して算出した評価値を出力する。かかる処理は、例えば、上記名寄せ処理においては、文字列の比較を行う対象が１項目のみである場合等に有効である。すなわち、文字列の比較を行う対象が１項目のみである場合には、当該項目について算出された評価値がそのまま総合評価値になる。このため、例えば、足切値を判定閾値の下限値としておけば、評価値の算出（要素ごとの比較値の加算）を中断したとしても、当該総合評価値と判定閾値との比較においては、評価値が判定閾値の下限値を下回ることに変わりはない。したがって、概念評価関数の処理を中断しない場合と比べ、比較結果に影響を及ぼすことなく、不要な処理を削減し、ＣＰＵの処理負荷を軽減させることができる。
【０１１７】
また、かかる変形例における概念評価関数の処理も、名寄せ処理のみならず、文字列同士を比較して一致しているか否かを判定する処理であれば当然に適用可能である。
【０１１８】
＜第２実施例＞
ここで、上記のように各項目の文字列の意味内容に基づいて文字列を比較する処理は、名寄せ処理に適用されるのみならず、あらゆる処理に適用可能である。第２実施例では、かかる処理を、データベースの検索において、検索条件となる文字列（検索文字列）と、データベースに格納されたレコードの検索対象項目の値文字列と、の比較に用いる例について説明する。
【０１１９】
図２３は、データベース検索処理を実現するシステムの一例の全体構成図である。このシステムでは、データベース検索装置３１が、検索式３２Ａにおいて指定された検索対象項目に対する検索条件の値である検索文字列につき、データベース３２Ｂに格納されたレコードに含まれる前記の検索対象項目の値文字列と検索条件に応じて照合する。そして、データベース検索装置３１は、検索文字列と意味内容が一致する（検索条件に適合する）文字列を検索対象項目に有するレコードを特定し、検索結果３３を出力する。
【０１２０】
データベース検索装置３１は、データベース検索処理を実行する機構として、概念構造生成部３４、照合部３５及び判定部３６を有する。さらに、データベース検索装置は、ハードディスク等の記憶装置に格納された、概念構造生成情報３７、照合情報３８及び判定閾値３９を有する。なお、概念構造生成部３４、照合部３５及び判定部３６並びに概念構造生成情報３７及び照合情報３８は、比較対象が検索文字列及びデータベースの項目の文字列であるという点が名寄せ装置とは異なることを除けば、原則として名寄せ装置１の例における概念構造生成部４、照合部５及び判定部６並びに概念構造生成情報７及び照合情報８に対応する。なお、データベース検索処理においては、検索式３２Ａにおいて、検索における文字列比較を概念構造を用いて行うか否か等が検索条件として指定されるため、名寄せ処理における名寄せ処理定義９の代わりに、検索文字列とデータベースの項目の文字列とが一致しているか否かの判定に用いる判定閾値３９のみが記憶装置に格納されており、判定閾値を検索式で動的に指定する実装も可能である。また、データベース検索装置３１は、検索式３２Ａを解釈した結果として検索対象項目および検索条件と併せて、検索条件の値である検索文字列を持つが、検索式３２Ａの解釈処理は従来からデータベースにおけるＳＱＬパーサなどによって実現されている技術なので、省略している。また、データベース検索装置３１は、前記検索文字列について生成された概念構造である検索文字列概念構造４０Ａを含む。さらに、データベース検索装置３１は、検索文字列とデータベース３２Ｂのレコードの項目の文字列との比較結果を示す評価値４１を含む。以下、データベース検索装置３１につき、主に名寄せ装置１との相違点に重点をおいて説明する。
【０１２１】
データベース検索装置３１においては、システム使用者等は、データベース３２Ｂの意味内容に基づく検索の対象となる可能性を有する各レコードの各項目の文字列につき、予め検索対象概念構造４０Ｂを生成しておき、データベース３２Ｂに格納しておく。なお、当該概念構造は、データベースの項目値として格納されていてもよいし、インデックスとして格納されていてもよい。これらの検索対象概念構造４０Ｂは、必要に応じてメンテナンスすることが可能である。
【０１２２】
そして、検索式３２Ａが指定されると、既知技術である検索式の解釈が行われ、検索条件と併せて、検索対象項目とその検索文字列に分解される。次に、文字列比較を意味内容に基づいて行うことが指定された検索条件である場合には、概念構造生成部３４が、検索文字列について、概念構造生成処理及び概念構造正規化処理を行う。なお、第１実施例の説明における名寄せ元レコードを検索文字列、名寄せ元概念構造を検索文字列概念構造と夫々読み替えるものとする。一方、本実施例では、検索対象となるデータベース３２Ｂのレコードの項目の値である文字列の概念構造４０Ｂが第１実施例の名寄せ先概念構造に対応するが、上述したように概念構造４０Ｂは概念構造生成部と同等の処理によって項目の値である文字列から作成され、予めデータベース３２Ｂに格納されているため、検索対象に対する検索実行時の概念構造生成処理は不要である。
【０１２３】
さらに、照合部３５は、検索文字列について生成された検索文字列概念構造４０Ａと、当該検索文字列の検索対象となるデータベースのレコードの項目の値として（または対応するインデックスとして）格納されている検索対象項目の検索対象概念構造４０Ｂと、を概念評価関数を用いて要素ごとに比較し、評価値４１を算出する。なお、第２実施例においては、検索文字列とレコードに含まれる１項目の文字列との比較結果により判定部５６による検索条件に応じた判定がなされるため、各レコードにつき、各項目の比較結果を総合する必要がない。このため、総合評価値の算出は不要であり、評価値４１がそのまま第１実施例における総合評価値に相当する。
【０１２４】
そして、判定部３６は、この評価値４１と判定閾値３９とを検索条件によって比較し、検索文字列とデータベースの項目値とが一致しているか（検索条件に適合するか）否かを判定し、判定結果に基づいて検索結果３３を出力する。
【０１２５】
なお、検索式として複数の検索条件が指定される場合には、判定部３６で複数の検索条件を考慮した判定を行う中で、第１実施例における総合評価値に相当する判定処理をすることもできる。
【０１２６】
また、必ずしも対象となる文字列をデータベーから一旦取り出してデータベース検索装置で処理する必要は無く、データベース検索装置と論理的に同じ処理であれば、他の実装も可能である。具体的には、データベース検索装置は、データベース管理システム（ＤＢＭＳ）の一部としてデータベース３２Ｂ内に実装し、照合部３５と判定部３６の処理は、検索式で指定された検索対象項目の値が検索条件を満足することをデータベースのレコードまたは対応するインデックスを検索する処理の中で判定を行い、検索式に適合する検索結果３３だけを出力することも可能である。
【０１２７】
図２４に、データベースを検索する処理の具体例を示す。この例では、検索式３２Ａとして、「SELECT * FROM 会員表 WHERE 勤務先 SAME(富士通ＳＹ  ＤＭＭ）３開発);」
が実行されたとする。なお、ここでは、SAME関数は、文字列をその意味内容の比較により既定の閾値で類似検索する関数であるとする。すなわち、この検索式は、データベースの「会員表」３２Ｂから、「勤務先」項目の文字列の意味内容が、検索文字列「富士通ＳＹ  ＤＭＭ）３開発」の意味内容と類似するレコードを抽出するという検索条件が指定されていることを表わしている。即ち、検索式３２Ａは、検索対象項目は「勤務先」であり、検索文字列は「富士通ＳＹ  ＤＭＭ）３開発」、検索条件はSAME( )であると解釈される。ここで、データベース３２Ｂには、「勤務先」項目の値に対応する各項目の検索対象概念構造４０Ｂが予め格納されているとする。具体的には、ＩＤ「１０３」のレコードの「勤務先」項目には、値の文字列「富士通株式会社  ミドルウエア事業本部  データマネジメント・ミドルウエア事業部  第二開発部  新横浜ビル」を「会社名」領域の標準概念構造に基づいて概念構造にした検索対象概念構造４０Ｂが格納されているとする。そして、概念構造生成情報３７及び照合情報３８は、夫々上記第１実施例の具体例における概念構造生成情報７及び照合情報８と同じ内容であるとする。
【０１２８】
この場合、第１実施例の具体例と同様に、検索文字列「富士通ＳＹ  ＤＭＭ）３開発」を検索対象項目である「勤務先」項目に対応する「会社名」領域の標準概念構造に基づいて概念構造にした検索文字列概念構造４０Ａが生成され、検索文字列概念構造４０Ａと、上述の検索対象概念構造４０Ｂと、が比較される。その結果、評価値４１は第１実施例の具体例と同様０．９となる。そして、判定閾値３９が、第１実施例の名寄せ処理定義９に定義された判定閾値と同様に上限が０．７２、下限が０．２６である場合、評価値は上限閾値以上である。このため、判定部３６は、検索文字列とＩＤ「１０３」のレコードの「勤務先」項目の文字列が類似しており、ＩＤ「１０３」のレコードが検索式に適合していると判定し、検索結果３３として出力する。
【０１２９】
このように、文字列の意味内容に基づいた文字列比較処理を、データベース検索に用いることにより、検索文字列とデータベースの検索対象の項目の文字列とで表記が異なっても、両者で意味内容が一致していれば、当該項目の文字列を含んだレコードを検索結果として抽出することができる。
【０１３０】
なお、当該第２実施例においては、検索対象の項目の文字列につき予めデータベースに概念構造を格納することで、検索に要する処理量を軽減している。しかし、検索処理において、検索対象の項目の文字列につき概念構造を生成するようにしてもよい。
【０１３１】
＜第３実施例＞
次に、上記のように文字列の意味内容に基づいて文字列同士を比較する処理を、ＸＭＬの検索に用いる実施例について説明する。
【０１３２】
なお、第３実施例の説明では、ＸＭＬの「要素」（element）のことを「element」、ＸＭＬの「属性」（attribute）のことを「attribute」と表記して、文法属性における「要素」や、意味属性としての「属性」と区別している。
【０１３３】
図２５は、ＸＭＬ検索処理を実現するシステムの一例の全体構成図である。このシステムでは、ＸＭＬ検索装置５１が、検索式５２Ａにおいて指定された検索対象elementやattributeの値に対する検索条件の値である検索文字列につき、ＸＭＬデータベース５２Ｂのデータのうち検索対象となるelement（又はattribute）の値である文字列と照合する。そして、ＸＭＬ検索装置５１は、検索対象elementやattributeが検索文字列と意味内容が一致する（検索条件に適合する）文字列を有するＸＭＬデータ（element）を特定し、検索結果５３を出力する。
【０１３４】
ＸＭＬ検索装置５１は、ＸＭＬ検索処理を実行する機構として、概念構造生成部５４、照合部５５及び判定部５６を有する。さらに、ＸＭＬ検索装置５１は、ハードディスク等の記憶装置に格納された、概念構造生成情報５７、照合情報５８及び判定閾値５９を有する。なお、概念構造生成部５４、照合部５５及び判定部５６並びに概念構造生成情報５７及び照合情報５８は、比較対象が検索文字列及びＸＭＬのＸＭＬelementまたはattributeの値としての文字列であるという点が名寄せ装置とは異なることを除けば、原則として名寄せ装置１の例における概念構造生成部４、照合部５及び判定部６並びに概念構造生成情報７及び照合情報８に対応する。なお、ＸＭＬ検索処理においては、第２実施例と同様、検索文字列と対象となるＸＭＬのelementまたはattributeの値の文字列とが一致しているか否かの判定に用いる判定閾値５９が記憶装置に格納されており、判定閾値５９を検索式で動的に指定する実装も可能である。また、ＸＭＬ検索装置５１は、検索式文字列５２Ａを解釈した結果として検索対象elementまたはattributeおよび検索条件と併せて、検索条件の値である検索文字列を持つが、検索式５２Ａの解釈処理は従来からＸＭＬにおけるＸＱｕｅｒｙパーサなどによって実現されている技術なので、省略している。また、ＸＭＬ検索装置５１は、前記検索文字列について生成された概念構造である検索文字列概念構造６０Ａを含む。さらに、ＸＭＬ検索装置５１は、検索文字列とＸＭＬデータベース５２Ｂのelementまたはattributeの値である文字列との比較結果を示す評価値６１を含む。以下、ＸＭＬ検索装置５１につき、主に名寄せ装置１との相違点に重点をおいて説明する。
【０１３５】
ＸＭＬ検索装置５１においては、第２実施例と同様、システム使用者等は、ＸＭＬデータベース５２Ｂの意味内容に基づく検索の対象となる可能性を有する各elementまたはattributeの値である文字列につき、予め検索対象概念構造６０Ｂを生成しておき、ＸＭＬデータベース５２Ｂに格納しておく。なお、当該概念構造は、ＸＭＬデータベースのelementやattributeの値として格納されていてもよいし、インデックスとして格納されていてもよい。これらの検索対象概念構造６０Ｂは、必要に応じてメンテナンスすることが可能である。
【０１３６】
そして、検索式５２Ａが指定されると、既知技術である検索式の解釈が行われ、検索条件と併せて、検索対象elementまたはattributeと、その検索文字列に分解される。次に、当該検索における文字列比較を意味内容に基づいて行うことが指定された検索条件である場合には、概念構造生成部５４が、検索文字列について、概念構造生成処理及び概念構造正規化処理を行う。なお、第１実施例の説明における名寄せ元レコードを検索文字列、名寄せ元概念構造を検索文字列概念構造と夫々読み替えるものとする。一方、本実施例では、ＸＭＬデータベース５２Ｂに含まれる検索対象elementまたはattributeの文字列の概念構造６０Ｂが第１実施例の名寄せ先概念構造に対応するが、上述したように概念構造６０Ｂは概念構造生成部と同等の処理によってＸＭＬのelementまたはattributeの値である文字列から作成され、予めＸＭＬデータベース５２Ｂに格納されているため、検索対象に対する検索実行時の概念構造生成処理は不要である。
【０１３７】
さらに、照合部５５は、検索文字列について生成された検索文字列概念構造６０Ａと、当該検索文字列の検索対象となるelementまたはattributeの値として（または対応するインデックスとして）格納されている検索対象elementまたはattributeの検索対象概念構造６０Ｂと、を概念評価関数を用いて要素ごとに比較し、評価値６１を算出する。なお、第３実施例においても、第２実施例と同様、評価値６１がそのまま第１実施例における総合評価値に相当する。
【０１３８】
そして、判定部５６は、この評価値６１と判定閾値５９とを検索条件によって比較し、検索文字列とＸＭＬデータベースの対象elementまたはattributeの値とが一致しているか（検索条件に適合するか）否かを判定し、判定結果に基づいて検索結果５３を出力する。
【０１３９】
なお、検索式として複数の検索条件が指定される場合には、判定部５６で複数の検索条件を考慮した判定を行う中で、第１実施例における総合評価値に相当する判定処理をすることもできる。
【０１４０】
また、必ずしも対象となるelementまたはattributeの値である文字列をＸＭＬデータベーから一旦取り出してＸＭＬ検索装置で処理する必要は無く、ＸＭＬ検索装置と論理的に同じ処理であれば、他の実装も可能である。具体的には、ＸＭＬ検索装置は、ＸＭＬデータベースの一部としてＸＭＬデータベース５２Ｂ内に実装し、照合部５５と判定部５６の処理は、検索式で指定された検索対象elementまたはattributeの値が検索条件を満足することをＸＭＬデータベースのelement、attribute、または対応するインデックスを検索する処理の中で判定を行い、検索式に適合する検索結果５３だけを出力することも可能である。
【０１４１】
図２６に、ＸＭＬを検索する処理の具体例を示す。この例では、検索式（XQuety FLWR表現式）として、
「for $p in document(“全会員”)//会員  let $pn := $p/勤務先/text()
where same($pn ,”富士通SY  DMM)３開発”)  return <特定会員> { $p } </特定会員>」
が実行されたとする。なお、ここでは、第２実施例と同様、same関数は、文字列をその意味内容の比較により既定の閾値で類似検索する関数であるとする。すなわち、この検索式は、ＸＭＬデータベース５２Ｂに含まれるＸＭＬ「全会員」から、「会員」elementの子要素である「勤務先」elementの値文字列（テキスト）が、「富士通ＳＹ  ＤＭＭ）３開発」と意味内容において一致する「会員」elementを「特定会員」elementとして抽出するという検索条件を表わしている。即ち、検索式５２Ａは、検索対象elementは「会員」elementの子要素である「勤務先」elementであり、検索文字列は「富士通ＳＹ  ＤＭＭ）３開発」、検索条件はsame( )であると解釈される。具体的には、ＸＭＬデータベース５２Ｂには、ＩＤ「００５」を子要素に持つ「会員」elementの子要素である「勤務先」elementの値である文字列「富士通株式会社  ミドルウエア事業本部  データマネジメント・ミドルウエア事業部  第二開発部  新横浜ビル」を「勤務先」elementに対応する「会社名」領域の標準概念構造に基づいて概念構造にした検索対象概念構造６０Ｂが格納されているとする。そして、概念構造生成情報５７及び照合情報５８は、夫々第１実施例における具体例と同じ内容であるとする。
【０１４２】
この場合、第１実施例の具体例と同様に、検索文字列「富士通ＳＹ  ＤＭＭ）３開発」を「勤務先」elementに対応する「会社名」領域の標準概念構造に基づいて概念構造にした検索文字列概念構造６０Ａと、上述の検索対象概念構造６０Ｂと、が比較される。その結果、第２実施例の具体例と同様に、判定部５６は、検索文字列と子要素にＩＤ「００５」を持つ「会員」elementの子要素である「勤務先」elementの値の文字列とが類似しており、ＩＤ「００５」を子要素に持つ「会員」elementが検索式に適合していると判定し、「特定会員」elementとして検索結果５３に出力する。
【０１４３】
このように、文字列の意味内容に基づいた文字列比較処理を、ＸＭＬ検索に用いることにより、検索文字列とＸＭＬにおける検索対象のelementまたはattributeの値文字列とで表記が異なっても、両者で意味内容が一致していれば、当該項目の文字列を含んだelementデータを検索結果として抽出することができる。
【０１４４】
なお、当該第３実施例においても、検索対象のelementまたはattributeの値文字列につき予めＸＭＬデータベースに概念構造を格納しておくのではなく、検索処理において、検索対象のelementまたはattributeの値文字列につき概念構造を生成してもよい。
【０１４５】
＜ハードウェア構成＞
ところで、上述した第１実施例の名寄せ装置１の機能的構成及び物理的構成は、図１に記載の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。第２実施例のデータベース検索装置３１及び第３実施例のＸＭＬ検索装置５１も同様である。また、この名寄せ装置１、データベース検索装置３１及びＸＭＬ検索装置５１の諸機能は、プログラムをコンピュータのＣＰＵ（Central Processing Unit）で実行したり、論理回路若しくはＦＰＧＡ（Field Programmable Gate Array）等で実装したりすることによって実現することが可能である。以下、第１実施例の名寄せ装置１の例を用いて、コンピュータのハードウェア構成について説明する。
【０１４６】
図２７は、名寄せ処理を行うプログラムを実行するコンピュータの一例を示す。当該コンピュータは、入力装置７１、ＣＰＵ７２、ＲＡＭ（Random Access Memory）７３、ＨＤＤ（Hard Disk Drive）７４及び表示装置７５を有する。
【０１４７】
入力装置７１は、各種の入力を受け付ける装置であり、例えば、システム管理者等による名寄せ処理の実行指示を受け付ける。入力装置７１のハードウェアは、例えば、キーボード、マウス、タッチパネル、マイク等である。
【０１４８】
ＣＰＵ７２は、ＨＤＤ７４に格納されている名寄せ処理プログラム７６をＲＡＭ７３にロードして、名寄せ処理プログラム７７を実行する。このとき、ＣＰＵ７２では、名寄せ処理プロセス７８が処理される。当該名寄せ処理プロセス７８で実現される機能（処理）は、例えば、上述した全体処理、概念構造生成処理、概念構造正規化処理、照合処理、概念評価関数の処理である。
【０１４９】
ＲＡＭ７３には、上述したようにＨＤＤ７４に格納されている名寄せ処理プログラム７６がＣＰＵ７２によってロードされるとともに、ロードされた名寄せ処理プログラム７７をＣＰＵ７２が実行するのに要する処理データ７８が格納される。なお、処理データ７８は、例えば、形態素解析結果１９、概念構造（正規化前）２０、名寄せ元概念構造１０Ａ、名寄せ先概念構造１０Ｂ、比較値２７、評価値２８及び総合評価値１１である。
【０１５０】
ＨＤＤ７４には、名寄せ処理プログラム７６が格納される一方、入力データ７９並びに各種データ８０が格納される。入力データ７９は、例えば、名寄せ元データ２Ａ及び名寄せ先データ２Ｂであり、各種データ８０は、例えば、概念構造生成情報７、照合情報８及び名寄せ処理定義９である。
【０１５１】
表示装置７５は、名寄せ結果３を表示する装置であり、例えば、ディスプレイ等である。
なお、名寄せ処理プログラム７６は、必ずしもＨＤＤ７４に格納されている必要はなく、例えば、コンピュータが読み取り可能な各種記憶媒体（ＣＤやＤＶＤ、フラッシュメモリ等）に格納されていてもよい。また、名寄せ処理プログラム７６は、例えば、上記コンピュータとネットワークを介して接続された他のコンピュータが備える各種記憶手段に記憶されていてもよい。同様に、入力データ７９や各種データ８０についても、各種記憶媒体や、上記コンピュータとネットワークを介して接続された他のコンピュータが備える各種記憶手段に記憶されていてもよい。
【０１５２】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得し、前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較し、各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する処理をコンピュータに実現させることを特徴とする文字列比較プログラム。
【０１５３】
（付記２）前記比較する処理は、前記第１文字列全体及び前記第２文字列全体が共通して有する意味的な領域に応じて共通的に定めた構造であって、前記第１文字列に含まれる各単語に対応する概念記号を要素とし当該各要素が単語の有する意味属性または配置に基づいて関連付けられた第１概念構造、及び前記第２文字列に含まれる各単語に対応する概念記号を要素とし当該各要素が単語の有する意味属性または配置に基づいて関連付けられた第２概念構造を取得し、前記第１概念構造及び前記第２概念構造間において、対応する要素の概念記号同士を比較することを特徴とする付記１記載の文字列比較プログラム。
【０１５４】
（付記３）前記比較する処理は、前記第１文字列に基づいて前記第１概念構造を生成する一方、前記第２文字列に基づいて前記第２概念構造を生成することを特徴とする付記２記載の文字列比較プログラム。
【０１５５】
（付記４）前記比較する処理は、前記第１文字列及び前記第２文字列間における概念記号同士の比較結果を示す比較値を各概念記号につき夫々決定して、各概念記号の比較値を合算した評価値を算出し、前記比較結果を生成する処理は、所定の判定閾値と前記評価値との比較結果に基づいて、前記第１文字列及び前記第２文字列の比較結果を生成することを特徴とする付記１又は２に記載の文字列比較プログラム。
【０１５６】
（付記５）前記比較する処理は、各概念記号の比較値に、概念記号に対応する単語の意味属性または配置に応じた重み付けを反映させ、当該重み付けを反映させた比較値を合算して前記評価値を算出することを特徴とする付記４記載の文字列比較プログラム。
【０１５７】
（付記６）前記比較する処理は、各概念記号について前記比較値を決定するごとに、決定済みの比較値の合算値と、未だ比較値が決定されていない概念記号について決定され得る比較値の最大値と、を合算し、当該合算した値が所定の足切値よりも少ないときには、概念記号同士を比較する処理を中断することを特徴とする付記４又は５に記載の文字列比較プログラム。
【０１５８】
（付記７）前記比較する処理は、各概念記号のうち、概念記号に対応する単語の前記重み付けが大きい概念記号から順に前記比較値を決定して、当該比較値に前記重み付けを反映させ、すでに決定済み且つ前記重み付けを反映させた比較値の合算値と、未だ比較値が決定されていない概念記号について決定され得る比較値の最大値と、を合算し、当該合算した値が所定の足切値よりも少ないときには、概念記号同士を比較する処理を中断することを特徴とする付記６記載の文字列比較プログラム。
【０１５９】
（付記８）比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得する手段と、前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較する手段と、各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する手段と、を備えたことを特徴とする文字列比較装置。
【０１６０】
（付記９）比較対象とする第１文字列及び第２文字列の夫々を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性、及び各単語を意味的に識別する概念記号を含む情報を記憶手段から取得し、前記情報に基づいて、前記第１文字列及び前記第２文字列間において意味属性が共通する各単語を特定し、当該特定した各単語に対応する概念記号同士を前記第１文字列及び前記第２文字列間において比較し、各概念記号同士の比較結果に基づいて、前記第１文字列及び前記第２文字列同士の比較結果を生成する処理をコンピュータが実行することを特徴とする文字列比較方法。
【０１６１】
（付記１０）名寄せ元データを名寄せ先データに対して照合する名寄せ処理を実行する名寄せ処理プログラムであって、名寄せ元データに含まれる文字列及び名寄せ先データに含まれる文字列の夫々につき、各文字列を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性及び各単語を意味的に識別する概念記号を特定し、前記名寄せ元データに含まれる文字列及び前記名寄せ先データに含まれる文字列の間において意味属性が共通する概念記号同士を夫々比較し、各概念記号同士の比較結果に基づいて、前記名寄せ元データに含まれる文字列及び前記名寄せ先データに含まれる文字列同士の比較結果を生成する処理をコンピュータに実現させることを特徴とする名寄せプログラム。
【０１６２】
（付記１１）検索文字列を用いて、レコードが格納されたデータベースを検索し、前記検索文字列と一致するデータを有するレコードをデータベースから抽出するデータベース検索プログラムであって、前記検索文字列及びデータベースに格納されたレコードに含まれる文字列の夫々につき、各文字列を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性及び各単語を意味的に識別する概念記号を特定し、前記検索文字列に含まれる文字列及び前記データベースに格納されたレコードに含まれる文字列の間において意味属性が共通する概念記号同士を夫々比較し、各概念記号同士の比較結果に基づいて、前記検索文字列に含まれる文字列及び前記データベースに格納されたレコードに含まれる文字列同士の比較結果を生成する処理をコンピュータに実現させることを特徴とするデータベース検索プログラム。
【０１６３】
（付記１２）検索文字列を用いてＸＭＬデータベースを検索し、前記検索文字列と一致するデータをＸＭＬデータベースから抽出するＸＭＬ検索プログラムであって、前記検索文字列及びＸＭＬデータベースに格納されたデータに含まれる文字列の夫々につき、各文字列を単語単位に分割するとともに、各単語の有する意味的な性質を表す意味属性及び各単語を意味的に識別する概念記号を特定し、前記検索文字列に含まれる文字列及び前記ＸＭＬデータベースに格納されたデータに含まれる文字列の間において意味属性が共通する概念記号同士を夫々比較し、各概念記号同士の比較結果に基づいて、前記検索文字列に含まれる文字列及び前記ＸＭＬデータベースに格納されたデータに含まれる文字列同士の比較結果を生成する処理をコンピュータに実現させることを特徴とするＸＭＬ検索プログラム。
【符号の説明】
【０１６４】
１    名寄せ装置
２    名寄せ対象データ
２Ａ  名寄せ元データ
２Ｂ  名寄せ先データ
３    名寄せ結果
４    概念構造生成部
５    照合部
６    判定部
７    概念構造生成情報
８    照合情報
９    名寄せ処理定義
１０Ａ  名寄せ元概念構造
１０Ｂ  名寄せ先概念構造
１１  総合評価値
１２  形態素解析部
１３  構文解析部
１４  正規化部
１５  用語辞書
１６  解析文法
１７  標準概念構造
１８  正規化ルール
１９  形態素解析結果
２０  概念構造（正規化前）
２１  要素比較部
２２  評価値算出部
２３  総合評価値算出部
２４  標準概念構造
２５  要素重み付け
２６  項目重み付け
２７  比較値
２８  評価値
３１  データベース検索装置
３２Ａ  検索式
３２Ｂ  データベース
３３  検索結果
３４  概念構造生成部
３５  照合部
３６  判定部
３７  概念構造生成情報
３８  照合情報
３９  判定閾値
４０Ａ  検索文字列概念構造
４０Ｂ  検索対象概念構造
５１  ＸＭＬ検索装置
５２Ａ  検索式
５２Ｂ  ＸＭＬデータベース
５３  検索結果
５４  概念構造生成部
５５  照合部
５６  判定部
５７  概念構造生成情報
５８  照合情報
５９  判定閾値
６０Ａ  検索文字列概念構造
６０Ｂ  検索対象概念構造
７１  入力装置
７２  ＣＰＵ
７３  ＲＡＭ
７４  ＨＤＤ
７５  表示装置
７６  名寄せ処理プログラム
７７  名寄せ処理プログラム
７８  名寄せ処理プロセス
７９  入力データ
８０  各種データ
【図１】
0005505234.tif 000002
【図２】
0005505234.tif 000003
【図３】
0005505234.tif 000004
【図４】
0005505234.tif 000005
【図５】
0005505234.tif 000006
【図６】
0005505234.tif 000007
【図７】
0005505234.tif 000008
【図８】
0005505234.tif 000009
【図９】
0005505234.tif 000010
【図１０】
0005505234.tif 000011
【図１１】
0005505234.tif 000012
【図１２】
0005505234.tif 000013
【図１３】
0005505234.tif 000014
【図１４】
0005505234.tif 000015
【図１５】
0005505234.tif 000016
【図１６】
0005505234.tif 000017
【図１７】
0005505234.tif 000018
【図１８】
0005505234.tif 000019
【図１９】
0005505234.tif 000020
【図２０】
0005505234.tif 000021
【図２１】
0005505234.tif 000022
【図２２】
0005505234.tif 000023
【図２３】
0005505234.tif 000024
【図２４】
0005505234.tif 000025
【図２５】
0005505234.tif 000026
【図２６】
0005505234.tif 000027
【図２７】
0005505234.tif 000028