はじめに

戦略技術センター (STC) で自然言語処理関係の研究開発をしている谷口です。この記事では、部分的アノテーションを用いた固有表現認識モデルについて得られた知見を紹介します。
今回は、辞書データから作成したデータセットに対する固有表現認識モデルの評価を行いました。

概要

固有表現認識

固有表現認識は、所与のテキストから固有表現を抽出し、組織名や人名といったラベルを付与する技術です。自分の興味のある固有表現を認識できるので、情報抽出や質問応答などの要素技術として応用されています。
固有表現認識では、ルールベースや機械学習といった手法が用いられます。近年では、機械学習の中でも、教師あり学習を使った方法論が高い性能をあげています。

図1. 固有表現認識の例([ツール](https://explosion.ai/demos/displacy-ent)により作成)

固有表現認識で広く利用される教師あり学習では、十分な量のデータを作成するコストが高いという課題があります。教師あり学習では、人手でアノテーションしたラベル付きデータが利用されます。
高い性能を得るためには多くのラベル付きデータを必要とします。予算やタスクの難易度によりますが、一般的にアノテーションには時間がかかり、大量のデータを作成するのは困難です。さらに固有表現認識では、単純な分類タスクと比較して、個々の単語ごとにラベル付けするため、コストは高くなります。

部分的アノテーション

アノテーションコストを減らすため、部分的アノテーションを活用することがあります。 部分的アノテーションとは、データセットの一部分にラベル付けすることです。
例えば、分野特有の表現や重要部分のみにアノテーションすることで、モデルの構築は工夫する必要がありますが、作業自体の効率化が期待できます。固有表現認識の場合、重要単語の辞書の利用や、正規表現によるルールによって、部分的アノテーションすることも可能です。
辞書データとして、「TIS株式会社」「東京都新宿区」「岡本安史」を利用した部分アノテーションは次の図の下段のようになります。上段の通常のアノテーションと比較して、一部ラベル付けされていないことがわかります。

図2. 通常のアノテーションと部分的アノテーションの比較([ツール](https://explosion.ai/demos/displacy-ent)により作成)

部分的アノテーションを使ったモデルの構築手法として、Distant supervisionがあります。Distant supervisionは次の図の流れで行われます。固有表現と対応するラベルがペアになった辞書を用いて、自動でデータにラベル付けを行うことで、コストを軽減します。
ラベル付けは、辞書に登録されている固有表現とのマッチングにより行います。自動でアノテーションするので、ラベル付けされない箇所が存在し、部分的アノテーションされたデータになります。

図3. Distant supervisionの概要([論文](https://www.jstage.jst.go.jp/article/jnlp/23/1/23_37/_pdf)を参考に作成)

Distant supervisionでは、データセットの固有表現の網羅率が低いため、一般的な教師あり学習の方法論では、高い性能を得ることが困難です。 辞書データの固有表現とのマッチングを行うので、認識の正確性は高くなります。一方で、辞書データへの登録漏れや固有表現の表記ゆれなどによって、取りこぼしが発生するため、固有表現の網羅率は低くなります。
網羅率の低下は偽陰性(本来ラベルが付与されるべき箇所にラベルがない状態)の増加に繋がります。一般的な教師あり学習の方法論では、データセットに偽陰性が含まれることを考慮しないため、正しく学習できず性能が低くなります。

データセットの偽陰性による課題を解決する方法論として、Expected Entity Ratio (以下EER) があります。辞書データでラベル付けしたデータセットは、偽陰性が多い状態なので、固有表現の出現割合は低くなります。
EERでは、データセット全体での固有表現の出現割合が一定の範囲内になるように学習が行われます。
出現割合を適切に設定することで、偽陰性として取りこぼしがあった固有表現も一部認識できるようになります。ここでは詳細には立ち入らないので、興味のある方は元の論文をご覧下さい。

実験

検証内容

少量の辞書データを用いた場合の、医療、Eコマース、新聞記事ドメインでのEERの有効性を検証しました。応用する際には、辞書データの量が限られている場合も多くあると考え、少量の辞書データでも性能が改善するかに着目しました。
EERの論文中では擬似的なデータを使って検証を行っているので、実際の辞書データを使った検証は応用の際に有用であると考えました。
辞書データが入手できた医療、Eコマース、新聞記事ドメインで検証を行いました。

データセット

今回検証に利用したデータセットの統計量は表の通りです。 これらのデータセットは次のリンクで公開されているものを利用させていただきました。

学習データ (件) 開発データ (件) テストデータ (件) 辞書データに含まれる用語 (件)
医療 (BC5CDR) 20,218 6,653 7,095 2,482
Eコマース (EC) 1,098 401 799 972
新聞記事 (News) 3,001 3,329 3,187 71,664

検証結果

少量の辞書データを用いた場合の、医療、Eコマース、新聞記事ドメインでのEERの有効性を確かめるため、辞書データのサイズとモデルの性能を比較しました。
ここではベースラインとして、辞書マッチを利用して検証を行いました。 EERの学習はteffland/ner-expected-entity-ratioの実装を利用させていただきました。ハイパーパラメータは論文中のものをそのまま利用しています。

各ドメインでの結果を次のグラフと表に示します。異なる3つのランダムシード値の性能の平均を示しています。また辞書データのサイズも3つのランダムシード値を使ってサンプルしています。

辞書サイズに対するEERのF1性能 (BC5CDR)

辞書サイズ 辞書マッチ (Dictionary math) EER
100% 0.7187 ± 0.000 0.7782 ± 0.008
80% 0.6461 ± 0.014 0.7366 ± 0.014
60% 0.5577 ± 0.004 0.6904 ± 0.013
40% 0.4218 ± 0.020 0.6448 ± 0.035
20% 0.2433 ± 0.027 0.4275 ± 0.013

辞書サイズに対するEERの性能 (EC)

辞書サイズ 辞書マッチ (Dictionary math) EER
100% 0.4448 ± 0.000 0.7476 ± 0.006
80% 0.3869 ± 0.014 0.7201 ± 0.007
60% 0.3064 ± 0.015 0.6843 ± 0.007
40% 0.2169 ± 0.036 0.6347 ± 0.038
20% 0.1313 ± 0.036 0.5683 ± 0.048

辞書サイズに対するEERの性能 (News)

辞書サイズ 辞書マッチ (Dictionary math) EER
100% 0.4776 ± 0.000 0.8297 ± 0.066
80% 0.4021 ± 0.030 0.8656 ± 0.011
60% 0.2724 ± 0.094 0.8561 ± 0.019
40% 0.2234 ± 0.081 0.8844 ± 0.002
20% 0.0501 ± 0.029 0.9067 ± 0.015

検証から医療・Eコマース・新聞記事の分野においてはEERを用いることで、いずれもベースラインを上回る性能を得ることができました。
またEERは辞書データが少ないときには特に有効であるということがわかりました。

まとめ

この記事では、部分的アノテーションを活用した固有表現認識モデルとして、EERの検証を行いました。すべてのドメインで有効とは言い切れませんが、ある程度汎用的にEERを利用できることがわかりました。
また辞書データが少ないときほど有効であるという性質は、応用する際の候補になりやすいと考えられます。これらの知見がお役に立てれば幸いです。

参考文献