固有表現抽出について
2018/07/30
東京大学工学系研究科技術経営戦略学専攻 M1
蕭 喬仁
固有表現抽出とは
2
[定義]
文章中から組織名や国名などの特定のカテゴリの語”固有表現”を抽出するタスク。
[目的]
様々な固有表現を計算機によって自動的に抽出したいから。
現実のテキストには大量の固有表現が含まれているが、辞書に登録されていない固有表現が存在する
場合、形態素解析などを行う時に誤りを引き起こすから。
そのために様々な固有表現を辞書に登録する必要があるが、固有表現は時事刻々新しいものが生まれ、
その数も膨大なので、人手でそれらを登録することは困難であるから。
参考論文
1. Sharnagat Rahul, Named Entity Recognition: A Literature Survey, Bombay:Indian Institute of
Technology, 2014.
3
固有表現抽出の起源
4
 1995年に開かれた第六回Message
Understanding ConferenceにてSundheim
が提案した。
 この時に提案された手法では固有表現
を以下に分けていた。
ENAMEX: 人物、組織、場所
TIMEX : 日付、時間
NUMEX : 金額、比率、量
固有表現抽出の起源
5
 以降、様々なドメインの固有表現アノテーションが提言さ
れてきた。
 Lee et al. (2006) は左図のように階層的な固有表現の分
類を提唱している。
 ニューヨーク大学の関根らも同様な固有表現の分類を提
唱している。
 https://sites.google.com/site/extendednamedentity711/
 固有表現のクラスを予測するものあれば、BIO, BIOESのタ
グギングをするタスクもある
固有表現抽出のアプローチ
6
 教師あり学習、半教師あり学習、教師なし学習に大別される。
 教師あり学習
HMM、エントロピー最大化モデル、SVM、決定木、CRF
 半教師あり学習
ブートストラッピング法
 教師なし学習
統計処理
教師あり学習-HMM
7
 隠れマルコフモデルはBike et al. (1999)によって英語の固有
表現抽出に初めて適用された。
 各単語に固有表現かどうかのタグを付与していき単語列(W)
を与えた時に最も確率の高い固有表現列(NC)を探す。
𝑚𝑎𝑥 Pr 𝑁𝐶 𝑊 = 𝑚𝑎𝑥
𝑡=1
𝑇
Pr(𝑁𝐶𝑡|𝑊𝑡)Pr(𝑁𝐶𝑡−1|𝑊𝑡−1)
 総当たりで探索すると組み合わせ爆発してしまうが、Bikeらは
IdentiFinderという効率的な計算手法を開発。MUC-6 datasetに
対してaccuracy 94.9%を達成
 その後、Zhou and Su (2002)が単語とタグの自己相互情報量
(PMI)を用いた修正を行い、MUC-6 datasetで96.6%, MUC-7
datasetで94.1。
𝑃𝑀𝐼 𝑇, 𝑊 = 𝑙𝑜𝑔
Pr(𝑇, 𝑊)
Pr 𝑇 Pr(𝑊)
𝑀𝐼 𝑇, 𝑊 =
𝑇,𝑊
Pr 𝑥, 𝑦 𝑙𝑜𝑔
Pr(𝑇, 𝑊)
Pr 𝑇 Pr(𝑊)
教師あり学習 - エントロピー最大化モデル
8
 訓練データから確率的なモデルを推定する時に、与えられた
制約の下でのエントロピーが最大になるようなモデルを推定す
る手法。対数線形モデルとも言われる、
 Curran and Clark (2003)はラグランジュの未定乗数法を用いて
左のように定式化し、ソフトマックス回帰に帰着させ、ビーム
サーチを用いて固有表現抽出タスクを行った。
 CoNLL-2003のデータセットに対して、英語で84.49%、ドイツ語
で68.48%を記録した。
𝑃𝑟 𝑦|𝑥 =
1
𝑍Λ
exp
𝑖=1
𝑛
𝜆𝑖 𝑓𝑖 𝑥, 𝑦
𝑍Λ =
𝑥,𝑦
exp
𝑖=1
𝑛
𝜆𝑖 𝑓𝑖 𝑥, 𝑦
𝑃𝑟 𝑇, 𝑊 =
𝑖=1
𝑛
Pr(𝑇𝑖|𝑤1 … 𝑤 𝑛)
教師あり学習 – SVM (SVC)
9
 McNamee and Mayfield (2002) は前後の単語情報やそれらの
文字の種類,品詞と いった情報を特徴量として8806もの特徴
量を製作してサポートベクターマシンで固有表現抽出を試みた。
 CoNLL-2002のデータセットに対してスペイン語で60.97、オラン
ダ語で59.92を記録している。
教師あり学習 - CRF
10
 CRF (Conditional Random Fields)はパターン認識の分野で
Lafferty et al. (2001 )が提唱したもので、全体で最適なタグ付け
を行うために考えられた手法である。
 𝜆 𝑘に対して、確率的勾配法で対数尤度最大化を行えば良い
が、sのとりうる組み合わせが多数あるので、Forward-Backward
アルゴリズムなどを使って効率的に計算する。
 McCallum and Li (2003)はCoNLL-2003 datasetに対して、英語
で84.04%、ドイツ語で68.11%を記録している。
𝑃𝑟 𝑆 𝑂 =
1
𝑍 𝑜
exp
𝑡=1
𝑇
𝑘=1
𝐾
𝜆 𝑘 𝑓𝑘 𝑠𝑡−1, 𝑠𝑡, 𝑜, 𝑡
𝑍0 =
𝑠 ∈𝑆
exp
𝑡=1
𝑇
𝑘=1
𝐾
𝜆 𝑘 𝑓𝑘 𝑠𝑡−1, 𝑠𝑡, 𝑜, 𝑡
固有表現抽出で用いられる特徴量
11
 全ての教師あり学習で肝であったのは特徴量エンジニアリン
グであった。
 単語レベルの特徴量と辞書を用いた特徴量の二種がある
 Boolean 特徴量
なんらかのルールに基づいて真偽値を取得
 Numeric 特徴量
文字の長さや頻度等を取得
 Nominal 特徴量
クラス分類をして取得、文字そのものを扱う場合も
𝑃𝑟 𝑦|𝑥 =
1
𝑍Λ
exp
𝑖=1
𝑛
𝜆𝑖 𝑓𝑖 𝑥, 𝑦
𝑍Λ =
𝑥,𝑦
exp
𝑖=1
𝑛
𝜆𝑖 𝑓𝑖 𝑥, 𝑦
𝑃𝑟 𝑆 𝑂 =
1
𝑍 𝑜
exp
𝑡=1
𝑇
𝑘=1
𝐾
𝜆 𝑘 𝑓𝑘 𝑠𝑡−1, 𝑠𝑡, 𝑜, 𝑡
𝑍0 =
𝑠 ∈𝑆
exp
𝑡=1
𝑇
𝑘=1
𝐾
𝜆 𝑘 𝑓𝑘 𝑠𝑡−1, 𝑠𝑡, 𝑜, 𝑡
単語レベルの特徴量
12
 大文字か小文字か
McDonald, DAIKIN, SVM, CNN
 句読点を含んでいるかどうか
Prof. Sakata, O’Reilly,
 数字を含んでいるか
2018, 10kg, 2000’s, 35th
 文字の種類
Venezia, 5000兆円
 接頭辞や接尾辞
-ist, -pur,
単語レベルの特徴量
13
 品詞
各単語が名詞なのか形容詞なのか
 関数
n-gram
小文字化、大文字化
変換 (ex. 大文字をA, 小文字をB, 数字をC)
単語長、フレーズ長
辞書を用いた特徴量
14
 あらかじめ固有表現になりやすい単語のリストを使用する、
 対象単語が辞書に登録されている単語に一致する必要があるため以下
のような処理を施すと良いとされている。
複数形や過去形は統一する
researcher vs researchers,
数edit-distanceの不一致は許す
WHO vs WTO, SWAROVSKI vs SWAROFSKI
発音が似ているものは同じとする(Soundexアルゴリズムを使用)
Lewinskey (soundex=1520) vs Lewinsky(soundex=1520)
参考論文
1. Shen et al. (2018) の「Deep Active Learning For Named Entity」 @ ICLR2018
15
深層学習の登場
16
 ぶっちゃけ特徴量エンジニアリングがめんどくさい。
接尾辞や接頭辞、品詞などは言語によって異なるので、
言語横断的なモデルが作れない
辞書を持ちいた特徴量も言語によって異なる辞書を使う
必要がある
 Collobert et al. (2011)がCNNによる固有表現抽出を初めて提案。
 最近はBi-LSTMとCRFを組み合わせた手法が主流。
 Huang et al. (2015)の手法とLample et al. (2016)の手法を紹介
Bidirectional LSTM-CRF Models for Sequence Tagging
17
 LSTMとCRFの組みわせによって固有表現抽出タスクを試みた
最初の研究。
 Bi-LSTMとCRFを組み合わせることでPOS, chunking, 固有表現
抽出タスクでSOTAを達成した。
単語レベルのembeddingと特徴両エンジニアリングによって得
られる特徴量の両方を組み合わせて予測を行なっている。
whether has non initial capital letters
whether has punctuation
letter prefixes and suffixes (with window size of 2 to 5)…
 結局特徴量エンジニアリングをしているのでありがたみ浅い
Neural Architectures for Named Entity Recognition
18
 単語ベースのBi-LSTMの出力とCRFを組み合わせる。
 単語ベースのBi-LSTMの入力は「文字レベルのBi-LSTMから得
られる単語の分散表現」と「学習済みの単語の分散表現」を結
合させたものを使用する。
英語ではほぼSOTA, 英語以外のドイツ語、スペイン語、オラン
ダ語ではSOTAを記録した。
 英語では文字レベルのembeddingの効果は薄かったが、他
の3言語では大きく精度が向上した。
 特徴量エンジニアリング無しなのでありがたみ深い
ベストなアーキテクチャーは?
19
 Lample et al. の比較とPeirsman のブログ「Named Entity
Recognition and the Road to Deep Learning」の比較。
 Bi-LSTMは使った方がよさそう。
 学習済みの分散表現もかなり効く。
 文字レベルのembeddingとCRFはそこまで大きな効果をも
たらさない?
http://nlp.town/blog/ner-and-the-road-to-deep-learning/
最近の動向
20
 Shen et al. (2018) の「Deep Active Learning For Named
Entity」 @ ICLR2018 が詳しい。
CNNをLSTMやGRUに変えたり。
特徴量エンジニアリングを文字ベースDNNに置
換したり。
最近流行りのDilated CNN使ったり。
 二つの論点
だいだいCRF使ってない?
そんなに大量にデータあるの?
https://arxiv.org/pdf/1707.05928.pdf
Deep Active Learning For Named Entity
21
 CRFをLSTMに置換して訓練時間を短縮
 Active Learning を適用することでデータ数
を約1/4にしながらも、ほぼSOTAを達成。
[感想]
時系列からの特徴量抽出はもはやLSTMの専
売特許ではなく、出力が次の出力に影響を与
える場合にのみ使えば良さそう。
CRFを完全にだいたいするためには出力も
BiLSTMにするべきでは?
Active Learning
22
[着想]
アノテーションは面倒だしコストもかかるなので効率化が
求められる。
固有表現等ののアノテーションは平易なニュー
ス1つでも1時間半以上かかる。 (Settles+ 2008)
[仮定]
全学習データの中から適切にサンプルを選んで学習可
能な時、学習機の性能は向上する。
[基本方針]
アノテーションの内データから次にアノテーションをする
べきデータを選び出して、新たなラベルを要求する。 http://burrsettles.com/pub/settles.activelearning.pdf
Deep Active Learning
23
 かつての、Active Learningは少量のデータ
セットで学習がそこそこうまくいくことが前提と
されていた。
 Wang et al. (2016)が画像分類をCNNで解く
タスクにおいて初めてActive Learningを用いた。
学習機の確信度が低いものを優先的
に選ぶ + 確信度の高いものは除外
 Zhang et al. (2017)は文書分類をCNNで解く
タスクに関してActive Learningを用いた。
埋め込み空間に大きな影響を与える
サンプルを優先的に選ぶ。
 Gal et al. (2017)は深層学習用にベイジアン
ベースのサンプリング手法を提案
https://arxiv.org/pdf/1701.03551.pdf
https://arxiv.org/pdf/1606.04212.pdf
Deep Active Learning For Named Entity
24
 Shen et al. (2018)は系列タグ付け問題に対して
Active Learningを用いた。
Least Confidence
Maximum Normalized Log-Probability
Bayesian Active Learning by Disagreement
SUBMODular optimization problem
https://arxiv.org/pdf/1707.05928.pdf
THANK YOU FOR LISTENING
ANY DISCUSSION?
APPENDIX

固有表現抽出について

Editor's Notes

  • #4 この2点に関してフィードバックを得たい どちらが嬉しいか
  • #5 ここで一挙に比較します。 Top500まではどの手法も同じ程度全額出金社を検出できていて 500~2000以降は会二乗分布基準がぶっちぎります。 ただし, 2000になると逆転して, 100%犬種可能になります。 その中でもアクセスパス基準は優秀です。
  • #11 最大エントロピー法等では、部分ごとに最適なものを選ぶために、全体として最適かどうかがほしょうされない。 Time flies like an arrow.
  • #12 辞書ベースに関しては
  • #13 ここで一挙に比較します。 Top500まではどの手法も同じ程度全額出金社を検出できていて 500~2000以降は会二乗分布基準がぶっちぎります。 ただし, 2000になると逆転して, 100%犬種可能になります。 その中でもアクセスパス基準は優秀です。
  • #14 ここで一挙に比較します。 Top500まではどの手法も同じ程度全額出金社を検出できていて 500~2000以降は会二乗分布基準がぶっちぎります。 ただし, 2000になると逆転して, 100%犬種可能になります。 その中でもアクセスパス基準は優秀です。
  • #16 この2点に関してフィードバックを得たい どちらが嬉しいか
  • #17 CollobertはMikolovらがword2vecを発表する前から、N
  • #22 LSTMとかも結局近いところの重みしか見てないとかあるし。
  • #24 上はIEEE, 下はAAAI
  • #25 上はIEEE, 下はAAAI