TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) {
protected String getChunkTag(Node node, String parent, int index) { String tag = node.getSyntacticTag(); String phraseTag = tag.substring(tag.lastIndexOf(":") + 1); while (phraseTag.endsWith("-")) { phraseTag = phraseTag.substring(0, phraseTag.length() - 1); } if("adjp".equals(phraseTag) && !"NP".equals(parent)) { phraseTag = "np"; } // maybe we should use only np, vp and pp, but will keep ap and advp. if (phraseTag.equals("np") || phraseTag.equals("vp") || phraseTag.equals("pp") || phraseTag.equals("ap") || phraseTag.equals("advp") // || phraseTag.equals("adjp") // || phraseTag.equals("cu") // || phraseTag.equals("sq") ) { phraseTag = phraseTag.toUpperCase(); } else { phraseTag = OTHER; } return phraseTag; }
BufferedReader reader = new BufferedReader(new StringReader(sentenceString)); Sentence sentence = new Sentence(); Node root = new Node(); try { root.setSyntacticTag("ROOT"); root.setLevel(0); nodeStack.add(root); && element.getLevel() <= nodeStack.peek().getLevel()) { Node nephew = nodeStack.pop(); root.addElement(element); } else { nodeStack.firstElement().addElement(element); } else { Node parent = null; int index = nodeStack.size() - 1; while (parent == null) { if (peek.getLevel() < element.getLevel()) { parent = peek; } else { parent.addElement(element); if (!nodeStack.isEmpty() && nodeStack.peek().getLevel() < element.getLevel()) { nodeStack.peek().addElement(element); } else {
BufferedReader reader = new BufferedReader(new StringReader(sentenceString)); Sentence sentence = new Sentence(); Node root = new Node(); try { root.setSyntacticTag("ROOT"); root.setLevel(0); nodeStack.add(root); && element.getLevel() <= nodeStack.peek().getLevel()) { Node nephew = nodeStack.pop(); root.addElement(element); } else { nodeStack.firstElement().addElement(element); } else { Node parent = null; int index = nodeStack.size() - 1; while (parent == null) { if (peek.getLevel() < element.getLevel()) { parent = peek; } else { parent.addElement(element); if (!nodeStack.isEmpty() && nodeStack.peek().getLevel() < element.getLevel()) { nodeStack.peek().addElement(element); } else {
int level = nodeMatcher.group(1).length() + 1; String syntacticTag = nodeMatcher.group(2); Node node = new Node(); node.setLevel(level); node.setSyntacticTag(syntacticTag); return node;
int level = nodeMatcher.group(1).length() + 1; String syntacticTag = nodeMatcher.group(2); Node node = new Node(); node.setLevel(level); node.setSyntacticTag(syntacticTag); return node;
BufferedReader reader = new BufferedReader(new StringReader(sentenceString)); Sentence sentence = new Sentence(); Node root = new Node(); try { root.setSyntacticTag("ROOT"); root.setLevel(0); nodeStack.add(root); && element.getLevel() <= nodeStack.peek().getLevel()) { Node nephew = nodeStack.pop(); root.addElement(element); } else { nodeStack.firstElement().addElement(element); } else { Node parent = null; int index = nodeStack.size() - 1; while (parent == null) { if (peek.getLevel() < element.getLevel()) { parent = peek; } else { parent.addElement(element); if (!nodeStack.isEmpty() && nodeStack.peek().getLevel() < element.getLevel()) { nodeStack.peek().addElement(element); } else {
TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) {
TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) {
TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) {
TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) {
return super.getChunkTag(node, parent, index); else { String tag = node.getSyntacticTag(); String funcTag = tag.substring(0, tag.lastIndexOf(":"));
return super.getChunkTag(node, parent, index); else { String tag = node.getSyntacticTag(); String funcTag = tag.substring(0, tag.lastIndexOf(":"));
private void processNode(Node node, List<String> sentence, List<String> lemmas, List<String> tags, List<String> target, String inheritedTag) { String phraseTag = getChunkTag(node.getSyntacticTag()); boolean inherited = false; if (phraseTag.equals("O") && inheritedTag != null) { phraseTag = inheritedTag; inherited = true; } TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) { boolean isIntermediate = false; if (i > 0 && elements[i - 1].isLeaf() && phraseTag != null && !phraseTag.equals("O")) { isIntermediate = true; } if (inherited && target.size() > 0 && target.get(target.size() - 1).endsWith(phraseTag)) { isIntermediate = true; } processLeaf((Leaf) elements[i], isIntermediate, phraseTag, sentence, lemmas, tags, target); } else { processNode((Node) elements[i], sentence, lemmas, tags, target, phraseTag); } } }
protected String getChunkTag(Node node, String parent, int index) { String tag = node.getSyntacticTag(); String phraseTag = tag.substring(tag.lastIndexOf(":") + 1); while (phraseTag.endsWith("-")) { phraseTag = phraseTag.substring(0, phraseTag.length() - 1); } if("adjp".equals(phraseTag) && !"NP".equals(parent)) { phraseTag = "np"; } // maybe we should use only np, vp and pp, but will keep ap and advp. if (phraseTag.equals("np") || phraseTag.equals("vp") || phraseTag.equals("pp") || phraseTag.equals("ap") || phraseTag.equals("advp") // || phraseTag.equals("adjp") // || phraseTag.equals("cu") // || phraseTag.equals("sq") ) { phraseTag = phraseTag.toUpperCase(); } else { phraseTag = OTHER; } return phraseTag; }
private void processNode(Node node, List<String> sentence, List<String> lemmas, List<String> tags, List<String> target, String inheritedTag) { String phraseTag = getChunkTag(node.getSyntacticTag()); boolean inherited = false; if (phraseTag.equals("O") && inheritedTag != null) { phraseTag = inheritedTag; inherited = true; } TreeElement[] elements = node.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].isLeaf()) { boolean isIntermediate = false; if (i > 0 && elements[i - 1].isLeaf() && phraseTag != null && !phraseTag.equals("O")) { isIntermediate = true; } if (inherited && target.size() > 0 && target.get(target.size() - 1).endsWith(phraseTag)) { isIntermediate = true; } processLeaf((Leaf) elements[i], isIntermediate, phraseTag, sentence, lemmas, tags, target); } else { processNode((Node) elements[i], sentence, lemmas, tags, target, phraseTag); } } }
/** * Recursive method to process a node in Arvores Deitadas format. * * @param node * the node to be processed * @param sentence * the sentence tokens we got so far * @param names * the names we got so far */ private void process(Node node, List<String> sentence, List<Span> names) { if (node != null) { for (TreeElement element : node.getElements()) { if (element.isLeaf()) { processLeaf((Leaf) element, sentence, names); } else { process((Node) element, sentence, names); } } } }
/** * Recursive method to process a node in Arvores Deitadas format. * * @param node * the node to be processed * @param sentence * the sentence tokens we got so far * @param names * the names we got so far */ private void process(Node node, List<String> sentence, List<Span> names) { if (node != null) { for (TreeElement element : node.getElements()) { if (element.isLeaf()) { processLeaf((Leaf) element, sentence, names); } else { process((Node) element, sentence, names); } } } }
/** * Recursive method to process a node in Arvores Deitadas format. * * @param node * the node to be processed * @param sentence * the sentence tokens we got so far * @param names * the names we got so far */ private void process(Node node, List<String> sentence, List<Span> names) { if (node != null) { for (TreeElement element : node.getElements()) { if (element.isLeaf()) { processLeaf((Leaf) element, sentence, names); } else { process((Node) element, sentence, names); } } } }
/** * Recursive method to process a node in Arvores Deitadas format. * * @param node * the node to be processed * @param sentence * the sentence tokens we got so far * @param names * the names we got so far */ private void process(Node node, List<String> sentence, List<Span> names) { if (node != null) { for (TreeElement element : node.getElements()) { if (element.isLeaf()) { processLeaf((Leaf) element, sentence, names); } else { process((Node) element, sentence, names); } } } }