private static void addPhraseHead(List<TerminalTreebankNode> headList, TerminalTreebankNode newHead) { int insertPos = 0; for(int i=headList.size();i>0;i--) { if(newHead.getEnd() > headList.get(i-1).getEnd()) { insertPos = i; break; } else if(newHead.getEnd() == headList.get(i-1).getEnd()) { insertPos = -1; break; } } if(insertPos >=0 ) headList.add(insertPos, newHead); }
private static void addPhraseHead(List<TerminalTreebankNode> headList, TerminalTreebankNode newHead) { int insertPos = 0; for(int i=headList.size();i>0;i--) { if(newHead.getEnd() > headList.get(i-1).getEnd()) { insertPos = i; break; } else if(newHead.getEnd() == headList.get(i-1).getEnd()) { insertPos = -1; break; } } if(insertPos >=0 ) headList.add(insertPos, newHead); }
MarkableTreeUtils.getRoot(ttn).getCoveredText()+"\""); else ret.add(offset2token.get(ttn.getBegin()+"-"+ttn.getEnd()));
MarkableTreeUtils.getRoot(ttn).getCoveredText()+"\""); else ret.add(offset2token.get(ttn.getBegin()+"-"+ttn.getEnd()));
if(headList.get(i).getEnd() < arg1.getBegin()) { if(!isFirst) { features.add(new Feature("PhraseChunk_Before_FirstHead", headList.get(i).getNodeValue()));
if(headList.get(i).getEnd() < arg1.getBegin()) { if(!isFirst) { features.add(new Feature("PhraseChunk_Before_FirstHead", headList.get(i).getNodeValue()));
/** * @param sentenceOffset begin offest character index for sentence * @param text text of the sentence * @param terminalArray [token] terminals in the sentence * @return open nlp Parse */ public static Parse ctakesTokensToOpennlpTokens( final int sentenceOffset, final String text, final FSArray terminalArray ) { // based on the first part of parseLine in the opennlp libraries final Parse sentenceParse = new Parse( text, new Span( 0, text .length() ), AbstractBottomUpParser.INC_NODE, 0, 0 ); for ( int i = 0; i < terminalArray.size(); i++ ) { final TerminalTreebankNode token = (TerminalTreebankNode)terminalArray.get( i ); final Span span = new Span( token.getBegin() - sentenceOffset, token.getEnd() - sentenceOffset ); sentenceParse.insert( new Parse( text, span, AbstractBottomUpParser.TOK_NODE, 0, i ) ); } return sentenceParse; }
/** * @param sentenceOffset begin offest character index for sentence * @param text text of the sentence * @param terminalArray [token] terminals in the sentence * @return open nlp Parse */ public static Parse ctakesTokensToOpennlpTokens( final int sentenceOffset, final String text, final FSArray terminalArray ) { // based on the first part of parseLine in the opennlp libraries final Parse sentenceParse = new Parse( text, new Span( 0, text .length() ), AbstractBottomUpParser.INC_NODE, 0, 0 ); for ( int i = 0; i < terminalArray.size(); i++ ) { final TerminalTreebankNode token = (TerminalTreebankNode)terminalArray.get( i ); final Span span = new Span( token.getBegin() - sentenceOffset, token.getEnd() - sentenceOffset ); sentenceParse.insert( new Parse( text, span, AbstractBottomUpParser.TOK_NODE, 0, i ) ); } return sentenceParse; }
public static ConllDependencyNode markableNode(JCas jcas, int begin, int end, TreebankNode n) { // Find head of markable using treebanknode TerminalTreebankNode term = MarkableTreeUtils.getHead(n); FSIterator<Annotation> iter = jcas.getAnnotationIndex(ConllDependencyNode.type).iterator(); ConllDependencyNode best = null; while(iter.hasNext()){ Annotation a = iter.next(); if(a.getBegin() == term.getBegin() && a.getEnd() == term.getEnd()){ best = (ConllDependencyNode) a; break; } } return best; }
public static ConllDependencyNode markableNode(JCas jcas, int begin, int end, TreebankNode n) { // Find head of markable using treebanknode TerminalTreebankNode term = MarkableTreeUtils.getHead(n); FSIterator<Annotation> iter = jcas.getAnnotationIndex(ConllDependencyNode.type).iterator(); ConllDependencyNode best = null; while(iter.hasNext()){ Annotation a = iter.next(); if(a.getBegin() == term.getBegin() && a.getEnd() == term.getEnd()){ best = (ConllDependencyNode) a; break; } } return best; }