2

Naive Bayes アルゴリズムを使用して、スパムまたは非スパムのテキスト分類問題を考えてみましょう。

質問は次のとおりです。

ドキュメント W についてどのように予測しますか = その単語セットに、モデルではまったく見られなかった新しい単語 wordX がある場合 (そのため、ラプラス平滑化確率が推定されていません)。

関連付けられている可能性がないため、現在のテキストに表示されていたとしても、その wordX を無視するのが通常のことですか? つまり、この問題を解決するためにラプラス スムージングが使用されることがありますが、その単語が決定的に新しい場合はどうでしょうか。

私が考えた解決策のいくつか:

1)分類を推定する際にその単語を無視するだけです(最も単純ですが、間違っていることもあります...?ただし、トレーニングセットが十分に大きい場合は、これがおそらく最善の方法です。あなたの機能を想定するのが合理的だと思います1M または 20M のデータがある場合は、十分に選択されています)。

2) その単語をモデルに追加し、モデルを完全に変更します。これは、語彙が変更されたため、どこでも確率を変更する必要があるためです (ただし、これには問題があります。これは、特に分析が 1M ドキュメントの場合、モデルを頻繁に更新する必要があることを意味する可能性があるためです)。 、 いう)

私はこれについていくつかの調査を行い、Dan Jurafsky NLP と NB のスライドを読み、coursera でいくつかのビデオを見て、いくつかの研究論文に目を通しましたが、役に立つと思うものを見つけることができませんでした。この問題はまったく新しいものではなく、何か (ヒューリスティック..?) があるはずです。そうでない場合は、それも知っておくとよいでしょう。

これがコミュニティにとって有用な投稿であることを願っています。事前に感謝します。

PS: 私が見た解決策の 1 つを使用して問題をもう少し明確にするために、スパムに未知の新しい単語 wordX があるとします。その単語に対して、1/ count(spams) + |Vocabulary を実行できます。 + 1|、私がそのようなことをする際に抱えている問題は、語彙のサイズを変更すると、分類するすべての新しいドキュメントに新しい機能と語彙の単語があるということですか? このビデオはその問題を解決しようとしているように見えますが、それが良いことなのか、それとも誤解していたのかはわかりません。

https://class.coursera.org/nlp/lecture/26

4

1 に答える 1

2

実用的な観点から(これがあなたが求めているすべてではないことに注意してください)、次のフレームワークをお勧めします。

  1. 初期トレーニング セットを使用してモデルをトレーニングし、それを分類に使用する

  2. (現在のモデルに関して) 新しい単語が現れるたびに、何らかの平滑化方法を使用してそれを説明します。たとえば、質問で提案されているように、ラプラス平滑化は良い出発点かもしれません。

  3. (通常は元のトレーニング セットに加えて) 新しいデータを使用してモデルを定期的に再トレーニングし、新しい用語などの問題領域の変更を考慮します。これは、あらかじめ設定された間隔で行うことができます。いくつかの未知の単語に遭遇した後、またはオンラインの方法で、つまり各入力ドキュメントの後。

この再トレーニング手順は手動で行うことができます。たとえば、不明な用語を含むすべてのドキュメントを収集し、それらに手動でラベルを付けて再トレーニングします。または、半教師付き学習方法を使用します。たとえば、最高スコアのスパム/非スパム ドキュメントをそれぞれのモデルに自動的に追加します。

これにより、モデルが常に最新の状態に保たれ、新しい用語が考慮されるようになります - 時々それらをモデルに追加し、その前にそれらを考慮に入れることによって (単純にそれらを無視することは通常良い考えではありません)。

于 2013-07-22T21:38:30.313 に答える