投稿日
自然言語処理のデータ作成に使うActive Learningのサンプリング方法を改善する -固有表現認識編-
もくじ
はじめに
こんにちは。 戦略技術センター (STC) の梁です。 ラベル付け対象のデータ量を減らす技術であるActive Learningに取り組んでいます。
Active Learningは様々なタスクに使われています。今回は固有表現認識の文脈で研究成果を共有します。内容としては、以下のとおりです。
- Active Learningに関する背景紹介
- 固有表現認識におけるActive Learningの課題
- 予備実験で課題を検証
- 提案指標の紹介
- 提案指標の検証実験
背景
機械学習プロジェクトの中、モデルを学習するため、ラベル付きデータを用意しなければなりません。ラベル付きデータはテキストや音声、画像などのデータにタグを付けることで生成されます。この作業はアノテーション作業と言えます。
しかし、アノテーションにかけるコストが大きいという課題があります。 そこで、学習効果の高いデータを抽出してアノテーションを行う手法であるActive Learningを適用します。 データの学習効果が高いため、少ないデータ量でも高い精度を達成できます。 Active Learningの詳細は系列ラベリングにおけるActive Learningをご参考にしてください。
Active Learningはサンプリングアルゴリズムを対象として、研究を行っています。サンプリングアルゴリズムは様々な指標でデータの学習効果を測ります。よく使われている指標は不確定性指標と多様性指標です。
- 不確定性指標:モデルの予測結果から、確信度が一番低いデータを選ぶ手法です。不確定なデータを学習することで、モデルの予測性能を上げます。
- 多様性指標:モデルの予測結果から、多様なデータを選ぶ手法です。「多様」は文、クラスが異なることです。多様なデータを学習することで、モデルの予測性能を上げます。
分類タスクにおけるActive Learningでは、不確定性指標が主に使われてきました。しかし、不確定性指標を使うと、データの多様性が低くなり、モデルの予測性能の低下につながる問題があります[1]。先行研究では、不確定性指標に多様性指標を組み合わせることで、モデルの予測性能を改善しました[1, 2, 3]。
固有表現認識におけるActive Learning課題
固有表現認識におけるActive Learningにも不確定性指標が主に使われてきました。 仮説として、固有表現認識に不確定性指標だけを使うと、データの多様性が低くなり、モデルの予測性能の低下につながると考えられます。
しかし、先行研究[6]では仮説を前提とし、検証されていません。 そのため、予備実験で仮説を検証します。
予備実験
予備実験の目的は、仮説を検証することです。
検証方法として、分類用の不確定性指標と多様性指標を固有表現認識のデータセットに使い、選んだデータの多様性とモデルの予測性能を確認します。データセットの多様性を測るため、先行研究[3]の測り方を使います。
実験セットアップ
- データセット
- OntoNotes 5.0 [11]
- CoNLL 2003 [12]
- 指標
- 不確定性指標: Entropy [8]
- 組み合わせ指標(不確定性+多様性):SUD(Sampling by Uncertainty and Density)[5]
- 多様性を測る指標
- DB(Diversity of set B)[3]:DBスコアが高いほど、データセットの類似度が高く、多様性が低くなります
- モデル
- BiLSTM-CRF[13]
- 分散表現
- Bert-base-uncased[14]
Active Learningのサイクル[15]では、モデルの初期化はseed dataが必要とされています。 Seed dataは数が少ないラベル付きデータのことです。 今回の実験はトレーニングデータに含まれる固有表現から2%の固有表現分のデータを選び、seed dataとして使います。 残ったトレーニングデータはラベルなしデータとして使います。
実験結果
各データセットに対し、各指標の計算結果で、学習効果の高いtop2%のデータを選び、DBで多様性スコアを計算します。top2%のデータをモデルに学習させ、モデルの性能(F1スコア)も記録します。実験結果は表1にあります。
(表1:各データセット、各指標ごとのDBスコアとF1スコア)
仮説どおりに、固有表現認識に不確定性指標だけを使うと、データの多様性が低くなり、モデルの予測性能の低下につながることが確認できました。
提案指標
分類タスクで不確定性指標を使う問題が固有表現認識にも存在することが確認されました。分類タスクの解決策を参考にし、不確定性指標と多様性指標を組み合わせるアプローチが期待されます。
そのため、今回は2つの多様性指標を提案します。
分散表現の類似度を用いた指標
分散表現の類似度を用いた指標(以下は「分散表現の類似度」に略す)は各固有表現の分散表現を利用し、固有表現間の類似度を計算します。各固有表現の類似度が低くなるほど、データセットの多様性は高くなると考えられます。
データ \(\ d\)の多様性スコア は次のように定義できます。 データ \(\ d\)に属する固有表現集合は \(\ E_d\)、数は \(\ m\)とします。クラス \(\ c\)に属する固有表現集合は \(\ E_c\)とします。
は各クラスにおける固有表現間の類似度のうち、最小値を計算します。
固有表現の類似度 は固有表現 \(\ e_i\)の分散表現 \(\ r_i\)を利用し、次のように計算します。
で各データの多様性スコアを計算し、低い順から選びます。
データセット全体の類似度スコアは、各データのスコアの平均値とします。データセットは \(\ D\)、データの数は \(\ g\)にします。
クラスタ内の類似度を用いた指標
クラスタ内の類似度を用いた指標(以下は「クラスタ内の類似度」に略す)は、固有表現の分散表現を利用し、クラスタリングを行います。クラスタ内の固有表現は同一クラスの固有表現と見なします。クラスタの中心から、クラスタ内他の固有表現との類似度を計算し、一番低い類似度をクラスタの多様性にします。クラスタ内の類似度が低いほど、クラスタの多様性が高くなります。すべてのクラスタの類似度が低くなると、データセット全体の多様性も高くなります。
まず、K-Meansですべての固有表現を \(\ n\)個のクラスタ にクラスタリングします。 \(\ n\)は固有表現の種別数です。各クラスタの中心点は \(\ e_{cent_k}\)とします。
クラスタリングを実行後、クラスタ \(\ L_k\)とクラスタの中心点 \(\ e_{cent_k}\)を利用し、データ \(\ d\)の多様性スコア は次のように定義します。
データdに属する固有表現集合は \(E_d \ \)、数は \(\ m\)とします。 は各クラスタ内、中心点 \(\ e_{cent_k}\)から、クラスタ内の固有表現 \(\ e_j\)までのcosine類似度の最小値を取得します。cosine類似度の計算方法は以下とします。
データセット全体の類似度スコアは、全データのスコアの平均値とします。データセットは \(\ D\)、データの数は \(\ g\)とします。
提案指標の検証実験
目的として、提案の多様性指標と不確定性指標を組み合わせることで、モデルの予測性能への影響を検証します。
データセット
今回の実験はOntoNotes 5.0を使います。OntoNotes 5.0のクラス種類と固有表現の種類が多いため、多様性指標の効果が検証しやすいです。
Class | 学習 | 検証 | 評価 |
---|---|---|---|
ORG | 24163(9370) | 3798(1932) | 2002(1072) |
PERSON | 22035(9437) | 3163(1789) | 2134(1064) |
GPE | 21938(2292) | 3649(761) | 2546(508) |
DATE | 18791(4772) | 3208(1228) | 1787(811) |
CARDINAL | 10901(2531) | 1720(660) | 1005(382) |
NORP | 9341(741) | 1277(211) | 990(187) |
MONEY | 5217(3398) | 853(654) | 355(323) |
PERCENT | 3802(1228) | 656(361) | 408(273) |
ORDINAL | 2195(112) | 335(47) | 207(36) |
LOC | 2160(725) | 316(165) | 215(120) |
TIME | 1703(825) | 361(206) | 225(142) |
WORK_OF_ART | 1279(843) | 202(150) | 169(135) |
QUANTITY | 1240(953) | 190(174) | 153(126) |
FAC | 1158(687) | 133(93) | 149(94) |
EVENT | 1009(448) | 179(118) | 85(53) |
PRODUCT | 992(528) | 214(142) | 90(51) |
LAW | 459(269) | 65(43) | 44(28) |
LANGUAGE | 355(44) | 35(15) | 22(7) |
総計 | 128738(39203) | 20354(8749) | 12586(5412) |
(表2: OntoNotes 5.0の固有表現数。括弧内は異なり数)
実験セットアップ
- データセット
- OntoNotes 5.0
- モデル
- BiLSTM-CRF
- 分散表現
- Bert-base-uncased
- 指標
- 不確定性指標: Least Confidence (LC)[8]、Maximum Normalized Log-Probability (MNLP)[4]
- 提案の多様性指標:分散表現の類似度(DS)、クラスタ内の類似度(CS)
- 組み合わせ方法
- 不確定性指標(LC、MNLP)と多様性指標(DS、CS)で計算されたスコアを足し算で総合スコアを計算します
- 多様性を測る指標
- Entity ratio(ER)[10]:ERスコアが高いほど、データセットの類似度が高く、多様性が低くなります
DSとCSはSeqALの実装を利用しています。
実験結果
実験結果は図2となります。 横軸はラベル付きデータの利用割合です。 イテレーションごとに、2%のデータを利用します。 縦軸はF1スコアです。 Superviseは100%のデータを使う時の予測結果、Randomはデータをランダムに利用する場合です。
(図2:テストデータでのF1スコアと対応のラベル付きデータ数)
結果として、すべての組み合わせ指標は単一の不確定性指標より良い性能が出ています。 いくつかの組み合わせ指標の中、最適なのはMNLP+CSの組み合わせです。 24%のデータを使うことで、Superviseの性能の99%になりました。
多様性レベルとモデルの予測性能との関係を確認するため、選んだデータの固有表現比率を図3に表示します。横軸はラベル付きデータのパーセント。縦軸はイテレーションごとに選んだデータ(2%)のERスコアです。
(図3:選んだデータでのER)
全体的な流れとして、イテレーションに伴い、選んだデータのERスコアが低く、多様性が低くなります。単一の不確定性指標と比べ、組み合わせ指標の方は多様性が高いです。図2と合わせてみると、LC+DS、LC+CSはLCよりERスコアが低く、モデルの予測性能が高いです。MNLP+DS、MNLP+CSもMNLPよりERスコアが低く、モデルの予測性能が高いです。
おわりに
本文では固有表現認識におけるActive Learningの課題の存在を確認し、多様性指標の効果を検証しました。 結果として、提案指標はデータセットの多様性レベルを上げることで、モデルの予測効果にも貢献できました。
今回提案した指標は予測ラベルが有る限り、どんなモデルにも使えます。これからの課題として、各指標の重みの最適な配分を自動的に計算されることが望ましいです。しかし、自動的に配分を変えるのは、学習中のモデルとの連携が必ず発生します。つまり、モデルを変えると、指標が使えなくなります。ある程度でモデルから独立し、かつ重みの配分を自動的に計算できるのは一番理想な解決策と思います。
我々のチームではアノテーションの効率をあげるため、今後も研究成果を共有します。
参考資料
- Deep Batch Active Learning by Diverse, Uncertain Gradient Lower Bounds
- An active learning approach with uncertainty, representativeness, and diversity
- Diverse mini-batch Active Learning
- Deep Active Learning for Named Entity Recognition
- Active Learning with Sampling by Uncertainty and Density for Word Sense Disambiguation and Text Classification
- An Analysis of Active Learning Strategies for Sequence Labeling Tasks
- Active Learning for BERT: An Empirical Study
- Reducing labeling effort for structured prediction tasks
- Active learning for word sense disambiguation with methods for addressing the class imbalance problem
- Generalisation in named entity recognition: A quantitative analysis
- OntoNotes 5.0
- Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition
- Bidirectional LSTM-CRF Models for Sequence Tagging
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- 系列ラベリングにおけるActive Learning