List of usage examples for edu.stanford.nlp.trees Tree labeledYield
public List<LabeledWord> labeledYield()
From source file:edu.rpi.tw.linkipedia.search.nlp.NaturalLanguageProcessor.java
License:Open Source License
public String printTree(Tree tree) { List<LabeledWord> words = tree.labeledYield(); String currentPhrase = ""; for (LabeledWord word : words) { if (!(word.tag().toString().matches("[A-Z]+"))) continue; currentPhrase += word.word() + "|" + word.tag() + " "; }// ww w . j a v a 2s.c om System.out.println("Phrase: " + currentPhrase); return currentPhrase; }
From source file:edu.rpi.tw.linkipedia.search.nlp.NaturalLanguageProcessor.java
License:Open Source License
private List<String> getNounPhraseFromParseTree(Tree parse) { List<String> phraseList = new ArrayList<String>(); for (Tree subtree : parse) { if (subtree.label().value().equals("NP")) { String subtreeString = subtree.toString(); if (subtreeString.lastIndexOf("(NP") != subtreeString.indexOf("(NP")) continue; //System.out.println(subtree); List<LabeledWord> words = subtree.labeledYield(); String currentPhrase = ""; for (LabeledWord word : words) { currentPhrase += word.word() + "|" + word.tag() + " "; }// w w w .jav a 2 s . co m currentPhrase = currentPhrase.trim(); phraseList.add(currentPhrase); } } return phraseList; }
From source file:reactivetechnologies.sentigrade.engine.nlp.SentimentAnalyzer.java
License:Apache License
private double calcPOSNoun(Tree parse) { TregexPattern pattern = TregexPattern.compile("@NN"); TregexMatcher matcher = pattern.matcher(parse); double score = 0.0; while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractNoun(t + ""); }/*w w w . ja va 2 s . com*/ List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Noun Labels: " + labeledYield); } LOG.debug("Sentinet: " + score); return score; }
From source file:reactivetechnologies.sentigrade.engine.nlp.SentimentAnalyzer.java
License:Apache License
private double calcPOSAdv(Tree parse) { TregexPattern pattern = TregexPattern.compile("@RB"); TregexMatcher matcher = pattern.matcher(parse); double score = 0.0; while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdv(t + ""); }//from w w w. jav a 2s.c om List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adv Labels: " + labeledYield); } pattern = TregexPattern.compile("@RBR"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdv(t + ""); } // System.out.println("Adj: " + leaves); List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adv Labels: " + labeledYield); } pattern = TregexPattern.compile("@RBS"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdv(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adv Labels: " + labeledYield); } pattern = TregexPattern.compile("@ADVP"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdv(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adv Labels: " + labeledYield); } LOG.debug("Sentinet: " + score); return score; }
From source file:reactivetechnologies.sentigrade.engine.nlp.SentimentAnalyzer.java
License:Apache License
private double calcPOSVerb(Tree parse) { TregexPattern pattern = TregexPattern.compile("@VB"); TregexMatcher matcher = pattern.matcher(parse); double score = 0.0; while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); }/*from www. j av a 2 s . c o m*/ List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Verb Labels: " + labeledYield); } pattern = TregexPattern.compile("@VBD"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("verb Labels: " + labeledYield); } pattern = TregexPattern.compile("@VBG"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("verb Labels: " + labeledYield); } pattern = TregexPattern.compile("@VBZ"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("verb Labels: " + labeledYield); } pattern = TregexPattern.compile("@VBN"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("verb Labels: " + labeledYield); } pattern = TregexPattern.compile("@VBP"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractVerb(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("verb Labels: " + labeledYield); } LOG.debug("Sentinet: " + score); return score; }
From source file:reactivetechnologies.sentigrade.engine.nlp.SentimentAnalyzer.java
License:Apache License
private double calcPOSAdj(Tree parse) { TregexPattern pattern = TregexPattern.compile("@JJ"); TregexMatcher matcher = pattern.matcher(parse); double score = 0.0; while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdj(t + ""); }/*from w w w . j av a 2s. c om*/ List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adj Labels: " + labeledYield); } pattern = TregexPattern.compile("@JJR"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdj(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adj Labels: " + labeledYield); } pattern = TregexPattern.compile("@JJS"); matcher = pattern.matcher(parse); while (matcher.find()) { Tree match = matcher.getMatch(); List<Tree> leaves = match.getLeaves(); if (sentiNet.isLoaded()) { for (Tree t : leaves) score += sentiNet.extractAdj(t + ""); } List<LabeledWord> labeledYield = match.labeledYield(); LOG.debug("Adj Labels: " + labeledYield); } LOG.debug("Sentinet: " + score); return score; }