public Constituent convertPennTree(Sentence aSentence, PennTreeNode aNode) { JCas jcas; try { jcas = aSentence.getCAS().getJCas(); } catch (CASException e) { throw new IllegalStateException(e); } List<Token> tokens = selectCovered(Token.class, aSentence); List<PennTreeNode> preTerminalNodes = PennTreeUtils.getPreTerminals(aNode); Map<PennTreeNode, Token> tokenMap = new HashMap<>(); for (int i = 0; i < tokens.size(); i++) { tokenMap.put(preTerminalNodes.get(i), tokens.get(i)); } return convertPennTree(jcas, aNode, null, tokenMap); }
private static List<String> getAnnotation(TypeAdapter aAdapter, Sentence aSentence, AnnotationFeature aFeature) { CAS cas = aSentence.getCAS(); Type type = getType(cas, aAdapter.getAnnotationTypeName()); List<String> annotations = new ArrayList<>(); for (Token token : selectCovered(Token.class, aSentence)) { List<AnnotationFS> tokenLevelAnnotations = selectCovered(type, token); if (tokenLevelAnnotations.size() > 0) { AnnotationFS anno = tokenLevelAnnotations.get(0); Feature labelFeature = anno.getType().getFeatureByBaseName(aFeature.getName()); annotations.add(anno.getFeatureValueAsString(labelFeature)); } else { annotations.add(NILL); } } return annotations; } }
private static List<String> getAnnotation(TypeAdapter aAdapter, Sentence aSentence, AnnotationFeature aFeature) { CAS cas = aSentence.getCAS(); Type type = getType(cas, aAdapter.getAnnotationTypeName()); List<String> annotations = new ArrayList<>(); for (Token token : selectCovered(Token.class, aSentence)) { List<AnnotationFS> tokenLevelAnnotations = selectCovered(type, token); if (tokenLevelAnnotations.size() > 0) { AnnotationFS anno = tokenLevelAnnotations.get(0); Feature labelFeature = anno.getType().getFeatureByBaseName(aFeature.getName()); annotations.add(anno.getFeatureValueAsString(labelFeature)); } else { annotations.add(NILL); } } return annotations; } }
public Map<Integer, String> getMultipleAnnotation(Sentence sentence, AnnotationFeature aFeature) throws CASException { Map<Integer, String> multAnno = new HashMap<Integer, String>(); Type type = getType(sentence.getCAS(), getAnnotationTypeName()); for (AnnotationFS fs : selectCovered(sentence.getCAS(), type, sentence.getBegin(), sentence.getEnd())) { boolean isBegin = true; Feature labelFeature = fs.getType().getFeatureByBaseName(aFeature.getName()); for (Token token : selectCovered(sentence.getCAS().getJCas(), Token.class, fs.getBegin(), fs.getEnd())) { if (multAnno.get(token.getAddress()) == null) { if (isBegin) { multAnno.put(token.getAddress(), "B-" + fs.getFeatureValueAsString(labelFeature)); isBegin = false; } else { multAnno.put(token.getAddress(), "I-" + fs.getFeatureValueAsString(labelFeature)); } } } } return multAnno; }
public static Map<Integer, String> getMultipleAnnotation( AnnotationSchemaService aAnnotationService, Sentence sentence, AnnotationFeature aFeature) throws CASException { SpanAdapter adapter = (SpanAdapter) aAnnotationService.getAdapter(aFeature.getLayer()); Map<Integer, String> multAnno = new HashMap<>(); Type type = getType(sentence.getCAS(), adapter.getAnnotationTypeName()); for (AnnotationFS fs : selectCovered(type, sentence)) { boolean isBegin = true; Feature labelFeature = fs.getType().getFeatureByBaseName(aFeature.getName()); for (Token token : selectCovered(Token.class, fs)) { if (multAnno.get(getAddr(token)) == null) { if (isBegin) { multAnno.put(getAddr(token), "B-" + fs.getFeatureValueAsString(labelFeature)); isBegin = false; } else { multAnno.put(getAddr(token), "I-" + fs.getFeatureValueAsString(labelFeature)); } } } } return multAnno; }
public static Map<Integer, String> getMultipleAnnotation( AnnotationSchemaService aAnnotationService, Sentence sentence, AnnotationFeature aFeature) throws CASException { SpanAdapter adapter = (SpanAdapter) aAnnotationService.getAdapter(aFeature.getLayer()); Map<Integer, String> multAnno = new HashMap<>(); Type type = getType(sentence.getCAS(), adapter.getAnnotationTypeName()); for (AnnotationFS fs : selectCovered(type, sentence)) { boolean isBegin = true; Feature labelFeature = fs.getType().getFeatureByBaseName(aFeature.getName()); for (Token token : selectCovered(Token.class, fs)) { if (multAnno.get(getAddr(token)) == null) { if (isBegin) { multAnno.put(getAddr(token), "B-" + fs.getFeatureValueAsString(labelFeature)); isBegin = false; } else { multAnno.put(getAddr(token), "I-" + fs.getFeatureValueAsString(labelFeature)); } } } } return multAnno; }
@Override public void setFirstVisibleUnit(Sentence aFirstVisibleUnit) { JCas jcas; try { jcas = aFirstVisibleUnit.getCAS().getJCas(); } catch (CASException e) { throw new IllegalStateException("Unable to fetch JCas from CAS", e); } firstVisibleUnitAddress = WebAnnoCasUtil.getAddr(aFirstVisibleUnit); firstVisibleUnitBegin = aFirstVisibleUnit.getBegin(); firstVisibleUnitEnd = aFirstVisibleUnit.getEnd(); Sentence lastVisibleUnit = getLastSentenceInDisplayWindow(jcas, getAddr(aFirstVisibleUnit), getPreferences().getWindowSize()); firstVisibleUnitIndex = WebAnnoCasUtil.getSentenceNumber(jcas, aFirstVisibleUnit.getBegin()); lastVisibleUnitIndex = WebAnnoCasUtil.getSentenceNumber(jcas, lastVisibleUnit.getBegin()); unitCount = select(jcas, Sentence.class).size(); windowBeginOffset = aFirstVisibleUnit.getBegin(); windowEndOffset = lastVisibleUnit.getEnd(); }
@Override public void setFirstVisibleUnit(Sentence aFirstVisibleUnit) { JCas jcas; try { jcas = aFirstVisibleUnit.getCAS().getJCas(); } catch (CASException e) { throw new IllegalStateException("Unable to fetch JCas from CAS", e); } firstVisibleUnitAddress = WebAnnoCasUtil.getAddr(aFirstVisibleUnit); firstVisibleUnitBegin = aFirstVisibleUnit.getBegin(); firstVisibleUnitEnd = aFirstVisibleUnit.getEnd(); Sentence lastVisibleUnit = getLastSentenceInDisplayWindow(jcas, getAddr(aFirstVisibleUnit), getPreferences().getWindowSize()); firstVisibleUnitIndex = WebAnnoCasUtil.getSentenceNumber(jcas, aFirstVisibleUnit.getBegin()); lastVisibleUnitIndex = WebAnnoCasUtil.getSentenceNumber(jcas, lastVisibleUnit.getBegin()); unitCount = select(jcas, Sentence.class).size(); windowBeginOffset = aFirstVisibleUnit.getBegin(); windowEndOffset = lastVisibleUnit.getEnd(); }