3

サポートベクターマシン(SVM)を使用してドキュメント分類を実行しようとしています。私が持っているドキュメントは、電子メールのコレクションです。私はSVM分類器を訓練するために約3000の文書を持っており、私は分類が必要な約700の試験文書セットを持っています。LSA/SVDを使用したドキュメント分類

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

私はこのモデルの精度を向上させたいので、LSA/SVDに基づく次元削減を使用して、結果として得られた縮小係数を分類モデルの入力として使用しようとしました(20,50,100,200個の特異値を約3000語の元の袋)。それぞれのケースで分類の性能が悪化した。 (LSA/SVDを使用する別の理由は、65レベルのレスポンス変数の1つでメモリの問題を克服することでした)。

誰かがLSA/SVD分類のパフォーマンスを改善する方法に関するいくつかの指針を提供できますか?これは特定のデータやコードがない一般的な質問ですが、どこからデバッグを開始するのかに関する専門家の意見を参考にしてください。そして建物の分類モデル(パッケージ:kernelsvm)

ありがとう:

FYI、私は、テキストの前処理(TM、雪だるま、LSAパッケージ)を行うためのRを使用しています。

+0

分類の際に同じ低いランク変換を使用しましたか?テスト文書ベクトルも次元を小さくする必要があります。 – adi

答えて

1

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

  1. 「バイナリdocumentMatrix」は、データ、すなわち、文書内の既存の用語のための1、および非存在用語0、バイナリ値で表されている意味すると思われます。他の得点スキーム (たとえば、tf/idf)に移動すると、より良い結果が得られる可能性があります。

  2. LSAは場合によっては縮小には適していますが、それ以外の場合はそれほど効果的ではありません。したがって、データの正確な性質に応じて、追加の方法を検討することをお勧めします。インフォゲイン。

  3. 次元を縮小する主なインセンティブが65レベルの1つのパラメータであれば、このパラメータを具体的に扱うことができます。ある種の量子化によって、より良いトレードオフにつながるでしょうか?

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. 

つのインスタンス:

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) 

括弧内のテキストは、前述のエンティティのエイリアス名と呼ばれることがよくあります。それらを削除するか、correference analysisを実行して、新しい文として扱います。

1

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

関連する問題