私は現在、Stanford Classifier (2013 年 4 月 4 日にリリースされたバージョン 2.1.8) に取り組んでおり、内部研究プロジェクト用の Java ラッパーを作成しています。ClassifierDemo.java (Classifier zip ファイルに付属) に基づいて、シリアル化されたトレーニング済みモデルとプロパティ ファイルを呼び出して、一度に 1 つの文字列を処理することができました。スタンフォード分類子はファイルのみを処理できることに注意してください。入力文字列が読み取られて一時ファイルに保存されると、分類子はその処理を開始します。メソッドtrainedClassifier.classOfは、トレーニングされたモデル(myClassifier.ser.gz)を使用して、指定された文字列のクラスを出力できます。ただし、信頼スコアを一緒に出力する方法が見つかりません (参照: http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/classify/ColumnDataClassifier.html )。
欲望の出力は文字列ですカテゴリ: ダミー信頼スコア: 0.85
以下は、ラッパーで使用する Java クラス/メソッドです。
//.....
LinearClassifier<String, String> trainedClassifier =
IOUtils.readObjectFromFile("myClassifier.ser.gz");
//Have to call *.prop every time
ColumnDataClassifier myProp =
new ColumnDataClassifier("myClassifierProp.prop");
//Specify the temporary one sentence file saved in class-tmp.txt
for (String line : ObjectBank.getLineIterator("class-tmp.txt"))
{ Datum<String,String> classType = myProp.makeDatumFromLine(line, 0);
classOutput = trainedClassifier.classOf(classType);
System.out.println("stringCategory: "+ classOutput + "/n");
//end of for
//.....