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

日本の労働人口は少子化のため急速に減少しつつあり，製造業の現場ではベテランの持っていたノウハウの喪失が深刻な問題となっている．製造プラントは数多くの設備や機器から構成されており，運用・保守では長年の経験が重要なためである．片や製造業では，日々の業務で起こったトラブルを報告書として記録しておく取り組みがある．そこで我々はベテランのノウハウを形式知化するため，自然言語処理(NLP)を用いてトラブル報告書を構造化する技術開発を進めている．報告書にはどんなトラブルが起こったかだけでなく，どんな対処をしたか，その対処で解決したかなども記録されているため，構造化してトラブルを解決する可能性の高い対処をまとめられれば運用・保守のコスト低減につながるほか，若手の教育にも役立つと考えられる．我々は報告書のテキストに含まれるトラブル表現を教示した訓練データを用意し，ニューラルネットワークによる深層学習で固有表現抽出(NER)を行なう方針を取っている．深層学習はコンピュータビジョンの分野で発展してきたが，近年はNLPの分野でも文書分類，機械翻訳，質問応答などさまざまなタスクで最高性能を達成し続けているためである．深層学習の性能は一般に，訓練データの質と量によるところが大きいと言われている．しかしトラブル報告書は専門知識なしでは理解しづらいうえ，どこからどこまでをトラブル表現とみなすかは作業者ごとに揺れが生じやすいため，良質で大量の訓練データを用意することが難しい．画像や音声であれば，例えば画像を回転・反転しても映っている物体は変化しないという知識に基づいて機械的に訓練データを水増しできるが，NLPではどのようなドメインの文にも意味を保ったまま機械的に適用できる変換がないため，水増しのアプローチは限定的である．従来よく用いられてきたのは同義語による置換だが，意味を保つためのヒューリスティクスに頼りがちである．EDA[1]は単語のランダムな編集を組み合わせることで単純ながら汎用的な水増しをある程度実現しているが，語順が重要な系列ラベリング系のタスクには適用が難しい．そこで我々は，語順が重要な系列ラベリング系のタスクにも適用できる汎用的な水増しとして，cycleとrandpadという新たな手法を提案する．cycleは開始位置をシフトしながら各文を何度も繰り返すことで，randpadは各文の先頭と末尾に適当な単語をランダムに付加することでデータを水増しする．水増しは学習フェーズの訓練データにだけでなく推定フェーズの評価データにも適用し，水増しされたそ.れぞれのデータに対する推定結果から元のデータの推定結果を得る．以下ではcycleとrandpadのアルゴリズムを説明し，一般的なNERの公開データセット(英語)と我々の持っている電力プラントのトラブル報告書(日本語)で行なった実験について述べる．これらの実験の評価結果から，提案手法は非常にお手軽な水増しであるにも関わらず，ベースラインよりも性能向上することを示す．