Upload
akihiro-kameda
View
185
Download
1
Embed Size (px)
Citation preview
Joint Extraction of Events and Entities within a Document ContextBishan Yang, Tom MitchellCarnegie Mellon University の解説
亀田 尭宙(京都大学 地域研究統合情報センター)
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. ...”
イベントとしてモデル化
“Joint” Extraction of Events and Entities • イベント内の構造、イベント間の関連、イベントに現れるエンティティの相関を考慮できる!
の確率 エンティティの確信度 by CRFイベントのラベルペアの確率
この最大化問題をどうやって解くか• 緩和した ILP(Integer Linear Programming) の問題と捉えられる• AD3 というソルバー使いました
以上 https://github.com/bishanyang/EventEntityExtractor
に実装が公開されています。
3.1
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. ...”
3.1 Learning Within-event Structures
t ar
0/1 を出力するFeature function
Θ の学習は L-BFGS で• こっちは少し説明ある
• 実際のコードでは CRF として学習
3.2
3.2 Learning Event-Event Relations
• 式の形は同じ。特徴関数の重みづけ• Trigger 単独の特徴は先ほどと同じ• それに加え、同文内 or 共参照と見做された Trigger 同士について
• 係り受けの関係にあるか• 主語か目的語を共有しているか• 正則化したら( lemma )同じか• FrameNet 上で同じ Semantics を与えられているかを見てる
• 学習はまた L-BFGS
3.3
3.3 Entity Extraction• CRF• 語とその POS タグ• 前後2語• 大文字・小文字・数字などの文字種• Wikipedia から生成した地名辞書にマッチするか• 別途学習した word embeddings (Mikolov et al., 2013)
• これは 3.1 の Tree の推測の際の Entity の候補作成にも使われている( See 4 章) Trigger の候補生成も同様だが地名辞書だけ除いた。
実験• ACE2005 コーパス、 Train/Dev/Test の切り方は先行研究に合わせた
Entity と Trigger の候補はそれぞれ50 個と 10 個生成し、それぞれ正解の92.3% と 96.3% をカバーしていた。
結果
• 上二つが既存研究。 WithinEvent が 3.1 、 JointEventEntityが Joint のやつ。有意に負けているのは無いが、だいたい勝っていてそのうち3つが有意という満足な結果。 F 値は全勝。• それ以外の結果表もそこそこ満足なので割愛します。
エラー分析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. 比喩、熟語、皮肉
まとめ• イベント内の構造、イベント間の関連、イベントに現れるエンティティの相関を考慮できる
• 個々は L-BFGS(for CRF) で、全体は AD3(for ILP) で。• このタスクは未だに人手な部分が多い?
本資料は第 8回最先端 NLP 勉強会の発表資料です。国立情報学研究所公募型共同研究「地域研究における論文と史料からの知識抽出」のサーベイとして行っています。引用画像は表題の論文のものです。
コード読むときの参考になりそうな情報(以下 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 として訓練されていることが分かる