Skip to content

038_Distant_Learning_for_Entity_linking(ACL19)

izuna385 edited this page Aug 8, 2019 · 1 revision

Distant LEarning for Entity Linking with Automatic Noise Detection

submitted at ACL2019

code,PyTorch

Task

  • Entity Linking

Research Question

  • Distant Supervision下でのEntity Linkingの定式化

Approach

* gold entity を含むか含まないかのclassifier をcandidate bag featureをうまく表すことで設置。

Slide

memo

  • 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を上回る結果を得た。

1 Introduction

  • 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を行う方法も導入しました。

    • スタンダードベンチマークにおいて、その有用性を実証しました。

2 Entity linking as MIL

  • $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$ であると呼ぶことにする。

3 model

3.1 Model 1: MIL

Encoding Context

  • mentionをposition embeddingとともにbiLSTMに食わせて、その、mentionの開始位置と終端位置にある、BiLSTMの出力が、後のcandidate からgold entityを選ぶ時のscoringに利用される。

Entity embedding

  • type embeddingをsumして線形層 + ReLU

    • type embeddingはどこから

Scoring a candidate

  • context由来の4ベクトル + entity vectorをfeed forward に噛ませてスコアを出す。

Training

  • max margin lossを用い、negative bagが低いスコアを、gold entityが最低一つは含まれると期待されるpositive bagが高スコアを出すようにloss関数がそうなっている。

3.2 Model 2:MIL with Noise Detection(MIL-ND)

  • noisy(=gold entityを含んでいないと思われる)

Representation for $E^{+}$

  • 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$ によってその信号をより強くする。

Noise detection

  • sigmoid 関数による二値分類

Trainingについての Loss 関数

  • 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を予測することを期待する。

Testing

NDモジュールを使うか使わないかの二択がある

4 Dataset

  • 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

5 Experiments

  • 評価指標は2つ

  • all mentions

  • candidate generation に成功していると判定されているbagを持つmention  つまり $E^{+}$ であるとclassifierが判定したもの

5.1 Sysytems

  • 同じ、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 を用いたいという願いがここにこめられている。

Clone this wiki locally