世論を理解することで、 あらゆるビジネスにおいてこれまでにない洞察力を引き出すことができます。 その結果、 テキストの内容を分析し、これが否定的または肯定的な感情であるかを理解する要因を抽出するプロセスである オピニオンマイニング が急速に人気が高まっています。 事前に学習した言語モデルをファインチューニングすることで、ユーザーレビューから高品質の抽出をおこなうことができますが、すべての組織がそのための十分な量の学習データにアクセスできるわけではありません。
この問題を解決するため、 Megagon Labs は拡張データを用いた半教師あり学習でチューニングをした言語モデル上に構築したオピニオンマイニングシステム、Snippextの開発を試みました。その結果、最適なパフォーマンスを維持しながら、オピニオンマイニングの言語モデルのチューニングに必要となるラベル付き学習データの量を大幅に削減できることがわかりました。
オピニオンマイニングにコストと時間がかかる理由
AmazonやYelpのようなオンラインサービスは、レビューやその他のユーザーが入力した情報から、(「部屋」、「非常に狭い」、ネガティブ)などのアスペクト 、意見、感情を絶えず抽出し、分析しています。このデータは、サービスの運営、消費者、製品などの様々な側面に関する深い洞察を提供することができます。その一方で、これらの抽出した情報をユーザーエクスペリエンスの要約として集約することで、顧客の意思決定を支援し、レビューを読み手間を省くことができます。
一般的なオピニオンマイニング手法の1つとして、BERTやXLNetなどの事前学習された言語モデルを利用する方法があります。これらのモデルは、チューニングを加えると、驚異的な精度を実現することができます。実際、いくつかの抽出タスクで最先端(SOTA)のパフォーマンスを実現することもできます。ただし、言語モデルをファインチューニングするには、やはり相当量の高品質なラベル付き学習データが必要です。
たとえば、レストランに関するアスペクト用語を抽出するSOTAでは3,841文で学習されています。これだけの量の正確なデータを習得するには、言語的な経験が必要になる場合もあり、控えめに言っても簡単なことではありません。
多くの場合、クラウドソーシングを利用すれば、ラベル付きデータを取得するためのコストを下げることができるかもしれませんが、タスクを準備し、実行し、結果を処理することは依然として非常に時間も労力もかかります。それだけではなく、異なる領域(ホテル、レストラン、雇用主など)ごとにラベル付けプロセスを繰り返さなければならないことが多くあります。
これらの困難な課題はすべて、オピニオンマイニングを活用したい多くの組織にとって大きな障壁となっています。しかし、競争力を維持するためには、多くの近代的な企業はオピニオンマイニングを正確に実行する能力を必要としています。これに対処するには、言語モデルをファインチューニングのプロセスを安価に抑え、より効率的なものにする必要があります。
Snippextの導入
前述の問題をきっかけに、Megagon Labsでは、SOTAのパフォーマンスを維持しつつ、BERTなどの言語モデルのチューニングに必要とされるラベル付き学習データの量を大幅に削減する方法を模索しました。大きな問題は、一般的に使用されるラベル付き学習データの半量(あるいはそれ以下)でSOTAのパフォーマンスに達成できるかどうかということです。
ホテルレビューから抜粋
Snippextが大規模な学習データセットの問題を克服するためには、解決すべき2つの主要な疑問点がありました。
- より高品質のサンプルを生成することで、小規模なラベル付き学習データセットからより多くの価値を得ることができるのか?
- ラベル付きデータとラベルなしデータの両方を使い、領域内の言語モデルをチューニングし、特定のタスクに対して良い結果を得ることはできるのか?
Snippextでオピニオンマイニングをより有効にする方法
Snippextは上記の疑問点に応え、2つのコンポーネントを巧みに適用することにより、少ない学習データでSOTAのパフォーマンスを実現します。
Data Augmentation(データ拡張)
データ拡張(DA)は、人間がアノテーションを行うことなく、学習データ量を自動的に増やすことができる技術です。ラベル付けされた画像に「回転」、「クロップ」、「反転」などの単純な演算子を適用することにより、より多くのラベル付けされた学習データを生成してニューラルネットワークを構築することができるなど、コンピュータビジョンの様々なタスクで有効に活用されています。
自然言語処理(NLP)では、DAは同様のアプローチで活用されます。効果的な文分類器のトレーニング方法は、キーフレーズや単語を対応する同義語に置き換えることですが、少し問題があります。同義語が限定的で、他の演算子が拡張文の意味を歪めてしまう可能性があります。このような制約を解決するために、Megagon Labsはコンピュータビジョンで人気のあるDA手法であるMixUpからヒントを得て、MixDAという新しい手法を開発しました。
MixDAは、次の2つのステップで拡張データを生成します。
1. MixDAは、オピニオンマイニングのタスクに適した一連のDA演算子を介して、テキストシーケンスを「部分的に」変換します。これにより、結果としてシーケンスが歪みにくくなります。
Snippextのデータ演算子:
- 対象外のトークンを新しいトークンに置き換える
- 対象外トークンの前後に新しいトークンを挿入する
- 対象外トークンを削除する
- 2つの対象外トークンを入れ替える
- ターゲットスパンを新しいスパンに置き換える
2. テキスト用に作成したMixUpのバージョンであるMixUpNLは、元データを含む拡張データのワードエンベッディングに対して凸型補間を行い、拡張データの潜在的なノイズをさらに低減します。
BERTのエンコーディングによる補間
結果として得られた補間を学習信号として使用します。
半教師あり学習
2番目のコンポーネントでは、Snippextは半教師付き学習(SSL)を活用します。SSL(semi-supervised learning)は、少量のラベル付き学習データと大量のラベルなし学習データの両方からモデルが学習する枠組みです。これを実現するために、MixMatchの画像からテキストへの新たに適応させたMixMatchNLを作成しました。MixMatchは限られた量のラベル付き画像を使用し、高精度の画像分類器を学習させるコンピュータビジョン技術です。
Snippextのアーキテクチャ: MixDAはラベル付けされた学習シーケンスを拡張し、補間します。MixMatchNLはさらにラベル付けされたデータとラベル付けされていないデータを組み合わせ、事前に学習された言語モデルをチューニングするための監視信号を生成します。
ラベルなし学習データによって、学習済みモデルはデータ分散全体をより一般化することができます。また、小規模な学習セットの過学習を避けることができます。MixMatchNLはこれらの利点を活かし、以下の2つのステップを通して大量のラベルなし学習データを活用することができます。
- ラベルなしデータのラベルを推測する
- MixUPnLを使用して、推測されたラベルのデータと既知のラベルのデータを補間する
コンピュータビジョンの分野では、この概念がうまく実装されています。しかし、テキストへの応用は今回が初めてです。
Snippextの評価
Megagon Labsは、SnippextのMixDAとMixMatchNLモジュールの性能を、4つの異なるサイズの学習データを用いて、2つのアスペクトベースのセンチメント分析(ABSA)タスク、アスペクト抽出(AE)とアスペクトセンチメント分類(ASC)に適用して評価しました。ここで注意すべきことは、Snippextはどの言語モデルにも縛られていないということです。実装と実験のために、BERTを使用しました…
いかがでしたか? Snippext: Better Opinion Mining With Less Training Dataのサマリーを日本語でお届けしました。Snippext: Better Opinion Mining With Less Training Dataの検証結果や展望についてはMegagon Labs 英語ブログでお楽しみください!
(翻訳:Megagon Labs Tokyo)