private void addSpansFromTags (LabeledSpans labeled, Tokenization input, Sequence tags, LabelAlphabet dict, Label backgroundTag) { int i = 0; int docidx = 0; while (i < tags.size ()) { Label thisTag = dict.lookupLabel (tags.get (i).toString ()); int startTokenIdx = i; while (++i < tags.size ()) { Label nextTag = dict.lookupLabel (tags.get (i).toString ()); if (isBeginTag (nextTag) || !tagsMatch (thisTag, nextTag)) break; } int endTokenIdx = i; Span span = createSpan (input, startTokenIdx, endTokenIdx); addBackgroundIfNecessary (labeled, (StringSpan) span, docidx, backgroundTag); docidx = ((StringSpan) span).getEndIdx (); if (isBeginTag (thisTag) || isInsideTag (thisTag)) { thisTag = trimTag (dict, thisTag); } labeled.add (new LabeledSpan (span, thisTag, thisTag == backgroundTag)); } }
private void addSpansFromTags (LabeledSpans labeled, Tokenization input, Sequence tags, LabelAlphabet dict, Label backgroundTag) { int i = 0; int docidx = 0; while (i < tags.size ()) { Label thisTag = dict.lookupLabel (tags.get (i).toString ()); int startTokenIdx = i; while (++i < tags.size ()) { Label nextTag = dict.lookupLabel (tags.get (i).toString ()); if (isBeginTag (nextTag) || !tagsMatch (thisTag, nextTag)) break; } int endTokenIdx = i; Span span = createSpan (input, startTokenIdx, endTokenIdx); addBackgroundIfNecessary (labeled, (StringSpan) span, docidx, backgroundTag); docidx = ((StringSpan) span).getEndIdx (); if (isBeginTag (thisTag) || isInsideTag (thisTag)) { thisTag = trimTag (dict, thisTag); } labeled.add (new LabeledSpan (span, thisTag, thisTag == backgroundTag)); } }
private void addSpansFromTags (LabeledSpans labeled, Tokenization input, Sequence tags, LabelAlphabet dict, Label backgroundTag) { int i = 0; int docidx = 0; while (i < tags.size ()) { Label thisTag = dict.lookupLabel (tags.get (i).toString ()); int startTokenIdx = i; while (++i < tags.size ()) { Label nextTag = dict.lookupLabel (tags.get (i).toString ()); if (isBeginTag (nextTag) || !tagsMatch (thisTag, nextTag)) break; } int endTokenIdx = i; Span span = createSpan (input, startTokenIdx, endTokenIdx); addBackgroundIfNecessary (labeled, (StringSpan) span, docidx, backgroundTag); docidx = ((StringSpan) span).getEndIdx (); if (isBeginTag (thisTag) || isInsideTag (thisTag)) { thisTag = trimTag (dict, thisTag); } labeled.add (new LabeledSpan (span, thisTag, thisTag == backgroundTag)); } }