-
Notifications
You must be signed in to change notification settings - Fork 0
038_Distant_Learning_for_Entity_linking(ACL19)
Distant LEarning for Entity Linking with Automatic Noise Detection
submitted at ACL2019
- Entity Linking
- Distant Supervision下でのEntity Linkingの定式化
* gold entity を含むか含まないかのclassifier をcandidate bag featureをうまく表すことで設置。
-
解説
-
Distant LEarning for Entity Linking with Automatic Noise Detection
-
annotationが希少な場合のELについて議論する。例えばdomain specificなELがそれに該当する。
-
knowledge base及び該当ドメインのnlabeled documentのみで、どのようにしてLinkerを学習させるかについて、示す。
-
multi-instance learning問題としてこれを解く。最初のnoisy labelについては、mention-entity間のsurface matchを頼る。
-
surface matchによって代理のラベルを得られるが、もちろんこのラベルはnoisyであり、noiseラベルを除去しなくてはならない。そのために、noise除去classifierを導入する。
-
本研究では、denoising及びlinkerを同時学習するモデルを提案する。
-
surface match baselineを大きく上回る結果。entity category の一部のみを用いたsubsetにおいては、supervised learningを上回る結果を得た。
-
-
Annotated data necessary for supervised learning is available for certain knowledge bases and domains.
-
Wikipedia(general domain) の他にも、YAGOに結び付けられた、ニュースドメインのデータであるAIDA_CoNLLデータセットが存在する。
-
本研究では、ラベルなしのテキスト+KBのみのELを目指す。
-
Ridel et al.(2010) らによるsurface matching heuristicsを今回は用いる。
- mention自身と、entity (canonical) name match に今回は頼る。
-
Figure 1 の BILL CLINTON 及び PRESIDENCY OF BILL CLINTONは、mention Bill Clinton に対する候補であるが、どちらも2語(BILL, CLINTON) がマッチする。もちろん、これだけでは正解entityを一つに絞ることは不可能であるが、candidate generation では、このword単位ごとのsurface matchに頼るだけでも、candidateの中に正解entityを見つけることが可能であると、実験で判明した。
-
Distance supervisionによるEntity Linkingを、MILの枠組み今回は解く。
-
bag of candidates の中に正解entityがあるかないかの二値を学習させる。
-
possible list
は、当たり前であるが、surface matching heuristicsによって候補を得ることができたものであると考えられる。- Figure1の、mention Bill Clinton に対して得られた4つの候補を内包する1bagは、positive set として認識されるだろう。
-
negative lists
はKnowledge base からランダムにサンプルしたentityのbagである。 -
他のMIL問題と同様に、labeled list に頼りながら、bag内に含まれるそれぞれのentityもまた、mentionと結び付けられるかどうかも学習される。
-
candidate bags(positive list)なのか、random sample(negative list) なのかを判定するclassifier は、mention自身とentity nameの間にどれだけ多く、共通tokenがあるかを知ってはならない。もし知ってしまえば、その中にcandidateが存在すると容易に判定してしまうからである。
-
その情報をbag classifierからは見えなくすることで、classifierが、entityの属性に近い特徴量を、mention及びその周辺コンテクストから引き出してくれることを期待する。
-
-
surface matchにより、正解entityが含まれていると期待されて作られたpoistive listはnoisyである。
-
noisyであるというのは、bagの中に正解entityが含まれていないものが多いという意味。
-
正解が含まれていることを期待して作られたpositive list であるのに、正解が含まれていない場合、これはMILclassifierを困惑させる。
-
これを防ぐために、MILclassifierを学習させると同時に、positive listがproblematic なbag(=gold entityを含んでいないと思われるbag)を判別するclassifierも同時に学習させる。
- どれくらい、このpositive listを信頼してよいかを判別するclassifierである。
-
2つのclassifierを同時に学習させることで、positive listの精選を行う。Linkerのtraining dataとして利用すべきpositive listを精選させた上で、linkerのtrainingを行うものとする。
-
positive list がproblematicなcandidate listであるかどうかを判別するclassifierが、本当にその能力を持っていることも実験で確かめた。
-
RE ではsentenceのbagがMILに用いられるらしい。そうなんだ。
-
実験ではAIDA CoNLLデータセットを用いる。というのも、supervised learningでDistant supervisionのupper boundを見積もることが可能であるからである。
-
本手法はローカルモデルで
- すが、global modelでの実証も検討しています。
-
-
本論文の貢献は大きく3つ存在します。
-
Distance learningとしてELを定式化しました。
-
そのためのモデルを作りました。
-
positive listについてさらにdenoisingを行う方法も導入しました。
-
スタンダードベンチマークにおいて、その有用性を実証しました。
-
-
$E^{+}$ : correct entityを含む確率が高いbag$E^{-}$ : incorrect entityのみが含まれることを期待されるbag -
$<m,c,E^{+},E^{-}>$ : data points of mention$m$ , context$c$ , positive set$E^{+}$ , negative set$E^{-}$ - テスト時には
$E^{-}$ は空集合である。
- テスト時には
-
$E^{+}$ にgold entityが含まれていない場合、このデータポイント$<m,c,E^{+},E^{-}>$ はnoisyであると呼ぶ。もしデータポイントがnoisyでない場合、このデータポイントを$valid$ であると呼ぶことにする。
- mentionをposition embeddingとともにbiLSTMに食わせて、その、mentionの開始位置と終端位置にある、BiLSTMの出力が、後のcandidate からgold entityを選ぶ時のscoringに利用される。
-
type embeddingをsumして線形層 + ReLU
- type embeddingはどこから
- context由来の4ベクトル + entity vectorをfeed forward に噛ませてスコアを出す。
- max margin lossを用い、negative bagが低いスコアを、gold entityが最低一つは含まれると期待されるpositive bagが高スコアを出すようにloss関数がそうなっている。
- noisy(=gold entityを含んでいないと思われる)
-
candidate bagがnoisyであるかどうかを判別するclassifierを作成するためには、$E^{+}$ のrepresentation が必要であるが、では$E^{+}$のrepresentationをどう作成するか。
-
今回はsurface matchingで得たentity(あるいは、randomに抽出されたE^{-}のbag)に対して、良いentityがbag 内に入っていれば、その信号を得たい。
-
よって、bag内に、contextにmatchするようなentityがあれば、その信号を拾いたいので、score function
$g$ をそのままattentionとして用いるのが適している。 -
活性化パラメータ
$T$ によってその信号をより強くする。
-
- sigmoid 関数による二値分類
-
1項目 bagそのものがnoizyでない(=surface matchによってcandidate bag を生成したにもかかわらず、その中にgold entityが含まれていない、ということがない= gold entityを含んでいる確率) * mention-context間のloss関数
-
prior
$p^{*}_N$ はnoisy data がそもそもどれだけ$E+$ bag 集合の中に期待されるかを示すパラメータで。このKLdivをtraining中に減らしてもらうことで、ノイズ判別機が学習されることを期待する。 -
第二項がないと、noisyでないbagのロスを抑える=noisyでないbagを用いてlinkerを学習してもらうために用意された第一項目であるはずなのに
- valid bagである確率 = 0に自明に収束してしまい、ロスがそのまま0になる。すべてのbagをnoise と判定すれば、ロスが0になるからである。
-
2項目が存在することで、data pointsの一部は無視される。
では、無視されるのはどのようなdata point か?それは、mention自身をリンクさせるELモデルとの一貫性が取れないようなdata point に対してである。
-
同時に学習することで、linkerとvalid dataset pointとの一貫性を取りたい
Linkerが正しく予想するのであれば、それはvalidなデータである
validなデータであれば、その中で score function
$g$ が正しいentityを予測することを期待する。
-
NDモジュールを使うか使わないかの二択がある
-
NewYorkTimesコーパス(Unlabelded コーパスに対して)CoreNLPtaggerで事前にタグ付を行い、2 entity以上を含むものだけをtrain データとして用いる。
-
RE の応用先にはうってつけとあるが...
-
Linker学習時にLinkerがまともになることをある程度期待していると考えられる。
-
candidateのサンプル数は
$E^{+}$ bag については100,$E^{-}$ については10 ランダムにKBから取ってきたものを用いる。
-
-
Dev, Testについては、ドメインはNewsで同じではあるが、データセットは全く異なる。
-
Train はNewYorkTimes
-
Dev/Test はReuters newswire
-
-
評価指標は2つ
-
all mentions
-
candidate generation に成功していると判定されているbagを持つmention つまり
$E^{+}$ であるとclassifierが判定したもの
-
同じ、Unlabel textに対する比較を行いたいので、今回はName matchingをbaselineに用いるとする。
- その名の通り、データベースに文字列がマッチすれば、その中で一番prominenceなものを取ってくる。
-
Upper boundとしてsupervised trainingの手法を用いる。
train時にはgold entity によって強い正解信号が送られる点
ドメインが同じReuterである点(newswire ドメインであることは言わずもがな)
-
model2において、ほとんどのbagがノイズであることをハイパーパラメータによって要求する。これにより、ほんとに確度の高いものだけをtrainとして用いることになる。
-
他のsupervised linkerとの比較はできないことに注意する。
なぜなら既存のsupervised enttiy linkerはalias table作成時に、wikipedia上のhyperlink のアノテーションに大きく頼っているからである。またそれを候補生成時にも用いている。
-
ハイパラとして、prior
$p^{*}_N = 0.9$ を要求している。本当に noisyでない bag を用いたいという願いがここにこめられている。