(57)【特許請求の範囲】
【請求項１】
抽出対象の文字列である正例エンティティの集合から選択した第１正例エンティティと前記正例エンティティの属性を表す文字列である正例属性の集合から選択した第１正例属性との組である第１正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、前記第１正例エンティティと前記第１正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第１正例エンティティ−正例属性ペアの特徴を表す情報を当該第１正例エンティティ−正例属性ペアの素性の少なくとも一部とする属性識別用素性抽出部と、
前記第１正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第１識別モデルを生成する属性識別学習部と、
前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第１対象エンティティとして選択し、選択した当該テキストデータから当該第１対象エンティティと異なる文字列を第１対象属性として選択し、前記第１対象エンティティと前記第１対象属性との組を第１対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第１対象エンティティ−対象属性ペアの特徴を表す情報を当該第１対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第１対象エンティティ−対象属性ペアの素性を前記第１識別モデルに入力して当該第１対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る属性識別部と、
前記第１対象エンティティ−対象属性ペアが含む前記第１対象属性の集合の部分集合を、属性修正候補の集合として選択する属性修正候補選択部と、
前記属性修正候補の集合を出力する属性修正候補提示部と、
前記属性修正候補の集合の何れかの要素を特定する属性修正情報が入力される属性修正情報取得部と、
前記第１対象属性の集合から前記属性修正情報で特定される要素を除いた補集合に含まれる要素を、前記正例属性の集合の要素とする属性修正情報反映部と、
を有するデータ抽出装置。
【請求項２】
請求項１のデータ抽出装置であって、
前記属性修正候補選択部は、前記第１対象エンティティ−対象属性ペアの集合が含む特定の要素に対する素性についての関連性の強さが第１基準を満たす他の要素の個数に対応する情報を、当該特定の要素である第１対象エンティティ−対象属性ペアの影響度とし、当該影響度に対応するスコアが第２基準を満たす第１対象エンティティ−対象属性ペアが含む前記第１対象属性の集合を前記属性修正候補の集合とする、
ことを特徴とするデータ抽出装置。
【請求項３】
請求項２のデータ抽出装置であって、
前記属性修正情報反映部は、少なくとも、前記属性修正情報で特定される属性修正候補と、当該属性修正情報で特定される属性修正候補を含む第１対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが第３基準を満たす他の第１対象エンティティ−対象属性ペアが含む属性修正候補とを除く、前記属性修正候補の集合の要素を、前記正例属性の集合に追加する、
ことを特徴とするデータ抽出装置。
【請求項４】
請求項２又は３のデータ抽出装置であって、
前記素性についての関連性の強さは、前記素性の類似度の大きさである、
ことを特徴とするデータ抽出装置。
【請求項５】
請求項２又は３のデータ抽出装置であって、
前記第１対象エンティティ−対象属性ペアの素性は複数の値の集合であり、
前記第１対象エンティティ−対象属性ペアの集合が含む特定の要素と他の要素との間での前記素性についての関連性の強さは、当該他の要素の素性を前記第１識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを前記第１識別モデルに入力して得られる情報との違いの大きさである、
ことを特徴とするデータ抽出装置。
【請求項６】
請求項２から５の何れかのデータ抽出装置であって、
前記エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報は、前記エンティティ−属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度であり、
前記スコアは、さらに前記属性識別部で得られる前記信頼度に対応する、
ことを特徴とするデータ抽出装置。
【請求項７】
請求項２から６の何れかのデータ抽出装置であって、
前記属性識別学習部は、前記第１正例エンティティ−正例属性ペアの集合を前記第１正例エンティティ−正例属性ペアの部分集合ごとに区分し、当該部分集合に属する前記第１正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する前記第１識別モデルを生成し、
前記属性識別部は、前記第１対象エンティティ−対象属性ペアの素性を前記部分集合にそれぞれ対応する前記第１識別モデルに入力し、前記部分集合ごとに当該第１対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、
前記スコアは、さらに前記部分集合ごとの前記信頼度に対応する情報のばらつきの大きさを表す情報に対応する、
ことを特徴とするデータ抽出装置。
【請求項８】
請求項１から７の何れかのデータ抽出装置であって、
前記属性修正候補提示部から出力された前記属性修正候補の集合のうち、正例属性として不適切な要素を基準個数以上特定する前記属性修正情報が前記属性修正情報取得部に入力された場合に、前記属性修正候補選択部でより多くの要素からなる属性修正候補の集合を再び選択して前記属性修正候補提示部の処理と前記属性修正情報取得部の処理とをやり直し、
前記属性修正候補提示部から出力された前記属性修正候補の集合のうち、正例属性として不適切な要素を前記基準個数以上特定しない前記属性修正情報が前記属性修正情報取得部に入力された場合に、前記属性修正情報反映部の処理を行う、
ことを特徴とするデータ抽出装置。
【請求項９】
請求項１から８の何れかのデータ抽出装置であって、
前記正例エンティティの集合から選択した第２正例エンティティと前記正例属性の集合から選択した第２正例属性との組である第２正例エンティティ−正例属性ペアを生成し、前記テキストデータの集合から、前記第２正例エンティティと前記第２正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第２正例エンティティ−正例属性ペアの特徴を表す情報を当該第２正例エンティティ−正例属性ペアの素性の少なくとも一部とするエンティティ識別用素性抽出部と、
前記第２正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第２識別モデルを生成するエンティティ識別学習部と、
前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第２対象エンティティとして選択し、選択した当該テキストデータから当該第２対象エンティティと異なる文字列を第２対象属性として選択し、前記第２対象エンティティと前記第２対象属性との組を第２対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第２対象エンティティ−対象属性ペアの特徴を表す情報を当該第２対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第２対象エンティティ−対象属性ペアの素性を前記第２識別モデルに入力して当該第２対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得るエンティティ識別部と、
前記第２対象エンティティ−対象属性ペアが含む前記第２対象エンティティの集合の部分集合を、エンティティ修正候補の集合として選択するエンティティ修正候補選択部と、
前記エンティティ修正候補の集合を出力するエンティティ修正候補提示部と、
前記エンティティ修正候補の集合の何れかの要素を特定するエンティティ修正情報が入力される属性修正情報取得部と、
前記エンティティ修正候補の集合から前記エンティティ修正情報で特定される要素を除いた補集合に含まれる要素を、前記正例エンティティの集合に追加するエンティティ修正情報反映部と、
を有するデータ抽出装置。
【請求項１０】
請求項９のデータ抽出装置であって、
前記第２正例エンティティ−正例属性ペアの素性は、前記第２正例エンティティ及び前記第２正例属性を含む文字列であって当該第２正例エンティティ及び当該第２正例属性を含むテキストデータに含まれるものと当該第２正例エンティティ及び当該第２正例属性との関係を表す情報を含み、
前記第２対象エンティティ−対象属性ペアの素性は、前記第２対象エンティティ及び前記第２対象属性を含む文字列であって当該第２対象エンティティ及び当該第２対象属性を含むテキストデータに含まれるものと当該第２対象エンティティ及び当該第２対象属性との関係を表す情報を含む、
ことを特徴とするデータ抽出装置。
【請求項１１】
請求項１から１０の何れかデータ抽出装置であって、
前記第１正例エンティティ−正例属性ペアの素性は、前記第１正例エンティティ及び前記第１正例属性を含む文字列であって当該第１正例エンティティ及び当該第１正例属性を含むテキストデータに含まれるものと当該第１正例エンティティ及び当該第１正例属性との関係を表す情報を含み、
前記第１対象エンティティ−対象属性ペアの素性は、前記第１対象エンティティ及び前記第１対象属性を含む文字列であって当該第１対象エンティティ及び当該第１対象属性を含むテキストデータに含まれるものと当該第１対象エンティティ及び当該第１対象属性との関係を表す情報を含む、
ことを特徴とするデータ抽出装置。
【請求項１２】
請求項１から１１の何れかのデータ抽出装置であって、
前記正例エンティティを含むテキストデータの集合から当該正例エンティティ以外の何れかの文字列を正例属性候補として選択し、前記正例エンティティを含む文字列の集合内に当該正例属性候補が含まれる頻度とすべてのテキストデータからなる集合内に当該正例属性候補が含まれる頻度との違いの大きさを表す指標が大きいものから所定数の正例属性候補を前記正例属性の初期値とする初期属性集合生成部をさらに有する、
ことを特徴とするデータ抽出装置。
【請求項１３】
請求項１から１２の何れかのデータ抽出装置であって、
前記属性識別部は、
前記属性識別学習部で前記教師あり学習データとして用いられた前記第１正例エンティティ−正例属性ペアの素性のうち、それらから生成された前記第１識別モデルへの影響度の大きさを表す指標が特定の基準よりも大きな素性を選択し、選択した素性に対応する文字列を含む前記テキストデータを選択し、当該選択したテキストデータが含む文字列を前記第１対象エンティティ及び前記第１対象属性とする、
ことを特徴とするデータ抽出装置。
【請求項１４】
抽出対象の文字列である正例エンティティの集合から選択した第１正例エンティティと前記正例エンティティの属性を表す文字列である正例属性の集合から選択した第１正例属性との組である第１正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、前記第１正例エンティティと前記第１正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第１正例エンティティ−正例属性ペアの特徴を表す情報を当該第１正例エンティティ−正例属性ペアの素性の少なくとも一部とする属性識別用素性抽出ステップと、
前記第１正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第１識別モデルを生成する属性識別学習ステップと、
前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第１対象エンティティとして選択し、選択した当該テキストデータから当該第１対象エンティティと異なる文字列を第１対象属性として選択し、前記第１対象エンティティと前記第１対象属性との組を第１対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第１対象エンティティ−対象属性ペアの特徴を表す情報を当該第１対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第１対象エンティティ−対象属性ペアの素性を前記第１識別モデルに入力して当該第１対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る属性識別ステップと、
前記第１対象エンティティ−対象属性ペアが含む前記第１対象属性の集合の部分集合を、属性修正候補の集合として選択する属性修正候補選択ステップと、
前記属性修正候補の集合を出力する属性修正候補提示ステップと、
前記属性修正候補の集合の何れかの要素を特定する属性修正情報が入力される属性修正情報取得ステップと、
前記第１対象属性の集合から前記属性修正情報で特定される要素を除いた補集合に含まれる要素を、前記正例属性の集合の要素とする属性修正情報反映ステップと、
を有する、データ抽出装置が実行するデータ抽出方法。
【請求項１５】
請求項１から１３の何れかのデータ抽出装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストデータの集合からデータを抽出する技術に関し、特に、特定の内容と関連を持つ文字列を入力として同じような関連を持つ文字列をテキストデータの集合から抽出する技術に関する。
【背景技術】
【０００２】
現在様々な自然言語処理技術の研究開発が進み、WEBのような膨大な知識源から必要な情報を抽出する手法が多く存在している。そのような手法の一つに、特定の内容と何らかの関連を持つ文字列（例えば<広島>や<阪神>など）を入力として、大量のテキストデータ（例えば文書データ）から同じような関連を持つ文字列（例えば<ヤクルト>など）を収集するものがある。このような手法を「set expansion」と呼ぶ。また、set expansionで扱われる文字列を「エンティティ」と呼び、抽出対象のエンティティを「正例エンティティ」と呼び、抽出しない（抽出対象としない）エンティティを「負例エンティティ」と呼ぶ。さらに、set expansionにおいて最初に入力されるエンティティを「シードエンティティ」と呼び、正例のシードエンティティを「正例シードエンティティ」と呼び、負例のシードエンティティを「負例シードエンティティ」と呼ぶ。
【０００３】
set expansionの手法として一般的に用いられているのがブートストラップ法である。ブートストラップ法とは、一度学習したモデルに基づいて識別を行い、それを新たな学習データとして用いていく繰り返し学習の枠組みである。
【０００４】
set expansionの代表的な手法として、TChai（特許文献１等参照）が知られている。このような手法により、自動的に新しいエンティティを獲得することができるが、システムのみによる完全な自動処理には限界があり、抽出対象としていないエンティティが誤って獲得されてしまうことも多い。
【０００５】
そこで、システムによる識別結果（抽出対象となるエンティティ）を人手で修正し、適切なエンティティのみを新たなエンティティ集合として、繰り返し学習を行う半自動の技術（非特許文献２等参照）が提案されている。これをアクティブラーニング法と呼ぶ。この技術では、人手で修正された結果のみをそのまま修正内容として用いるのではなく、その修正により影響される可能性がある他のエンティティ候補についても自動的に修正を行うことで、できるだけ人手の介入のコストを削減し、高精度なエンティティ獲得を行う。非特許文献２の例では、SIM(Similarity Method)及びFMM(Feature Modification Method)という２つの方法が提案されている。これらの方法では、システムが正例と判断したエンティティをユーザに提示し、その判断の正しさについてユーザに確認を求める。
【０００６】
SIMでは、システムが正例と識別し、ユーザに確認を求めた正例エンティティにおいて、ユーザが負例を発見した場合、ユーザが負例と判断したエンティティだけではなく、それと素性の類似度が高いエンティティも正例エンティティの集合から削除する。類似度にはコサイン類似度等が用いられ、負例と判断されたエンティティと素性の類似度が閾値以上のエンティティが、正例エンティティの集合から削除される。例えば、非特許文献２の例では、類似度としてPMI(pointwise mutual information)で重み付けされた素性のコサイン類似度が用いられる。
【０００７】
FMMでは、上記と同様にユーザが負例を発見した場合、現在の正例エンティティの集合に含まれる素性に対するスコアと、当該正例エンティティの集合に含まれる素性からユーザが負例と判断したエンティティの素性に共通する要素を排除した素性に対するスコアとの間の変動量が評価され、それが所定の閾値以上となるエンティティが正例エンティティの集合から削除される。SIMではエンティティを削除しすぎる傾向があるのに対し、FMMはそれを抑える効果がある。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】小町守，鈴木久美，「検索ログからの半教師あり意味知識獲得の改善」，人工知能学会論文誌，Vol. 23，No. 3，2008，p. 217-225.
【非特許文献２】Vishnu Vyas and Patrick Pantel, "Semi-Automatic Entity Set Refinement," NAACL/HLT 2009, 2009, pp. 290-298.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来のset expansionにはセマンティックドリフトという課題が存在する。例えば球団名を表す<広島><阪神>という正例シードエンティティに対して、従来のset expansionにより正例エンティティ<ヤクルト>が獲得できたとする。<ヤクルト>は飲料名でもあるので、<ヤクルト>を新たに正例エンティティに追加することで次のイテレーションでは<コーラ>等の飲料系のエンティティが正例エンティティとして獲得されるようになり、獲得される正例エンティティの話題がシフトしていく可能性がある。このように獲得される正例エンティティの話題がシフトしていく現象をセマンティックドリフトと呼ぶ。
【００１０】
非特許文献２で述べられている手法は、セマンティックドリフトを抑制する手段として効果的である。しかしながら、非特許文献２では、ユーザによって修正されたエンティティをどのように用いるのかが効果的かという点に着目されており、どのような情報をユーザに確認させるのが効果的かという点については提案されていない。
【００１１】
本発明はこのような点に鑑みてなされたものであり、人手による修正コストを小さくし、かつ、セマンティックドリフトを効率的に軽減する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
抽出対象の文字列である正例エンティティの集合から選択した第１正例エンティティと正例エンティティの属性を表す文字列である正例属性の集合から選択した第１正例属性との組である第１正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、第１正例エンティティと第１正例属性との組を含む文字列を選択し、選択した当該文字列に対する第１正例エンティティ−正例属性ペアの特徴を表す情報を当該第１正例エンティティ−正例属性ペアの素性の少なくとも一部とする。第１正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第１識別モデルを生成する。テキストデータの集合から何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第１対象エンティティとして選択し、選択した当該テキストデータから当該第１対象エンティティと異なる文字列を第１対象属性として選択し、第１対象エンティティと第１対象属性との組を第１対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での第１対象エンティティ−対象属性ペアの特徴を表す情報を当該第１対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第１対象エンティティ−対象属性ペアの素性を第１識別モデルに入力して当該第１対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る。第１対象エンティティ−対象属性ペアが含む第１対象属性の集合の部分集合を、属性修正候補の集合として選択し、属性修正候補の集合を出力する。属性修正候補の集合の何れかの要素を特定する属性修正情報が入力され、第１対象属性の集合から属性修正情報で特定される要素を除いた補集合に含まれる要素を、正例属性の集合の要素とする。
【発明の効果】
【００１３】
本発明では、属性修正候補の集合を出力し、その何れかの要素を特定する属性修正情報が入力され、属性修正情報を用いて正例属性の集合の要素とする属性を定める。これによって正例属性の集合の要素を人手によって処理できるが、属性は一以上のエンティティに対応する場合が多く、人手による属性の処理コストは人手による個々のエンティティの処理コストよりも小さい。本発明では、このように人手によって処理された正例属性の集合がエンティティの識別に反映されるため、セマンティックドリフトを効率的に軽減できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態のデータ抽出装置の機能構成を例示するためのブロック図である。
【図２】図２は、実施形態のデータ抽出装置の処理を例示するための図である。
【図３】図３は、実施形態のデータ抽出装置の処理を例示するための図である。
【図４】図４は、記憶部に格納されたテキストデータの集合Dを例示した図である。
【図５】図５Ａは、属性識別用素性抽出部が出力する組(fPaj, <+1>)及び組(fNaj, <-1>)を例示した図である。図５Ｂは、エンティティ識別用素性抽出部が出力する組(fPej, <+1>)及び組(fNej, <-1>)を例示した図である。
【図６】図６は、実施形態のデータ抽出装置の機能構成を例示するためのブロック図である。
【図７】図７は、実施形態のデータ抽出装置の処理を例示するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を説明する。
【００１６】
〔第１実施形態〕
＜構成＞
図１に例示するように、第１実施形態のデータ抽出装置１は、記憶部１０１−１０５、制御部１０６、初期属性集合生成部１０７、属性識別用素性抽出部１０８、属性識別学習部１０９、属性識別部１１０、属性修正候補選択部１１１、属性修正候補提示部１１２、属性修正情報取得部１１３、基準更新部１１４、属性修正情報反映部１１５、エンティティ識別用素性抽出部１１６、エンティティ識別学習部１１７、エンティティ識別部１１８、収束判定部１１９、及び出力部１２０を有し、制御部１０６の制御のもと各処理を実行する。
【００１７】
なお、データ抽出装置１は、例えば、CPU(central processing unit)、RAM(random-access memory)及びROM(read-only memory)等を含む公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。記憶部１０１−１０５は、例えば、ハードディスクや半導体メモリなどであり、制御部１０６、初期属性集合生成部１０７、属性識別用素性抽出部１０８、属性識別学習部１０９、属性識別部１１０、属性修正候補選択部１１１、基準更新部１１４、属性修正情報反映部１１５、エンティティ識別用素性抽出部１１６、エンティティ識別学習部１１７、エンティティ識別部１１８、収束判定部１１９、及び出力部１２０は、例えば、特別なプログラムが読み込まれたCPUなどである。これらの少なくとも一部が集積回路などによって構成されてもよい。属性修正候補提示部１１２は、例えば、情報をユーザに提示するディスプレイなどのユーザインタフェース、又はそのようなユーザインタフェースに情報を出力する出力ポートなどである。属性修正情報取得部１１３は、例えば、ユーザからの情報の入力を受け付けるキーボード、マウスなどのユーザインタフェース、又はそのようなユーザインタフェースからの情報が入力される入力ポートなどである。また、図１に表記された矢印は情報の流れを表すが、表記の都合上一部の矢印が省略されている（以降に述べる他のブロック図も同様）。
【００１８】
＜前提＞
記憶部１０１にテキストデータの集合Dが格納される。テキストデータとは、文字テキストを含むデータを意味する。テキストデータの例は、文書データ、クエリ、語句を含む図表データ、フレーズデータ、単語列データなどである。本形態では、形態素解析、固有表現抽出、係り受け解析、文境界同定などの前処理を行った後の文書データをテキストデータとした例を示す。図４はこのようなテキストデータの集合Dを例示した図である。図４のテキストデータの集合Dでは、このような前処理を行った後の文書データであるテキストデータと当該テキストデータのIDとが対応付けられている。
【００１９】
なお、本形態ではテキストデータが含む文字列を「エンティティ」と呼び、抽出対象のエンティティを「正例エンティティ」と呼び、抽出しない（抽出対象としない）エンティティを「負例エンティティ」と呼ぶ。また、最初に入力されるエンティティを「シードエンティティ」と呼び、正例のシードエンティティを「正例シードエンティティ」と呼び、負例のシードエンティティを「負例シードエンティティ」と呼ぶ。
【００２０】
また、エンティティの特徴を表すテキストデータ中の文字列を「属性」と呼ぶ。このような文字列の例は、名詞、単語、単語列、フレーズ、文などである。属性の具体例はエンティティの前後W単語以内に存在する名詞である。なお、Wはウィンドウサイズを表す1以上の整数である。例えば「阪神の試合速報・・・」というテキストデータ中の<阪神>がエンティティであり、ウィンドウサイズをW=3とした場合、<試合>と<速報>がエンティティ<阪神>の属性の候補とされる。互いに関連のある複数のエンティティには同一の属性が対応する。例えば、球団名であるエンティティ<広島>と同じく球団名であるエンティティ<ヤクルト>とは、同じ<試合>や<投手>などの属性が対応する。そのため、属性は探索対象となるエンティティが満たすべき制約条件となる。例えば、正例シードエンティティを球団名である<広島>とし、同じく球団名である<ヤクルト>というエンティティを獲得することを狙っていると仮定する。この場合、これらのエンティティに共通する属性は<試合>や<投手>などであり、例えば、正例シードエンティティ<広島>とその属性<試合>との組を用いてエンティティの識別が行われる。ここで、球団名である<ヤクルト>は正例エンティティであるが、<ヤクルト>には飲料名としての意味もある。よって<ヤクルト>はセマンティックドリフトが起こりやすいエンティティである。しかしながら、飲料名であるエンティティ<ヤクルト>の属性は<試合>や<投手>などではなく<乳酸菌>や<飲料>などである。エンティティとその属性との組を用いることでエンティティがどのような意味を指すかを特定でき、セマンティックドリフトを軽減できる。さらに本形態では、人手によって属性を検証し、その結果を用いて正例属性の集合の要素を定める。人手による属性の処理コストは人手による個々のエンティティの処理コストよりも小さいため、セマンティックドリフトを効率的にさらに軽減できる。
【００２１】
＜データ抽出処理＞
図２及び３に例示するように、本形態では、エンティティと属性の更新を交互に行うco-training方式を用いる。すなわち、ステップＳ１０３−Ｓ１１１では正例及び負例エンティティの更新は行われず、正例及び負例属性の更新のみが行われる。一方ステップＳ１１２−Ｓ１１４では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。以下、図２及び３を用いてデータ抽出装置１のデータ抽出処理を例示する。
【００２２】
《初期化：ステップＳ１０１》
制御部１０６がjの値をj=1に初期化する。
【００２３】
《初期属性集合生成：ステップＳ１０２》
ユーザが欲するエンティティの例が正例シードエンティティRPe0として初期属性集合生成部１０７に入力される。例えば、<広島>などが正例シードエンティティとして入力される。また、負例シードエンティティRNe0が初期属性集合生成部１０７に入力される。例えば、<日本>などが負例シードエンティティとして入力される。正例シードエンティティRPe0は、ユーザによって選択されたものである。負例シードエンティティRNe0は、ユーザによって選択されたものであってもよいし、テキストデータの集合Dから半自動で生成されたものであってもよい。以下に負例シードエンティティRNe0を半自動で生成する方法を例示する。
【００２４】
[負例シードエンティティRNe0の半自動生成方法の例]
負例シードエンティティ生成部（図示せず）が、テキストデータの集合Dから、何れの正例シードエンティティRPe0も後述する正例属性RPa0も含まないテキストデータを所定個数抽出し、抽出した各テキストデータから１つずつランダムに名詞を選択し、それらを負例エンティティ候補として出力する。表示部（図示せず）はこれらの負例エンティティ候補を表示し、これらから負例シードエンティティを選択するようにユーザに促す表示を行う。ユーザによる選択内容は負例シードエンティティ生成部に入力され、負例シードエンティティ生成部は、選択された負例エンティティ候補を正例シードエンティティRPe0として出力する（[負例シードエンティティRNe0の半自動生成方法の例]の説明終わり）。
【００２５】
初期属性集合生成部１０７は、入力された正例シードエンティティRPe0と負例シードエンティティRNe0と記憶部１０１に格納されたテキストデータの集合Dとを用い、正例シードエンティティRPe0の属性を表す文字列である正例属性RPa0の集合と、負例シードエンティティRNe0の属性を表す文字列である負例属性RNa0の集合とを生成する。
【００２６】
（Ａ）まず初期属性集合生成部１０７が、正例シードエンティティRPe0を含むテキストデータの集合から当該正例エンティティRPe0以外の何れかの文字列を正例属性候補として選択する。例えば、初期属性集合生成部１０７は、記憶部１０１から正例シードエンティティRPe0を含む正例テキストを所定数取得し、各正例テキストにおいて正例シードエンティティRPe0と直接又は１文節を挟む係り受け関係にある単語のみを正例属性候補として抽出する。
【００２７】
（Ｂ）次に初期属性集合生成部１０７は、正例シードエンティティRPe0を含む文字列の集合内に当該正例属性候補が含まれる頻度とすべてのテキストデータからなる集合D内に当該正例属性候補が含まれる頻度との違いの大きさを表す指標（統計量）を求め、当該指標が大きいものから所定数の正例属性候補、つまり、これらの頻度の違いが大きい当該正例属性候補を正例属性RPa0（正例属性の初期値）とする。これらの頻度の違いが大きい正例属性候補ほど正例シードエンティティRPe0との関連が強く、正例シードエンティティRPe0の正例属性RPa0にふさわしいといえる。以下にこのような指標を例示するが、その他の統計量を用いてもかまわない。
【００２８】
[指標の例]
指標の例１：
指標の例１では、以下のχ2値を指標として用いる。
【００２９】
【数１】
0005379812.tif 000002
【００３０】
χ2値が高い正例属性候補αほど、正例シードエンティティRPe0と関係の深い、即ち属性としてふさわしいといえる。よって、この例の初期属性集合生成部１０７は、χ2値が高い正例属性候補αを正例属性RPa0として抽出する。例えば、χ2値が基準値以上となる正例属性候補αを正例属性RPa0とする。
【００３１】
指標の例２：
指標の例２では、正例シードエンティティRPe0と正例属性候補αとの２項における以下のPMIを指標として用いる。
【００３２】
【数２】
0005379812.tif 000003
【００３３】
ここで|RPe0, α|は正例シードエンティティRPe0の集合と正例属性候補αとの組の出現頻度を表す。また、*はRPe0又はαのワイルドカードを表す。
【００３４】
PMI値が大きい正例属性候補αほど、正例シードエンティティRPe0と関係の深い、即ち属性としてふさわしいといえる。よって、この例の初期属性集合生成部１０７は、PMI値が大きな正例属性候補αを正例属性RPa0として抽出する。例えば、PMI値が基準値以上となる正例属性候補αを正例属性RPa0とする（[指標の例]の説明終わり）。
【００３５】
この方法では、まず（Ａ）で構文情報を用いて正例属性候補を粗く絞り込むため、（Ｂ）での計算時間を大幅に削減することができる。また、上記（Ａ）,（Ｂ）により正例属性RPa0（正例属性の初期値）を抽出した後、適切な属性が選択されているか否かを人手によりチェックし、最終的な正例属性RPa0を決定してもよい。
【００３６】
初期属性集合生成部１０７は、負例シードエンティティRNe0についても同様の処理を行い、負例属性RNa0を抽出する。すなわち、初期属性集合生成部１０７は、負例シードエンティティRNe0を含むテキストデータの集合から当該負例シードエンティティRNe0以外の何れかの文字列を負例属性候補として選択し、負例シードエンティティRNe0を含む文字列の集合内に当該負例属性候補が含まれる頻度とすべてのテキストデータからなる集合D内に当該負例属性候補が含まれる頻度との違いの大きさを表す指標が条件を満たす負例属性候補、つまり、これらの頻度の違いが大きな当該負例属性候補を負例属性RNa0（負例属性の初期値）とする。
【００３７】
また、上述した方法の代わりに、初期属性集合生成部１０７が、負例シードエンティティRNe0とそれに対応する負例属性RNa0とを半自動で選択してもよい。例えば、初期属性集合生成部１０７は、テキストデータの集合Dから、何れの正例シードエンティティRPe0も正例属性RPa0も含まないテキストデータを所定個数抽出し、抽出した各テキストデータから２つずつランダムに名詞を選択し、一方を負例エンティティ候補、他方を負例属性候補として出力する。表示部（図示せず）はこれらを表示し、これらから負例シードエンティティRNe0とそれに対応する負例属性RNa0とを選択するようにユーザに促す表示を行う。ユーザによる選択内容は初期属性集合生成部１０７に入力され、初期属性集合生成部１０７は選択された負例シードエンティティRNe0及び負例属性RNa0の集合を出力する。
【００３８】
初期属性集合生成部１０７は、正例シードエンティティRPe0の集合、負例シードエンティティRNe0の集合、抽出した正例属性RPa0の集合、及び負例属性RNa0の集合を出力する。例えば、初期属性集合生成部１０７は、図４のテキストデータの中から、正例シードエンティティRPe0を含むテキストとしてT1，T2，T10に対応するものを取得し、上記の処理によってT1,T2に対応するテキストが含む正例属性RPa0の集合{<VS>，<第１戦>，<投手>}を抽出して出力する。同様に初期属性集合生成部１０７は、例えば、負例シードエンティティRNe0を含むテキストとしてT7に対応するものを取得し、負例属性RNa0の集合R{<人口>}を抽出して出力する。
【００３９】
《属性識別用素性抽出：ステップＳ１０３》
正例エンティティRPej-1の集合、負例エンティティRNej-1の集合、正例属性RPaj-1の集合、及び負例属性RNaj-1の集合が、属性識別用素性抽出部１０８に入力される。
【００４０】
属性識別用素性抽出部１０８は、正例エンティティRPej-1の集合から選択した第１正例エンティティと正例属性RPaj-1の集合から選択した第１正例属性との組である第１正例エンティティ−正例属性ペアPP1（RPej-1,RPaj-1）と、負例エンティティRNej-1の集合から選択した第１負例エンティティと負例属性RNaj-1の集合から選択した第１負例属性との組である第１負例エンティティ−負例属性ペアPN1（RNej-1,RNaj-1）とを生成する。PP1（RPej-1,RPaj-1）やPN1（RNej-1,RNaj-1）は、RPej-1とRPaj-1やRNej-1とRNaj-1の採り得るすべての組み合わせについて生成されてもよいし、それらの一部の組み合わせのみについて生成されてもよい。
【００４１】
次に属性識別用素性抽出部１０８は、記憶部１０１に格納されたテキストデータの集合Dから、PP1（RPej-1,RPaj-1）の正例エンティティRPej-1と正例属性RPaj-1との組を含む文字列である「第１正例テキスト」を選択する。第１正例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第１正例テキストは、第１正例エンティティ−正例属性ペアPP1（RPej-1,RPaj-1）とテキストデータとの組に対して１個以上抽出される。
【００４２】
属性識別用素性抽出部１０８は、第１正例テキストに対する第１正例エンティティ−正例属性ペアPP1（RPej-1,RPaj-1）の特徴を表す情報を当該第１正例エンティティ−正例属性ペアPP1（RPej-1,RPaj-1）の素性fPajとする。この例では、第１正例テキストごとにPP1（RPej-1,RPaj-1）の素性fPajが抽出される。PP1（RPej-1,RPaj-1）の素性fPajの例は、第１正例テキスト（正例エンティティRPej-1及び正例属性RPaj-1を含む文字列であってテキストデータに含まれるもの）と当該第１正例エンティティRPej-1及び第１正例属性RPaj-1との関係を表す情報である。このような情報であればどのようなものを素性として用いてもよい。
【００４３】
例えば、何れかの正例エンティティRPej-1及び正例属性RPaj-1を含むテキストデータ内における当該正例属性RPaj-1に一致する文字列（一致属性）から前後所定単語数以内（第１正例テキスト内）に位置する単語（周辺単語）の表記と当該一致属性に対する当該周辺単語の相対位置を表す情報との組（表層素性）、一致属性又は周辺単語の品詞情報（品詞素性）や固有名詞情報（固有名詞素性）や構文情報（構文素性）、テキストデータ内での一致属性の出現回数やテキストデータの集合D内での一致属性の出現回数（出現回数素性）のうち、少なくとも一つに対応する情報を素性fPajとすることができる。
【００４４】
例えば、正例エンティティRPej-1がex=<阪神>であり、正例属性RPaj-1がey=<投手>であり、第１正例テキストが「阪神/は/投手/陣/が/好調」であるとすると、抽出される素性fPajの例は以下のようになる。ここでは素性抽出の範囲をエンティティ及び属性の前後２単語以内と仮定している。
【００４５】
表層素性：「ex+1="は"」「ex+2=ey」「ey−2=ex」，「ey−1="は"」，「ey+1="陣"」，「ey+2="が"」
品詞素性：「ex+1=助詞」「ey−1=助詞」，「ey + 1=名詞」，「ey + 1=助詞」
固有名詞素性：「ex=ORG(組織名)」「ey−2=ORG(組織名)」
構文素性：「exの階層=eyの階層」(両方「好調」に係る)
同様に、属性識別用素性抽出部１０８は、記憶部１０１に格納されたテキストデータの集合Dから、PN1（RNej-1,RNaj-1）の負例エンティティRNej-1と負例属性RNaj-1との組を含む文字列である「第１負例テキスト」を選択する。第１負例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第１負例テキストは、第１負例エンティティ−負例属性ペアPN1（RNej-1,RNaj-1）とテキストデータとの組に対して１個以上抽出される。
【００４６】
属性識別用素性抽出部１０８は、第１負例テキストに対する第１負例エンティティ−負例属性ペアPN1（RNej-1,RNaj-1）の特徴を表す情報を当該第１負例エンティティ−負例属性ペアPN1（RNej-1,RNaj-1）の素性fNajとする。この例では、第１負例テキストごとにPN1（RNej-1,RNaj-1）の素性fNajが抽出される。PN1（RNej-1,RNaj-1）の素性fNajの例は、第１負例テキスト（負例エンティティRNej-1及び負例属性RNaj-1を含む文字列であってテキストデータに含まれるもの）と当該第１負例エンティティRNej-1及び第１負例属性RNaj-1との関係を表す情報である。その具体例は、上述した正例に対応するPP1（RPej-1,RPaj-1）の素性fPajの場合と同様である。
【００４７】
属性識別用素性抽出部１０８は、PP1（RPej-1,RPaj-1）の素性fPajと正例を表すラベル<+1>との組(fPaj, <+1>)、及び、PN1（RNej-1,RNaj-1）の素性fNajと負例を表すラベル<-1>との組(fNaj, <-1>)を出力する。
【００４８】
図５Ａは、属性識別用素性抽出部１０８が出力する組(fPaj, <+1>)及び組(fNaj, <-1>)を例示した図である。この例では、エンティティ(ex)と属性(ey)の前後２単語の表記を素性としている。
【００４９】
《属性識別学習：ステップＳ１０４》
PP1（RPej-1,RPaj-1）の素性fPajと正例を表すラベル<+1>との組(fPaj, <+1>)、及び、PN1（RNej-1,RNaj-1）の素性fNajと負例を表すラベル<-1>との組(fNaj, <-1>)が属性識別学習部１０９に入力される。属性識別学習部１０９は、PP1（RPej-1,RPaj-1）の素性fPajとPN1（RNej-1,RNaj-1）の素性fNajとを教師あり学習データとした学習処理によって、第１識別モデルMEajを生成する。この第１識別モデルMEajは、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別するための情報を出力する関数である。このような識別モデルMEajであればどのようなモデルであってもよい。
【００５０】
識別モデルMEajの例は、正則化項付き最大エントロピーモデル（参考文献１「Berger, A.L. , Pietra, V.J.D. and Pietra, "A maximum entropy approach to natural language processing", S.A.D. 1996.」）、正則化項付きの条件付きランダム場(CRFs、参考文献２「Lafferty, J. and McCallum, A. and Pereira, F. "Conditional random fields: Probabilistic models for segmenting and labeling sequence data", MACHINE LEARNING, pp. 282-289, 2001.」、サポートベクタマシン(SVMs、参考文献３「Vapnik, V. N. "The nature of statistical learning theory", Springer Verlag, 1995.」)などである。各例の識別モデルMEajの学習では、教師あり学習データとして用いられたPP1（RPej-1,RPaj-1）の素性fPajとPN1（RNej-1,RNaj-1）の素性fNajとに対し、当該識別モデルMEajへの影響度の大きさを表す指標（素性に対する重み）が付され、これらが識別モデルMEajを特定するパラメータとなる。特に参考文献１−３で例示したようなモデルは、すべての素性に対して重みが付されるモデル（例えば正則化項のない最大エントロピーモデル)ではなく、識別に有効と判断された素性のみについて重みが付される。以下、正則化項付き最大エントロピーモデルの具体例を示す。
【００５１】
正則化項付き最大エントロピーモデルが用いられる場合、属性識別学習部１０９は、(x,y)∈{(fPaj, <+1>), (fNaj, <-1>)}を学習データとして用い、条件付確率
【００５２】
【数３】
0005379812.tif 000004
【００５３】
に対するエントロピー
【００５４】
【数４】
0005379812.tif 000005
【００５５】
を最大化する各重み（パラメータ）λqに対応するPλ(y|x)であるP(y|x)を識別モデルMEajとする。ただし、
【００５６】
【数５】
0005379812.tif 000006
【００５７】
であり、qは各学習データ(x,y)の組にそれぞれ対応するラベルであり、p'(x)は学習データ(x,y)におけるxの出現頻度であり、fq(x,y)はqに対応する素性関数(feature function)である。
【００５８】
ここで、各重みλqはqに対応する学習データ(x,y)の素性fPaj又はfNajの識別モデルMEajへの影響度の大きさを表す指標となる。また、正則化項付き最大エントロピーモデルの例では、すべての学習データ(x,y)の素性fPaj又はfNajに対して重みλqが付されるわけではなく、重要度の低い素性に対応する重みλqは付されない。すなわち、重要度の低い素性に対応する重みλqは0とされる。
【００５９】
学習処理によって生成された第１識別モデルMEajは記憶部１０２に格納される。例えば、学習処理によって生成された第１識別モデルMEajのパラメータが記憶部１０２に格納される。
【００６０】
《属性識別：ステップＳ１０５》
属性識別部１１０は、記憶部１０１に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第１対象エンティティRDejとして選択する。また属性識別部１１０は、選択した当該テキストデータから当該第１対象エンティティRDejと異なる文字列を第１対象属性RDajとして選択する。そして属性識別部１１０は、第１対象エンティティRDejと第１対象属性RDajとの組を第１対象エンティティ−対象属性ペアPD1（RDej,RDaj）とする。
【００６１】
なお、テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、特定の方法で対象を限定して選択を行うことが望ましい。以下にその具体例を示す。
【００６２】
[選択方法の例]
第１条件：
属性識別部１１０は、何れかの正例エンティティRPj-1e又は負例エンティティRNj-1eを含み、かつ当該エンティティRPj-1e又RNj-1eから任意のウィンドウサイズ内（ここでは３単語とする）に名詞を含むテキストデータを選択し、当該ウィンドウサイズ内の名詞を属性候補とする。
【００６３】
第２条件：
第１条件だけでは対象の数が膨大になる場合があるため、属性識別部１１０は、属性識別学習部１０９で教師あり学習データとして用いられたPP1（RPej-1,RPaj-1）の素性fPajとPN1（RNej-1,RNaj-1）の素性fNajのうち、それらから生成された第１識別モデルMEajへの影響度の大きさを表す指標（例えば前述の重みλq）が特定の基準を満たす素性、つまり、当該第１識別モデルMEajへの影響度が大きな素性fPaj及び／又はfNajを選択する。例えば、属性識別部１１０は、前述の重みλqの絶対値が閾値よりも大きな素性fPaj及び／又はfNajを選択する。
【００６４】
属性識別部１１０は、選択した素性fPaj及び／又はfNajに対応する文字列を含むテキストデータを、第１条件で選択されたテキストデータの集合から選択する。属性識別部１１０は、当該選択したテキストデータが含む文字列を第１対象エンティティRDej及び第１対象属性RDajとする。例えば、属性識別部１１０は、選択した素性fPaj及び／又はfNajから表層素性の単語を抽出し、当該表層素性の単語を含むテキストデータを第１条件で選択されたテキストデータの集合から選択し、当該選択したテキストデータが含む文字列を第１対象エンティティRDej及び第１対象属性RDajとする。
【００６５】
一例を挙げると、選択された素性がエンティティexの前２単語が表層素性と品詞素性の組み合わせで成り立つ素性FNC(x−2=“POS:名詞”, x−1=“VS”)であった場合、属性識別部１１０は、選択した素性FNC(x−2=“POS:名詞”, x−1=“VS”)から表層素性の単語“VS”を抽出し、第１条件で選択されたテキストデータの集合から、単語“VS”を含むテキストデータを選択する（[選択方法の例]の説明終わり）。
【００６６】
属性識別用素性抽出部１０８は、記憶部１０１に格納されたテキストデータの集合Dから、第１対象エンティティRDejと第１対象属性RDajとの組を含む文字列である「第１対象テキスト」を選択する。第１対象テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第１対象テキストは、第１対象エンティティ−対象属性ペアPD1（RDej,RDaj）とテキストデータとの組に対して1個以上抽出される。
【００６７】
属性識別用素性抽出部１０８は、第１対象テキストに対する第１対象エンティティ−対象属性ペアPD1（RDej,RDaj）の特徴を表す情報を当該第１対象エンティティ−対象属性ペアPD1（RDej,RDaj）の素性fDajとする。この例では、第１対象テキストごとにPD1（RDej,RDaj）の素性fDajが抽出される。PD1（RDej,RDaj）の素性fDajの例は、第１対象テキスト（第１対象エンティティRDej及び第１対象属性RDaj-1を含む文字列であってテキストデータに含まれるもの）と第１対象エンティティRDej及び第１対象属性RDaj-1との関係を表す情報である。その具体例は、上述した正例に対応するPP1（RPej-1,RPaj-1）の素性fPajの場合と同様である。
【００６８】
第１対象テキストに対応するPD1（RDej,RDaj）の素性fDajは、属性識別部１１０に入力される。属性識別部１１０は、PD1（RDej,RDaj）の素性fDajを記憶部１０２から読み出した第１識別モデルMEajに入力し、PD1（RDej,RDaj）が正例エンティティ−正例属性ペアかを識別するための情報CPaj、及び／又は、PD1（RDej,RDaj）が負例エンティティ−負例属性ペアかを識別するための情報CNajを得る。CPajの例はPD1（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度であり、CNajの例はPD1（RDej,RDaj）が負例エンティティ−負例属性ペアである確率を表す信頼度に対応する情報CNajである。識別モデルMEajとして正則化項付き最大エントロピーモデルが用いられる場合には、例えば、x=fDajを識別モデルMEajであるP(y|x)に代入して得られる条件付確率P(1|x)及び／又はP(-1|x)がCPaj=P(1|x)及び／又はCNaj=P(-1|x)とされる。その他、例えばP(1|x)の広義単調増加関数値がCPajとされ、及び／又は、P(-1|x)の広義単調増加関数値がCNajとされてもよい。
【００６９】
次の属性識別部１１０の処理はどのようなCPaj，CNajを用いるかによって相違する。以下、それぞれのケースについて説明する。
【００７０】
［正例側に対するCPajと負例側に対するCPajとの正負符号が反転する場合］
負例側のCPajの正負符号が正例側のCPajと反対になる場合（例えば、負例側のCPajが常に負となる場合等）、属性識別部１１０は、PD1（RDej,RDaj）と当該PD1（RDej,RDaj）の素性fDaj及びCPajとを属性修正候補選択部１１１に送る。
【００７１】
［正例側に対するCPajと負例側に対するCPajとの正負符号が反転するとは限らない場合］
属性識別部１１０は、PD1（RDej,RDaj）に対応するCPaj及び／又はCNajを用い、PD1（RDej,RDaj）が負例エンティティ−負例属性ペアかを識別する。属性識別部１１０は、所定の閾値とCPaj及び／又はCNajとを比較してこの識別を行う。以下に識別方法を例示する。
【００７２】
例１：属性識別部１１０は、CPajが第１閾値以下（例えば０以下）である場合に、当該CPajに対応するPD1（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【００７３】
例２：属性識別部１１０は、CNajが第２閾値以上である場合に、当該CNajに対応するPD1（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【００７４】
例３：属性識別部１１０は、CNajが第２閾値以上であり、かつ、CPajが第１閾値以下である場合に、当該CNaj及びCPajに対応するPD1（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【００７５】
属性識別部１１０は、負例エンティティ−負例属性ペアであると判定したPD1（RDej,RDaj）の第１対象属性RDajを負例属性RNajとして記憶部１０３に格納し、負例属性RNajの集合に追加する。さらに属性識別部１１０は、負例エンティティ−負例属性ペアであると判定されなかったPD1（RDej,RDaj）と当該PD1（RDej,RDaj）の素性fDaj及びCPajとを属性修正候補選択部１１１に送る。
【００７６】
《属性修正候補選択：ステップＳ１０６》
属性修正候補選択部１１１は、入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合の部分集合を属性修正候補CRPajの集合として選択する。属性修正候補CRPajの集合の要素は正例属性の候補としてユーザに提示され、人手によるラベル修正（正例から負例への修正、又は正例からラベルなしへの修正）の候補とされる。入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合が属性修正候補CRPajの集合とされてもよいし、当該第１対象属性RDajの集合の一部が属性修正候補CRPajの集合とされてもよい。ただ、人手による修正コストをできるだけ小さくし、かつ、セマンティックドリフトをより効率的に軽減するためには、それに適した基準で属性修正候補CRPajの集合が選択されることが望ましい。基本的には、人手によるラベル修正によって得られる情報量の多い第１対象属性RDajや、正例属性であることの信頼度がデータ抽出装置１にとって低い第１対象属性RDajが、属性修正候補CRPajの集合として有益である。有益な第１対象属性RDajを選んで属性修正候補CRPajの集合としてユーザに提示できれば、ユーザが検討するデータの数を減らすことができ（ユーザの負荷を減らし）、かつ、学習処理に有益な正例属性RPajを効率よく得ることができる。以下、有益な第１対象属性RDajの集合を属性修正候補CRPajの集合として選択するための基準を例示する。
【００７７】
［属性修正候補の集合を選択する基準の例示］
属性修正候補選択部１１１は、例えば、第１対象属性RDajに対応するスコアSp(a)を何らかの基準（第２基準）と比較し、その基準を満たす第１対象属性RDajの集合を属性修正候補CRPajの集合とする。例えば、スコアSp(a)が閾値THp(a)以上（又は閾値THp(a)を超えること）となる第１対象属性RDajを属性修正候補CRPajの集合の要素としてもよいし、スコアSp(a)の大きい順に選択された上位M(a)個（M(a)は正整数）の第１対象属性RDajを属性修正候補CRPajの集合の要素としてもよい。
【００７８】
スコアSp(a)は、人手によるラベル修正によって得られる情報量が多い（影響度が大きい）ほど大きくなるものであってもよいし、正例属性であることの信頼度がデータ抽出装置１にとって低いほど大きくなるものであってもよいし、それらの両方の特徴を備えたものであってもよい。以下、スコアSp(a)の例を示す。
【００７９】
［影響度に対応するスコアの例］
この例では、属性修正候補選択部１１１に入力されたPD1（RDej,RDaj）の集合が含む特定の要素に対する素性についての関連性の強さが何らかの基準（第１基準）を満たす他の要素の個数に対応する情報を、当該特定の要素である第１対象エンティティ−対象属性ペアの影響度Pp(a)とし、影響度Pp(a)に対応するスコアSp(a)が用いられる。属性修正候補選択部１１１は、影響度Pp(a)に対応するスコアSp(a)が第２基準を満たすPD1（RDej,RDaj）が含む第１対象属性RDajの集合を属性修正候補CRPajの集合とする。影響度Pp(a)がそのままスコアSp(a)とされてもよいし、影響度Pp(a)に対する広義単調増加関数値がスコアSp(a)とされてもよい。
【００８０】
影響度Pp(a)は、後述するステップＳ１１１でSIMやFMMなどに基づくアクティブラーニング法が用いられる場合に、人手によるラベル修正によって得られる情報量の大きさを表わす。すなわち、SIMやFMMに基づくアクティブラーニング法では、人手で修正された情報と素性について関連性が強い情報を自動的に修正する。よって、人手で修正された要素に対する素性について関連性の強さが何らかの基準を満たす他の要素の個数に対応する影響度Pp(a)は、人手での修正に伴って自動的に修正される要素の個数に対応する。そのため、影響度Pp(a)は人手によるラベル修正によって得られる情報量の大きさを表わす。人手での修正に伴って自動的に修正される要素の個数が影響度Pp(a)とされてもよいし、人手での修正に伴って自動的に修正される要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。以下に影響度Pp(a)の具体例を示す。
【００８１】
影響度Pp(a)の具体例１：
影響度Pp(a)の具体例１は、後述するステップＳ１１１でSIM又はそれに類似の処理が用いられる場合に特に有効なものである。この例では、上述の「素性についての関連性の強さ」が「素性の類似度の大きさ」とされる。すなわち、属性修正候補選択部１１１に入力されたPD1（RDej,RDaj）の集合が含む特定の要素に対する素性の類似度の大きさが何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第１対象エンティティ−対象属性ペアの影響度Pp(a)とする。言い換えると、当該特定の要素の素性と類似する（類似度が何らかの基準を満たす）素性を持つ要素の個数に対応する情報を当該特定の要素の影響度Pp(a)とする。例えば、当該特定の要素の素性との類似度が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(a)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。
【００８２】
類似度としてどのような尺度を用いるかについての限定はないが、コサイン類似度や、PMIで重み付けされた素性のコサイン類似度などを例示できる（例えば、非特許文献２参照）。例えば、PD1（RDej,RDaj）の集合が含む特定の要素xに対応するPMIで重み付けされた素性と、PD1（RDej,RDaj）の集合が含む他の要素yに対応するPMIで重み付けされた素性とコサイン類似度cosine(x,y)は、以下のように表わされる。
【００８３】
【数６】
0005379812.tif 000007
【００８４】
ただし、fiは素性を表し、iは各素性fiの正整数インデックスを表す。φ(x, fi)は要素xの素性がfiを含むときに1を与える素性関数であり、
【００８５】
【数７】
0005379812.tif 000008
【００８６】
であり、|x, fi|はテキストデータの集合Dにおいてxとfiが同時に出現する頻度を表し、*はfi又はxのワイルドカードを表す。
【００８７】
影響度Pp(a)の具体例２：
影響度Pp(a)の具体例２は、後述するステップＳ１１１でFMM又はそれに類似の処理が用いられる場合に特に有効なものである。PD1（RDej,RDaj）の素性がそれぞれ複数の値の集合であることを前提とする。この例でのPD1（RDej,RDaj）の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第１識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを第１識別モデルに入力して得られる情報と、の違いの大きさ（変動量）である。例えば、PD1（RDej,RDaj）の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第１識別モデルに入力して得られる信頼度（正例であることの信頼度）と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたもの（すなわちこれらの素性のインターセクションを除去したもの）を第１識別モデルに入力して得られる信頼度（正例であることの信頼度）との変動量（特定の要素の素性を基準とした「変動量」）である。例えば、PD1（RDej,RDaj）の集合が含む特定の要素の素性がf1, f2, f3であり、他の要素の素性がf2, f3, f4, f5であり、素性f2, f3, f4, f5を第１識別モデルに入力して得られる信頼度がPAであり、素性f2, f3, f4, f5から素性f1, f2, f3と共通するものを除いた素性f4, f5を第１識別モデルに入力して得られる信頼度がPBであるとする。この例の場合、PAとPBとの間の変動量が当該特定の要素と当該他の要素との間での「素性についての関連性の強さ」となる。このような変動量が大きい当該他の要素ほど、当該特定の要素との間での素性についての関連性が強いといえる。具体例２では、当該変動量が何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第１対象エンティティ−対象属性ペアの影響度Pp(a)とする。例えば、このような変動量が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(a)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。
【００８８】
［信頼度に対応するスコアの例］
この例では、PD1（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度に対応するスコアSp(a)を用いる。信頼度が低いPD1（RDej,RDaj）が含む第１対象属性RDajほど人手による修正が効果的であると考えられるため、信頼度に対応するスコアSp(a)を用いることは有効である。この例では、信頼度が小さいほど大きくなるスコアSp(a)を用いる。例えば、属性修正候補選択部１１１に入力されるPD1（RDej,RDaj）に対応するCPajが当該PD1（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度であるとし、CPajの逆数がスコアSp(a)とされてもよいし、CPajの広義単調減少関数値がSp(a)とされてもよい。
【００８９】
［影響度及び信頼度に対応するスコアの例］
この例では、上述の影響度及び信頼度に対応するスコアSp(a)が用いられる。この例では、上述の影響度が大きいほど大きくなり、かつ、上述の信頼度が大きくなるほど小さくなるスコアSp(a)が用いられる。例えば、Sp(a)=Pp(a)/CPajとされてもよいし、Pp(a)/CPajの広義単調増加関数値がスコアSp(a)とされてもよい。
【００９０】
《属性修正候補提示：ステップＳ１０７》
属性修正候補選択部１１１で選択された属性修正候補CRPajの集合は属性修正候補提示部１１２に送られる。属性修正候補提示部１１２は、属性修正候補CRPajの集合を出力する。例えば、属性修正候補提示部１１２は、属性修正候補CRPajの集合をリストとして表示する。この際、例えば、各属性修正候補CRPajに対応する第１対象エンティティRDejやスコアSp(a)などの情報も併せて属性修正候補提示部１１２に送られ、表示されてもよい。ユーザはこのように表示された属性修正候補CRPajの集合を閲覧する。
【００９１】
《属性修正情報取得：ステップＳ１０８》
属性修正候補CRPajの集合を閲覧したユーザはそれらの要素が本当に正例であるか否かを検証し、属性修正候補CRPajの集合から正例属性として適切ではない要素を選択する。ユーザはその選択結果に基づき、属性修正候補CRPajの集合の何れかの要素を特定する属性修正情報を属性修正情報取得部１１３に入力する。属性修正情報は、ユーザが正例属性として適切ではないと判断した要素を特定可能な情報である。例えば、ユーザが正例属性として適切ではないと判断した属性修正候補CRPajを示す情報が属性修正情報とされてもよいし、逆にユーザが正例属性として適切であると判断した属性修正候補CRPajを示す情報が属性修正情報とされてもよい。このように属性修正情報取得部１１３に入力された属性修正情報は、基準更新部１１４及び属性修正情報反映部１１５に送られる。
【００９２】
《条件判定：ステップＳ１０９，Ｓ１１０》
基準更新部１１４は、属性修正候補提示部１１２から出力された属性修正候補CRPajの集合のうち、正例属性として不適切な要素を基準個数以上特定する属性修正情報が属性修正情報取得部１１３に入力されたかを判定する。基準個数は、属性修正候補提示部１１２から出力されたすべての属性修正候補CRPajの個数であってもよいし、それ以下の個数であってもよい。すなわち、属性修正候補提示部１１２から出力されたすべての属性修正候補CRPajが正例属性として不適切とされたかが判定されてもよいし、属性修正候補提示部１１２から出力された属性修正候補CRPajのうち閾値以上の属性修正候補が正例属性として不適切とされたかが判定されてもよい（ステップＳ１０９）。
【００９３】
ここで、正例属性として不適切な要素を基準個数以上特定する属性修正情報が属性修正情報取得部１１３に入力されたと判定された場合、基準更新部１１４はステップＳ１０６で属性修正候補CRPajの集合として選択される要素が増加するように、属性修正候補選択部１１１での基準（第２基準）を更新する。例えば、ステップＳ１０６において、スコアSp(a)が閾値THp(a)以上となる第１対象属性RDajを属性修正候補CRPajの集合の要素とされるのであれば閾値THp(a)を低くする。例えば、ステップＳ１０６において、スコアSp(a)の大きい順に選択された上位M(a)個の第１対象属性RDajを属性修正候補CRPajの集合の要素とされるのであればM(a)の値を大きくする。閾値THp(a)や値M(a)などの初期値や更新のステップ幅は自由に設定することができる（ステップＳ１１０）。その後ステップＳ１０６に戻る。これにより、属性修正候補選択部１１１でより多くの要素からなる属性修正候補の集合が再び選択され、属性修正候補提示部１１２の処理と属性修正情報取得部１１３の処理とがやり直される。
【００９４】
一方、正例属性として不適切な要素を基準個数以上特定しない属性修正情報が属性修正情報取得部１１３に入力されたと判定された場合、以下の属性修正情報反映部１１５の処理が実行される。
【００９５】
《属性修正情報反映：ステップＳ１１１》
ステップＳ１０５で負例エンティティ−負例属性ペアであると判定されなかったPD1（RDej,RDaj）の集合と、属性修正情報取得部１１３に入力された属性修正情報とが属性修正情報反映部１１５に入力される。属性修正情報反映部１１５は、入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合から属性修正情報で特定される要素を除いた補集合に含まれる要素を、正例属性RPajの集合の要素とする。以下にこの処理を例示する。
【００９６】
［処理例１］
この例の属性修正情報反映部１１５は、少なくとも、属性修正情報で特定される属性修正候補CRPajと、当該属性修正情報で特定される属性修正候補CRPajを含む第１対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが何らかの基準（第３基準）を満たす他の第１対象エンティティ−対象属性ペアが含む属性修正候補CRPajとを除く、属性修正候補の集合の要素を、正例属性RPajの集合に追加する。ここで、「素性についての関連性の強さ」は、例えば、前述の影響度Pp(a)の具体例１で説明した「素性の類似度の大きさ」であってもよいし、前述の影響度Pp(a)の具体例２で説明した「変動量」であってもよい。
【００９７】
「素性についての関連性の強さ」が「素性の類似度の大きさ」である場合（例えばSIMの処理）、属性修正情報反映部１１５は、入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合から、以下（SIM削除-１,2）を除外したものを正例属性RPajの集合として記憶部１０３に格納し、当該除外した要素（SIM削除-１,2）を負例属性RNajの集合として記憶部１０３に格納する。
【００９８】
SIM削除-１：属性修正情報によって特定された第１対象属性RDaj（正例属性として適切ではないと判断された要素）。
【００９９】
SIM削除-２：SIM削除-１で除外された要素を含むPD1（RDej,RDaj）の素性と類似する（類似度が何らかの基準を満たす）素性を持つ他のPD1（RDej,RDaj）が含む第１対象属性RDaj。なお、類似度の尺度は、例えば、前述の影響度Pp(a)の具体例１で説明したものと同様である。類似度が何らかの基準を満たすとは、例えば、類似度が基準値以上となることである。この基準値は前述の影響度Pp(a)を定めるために用いたものと同一であってもよいし、異なるものであってもよい。
【０１００】
一方、「素性についての関連性の強さ」が前述の影響度Pp(a)の具体例２で説明した「変動量」である場合（例えばFMMの処理）、属性修正情報反映部１１５は、入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合から以下（FMM削除-１,2）を除外したものを正例属性RPajの集合として記憶部１０３に格納し、FMM削除-１で除外された要素を負例属性RNajの集合として記憶部１０３に格納する。FMM削除-2で除外された要素のラベル付け（正例・負例判定）は行われない。
【０１０１】
FMM削除-１：属性修正情報によって特定された第１対象属性RDaj（正例属性として適切ではないと判断された要素）。
【０１０２】
FMM削除-2：FMM削除-１で除外された第１対象属性RDajを含むPD1（RDej,RDaj）の素性を基準とした「変動量」が大きい（何らかの基準を満たす）他のPD1（RDej,RDaj）が含む第１対象属性RDaj。
【０１０３】
［処理例２］
この例の属性修正情報反映部１１５は、入力されたPD1（RDej,RDaj）が含む第１対象属性RDajの集合から属性修正情報で特定される第１対象属性RDaj（正例属性として適切ではないと判断された要素）を除いたものを正例属性RPajの集合として記憶部１０３に格納する。属性修正情報で特定される第１対象属性RDajは負例属性RNajの集合として記憶部１０３に格納される。
【０１０４】
《エンティティ識別用素性抽出：ステップＳ１１２》
正例エンティティRPej-1の集合、負例エンティティRNej-1の集合、上記のように更新された正例属性RPajの集合及び負例属性RNajの集合がエンティティ識別用素性抽出部１１６に入力される。
【０１０５】
エンティティ識別用素性抽出部１１６は、正例エンティティRPej-1の集合から選択した第２正例エンティティと正例属性RPajの集合から選択した第２正例属性との組である第２正例エンティティ−正例属性ペアPP2（RPej-1,RPaj）と、負例エンティティRNej-1の集合から選択した第２負例エンティティと負例属性RNajの集合から選択した第２負例属性との組である第２負例エンティティ−負例属性ペアPN2（RNej-1,RNaj）とを生成する。PP2（RPej-1,RPaj）やPN2（RNej-1,RNaj）は、RPej-1とRPajやRNej-1とRNajの採り得るすべての組み合わせについて生成されてもよいし、それらの一部の組み合わせのみについて生成されてもよい。
【０１０６】
次にエンティティ識別用素性抽出部１１６は、記憶部１０１に格納されたテキストデータの集合Dから、PP2（RPej-1,RPaj）の正例エンティティRPej-1と正例属性RPajとの組を含む文字列である「第２正例テキスト」を選択する。第２正例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第２正例テキストは、第２正例エンティティ−正例属性ペアPP2（RPej-1,RPaj）とテキストデータとの組に対して１個以上抽出される。
【０１０７】
エンティティ識別用素性抽出部１１６は、第２正例テキストに対する第２正例エンティティ−正例属性ペアPP2（RPej-1,RPaj）の特徴を表す情報を当該第２正例エンティティ−正例属性ペアPP2（RPej-1,RPaj）の素性fPejとする。この例では、第２正例テキストごとにPP2（RPej-1,RPaj）の素性fPejが抽出される。PP2（RPej-1,RPaj）の素性fPejの例は、第２正例テキスト（正例エンティティRPej-1及び正例属性RPajを含む文字列であってテキストデータに含まれるもの）と当該第２正例エンティティRPej-1及び第２正例属性RPajとの関係を表す情報である。その具体例は、前述（ステップＳ１０３）したPP1（RPej-1,RPaj-1）の素性fPajの場合と同様である。
【０１０８】
同様に、エンティティ識別用素性抽出部１１６は、記憶部１０１に格納されたテキストデータの集合Dから、何れかの負例エンティティRNej-1と負例属性RNajとの組を含む文字列である「第２負例テキスト」を選択する。第２負例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第２負例テキストは、第２負例エンティティ−負例属性ペアPN2（RNej-1,RNaj）とテキストデータとの組に対して１個以上抽出される。
【０１０９】
エンティティ識別用素性抽出部１１６は、第２負例テキストに対する第２負例エンティティ−負例属性ペアPN2（RNej-1,RNaj）の特徴を表す情報を当該第２負例エンティティ−負例属性ペアPN2（RNej-1,RNaj）の素性fNejとする。この例では、第２負例テキストごとにPN2（RNej-1,RNaj）の素性fNejが抽出される。PN2（RNej-1,RNaj）の素性fNejの例は、第２負例テキスト（負例エンティティRNej-1及び負例属性RNajを含む文字列であってテキストデータに含まれるもの）と当該第２負例エンティティRNej-1及び第２負例属性RNajとの関係を表す情報である。その具体例は、前述（ステップＳ１０３）したPP1（RPej-1,RPaj-1）の素性fPajの場合と同様である。
【０１１０】
エンティティ識別用素性抽出部１１６は、PP2（RPej-1,RPaj）の素性fPejと正例を表すラベル<+1>との組(fPej, <+1>)、及び、PN2（RNej-1,RNaj）の素性fNejと負例を表すラベル<-1>との組(fNej, <-1>)を出力する。
【０１１１】
図５Ｂは、エンティティ識別用素性抽出部１１６が出力する組(fPej, <+1>)及び組(fNej, <-1>)を例示した図である。この例では、エンティティ(ex)と属性(ey)の前後２単語の表記を素性としている。
【０１１２】
《エンティティ識別学習：ステップＳ１１３》
PP2（RPej-1,RPaj）の素性fPejと正例を表すラベル<+1>との組(fPej, <+1>)、及び、PN2（RNej-1,RNaj）の素性fNejと負例を表すラベル<-1>との組(fNej, <-1>)がエンティティ識別学習部１１７に入力される。エンティティ識別学習部１１７は、PP2（RPej-1,RPaj）の素性fPejとPN2（RNej-1,RNaj）の素性fNejとを教師あり学習データとした学習処理によって、第２識別モデルMEejを生成する。この第２識別モデルMEejは、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別するための情報を出力する関数である。このような第２識別モデルMEejであればどのようなモデルであってもよい。例えば、前述の識別モデルMEejと同様に第２識別モデルMEejを生成すればよい。
【０１１３】
学習処理によって生成された第２識別モデルMEejは記憶部１０４に格納される。例えば、学習処理によって生成された第２識別モデルMEejのパラメータが記憶部１０４に格納される。
【０１１４】
《エンティティ識別：ステップＳ１１４》
エンティティ識別部１１８は、記憶部１０１に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第２対象エンティティRDejとして選択する。またエンティティ識別部１１８は、選択した当該テキストデータから当該第２対象エンティティRDejと異なる文字列を第２対象属性RDajとして選択する。そしてエンティティ識別部１１８は、第２対象エンティティRDejと第２対象属性RDajとの組を第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）とする。
【０１１５】
なお、テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、特定の方法で対象を限定して選択を行うことが望ましい。以下にその具体例を示す。
【０１１６】
[選択方法の例]
第１条件：
エンティティ識別部１１８は、何れかの正例属性RPja又は負例属性RNjaを含み、かつ当該属性RPja又RNjaから任意のウィンドウサイズ内（ここでは３単語とする）に名詞を含むテキストデータを抽出し、ウィンドウサイズ内の名詞をエンティティ候補とする。
【０１１７】
第２条件：
第１条件だけでは対象の数が膨大になる場合があるため、エンティティ識別部１１８は、エンティティ識別学習部１１７で教師あり学習データとして用いられたPP2（RPej-1,RPaj）の素性fPejとPN2（RNej-1,RNaj）の素性fNejのうち、それらから生成された第２識別モデルMEejへの影響度の大きさを表す指標（例えば前述の重みλq）が特定の基準を満たす素性、つまり、当該第２識別モデルMEejへの影響度が大きな素性fPej及び／又はfNejを選択する。例えば、エンティティ識別部１１８は、前述の重みλqの絶対値が閾値よりも大きな素性fPej及び／又はfNejを選択する。
【０１１８】
エンティティ識別部１１８は、選択した素性fPej及び／又はfNejに対応する文字列を含むテキストデータを、第１条件で選択されたテキストデータの集合から選択する。エンティティ識別部１１８は、当該選択したテキストデータが含む文字列を第２対象エンティティRDej及び第２対象属性RDajとする。例えば、エンティティ識別部１１８は、選択した素性fPej及び／又はfNejから表層素性の単語を抽出し、当該表層素性の単語を含むテキストデータを第１条件で選択されたテキストデータの集合から選択する。（[選択方法の例]の説明終わり）。
【０１１９】
エンティティ識別用素性抽出部１１６は、記憶部１０１に格納されたテキストデータの集合Dから、第２対象エンティティRDejと第２対象属性RDajとの組を含む文字列である「第２対象テキスト」を選択する。第２対象テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第２対象テキストは、第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）とテキストデータとの組に対して1個以上抽出される。
【０１２０】
エンティティ識別用素性抽出部１１６は、第２対象テキストに対する第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）の特徴を表す情報を当該第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）の素性fDejとする。この例では、第２対象テキストごとにPD2（RDej,RDaj）の素性fDejが抽出される。PD2（RDej,RDaj）の素性fDejの例は、第２対象テキスト（第２対象エンティティRDej及び第２対象属性RDaj-1を含む文字列であってテキストデータに含まれるもの）と第２対象エンティティRDej及び第２対象属性RDaj-1との関係を表す情報である。その具体例は、前述（ステップＳ１０３）したPP1（RPej-1,RPaj-1）の素性fPajの場合と同様である。
【０１２１】
第２対象テキストに対応するPD2（RDej,RDaj）の素性fDejは、エンティティ識別部１１８に入力される。エンティティ識別部１１８は、PD2（RDej,RDaj）の素性fDejを記憶部１０４から読み出した第２識別モデルMEejに入力し、PD2（RDej,RDaj）が正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別する。
【０１２２】
ここで、エンティティ識別部１１８は、PD2（RDej,RDaj）を正例エンティティ−正例属性ペアであると識別した場合、当該PD2（RDej,RDaj）の第２対象エンティティRDejを正例エンティティRPejとして記憶部１０５に格納し、正例エンティティRPejの集合に追加する。また、エンティティ識別部１１８は、PD2（RDej,RDaj）が負例エンティティ−負例属性ペアであると識別した場合、当該PD2（RDej,RDaj）の第２対象エンティティRDejを負例エンティティRNejとして記憶部１０５に格納し、負例エンティティRNejの集合に追加する。すなわち、ステップＳ１１２−Ｓ１１４では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。
【０１２３】
《収束判定：ステップＳ１１５−Ｓ１１７》
収束判定部１１９は、収束条件を満たしたかを判定する。以下に収束条件を例示する。
【０１２４】
[収束条件の例]
収束条件の例１：この例の収束判定部１１９は、正例エンティティRPejに新たに割り当てられる対象エンティティRDejが存在しない場合に、収束条件を満たしたと判断する。
【０１２５】
収束条件の例２：この例の収束判定部１１９は、ステップＳ１０３からＳ１１４のイテレーションを基準回数以上繰り返しても新たに割り当てられる対象エンティティRDej-1が存在しない場合に、収束条件を満たしたと判断する。
【０１２６】
収束条件の例３：この例の収束判定部１１９は、jの値が基準値以上となった場合に収束条件を満たしたと判断する（[収束条件の例]の説明終わり／ステップＳ１１５）。
【０１２７】
収束判定部１１９が収束条件を満たしたと判断した場合、ステップＳ１０３からＳ１１４のイテレーションが終了し、出力部１２０が記憶部１０５に格納されているすべての正例エンティティRPjeを出力して処理を終了する（ステップＳ１１７）。それ以外の場合は、制御部１９がj+1を新たなjの値とし（ステップＳ１１６）、記憶部１０５に格納されている正例エンティティRPje 及び負例エンティティRNje 、記憶部１０３に格納されている正例属性RPja 及び負例属性RNjaを属性識別用素性抽出部１０８に入力し、ステップＳ１０３からＳ１１４のイテレーションが実行される。
【０１２８】
＜第１実施形態の特徴＞
本形態では、抽出対象となるエンティティよりも少ない情報量で特徴を表し得る属性のラベル（正例か負例かを表すラベル）を人手によって修正可能とする。これにより、エンティティのラベルのみを人手によって修正する場合に比べ、少ないコストでエンティティの識別精度を向上させることができる。基本的には、１つの属性を修正する場合と１つのエンティティを修正する場合とを比べると、前者によるエンティティの識別精度の向上効果の方が大きい。例えば、球団のエンティティを獲得したい場合に、「ゴール」が正例属性の候補として得られた場合にそれを修正することで得られる効果は、「ヴェルディ」が正例エンティティの候補として得られた場合にそれを修正することで得られる効果よりも大きい。よって、本形態では、人手による修正コストを小さくし、セマンティックドリフトを効率的に抑制することができる。
【０１２９】
また、本形態では、エンティティとその属性との組を用いて識別を行うこととしたため、セマンティックドリフトを抑制することができる。例えばエンティティ<阪神>には曖昧性があり、エンティティ<阪神>の素性のみでは、エンティティ<阪神>が鉄道名と球団名のどちらを指すか識別できない。しかし、<試合>や<乗務員>の属性を付加した<阪神>−<試合>や<阪神>−<乗務員>を制約条件とすれば、それぞれの<阪神>が異なる意味で用いられていることを識別できる。
【０１３０】
また、本形態では、co-training方式を用いるため、精度の高い識別が可能となる。なお、上記では正例及び負例属性の更新（ステップＳ１０３−Ｓ１１１）を行った後に、正例及び負例エンティティの更新（Ｓ１１２−Ｓ１１４）を行う例を示した。しかし、正例及び負例エンティティの更新を行った後に正例及び負例属性の更新を行ってもよい。
【０１３１】
その他、本形態の方法はリソースであるテキストデータの種類によらず利用でき、適用範囲が広い。
【０１３２】
〔第２実施形態〕
第１実施形態では属性のラベルのみを人手による修正対象としたが、第２実施形態ではさらにエンティティのラベルについても人手による修正対象とする。以下では第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【０１３３】
＜構成＞
図６は、第２実施形態のデータ抽出装置２の機能構成を例示するためのブロック図である。
【０１３４】
図６に例示するように、データ抽出装置２は、記憶部１０１−１０５、制御部１０６、初期属性集合生成部１０７、属性識別用素性抽出部１０８、属性識別学習部１０９、属性識別部１１０、属性修正候補選択部１１１、属性修正候補提示部１１２、属性修正情報取得部１１３、基準更新部１１４、属性修正情報反映部１１５、エンティティ識別用素性抽出部１１６、エンティティ識別学習部１１７、エンティティ識別部２１８、エンティティ修正候補選択部２１１、エンティティ修正候補提示部２１２、エンティティ修正情報取得部２１３、基準更新部２１４、エンティティ修正情報反映部２１５、収束判定部１１９、及び出力部１２０を有し、制御部１０６の制御のもと各処理を実行する。なお、データ抽出装置２は、例えば、CPU、RAM及びROM等を含む公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。
【０１３５】
＜前提＞
第１実施形態と同じである。
【０１３６】
＜データ抽出処理＞
図２及び７に例示するように、本形態でも、エンティティと属性の更新を交互に行うco-training方式を用いる。すなわち、ステップＳ１０３−Ｓ１１１では正例及び負例エンティティの更新は行われず、正例及び負例属性の更新のみが行われる。一方ステップＳ１１２−Ｓ２１１では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。以下、図２及び７を用いてデータ抽出装置２のデータ抽出処理を例示する。
【０１３７】
《ステップＳ１０１−Ｓ１１３》
ステップＳ１０１−Ｓ１１３の処理は第１実施形態と同一である。ステップＳ１１３の後、以下のステップＳ２１４の処理が実行される。
【０１３８】
《エンティティ識別：ステップＳ２１４》
エンティティ識別部２１８は、記憶部１０１に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第２対象エンティティRDejとして選択する。またエンティティ識別部２１８は、選択した当該テキストデータから当該第２対象エンティティRDejと異なる文字列を第２対象属性RDajとして選択する。そしてエンティティ識別部２１８は、第２対象エンティティRDejと第２対象属性RDajとの組を第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）とする。テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、第１実施形態のステップＳ１１４で説明したような特定の方法で対象を限定して選択を行うことが望ましい。
【０１３９】
エンティティ識別用素性抽出部１１６は、第１実施形態と同様に、記憶部１０１に格納されたテキストデータの集合Dから、第２対象エンティティRDejと第２対象属性RDajとの組を含む文字列である「第２対象テキスト」を選択する。エンティティ識別用素性抽出部１１６は、第１実施形態と同様に、第２対象テキストに対する第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）の特徴を表す情報を当該第２対象エンティティ−対象属性ペアPD2（RDej,RDaj）の素性fDejとする。
【０１４０】
第２対象テキストに対応するPD2（RDej,RDaj）の素性fDejは、エンティティ識別部２１８に入力される。エンティティ識別部２１８は、PD2（RDej,RDaj）の素性fDejを記憶部１０４から読み出した第２識別モデルMEejに入力し、PD2（RDej,RDaj）が正例エンティティ−正例属性ペアかを識別するための情報CPej、及び／又は、PD2（RDej,RDaj）が負例エンティティ−負例属性ペアかを識別するための情報CNejを得る。CPejの例はPD2（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度であり、CNejの例はPD2（RDej,RDaj）が負例エンティティ−負例属性ペアである確率を表す信頼度に対応する情報CNejである。識別モデルMEejとして正則化項付き最大エントロピーモデルが用いられる場合には、例えば、x=fDejを識別モデルMEejであるP(y|x)に代入して得られる条件付確率P(1|x)及びP(-1|x)がCPej=P(1|x)及びCNej=P(-1|x)とされる。その他、例えばP(1|x)の広義単調増加関数値がCPejとされ、P(-1|x)の広義単調増加関数値がCNejとされてもよい。
【０１４１】
次のエンティティ識別部２１８の処理はどのようなCPej，CNejを用いるかによって相違する。以下、それぞれのケースについて説明する。
【０１４２】
［正例側に対するCPejと負例側に対するCPejとの正負符号が反転する場合］
負例側のCPejの正負符号が正例側のCPejと反対になる場合（例えば、負例側のCPejが常に負となる場合等）、エンティティ識別部２１８は、PD2（RDej,RDaj）と当該PD2（RDej,RDaj）の素性fDej及びCPejとを属性修正候補選択部２１１に送る。
【０１４３】
［正例側に対するCPejと負例側に対するCPejとの正負符号が反転するとは限らない場合］
エンティティ識別部２１８は、PD2（RDej,RDaj）に対応するCPej及び／又はCNejを用い、PD2（RDej,RDaj）が負例エンティティ−負例属性ペアかを識別する。エンティティ識別部２１８は、所定の閾値とCPej及び／又はCNejとを比較してこの識別を行う。以下に識別方法を例示する。
【０１４４】
例１：エンティティ識別部２１８は、CPejが第１閾値以下（例えば０以下）である場合に、当該CPejに対応するPD2（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【０１４５】
例２：エンティティ識別部２１８は、CNejが第２閾値以上である場合に、当該CNejに対応するPD2（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【０１４６】
例３：エンティティ識別部２１８は、CNejが第２閾値以上であり、かつ、CPejが第１閾値以下である場合に、当該CNej及びCPejに対応するPD2（RDej,RDaj）が負例エンティティ−負例属性ペアであると判定する。
【０１４７】
エンティティ識別部２１８は、負例エンティティ−負例属性ペアであると判定したPD2（RDej,RDaj）の第２対象エンティティRDejを負例エンティティRNejとして記憶部１０５に格納し、負例エンティティRNejの集合に追加する。さらにエンティティ識別部２１８は、負例エンティティ−負例属性ペアであると判定されなかったPD2（RDej,RDaj）と当該PD2（RDej,RDaj）の素性fDej及びCPejとをエンティティ修正候補選択部２１１に送る。
【０１４８】
《エンティティ修正候補選択：ステップＳ２０６》
エンティティ修正候補選択部２１１は、入力されたPD2（RDej,RDaj）が含む第２対象エンティティRDejの集合の部分集合を、エンティティ修正候補CRPejの集合として選択する。エンティティ修正候補CRPejの集合の要素は正例エンティティの候補としてユーザに提示され、人手によるラベル修正（正例から負例への修正、又は正例からラベルなしへの修正）の候補とされる。入力されたPD2（RDej,RDaj）が含む第２対象エンティティRDejの集合がエンティティ修正候補CRPejの集合とされてもよいし、当該第２対象エンティティRDejの集合の一部がエンティティ修正候補CRPejの集合とされてもよい。ただ、人手による修正コストをできるだけ小さくし、かつ、セマンティックドリフトをより効率的に軽減するためには、それに適した基準でエンティティ修正候補CRPejの集合が選択されることが望ましい。基本的には、人手によるラベル修正によって得られる情報量の多い第２対象エンティティRDejや、正例エンティティであることの信頼度がデータ抽出装置２にとって低い第２対象エンティティRDejが、エンティティ修正候補CRPejの集合として有益である。有益な第２対象エンティティRDejを選んでエンティティ修正候補CRPejの集合としてユーザに提示できれば、ユーザが検討するデータの数を減らすことができ（ユーザの負荷を減らし）、かつ、学習処理に有益な正例エンティティRPejを効率よく得ることができる。以下、有益な第２対象エンティティRDejの集合をエンティティ修正候補CRPejの集合として選択するための基準を例示する。
【０１４９】
［エンティティ修正候補の集合を選択する基準の例示］
エンティティ修正候補選択部２１１は、例えば、第２対象エンティティRDejに対応するスコアSp(e)を何らかの基準と比較し、その基準を満たす第２対象エンティティRDejの集合をエンティティ修正候補CRPejの集合とする。例えば、スコアSp(e)が閾値THp(e)以上（又は閾値THp(e)を超えること）となる第２対象エンティティRDejをエンティティ修正候補CRPejの集合の要素としてもよいし、スコアSp(e)の大きい順に選択された上位M(e)個（M(e)は正整数）の第２対象エンティティRDejをエンティティ修正候補CRPejの集合の要素としてもよい。
【０１５０】
スコアSp(e)は、人手によるラベル修正によって得られる情報量が多い（影響度が大きい）ほど大きくなるものであってもよいし、正例エンティティであることの信頼度がデータ抽出装置２にとって低いほど大きくなるものであってもよいし、それらの両方の特徴を備えたものであってもよい。スコアSp(e)は、前述したスコアSp(a)について「属性」を「エンティティ」に置き換えたものでよい。以下、スコアSp(e)の例を具体的に示す。
【０１５１】
［影響度に対応するスコアの例］
この例では、エンティティ修正候補選択部２１１に入力されたPD2（RDej,RDaj）の集合が含む特定の要素に対する素性についての関連性の強さが何らかの基準を満たす他の要素の個数に対応する情報を、当該特定の要素である第２対象エンティティ−対象属性ペアの影響度Pp(e)とし、影響度Pp(e)に対応するスコアSp(e)が用いられる。エンティティ修正候補選択部２１１は、影響度Pp(e)に対応するスコアSp(e)が何らかの基準を満たすPD2（RDej,RDaj）が含む第２対象エンティティRDejの集合をエンティティ修正候補CRPejの集合とする。影響度Pp(e)がそのままスコアSp(e)とされてもよいし、影響度Pp(e)に対する広義単調増加関数値がスコアSp(e)とされてもよい。
【０１５２】
影響度Pp(e)は、後述するステップＳ２１１でSIMやFMMなどに基づくアクティブラーニング法が用いられる場合に、人手によるラベル修正によって得られる情報量の大きさを表わす。人手での修正に伴って自動的に修正される要素の個数が影響度Pp(e)とされてもよいし、人手での修正に伴って自動的に修正される要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。以下に影響度Pp(e)の具体例を示す。
【０１５３】
影響度Pp(e)の具体例１：
影響度Pp(e)の具体例１は、後述するステップＳ２１１でSIM又はそれに類似の処理が用いられる場合に特に有効なものである。この例では、上述の「素性についての関連性の強さ」が「素性の類似度の大きさ」とされる。すなわち、エンティティ修正候補選択部２１１に入力されたPD2（RDej,RDaj）の集合が含む特定の要素に対する素性の類似度の大きさが何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第２対象エンティティ−対象属性ペアの影響度Pp(e)とする。言い換えると、当該特定の要素の素性と類似する（類似度が何らかの基準を満たす）素性を持つ要素の個数に対応する情報を当該特定の要素の影響度Pp(e)とする。例えば、当該特定の要素の素性との類似度が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(e)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。第１実施形態と同様、類似度としてどのような尺度を用いるかについての限定はないが、コサイン類似度や、PMIで重み付けされた素性のコサイン類似度などを例示できる（例えば、非特許文献２参照）。
【０１５４】
影響度Pp(e)の具体例２：
影響度Pp(e)の具体例２は、後述するステップＳ２１１でFMM又はそれに類似の処理が用いられる場合に特に有効なものである。PD2（RDej,RDaj）の素性がそれぞれ複数の値の集合であることを前提とする。この例でのPD2（RDej,RDaj）の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第２識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを第２識別モデルに入力して得られる情報と、の違いの大きさ（変動量）である。具体例２では、当該変動量が何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第２対象エンティティ−対象属性ペアの影響度Pp(e)とする。例えば、このような変動量が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(e)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。
【０１５５】
［信頼度に対応するスコアの例］
この例では、PD2（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度に対応するスコアSp(e)を用いる。この例では、信頼度が小さいほど大きくなるスコアSp(e)を用いる。例えば、エンティティ修正候補選択部２１１に入力されるPD2（RDej,RDaj）に対応するCPejが、当該PD2（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度であるとし、CPejの逆数がスコアSp(e)とされてもよいし、CPejの広義単調減少関数値がSp(e)とされてもよい。
【０１５６】
［影響度及び信頼度に対応するスコアの例］
この例では、上述の影響度及び信頼度に対応するスコアSp(e)が用いられる。この例では、上述の影響度が大きいほど大きくなり、かつ、上述の信頼度が大きくなるほど小さくなるスコアSp(e)が用いられる。例えば、Sp(e)=Pp(e)/CPejとされてもよいし、Pp(e)/CPejの広義単調増加関数値がスコアSp(e)とされてもよい。
【０１５７】
《エンティティ修正候補提示：ステップＳ２０７》
エンティティ修正候補選択部２１１で選択されたエンティティ修正候補CRPejの集合はエンティティ修正候補提示部２１２に送られる。エンティティ修正候補提示部２１２は、エンティティ修正候補CRPejの集合を出力する。例えば、エンティティ修正候補提示部２１２は、エンティティ修正候補CRPejの集合をリストとして表示する。この際、例えば、各エンティティ修正候補CRPejに対応する第２対象エンティティRDejやスコアSp(e)などの情報も併せてエンティティ修正候補提示部２１２に送られ、表示されてもよい。ユーザはこのように表示されたエンティティ修正候補CRPejの集合を閲覧する。
【０１５８】
《エンティティ修正情報取得：ステップＳ２０８》
エンティティ修正候補CRPejの集合を閲覧したユーザはそれらの要素が本当に正例であるか否かを検証し、エンティティ修正候補CRPejの集合から正例エンティティとして適切ではない要素を選択する。ユーザはその選択結果に基づき、エンティティ修正候補CRPejの集合の何れかの要素を特定するエンティティ修正情報をエンティティ修正情報取得部２１３に入力する。エンティティ修正情報は、ユーザが正例エンティティとして適切ではないと判断した要素を特定可能な情報である。例えば、ユーザが正例エンティティとして適切ではないと判断したエンティティ修正候補CRPejを示す情報がエンティティ修正情報とされてもよいし、逆にユーザが正例エンティティとして適切であると判断したエンティティ修正候補CRPejを示す情報がエンティティ修正情報とされてもよい。このようにエンティティ修正情報取得部２１３に入力されたエンティティ修正情報は、基準更新部２１４及びエンティティ修正情報反映部２１５に送られる。
【０１５９】
《条件判定：ステップＳ２０９，Ｓ２１０》
基準更新部２１４は、エンティティ修正候補提示部２１２から出力されたエンティティ修正候補CRPejの集合のうち、正例エンティティとして不適切な要素を基準個数以上特定するエンティティ修正情報がエンティティ修正情報取得部２１３に入力されたかを判定する。前述した属性の場合と同様、基準個数は、エンティティ修正候補提示部２１２から出力されたすべてのエンティティ修正候補CRPejの個数であってもよいし、それ以下の個数であってもよい（ステップＳ２０９）。
【０１６０】
ここで、正例エンティティとして不適切な要素を基準個数以上特定するエンティティ修正情報がエンティティ修正情報取得部２１３に入力されたと判定された場合、基準更新部２１４はステップＳ２０６でエンティティ修正候補CRPejの集合として選択される要素が増加するように、エンティティ修正候補選択部２１１での基準を更新する。例えば、ステップＳ２０６において、スコアSp(e)が閾値THp(e)以上となる第２対象エンティティRDejをエンティティ修正候補CRPejの集合の要素とされるのであれば閾値THp(e)を低くする。例えば、ステップＳ２０６において、スコアSp(e)の大きい順に選択された上位M(e)個の第２対象エンティティRDejをエンティティ修正候補CRPejの集合の要素とされるのであればM(e)の値を大きくする。閾値THp(e)や値M(e)などの初期値や更新のステップ幅は自由に設定することができる（ステップＳ２１０）。その後ステップＳ２０６に戻る。これにより、エンティティ修正候補選択部２１１でより多くの要素からなるエンティティ修正候補CRPejの集合が再び選択され、エンティティ修正候補提示部２１２の処理とエンティティ修正情報取得部２１３の処理とがやり直される。
【０１６１】
一方、正例エンティティとして不適切な要素を基準個数以上特定しないエンティティ修正情報がエンティティ修正情報取得部２１３に入力されたと判定された場合、以下のエンティティ修正情報反映部２１５の処理が実行される。
【０１６２】
《エンティティ修正情報反映：ステップＳ２１１》
ステップＳ２１４で負例エンティティ−負例属性ペアであると判定されなかったPD2（RDej,RDaj）の集合と、エンティティ修正情報取得部２１３に入力されたエンティティ修正情報とがエンティティ修正情報反映部２１５に入力される。エンティティ修正情報反映部２１５は、入力されたPD2（RDej,RDaj）が含む第２対象エンティティRDejの集合からエンティティ修正情報で特定される要素を除いた補集合に含まれる要素を、正例エンティティRPajの集合の要素とする。この処理は、ステップＳ１１１の処理での「属性」を「エンティティ」に置き換えたものでよい。以下にこの処理を例示する。
【０１６３】
［処理例１］
この例のエンティティ修正情報反映部２１５は、少なくとも、エンティティ修正情報で特定されるエンティティ修正候補CRPejと、当該エンティティ修正情報で特定されるエンティティ修正候補CRPejを含む第２対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが何らかの基準を満たす他の第２対象エンティティ−対象属性ペアが含むエンティティ修正候補CRPejとを除く、エンティティ修正候補CRPejの集合の要素を、正例エンティティRPejの集合として記憶部１０５に格納する。ここで、「素性についての関連性の強さ」は、例えば、前述の影響度Pp(e)の具体例１で説明した「素性の類似度の大きさ」であってもよいし、前述の影響度Pp(e)の具体例２で説明した「変動量」であってもよい。この処理は、例えばステップＳ１１１と同様にSIMやFMMに基づいて行われる。SIMの場合、正例の集合から除外されたエンティティ修正候補CRPejは負例エンティティRNejの集合として記憶部１０５に格納される。FMMの場合、正例の集合から除外されたエンティティ修正候補CRPejのラベル付けは行われない。
【０１６４】
［処理例２］
この例のエンティティ修正情報反映部２１５は、入力されたPD2（RDej,RDaj）が含む第２対象エンティティRDejの集合からエンティティ修正情報で特定される第２対象エンティティRDej（正例エンティティとして適切ではないと判断された要素）を除いたものを正例エンティティRPejの集合として記憶部１０５に格納する。エンティティ修正情報で特定される第２対象エンティティRDejは負例エンティティRNejの集合として記憶部１０５に格納される。
【０１６５】
《収束判定：ステップＳ１１５−Ｓ１１７》
収束判定部１１９は、収束条件を満たしたかを判定する（ステップＳ１１５）。収束判定部１１９が収束条件を満たしたと判断した場合、ステップＳ１０３からＳ２１１のイテレーションが終了し、出力部１２０が記憶部１０５に格納されているすべての正例エンティティRPjeを出力して処理を終了する（ステップＳ１１７）。それ以外の場合は、制御部１９がj+1を新たなjの値とし（ステップＳ１１６）、記憶部１０５に格納されている正例エンティティRPje 及び負例エンティティRNje 、記憶部１０３に格納されている正例属性RPja 及び負例属性RNjaを属性識別用素性抽出部１０８に入力し、ステップＳ１０３からＳ２１１のイテレーションが実行される。
【０１６６】
＜第２実施形態の特徴＞
本形態では、属性だけではなく、エンティティについても、人手によるラベル修正が可能となった。これにより、エンティティの識別精度を向上させることができる。
【０１６７】
また、本形態でも、エンティティとその属性との組を用いて識別を行うこととしたため、セマンティックドリフトを抑制することができ、co-training方式を用いるため、精度の高い識別が可能となる。
【０１６８】
その他、本形態の方法はリソースであるテキストデータの種類によらず利用でき、適用範囲が広い。
【０１６９】
〔第１及び２実施形態の変形例〕
参考文献４「Andrew K. McCallum, Kamal Nigam, “Employing EM and Pool-Based Active Learning for Text Classification,” ICML'98, 1998.」などで用いられているQBC(Query By Committee)を適用してもよい。すなわち、第１及び２実施形態では、第１識別モデルMEajで得られたPD1（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度をCPajとして用い（ステップＳ１０６）、第２識別モデルMEejで得られたPD2（RDej,RDaj）が正例エンティティ−正例属性ペアである確率を表す信頼度をCPejとして用いる例を示した（ステップＳ２０６）。しかしながら、第１識別モデルMEajや第２識別モデルMEejで得られた信頼度ではなく、QBCから得られたスコアをCPajやCPejとしてもよい。以下にこの変形例を説明する。
【０１７０】
まず、QBCの説明の前にEMアルゴリズムの半教師あり学習への拡張について説明する。半教師あり学習とは、少量の教師ありデータと大量の教師なしデータとの両方を学習データとして用いて行う識別モデルの学習方法である。半教師あり学習では、教師ありデータだけを用いた識別モデルに比べ、高い性能を持つ識別モデルを得ることができる。ここでは、正例・負例の２値分類を行う識別モデルを考える。
【０１７１】
まず、既に正例又は負例にラベル付けされているテキストデータのラベルをUM(Unigram Mixtures)（参考文献４等参照）における各隠れ変数zに割り当てる。即ち、正例・負例を各隠れ変数zとして持つ２混合のUMを想定する。この場合のUMは以下の形で定義される。
【０１７２】
【数８】
0005379812.tif 000009
【０１７３】
ここでdはテキストデータの集合Dに属するテキストデータd∈Dを表し、p(d)はテキストデータの集合Dにおけるテキストデータdの出現確率を表す。z∈Zは隠れ変数であり、各zがテキストデータdが正例（z=1）であるか負例（z=0）であるかに対応する。Zは隠れ変数zの集合を表す。p(z)は隠れ変数zに対する確率であり、
【０１７４】
【数９】
0005379812.tif 000010
【０１７５】
を満たす。vは文字列を表し、Vは文字列vの集合を表す。p(v|z)は隠れ変数zにおける文字列vの生成確率（隠れ変数zが与えられたときの文字列vの事後確率）であり、
【０１７６】
【数１０】
0005379812.tif 000011
【０１７７】
を満たす。ndvはテキストデータd中に文字列vが出現した回数である。
【０１７８】
教師ありデータとして与えられた正例又は負例のテキストデータdのラベルに従い、UMの各事後確率p(z=1｜d);p(z=0｜d)に0又は1が付与される。これらの事後確率が固定されたままで、教師なしデータに対しEMアルゴリズムが適用され、モデル学習が行われる。
【０１７９】
次に、上記半教師あり学習に拡張したEMアルゴリズムをアクティブラーニングに拡張した手法であるQBCについて説明する。
【０１８０】
まず、これまでのイテレーションで得られている正例・負例の属性及びエンティティをG個のグループに分ける。例えば、これまでに正例・負例エンティティが各２０個得られており、正例・負例属性が各１０個得られているとする。各２０個の正例・負例エンティティからなる集合をそれぞれPEpre, NEpreとし、各１０個の正例・負例属性からなる集合をそれぞれPApre, NApreとする。グループ数Gを２とすると、(PEpre, NEpre）(PApre, NApre）がそれぞれ２分され、(PEpre1，PEpre2，NEpre1 ,NEpre2）,(PApre1, PApre2, NApre1 ,NApre2)とされる。この時必ず各グループには正例負例が両方含まれるようにする。
【０１８１】
それぞれのグループ（部分集合）g∈{1,…,G}ごとにデータをまとめ、グループgに対応するデータをCgとする。例えばグループ数Gが２の場合、C1={PEpre1, NEpre1, PApre1, NA pre1}, C2={PEpre2, NEpre2, PApre2, NApre2}とされる。以下では各Cgについて同じ処理が行われるが、ここでは具体的にC1の処理を追っていく。
【０１８２】
C1における正例の集合(PEpre1, PApre1)と負例の集合(NEpre1, NApre1)を用いて、各エンティティと属性のペアをすべての組み合わせについて作成し、これらのペアを含む各テキストデータから定まる前述の素性を正例側及び負例側の学習データCD1とする。学習データCD1に対して半教師あり学習に拡張したEMアルゴリズムを用いてUMモデルを学習するが、この際、隠れ変数zの事後確率p(z∈{1,0}|d)を各学習データCD1のラベルに合わせて1または0とする。学習の結果得られたUMモデルをM1とする。これを各グループg∈{1,…,G}について同様に行い、UMモデルMgを得る。
【０１８３】
次に、新たなエンティティと属性のペアに正例か負例かのラベル付けを行う状況を考える。ラベルが未知のエンティティと属性とのペアを含むテキストデータから定まる素性に対して各UMモデルMgを適用することで、各UMモデルMgに対する事後確率p(z｜d; Mg)を得ることができる。QBCでは、ラベルzに対する事後確率p(z|d; Mg)の揺れがMg間で大きいものが有益なデータとみなされる。このスコアは以下で定義される。
【０１８４】
【数１１】
0005379812.tif 000012
【０１８５】
ここで、z=1はzが正例であることを表し、D(・||・)はカルバック・ライブラ距離を表し、
【０１８６】
【数１２】
0005379812.tif 000013
【０１８７】
である。
【０１８８】
次に、上記のQBCを識別モデルに適用した例を示す。以下の式でスコアを定義する。
【０１８９】
【数１３】
0005379812.tif 000014
【０１９０】
ここでω∈{1,0}={正例，負例}はzと同じ値域を持つが、隠れ変数ではないために新たに確率変数を与えている。また、Mg’(g∈{1,…,G})は教師ありの学習データCDgを用いて学習された識別モデルを表し、
【０１９１】
【数１４】
0005379812.tif 000015
【０１９２】
である。この点が元のQBCと異なる。すなわち、学習データCDgを用いてEMアルゴリズムによってUMが生成されるのではなく、識別モデルが構築される。識別モデルには、最大エントロピーモデルやサポートベクタマシンなど一般的に用いられる識別モデルを適用できる。
【０１９３】
QBCはシステムの信頼度が低いことを統計的に判断することができる。具体的には、式(10)のスコアは、グループ（部分集合）gごとの信頼度（事後確率p(z=1|d; Mg)）に対応する情報のばらつきを表す。式(10)のスコアが高いエンティティと属性とのペアほど信頼度が低く、ユーザに提示してラベルの的確性を評価させることが望ましいといえる。
【０１９４】
そのため、前述のPD1（RDej,RDaj）に対する式(10)のスコアの広義単調減少関数値（式(10)のスコアの逆数など）をCPajとし、前述のPD2（RDej,RDaj）に対する式(10)のスコアの広義単調減少関数値（式(10)のスコアの逆数など）をCPejとすることができる。
【０１９５】
つまり、例えば、前述の属性識別学習部１０９が第１正例エンティティ−正例属性ペアの集合を第１正例エンティティ−正例属性ペアの部分集合（グループg）ごとに区分し、当該部分集合に属する第１正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する第１識別モデルを生成し、属性識別部１１０が、第１対象エンティティ−対象属性ペアの素性を部分集合にそれぞれ対応する第１識別モデルに入力し、部分集合ごとに当該第１対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、スコアSp(a)が、さらに部分集合ごとの信頼度に対応する情報のばらつきの大きさを表す情報（式(10)のスコア）に対応することにしてもよい。
【０１９６】
例えば、前述のエンティティ識別学習部１１７が第２正例エンティティ−正例属性ペアの集合を第２正例エンティティ−正例属性ペアの部分集合ごとに区分し、当該部分集合に属する第２正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する第２識別モデルを生成し、エンティティ識別部２１８が、第２対象エンティティ−対象属性ペアの素性を部分集合にそれぞれ対応する第２識別モデルに入力し、部分集合ごとに当該第２対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、スコアSp(e)が、さらに部分集合ごとの信頼度に対応する情報のばらつきの大きさを表す情報（式(10)のスコア）に対応することにしてもよい。
【０１９７】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。
【０１９８】
例えば、上記の各実施形態では、正例側の属性やエンティティ（例えば、識別モデルで負例と判定されなかった対象エンティティ−対象属性ペアが含む属性やエンティティ）を人手による修正候補とした（ステップＳ１０６，Ｓ２０６）。一般的に負例数は正例数に比べて圧倒的に多いため、負例側の属性やエンティティを人手によって修正することは効率的ではない。しかしながら、負例側の属性やエンティティも人手による修正候補としてもよい。この場合には、正例を負例に置き換えたステップＳ１０６−Ｓ１１１の処理やステップＳ２０６−Ｓ２１１の処理や上述の変形例の処理が、さらに実行される。例えば、負例側のCPajやCPejの正負符号が正例側のCPajやCPejと反対になる場合（例えば、負例側のCPajやCPejが常に負となる場合等）には、Sp(a)=Pp(a)/-CPajやそのの広義単調増加関数値が負例側のスコアSp(a)とする。また、この場合、負例側に対する式(10)は以下のようになる。
【０１９９】
【数１５】
0005379812.tif 000016
【０２００】
これにより、正例候補だけではなく負例候補についても、人手による修正候補とすることができる。
【０２０１】
また、負例を用いないこととしてもよく、第１識別モデルMEajや第２識別モデルMEejが、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアかを識別するための情報を出力する関数であってもよい。
【０２０２】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０２０３】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０２０４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【０２０５】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０２０６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０２０７】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０２０８】
１−２  データ抽出装置
【図１】
0005379812.tif 000017
【図２】
0005379812.tif 000018
【図３】
0005379812.tif 000019
【図４】
0005379812.tif 000020
【図５】
0005379812.tif 000021
【図６】
0005379812.tif 000022
【図７】
0005379812.tif 000023