Joint Inference of Named Entity Recognition and Normalization for Tweets (ACL 2012)
Xiaohua Liu, Ming Zhou, Furu Wei, Zhongyang Fu, Xiangyang Zhou
proceeding: pdf
解いている問題
tweet (英語のtweetに限定) の集合が与えられたときに
- tweetに対して固有表現を指しているテキストを同定し,あらかじめ決められたラベル {PERSON, ORGANIZATION, PRODUCT, LOCATION} を割り当てる.
- これらの同定されたテキストに対して名寄せをおこなう.
-
+ 名寄せは,一番単語数が多い表現にまとめる
+ 最大の単語数の表現が複数あればWikipediaにある表現を採用
+ PERSONと識別された三つの表現"Gaga", "Lady Gaaaga", "Lady Gaga"は"Lady Gaga"にまとめる.
アプローチ
- 固有表現認識 (NER) モデルの学習の際に,固有表現の名寄せ (NEN) モデルの学習も同時に行うことでお互いの精度を上げる
-
+ tweetは,エンティティに対していろいろな表現をされる.
+ e.g. "Anne Gronloh"というエンティティには"Mw.,Gronloh", "Anneke Kronloh", "Mevrouw G"など
-
+ NERモデルにより"Alex"と"Alex Russo"がともにPERSONであることが識別できれば,NENモデルは"Alex"を"Alex Russo"に名寄せできる.
-
+ NENモデルが"Burger King"と'burger king"が別のエンティティを指していると識別できればNERモデルはこれらに異なるラベルを割り当てられる.
-
+ skip-chain CRFと似たモデルだけど,tweet mのi番目の単語とtweet nのj番目の単語が同じエンティティを指しているかを表すnormalization変数があるのが違う.
+ ラベルは{B, I, L, O, U}
+ 一つ目のtweetに含まれる"Gaga"と二つ目のtweetに含まれる"Lady Gaga"にPERSONが割り当てられ,一つ目のtweetに含まれる"Gaga"と二つ目のtweetに含まれる"Gaga"が同一のエンティティを指していると識別できれば"Gaga"と"Lady Gaga"は同じものを指している
+ (CRFの復習) 重みを更新するときの,対数裕度関数を重み変数λで偏微分したときに二つの項がでてくる.
+ 初項は正解となるラベルが与えられたときの,素性関数kの訓練データに対しての合計値
+ 第二項は現在のパラメータによって決定されるモデルによる素性関数kの期待値の合計値
+ 初項が第二項よりも大きいほど,重みλ_kは大きくなるし,初項が第二項よりも小さいほど重みλ_kは小さくなる.
+ skip-chainなので,素性関数は隣り合ったラベルの組み合わせに加えて,隣り合っていないラベルの組み合わせも見ることができるし,このモデルでは他のツイートの単語につくラベルとの関係も見る.
複数のtweetを同時に考慮することの利点
- “… Bobby Shaw you don’t invite the wind…“と”… I own yah! Loool bobby shaw…”
-
+ "Bobby Shaw"をPERSONと識別することは比較的簡単.
+ 一つ目のtweetの"you"が,二つ目のtweetの'bobby shaw"がPERSONであることの手がかりとなる.
ラベルの候補の絞り込み
- 外部資源から固有表現を取ってきて辞書を作っておく.
- tweetの中に,辞書に含まれる固有表現の一部と一致していれば,ラベルの候補の集合へその固有表現のラベルを加える
-
+ "new york"という句が出てきたとき,辞書にある"New York City"と"New York Times"と一致する.
+ "new"には,"B-LOCATION", "B-ORGANIZATION","york"には"I-LOCATION", "I-ORGANIZATION"がラベルの候補の集合にそれぞれ追加される.
normalization変数zもルールである程度決めてしまう
- 同じtweet mで,表層的に同じ語があれば,それらは同じエンティティについて述べていると考え,z^{ij}_{mm}=1とする.
- tweet mとtweet nのcos類似度が0.8以上なら,すべてi, jに対してのz^{ij}_{mn}=1
- tweet mとtweet nのcos類似度が0.3以下なら,すべてi, jに対してのz^{ij}_{mn}=0
素性
- 大文字かどうか,接頭辞,接尾辞,ストップワードかどうかなど
- 基本形,out-of-vocabularyかどうか,ハッシュタグかどうかなど
- ラベル候補の絞り込み時にラベル候補の集合に何か追加されているかどうか,一番追加されているラベルは何か
感想・疑問点
- Discussionで,エラーの大半がスラング,略語だと書かれているけど,これを解決することで提案手法がTwitterのデータを扱う上での強みとなりそうだと思った.