public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { List<String> sentence = new ArrayList<>(); List<String> tags = new ArrayList<>(); for (Parse tagNode : parse.getTagNodes()) { sentence.add(tagNode.getCoveredText()); tags.add(tagNode.getType()); } return new POSSample(sentence, tags); } else { return null; } } }
public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { Parse[] nodes = parse.getTagNodes(); String[] toks = new String[nodes.length]; String[] preds = new String[nodes.length]; for (int ti = 0; ti < nodes.length; ti++) { Parse tok = nodes[ti]; toks[ti] = tok.getCoveredText(); preds[ti] = tok.getType(); } return new POSSample(toks, preds); } else { return null; } } }
private int getTokenIndexFollowingPhrase(Parse p,Parse[] toks) { Parse[] ptok = p.getTagNodes(); Parse lastToken = ptok[ptok.length-1]; for (int ti=0,tl=toks.length;ti<tl;ti++) { if (toks[ti] == lastToken) { return(ti+1); } } return(toks.length); }
public static void fixPossesives(Parse parse) { Parse[] tags = parse.getTagNodes(); for (int ti = 0; ti < tags.length; ti++) { if (tags[ti].getType().equals("POS")) { if (ti + 1 < tags.length && tags[ti + 1].getParent() == tags[ti].getParent().getParent()) { int start = tags[ti + 1].getSpan().getStart(); int end = tags[ti + 1].getSpan().getEnd(); for (int npi = ti + 2; npi < tags.length; npi++) { if (tags[npi].getParent() == tags[npi - 1].getParent()) { end = tags[npi].getSpan().getEnd(); } else { break; } } Parse npPos = new Parse(parse.getText(), new Span(start,end), "NP", 1 , tags[ti + 1]); parse.insert(npPos); } } } }
@Test public void testTokensAreCorrect() throws IOException { try (ObjectStream<Parse> samples = new ConstitParseSampleStream(ObjectStreamUtils.createObjectStream(getSample1()))) { Parse p = samples.read(); Parse[] tagNodes = p.getTagNodes(); String[] tokens = new String[tagNodes.length]; for (int ti = 0; ti < tagNodes.length; ti++) { tokens[ti] = tagNodes[ti].getCoveredText(); } Assert.assertArrayEquals(sample1Tokens, tokens); } } }
private static boolean containsToken(String token, Parse p) { for (Parse node : p.getTagNodes()) { if (node.getCoveredText().equals(token)) return true; } return false; }
private static boolean containsToken(String token, Parse p) { for (Parse node : p.getTagNodes()) { if (node.getCoveredText().equals(token)) return true; } return false; }
private void generateWordFeatures(Parse focusNoun, List<String> features) { Parse[] toks = focusNoun.getTagNodes(); int nsi = 0; for (; nsi < toks.length - 1; nsi++) { features.add("mw=" + toks[nsi]); features.add("mt=" + toks[nsi].getType()); } features.add("hw=" + toks[nsi]); features.add("ht=" + toks[nsi].getType()); }
private void generateWordNetFeatures(Parse focusNoun, List<String> features) { Parse[] toks = focusNoun.getTagNodes(); if (toks[toks.length - 1].getType().startsWith("NNP")) { return; } //check wordnet Set<String> synsets = getSynsetSet(focusNoun); for (String synset : synsets) { features.add("s=" + synset); } }
public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { List<String> sentence = new ArrayList<>(); List<String> tags = new ArrayList<>(); for (Parse tagNode : parse.getTagNodes()) { sentence.add(tagNode.getCoveredText()); tags.add(tagNode.getType()); } return new POSSample(sentence, tags); } else { return null; } } }
Parse topParses[] = ParserTool.parseLine(line, parser, 1); Parse words[]=null; //an array to store the tokens //Loop thorugh to get the tag nodes for (Parse nodes : topParses){ words=nodes.getTagNodes(); // we will get a list of nodes } for(Parse word:words){ //Change the types according to your desired types if(word.getType().equals("NN") || word.getType().equals("NNP") || word.getType().equals("NNS")){ System.out.println(word); } }
public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { List<String> sentence = new ArrayList<>(); List<String> tags = new ArrayList<>(); for (Parse tagNode : parse.getTagNodes()) { sentence.add(tagNode.getCoveredText()); tags.add(tagNode.getType()); } return new POSSample(sentence, tags); } else { return null; } } }
while ((p = data.read()) != null) { p.updateHeads(rules); Parse[] pwords = p.getTagNodes(); String[] words = new String[pwords.length];
public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { Parse[] nodes = parse.getTagNodes(); String[] toks = new String[nodes.length]; String[] preds = new String[nodes.length]; for (int ti = 0; ti < nodes.length; ti++) { Parse tok = nodes[ti]; toks[ti] = tok.getCoveredText(); preds[ti] = tok.getType(); } return new POSSample(toks, preds); } else { return null; } } }
int endOffset = startOffset + min.length(); Parse tokens[] = p.getTagNodes();
int endOffset = startOffset + min.length(); Parse[] tokens = p.getTagNodes();
public POSSample read() throws IOException { Parse parse = samples.read(); if (parse != null) { Parse[] nodes = parse.getTagNodes(); String[] toks = new String[nodes.length]; String[] preds = new String[nodes.length]; for (int ti = 0; ti < nodes.length; ti++) { Parse tok = nodes[ti]; toks[ti] = tok.getCoveredText(); preds[ti] = tok.getType(); } return new POSSample(toks, preds); } else { return null; } } }
@Test public void testGetTagNodes() { Parse p = Parse.parseParse(PARSE_STRING); Parse[] tags = p.getTagNodes(); for (Parse node : tags) { Assert.assertTrue(node.isPosTag()); } Assert.assertEquals("PRP", tags[0].getType()); Assert.assertEquals("VBD", tags[1].getType()); Assert.assertEquals("RB", tags[2].getType()); Assert.assertEquals("DT", tags[3].getType()); Assert.assertEquals("NN", tags[4].getType()); Assert.assertEquals("IN", tags[5].getType()); Assert.assertEquals("DT", tags[6].getType()); Assert.assertEquals("NNPS", tags[7].getType()); Assert.assertEquals(",", tags[8].getType()); Assert.assertEquals("CC", tags[9].getType()); Assert.assertEquals("PRP", tags[10].getType()); Assert.assertEquals("VBD", tags[11].getType()); Assert.assertEquals("RB", tags[12].getType()); Assert.assertEquals("JJ", tags[13].getType()); Assert.assertEquals("IN", tags[14].getType()); Assert.assertEquals("PRP$", tags[15].getType()); Assert.assertEquals("NN", tags[16].getType()); Assert.assertEquals(".", tags[17].getType()); } }
public static void fixPossesives(Parse parse) { Parse[] tags = parse.getTagNodes(); for (int ti = 0; ti < tags.length; ti++) { if (tags[ti].getType().equals("POS")) { if (ti + 1 < tags.length && tags[ti + 1].getParent() == tags[ti].getParent().getParent()) { int start = tags[ti + 1].getSpan().getStart(); int end = tags[ti + 1].getSpan().getEnd(); for (int npi = ti + 2; npi < tags.length; npi++) { if (tags[npi].getParent() == tags[npi - 1].getParent()) { end = tags[npi].getSpan().getEnd(); } else { break; } } Parse npPos = new Parse(parse.getText(), new Span(start,end), "NP", 1 , tags[ti + 1]); parse.insert(npPos); } } } }
public static void fixPossesives(Parse parse) { Parse[] tags = parse.getTagNodes(); for (int ti = 0; ti < tags.length; ti++) { if (tags[ti].getType().equals("POS")) { if (ti + 1 < tags.length && tags[ti + 1].getParent() == tags[ti].getParent().getParent()) { int start = tags[ti + 1].getSpan().getStart(); int end = tags[ti + 1].getSpan().getEnd(); for (int npi = ti + 2; npi < tags.length; npi++) { if (tags[npi].getParent() == tags[npi - 1].getParent()) { end = tags[npi].getSpan().getEnd(); } else { break; } } Parse npPos = new Parse(parse.getText(), new Span(start,end), "NP", 1 , tags[ti + 1]); parse.insert(npPos); } } } }