public int compare(Markable m1, Markable m2){ if(m1 == m2) return 0; if(m1.getConfidence() > m2.getConfidence()){ return -1; }else if(m1.getConfidence() < m2.getConfidence()){ return 1; }else{ return 0; } } }
public int compare(Markable m1, Markable m2){ if(m1 == m2) return 0; if(m1.getConfidence() > m2.getConfidence()){ return -1; }else if(m1.getConfidence() < m2.getConfidence()){ return 1; }else{ return 0; } } }
public Boolean apply(Markable markable) { return markable.getConfidence() > 0.5; } };
public Boolean apply(Markable markable) { return markable.getConfidence() > 0.5; } };
@Override public List<Feature> extract(JCas jCas, Markable mention) throws CleartkExtractorException { List<Feature> feats = new ArrayList<>(); feats.add(new Feature("MC_MENTION_SALIENCE", mention.getConfidence())); return feats; }
@Override public List<Feature> extract(JCas jCas, Markable mention) throws CleartkExtractorException { List<Feature> feats = new ArrayList<>(); feats.add(new Feature("MC_MENTION_SALIENCE", mention.getConfidence())); return feats; }
@Override public List<Feature> extract(JCas jCas, CollectionTextRelation cluster, IdentifiedAnnotation mention) throws AnalysisEngineProcessException { List<Feature> feats = new ArrayList<>(); double maxSalience = 0.0; for(Markable member : new ListIterable<Markable>(cluster.getMembers())){ if(mention.getBegin() < member.getEnd()){ // during training this might happen -- see a member of a cluster that // is actually subsequent to the candidate mention break; } if(member.getConfidence() > maxSalience){ maxSalience = member.getConfidence(); } } feats.add(new Feature("MC_MAX_SALIENCE", maxSalience)); return feats; }
@Override public List<Feature> extract(JCas jCas, CollectionTextRelation cluster, IdentifiedAnnotation mention) throws AnalysisEngineProcessException { List<Feature> feats = new ArrayList<>(); double maxSalience = 0.0; for(Markable member : new ListIterable<Markable>(cluster.getMembers())){ if(mention.getBegin() < member.getEnd()){ // during training this might happen -- see a member of a cluster that // is actually subsequent to the candidate mention break; } if(member.getConfidence() > maxSalience){ maxSalience = member.getConfidence(); } } feats.add(new Feature("MC_MAX_SALIENCE", maxSalience)); return feats; }
public List<IdentifiedAnnotationPair> getSectionHeaderPairs(JCas jcas, Annotation segment, double confidence){ List<IdentifiedAnnotationPair> pairs = new ArrayList<>(); List<Markable> markables = JCasUtil.selectCovered(jcas, Markable.class, segment); for(int i = 0; i < markables.size(); i++){ IdentifiedAnnotation ana = markables.get(i); List<Paragraph> pars = JCasUtil.selectCovered(jcas, Paragraph.class, 0, ana.getBegin()); for(int j = 0; j < pars.size(); j++){ Paragraph par = pars.get(j); // pars.get(pars.size()-j-1); List<Sentence> coveredSents = JCasUtil.selectCovered(jcas, Sentence.class, par); if(coveredSents != null && coveredSents.size() == 1){ for(Markable anteCandidate : JCasUtil.selectCovered(jcas, Markable.class, par)){ if(anteCandidate.getConfidence() > confidence){ pairs.add(new IdentifiedAnnotationPair(anteCandidate, ana)); } } } } } return pairs; }
public List<IdentifiedAnnotationPair> getSectionHeaderPairs(JCas jcas, Annotation segment, double confidence){ List<IdentifiedAnnotationPair> pairs = new ArrayList<>(); List<Markable> markables = JCasUtil.selectCovered(jcas, Markable.class, segment); for(int i = 0; i < markables.size(); i++){ IdentifiedAnnotation ana = markables.get(i); List<Paragraph> pars = JCasUtil.selectCovered(jcas, Paragraph.class, 0, ana.getBegin()); for(int j = 0; j < pars.size(); j++){ Paragraph par = pars.get(j); // pars.get(pars.size()-j-1); List<Sentence> coveredSents = JCasUtil.selectCovered(jcas, Sentence.class, par); if(coveredSents != null && coveredSents.size() == 1){ for(Markable anteCandidate : JCasUtil.selectCovered(jcas, Markable.class, par)){ if(anteCandidate.getConfidence() > confidence){ pairs.add(new IdentifiedAnnotationPair(anteCandidate, ana)); } } } } } return pairs; }
if(ante.getConfidence() < confidence){ continue;
if(ante.getConfidence() < confidence){ continue;
for(Markable ante : markablesByConfidence){ if(ante.getConfidence() < threshold){ break;
@Override public void process(JCas jcas) throws AnalysisEngineProcessException { LOGGER.info( "Processing ..." ); for(Markable markable : JCasUtil.select(jcas, Markable.class)){ boolean outcome; List<Feature> features = new ArrayList<>(); for(FeatureExtractor1<Markable> extractor : extractors){ features.addAll(extractor.extract(jcas, markable)); } Instance<Boolean> instance = new Instance<>(features); if(this.isTraining()){ outcome = markable.getConfidence() > 0.5; instance.setOutcome(outcome); this.dataWriter.write(instance); }else{ Map<Boolean,Double> outcomes = this.classifier.score(features); markable.setConfidence(outcomes.get(true).floatValue()); } } LOGGER.info( "Finished." ); } }
for(Markable ante : markablesByConfidence){ if(ante.getConfidence() < threshold){ break;
@Override public void process(JCas jcas) throws AnalysisEngineProcessException { for(Markable markable : JCasUtil.select(jcas, Markable.class)){ boolean outcome; List<Feature> features = new ArrayList<>(); for(FeatureExtractor1<Markable> extractor : extractors){ features.addAll(extractor.extract(jcas, markable)); } Instance<Boolean> instance = new Instance<>(features); if(this.isTraining()){ outcome = markable.getConfidence() > 0.5; instance.setOutcome(outcome); this.dataWriter.write(instance); }else{ Map<Boolean,Double> outcomes = this.classifier.score(features); markable.setConfidence(outcomes.get(true).floatValue()); } } } }