感情分析に lingpipe を使用しており (このコードに従って)、トレーニング後に分類子を保存しようとしています。問題は、保存した後、ロードできないことです。
java.lang.ClassCastException: com.aliasi.classify.LMClassifier cannot be cast to com.aliasi.classify.DynamicLMClassifier
私が使用する分類子を保存するために:
AbstractExternalizable.compileTo(mClassifier, classifierFile);
そしてそれをロードするために:
mClassifier = (DynamicLMClassifier<NGramProcessLM>) AbstractExternalizable.readObject(classifierFile);
編集:前にlingpipeのjavadocを読んでおくべきでした。分類子を保存して後でロードするには、そのmClassifier
クラスは である必要がありますLMClassifier<NGramProcessLM, MultivariateEstimator>
。したがって、 に初期化できDynamicLMClassifier<NGramProcessLM>
、トレーニング フェーズ中に にキャストする必要がありDynamicLMClassifier<NGramProcessLM>
ます。この後、ロードして新しいオブジェクトを分類するために使用できます。@mjv が言ったように、これにより分類子はトレーニングできなくなります。