トレーニング目的に使用できる2番目のメソッドは、サポート・ベクター・マシン(SVM)分類です。SVMは、統計学習理論から派生した、学習アルゴリズム・タイプのマシンです。SVM分類の特徴は、非常に小さいサンプル・セットから学習する機能です。
SVM分類を使用すると、意思決定ツリー分類を使用した場合とほぼ同じ結果が得られますが、次の違いがあります。
CTX_CLS.TRAIN
のコールで使用するプリファレンスは、RULE_CLASSIFIER
ではなくSVM_CLASSIFIER
と同じタイプになります。(属性を変更しない場合、事前定義済のプリファレンスCTXSYS.SVM_CLASSIFIER
を使用できます。)
表のCONTEXT
索引を移入する必要がないため、NOPOPULATE
キーワードを使用できます。これは、データソースおよびフィルタのプリファレンスによってテキストのソースを検索し、レクサーおよびセクショナのプリファレンスを介してテキストの処理方法を決定する場合にのみ使用されます。
生成済ルールの表には、(最小限)次の列がある必要があります。
cat_id number, type number, rule blob;
見てわかるように、生成されたルールはBLOB
列に書き込まれます。そのため、これはユーザーにはわかりにくく、意思決定ツリー分類ルールの場合とは異なり、編集も変更もできません。ここでのトレードオフは、通常、SVMを使用すると、意思決定ツリー分類を使用した場合よりもはるかに高い正確性が得られる点です。
SVM分類では、割当てメモリーはSVMモデルをロードするのに十分な大きさである必要があります。十分でない場合は、SVMに基づいて作成されたアプリケーションでメモリー不足エラーが発生します。メモリー割当ての計算方法は次のとおりです。
Minimum memory request (in bytes) = number of unique categories x number of features example: (value of MAX_FEATURES attributes) x 8
最小限のメモリー要件と一致させる必要がある場合は、次のいずれかを行います。
SGAメモリーの増加(共有サーバー・モードの場合)
PGAメモリーの増加(専用サーバー・モードの場合)