如何训练Stanford CoreNLP以识别其他语言的情感?

3

我正在使用CoreNLP来计算给定文本的情感分析。我已经成功地对英语执行了它。我需要为其他语言(如印地语)执行相同的操作。请问如何训练系统并将其用于其他语言?下面是英语代码:

Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
String text = "I love the display of iPhone but hate its battery life";
Annotation annotation = pipeline.process(text);
for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
   Tree tree = sentence.get(SentimentCoreAnnotations.AnnotatedTree.class);
   int sentiment = RNNCoreAnnotations.getPredictedClass(tree);
   System.out.println(sentiment);
}                

需要一个PTB格式的数据集来训练系统。我可以从命令行看到,可以使用以下命令进行训练:$ java -cp "*" edu.stanford.nlp.sentiment.SentimentTraining -numHid 25 -trainPath train.txt devPath dev.txt -train -model model.ser.gz但是,如何将其用于其他语言呢? - Hari
在我拥有PTB文件之后,我想知道是否有参数可以指示系统正在训练印地语,并且输入的文本是印地语,因此使用印地语执行情感分析。 - Hari
1个回答

2

有关培训Stanford NLP RNTN的信息由mbatchkarov提供

总体而言,非英语情感分析仍在发展中,许多方法 - 特别是那些超越单词袋 (bag-of-words) 的方法 - 可能需要进行重大改进才能适用于另一种语言。例如,土耳其语或德语这样的聚合语言(即将许多单词压缩成一个大单词的语言)在许多文本挖掘和情感分析任务上甚至都无法很好地运行。

尝试谷歌搜索印地语的情感分析。我找到了一篇有趣的论文,由Mittal等人写作。


谢谢您的回复和指引。我会仔细阅读这篇论文。 - Hari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接