private void checkNote(BratAnnotation annotation, String expectedCoveredText, String expectedNote) { Assert.assertTrue(annotation instanceof SpanAnnotation); SpanAnnotation spanAnn = (SpanAnnotation) annotation; Assert.assertEquals(expectedCoveredText, spanAnn.getCoveredText()); Assert.assertEquals(expectedNote, spanAnn.getNote()); }
return new SpanAnnotation(id, type, fragments.toArray(new Span[fragments.size()]), coveredText);
entityIdSet.add(ann.getId()); for (Span span : ((SpanAnnotation) ann).getSpans()) { for (int i = span.getStart(); i < span.getEnd(); i++) { coveredIndexes.put(i, span); for (Span entitySpan : entity.getSpans()) { if (sentence.contains(entitySpan)) { entityIdSet.remove(ann.getId()); mappedFragments.add(new Span(nameBeginIndex, nameEndIndex, entity.getType())); } else { System.err.println("Dropped entity " + entity.getId() + " (" + entitySpan.getCoveredText(sample.getText()) + ") " + " in document " + sample.getId() + ", it is not matching tokenization!");
@Override public String toString() { return super.toString() + " " + Arrays.toString(spans) + " " + getCoveredText(); } }
entityIdSet.add(ann.getId()); Span span = ((SpanAnnotation) ann).getSpan(); for (int i = span.getStart(); i < span.getEnd(); i++) { coveredIndexes.put(i, span); SpanAnnotation entity = (SpanAnnotation) ann; Span entitySpan = entity.getSpan(); names.add(new Span(nameBeginIndex, nameEndIndex, entity.getType())); System.err.println("Dropped entity " + entity.getId() + " (" + entitySpan.getCoveredText(sample.getText()) + ") " + " in document " + sample.getId() + ", it is not matching tokenization!");
Assert.assertEquals(t1.getSpans()[0].getStart(), 0); Assert.assertEquals(t1.getSpans()[0].getEnd(), 7); Assert.assertEquals(t1.getSpans()[1].getStart(), 8); Assert.assertEquals(t1.getSpans()[1].getEnd(), 15); Assert.assertEquals(t1.getSpans()[2].getStart(), 17); Assert.assertEquals(t1.getSpans()[2].getEnd(), 24); Assert.assertEquals(t2.getSpans()[0].getStart(), 26); Assert.assertEquals(t2.getSpans()[0].getEnd(), 33); Assert.assertEquals(t2.getSpans()[1].getStart(), 40); Assert.assertEquals(t2.getSpans()[1].getEnd(), 47);
@Override public String toString() { return super.toString() + " " + Arrays.toString(spans) + " " + getCoveredText(); } }
entityIdSet.add(ann.getId()); for (Span span : ((SpanAnnotation) ann).getSpans()) { for (int i = span.getStart(); i < span.getEnd(); i++) { coveredIndexes.put(i, span); for (Span entitySpan : entity.getSpans()) { if (sentence.contains(entitySpan)) { entityIdSet.remove(ann.getId()); mappedFragments.add(new Span(nameBeginIndex, nameEndIndex, entity.getType())); } else { System.err.println("Dropped entity " + entity.getId() + " (" + entitySpan.getCoveredText(sample.getText()) + ") " + " in document " + sample.getId() + ", it is not matching tokenization!");
@Override public String toString() { return super.toString() + " " + span.getStart() + " " + span.getEnd() + " " + getCoveredText(); } }
return new SpanAnnotation(id, type, fragments.toArray(new Span[fragments.size()]), coveredText);
@Override BratAnnotation parse(Span[] values, CharSequence line) throws IOException { if (values.length > 4) { String type = values[BratAnnotationParser.TYPE_OFFSET].getCoveredText(line).toString(); int endOffset = -1; int firstTextTokenIndex = -1; for (int i = END_OFFSET; i < values.length; i++) { if (!values[i].getCoveredText(line).toString().contains(";")) { endOffset = parseInt(values[i].getCoveredText(line).toString()); firstTextTokenIndex = i + 1; break; } } String id = values[BratAnnotationParser.ID_OFFSET].getCoveredText(line).toString(); String coveredText = line.subSequence(values[firstTextTokenIndex].getStart(), values[values.length - 1].getEnd()).toString(); try { return new SpanAnnotation(id, type, new Span(parseInt(values[BEGIN_OFFSET] .getCoveredText(line).toString()), endOffset, type), coveredText); } catch (IllegalArgumentException e) { throw new InvalidFormatException(e); } } else { throw new InvalidFormatException("Line must have at least 5 fields"); } } }