1
1 백만 개의 레이블이 지정된 문장의 데이터 세트가 있으며 최대 엔트로피를 통해 정서를 찾는 데 사용합니다. 각 전체 데이터 세트가 읽고있는 트윗에 대한자바에서 훈련 된 스탠포드 분류기 저장 및로드
public class MaximumEntropy {
static ColumnDataClassifier cdc;
public static float calMaxEntropySentiment(String text) {
initializeProperties();
float sentiment = (getMaxEntropySentiment(text));
return sentiment;
}
public static void initializeProperties() {
cdc = new ColumnDataClassifier(
"\\stanford-classifier-2016-10-31\\properties.prop");
}
public static int getMaxEntropySentiment(String tweet) {
String filteredTweet = TwitterUtils.filterTweet(tweet);
System.out.println("Reading training file");
Classifier<String, String> cl = cdc.makeClassifier(cdc.readTrainingExamples(
"\\stanford-classifier-2016-10-31\\labelled_sentences.txt"));
Datum<String, String> d = cdc.makeDatumFromLine(filteredTweet);
System.out.println(filteredTweet + " ==> " + cl.classOf(d) + " " + cl.scoresOf(d));
// System.out.println("Class score is: " +
// cl.scoresOf(d).getCount(cl.classOf(d)));
if (cl.classOf(d) == "0") {
return 0;
} else {
return 4;
}
}
}
내 데이터가 이제 0 또는 1을 표시하고이 데이터 세트의 크기를 고려하여 시간이 많이 걸리는 - : 나는 같은 스탠포드 분류를 사용하고 있습니다. 내 쿼리는 분류기를 처음으로 훈련시킨 다음 트윗의 정서를 찾을 때로드합니다. 나는이 접근법이 더 적은 시간이 걸릴 것이라고 생각한다. 내가 틀렸다면 나를 바로 잡아라. 다음 링크는 이것을 제공하지만 JAVA API에는 아무 것도 없습니다. Saving and Loading Classifier 도움을 주시면 감사하겠습니다.
당신에게 너무 감사합니다
이 분류를 읽으려면 여기 유용한 도우미는
IOUtils
클래스 –