テキスト分類にSMOTEをどのように適用しますか?


13

Synthetic Minority Oversampling Technique(SMOTE)は、データセットの不均衡問題で使用されるオーバーサンプリング技術です。これまでのところ、これを一般的な構造化データに適用する方法について考えています。しかし、テキスト分類問題にそれを適用することは可能ですか?データのどの部分をオーバーサンプリングする必要がありますか?それについてはすでに別の質問がありますが、答えはありません。どこから始めればよいでしょうか?

回答:


11

実際、NLPは不均衡な問題(スパムフィルタリング、侮辱的なコメントの検出、記事の分類など)を扱うテキスト分類タスクが多いため、データのリサンプリングが必要とされる最も一般的な領域の1つです。しかし、SMOTEはいくつかの理由でここで問題があるようです。

  • SMOTEはフィーチャー空間で機能します。これは、SMOTEの出力が、その特徴空間内のテキストを実際に表す合成データではないことを意味します。
  • 一方では、SMOTEはKNNと連携して動作しますが、他方では、NLP問題の特徴空間は劇的に大きくなります。KNNはこれらの巨大な次元で簡単に失敗します。

だから私はあなたに2つのアプローチを提案することができます:

  1. 新しい合成サンプルの実際のテキスト表現は問題ないと思います。テキストデータの読者ではなく、分類子の分布のバランスをとる必要があります。したがって、従来の方法でSMOTEを適用します(ただし、通常は以下のソリューション2を使用するため、結果を保証しません)。

1)3-NNを使用してマイナークラスからのデータサンプルをdoubleにしたいとします。メジャークラスを無視し、マイナークラスのサンプルのみを保持します。

2)特徴空間の各サンプルポイントについて、5つの最近傍点を選択します。次に、それらの3つをランダムに選択します(不必要に複雑ではないですか?元のアルゴリズムを説明したくない場合は、3つの近傍を選択するだけです!)

3)各次元について、サンプルと隣人の間の距離を計算し、それを0〜1の乱数で乗算して、その次元のサンプルの元の値に追加します。(この複雑な段落は、各次元について、元のサンプルとその隣のサンプルの間でランダムな値を選択することを意味します!)

  1. しかし、私は通常、テキスト上にある(非常に直感的な)もう1つのオーバーサンプリングを行い、一種のSMOTEです。

k=2

メートルメートルkk


回答ありがとうございます。サンプルがワンホットエンコーディングを使用して表されている場合、サンプルにSMOTEを適用できますか?または、別の方法で表す必要がありますか?
adnanmuttaleb

こんにちはKasra、あなたはあなたが述べたステップに関連するいくつかの実装を共有できますか
Payal Bhatia

2

さらに多くのテキスト/文の書き直しデータを追加したい場合は、事前トレーニング済みの単語の埋め込みを使用できます。などの事前学習済みモデルは、すべての辞書単語の単語ベクトル表現を提供します。また、「most_smiliar」という単語も提供します。

単純にサンプル文を使用し、最もTOP_N個の類似した単語ですべての単語の順列を行うことにより、新しいサンプルを生成できます。

たとえば、文に3つの単語があり、各単語に最も類似する3つを選択した場合、27倍にアップサンプリングできます。


こんにちはYashodhan、ドメイン固有の場合、このプロセスをどのように使用できますか?ありがとう
Payal Bhatia
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.