/** @generated * @param jcas JCas to which this Feature Structure belongs * @param begin offset to the begin spot in the SofA * @param end offset to the end spot in the SofA */ public Markable(JCas jcas, int begin, int end) { super(jcas); setBegin(begin); setEnd(end); readObject(); }
@Override public int compare(Markable m1, Markable m2) { // look at the start first if(m1.getBegin() < m2.getBegin()){ return -1; }else if(m2.getBegin() < m1.getBegin()){ return 1; }else if(m1.getEnd() < m2.getEnd()){ return -1; }else if(m2.getEnd() < m1.getEnd()){ return 1; }else{ // m1 and m2 have the exact same span return 0; } } }
for(Markable ante : markablesByConfidence){ if(ante.getConfidence() < threshold){ break; if(ante.getBegin() > ana.getBegin() && ante.getEnd() > ante.getEnd()){ continue;
NonEmptyFSList element = (NonEmptyFSList) head; Markable goldMarkable = (Markable) element.getHead(); if(!(goldMarkable.getBegin() < 0 || goldMarkable.getEnd() >= jcas.getDocumentText().length())){ Markable fakeMarkable = new Markable(fakeView, markable.getBegin(), markable.getEnd()); fakeMarkable.setConfidence(1.0f); }else{ fakeMarkable.setConfidence(0.0f); fakeMarkable.addToIndexes();
/** Internal - constructor used by generator * @generated * @param addr low level Feature Structure reference * @param type the type of this Feature Structure */ public Markable(int addr, TOP_Type type) { super(addr, type); readObject(); }
annotation.removeFromIndexes(); String key = markable.getBegin() + "-" + (markable.getEnd() - markable.getBegin()); if(existingSpans.contains(key)) continue; copy.setFeatureValue( sofaFeature, systemView.getSofa() ); copy.addToIndexes( systemView ); existingSpans.add(key);
logger.warn(String.format("The markable %s has no head node, probably because of poorly-segmented text.", goldMarkable.getCoveredText())); continue; if (!match) { logger.warn(String.format("There is a gold markable %s [%d, %d] which could not map to a system markable.", goldMarkable.getCoveredText(), goldMarkable.getBegin(), goldMarkable.getEnd())); System.out.print(" "); for(Markable m : mappedElements){ System.out.print(" -> " + m.getCoveredText());
NonEmptyFSList element = (NonEmptyFSList) head; Markable goldMarkable = (Markable) element.getHead(); if(!(goldMarkable.getBegin() < 0 || goldMarkable.getEnd() >= jcas.getDocumentText().length())){ ConllDependencyNode markNode = DependencyUtility.getNominalHeadNode(jcas, sysMarkable); if(markNode == headNode){ sysMarkable.setConfidence(1.0f); break;
public List<IdentifiedAnnotationPair> getHeadwordMatchingPairs(JCas jcas, Annotation segment){ List<IdentifiedAnnotationPair> pairs = new ArrayList<>(); List<Markable> segMarkables = new ArrayList<>(JCasUtil.selectCovered(jcas, Markable.class, segment)); for(int i = 0; i < segMarkables.size(); i++){ Markable ana = segMarkables.get(i); ConllDependencyNode headNode = DependencyUtility.getNominalHeadNode(jcas, ana); String headword = null; if(headNode != null){ headword = headNode.getCoveredText().toLowerCase(); }else{ continue; } List<Markable> previousMarkables = JCasUtil.selectCovered(jcas, Markable.class, 0, ana.getBegin()); for(int j = 0; j < previousMarkables.size(); j++){ Markable ante = previousMarkables.get(j); ConllDependencyNode anteNode = DependencyUtility.getNominalHeadNode(jcas, ante); if(anteNode != null){ String anteHeadword = anteNode.getCoveredText().toLowerCase(); if(headword.equals(anteHeadword)){ pairs.add(new IdentifiedAnnotationPair(ante, ana)); } } } } return pairs; }
error("Illegal negative span", id); Markable markable = new Markable(entCas, begin, end); markable.addToIndexes(); annotation = markable; } else if (type.equals("EVENT")) { Markable markable = new Markable(entCas, begin, end); markable.addToIndexes(); annotation = markable; } else { System.out.print("W/in doc chain "); for (Markable m : markables) { System.out.print(" -> " + m.getCoveredText()); markable2chain.put(m, chain); if( i == 0 ){ try { chainCas = child.getCAS().getJCas(); }catch(CASException e){ throw new AnalysisEngineProcessException(e);
@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; }
if(mention.getBegin() < m.getEnd()){
Markable markable = expandNodeToMarkable(jCas, node); if(markable == null) continue; markable.addToIndexes(); }else if(node.getPostag().equals("DT") && !node.getDeprel().equals("det")){ Markable markable = new Markable(jCas, node.getBegin(), node.getEnd()); markable.addToIndexes(); }else if(node.getCoveredText().toLowerCase().equals("it") && node.getDeprel().contains("bj")){ Markable markable = new Markable(jCas, node.getBegin(), node.getEnd()); markable.addToIndexes();
private static Markable getDoctorMarkable(JCas jcas, WordToken drToken){ Markable markable = null; ConllDependencyNode nnpHead = DependencyUtility.getDependencyNode(jcas, drToken); try{ while(nnpHead != null && nnpHead.getHead() != null && nnpHead.getHead().getId() != 0 && nnpHead.getHead().getPostag().equals("NNP")){ nnpHead = nnpHead.getHead(); } }catch(NullPointerException e){ System.err.print("."); } int start = drToken.getBegin(); int end = nnpHead.getEnd(); if(end < start) end = drToken.getEnd(); markable = new Markable(jcas, start, end); return markable; } }
private static void addToList(JCas jcas, NonEmptyFSList list, Markable arg){ arg.addToIndexes(); if(list.getHead() == null){ // first list element: list.setHead(arg); }else{ // subsequent list elements: NonEmptyFSList cur = list; while(cur.getTail() != null){ cur = (NonEmptyFSList)cur.getTail(); } NonEmptyFSList tail = new NonEmptyFSList(jcas); tail.setHead(arg); cur.setTail(tail); tail.addToIndexes(); } }
NonEmptyFSList element = (NonEmptyFSList) head; Markable goldMarkable = (Markable) element.getHead(); if(!(goldMarkable.getBegin() < 0 || goldMarkable.getEnd() >= jcas.getDocumentText().length())){ Markable fakeMarkable = new Markable(fakeView, markable.getBegin(), markable.getEnd()); fakeMarkable.setConfidence(1.0f); }else{ fakeMarkable.setConfidence(0.0f); fakeMarkable.addToIndexes();
/** @generated * @param jcas JCas to which this Feature Structure belongs */ public Markable(JCas jcas) { super(jcas); readObject(); }
annotation.removeFromIndexes(); String key = markable.getBegin() + "-" + (markable.getEnd() - markable.getBegin()); if(existingSpans.contains(key)) continue; copy.setFeatureValue( sofaFeature, systemView.getSofa() ); copy.addToIndexes( systemView ); existingSpans.add(key);
if(!(goldMarkable.getBegin() < 0 || goldMarkable.getEnd() >= jcas.getDocumentText().length())){ text = goldMarkable.getCoveredText(); text, goldMarkable.getBegin(), goldMarkable.getEnd())); removeChain = true; break;
NonEmptyFSList element = (NonEmptyFSList) head; Markable goldMarkable = (Markable) element.getHead(); if(!(goldMarkable.getBegin() < 0 || goldMarkable.getEnd() >= jcas.getDocumentText().length())){ ConllDependencyNode markNode = DependencyUtility.getNominalHeadNode(jcas, sysMarkable); if(markNode == headNode){ sysMarkable.setConfidence(1.0f); break;