3

サポート ベクター マシン (SVM) を使用してドキュメント分類を行おうとしています。私が持っている書類はメールの集まりです。SVM 分類子をトレーニングするドキュメントが約 3000 個あり、分類が必要なテスト ドキュメント セットが約 700 個あります。

最初に、バイナリ DocumentTermMatrix を SVM トレーニングの入力として使用しました。テスト データを使用した分類では、約 81% の精度が得られました。DocumentTermMatrix は、いくつかのストップワードを削除した後に使用されました。

このモデルの精度を向上させたかったので、LSA/SVD ベースの次元削減を使用して、結果の削減された係数を分類モデルへの入力として使用してみました (元のバッグの 20、50、100、および 200 の特異値で試しました)。 〜3000語)。分類のパフォーマンスは、いずれの場合も悪化しました。(LSA/SVD を使用するもう 1 つの理由は、65 レベルの応答変数の 1 つに関するメモリの問題を解決することでした)。

LSA/SVD 分類のパフォーマンスを向上させる方法について、誰かがいくつかの指針を提供できますか? これは特定のデータやコードのない一般的な質問であることは認識していますが、デバッグを開始する場所について専門家からの情報をいただければ幸いです。

参考までに、テキストの前処理 (パッケージ: tm、snowball、lsa) と分類モデルの構築 (パッケージ: kernelsvm) に R を使用しています。

ありがとうございました。

4

3 に答える 3

1

ここにいくつかの一般的なアドバイスがあります-LSAに固有のものはありませんが、それでも結果を改善するのに役立つ可能性があります。

  1. 'binary documentMatrix'は、データがバイナリ値で表されていることを意味しているようです。つまり、ドキュメントに存在する用語の場合は1、存在しない用語の場合は0です。他のスコアリングスキーム(tf / idfなど)に移行すると、より良い結果が得られる可能性があります。

  2. LSAは、次元削減に適した指標である場合もありますが、そうでない場合もあります。したがって、データの正確な性質によっては、Infogainなどの追加の方法を検討することをお勧めします。

  3. 次元数を減らす主な動機が65レベルの1つのパラメーターである場合、このパラメーターを具体的に、たとえば何らかの形の量子化によって処理すると、より良いトレードオフにつながる可能性がありますか?

于 2011-11-23T08:16:41.480 に答える
1

これは、最適なカスタマイズされた回答ではない可能性があります。これらの提案が役立つことを願っています。

受け入れがたい結果を減らすために、ステミングよりもレンマタイゼーションを使用できるかもしれません。短くて濃い: http://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

The goal of both stemming and lemmatization is to reduce inflectional forms and 
sometimes derivationally related forms of a word to a common base form. 

However, the two words differ in their flavor. Stemming usually refers to a crude 
heuristic process that chops off the ends of words in the hope of achieving this 
goal correctly most of the time, and often includes the removal of derivational 
affixes. Lemmatization usually refers to doing things properly with the use of a 
vocabulary and morphological analysis of words, normally aiming to remove 
inflectional endings only and to return the base or dictionary form of a word, 
which is known as the lemma.

1 つのインスタンス:

go,goes,going ->Lemma: go,go,go ||Stemming: go, goe, go

そして、あらかじめ定義された一連のルールを使用します。短期語が一般化されるように。例えば:

I'am -> I am
should't -> should not
can't -> can not

文中の括弧の扱い方。

This is a dog(Its name is doggy)

括弧内のテキストは、言及されたエンティティのエイリアス名を参照することがよくありました。それらを削除するか、相関分析を行って新しい文として扱うことができます。

于 2014-09-27T07:20:13.073 に答える
1

グローバル LSA と比較して分類プロセスを改善できるローカル LSAを使用してみてください。さらに、LSA の能​​力はそのパラメーターに完全に依存するため、パラメーターを微調整して (1 から始めて 2 つ以上)、結果を比較してパフォーマンスを向上させてください。

于 2015-05-06T03:51:55.067 に答える