18
Joint Extraction of Events and Entities within a Document Context Bishan Yang, Tom Mitchell Carnegie Mellon University ののの のの のの のののの のののののののののののの

"Joint Extraction of Events and Entities within a Document Context"の解説

Embed Size (px)

Citation preview

Page 1: "Joint Extraction of Events and Entities within a Document Context"の解説

Joint Extraction of Events and Entities within a Document ContextBishan Yang, Tom MitchellCarnegie Mellon University の解説

亀田 尭宙(京都大学  地域研究統合情報センター)

Page 2: "Joint Extraction of Events and Entities within a Document Context"の解説

Event Extraction“On Thursday, there was a massive U.S. aerial bombardment in which more than 300 Tomahawk cruise missiles rained down on Baghdad. Earlier Saturday, Baghdad was again targeted. ...”

イベントとしてモデル化

Page 3: "Joint Extraction of Events and Entities within a Document Context"の解説

“Joint” Extraction of Events and Entities • イベント内の構造、イベント間の関連、イベントに現れるエンティティの相関を考慮できる!

の確率 エンティティの確信度 by CRFイベントのラベルペアの確率

Page 4: "Joint Extraction of Events and Entities within a Document Context"の解説

この最大化問題をどうやって解くか• 緩和した ILP(Integer Linear Programming) の問題と捉えられる• AD3 というソルバー使いました

以上 https://github.com/bishanyang/EventEntityExtractor

に実装が公開されています。

Page 5: "Joint Extraction of Events and Entities within a Document Context"の解説

3.1

Page 6: "Joint Extraction of Events and Entities within a Document Context"の解説

3.1 Learning Within-event Structures

{33 from ACE + None}

{28 + None}

{9 + None}

詳しくはhttps://www.ldc.upenn.edu/collaborations/past-projects/ace/annotation-tasks-and-specificationsおよび、 /model 以下のモデルデータ例 : entity_mention_model…, B_FAC, B_GPE, B_LOC, B_ORG, B_PER, B_TIME, B_VALUE, B_VEH, B_WEA( GPE = Geographical/Social/Political Entities )

“On Thursday, there was a massive U.S. aerial bombardment in which more than 300 Tomahawk cruise missiles rained down on Baghdad. Earlier Saturday, Baghdad was again targeted. ...”

Page 7: "Joint Extraction of Events and Entities within a Document Context"の解説

3.1 Learning Within-event Structures

t ar

Page 8: "Joint Extraction of Events and Entities within a Document Context"の解説

0/1 を出力するFeature function

Page 9: "Joint Extraction of Events and Entities within a Document Context"の解説

Θ の学習は L-BFGS で• こっちは少し説明ある

• 実際のコードでは CRF として学習

Page 10: "Joint Extraction of Events and Entities within a Document Context"の解説

3.2

Page 11: "Joint Extraction of Events and Entities within a Document Context"の解説

3.2 Learning Event-Event Relations

• 式の形は同じ。特徴関数の重みづけ• Trigger 単独の特徴は先ほどと同じ• それに加え、同文内 or 共参照と見做された Trigger 同士について

• 係り受けの関係にあるか• 主語か目的語を共有しているか• 正則化したら( lemma )同じか• FrameNet 上で同じ Semantics を与えられているかを見てる

• 学習はまた L-BFGS

Page 12: "Joint Extraction of Events and Entities within a Document Context"の解説

3.3

Page 13: "Joint Extraction of Events and Entities within a Document Context"の解説

3.3 Entity Extraction• CRF• 語とその POS タグ• 前後2語• 大文字・小文字・数字などの文字種• Wikipedia から生成した地名辞書にマッチするか• 別途学習した word embeddings (Mikolov et al., 2013)

• これは 3.1 の Tree の推測の際の Entity の候補作成にも使われている( See 4 章) Trigger の候補生成も同様だが地名辞書だけ除いた。

Page 14: "Joint Extraction of Events and Entities within a Document Context"の解説

実験• ACE2005 コーパス、 Train/Dev/Test の切り方は先行研究に合わせた

Entity と Trigger の候補はそれぞれ50 個と 10 個生成し、それぞれ正解の92.3% と 96.3% をカバーしていた。

Page 15: "Joint Extraction of Events and Entities within a Document Context"の解説

結果

• 上二つが既存研究。 WithinEvent が 3.1 、 JointEventEntityが Joint のやつ。有意に負けているのは無いが、だいたい勝っていてそのうち3つが有意という満足な結果。 F 値は全勝。• それ以外の結果表もそこそこ満足なので割愛します。

Page 16: "Joint Extraction of Events and Entities within a Document Context"の解説

エラー分析1. “At least three members of a family ... were hacked to

death ...”, WordNet と Embedding で補完してはいるけど、めずらしい用法過ぎて学習できない。曖昧性解消も大事。

2. “She is being held on 50,000 dollars bail on a charge of first-degree reckless homicide ...”,

長距離の係り受け。3. 比喩、熟語、皮肉

Page 17: "Joint Extraction of Events and Entities within a Document Context"の解説

まとめ• イベント内の構造、イベント間の関連、イベントに現れるエンティティの相関を考慮できる

• 個々は L-BFGS(for CRF) で、全体は AD3(for ILP) で。• このタスクは未だに人手な部分が多い?

本資料は第 8回最先端 NLP 勉強会の発表資料です。国立情報学研究所公募型共同研究「地域研究における論文と史料からの知識抽出」のサーベイとして行っています。引用画像は表題の論文のものです。

Page 18: "Joint Extraction of Events and Entities within a Document Context"の解説

コード読むときの参考になりそうな情報(以下 2016/7/20 commit abd49936872e3119326b251ff2f7ee4661237ad6 について)• L-BFGS 単独で使ってるように書いていても実際は CRF として訓練しているよう• `event_extractor.cpp` がメインなのでそこから読めばいいが、訓練手続きの一部は void train(Param param) の中でコメントアウトされている。

• 例えばそこから辿ると• E の学習が TreeCRFModel.cpp の ` TreeCRFLearner::Train`• R の学習が SequenceModel.cpp の `CRFLearner::TrainEventSeq`みたいにそれぞれが CRF として訓練されていることが分かる