HanLP情感分析java可以执行的完整代码
时间: 2024-03-21 10:38:43 浏览: 218
以下是 HanLP 在 Java 中进行情感分析的完整代码:
```java
import com.hankcs.hanlp.classification.classifiers.NaiveBayesClassifier;
import com.hankcs.hanlp.classification.corpus.ClassPathCorpusLoader;
import com.hankcs.hanlp.classification.models.NaiveBayesModel;
import com.hankcs.hanlp.classification.tokenizers.NGramTokenizer;
import com.hankcs.hanlp.classification.utilities.TextUtility;
import com.hankcs.hanlp.utility.TestUtility;
import java.io.IOException;
public class HanLPSentimentAnalysisDemo {
public static void main(String[] args) throws IOException {
// 1. 加载训练集
ClassPathCorpusLoader corpusLoader = new ClassPathCorpusLoader();
corpusLoader.load("ClassicsCorpus/SogouC.mini");
// 2. 构建模型
NaiveBayesModel model = NaiveBayesModel.train(corpusLoader.getCategories(),
corpusLoader.getDocuments(), TextUtility::normalizeText, new NGramTokenizer(1, 2));
// 3. 保存模型
model.save("sentiment.m");
// 4. 加载模型
model = new NaiveBayesModel("sentiment.m");
// 5. 使用模型进行情感分析
NaiveBayesClassifier classifier = new NaiveBayesClassifier(model);
String text = "这是一篇正面的文章";
System.out.println(text + " 的情感极性是 " + classifier.classify(text));
text = "这是一篇负面的文章";
System.out.println(text + " 的情感极性是 " + classifier.classify(text));
// 6. 测试模型
TestUtility.testClassifier(classifier, corpusLoader.getCorpus());
}
}
```
需要导入的包括:
```java
import com.hankcs.hanlp.classification.classifiers.NaiveBayesClassifier;
import com.hankcs.hanlp.classification.corpus.ClassPathCorpusLoader;
import com.hankcs.hanlp.classification.models.NaiveBayesModel;
import com.hankcs.hanlp.classification.tokenizers.NGramTokenizer;
import com.hankcs.hanlp.classification.utilities.TextUtility;
import com.hankcs.hanlp.utility.TestUtility;
import java.io.IOException;
```
该代码加载了一个小型的训练集,构建了朴素贝叶斯分类器,对两个文本进行情感分析,并测试了模型的准确性。
阅读全文