JP2012141912A - データ抽出装置、データ抽出方法、及びプログラム - Google Patents

データ抽出装置、データ抽出方法、及びプログラム Download PDF

Info

Publication number
JP2012141912A
JP2012141912A JP2011000935A JP2011000935A JP2012141912A JP 2012141912 A JP2012141912 A JP 2012141912A JP 2011000935 A JP2011000935 A JP 2011000935A JP 2011000935 A JP2011000935 A JP 2011000935A JP 2012141912 A JP2012141912 A JP 2012141912A
Authority
JP
Japan
Prior art keywords
attribute
entity
target
positive
positive example
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011000935A
Other languages
English (en)
Other versions
JP5379812B2 (ja
Inventor
Kugatsu Sadamitsu
九月 貞光
Kuniko Saito
邦子 齋藤
Kenji Imamura
賢治 今村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011000935A priority Critical patent/JP5379812B2/ja
Publication of JP2012141912A publication Critical patent/JP2012141912A/ja
Application granted granted Critical
Publication of JP5379812B2 publication Critical patent/JP5379812B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】効率的にセマンティックドリフトを軽減する。
【解決手段】正例エンティティとその属性とのペアの素性と、負例エンティティとその属性とのペアの素性とを教師あり学習データとした学習処理によって識別モデルを生成し、対象エンティティと対象属性とのペアの素性を識別モデルに入力して、対象エンティティが正例エンティティを識別する。この際、対象属性が正例か否かの判定結果を出力し、人手による修正内容の入力を受け付ける。人手による修正内容を利用して正例属性を定める。
【選択図】図1

Description

本発明は、テキストデータの集合からデータを抽出する技術に関し、特に、特定の内容と関連を持つ文字列を入力として同じような関連を持つ文字列をテキストデータの集合から抽出する技術に関する。
現在様々な自然言語処理技術の研究開発が進み、WEBのような膨大な知識源から必要な情報を抽出する手法が多く存在している。そのような手法の一つに、特定の内容と何らかの関連を持つ文字列(例えば<広島>や<阪神>など)を入力として、大量のテキストデータ(例えば文書データ)から同じような関連を持つ文字列(例えば<ヤクルト>など)を収集するものがある。このような手法を「set expansion」と呼ぶ。また、set expansionで扱われる文字列を「エンティティ」と呼び、抽出対象のエンティティを「正例エンティティ」と呼び、抽出しない(抽出対象としない)エンティティを「負例エンティティ」と呼ぶ。さらに、set expansionにおいて最初に入力されるエンティティを「シードエンティティ」と呼び、正例のシードエンティティを「正例シードエンティティ」と呼び、負例のシードエンティティを「負例シードエンティティ」と呼ぶ。
set expansionの手法として一般的に用いられているのがブートストラップ法である。ブートストラップ法とは、一度学習したモデルに基づいて識別を行い、それを新たな学習データとして用いていく繰り返し学習の枠組みである。
set expansionの代表的な手法として、TChai(特許文献1等参照)が知られている。このような手法により、自動的に新しいエンティティを獲得することができるが、システムのみによる完全な自動処理には限界があり、抽出対象としていないエンティティが誤って獲得されてしまうことも多い。
そこで、システムによる識別結果(抽出対象となるエンティティ)を人手で修正し、適切なエンティティのみを新たなエンティティ集合として、繰り返し学習を行う半自動の技術(非特許文献2等参照)が提案されている。これをアクティブラーニング法と呼ぶ。この技術では、人手で修正された結果のみをそのまま修正内容として用いるのではなく、その修正により影響される可能性がある他のエンティティ候補についても自動的に修正を行うことで、できるだけ人手の介入のコストを削減し、高精度なエンティティ獲得を行う。非特許文献2の例では、SIM(Similarity Method)及びFMM(Feature Modification Method)という2つの方法が提案されている。これらの方法では、システムが正例と判断したエンティティをユーザに提示し、その判断の正しさについてユーザに確認を求める。
SIMでは、システムが正例と識別し、ユーザに確認を求めた正例エンティティにおいて、ユーザが負例を発見した場合、ユーザが負例と判断したエンティティだけではなく、それと素性の類似度が高いエンティティも正例エンティティの集合から削除する。類似度にはコサイン類似度等が用いられ、負例と判断されたエンティティと素性の類似度が閾値以上のエンティティが、正例エンティティの集合から削除される。例えば、非特許文献2の例では、類似度として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により正例エンティティ<ヤクルト>が獲得できたとする。<ヤクルト>は飲料名でもあるので、<ヤクルト>を新たに正例エンティティに追加することで次のイテレーションでは<コーラ>等の飲料系のエンティティが正例エンティティとして獲得されるようになり、獲得される正例エンティティの話題がシフトしていく可能性がある。このように獲得される正例エンティティの話題がシフトしていく現象をセマンティックドリフトと呼ぶ。
非特許文献2で述べられている手法は、セマンティックドリフトを抑制する手段として効果的である。しかしながら、非特許文献2では、ユーザによって修正されたエンティティをどのように用いるのかが効果的かという点に着目されており、どのような情報をユーザに確認させるのが効果的かという点については提案されていない。
本発明はこのような点に鑑みてなされたものであり、人手による修正コストを小さくし、かつ、セマンティックドリフトを効率的に軽減する技術を提供することを目的とする。
抽出対象の文字列である正例エンティティの集合から選択した第1正例エンティティと正例エンティティの属性を表す文字列である正例属性の集合から選択した第1正例属性との組である第1正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、第1正例エンティティと第1正例属性との組を含む文字列を選択し、選択した当該文字列に対する第1正例エンティティ−正例属性ペアの特徴を表す情報を当該第1正例エンティティ−正例属性ペアの素性の少なくとも一部とする。第1正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第1識別モデルを生成する。テキストデータの集合から何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第1対象エンティティとして選択し、選択した当該テキストデータから当該第1対象エンティティと異なる文字列を第1対象属性として選択し、第1対象エンティティと第1対象属性との組を第1対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での第1対象エンティティ−対象属性ペアの特徴を表す情報を当該第1対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第1対象エンティティ−対象属性ペアの素性を第1識別モデルに入力して当該第1対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る。第1対象エンティティ−対象属性ペアが含む第1対象属性の集合の部分集合を、属性修正候補の集合として選択し、属性修正候補の集合を出力する。属性修正候補の集合の何れかの要素を特定する属性修正情報が入力され、第1対象属性の集合から属性修正情報で特定される要素を除いた補集合に含まれる要素を、正例属性の集合の要素とする。
本発明では、属性修正候補の集合を出力し、その何れかの要素を特定する属性修正情報が入力され、属性修正情報を用いて正例属性の集合の要素とする属性を定める。これによって正例属性の集合の要素を人手によって処理できるが、属性は一以上のエンティティに対応する場合が多く、人手による属性の処理コストは人手による個々のエンティティの処理コストよりも小さい。本発明では、このように人手によって処理された正例属性の集合がエンティティの識別に反映されるため、セマンティックドリフトを効率的に軽減できる。
図1は、実施形態のデータ抽出装置の機能構成を例示するためのブロック図である。 図2は、実施形態のデータ抽出装置の処理を例示するための図である。 図3は、実施形態のデータ抽出装置の処理を例示するための図である。 図4は、記憶部に格納されたテキストデータの集合Dを例示した図である。 図5Aは、属性識別用素性抽出部が出力する組(fPa j, <+1>)及び組(fNa j, <-1>)を例示した図である。図5Bは、エンティティ識別用素性抽出部が出力する組(fPe j, <+1>)及び組(fNe j, <-1>)を例示した図である。 図6は、実施形態のデータ抽出装置の機能構成を例示するためのブロック図である。 図7は、実施形態のデータ抽出装置の処理を例示するための図である。
以下、図面を参照して本発明の実施形態を説明する。
〔第1実施形態〕
<構成>
図1に例示するように、第1実施形態のデータ抽出装置1は、記憶部101−105、制御部106、初期属性集合生成部107、属性識別用素性抽出部108、属性識別学習部109、属性識別部110、属性修正候補選択部111、属性修正候補提示部112、属性修正情報取得部113、基準更新部114、属性修正情報反映部115、エンティティ識別用素性抽出部116、エンティティ識別学習部117、エンティティ識別部118、収束判定部119、及び出力部120を有し、制御部106の制御のもと各処理を実行する。
なお、データ抽出装置1は、例えば、CPU(central processing unit)、RAM(random-access memory)及びROM(read-only memory)等を含む公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。記憶部101−105は、例えば、ハードディスクや半導体メモリなどであり、制御部106、初期属性集合生成部107、属性識別用素性抽出部108、属性識別学習部109、属性識別部110、属性修正候補選択部111、基準更新部114、属性修正情報反映部115、エンティティ識別用素性抽出部116、エンティティ識別学習部117、エンティティ識別部118、収束判定部119、及び出力部120は、例えば、特別なプログラムが読み込まれたCPUなどである。これらの少なくとも一部が集積回路などによって構成されてもよい。属性修正候補提示部112は、例えば、情報をユーザに提示するディスプレイなどのユーザインタフェース、又はそのようなユーザインタフェースに情報を出力する出力ポートなどである。属性修正情報取得部113は、例えば、ユーザからの情報の入力を受け付けるキーボード、マウスなどのユーザインタフェース、又はそのようなユーザインタフェースからの情報が入力される入力ポートなどである。また、図1に表記された矢印は情報の流れを表すが、表記の都合上一部の矢印が省略されている(以降に述べる他のブロック図も同様)。
<前提>
記憶部101にテキストデータの集合Dが格納される。テキストデータとは、文字テキストを含むデータを意味する。テキストデータの例は、文書データ、クエリ、語句を含む図表データ、フレーズデータ、単語列データなどである。本形態では、形態素解析、固有表現抽出、係り受け解析、文境界同定などの前処理を行った後の文書データをテキストデータとした例を示す。図4はこのようなテキストデータの集合Dを例示した図である。図4のテキストデータの集合Dでは、このような前処理を行った後の文書データであるテキストデータと当該テキストデータのIDとが対応付けられている。
なお、本形態ではテキストデータが含む文字列を「エンティティ」と呼び、抽出対象のエンティティを「正例エンティティ」と呼び、抽出しない(抽出対象としない)エンティティを「負例エンティティ」と呼ぶ。また、最初に入力されるエンティティを「シードエンティティ」と呼び、正例のシードエンティティを「正例シードエンティティ」と呼び、負例のシードエンティティを「負例シードエンティティ」と呼ぶ。
また、エンティティの特徴を表すテキストデータ中の文字列を「属性」と呼ぶ。このような文字列の例は、名詞、単語、単語列、フレーズ、文などである。属性の具体例はエンティティの前後W単語以内に存在する名詞である。なお、Wはウィンドウサイズを表す1以上の整数である。例えば「阪神の試合速報・・・」というテキストデータ中の<阪神>がエンティティであり、ウィンドウサイズをW=3とした場合、<試合>と<速報>がエンティティ<阪神>の属性の候補とされる。互いに関連のある複数のエンティティには同一の属性が対応する。例えば、球団名であるエンティティ<広島>と同じく球団名であるエンティティ<ヤクルト>とは、同じ<試合>や<投手>などの属性が対応する。そのため、属性は探索対象となるエンティティが満たすべき制約条件となる。例えば、正例シードエンティティを球団名である<広島>とし、同じく球団名である<ヤクルト>というエンティティを獲得することを狙っていると仮定する。この場合、これらのエンティティに共通する属性は<試合>や<投手>などであり、例えば、正例シードエンティティ<広島>とその属性<試合>との組を用いてエンティティの識別が行われる。ここで、球団名である<ヤクルト>は正例エンティティであるが、<ヤクルト>には飲料名としての意味もある。よって<ヤクルト>はセマンティックドリフトが起こりやすいエンティティである。しかしながら、飲料名であるエンティティ<ヤクルト>の属性は<試合>や<投手>などではなく<乳酸菌>や<飲料>などである。エンティティとその属性との組を用いることでエンティティがどのような意味を指すかを特定でき、セマンティックドリフトを軽減できる。さらに本形態では、人手によって属性を検証し、その結果を用いて正例属性の集合の要素を定める。人手による属性の処理コストは人手による個々のエンティティの処理コストよりも小さいため、セマンティックドリフトを効率的にさらに軽減できる。
<データ抽出処理>
図2及び3に例示するように、本形態では、エンティティと属性の更新を交互に行うco-training方式を用いる。すなわち、ステップS103−S111では正例及び負例エンティティの更新は行われず、正例及び負例属性の更新のみが行われる。一方ステップS112−S114では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。以下、図2及び3を用いてデータ抽出装置1のデータ抽出処理を例示する。
《初期化:ステップS101》
制御部106がjの値をj=1に初期化する。
《初期属性集合生成:ステップS102》
ユーザが欲するエンティティの例が正例シードエンティティRPe 0として初期属性集合生成部107に入力される。例えば、<広島>などが正例シードエンティティとして入力される。また、負例シードエンティティRNe 0が初期属性集合生成部107に入力される。例えば、<日本>などが負例シードエンティティとして入力される。正例シードエンティティRPe 0は、ユーザによって選択されたものである。負例シードエンティティRNe 0は、ユーザによって選択されたものであってもよいし、テキストデータの集合Dから半自動で生成されたものであってもよい。以下に負例シードエンティティRNe 0を半自動で生成する方法を例示する。
[負例シードエンティティRNe 0の半自動生成方法の例]
負例シードエンティティ生成部(図示せず)が、テキストデータの集合Dから、何れの正例シードエンティティRPe 0も後述する正例属性RPa 0も含まないテキストデータを所定個数抽出し、抽出した各テキストデータから1つずつランダムに名詞を選択し、それらを負例エンティティ候補として出力する。表示部(図示せず)はこれらの負例エンティティ候補を表示し、これらから負例シードエンティティを選択するようにユーザに促す表示を行う。ユーザによる選択内容は負例シードエンティティ生成部に入力され、負例シードエンティティ生成部は、選択された負例エンティティ候補を正例シードエンティティRPe 0として出力する([負例シードエンティティRNe 0の半自動生成方法の例]の説明終わり)。
初期属性集合生成部107は、入力された正例シードエンティティRPe 0と負例シードエンティティRNe 0と記憶部101に格納されたテキストデータの集合Dとを用い、正例シードエンティティRPe 0の属性を表す文字列である正例属性RPa 0の集合と、負例シードエンティティRNe 0の属性を表す文字列である負例属性RNa 0の集合とを生成する。
(A)まず初期属性集合生成部107が、正例シードエンティティRPe 0を含むテキストデータの集合から当該正例エンティティRPe 0以外の何れかの文字列を正例属性候補として選択する。例えば、初期属性集合生成部107は、記憶部101から正例シードエンティティRPe 0を含む正例テキストを所定数取得し、各正例テキストにおいて正例シードエンティティRPe 0と直接又は1文節を挟む係り受け関係にある単語のみを正例属性候補として抽出する。
(B)次に初期属性集合生成部107は、正例シードエンティティRPe 0を含む文字列の集合内に当該正例属性候補が含まれる頻度とすべてのテキストデータからなる集合D内に当該正例属性候補が含まれる頻度との違いの大きさを表す指標(統計量)を求め、当該指標が大きいものから所定数の正例属性候補、つまり、これらの頻度の違いが大きい当該正例属性候補を正例属性RPa 0(正例属性の初期値)とする。これらの頻度の違いが大きい正例属性候補ほど正例シードエンティティRPe 0との関連が強く、正例シードエンティティRPe 0の正例属性RPa 0にふさわしいといえる。以下にこのような指標を例示するが、その他の統計量を用いてもかまわない。
[指標の例]
指標の例1:
指標の例1では、以下のχ2値を指標として用いる。
Figure 2012141912
χ2値が高い正例属性候補αほど、正例シードエンティティRPe 0と関係の深い、即ち属性としてふさわしいといえる。よって、この例の初期属性集合生成部107は、χ2値が高い正例属性候補αを正例属性RPa 0として抽出する。例えば、χ2値が基準値以上となる正例属性候補αを正例属性RPa 0とする。
指標の例2:
指標の例2では、正例シードエンティティRPe 0と正例属性候補αとの2項における以下のPMIを指標として用いる。
Figure 2012141912
ここで|RPe 0, α|は正例シードエンティティRPe 0の集合と正例属性候補αとの組の出現頻度を表す。また、*はRPe 0又はαのワイルドカードを表す。
PMI値が大きい正例属性候補αほど、正例シードエンティティRPe 0と関係の深い、即ち属性としてふさわしいといえる。よって、この例の初期属性集合生成部107は、PMI値が大きな正例属性候補αを正例属性RPa 0として抽出する。例えば、PMI値が基準値以上となる正例属性候補αを正例属性RPa 0とする([指標の例]の説明終わり)。
この方法では、まず(A)で構文情報を用いて正例属性候補を粗く絞り込むため、(B)での計算時間を大幅に削減することができる。また、上記(A),(B)により正例属性RPa 0(正例属性の初期値)を抽出した後、適切な属性が選択されているか否かを人手によりチェックし、最終的な正例属性RPa 0を決定してもよい。
初期属性集合生成部107は、負例シードエンティティRNe 0についても同様の処理を行い、負例属性RNa 0を抽出する。すなわち、初期属性集合生成部107は、負例シードエンティティRNe 0を含むテキストデータの集合から当該負例シードエンティティRNe 0以外の何れかの文字列を負例属性候補として選択し、負例シードエンティティRNe 0を含む文字列の集合内に当該負例属性候補が含まれる頻度とすべてのテキストデータからなる集合D内に当該負例属性候補が含まれる頻度との違いの大きさを表す指標が条件を満たす負例属性候補、つまり、これらの頻度の違いが大きな当該負例属性候補を負例属性RNa 0(負例属性の初期値)とする。
また、上述した方法の代わりに、初期属性集合生成部107が、負例シードエンティティRNe 0とそれに対応する負例属性RNa 0とを半自動で選択してもよい。例えば、初期属性集合生成部107は、テキストデータの集合Dから、何れの正例シードエンティティRPe 0も正例属性RPa 0も含まないテキストデータを所定個数抽出し、抽出した各テキストデータから2つずつランダムに名詞を選択し、一方を負例エンティティ候補、他方を負例属性候補として出力する。表示部(図示せず)はこれらを表示し、これらから負例シードエンティティRNe 0とそれに対応する負例属性RNa 0とを選択するようにユーザに促す表示を行う。ユーザによる選択内容は初期属性集合生成部107に入力され、初期属性集合生成部107は選択された負例シードエンティティRNe 0及び負例属性RNa 0の集合を出力する。
初期属性集合生成部107は、正例シードエンティティRPe 0の集合、負例シードエンティティRNe 0の集合、抽出した正例属性RPa 0の集合、及び負例属性RNa 0の集合を出力する。例えば、初期属性集合生成部107は、図4のテキストデータの中から、正例シードエンティティRPe 0を含むテキストとしてT1,T2,T10に対応するものを取得し、上記の処理によってT1,T2に対応するテキストが含む正例属性RPa 0の集合{<VS>,<第1戦>,<投手>}を抽出して出力する。同様に初期属性集合生成部107は、例えば、負例シードエンティティRNe 0を含むテキストとしてT7に対応するものを取得し、負例属性RNa 0の集合R{<人口>}を抽出して出力する。
《属性識別用素性抽出:ステップS103》
正例エンティティRPe j-1の集合、負例エンティティRNe j-1の集合、正例属性RPa j-1の集合、及び負例属性RNa j-1の集合が、属性識別用素性抽出部108に入力される。
属性識別用素性抽出部108は、正例エンティティRPe j-1の集合から選択した第1正例エンティティと正例属性RPa j-1の集合から選択した第1正例属性との組である第1正例エンティティ−正例属性ペアPP1(RPe j-1,RPa j-1)と、負例エンティティRNe j-1の集合から選択した第1負例エンティティと負例属性RNa j-1の集合から選択した第1負例属性との組である第1負例エンティティ−負例属性ペアPN1(RNe j-1,RNa j-1)とを生成する。PP1(RPe j-1,RPa j-1)やPN1(RNe j-1,RNa j-1)は、RPe j-1とRPa j-1やRNe j-1とRNa j-1の採り得るすべての組み合わせについて生成されてもよいし、それらの一部の組み合わせのみについて生成されてもよい。
次に属性識別用素性抽出部108は、記憶部101に格納されたテキストデータの集合Dから、PP1(RPe j-1,RPa j-1)の正例エンティティRPe j-1と正例属性RPa j-1との組を含む文字列である「第1正例テキスト」を選択する。第1正例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第1正例テキストは、第1正例エンティティ−正例属性ペアPP1(RPe j-1,RPa j-1)とテキストデータとの組に対して1個以上抽出される。
属性識別用素性抽出部108は、第1正例テキストに対する第1正例エンティティ−正例属性ペアPP1(RPe j-1,RPa j-1)の特徴を表す情報を当該第1正例エンティティ−正例属性ペアPP1(RPe j-1,RPa j-1)の素性fPa jとする。この例では、第1正例テキストごとにPP1(RPe j-1,RPa j-1)の素性fPa jが抽出される。PP1(RPe j-1,RPa j-1)の素性fPa jの例は、第1正例テキスト(正例エンティティRPe j-1及び正例属性RPa j-1を含む文字列であってテキストデータに含まれるもの)と当該第1正例エンティティRPe j-1及び第1正例属性RPa j-1との関係を表す情報である。このような情報であればどのようなものを素性として用いてもよい。
例えば、何れかの正例エンティティRPe j-1及び正例属性RPa j-1を含むテキストデータ内における当該正例属性RPa j-1に一致する文字列(一致属性)から前後所定単語数以内(第1正例テキスト内)に位置する単語(周辺単語)の表記と当該一致属性に対する当該周辺単語の相対位置を表す情報との組(表層素性)、一致属性又は周辺単語の品詞情報(品詞素性)や固有名詞情報(固有名詞素性)や構文情報(構文素性)、テキストデータ内での一致属性の出現回数やテキストデータの集合D内での一致属性の出現回数(出現回数素性)のうち、少なくとも一つに対応する情報を素性fPa jとすることができる。
例えば、正例エンティティRPe j-1がex=<阪神>であり、正例属性RPa j-1がey=<投手>であり、第1正例テキストが「阪神/は/投手/陣/が/好調」であるとすると、抽出される素性fPa jの例は以下のようになる。ここでは素性抽出の範囲をエンティティ及び属性の前後2単語以内と仮定している。
表層素性:「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の階層」(両方「好調」に係る)
同様に、属性識別用素性抽出部108は、記憶部101に格納されたテキストデータの集合Dから、PN1(RNe j-1,RNa j-1)の負例エンティティRNe j-1と負例属性RNa j-1との組を含む文字列である「第1負例テキスト」を選択する。第1負例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第1負例テキストは、第1負例エンティティ−負例属性ペアPN1(RNe j-1,RNa j-1)とテキストデータとの組に対して1個以上抽出される。
属性識別用素性抽出部108は、第1負例テキストに対する第1負例エンティティ−負例属性ペアPN1(RNe j-1,RNa j-1)の特徴を表す情報を当該第1負例エンティティ−負例属性ペアPN1(RNe j-1,RNa j-1)の素性fNa jとする。この例では、第1負例テキストごとにPN1(RNe j-1,RNa j-1)の素性fNa jが抽出される。PN1(RNe j-1,RNa j-1)の素性fNa jの例は、第1負例テキスト(負例エンティティRNe j-1及び負例属性RNa j-1を含む文字列であってテキストデータに含まれるもの)と当該第1負例エンティティRNe j-1及び第1負例属性RNa j-1との関係を表す情報である。その具体例は、上述した正例に対応するPP1(RPe j-1,RPa j-1)の素性fPa jの場合と同様である。
属性識別用素性抽出部108は、PP1(RPe j-1,RPa j-1)の素性fPa jと正例を表すラベル<+1>との組(fPa j, <+1>)、及び、PN1(RNe j-1,RNa j-1)の素性fNa jと負例を表すラベル<-1>との組(fNa j, <-1>)を出力する。
図5Aは、属性識別用素性抽出部108が出力する組(fPa j, <+1>)及び組(fNa j, <-1>)を例示した図である。この例では、エンティティ(ex)と属性(ey)の前後2単語の表記を素性としている。
《属性識別学習:ステップS104》
PP1(RPe j-1,RPa j-1)の素性fPa jと正例を表すラベル<+1>との組(fPa j, <+1>)、及び、PN1(RNe j-1,RNa j-1)の素性fNa jと負例を表すラベル<-1>との組(fNa j, <-1>)が属性識別学習部109に入力される。属性識別学習部109は、PP1(RPe j-1,RPa j-1)の素性fPa jとPN1(RNe j-1,RNa j-1)の素性fNa jとを教師あり学習データとした学習処理によって、第1識別モデルMEa jを生成する。この第1識別モデルMEa jは、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別するための情報を出力する関数である。このような識別モデルMEa jであればどのようなモデルであってもよい。
識別モデルMEa jの例は、正則化項付き最大エントロピーモデル(参考文献1「Berger, A.L. , Pietra, V.J.D. and Pietra, "A maximum entropy approach to natural language processing", S.A.D. 1996.」)、正則化項付きの条件付きランダム場(CRFs、参考文献2「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、参考文献3「Vapnik, V. N. "The nature of statistical learning theory", Springer Verlag, 1995.」)などである。各例の識別モデルMEa jの学習では、教師あり学習データとして用いられたPP1(RPe j-1,RPa j-1)の素性fPa jとPN1(RNe j-1,RNa j-1)の素性fNa jとに対し、当該識別モデルMEa jへの影響度の大きさを表す指標(素性に対する重み)が付され、これらが識別モデルMEa jを特定するパラメータとなる。特に参考文献1−3で例示したようなモデルは、すべての素性に対して重みが付されるモデル(例えば正則化項のない最大エントロピーモデル)ではなく、識別に有効と判断された素性のみについて重みが付される。以下、正則化項付き最大エントロピーモデルの具体例を示す。
正則化項付き最大エントロピーモデルが用いられる場合、属性識別学習部109は、(x,y)∈{(fPa j, <+1>), (fNa j, <-1>)}を学習データとして用い、条件付確率
Figure 2012141912
に対するエントロピー
Figure 2012141912
を最大化する各重み(パラメータ)λqに対応するPλ(y|x)であるP(y|x)を識別モデルMEa jとする。ただし、
Figure 2012141912
であり、qは各学習データ(x,y)の組にそれぞれ対応するラベルであり、p'(x)は学習データ(x,y)におけるxの出現頻度であり、fq(x,y)はqに対応する素性関数(feature function)である。
ここで、各重みλqはqに対応する学習データ(x,y)の素性fPa j又はfNa jの識別モデルMEa jへの影響度の大きさを表す指標となる。また、正則化項付き最大エントロピーモデルの例では、すべての学習データ(x,y)の素性fPa j又はfNa jに対して重みλqが付されるわけではなく、重要度の低い素性に対応する重みλqは付されない。すなわち、重要度の低い素性に対応する重みλqは0とされる。
学習処理によって生成された第1識別モデルMEa jは記憶部102に格納される。例えば、学習処理によって生成された第1識別モデルMEa jのパラメータが記憶部102に格納される。
《属性識別:ステップS105》
属性識別部110は、記憶部101に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第1対象エンティティRDe jとして選択する。また属性識別部110は、選択した当該テキストデータから当該第1対象エンティティRDe jと異なる文字列を第1対象属性RDa jとして選択する。そして属性識別部110は、第1対象エンティティRDe jと第1対象属性RDa jとの組を第1対象エンティティ−対象属性ペアPD1(RDe j,RDa j)とする。
なお、テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、特定の方法で対象を限定して選択を行うことが望ましい。以下にその具体例を示す。
[選択方法の例]
第1条件:
属性識別部110は、何れかの正例エンティティRPj-1 e又は負例エンティティRNj-1 eを含み、かつ当該エンティティRPj-1 e又RNj-1 eから任意のウィンドウサイズ内(ここでは3単語とする)に名詞を含むテキストデータを選択し、当該ウィンドウサイズ内の名詞を属性候補とする。
第2条件:
第1条件だけでは対象の数が膨大になる場合があるため、属性識別部110は、属性識別学習部109で教師あり学習データとして用いられたPP1(RPe j-1,RPa j-1)の素性fPa jとPN1(RNe j-1,RNa j-1)の素性fNa jのうち、それらから生成された第1識別モデルMEa jへの影響度の大きさを表す指標(例えば前述の重みλq)が特定の基準を満たす素性、つまり、当該第1識別モデルMEa jへの影響度が大きな素性fPa j及び/又はfNa jを選択する。例えば、属性識別部110は、前述の重みλqの絶対値が閾値よりも大きな素性fPa j及び/又はfNa jを選択する。
属性識別部110は、選択した素性fPa j及び/又はfNa jに対応する文字列を含むテキストデータを、第1条件で選択されたテキストデータの集合から選択する。属性識別部110は、当該選択したテキストデータが含む文字列を第1対象エンティティRDe j及び第1対象属性RDa jとする。例えば、属性識別部110は、選択した素性fPa j及び/又はfNa jから表層素性の単語を抽出し、当該表層素性の単語を含むテキストデータを第1条件で選択されたテキストデータの集合から選択し、当該選択したテキストデータが含む文字列を第1対象エンティティRDe j及び第1対象属性RDa jとする。
一例を挙げると、選択された素性がエンティティexの前2単語が表層素性と品詞素性の組み合わせで成り立つ素性FNC(x−2=“POS:名詞”, x−1=“VS”)であった場合、属性識別部110は、選択した素性FNC(x−2=“POS:名詞”, x−1=“VS”)から表層素性の単語“VS”を抽出し、第1条件で選択されたテキストデータの集合から、単語“VS”を含むテキストデータを選択する([選択方法の例]の説明終わり)。
属性識別用素性抽出部108は、記憶部101に格納されたテキストデータの集合Dから、第1対象エンティティRDe jと第1対象属性RDa jとの組を含む文字列である「第1対象テキスト」を選択する。第1対象テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第1対象テキストは、第1対象エンティティ−対象属性ペアPD1(RDe j,RDa j)とテキストデータとの組に対して1個以上抽出される。
属性識別用素性抽出部108は、第1対象テキストに対する第1対象エンティティ−対象属性ペアPD1(RDe j,RDa j)の特徴を表す情報を当該第1対象エンティティ−対象属性ペアPD1(RDe j,RDa j)の素性fDa jとする。この例では、第1対象テキストごとにPD1(RDe j,RDa j)の素性fDa jが抽出される。PD1(RDe j,RDa j)の素性fDa jの例は、第1対象テキスト(第1対象エンティティRDe j及び第1対象属性RDa j-1を含む文字列であってテキストデータに含まれるもの)と第1対象エンティティRDe j及び第1対象属性RDa j-1との関係を表す情報である。その具体例は、上述した正例に対応するPP1(RPe j-1,RPa j-1)の素性fPa jの場合と同様である。
第1対象テキストに対応するPD1(RDe j,RDa j)の素性fDa jは、属性識別部110に入力される。属性識別部110は、PD1(RDe j,RDa j)の素性fDa jを記憶部102から読み出した第1識別モデルMEa jに入力し、PD1(RDe j,RDa j)が正例エンティティ−正例属性ペアかを識別するための情報CPa j、及び/又は、PD1(RDe j,RDa j)が負例エンティティ−負例属性ペアかを識別するための情報CNa jを得る。CPa jの例はPD1(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度であり、CNa jの例はPD1(RDe j,RDa j)が負例エンティティ−負例属性ペアである確率を表す信頼度に対応する情報CNa jである。識別モデルMEa jとして正則化項付き最大エントロピーモデルが用いられる場合には、例えば、x=fDa jを識別モデルMEa jであるP(y|x)に代入して得られる条件付確率P(1|x)及び/又はP(-1|x)がCPa j=P(1|x)及び/又はCNa j=P(-1|x)とされる。その他、例えばP(1|x)の広義単調増加関数値がCPa jとされ、及び/又は、P(-1|x)の広義単調増加関数値がCNa jとされてもよい。
次の属性識別部110の処理はどのようなCPa j,CNa jを用いるかによって相違する。以下、それぞれのケースについて説明する。
[正例側に対するCPa jと負例側に対するCPa jとの正負符号が反転する場合]
負例側のCPa jの正負符号が正例側のCPa jと反対になる場合(例えば、負例側のCPa jが常に負となる場合等)、属性識別部110は、PD1(RDe j,RDa j)と当該PD1(RDe j,RDa j)の素性fDa j及びCPa jとを属性修正候補選択部111に送る。
[正例側に対するCPa jと負例側に対するCPa jとの正負符号が反転するとは限らない場合]
属性識別部110は、PD1(RDe j,RDa j)に対応するCPa j及び/又はCNa jを用い、PD1(RDe j,RDa j)が負例エンティティ−負例属性ペアかを識別する。属性識別部110は、所定の閾値とCPa j及び/又はCNa jとを比較してこの識別を行う。以下に識別方法を例示する。
例1:属性識別部110は、CPa jが第1閾値以下(例えば0以下)である場合に、当該CPa jに対応するPD1(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
例2:属性識別部110は、CNa jが第2閾値以上である場合に、当該CNa jに対応するPD1(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
例3:属性識別部110は、CNa jが第2閾値以上であり、かつ、CPa jが第1閾値以下である場合に、当該CNa j及びCPa jに対応するPD1(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
属性識別部110は、負例エンティティ−負例属性ペアであると判定したPD1(RDe j,RDa j)の第1対象属性RDa jを負例属性RNa jとして記憶部103に格納し、負例属性RNa jの集合に追加する。さらに属性識別部110は、負例エンティティ−負例属性ペアであると判定されなかったPD1(RDe j,RDa j)と当該PD1(RDe j,RDa j)の素性fDa j及びCPa jとを属性修正候補選択部111に送る。
《属性修正候補選択:ステップS106》
属性修正候補選択部111は、入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合の部分集合を属性修正候補CRPa jの集合として選択する。属性修正候補CRPa jの集合の要素は正例属性の候補としてユーザに提示され、人手によるラベル修正(正例から負例への修正、又は正例からラベルなしへの修正)の候補とされる。入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合が属性修正候補CRPa jの集合とされてもよいし、当該第1対象属性RDa jの集合の一部が属性修正候補CRPa jの集合とされてもよい。ただ、人手による修正コストをできるだけ小さくし、かつ、セマンティックドリフトをより効率的に軽減するためには、それに適した基準で属性修正候補CRPa jの集合が選択されることが望ましい。基本的には、人手によるラベル修正によって得られる情報量の多い第1対象属性RDa jや、正例属性であることの信頼度がデータ抽出装置1にとって低い第1対象属性RDa jが、属性修正候補CRPa jの集合として有益である。有益な第1対象属性RDa jを選んで属性修正候補CRPa jの集合としてユーザに提示できれば、ユーザが検討するデータの数を減らすことができ(ユーザの負荷を減らし)、かつ、学習処理に有益な正例属性RPa jを効率よく得ることができる。以下、有益な第1対象属性RDa jの集合を属性修正候補CRPa jの集合として選択するための基準を例示する。
[属性修正候補の集合を選択する基準の例示]
属性修正候補選択部111は、例えば、第1対象属性RDa jに対応するスコアSp(a)を何らかの基準(第2基準)と比較し、その基準を満たす第1対象属性RDa jの集合を属性修正候補CRPa jの集合とする。例えば、スコアSp(a)が閾値THp(a)以上(又は閾値THp(a)を超えること)となる第1対象属性RDa jを属性修正候補CRPa jの集合の要素としてもよいし、スコアSp(a)の大きい順に選択された上位M(a)個(M(a)は正整数)の第1対象属性RDa jを属性修正候補CRPa jの集合の要素としてもよい。
スコアSp(a)は、人手によるラベル修正によって得られる情報量が多い(影響度が大きい)ほど大きくなるものであってもよいし、正例属性であることの信頼度がデータ抽出装置1にとって低いほど大きくなるものであってもよいし、それらの両方の特徴を備えたものであってもよい。以下、スコアSp(a)の例を示す。
[影響度に対応するスコアの例]
この例では、属性修正候補選択部111に入力されたPD1(RDe j,RDa j)の集合が含む特定の要素に対する素性についての関連性の強さが何らかの基準(第1基準)を満たす他の要素の個数に対応する情報を、当該特定の要素である第1対象エンティティ−対象属性ペアの影響度Pp(a)とし、影響度Pp(a)に対応するスコアSp(a)が用いられる。属性修正候補選択部111は、影響度Pp(a)に対応するスコアSp(a)が第2基準を満たすPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合を属性修正候補CRPa jの集合とする。影響度Pp(a)がそのままスコアSp(a)とされてもよいし、影響度Pp(a)に対する広義単調増加関数値がスコアSp(a)とされてもよい。
影響度Pp(a)は、後述するステップS111でSIMやFMMなどに基づくアクティブラーニング法が用いられる場合に、人手によるラベル修正によって得られる情報量の大きさを表わす。すなわち、SIMやFMMに基づくアクティブラーニング法では、人手で修正された情報と素性について関連性が強い情報を自動的に修正する。よって、人手で修正された要素に対する素性について関連性の強さが何らかの基準を満たす他の要素の個数に対応する影響度Pp(a)は、人手での修正に伴って自動的に修正される要素の個数に対応する。そのため、影響度Pp(a)は人手によるラベル修正によって得られる情報量の大きさを表わす。人手での修正に伴って自動的に修正される要素の個数が影響度Pp(a)とされてもよいし、人手での修正に伴って自動的に修正される要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。以下に影響度Pp(a)の具体例を示す。
影響度Pp(a)の具体例1:
影響度Pp(a)の具体例1は、後述するステップS111でSIM又はそれに類似の処理が用いられる場合に特に有効なものである。この例では、上述の「素性についての関連性の強さ」が「素性の類似度の大きさ」とされる。すなわち、属性修正候補選択部111に入力されたPD1(RDe j,RDa j)の集合が含む特定の要素に対する素性の類似度の大きさが何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第1対象エンティティ−対象属性ペアの影響度Pp(a)とする。言い換えると、当該特定の要素の素性と類似する(類似度が何らかの基準を満たす)素性を持つ要素の個数に対応する情報を当該特定の要素の影響度Pp(a)とする。例えば、当該特定の要素の素性との類似度が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(a)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。
類似度としてどのような尺度を用いるかについての限定はないが、コサイン類似度や、PMIで重み付けされた素性のコサイン類似度などを例示できる(例えば、非特許文献2参照)。例えば、PD1(RDe j,RDa j)の集合が含む特定の要素xに対応するPMIで重み付けされた素性と、PD1(RDe j,RDa j)の集合が含む他の要素yに対応するPMIで重み付けされた素性とコサイン類似度cosine(x,y)は、以下のように表わされる。
Figure 2012141912
ただし、fiは素性を表し、iは各素性fiの正整数インデックスを表す。φ(x, fi)は要素xの素性がfiを含むときに1を与える素性関数であり、
Figure 2012141912
であり、|x, fi|はテキストデータの集合Dにおいてxとfiが同時に出現する頻度を表し、*はfi又はxのワイルドカードを表す。
影響度Pp(a)の具体例2:
影響度Pp(a)の具体例2は、後述するステップS111でFMM又はそれに類似の処理が用いられる場合に特に有効なものである。PD1(RDe j,RDa j)の素性がそれぞれ複数の値の集合であることを前提とする。この例でのPD1(RDe j,RDa j)の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第1識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを第1識別モデルに入力して得られる情報と、の違いの大きさ(変動量)である。例えば、PD1(RDe j,RDa j)の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第1識別モデルに入力して得られる信頼度(正例であることの信頼度)と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたもの(すなわちこれらの素性のインターセクションを除去したもの)を第1識別モデルに入力して得られる信頼度(正例であることの信頼度)との変動量(特定の要素の素性を基準とした「変動量」)である。例えば、PD1(RDe j,RDa j)の集合が含む特定の要素の素性がf1, f2, f3であり、他の要素の素性がf2, f3, f4, f5であり、素性f2, f3, f4, f5を第1識別モデルに入力して得られる信頼度がPAであり、素性f2, f3, f4, f5から素性f1, f2, f3と共通するものを除いた素性f4, f5を第1識別モデルに入力して得られる信頼度がPBであるとする。この例の場合、PAとPBとの間の変動量が当該特定の要素と当該他の要素との間での「素性についての関連性の強さ」となる。このような変動量が大きい当該他の要素ほど、当該特定の要素との間での素性についての関連性が強いといえる。具体例2では、当該変動量が何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第1対象エンティティ−対象属性ペアの影響度Pp(a)とする。例えば、このような変動量が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(a)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(a)とされてもよい。
[信頼度に対応するスコアの例]
この例では、PD1(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度に対応するスコアSp(a)を用いる。信頼度が低いPD1(RDe j,RDa j)が含む第1対象属性RDa jほど人手による修正が効果的であると考えられるため、信頼度に対応するスコアSp(a)を用いることは有効である。この例では、信頼度が小さいほど大きくなるスコアSp(a)を用いる。例えば、属性修正候補選択部111に入力されるPD1(RDe j,RDa j)に対応するCPa jが当該PD1(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度であるとし、CPa jの逆数がスコアSp(a)とされてもよいし、CPa jの広義単調減少関数値がSp(a)とされてもよい。
[影響度及び信頼度に対応するスコアの例]
この例では、上述の影響度及び信頼度に対応するスコアSp(a)が用いられる。この例では、上述の影響度が大きいほど大きくなり、かつ、上述の信頼度が大きくなるほど小さくなるスコアSp(a)が用いられる。例えば、Sp(a)=Pp(a)/CPa jとされてもよいし、Pp(a)/CPa jの広義単調増加関数値がスコアSp(a)とされてもよい。
《属性修正候補提示:ステップS107》
属性修正候補選択部111で選択された属性修正候補CRPa jの集合は属性修正候補提示部112に送られる。属性修正候補提示部112は、属性修正候補CRPa jの集合を出力する。例えば、属性修正候補提示部112は、属性修正候補CRPa jの集合をリストとして表示する。この際、例えば、各属性修正候補CRPa jに対応する第1対象エンティティRDe jやスコアSp(a)などの情報も併せて属性修正候補提示部112に送られ、表示されてもよい。ユーザはこのように表示された属性修正候補CRPa jの集合を閲覧する。
《属性修正情報取得:ステップS108》
属性修正候補CRPa jの集合を閲覧したユーザはそれらの要素が本当に正例であるか否かを検証し、属性修正候補CRPa jの集合から正例属性として適切ではない要素を選択する。ユーザはその選択結果に基づき、属性修正候補CRPa jの集合の何れかの要素を特定する属性修正情報を属性修正情報取得部113に入力する。属性修正情報は、ユーザが正例属性として適切ではないと判断した要素を特定可能な情報である。例えば、ユーザが正例属性として適切ではないと判断した属性修正候補CRPa jを示す情報が属性修正情報とされてもよいし、逆にユーザが正例属性として適切であると判断した属性修正候補CRPa jを示す情報が属性修正情報とされてもよい。このように属性修正情報取得部113に入力された属性修正情報は、基準更新部114及び属性修正情報反映部115に送られる。
《条件判定:ステップS109,S110》
基準更新部114は、属性修正候補提示部112から出力された属性修正候補CRPa jの集合のうち、正例属性として不適切な要素を基準個数以上特定する属性修正情報が属性修正情報取得部113に入力されたかを判定する。基準個数は、属性修正候補提示部112から出力されたすべての属性修正候補CRPa jの個数であってもよいし、それ以下の個数であってもよい。すなわち、属性修正候補提示部112から出力されたすべての属性修正候補CRPa jが正例属性として不適切とされたかが判定されてもよいし、属性修正候補提示部112から出力された属性修正候補CRPa jのうち閾値以上の属性修正候補が正例属性として不適切とされたかが判定されてもよい(ステップS109)。
ここで、正例属性として不適切な要素を基準個数以上特定する属性修正情報が属性修正情報取得部113に入力されたと判定された場合、基準更新部114はステップS106で属性修正候補CRPa jの集合として選択される要素が増加するように、属性修正候補選択部111での基準(第2基準)を更新する。例えば、ステップS106において、スコアSp(a)が閾値THp(a)以上となる第1対象属性RDa jを属性修正候補CRPa jの集合の要素とされるのであれば閾値THp(a)を低くする。例えば、ステップS106において、スコアSp(a)の大きい順に選択された上位M(a)個の第1対象属性RDa jを属性修正候補CRPa jの集合の要素とされるのであればM(a)の値を大きくする。閾値THp(a)や値M(a)などの初期値や更新のステップ幅は自由に設定することができる(ステップS110)。その後ステップS106に戻る。これにより、属性修正候補選択部111でより多くの要素からなる属性修正候補の集合が再び選択され、属性修正候補提示部112の処理と属性修正情報取得部113の処理とがやり直される。
一方、正例属性として不適切な要素を基準個数以上特定しない属性修正情報が属性修正情報取得部113に入力されたと判定された場合、以下の属性修正情報反映部115の処理が実行される。
《属性修正情報反映:ステップS111》
ステップS105で負例エンティティ−負例属性ペアであると判定されなかったPD1(RDe j,RDa j)の集合と、属性修正情報取得部113に入力された属性修正情報とが属性修正情報反映部115に入力される。属性修正情報反映部115は、入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合から属性修正情報で特定される要素を除いた補集合に含まれる要素を、正例属性RPa jの集合の要素とする。以下にこの処理を例示する。
[処理例1]
この例の属性修正情報反映部115は、少なくとも、属性修正情報で特定される属性修正候補CRPa jと、当該属性修正情報で特定される属性修正候補CRPa jを含む第1対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが何らかの基準(第3基準)を満たす他の第1対象エンティティ−対象属性ペアが含む属性修正候補CRPa jとを除く、属性修正候補の集合の要素を、正例属性RPa jの集合に追加する。ここで、「素性についての関連性の強さ」は、例えば、前述の影響度Pp(a)の具体例1で説明した「素性の類似度の大きさ」であってもよいし、前述の影響度Pp(a)の具体例2で説明した「変動量」であってもよい。
「素性についての関連性の強さ」が「素性の類似度の大きさ」である場合(例えばSIMの処理)、属性修正情報反映部115は、入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合から、以下(SIM削除-1,2)を除外したものを正例属性RPa jの集合として記憶部103に格納し、当該除外した要素(SIM削除-1,2)を負例属性RNa jの集合として記憶部103に格納する。
SIM削除-1:属性修正情報によって特定された第1対象属性RDa j(正例属性として適切ではないと判断された要素)。
SIM削除-2:SIM削除-1で除外された要素を含むPD1(RDe j,RDa j)の素性と類似する(類似度が何らかの基準を満たす)素性を持つ他のPD1(RDe j,RDa j)が含む第1対象属性RDa j。なお、類似度の尺度は、例えば、前述の影響度Pp(a)の具体例1で説明したものと同様である。類似度が何らかの基準を満たすとは、例えば、類似度が基準値以上となることである。この基準値は前述の影響度Pp(a)を定めるために用いたものと同一であってもよいし、異なるものであってもよい。
一方、「素性についての関連性の強さ」が前述の影響度Pp(a)の具体例2で説明した「変動量」である場合(例えばFMMの処理)、属性修正情報反映部115は、入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合から以下(FMM削除-1,2)を除外したものを正例属性RPa jの集合として記憶部103に格納し、FMM削除-1で除外された要素を負例属性RNa jの集合として記憶部103に格納する。FMM削除-2で除外された要素のラベル付け(正例・負例判定)は行われない。
FMM削除-1:属性修正情報によって特定された第1対象属性RDa j(正例属性として適切ではないと判断された要素)。
FMM削除-2:FMM削除-1で除外された第1対象属性RDa jを含むPD1(RDe j,RDa j)の素性を基準とした「変動量」が大きい(何らかの基準を満たす)他のPD1(RDe j,RDa j)が含む第1対象属性RDa j
[処理例2]
この例の属性修正情報反映部115は、入力されたPD1(RDe j,RDa j)が含む第1対象属性RDa jの集合から属性修正情報で特定される第1対象属性RDa j(正例属性として適切ではないと判断された要素)を除いたものを正例属性RPa jの集合として記憶部103に格納する。属性修正情報で特定される第1対象属性RDa jは負例属性RNa jの集合として記憶部103に格納される。
《エンティティ識別用素性抽出:ステップS112》
正例エンティティRPe j-1の集合、負例エンティティRNe j-1の集合、上記のように更新された正例属性RPa jの集合及び負例属性RNa jの集合がエンティティ識別用素性抽出部116に入力される。
エンティティ識別用素性抽出部116は、正例エンティティRPe j-1の集合から選択した第2正例エンティティと正例属性RPa jの集合から選択した第2正例属性との組である第2正例エンティティ−正例属性ペアPP2(RPe j-1,RPa j)と、負例エンティティRNe j-1の集合から選択した第2負例エンティティと負例属性RNa jの集合から選択した第2負例属性との組である第2負例エンティティ−負例属性ペアPN2(RNe j-1,RNa j)とを生成する。PP2(RPe j-1,RPa j)やPN2(RNe j-1,RNa j)は、RPe j-1とRPa jやRNe j-1とRNa jの採り得るすべての組み合わせについて生成されてもよいし、それらの一部の組み合わせのみについて生成されてもよい。
次にエンティティ識別用素性抽出部116は、記憶部101に格納されたテキストデータの集合Dから、PP2(RPe j-1,RPa j)の正例エンティティRPe j-1と正例属性RPa jとの組を含む文字列である「第2正例テキスト」を選択する。第2正例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第2正例テキストは、第2正例エンティティ−正例属性ペアPP2(RPe j-1,RPa j)とテキストデータとの組に対して1個以上抽出される。
エンティティ識別用素性抽出部116は、第2正例テキストに対する第2正例エンティティ−正例属性ペアPP2(RPe j-1,RPa j)の特徴を表す情報を当該第2正例エンティティ−正例属性ペアPP2(RPe j-1,RPa j)の素性fPe jとする。この例では、第2正例テキストごとにPP2(RPe j-1,RPa j)の素性fPe jが抽出される。PP2(RPe j-1,RPa j)の素性fPe jの例は、第2正例テキスト(正例エンティティRPe j-1及び正例属性RPa jを含む文字列であってテキストデータに含まれるもの)と当該第2正例エンティティRPe j-1及び第2正例属性RPa jとの関係を表す情報である。その具体例は、前述(ステップS103)したPP1(RPe j-1,RPa j-1)の素性fPa jの場合と同様である。
同様に、エンティティ識別用素性抽出部116は、記憶部101に格納されたテキストデータの集合Dから、何れかの負例エンティティRNe j-1と負例属性RNa jとの組を含む文字列である「第2負例テキスト」を選択する。第2負例テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第2負例テキストは、第2負例エンティティ−負例属性ペアPN2(RNe j-1,RNa j)とテキストデータとの組に対して1個以上抽出される。
エンティティ識別用素性抽出部116は、第2負例テキストに対する第2負例エンティティ−負例属性ペアPN2(RNe j-1,RNa j)の特徴を表す情報を当該第2負例エンティティ−負例属性ペアPN2(RNe j-1,RNa j)の素性fNe jとする。この例では、第2負例テキストごとにPN2(RNe j-1,RNa j)の素性fNe jが抽出される。PN2(RNe j-1,RNa j)の素性fNe jの例は、第2負例テキスト(負例エンティティRNe j-1及び負例属性RNa jを含む文字列であってテキストデータに含まれるもの)と当該第2負例エンティティRNe j-1及び第2負例属性RNa jとの関係を表す情報である。その具体例は、前述(ステップS103)したPP1(RPe j-1,RPa j-1)の素性fPa jの場合と同様である。
エンティティ識別用素性抽出部116は、PP2(RPe j-1,RPa j)の素性fPe jと正例を表すラベル<+1>との組(fPe j, <+1>)、及び、PN2(RNe j-1,RNa j)の素性fNe jと負例を表すラベル<-1>との組(fNe j, <-1>)を出力する。
図5Bは、エンティティ識別用素性抽出部116が出力する組(fPe j, <+1>)及び組(fNe j, <-1>)を例示した図である。この例では、エンティティ(ex)と属性(ey)の前後2単語の表記を素性としている。
《エンティティ識別学習:ステップS113》
PP2(RPe j-1,RPa j)の素性fPe jと正例を表すラベル<+1>との組(fPe j, <+1>)、及び、PN2(RNe j-1,RNa j)の素性fNe jと負例を表すラベル<-1>との組(fNe j, <-1>)がエンティティ識別学習部117に入力される。エンティティ識別学習部117は、PP2(RPe j-1,RPa j)の素性fPe jとPN2(RNe j-1,RNa j)の素性fNe jとを教師あり学習データとした学習処理によって、第2識別モデルMEe jを生成する。この第2識別モデルMEe jは、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別するための情報を出力する関数である。このような第2識別モデルMEe jであればどのようなモデルであってもよい。例えば、前述の識別モデルMEe jと同様に第2識別モデルMEe jを生成すればよい。
学習処理によって生成された第2識別モデルMEe jは記憶部104に格納される。例えば、学習処理によって生成された第2識別モデルMEe jのパラメータが記憶部104に格納される。
《エンティティ識別:ステップS114》
エンティティ識別部118は、記憶部101に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第2対象エンティティRDe jとして選択する。またエンティティ識別部118は、選択した当該テキストデータから当該第2対象エンティティRDe jと異なる文字列を第2対象属性RDa jとして選択する。そしてエンティティ識別部118は、第2対象エンティティRDe jと第2対象属性RDa jとの組を第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)とする。
なお、テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、特定の方法で対象を限定して選択を行うことが望ましい。以下にその具体例を示す。
[選択方法の例]
第1条件:
エンティティ識別部118は、何れかの正例属性RPj a又は負例属性RNj aを含み、かつ当該属性RPj a又RNj aから任意のウィンドウサイズ内(ここでは3単語とする)に名詞を含むテキストデータを抽出し、ウィンドウサイズ内の名詞をエンティティ候補とする。
第2条件:
第1条件だけでは対象の数が膨大になる場合があるため、エンティティ識別部118は、エンティティ識別学習部117で教師あり学習データとして用いられたPP2(RPe j-1,RPa j)の素性fPe jとPN2(RNe j-1,RNa j)の素性fNe jのうち、それらから生成された第2識別モデルMEe jへの影響度の大きさを表す指標(例えば前述の重みλq)が特定の基準を満たす素性、つまり、当該第2識別モデルMEe jへの影響度が大きな素性fPe j及び/又はfNe jを選択する。例えば、エンティティ識別部118は、前述の重みλqの絶対値が閾値よりも大きな素性fPe j及び/又はfNe jを選択する。
エンティティ識別部118は、選択した素性fPe j及び/又はfNe jに対応する文字列を含むテキストデータを、第1条件で選択されたテキストデータの集合から選択する。エンティティ識別部118は、当該選択したテキストデータが含む文字列を第2対象エンティティRDe j及び第2対象属性RDa jとする。例えば、エンティティ識別部118は、選択した素性fPe j及び/又はfNe jから表層素性の単語を抽出し、当該表層素性の単語を含むテキストデータを第1条件で選択されたテキストデータの集合から選択する。([選択方法の例]の説明終わり)。
エンティティ識別用素性抽出部116は、記憶部101に格納されたテキストデータの集合Dから、第2対象エンティティRDe jと第2対象属性RDa jとの組を含む文字列である「第2対象テキスト」を選択する。第2対象テキストの例は、テキストデータが含む文、フレーズ、単語列などである。第2対象テキストは、第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)とテキストデータとの組に対して1個以上抽出される。
エンティティ識別用素性抽出部116は、第2対象テキストに対する第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)の特徴を表す情報を当該第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)の素性fDe jとする。この例では、第2対象テキストごとにPD2(RDe j,RDa j)の素性fDe jが抽出される。PD2(RDe j,RDa j)の素性fDe jの例は、第2対象テキスト(第2対象エンティティRDe j及び第2対象属性RDa j-1を含む文字列であってテキストデータに含まれるもの)と第2対象エンティティRDe j及び第2対象属性RDa j-1との関係を表す情報である。その具体例は、前述(ステップS103)したPP1(RPe j-1,RPa j-1)の素性fPa jの場合と同様である。
第2対象テキストに対応するPD2(RDe j,RDa j)の素性fDe jは、エンティティ識別部118に入力される。エンティティ識別部118は、PD2(RDe j,RDa j)の素性fDe jを記憶部104から読み出した第2識別モデルMEe jに入力し、PD2(RDe j,RDa j)が正例エンティティ−正例属性ペアか負例エンティティ−負例属性ペアかを識別する。
ここで、エンティティ識別部118は、PD2(RDe j,RDa j)を正例エンティティ−正例属性ペアであると識別した場合、当該PD2(RDe j,RDa j)の第2対象エンティティRDe jを正例エンティティRPe jとして記憶部105に格納し、正例エンティティRPe jの集合に追加する。また、エンティティ識別部118は、PD2(RDe j,RDa j)が負例エンティティ−負例属性ペアであると識別した場合、当該PD2(RDe j,RDa j)の第2対象エンティティRDe jを負例エンティティRNe jとして記憶部105に格納し、負例エンティティRNe jの集合に追加する。すなわち、ステップS112−S114では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。
《収束判定:ステップS115−S117》
収束判定部119は、収束条件を満たしたかを判定する。以下に収束条件を例示する。
[収束条件の例]
収束条件の例1:この例の収束判定部119は、正例エンティティRPe jに新たに割り当てられる対象エンティティRDe jが存在しない場合に、収束条件を満たしたと判断する。
収束条件の例2:この例の収束判定部119は、ステップS103からS114のイテレーションを基準回数以上繰り返しても新たに割り当てられる対象エンティティRDe j-1が存在しない場合に、収束条件を満たしたと判断する。
収束条件の例3:この例の収束判定部119は、jの値が基準値以上となった場合に収束条件を満たしたと判断する([収束条件の例]の説明終わり/ステップS115)。
収束判定部119が収束条件を満たしたと判断した場合、ステップS103からS114のイテレーションが終了し、出力部120が記憶部105に格納されているすべての正例エンティティRPj eを出力して処理を終了する(ステップS117)。それ以外の場合は、制御部19がj+1を新たなjの値とし(ステップS116)、記憶部105に格納されている正例エンティティRPj e 及び負例エンティティRNj e 、記憶部103に格納されている正例属性RPj a 及び負例属性RNj aを属性識別用素性抽出部108に入力し、ステップS103からS114のイテレーションが実行される。
<第1実施形態の特徴>
本形態では、抽出対象となるエンティティよりも少ない情報量で特徴を表し得る属性のラベル(正例か負例かを表すラベル)を人手によって修正可能とする。これにより、エンティティのラベルのみを人手によって修正する場合に比べ、少ないコストでエンティティの識別精度を向上させることができる。基本的には、1つの属性を修正する場合と1つのエンティティを修正する場合とを比べると、前者によるエンティティの識別精度の向上効果の方が大きい。例えば、球団のエンティティを獲得したい場合に、「ゴール」が正例属性の候補として得られた場合にそれを修正することで得られる効果は、「ヴェルディ」が正例エンティティの候補として得られた場合にそれを修正することで得られる効果よりも大きい。よって、本形態では、人手による修正コストを小さくし、セマンティックドリフトを効率的に抑制することができる。
また、本形態では、エンティティとその属性との組を用いて識別を行うこととしたため、セマンティックドリフトを抑制することができる。例えばエンティティ<阪神>には曖昧性があり、エンティティ<阪神>の素性のみでは、エンティティ<阪神>が鉄道名と球団名のどちらを指すか識別できない。しかし、<試合>や<乗務員>の属性を付加した<阪神>−<試合>や<阪神>−<乗務員>を制約条件とすれば、それぞれの<阪神>が異なる意味で用いられていることを識別できる。
また、本形態では、co-training方式を用いるため、精度の高い識別が可能となる。なお、上記では正例及び負例属性の更新(ステップS103−S111)を行った後に、正例及び負例エンティティの更新(S112−S114)を行う例を示した。しかし、正例及び負例エンティティの更新を行った後に正例及び負例属性の更新を行ってもよい。
その他、本形態の方法はリソースであるテキストデータの種類によらず利用でき、適用範囲が広い。
〔第2実施形態〕
第1実施形態では属性のラベルのみを人手による修正対象としたが、第2実施形態ではさらにエンティティのラベルについても人手による修正対象とする。以下では第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
<構成>
図6は、第2実施形態のデータ抽出装置2の機能構成を例示するためのブロック図である。
図6に例示するように、データ抽出装置2は、記憶部101−105、制御部106、初期属性集合生成部107、属性識別用素性抽出部108、属性識別学習部109、属性識別部110、属性修正候補選択部111、属性修正候補提示部112、属性修正情報取得部113、基準更新部114、属性修正情報反映部115、エンティティ識別用素性抽出部116、エンティティ識別学習部117、エンティティ識別部218、エンティティ修正候補選択部211、エンティティ修正候補提示部212、エンティティ修正情報取得部213、基準更新部214、エンティティ修正情報反映部215、収束判定部119、及び出力部120を有し、制御部106の制御のもと各処理を実行する。なお、データ抽出装置2は、例えば、CPU、RAM及びROM等を含む公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。
<前提>
第1実施形態と同じである。
<データ抽出処理>
図2及び7に例示するように、本形態でも、エンティティと属性の更新を交互に行うco-training方式を用いる。すなわち、ステップS103−S111では正例及び負例エンティティの更新は行われず、正例及び負例属性の更新のみが行われる。一方ステップS112−S211では正例及び負例属性の更新は行われず、正例及び負例エンティティの更新のみが行われる。以下、図2及び7を用いてデータ抽出装置2のデータ抽出処理を例示する。
《ステップS101−S113》
ステップS101−S113の処理は第1実施形態と同一である。ステップS113の後、以下のステップS214の処理が実行される。
《エンティティ識別:ステップS214》
エンティティ識別部218は、記憶部101に格納されたテキストデータの集合Dから何れかのテキストデータを選択し、選択した当該テキストデータが含む文字列を第2対象エンティティRDe jとして選択する。またエンティティ識別部218は、選択した当該テキストデータから当該第2対象エンティティRDe jと異なる文字列を第2対象属性RDa jとして選択する。そしてエンティティ識別部218は、第2対象エンティティRDe jと第2対象属性RDa jとの組を第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)とする。テキストデータの集合Dからすべてのテキストデータが選択されてもよいが、すべてのテキストデータを対象とすることは計算効率上好ましくない。そのため、第1実施形態のステップS114で説明したような特定の方法で対象を限定して選択を行うことが望ましい。
エンティティ識別用素性抽出部116は、第1実施形態と同様に、記憶部101に格納されたテキストデータの集合Dから、第2対象エンティティRDe jと第2対象属性RDa jとの組を含む文字列である「第2対象テキスト」を選択する。エンティティ識別用素性抽出部116は、第1実施形態と同様に、第2対象テキストに対する第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)の特徴を表す情報を当該第2対象エンティティ−対象属性ペアPD2(RDe j,RDa j)の素性fDe jとする。
第2対象テキストに対応するPD2(RDe j,RDa j)の素性fDe jは、エンティティ識別部218に入力される。エンティティ識別部218は、PD2(RDe j,RDa j)の素性fDe jを記憶部104から読み出した第2識別モデルMEe jに入力し、PD2(RDe j,RDa j)が正例エンティティ−正例属性ペアかを識別するための情報CPe j、及び/又は、PD2(RDe j,RDa j)が負例エンティティ−負例属性ペアかを識別するための情報CNe jを得る。CPe jの例はPD2(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度であり、CNe jの例はPD2(RDe j,RDa j)が負例エンティティ−負例属性ペアである確率を表す信頼度に対応する情報CNe jである。識別モデルMEe jとして正則化項付き最大エントロピーモデルが用いられる場合には、例えば、x=fDe jを識別モデルMEe jであるP(y|x)に代入して得られる条件付確率P(1|x)及びP(-1|x)がCPe j=P(1|x)及びCNe j=P(-1|x)とされる。その他、例えばP(1|x)の広義単調増加関数値がCPe jとされ、P(-1|x)の広義単調増加関数値がCNe jとされてもよい。
次のエンティティ識別部218の処理はどのようなCPe j,CNe jを用いるかによって相違する。以下、それぞれのケースについて説明する。
[正例側に対するCPe jと負例側に対するCPe jとの正負符号が反転する場合]
負例側のCPe jの正負符号が正例側のCPe jと反対になる場合(例えば、負例側のCPe jが常に負となる場合等)、エンティティ識別部218は、PD2(RDe j,RDa j)と当該PD2(RDe j,RDa j)の素性fDe j及びCPe jとを属性修正候補選択部211に送る。
[正例側に対するCPe jと負例側に対するCPe jとの正負符号が反転するとは限らない場合]
エンティティ識別部218は、PD2(RDe j,RDa j)に対応するCPe j及び/又はCNe jを用い、PD2(RDe j,RDa j)が負例エンティティ−負例属性ペアかを識別する。エンティティ識別部218は、所定の閾値とCPe j及び/又はCNe jとを比較してこの識別を行う。以下に識別方法を例示する。
例1:エンティティ識別部218は、CPe jが第1閾値以下(例えば0以下)である場合に、当該CPe jに対応するPD2(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
例2:エンティティ識別部218は、CNe jが第2閾値以上である場合に、当該CNe jに対応するPD2(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
例3:エンティティ識別部218は、CNe jが第2閾値以上であり、かつ、CPe jが第1閾値以下である場合に、当該CNe j及びCPe jに対応するPD2(RDe j,RDa j)が負例エンティティ−負例属性ペアであると判定する。
エンティティ識別部218は、負例エンティティ−負例属性ペアであると判定したPD2(RDe j,RDa j)の第2対象エンティティRDe jを負例エンティティRNe jとして記憶部105に格納し、負例エンティティRNe jの集合に追加する。さらにエンティティ識別部218は、負例エンティティ−負例属性ペアであると判定されなかったPD2(RDe j,RDa j)と当該PD2(RDe j,RDa j)の素性fDe j及びCPe jとをエンティティ修正候補選択部211に送る。
《エンティティ修正候補選択:ステップS206》
エンティティ修正候補選択部211は、入力されたPD2(RDe j,RDa j)が含む第2対象エンティティRDe jの集合の部分集合を、エンティティ修正候補CRPe jの集合として選択する。エンティティ修正候補CRPe jの集合の要素は正例エンティティの候補としてユーザに提示され、人手によるラベル修正(正例から負例への修正、又は正例からラベルなしへの修正)の候補とされる。入力されたPD2(RDe j,RDa j)が含む第2対象エンティティRDe jの集合がエンティティ修正候補CRPe jの集合とされてもよいし、当該第2対象エンティティRDe jの集合の一部がエンティティ修正候補CRPe jの集合とされてもよい。ただ、人手による修正コストをできるだけ小さくし、かつ、セマンティックドリフトをより効率的に軽減するためには、それに適した基準でエンティティ修正候補CRPe jの集合が選択されることが望ましい。基本的には、人手によるラベル修正によって得られる情報量の多い第2対象エンティティRDe jや、正例エンティティであることの信頼度がデータ抽出装置2にとって低い第2対象エンティティRDe jが、エンティティ修正候補CRPe jの集合として有益である。有益な第2対象エンティティRDe jを選んでエンティティ修正候補CRPe jの集合としてユーザに提示できれば、ユーザが検討するデータの数を減らすことができ(ユーザの負荷を減らし)、かつ、学習処理に有益な正例エンティティRPe jを効率よく得ることができる。以下、有益な第2対象エンティティRDe jの集合をエンティティ修正候補CRPe jの集合として選択するための基準を例示する。
[エンティティ修正候補の集合を選択する基準の例示]
エンティティ修正候補選択部211は、例えば、第2対象エンティティRDe jに対応するスコアSp(e)を何らかの基準と比較し、その基準を満たす第2対象エンティティRDe jの集合をエンティティ修正候補CRPe jの集合とする。例えば、スコアSp(e)が閾値THp(e)以上(又は閾値THp(e)を超えること)となる第2対象エンティティRDe jをエンティティ修正候補CRPe jの集合の要素としてもよいし、スコアSp(e)の大きい順に選択された上位M(e)個(M(e)は正整数)の第2対象エンティティRDe jをエンティティ修正候補CRPe jの集合の要素としてもよい。
スコアSp(e)は、人手によるラベル修正によって得られる情報量が多い(影響度が大きい)ほど大きくなるものであってもよいし、正例エンティティであることの信頼度がデータ抽出装置2にとって低いほど大きくなるものであってもよいし、それらの両方の特徴を備えたものであってもよい。スコアSp(e)は、前述したスコアSp(a)について「属性」を「エンティティ」に置き換えたものでよい。以下、スコアSp(e)の例を具体的に示す。
[影響度に対応するスコアの例]
この例では、エンティティ修正候補選択部211に入力されたPD2(RDe j,RDa j)の集合が含む特定の要素に対する素性についての関連性の強さが何らかの基準を満たす他の要素の個数に対応する情報を、当該特定の要素である第2対象エンティティ−対象属性ペアの影響度Pp(e)とし、影響度Pp(e)に対応するスコアSp(e)が用いられる。エンティティ修正候補選択部211は、影響度Pp(e)に対応するスコアSp(e)が何らかの基準を満たすPD2(RDe j,RDa j)が含む第2対象エンティティRDe jの集合をエンティティ修正候補CRPe jの集合とする。影響度Pp(e)がそのままスコアSp(e)とされてもよいし、影響度Pp(e)に対する広義単調増加関数値がスコアSp(e)とされてもよい。
影響度Pp(e)は、後述するステップS211でSIMやFMMなどに基づくアクティブラーニング法が用いられる場合に、人手によるラベル修正によって得られる情報量の大きさを表わす。人手での修正に伴って自動的に修正される要素の個数が影響度Pp(e)とされてもよいし、人手での修正に伴って自動的に修正される要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。以下に影響度Pp(e)の具体例を示す。
影響度Pp(e)の具体例1:
影響度Pp(e)の具体例1は、後述するステップS211でSIM又はそれに類似の処理が用いられる場合に特に有効なものである。この例では、上述の「素性についての関連性の強さ」が「素性の類似度の大きさ」とされる。すなわち、エンティティ修正候補選択部211に入力されたPD2(RDe j,RDa j)の集合が含む特定の要素に対する素性の類似度の大きさが何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第2対象エンティティ−対象属性ペアの影響度Pp(e)とする。言い換えると、当該特定の要素の素性と類似する(類似度が何らかの基準を満たす)素性を持つ要素の個数に対応する情報を当該特定の要素の影響度Pp(e)とする。例えば、当該特定の要素の素性との類似度が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(e)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。第1実施形態と同様、類似度としてどのような尺度を用いるかについての限定はないが、コサイン類似度や、PMIで重み付けされた素性のコサイン類似度などを例示できる(例えば、非特許文献2参照)。
影響度Pp(e)の具体例2:
影響度Pp(e)の具体例2は、後述するステップS211でFMM又はそれに類似の処理が用いられる場合に特に有効なものである。PD2(RDe j,RDa j)の素性がそれぞれ複数の値の集合であることを前提とする。この例でのPD2(RDe j,RDa j)の集合の特定の要素と他の要素との間での「素性についての関連性の強さ」は、当該他の要素の素性を第2識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを第2識別モデルに入力して得られる情報と、の違いの大きさ(変動量)である。具体例2では、当該変動量が何らかの基準を満たすような他の要素の個数に対応する情報を、当該特定の要素である第2対象エンティティ−対象属性ペアの影響度Pp(e)とする。例えば、このような変動量が基準値以上となる素性を持つ他の要素の個数がそのまま影響度Pp(e)とされてもよいし、この要素の個数の広義単調増加関数値などが影響度Pp(e)とされてもよい。
[信頼度に対応するスコアの例]
この例では、PD2(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度に対応するスコアSp(e)を用いる。この例では、信頼度が小さいほど大きくなるスコアSp(e)を用いる。例えば、エンティティ修正候補選択部211に入力されるPD2(RDe j,RDa j)に対応するCPe jが、当該PD2(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度であるとし、CPe jの逆数がスコアSp(e)とされてもよいし、CPe jの広義単調減少関数値がSp(e)とされてもよい。
[影響度及び信頼度に対応するスコアの例]
この例では、上述の影響度及び信頼度に対応するスコアSp(e)が用いられる。この例では、上述の影響度が大きいほど大きくなり、かつ、上述の信頼度が大きくなるほど小さくなるスコアSp(e)が用いられる。例えば、Sp(e)=Pp(e)/CPe jとされてもよいし、Pp(e)/CPe jの広義単調増加関数値がスコアSp(e)とされてもよい。
《エンティティ修正候補提示:ステップS207》
エンティティ修正候補選択部211で選択されたエンティティ修正候補CRPe jの集合はエンティティ修正候補提示部212に送られる。エンティティ修正候補提示部212は、エンティティ修正候補CRPe jの集合を出力する。例えば、エンティティ修正候補提示部212は、エンティティ修正候補CRPe jの集合をリストとして表示する。この際、例えば、各エンティティ修正候補CRPe jに対応する第2対象エンティティRDe jやスコアSp(e)などの情報も併せてエンティティ修正候補提示部212に送られ、表示されてもよい。ユーザはこのように表示されたエンティティ修正候補CRPe jの集合を閲覧する。
《エンティティ修正情報取得:ステップS208》
エンティティ修正候補CRPe jの集合を閲覧したユーザはそれらの要素が本当に正例であるか否かを検証し、エンティティ修正候補CRPe jの集合から正例エンティティとして適切ではない要素を選択する。ユーザはその選択結果に基づき、エンティティ修正候補CRPe jの集合の何れかの要素を特定するエンティティ修正情報をエンティティ修正情報取得部213に入力する。エンティティ修正情報は、ユーザが正例エンティティとして適切ではないと判断した要素を特定可能な情報である。例えば、ユーザが正例エンティティとして適切ではないと判断したエンティティ修正候補CRPe jを示す情報がエンティティ修正情報とされてもよいし、逆にユーザが正例エンティティとして適切であると判断したエンティティ修正候補CRPe jを示す情報がエンティティ修正情報とされてもよい。このようにエンティティ修正情報取得部213に入力されたエンティティ修正情報は、基準更新部214及びエンティティ修正情報反映部215に送られる。
《条件判定:ステップS209,S210》
基準更新部214は、エンティティ修正候補提示部212から出力されたエンティティ修正候補CRPe jの集合のうち、正例エンティティとして不適切な要素を基準個数以上特定するエンティティ修正情報がエンティティ修正情報取得部213に入力されたかを判定する。前述した属性の場合と同様、基準個数は、エンティティ修正候補提示部212から出力されたすべてのエンティティ修正候補CRPe jの個数であってもよいし、それ以下の個数であってもよい(ステップS209)。
ここで、正例エンティティとして不適切な要素を基準個数以上特定するエンティティ修正情報がエンティティ修正情報取得部213に入力されたと判定された場合、基準更新部214はステップS206でエンティティ修正候補CRPe jの集合として選択される要素が増加するように、エンティティ修正候補選択部211での基準を更新する。例えば、ステップS206において、スコアSp(e)が閾値THp(e)以上となる第2対象エンティティRDe jをエンティティ修正候補CRPe jの集合の要素とされるのであれば閾値THp(e)を低くする。例えば、ステップS206において、スコアSp(e)の大きい順に選択された上位M(e)個の第2対象エンティティRDe jをエンティティ修正候補CRPe jの集合の要素とされるのであればM(e)の値を大きくする。閾値THp(e)や値M(e)などの初期値や更新のステップ幅は自由に設定することができる(ステップS210)。その後ステップS206に戻る。これにより、エンティティ修正候補選択部211でより多くの要素からなるエンティティ修正候補CRPe jの集合が再び選択され、エンティティ修正候補提示部212の処理とエンティティ修正情報取得部213の処理とがやり直される。
一方、正例エンティティとして不適切な要素を基準個数以上特定しないエンティティ修正情報がエンティティ修正情報取得部213に入力されたと判定された場合、以下のエンティティ修正情報反映部215の処理が実行される。
《エンティティ修正情報反映:ステップS211》
ステップS214で負例エンティティ−負例属性ペアであると判定されなかったPD2(RDe j,RDa j)の集合と、エンティティ修正情報取得部213に入力されたエンティティ修正情報とがエンティティ修正情報反映部215に入力される。エンティティ修正情報反映部215は、入力されたPD2(RDe j,RDa j)が含む第2対象エンティティRDe jの集合からエンティティ修正情報で特定される要素を除いた補集合に含まれる要素を、正例エンティティRPa jの集合の要素とする。この処理は、ステップS111の処理での「属性」を「エンティティ」に置き換えたものでよい。以下にこの処理を例示する。
[処理例1]
この例のエンティティ修正情報反映部215は、少なくとも、エンティティ修正情報で特定されるエンティティ修正候補CRPe jと、当該エンティティ修正情報で特定されるエンティティ修正候補CRPe jを含む第2対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが何らかの基準を満たす他の第2対象エンティティ−対象属性ペアが含むエンティティ修正候補CRPe jとを除く、エンティティ修正候補CRPe jの集合の要素を、正例エンティティRPe jの集合として記憶部105に格納する。ここで、「素性についての関連性の強さ」は、例えば、前述の影響度Pp(e)の具体例1で説明した「素性の類似度の大きさ」であってもよいし、前述の影響度Pp(e)の具体例2で説明した「変動量」であってもよい。この処理は、例えばステップS111と同様にSIMやFMMに基づいて行われる。SIMの場合、正例の集合から除外されたエンティティ修正候補CRPe jは負例エンティティRNe jの集合として記憶部105に格納される。FMMの場合、正例の集合から除外されたエンティティ修正候補CRPe jのラベル付けは行われない。
[処理例2]
この例のエンティティ修正情報反映部215は、入力されたPD2(RDe j,RDa j)が含む第2対象エンティティRDe jの集合からエンティティ修正情報で特定される第2対象エンティティRDe j(正例エンティティとして適切ではないと判断された要素)を除いたものを正例エンティティRPe jの集合として記憶部105に格納する。エンティティ修正情報で特定される第2対象エンティティRDe jは負例エンティティRNe jの集合として記憶部105に格納される。
《収束判定:ステップS115−S117》
収束判定部119は、収束条件を満たしたかを判定する(ステップS115)。収束判定部119が収束条件を満たしたと判断した場合、ステップS103からS211のイテレーションが終了し、出力部120が記憶部105に格納されているすべての正例エンティティRPj eを出力して処理を終了する(ステップS117)。それ以外の場合は、制御部19がj+1を新たなjの値とし(ステップS116)、記憶部105に格納されている正例エンティティRPj e 及び負例エンティティRNj e 、記憶部103に格納されている正例属性RPj a 及び負例属性RNj aを属性識別用素性抽出部108に入力し、ステップS103からS211のイテレーションが実行される。
<第2実施形態の特徴>
本形態では、属性だけではなく、エンティティについても、人手によるラベル修正が可能となった。これにより、エンティティの識別精度を向上させることができる。
また、本形態でも、エンティティとその属性との組を用いて識別を行うこととしたため、セマンティックドリフトを抑制することができ、co-training方式を用いるため、精度の高い識別が可能となる。
その他、本形態の方法はリソースであるテキストデータの種類によらず利用でき、適用範囲が広い。
〔第1及び2実施形態の変形例〕
参考文献4「Andrew K. McCallum, Kamal Nigam, “Employing EM and Pool-Based Active Learning for Text Classification,” ICML'98, 1998.」などで用いられているQBC(Query By Committee)を適用してもよい。すなわち、第1及び2実施形態では、第1識別モデルMEa jで得られたPD1(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度をCPa jとして用い(ステップS106)、第2識別モデルMEe jで得られたPD2(RDe j,RDa j)が正例エンティティ−正例属性ペアである確率を表す信頼度をCPe jとして用いる例を示した(ステップS206)。しかしながら、第1識別モデルMEa jや第2識別モデルMEe jで得られた信頼度ではなく、QBCから得られたスコアをCPa jやCPe jとしてもよい。以下にこの変形例を説明する。
まず、QBCの説明の前にEMアルゴリズムの半教師あり学習への拡張について説明する。半教師あり学習とは、少量の教師ありデータと大量の教師なしデータとの両方を学習データとして用いて行う識別モデルの学習方法である。半教師あり学習では、教師ありデータだけを用いた識別モデルに比べ、高い性能を持つ識別モデルを得ることができる。ここでは、正例・負例の2値分類を行う識別モデルを考える。
まず、既に正例又は負例にラベル付けされているテキストデータのラベルをUM(Unigram Mixtures)(参考文献4等参照)における各隠れ変数zに割り当てる。即ち、正例・負例を各隠れ変数zとして持つ2混合のUMを想定する。この場合のUMは以下の形で定義される。
Figure 2012141912
ここでdはテキストデータの集合Dに属するテキストデータd∈Dを表し、p(d)はテキストデータの集合Dにおけるテキストデータdの出現確率を表す。z∈Zは隠れ変数であり、各zがテキストデータdが正例(z=1)であるか負例(z=0)であるかに対応する。Zは隠れ変数zの集合を表す。p(z)は隠れ変数zに対する確率であり、
Figure 2012141912
を満たす。vは文字列を表し、Vは文字列vの集合を表す。p(v|z)は隠れ変数zにおける文字列vの生成確率(隠れ変数zが与えられたときの文字列vの事後確率)であり、
Figure 2012141912
を満たす。ndvはテキストデータd中に文字列vが出現した回数である。
教師ありデータとして与えられた正例又は負例のテキストデータdのラベルに従い、UMの各事後確率p(z=1|d);p(z=0|d)に0又は1が付与される。これらの事後確率が固定されたままで、教師なしデータに対しEMアルゴリズムが適用され、モデル学習が行われる。
次に、上記半教師あり学習に拡張したEMアルゴリズムをアクティブラーニングに拡張した手法であるQBCについて説明する。
まず、これまでのイテレーションで得られている正例・負例の属性及びエンティティをG個のグループに分ける。例えば、これまでに正例・負例エンティティが各20個得られており、正例・負例属性が各10個得られているとする。各20個の正例・負例エンティティからなる集合をそれぞれPEpre, NEpreとし、各10個の正例・負例属性からなる集合をそれぞれPApre, NApreとする。グループ数Gを2とすると、(PEpre, NEpre)(PApre, NApre)がそれぞれ2分され、(PEpre 1,PEpre 2,NEpre 1 ,NEpre 2),(PApre 1, PApre 2, NApre 1 ,NApre 2)とされる。この時必ず各グループには正例負例が両方含まれるようにする。
それぞれのグループ(部分集合)g∈{1,…,G}ごとにデータをまとめ、グループgに対応するデータをCgとする。例えばグループ数Gが2の場合、C1={PEpre 1, NEpre 1, PApre 1, NA pre 1}, C2={PEpre 2, NEpre 2, PApre 2, NApre 2}とされる。以下では各Cgについて同じ処理が行われるが、ここでは具体的にC1の処理を追っていく。
C1における正例の集合(PEpre 1, PApre 1)と負例の集合(NEpre 1, NApre 1)を用いて、各エンティティと属性のペアをすべての組み合わせについて作成し、これらのペアを含む各テキストデータから定まる前述の素性を正例側及び負例側の学習データ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間で大きいものが有益なデータとみなされる。このスコアは以下で定義される。
Figure 2012141912
ここで、z=1はzが正例であることを表し、D(・||・)はカルバック・ライブラ距離を表し、
Figure 2012141912
である。
次に、上記のQBCを識別モデルに適用した例を示す。以下の式でスコアを定義する。
Figure 2012141912
ここでω∈{1,0}={正例,負例}はzと同じ値域を持つが、隠れ変数ではないために新たに確率変数を与えている。また、Mg’(g∈{1,…,G})は教師ありの学習データCDgを用いて学習された識別モデルを表し、
Figure 2012141912
である。この点が元のQBCと異なる。すなわち、学習データCDgを用いてEMアルゴリズムによってUMが生成されるのではなく、識別モデルが構築される。識別モデルには、最大エントロピーモデルやサポートベクタマシンなど一般的に用いられる識別モデルを適用できる。
QBCはシステムの信頼度が低いことを統計的に判断することができる。具体的には、式(10)のスコアは、グループ(部分集合)gごとの信頼度(事後確率p(z=1|d; Mg))に対応する情報のばらつきを表す。式(10)のスコアが高いエンティティと属性とのペアほど信頼度が低く、ユーザに提示してラベルの的確性を評価させることが望ましいといえる。
そのため、前述のPD1(RDe j,RDa j)に対する式(10)のスコアの広義単調減少関数値(式(10)のスコアの逆数など)をCPa jとし、前述のPD2(RDe j,RDa j)に対する式(10)のスコアの広義単調減少関数値(式(10)のスコアの逆数など)をCPe jとすることができる。
つまり、例えば、前述の属性識別学習部109が第1正例エンティティ−正例属性ペアの集合を第1正例エンティティ−正例属性ペアの部分集合(グループg)ごとに区分し、当該部分集合に属する第1正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する第1識別モデルを生成し、属性識別部110が、第1対象エンティティ−対象属性ペアの素性を部分集合にそれぞれ対応する第1識別モデルに入力し、部分集合ごとに当該第1対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、スコアSp(a)が、さらに部分集合ごとの信頼度に対応する情報のばらつきの大きさを表す情報(式(10)のスコア)に対応することにしてもよい。
例えば、前述のエンティティ識別学習部117が第2正例エンティティ−正例属性ペアの集合を第2正例エンティティ−正例属性ペアの部分集合ごとに区分し、当該部分集合に属する第2正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する第2識別モデルを生成し、エンティティ識別部218が、第2対象エンティティ−対象属性ペアの素性を部分集合にそれぞれ対応する第2識別モデルに入力し、部分集合ごとに当該第2対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、スコアSp(e)が、さらに部分集合ごとの信頼度に対応する情報のばらつきの大きさを表す情報(式(10)のスコア)に対応することにしてもよい。
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。
例えば、上記の各実施形態では、正例側の属性やエンティティ(例えば、識別モデルで負例と判定されなかった対象エンティティ−対象属性ペアが含む属性やエンティティ)を人手による修正候補とした(ステップS106,S206)。一般的に負例数は正例数に比べて圧倒的に多いため、負例側の属性やエンティティを人手によって修正することは効率的ではない。しかしながら、負例側の属性やエンティティも人手による修正候補としてもよい。この場合には、正例を負例に置き換えたステップS106−S111の処理やステップS206−S211の処理や上述の変形例の処理が、さらに実行される。例えば、負例側のCPa jやCPe jの正負符号が正例側のCPa jやCPe jと反対になる場合(例えば、負例側のCPa jやCPe jが常に負となる場合等)には、Sp(a)=Pp(a)/-CPa jやそのの広義単調増加関数値が負例側のスコアSp(a)とする。また、この場合、負例側に対する式(10)は以下のようになる。
Figure 2012141912
これにより、正例候補だけではなく負例候補についても、人手による修正候補とすることができる。
また、負例を用いないこととしてもよく、第1識別モデルMEa jや第2識別モデルMEe jが、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該ペアが正例エンティティ−正例属性ペアかを識別するための情報を出力する関数であってもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1−2 データ抽出装置

Claims (15)

  1. 抽出対象の文字列である正例エンティティの集合から選択した第1正例エンティティと前記正例エンティティの属性を表す文字列である正例属性の集合から選択した第1正例属性との組である第1正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、前記第1正例エンティティと前記第1正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第1正例エンティティ−正例属性ペアの特徴を表す情報を当該第1正例エンティティ−正例属性ペアの素性の少なくとも一部とする属性識別用素性抽出部と、
    前記第1正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第1識別モデルを生成する属性識別学習部と、
    前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第1対象エンティティとして選択し、選択した当該テキストデータから当該第1対象エンティティと異なる文字列を第1対象属性として選択し、前記第1対象エンティティと前記第1対象属性との組を第1対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第1対象エンティティ−対象属性ペアの特徴を表す情報を当該第1対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第1対象エンティティ−対象属性ペアの素性を前記第1識別モデルに入力して当該第1対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る属性識別部と、
    前記第1対象エンティティ−対象属性ペアが含む前記第1対象属性の集合の部分集合を、属性修正候補の集合として選択する属性修正候補選択部と、
    前記属性修正候補の集合を出力する属性修正候補提示部と、
    前記属性修正候補の集合の何れかの要素を特定する属性修正情報が入力される属性修正情報取得部と、
    前記第1対象属性の集合から前記属性修正情報で特定される要素を除いた補集合に含まれる要素を、前記正例属性の集合の要素とする属性修正情報反映部と、
    を有するデータ抽出装置。
  2. 請求項1のデータ抽出装置であって、
    前記属性修正候補選択部は、前記第1対象エンティティ−対象属性ペアの集合が含む特定の要素に対する素性についての関連性の強さが第1基準を満たす他の要素の個数に対応する情報を、当該特定の要素である第1対象エンティティ−対象属性ペアの影響度とし、当該影響度に対応するスコアが第2基準を満たす第1対象エンティティ−対象属性ペアが含む前記第1対象属性の集合を前記属性修正候補の集合とする、
    ことを特徴とするデータ抽出装置。
  3. 請求項2のデータ抽出装置であって、
    前記属性修正情報反映部は、少なくとも、前記属性修正情報で特定される属性修正候補と、当該属性修正情報で特定される属性修正候補を含む第1対象エンティティ−対象属性ペアとの間での素性についての関連性の強さが第3基準を満たす他の第1対象エンティティ−対象属性ペアが含む属性修正候補とを除く、前記属性修正候補の集合の要素を、前記正例属性の集合に追加する、
    ことを特徴とするデータ抽出装置。
  4. 請求項2又は3のデータ抽出装置であって、
    前記素性についての関連性の強さは、前記素性の類似度の大きさである、
    ことを特徴とするデータ抽出装置。
  5. 請求項2又は3のデータ抽出装置であって、
    前記第1対象エンティティ−対象属性ペアの素性は複数の値の集合であり、
    前記第1対象エンティティ−対象属性ペアの集合が含む特定の要素と他の要素との間での前記素性についての関連性の強さは、当該他の要素の素性を前記第1識別モデルに入力して得られる情報と、当該他の要素の素性から当該特定の要素の素性と共通するものを除いたものを前記第1識別モデルに入力して得られる情報との違いの大きさである、
    ことを特徴とするデータ抽出装置。
  6. 請求項2から5の何れかのデータ抽出装置であって、
    前記エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報は、前記エンティティ−属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度であり、
    前記スコアは、さらに前記属性識別部で得られる前記信頼度に対応する、
    ことを特徴とするデータ抽出装置。
  7. 請求項2から6の何れかのデータ抽出装置であって、
    前記属性識別学習部は、前記第1正例エンティティ−正例属性ペアの集合を前記第1正例エンティティ−正例属性ペアの部分集合ごとに区分し、当該部分集合に属する前記第1正例エンティティ−正例属性ペアの素性を入力として当該部分集合にそれぞれ対応する前記第1識別モデルを生成し、
    前記属性識別部は、前記第1対象エンティティ−対象属性ペアの素性を前記部分集合にそれぞれ対応する前記第1識別モデルに入力し、前記部分集合ごとに当該第1対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアである確率を表す信頼度を得、
    前記スコアは、さらに前記部分集合ごとの前記信頼度に対応する情報のばらつきの大きさを表す情報に対応する、
    ことを特徴とするデータ抽出装置。
  8. 請求項1から7の何れかのデータ抽出装置であって、
    前記属性修正候補提示部から出力された前記属性修正候補の集合のうち、正例属性として不適切な要素を基準個数以上特定する前記属性修正情報が前記属性修正情報取得部に入力された場合に、前記属性修正候補選択部でより多くの要素からなる属性修正候補の集合を再び選択して前記属性修正候補提示部の処理と前記属性修正情報取得部の処理とをやり直し、
    前記属性修正候補提示部から出力された前記属性修正候補の集合のうち、正例属性として不適切な要素を前記基準個数以上特定しない前記属性修正情報が前記属性修正情報取得部に入力された場合に、前記属性修正情報反映部の処理を行う、
    ことを特徴とするデータ抽出装置。
  9. 請求項1から8の何れかのデータ抽出装置であって、
    前記正例エンティティの集合から選択した第2正例エンティティと前記正例属性の集合から選択した第2正例属性との組である第2正例エンティティ−正例属性ペアを生成し、前記テキストデータの集合から、前記第2正例エンティティと前記第2正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第2正例エンティティ−正例属性ペアの特徴を表す情報を当該第2正例エンティティ−正例属性ペアの素性の少なくとも一部とするエンティティ識別用素性抽出部と、
    前記第2正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第2識別モデルを生成するエンティティ識別学習部と、
    前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第2対象エンティティとして選択し、選択した当該テキストデータから当該第2対象エンティティと異なる文字列を第2対象属性として選択し、前記第2対象エンティティと前記第2対象属性との組を第2対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第2対象エンティティ−対象属性ペアの特徴を表す情報を当該第2対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第2対象エンティティ−対象属性ペアの素性を前記第2識別モデルに入力して当該第2対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得るエンティティ識別部と、
    前記第2対象エンティティ−対象属性ペアが含む前記第2対象エンティティの集合の部分集合を、エンティティ修正候補の集合として選択するエンティティ修正候補選択部と、
    前記エンティティ修正候補の集合を出力するエンティティ修正候補提示部と、
    前記エンティティ修正候補の集合の何れかの要素を特定するエンティティ修正情報が入力される属性修正情報取得部と、
    前記エンティティ修正候補の集合から前記エンティティ情報で特定される要素を除いた補集合に含まれる要素を、前記正例エンティティの集合に追加するエンティティ修正情報反映部と、
    を有するデータ抽出装置。
  10. 請求項9のデータ抽出装置であって、
    前記第2正例エンティティ−正例属性ペアの素性は、前記第2正例エンティティ及び前記第2正例属性を含む文字列であって当該第2正例エンティティ及び当該第2正例属性を含むテキストデータに含まれるものと当該第2正例エンティティ及び当該第2正例属性との関係を表す情報を含み、
    前記第2対象エンティティ−対象属性ペアの素性は、前記第2対象エンティティ及び前記第2対象属性を含む文字列であって当該第2対象エンティティ及び当該第2対象属性を含むテキストデータに含まれるものと当該第2対象エンティティ及び当該第2対象属性との関係を表す情報を含む、
    ことを特徴とするデータ抽出装置。
  11. 請求項1から10の何れかデータ抽出装置であって、
    前記第1正例エンティティ−正例属性ペアの素性は、前記第1正例エンティティ及び前記第1正例属性を含む文字列であって当該第1正例エンティティ及び当該第1正例属性を含むテキストデータに含まれるものと当該第1正例エンティティ及び当該第1正例属性との関係を表す情報を含み、
    前記第1対象エンティティ−対象属性ペアの素性は、前記第1対象エンティティ及び前記第1対象属性を含む文字列であって当該第1対象エンティティ及び当該第1対象属性を含むテキストデータに含まれるものと当該第1対象エンティティ及び当該第1対象属性との関係を表す情報を含む、
    ことを特徴とするデータ抽出装置。
  12. 請求項1から11の何れかのデータ抽出装置であって、
    前記正例エンティティを含むテキストデータの集合から当該正例エンティティ以外の何れかの文字列を正例属性候補として選択し、前記正例エンティティを含む文字列の集合内に当該正例属性候補が含まれる頻度とすべてのテキストデータからなる集合内に当該正例属性候補が含まれる頻度との違いの大きさを表す指標が大きいものから所定数の正例属性候補を前記正例属性の初期値とする初期属性集合生成部をさらに有する、
    ことを特徴とするデータ抽出装置。
  13. 請求項1から12の何れかのデータ抽出装置であって、
    前記属性識別部は、
    前記属性識別学習部で前記教師あり学習データとして用いられた前記第1正例エンティティ−正例属性ペアの素性のうち、それらから生成された前記第1識別モデルへの影響度の大きさを表す指標が特定の基準よりも大きな素性を選択し、選択した素性に対応する文字列を含む前記テキストデータを選択し、当該選択したテキストデータが含む文字列を前記第1対象エンティティ及び前記第1対象属性とする、
    ことを特徴とするデータ抽出装置。
  14. 抽出対象の文字列である正例エンティティの集合から選択した第1正例エンティティと前記正例エンティティの属性を表す文字列である正例属性の集合から選択した第1正例属性との組である第1正例エンティティ−正例属性ペアを生成し、テキストデータの集合から、前記第1正例エンティティと前記第1正例属性との組を含む文字列を選択し、選択した当該文字列に対する前記第1正例エンティティ−正例属性ペアの特徴を表す情報を当該第1正例エンティティ−正例属性ペアの素性の少なくとも一部とする属性識別用素性抽出ステップと、
    前記第1正例エンティティ−正例属性ペアの素性を教師あり学習データとした学習処理によって、任意の文字列であるエンティティと当該エンティティの属性との組であるエンティティ−属性ペアの素性を入力として当該エンティティ−属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を出力する関数である第1識別モデルを生成する属性識別学習ステップと、
    前記テキストデータの集合から何れかの前記テキストデータを選択し、選択した当該テキストデータが含む文字列を第1対象エンティティとして選択し、選択した当該テキストデータから当該第1対象エンティティと異なる文字列を第1対象属性として選択し、前記第1対象エンティティと前記第1対象属性との組を第1対象エンティティ−対象属性ペアとし、選択した当該テキストデータ内での前記第1対象エンティティ−対象属性ペアの特徴を表す情報を当該第1対象エンティティ−対象属性ペアの素性の少なくとも一部とし、当該第1対象エンティティ−対象属性ペアの素性を前記第1識別モデルに入力して当該第1対象エンティティ−対象属性ペアが正例エンティティ−正例属性ペアであるかを識別するための情報を得る属性識別ステップと、
    前記第1対象エンティティ−対象属性ペアが含む前記第1対象属性の集合の部分集合を、属性修正候補の集合として選択する属性修正候補選択ステップと、
    前記属性修正候補の集合を出力する属性修正候補提示ステップと、
    前記属性修正候補の集合の何れかの要素を特定する属性修正情報が入力される属性修正情報取得ステップと、
    前記第1対象属性の集合から前記属性修正情報で特定される要素を除いた補集合に含まれる要素を、前記正例属性の集合の要素とする属性修正情報反映ステップと、
    を有するデータ抽出方法。
  15. 請求項1から13の何れかのデータ抽出装置の各部としてコンピュータを機能させるためのプログラム。
JP2011000935A 2011-01-06 2011-01-06 データ抽出装置、データ抽出方法、及びプログラム Expired - Fee Related JP5379812B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011000935A JP5379812B2 (ja) 2011-01-06 2011-01-06 データ抽出装置、データ抽出方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011000935A JP5379812B2 (ja) 2011-01-06 2011-01-06 データ抽出装置、データ抽出方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2012141912A true JP2012141912A (ja) 2012-07-26
JP5379812B2 JP5379812B2 (ja) 2013-12-25

Family

ID=46678114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011000935A Expired - Fee Related JP5379812B2 (ja) 2011-01-06 2011-01-06 データ抽出装置、データ抽出方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5379812B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146003A (ja) * 2011-01-07 2012-08-02 Nippon Telegr & Teleph Corp <Ntt> データ抽出装置、データ抽出方法、及びプログラム
JP2019215705A (ja) * 2018-06-13 2019-12-19 日本放送協会 情報判定モデル学習装置およびそのプログラム
CN110717880A (zh) * 2018-07-11 2020-01-21 杭州海康威视数字技术股份有限公司 一种缺陷检测方法、装置及电子设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG200800256031; 相澤 彰子: '大規模テキストコーパスを用いた語の類似度計算に関する考察' 情報処理学会論文誌 第49巻 第3号, 20080315, 1426-1436ページ, 社団法人情報処理学会 *
CSNG201001013011; 貞光 九月: 'トピックと属性を用いたブートストラップ法に基づく語彙獲得' 情報処理学会研究報告 平成22年度▲4▼ [CD-ROM] , 20101215, 1-8ページ, 一般社団法人情報処理学会 *
JPN6013038225; 貞光 九月: 'トピックと属性を用いたブートストラップ法に基づく語彙獲得' 情報処理学会研究報告 平成22年度▲4▼ [CD-ROM] , 20101215, 1-8ページ, 一般社団法人情報処理学会 *
JPN6013038227; 相澤 彰子: '大規模テキストコーパスを用いた語の類似度計算に関する考察' 情報処理学会論文誌 第49巻 第3号, 20080315, 1426-1436ページ, 社団法人情報処理学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146003A (ja) * 2011-01-07 2012-08-02 Nippon Telegr & Teleph Corp <Ntt> データ抽出装置、データ抽出方法、及びプログラム
JP2019215705A (ja) * 2018-06-13 2019-12-19 日本放送協会 情報判定モデル学習装置およびそのプログラム
JP7153477B2 (ja) 2018-06-13 2022-10-14 日本放送協会 情報判定モデル学習装置およびそのプログラム
CN110717880A (zh) * 2018-07-11 2020-01-21 杭州海康威视数字技术股份有限公司 一种缺陷检测方法、装置及电子设备

Also Published As

Publication number Publication date
JP5379812B2 (ja) 2013-12-25

Similar Documents

Publication Publication Date Title
RU2628431C1 (ru) Подбор параметров текстового классификатора на основе семантических признаков
RU2628436C1 (ru) Классификация текстов на естественном языке на основе семантических признаков
WO2021093755A1 (zh) 问题的匹配方法及装置、问题的回复方法及装置
US9846841B1 (en) Predicting object identity using an ensemble of predictors
US20140229476A1 (en) System for Information Discovery &amp; Organization
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
JP2022024102A (ja) 検索モデルのトレーニング方法、目標対象の検索方法及びその装置
KR20200071877A (ko) 자율 증강형 반복 학습을 이용한 정보 추출 방법 및 시스템
JP5379812B2 (ja) データ抽出装置、データ抽出方法、及びプログラム
JP5812534B2 (ja) 質問応答装置、方法、及びプログラム
US20240005153A1 (en) Systems and methods for synthetic data generation using a classifier
JP5379813B2 (ja) データ抽出装置、データ抽出方法、及びプログラム
JP5542732B2 (ja) データ抽出装置、データ抽出方法、及びそのプログラム
JP5291645B2 (ja) データ抽出装置、データ抽出方法、及びプログラム
KR102221263B1 (ko) 뇌기능 지식 베이스 자가 성장 시스템 및 방법
JP2015018372A (ja) 表現抽出モデル学習装置、表現抽出モデル学習方法、および、コンピュータ・プログラム
US11755671B2 (en) Projecting queries into a content item embedding space
JP4328362B2 (ja) 言語解析モデル学習装置、言語解析モデル学習方法、言語解析モデル学習プログラム及びその記録媒体
CN113869034B (zh) 基于强化依赖图的方面情感分类方法
JP2010267017A (ja) 文書分類装置、文書分類方法および文書分類プログラム
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
JP7330691B2 (ja) 語彙抽出支援システムおよび語彙抽出支援方法
JP2021163477A (ja) 画像処理方法及び装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム
JP5342574B2 (ja) トピックモデリング装置、トピックモデリング方法、及びプログラム
Lee et al. Automatic stop word generation for mining software artifact using topic model with pointwise mutual information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130927

R150 Certificate of patent or registration of utility model

Ref document number: 5379812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees