# 系列ラベリングタスクのための単純なデータ水増し

山崎智弘
東芝研究開発センターAIアナリティクスラボラトリー
tomohiro2.yamasaki@toshiba.co.jp

## 概要

語順が重要な系列ラベリング系のタスクに適用で きる汎用的な水増しとして, cycle と randpad という 新たな手法を提案する. どちらの手法も語順を維持 したまま水増しする点に特徴がある。

2 つのデータセットを対象に，提案手法で水増し したデータで系列ラベリングモデルを学習する実験 を行なった。提案手法は大規模な言語モデルや外部知識がなくても適用できる非常にお手軽な水増しで あるにも関わらず，ベースラインよりも 1 ポイント ほど性能向上したことが確かめられた.

## 1 はじめに

日本の労働人口は少子化のため急速に減少しつつ あり，製造業の現場ではベテランの持っていたノウ ハウの喪失が深刻な問題となっている。製造プラン 卜は数多くの設備や機器から構成されており, 運用・保守では長年の経験が重要なためである.

片や製造業では，日々の業務で起こったトラブル を報告書として記録しておく取り組みがある。そこ で我々はベテランのノウハウを形式知化するため,自然言語処理 (NLP) を用いてトラブル報告書を構造化する技術開発を進めている。報告書にはどんなト ラブルが起こったかだけでなく，どんな対処をした か，その対処で解決したかなども記録されているた め，構造化してトラブルを解決する可能性の高い対処をまとめられれば運用・保守のコスト低減につな がるほか，若手の教育にも役立つと考えられる。

我々は報告書のテキストに含まれるトラブル表現 を教示した訓練データを用意し，ニューラルネット ワークによる深層学習で固有表現抽出 (NER) を行な う方針を取っている．深層学習はコンピュータビ ジョンの分野で発展してきたが, 近年は NLP の分野 でも文書分類，機械翻訳，質問応答などさまざまな タスクで最高性能を達成し続けているためである.

深層学習の性能は一般に, 訓練データの質と量に
よるところが大きいと言われている. しかしトラブ ル報告書は専門知識なしでは理解しづらいうえ，ど こからどこまでをトラブル表現とみなすかは作業者 ごとに摇れが生じやすいため，良質で大量の訓練 データを用意することが難しい。

画像や音声であれば，例えば画像を回転・反転し ても映っている物体は変化しないという知識に基づ いて機械的に訓練データを水増しできるが，NLPで はどのようなドメインの文にも意味を保ったまま機械的に適用できる変換がないため，水増しのアプ ローチは限定的である。

従来よく用いられてきたのは同義語による置換だ が，意味を保つためのヒューリスティクスに頼りが ちである. EDA [1] は単語のランダムな編集を組み 合わせることで単純ながら汎用的な水増しをある程度実現しているが，語順が重要な系列ラベリング系 のタスクには適用が難しい.

$
\begin{aligned}
& \begin{array}{l}
\text { 水増しされた } \\
\text { 文とタグ }
\end{array} \\
& \text { (randpad) }
\end{aligned}
$

図 1 提案手法による訓練データの水増し

そこで我々は，語順が重要な系列ラベリング系の タスクにも適用できる汎用的な水増しとして，cycle と randpad という新たな手法を提案する. cycle は開始位置をシフトしながら各文を何度も繰り返すこと で， randpad は各文の先頭と末尾に適当な単語をラ ンダムに付加することでデータを水増しする．水増 しは学習フェーズの訓練データにだけでなく推定 フェーズの評価データにも適用し，水増しされたそ

れぞれのデータに対する推定結果から元のデータの 推定結果を得る.

以下では cycle と randpad のアルゴリズムを説明 し，一般的な NER の公開データセット (英語) と 我々の持っている電力プラントのトラブル報告書 (日本語) で行なった実験について述べる。これらの 実験の評価結果から，提案手法は非常にお手軽な水増しであるにも関わらず，ベースラインよりも性能向上することを示す.

## 2 関連研究

機械翻訳タスクでは，別言語に翻訳して元言語に 逆翻訳する手法 [2] が水増しとして有効である.し かしトラブル表現は専門用語が多く，うまく機械翻訳できないことも多い.

同義語の置換という観点からは，WordNet [3] のよ うな人手で作られたオントロジーを用いる手法，埋 め込みベクトルが近いものを同義語の候補とする手法 [4] などがある. NER では同じクラスの固有表現 を同義語の候補とすることも行なわれるが，それだ けでは固有表現を含まない文は何も置換できないの で他の手法と併用する必要がある．ドメイン固有の 専門用語に対しては，オントロジーにないため候補 が得られない，あるいは単語の使われる文脈が異な るので埋め込みべクトルが近くても意味が異なる， などの課題があり，いずれの手法も候補の選び方が 恣意的になりやすい。

一方 BERT [5] で同義語の候補を選ぶ CDA [6] とい う手法がある．BERT は文脈を考慮したよい埋め込 みべクトルを得る手法として知られているが，CDA は BERT が文脈を考慮して予測した単語による置換 に制限することで文の意味を保つようにしている。単語レベルではなく特徴ベクトルのレベルで訓練 データを水増しする手法 $[7,8]$ も提案されている. これらは，訓練データから抽出された 2 組の入出力 の線形補完によって水増しする Mixup [9] という手法を NLP に持ち込んだものである。ただしこれら の手法も，文の意味を保つように入力文の意味が似 ている組に抽出を制限している。

反対に，文の意味が多少変わることを許容する ことで，非常にお手軽な水増しを実現している EDA [1] という手法がある. 同義語による置換のほ か，単語のランダムな追加・削除・交換を組み合わ せて水増しする．大規模な言語モデルや外部知識が なくても適用できるので，訓練データが少ないとき
の文書分類や極性判定の性能をほとんどコストをか けずに底上げできることが知られている。

## 3 提案手法

本節では語順を維持したまま水増しする cycle と randpad の具体的なアルゴリズムを説明する.

入力は文の集合 $\left.\{\operatorname{sent}_{i} \mid 0 \leq i<I\right.\}$ であり，それぞ れの文 $\operatorname{sent}_{i}$ は $J_{i}$ 単語からなる系列 $w_{i, 0}, \ldots w_{i, J_{i}-1}$ で表され，固有表現は単語列に対してタグ付けされ た範囲で表されるものとする.

例えば図 1 上側は，6 単語で表される文の $[0,1)$ および $[3,5)$ の範囲にそれぞれ人物名と地域名の夕 グが付いていることを表す。実際にはタグに B や I をつけて範囲の先頭とそれ以外を区別することも多 いが，以下ではその区別は捨象して説明する。

## 3.1 cycle

図 1 中側は cycle による水増しの概念図である.開始位置をシフトしながら各文を何度も繰り返す。

まずそれぞれの文 $\operatorname{sent}_{i}$ ごとに，文を繰り返す領域の大きさとして単語数 $J_{i}$ より大きい適当な $f\left(J_{i}\right)$ を設定する． $J_{i}$ によらない值 (例えば $\max _{i} J_{i}+1$ ) に 設定するとパディングが不要になるので学習が簡単 になるが，長い文に比べて短い文の繰り返しが多く なり，モデルが偏る可能性がある。そこで適当な係数 $a, b$ を用いて $f\left(J_{i}\right)=a J_{i}+b$ などとする.

次に水増し倍率 $n_{\text {aug }}$ が与えられたとしよう.文を繰り返すときの開始位置はランダムに与 えてもよいが，均等に $c_{i}^{k}=\left.\lfloor k f\left(J_{i}\right) / n_{\text {aug }}\right.\rfloor$ (ただし $0 \leq k<n_{\text {aug }}$ ) などとする. $c_{i}^{k}$ が同じ値を取らないよ うに $f\left(J_{i}\right) \geq n_{\text {aug }}$ にしておくことが望ましい.

$c_{i}^{k}$ が定まれば，そこから順に $f\left(J_{i}\right)$ の領域を文尾 と文頭がつながらないようにセパレータ [SEP] を挟 みながら文 $\operatorname{sent}_{i}$ の単語で繰り返し埋めていくこと で，水増しされた文 $\operatorname{sent}_{i}^{k}$ が得られる。 すなわち文 $\operatorname{sent}_{i}^{k}$ を構成する単語 $w_{i, j}^{k}$ (ただし $\left.0 \leq j<f\left(J_{i}\right)\right)$ は具体的には $w_{i, j-c_{i}^{k}\left(\bmod J_{i}+1\right)}$ と表される.

学習フェーズでは，元の文のタグ範囲に対応する 水増しされた文の範囲にタグ付けして水増しされた 訓練データとする．水増しされた文の単語と元の文 の単語の対応は取れているので，元の文の単語の夕 グをそのまま付ければよい.

推定フェーズでは，水増しされた文に対して推定処理を行ない，それぞれの単語のタグを推定する。水増しされた文の単語と元の文の単語の対応が取れ

図 2 cycle の推定フェーズ

ているので，元の文の単語に付くタグは水増しされ た文の単語に付いたタグによる投票で決定できる.

図 2 の例であれば，水増しされた文において “Tom” は 3/5 が人物名なので人物名, “New” は $2 / 4$ が地域名なので地域名となる。この例では“York” は地域名も組織名も $2 / 4$ となるので多数決ではどち らを選んでもよいが，つながりがよいように “New York”をまとめて地域名とする。

## 3.2 randpad

図 1 下側は randpad による水増しの概念図であ る. 各文の先頭と末尾に適当な単語をランダムに 付加する. 文頭と文尾に付加する単語は文の意味 を保つようにする必要があるため，すべての訓練データで全くタグが付いていない単語の集合 $W_{\mathrm{O}}=\{w \mid w$ のタグが $\mathrm{O}\}$ を事前に求めておく.

まず文頭と文尾に付加する単語数 $n_{\mathrm{pad}}$ を設定す る. 付加する単語数は文頭と文尾で異なっていても よいが，双方向言語モデルを用いるので対称にする ため同じ値にするものとする。

次に水増し倍率 $n_{\text {aug }}$ が与えられたとしょう，各文 の先頭と末尾に $W_{\mathrm{O}}$ から $n_{\mathrm{pad}}$ 単語ずつをランダムに 選んで付加すると水増しされた文 $\operatorname{sent}_{i}^{k}$ が得られる ので，それを $n_{\text {aug }}$ 回繰り返せばよい。すなわち文 $\operatorname{sent}_{i}^{k}$ を構成する単語 $w_{i, j}^{k}\left(\right.$ ただし $\left.0 \leq j<J_{i}+2 n_{\mathrm{pad}}\right)$ は，具体的には $n_{\mathrm{pad}} \leq j<J_{i}+n_{\mathrm{pad}}$ のとき $w_{i, j-n_{\mathrm{pad}}}$ で それ以外のときランダムな単語となる。

学習フェーズでは，元の文のタグ範囲に対応する 水増しされた文の範囲にタグ付けして水増しされた 訓練データとする. 水増しされた文の単語と元の文 の単語の対応は取れているので，元の文の単語の夕

図 $3 \mathrm{randpad}$ の推定フェーズ
グをそのまま付ければよい。付加した単語は $W_{\mathrm{O}}$ か ら選ぶのでタグを付けないものとする。

推定フェーズでは，水増しされた文に対して推定処理を行ない，それぞれの単語のタグを推定する。文頭と文尾から $n_{\text {aug }}$ 単語を取り除けば元の文の単語 になるので，元の文の単語に付くタグは水増しされ た文の単語に付いたタグによる投票で決定できる。

図 3 の例であれば，水増しされた文において “Tom”は $2 / 3$ が人物名なので人物名となり，“New” と“York”は $3 / 3$ が地域名なので地域名となる。

## 4 実験と評価

今回の実験では系列ラベリングモデルとして BiLSTM-CRF [10] を用いた。具体的なネットワーク は，単語の埋め込みべクトルを求める Embedding 層, 確率 0.5 の Dropout 層, 入出力の次元数が等し い Linear 層, 256 次元の BiLSTM 層，タグに対応 する出力の次元数を持つ CRF 層から構成される. なお 768 次元の事前学習済み BERT ${ }^{11}$ の末尾 4 層 を concat して用いたので，Embedding 層の次元数は $3,072=768 \times 4$ である.

学習に用いたバッチサイズは 256 ，損失関数は CRFLoss，オプティマイザは SGDである。学習率は $10^{-1}$ から検証データの損失が 4 エポック下がらない たび半減し， $10^{-5}$ を下回った時点で早期終了する.

以下では訓練データの水増しを行なわないとき (baseline) と，文を繰り返す領域の大きさ $f\left(J_{i}\right)$ を $64\left.\lceil J_{i} / 48\right.\rceil$ とした cycle，付加する単語数 $n_{\text {pad }}$ を 1,2 とした randpad をそれぞれ適用したときの性能を 比較した。なお baseline 以外は，水増し倍率 $n_{\text {aug }}$ を $1,5,10$ としたときの性能も検証した。

表 1 CoNLL03 のデータ数の内訳

はじめに，NER の公開データセットである CoNLL03 [11] を用いて提案手法による水増しの効果を評価した結果について示す.本データセットは 人物名・地域名・組織名・その他の 4 種のタグが付 いており，データ数は表 1 のとおりである. 平均長 は文や固有表現を構成する単語数の平均を表す.

表 2 は系列ラベリングモデルによって抽出された タグ範囲が正解と完全一致するかどうかで評価した ときの $\mathrm{F}$ 值である. それぞれの設定で 3 回ずつ学習 したモデルによる平均と標準偏差を示す.

表 2 からわかるように，randpad2 は性能向上がほ とんど見られないが, cycle と randpad 1 は $n_{\text {aug }}=5,10$ のとき baseline を上回る. いずれも $n_{\text {aug }}$ を増やすほ ど上がり幅も大きくなっているので, cycle は $f\left(J_{i}\right)$ の選び方によっても変わると思われるが，さらに増 やせばより性能向上する可能性がある.

表 2 CoNLL03 を用いたときの評価結果

一方， baseline で抽出されたが randpad で抽出され なかった事例を分析すると， $W_{\mathrm{O}}$ に含まれる単語を 含むものが多いことがわかった. $W_{\mathrm{O}}$ から選んで付加した単語はタグが付かないように学習するので， その影響を受けた可能性がある. randpad1 で性能が 上がったのに randpad2 で上がらなかったのは，下げ る効果の方が大きかったためであろう.

逆に言えば，付加する単語の選び方を工夫した り, WordDropout [12] のように Embedding 層で埋め 込みべクトルをランダムに生成したりすれば， randpad はより性能向上する可能性がある.

続いて，我々の持っている電力プラントのトラブ ル報告書を用いて提案手法による水増しの効果を評価した結果について示す.トラブル表現 (何がどう なった，何をどうした) にイベントというタグが付 いており，データ数は表 3 のとおりである. 平均長 は文やイベントを構成する単語数の平均を表す。

表 3

CoNLL03 での実験のように，NER の評価は完全一致で行なうのが一般的である。しかしイベントの タグ範囲は非常に長く, また前述のとおり正解に摇 れが生じやすいため，完全一致にそこまでこだわる 必要はない. イベントの主要部 (どうなった, どう
した) は末尾付近に出現することが多いので，以下 の評価では [13] と同じく, タグ範囲の末尾 5 単語に 重なりがあるかどうか (主要部一致) で行なうものと した. 例えば「建屋の配管に亀裂が発生。」という 文の正解が「配管に亀裂」だった場合，「建屋の配管に亀裂」や「亀裂が発生」は少なくとも「亀裂」 という重なりがあるので OK とみなす。

表 4 は系列ラベリングモデルによって抽出された タグ範囲が正解と主要部一致するかどうかで評価し たときの $\mathrm{F}$ 值である. それぞれの設定で 3 回ずつ学習したモデルによる平均と標準偏差を示す.

表 4 トラブル報告書を用いたときの評価結果

表 4 からわかるように, cycle は baseline を上回る ものの randpad1 と randpad2 は性能向上がほとんど 見られない. 付加した単語はタグが付かないように 学習したため, CoNLL03 での実験と同じく性能を 下げる効果の影響を受けた可能性がある。下がり幅 が抑えられているのは，タグが 1 種しかないのでタ グを間違えるエラーがないことや主要部一致で評価 したことが要因であろう.

## 5 おわりに

本論文では，語順が重要な系列ラベリング系のタ スクにも適用できる汎用的な水増しとして, cycle と randpad という新たな手法を提案した. cycle は開始位置をシフトしながら各文を何度も繰り返すこと で， randpad は各文の先頭と末尾に適当な単語をラ ンダムに付加することで語順を維持したままデータ を水増しする手法であり，大規模な言語モデルや外部知識がなくても適用できる.

CoNLL03 およびトラブル報告書のデータセット を提案手法で水増しして BiLSTM-CRF を学習する 実験を行なったところ，ベースラインよりも 1 ポイ ントほど性能向上したことが確かめられた. ただし randpad はパラメタによってはほぼ変わらないか逆 に下がることも確かめられた.

今後はネットワーク構造や与えられたデータごと に最適な水増しパラメタを求め, 理論解析を通じて さらによい水増し手法を開発していく予定である.

## 参考文献

[1] Jason Wei and Kai Zou. EDA: Easy data augmentation techniques for boosting performance on text classification tasks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 6382-6388, Hong Kong, China, November 2019. Association for Computational Linguistics.

[2] Marzieh Fadaee, Arianna Bisazza, and Christof Monz. Data augmentation for low-resource neural machine translation. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pp. 567-573, Vancouver, Canada, July 2017. Association for Computational Linguistics.

[3] George A. Miller. Wordnet: A lexical database for english. Communications of the ACM, Vol. 38, No. 11, pp. 39-41, 1995.

[4] William Yang Wang and Diyi Yang. That's so annoying!!!: A lexical and frame-semantic embedding based data augmentation approach to automatic categorization of annoying behaviors using \#petpeeve tweets. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 2557-2563, Lisbon, Portugal, September 2015. Association for Computational Linguistics.

[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[6] Sosuke Kobayashi. Contextual augmentation: Data augmentation by words with paradigmatic relations. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers), pp. 452-457, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.

[7] Rongzhi Zhang, Yue Yu, and Chao Zhang. SeqMix: Augmenting active sequence labeling via sequence mixup. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 8566-8579, Online, November 2020. Association for Computational Linguistics.

[8] Jiaao Chen, Zhenghui Wang, Ran Tian, Zichao Yang, and Diyi Yang. Local additivity based data augmentation for semi-supervised NER. In Proceedings of the $\mathbf{2 0 2 0}$ Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1241-1251, Online, November 2020. Association for Computational Linguistics.

[9] Hongyi Zhang, Moustapha Cissé, Yann N. Dauphin, and David Lopez-Paz. mixup: Beyond empirical risk minimization. In 6th International Conference on Learning Representations, ICLR 2018, Vancouver, BC, Canada,
April 30 - May 3, 2018, Conference Track Proceedings. OpenReview.net, 2018.

[10] Guillaume Lample, Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Chris Dyer. Neural architectures for named entity recognition. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 260-270, San Diego, California, June 2016. Association for Computational Linguistics.

[11] Erik F. Tjong Kim Sang and Fien De Meulder. Introduction to the CoNLL-2003 shared task: Language-independent named entity recognition. In Proceedings of the Seventh Conference on Natural Language Learning at HLTNAACL 2003, pp. 142-147, 2003.

[12] Rico Sennrich, Barry Haddow, and Alexandra Birch. Edinburgh neural machine translation systems for WMT 16. In Proceedings of the First Conference on Machine Translation: Volume 2, Shared Task Papers, pp. 371-376, Berlin, Germany, August 2016. Association for Computational Linguistics.

[13]伊藤雅弘, 山崎智弘. アノテーション漏れ推定を用い たエンティティ抽出. 言語処理学会 第 27 回年次大会 発表論文集, pp. 1264-1268, 32021.
 山崎智弘 東芝研究開発センターAIアナリティクスラボラトリー tomohiro2.yamasaki@toshiba.co.jp  