当前位置: 首页>>代码示例>>Java>>正文


Java Term.createSentiment方法代码示例

本文整理汇总了Java中ixa.kaflib.Term.createSentiment方法的典型用法代码示例。如果您正苦于以下问题:Java Term.createSentiment方法的具体用法?Java Term.createSentiment怎么用?Java Term.createSentiment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ixa.kaflib.Term的用法示例。


在下文中一共展示了Term.createSentiment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processKaf

import ixa.kaflib.Term; //导入方法依赖的package包/类
/**
 * This function predicts the polarity of a text given in the KAF format. argument is the path to the KAF file 
 * It saves tagged file to the given path + ".sent" extension.
 * 
 * @param fname
 * @return a map element containing statistics computed for the given text and 
 *          the path to the annotated file.
 */
public Map<String, String> processKaf (String fname, String lexName, boolean save) 
{
	float score = 0;
	int sentimentTerms = 0;
	try {
		KAFDocument doc = KAFDocument.createFromFile(new File(fname));
		
		KAFDocument.LinguisticProcessor newLp = doc.addLinguisticProcessor("terms", "EliXa-polarity-tagger");
		newLp.setVersion(lexName);			
		newLp.setBeginTimestamp();
		for (Term t : doc.getTerms())
		{				
			String lemma = t.getLemma();			
			
			int pol = lexicon.getScalarPolarity(lemma);				
			if (pol != 123456789)
			{
				Sentiment ts = t.createSentiment();
				switch (pol)
				{
				case 1: ts.setPolarity("positive"); break;
				case -1: ts.setPolarity("negative"); break;
				case 0: ts.setPolarity("neutral"); break;
				case 2: ts.setSentimentModifier("intensifier"); break;
				case 3: ts.setSentimentModifier("weakener"); break;
				case 4: ts.setSentimentModifier("shifter"); break;
				default: 
				}
				
				score+= lexicon.getNumericPolarity(lemma);
				//score+= pol;
				sentimentTerms++;
			}										
		}			
		newLp.setEndTimestamp();
		if (save)
		{
			doc.save(fname+".sent");
			kafResults.put("taggedFile", fname+".sent");
		}
		float avg = score / doc.getTerms().size();			
		kafResults.put("sentTermNum",String.valueOf(sentimentTerms));
		kafResults.put("avg", String.valueOf(avg));
		kafResults.put("thresh", String.valueOf(threshold));
		if (avg > threshold)
		{
			kafResults.put("polarity", "positive");
		}
		else if (avg < threshold)
		{
			kafResults.put("polarity", "negative");
		}
		else
		{
			kafResults.put("polarity", "neutral");
		}									
		
	} catch (FileNotFoundException fe) {
		System.err.println("ProcessKaf: error when loading kaf file: "+fname);
		fe.printStackTrace();
	} catch (IOException ioe) {
		System.err.println("ProcessKaf: error when loading kaf file: "+fname);
		ioe.printStackTrace();
	}							
	
	return this.kafResults;
}
 
开发者ID:Elhuyar,项目名称:Elixa,代码行数:76,代码来源:Evaluator.java


注:本文中的ixa.kaflib.Term.createSentiment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。