public static Parse[] getInitialChunks(Parse p) { List<Parse> chunks = new ArrayList<>(); getInitialChunks(p, chunks); return chunks.toArray(new Parse[chunks.size()]); }
private static void getInitialChunks(Parse p, List<Parse> ichunks) { if (p.isPosTag()) { ichunks.add(p); } else { Parse[] kids = p.getChildren(); boolean allKidsAreTags = true; for (int ci = 0, cl = kids.length; ci < cl; ci++) { if (!kids[ci].isPosTag()) { allKidsAreTags = false; break; } } if (allKidsAreTags) { ichunks.add(p); } else { for (int ci = 0, cl = kids.length; ci < cl; ci++) { getInitialChunks(kids[ci], ichunks); } } } }
@Override protected Iterator<Event> createEvents(Parse sample) { List<Event> newEvents = new ArrayList<>(); Parse.pruneParse(sample); if (fixPossesives) { Parse.fixPossesives(sample); } sample.updateHeads(rules); Parse[] chunks = getInitialChunks(sample); if (etype == ParserEventTypeEnum.TAG) { addTagEvents(newEvents, chunks); } else if (etype == ParserEventTypeEnum.CHUNK) { addChunkEvents(newEvents, chunks); } else { addParseEvents(newEvents, Parser.collapsePunctuation(chunks,punctSet)); } return newEvents.iterator(); }
public static Parse[] getInitialChunks(Parse p) { List<Parse> chunks = new ArrayList<>(); getInitialChunks(p, chunks); return chunks.toArray(new Parse[chunks.size()]); }
public static Parse[] getInitialChunks(Parse p) { List<Parse> chunks = new ArrayList<>(); getInitialChunks(p, chunks); return chunks.toArray(new Parse[chunks.size()]); }
private static void getInitialChunks(Parse p, List<Parse> ichunks) { if (p.isPosTag()) { ichunks.add(p); } else { Parse[] kids = p.getChildren(); boolean allKidsAreTags = true; for (int ci = 0, cl = kids.length; ci < cl; ci++) { if (!kids[ci].isPosTag()) { allKidsAreTags = false; break; } } if (allKidsAreTags) { ichunks.add(p); } else { for (int ci = 0, cl = kids.length; ci < cl; ci++) { getInitialChunks(kids[ci], ichunks); } } } }
private static void getInitialChunks(Parse p, List<Parse> ichunks) { if (p.isPosTag()) { ichunks.add(p); } else { Parse[] kids = p.getChildren(); boolean allKidsAreTags = true; for (int ci = 0, cl = kids.length; ci < cl; ci++) { if (!kids[ci].isPosTag()) { allKidsAreTags = false; break; } } if (allKidsAreTags) { ichunks.add(p); } else { for (int ci = 0, cl = kids.length; ci < cl; ci++) { getInitialChunks(kids[ci], ichunks); } } } }
@Override protected Iterator<Event> createEvents(Parse sample) { List<Event> newEvents = new ArrayList<>(); Parse.pruneParse(sample); if (fixPossesives) { Parse.fixPossesives(sample); } sample.updateHeads(rules); Parse[] chunks = getInitialChunks(sample); if (etype == ParserEventTypeEnum.TAG) { addTagEvents(newEvents, chunks); } else if (etype == ParserEventTypeEnum.CHUNK) { addChunkEvents(newEvents, chunks); } else { addParseEvents(newEvents, Parser.collapsePunctuation(chunks,punctSet)); } return newEvents.iterator(); }
@Override protected Iterator<Event> createEvents(Parse sample) { List<Event> newEvents = new ArrayList<>(); Parse.pruneParse(sample); if (fixPossesives) { Parse.fixPossesives(sample); } sample.updateHeads(rules); Parse[] chunks = getInitialChunks(sample); if (etype == ParserEventTypeEnum.TAG) { addTagEvents(newEvents, chunks); } else if (etype == ParserEventTypeEnum.CHUNK) { addChunkEvents(newEvents, chunks); } else { addParseEvents(newEvents, Parser.collapsePunctuation(chunks,punctSet)); } return newEvents.iterator(); }