public static int sentsBetween(IdentifiedAnnotation arg1, IdentifiedAnnotation arg2) { Collection<Sentence> sents = JCasUtil.selectBetween(Sentence.class, arg1, arg2); return sents.size(); }
public static int getTokenDistance(JCas systemView, IdentifiedAnnotation arg1, IdentifiedAnnotation arg2) { List<BaseToken> baseTokens = JCasUtil.selectBetween(systemView, BaseToken.class, arg1, arg2); return baseTokens.size(); }
public static int sentsBetween(IdentifiedAnnotation arg1, IdentifiedAnnotation arg2) { Collection<Sentence> sents = JCasUtil.selectBetween(Sentence.class, arg1, arg2); return sents.size(); }
private static boolean checkForModifierBetween(JCas jCas, Modifier modifier, EntityMention entity) { List<Modifier> modifiers = JCasUtil.selectBetween(jCas, Modifier.class, modifier, entity); if(modifiers.size() > 0) { return true; } return false; }
private static boolean checkForModifierBetween(JCas jCas, Modifier modifier, EntityMention entity) { List<Modifier> modifiers = JCasUtil.selectBetween(jCas, Modifier.class, modifier, entity); if(modifiers.size() > 0) { return true; } return false; }
public static int getTokenDistance(JCas systemView, IdentifiedAnnotation arg1, IdentifiedAnnotation arg2) { List<BaseToken> baseTokens = JCasUtil.selectBetween(systemView, BaseToken.class, arg1, arg2); return baseTokens.size(); }
private static boolean checkForAnatomicalSiteBetween(JCas jCas, EntityMention entity1, EntityMention entity2) { for(EntityMention entityMention : JCasUtil.selectBetween(jCas, EntityMention.class, entity1, entity2)) { if(entityMention.getTypeID() == 6) { return true; } } return false; }
private static boolean checkForAnatomicalSiteBetween(JCas jCas, EntityMention entity1, EntityMention entity2) { for(EntityMention entityMention : JCasUtil.selectBetween(jCas, EntityMention.class, entity1, entity2)) { if(entityMention.getTypeID() == 6) { return true; } } return false; }
private static EntityMention getNearestEntity(JCas jCas, Modifier modifier, List<EntityMention> entityMentions) { // token distance from modifier to other entity mentions Map<EntityMention, Integer> distanceToEntities = new HashMap<EntityMention, Integer>(); for(EntityMention entityMention : entityMentions) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, modifier, entityMention); distanceToEntities.put(entityMention, baseTokens.size()); } List<EntityMention> sortedEntityMentions = new ArrayList<EntityMention>(distanceToEntities.keySet()); Function<EntityMention, Integer> getValue = Functions.forMap(distanceToEntities); Collections.sort(sortedEntityMentions, Ordering.natural().onResultOf(getValue)); return sortedEntityMentions.get(0); }
private static EntityMention getNearestEntity(JCas jCas, Modifier modifier, List<EntityMention> entityMentions) { // token distance from modifier to other entity mentions Map<EntityMention, Integer> distanceToEntities = new HashMap<EntityMention, Integer>(); for(EntityMention entityMention : entityMentions) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, modifier, entityMention); distanceToEntities.put(entityMention, baseTokens.size()); } List<EntityMention> sortedEntityMentions = new ArrayList<EntityMention>(distanceToEntities.keySet()); Function<EntityMention, Integer> getValue = Functions.forMap(distanceToEntities); Collections.sort(sortedEntityMentions, Ordering.natural().onResultOf(getValue)); return sortedEntityMentions.get(0); }
private static EntityMention getNearestEntity(JCas jCas, EntityMention anatomicalSite, List<EntityMention> entityMentions) { // token distance from anatomical site to other entity mentions Map<EntityMention, Integer> distanceToEntities = new HashMap<EntityMention, Integer>(); for(EntityMention entityMention : entityMentions) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, anatomicalSite, entityMention); distanceToEntities.put(entityMention, baseTokens.size()); } List<EntityMention> sortedEntityMentions = new ArrayList<EntityMention>(distanceToEntities.keySet()); Function<EntityMention, Integer> getValue = Functions.forMap(distanceToEntities); Collections.sort(sortedEntityMentions, Ordering.natural().onResultOf(getValue)); return sortedEntityMentions.get(0); }
private static EntityMention getNearestEntity(JCas jCas, EntityMention anatomicalSite, List<EntityMention> entityMentions) { // token distance from anatomical site to other entity mentions Map<EntityMention, Integer> distanceToEntities = new HashMap<EntityMention, Integer>(); for(EntityMention entityMention : entityMentions) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, anatomicalSite, entityMention); distanceToEntities.put(entityMention, baseTokens.size()); } List<EntityMention> sortedEntityMentions = new ArrayList<EntityMention>(distanceToEntities.keySet()); Function<EntityMention, Integer> getValue = Functions.forMap(distanceToEntities); Collections.sort(sortedEntityMentions, Ordering.natural().onResultOf(getValue)); return sortedEntityMentions.get(0); }
/** * Calculate the distance (in tokens) between two identified annotations. */ public static int getDistance(JCas jCas, IdentifiedAnnotationPair pair) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, pair.getArg1(), pair.getArg2()); return baseTokens.size(); }
@Override public List<Feature> extract(JCas jCas, CollectionTextRelation cluster, IdentifiedAnnotation mention) throws AnalysisEngineProcessException { List<Feature> feats = new ArrayList<>(); int minDistance = Integer.MAX_VALUE; int neMinDistance = Integer.MAX_VALUE; int sentMinDistance = Integer.MAX_VALUE; for(Markable member : JCasUtil.select(cluster.getMembers(), Markable.class)){ int dist = JCasUtil.selectBetween(BaseToken.class, member, mention).size(); minDistance = Math.min(minDistance, dist); int neDist = JCasUtil.selectBetween(Markable.class, member, mention).size(); neMinDistance = Math.min(neMinDistance, neDist); int sentDist = JCasUtil.selectBetween(Sentence.class, member, mention).size(); sentMinDistance = Math.min(sentMinDistance, sentDist); } feats.add(new Feature("MinTokenDistance", minDistance / 4000.0)); feats.add(new Feature("MinMarkableDistance", neMinDistance / 900.0)); feats.add(new Feature("MinSentDistance", sentMinDistance / 350.0)); return feats; }
@Override public List<Feature> extract(JCas jCas, CollectionTextRelation cluster, IdentifiedAnnotation mention) throws AnalysisEngineProcessException { List<Feature> feats = new ArrayList<>(); int minDistance = Integer.MAX_VALUE; int neMinDistance = Integer.MAX_VALUE; int sentMinDistance = Integer.MAX_VALUE; for(Markable member : JCasUtil.select(cluster.getMembers(), Markable.class)){ int dist = JCasUtil.selectBetween(BaseToken.class, member, mention).size(); minDistance = Math.min(minDistance, dist); int neDist = JCasUtil.selectBetween(Markable.class, member, mention).size(); neMinDistance = Math.min(neMinDistance, neDist); int sentDist = JCasUtil.selectBetween(Sentence.class, member, mention).size(); sentMinDistance = Math.min(sentMinDistance, sentDist); } feats.add(new Feature("MinTokenDistance", minDistance / 4000.0)); feats.add(new Feature("MinMarkableDistance", neMinDistance / 900.0)); feats.add(new Feature("MinSentDistance", sentMinDistance / 350.0)); return feats; }
/** * Calculate the distance (in tokens) between two identified annotations. */ public static int getDistance(JCas jCas, IdentifiedAnnotationPair pair) { List<BaseToken> baseTokens = JCasUtil.selectBetween(jCas, BaseToken.class, pair.getArg1(), pair.getArg2()); return baseTokens.size(); }
List<WordToken> wordsBetweenArgs = JCasUtil.selectBetween(jCas, WordToken.class, arg1, arg2); if(wordsBetweenArgs.size() < 1) { return features;
List<WordToken> wordsBetweenArgs = JCasUtil.selectBetween(jCas, WordToken.class, arg1, arg2); if(wordsBetweenArgs.size() < 1) { return features;
JCasUtil.selectBetween( Structure.class, getPreceding(jCas, preceding), getFollowing(jCas, following));
AssertionCuePhraseAnnotation closestCue = null; for(AssertionCuePhraseAnnotation cue : cues){ List<BaseToken> tokens = JCasUtil.selectBetween(BaseToken.class, cue, entityOrEventMention); if(tokens.size() < closest){ closestCue = cue;