2017-01-11 17:54:24 +00:00
|
|
|
# coding: utf-8
|
2016-10-23 13:50:04 +00:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
2017-01-11 17:54:24 +00:00
|
|
|
from ...pipeline import EntityRecognizer
|
|
|
|
from ..util import get_doc
|
2016-10-23 13:50:04 +00:00
|
|
|
|
2017-01-11 17:54:24 +00:00
|
|
|
import pytest
|
2016-10-23 13:50:04 +00:00
|
|
|
|
|
|
|
|
2017-01-11 18:00:52 +00:00
|
|
|
def test_doc_add_entities_set_ents_iob(en_vocab):
|
2017-01-11 17:54:24 +00:00
|
|
|
text = ["This", "is", "a", "lion"]
|
|
|
|
doc = get_doc(en_vocab, text)
|
2017-10-26 10:38:23 +00:00
|
|
|
ner = EntityRecognizer(en_vocab)
|
|
|
|
ner.begin_training([])
|
2017-01-11 17:54:24 +00:00
|
|
|
ner(doc)
|
2016-10-23 13:50:04 +00:00
|
|
|
|
|
|
|
assert len(list(doc.ents)) == 0
|
2017-01-11 17:54:24 +00:00
|
|
|
assert [w.ent_iob_ for w in doc] == (['O'] * len(doc))
|
|
|
|
|
2016-10-23 13:50:04 +00:00
|
|
|
doc.ents = [(doc.vocab.strings['ANIMAL'], 3, 4)]
|
2018-03-26 05:14:35 +00:00
|
|
|
assert [w.ent_iob_ for w in doc] == ['', '', '', 'B']
|
2017-01-11 17:54:24 +00:00
|
|
|
|
2016-10-23 13:50:04 +00:00
|
|
|
doc.ents = [(doc.vocab.strings['WORD'], 0, 2)]
|
2018-03-26 05:14:35 +00:00
|
|
|
assert [w.ent_iob_ for w in doc] == ['B', 'I', '', '']
|