mirror of
https://github.com/explosion/spaCy.git
synced 2024-11-14 21:57:15 +03:00
db55577c45
* Remove unicode declarations * Remove Python 3.5 and 2.7 from CI * Don't require pathlib * Replace compat helpers * Remove OrderedDict * Use f-strings * Set Cython compiler language level * Fix typo * Re-add OrderedDict for Table * Update setup.cfg * Revert CONTRIBUTING.md * Revert lookups.md * Revert top-level.md * Small adjustments and docs [ci skip]
37 lines
1014 B
Python
37 lines
1014 B
Python
import pytest
|
|
from spacy.kb import KnowledgeBase
|
|
from spacy.util import ensure_path
|
|
from spacy.lang.en import English
|
|
|
|
from ..util import make_tempdir
|
|
|
|
|
|
def test_issue4674():
|
|
"""Test that setting entities with overlapping identifiers does not mess up IO"""
|
|
nlp = English()
|
|
kb = KnowledgeBase(nlp.vocab, entity_vector_length=3)
|
|
|
|
vector1 = [0.9, 1.1, 1.01]
|
|
vector2 = [1.8, 2.25, 2.01]
|
|
with pytest.warns(UserWarning):
|
|
kb.set_entities(
|
|
entity_list=["Q1", "Q1"],
|
|
freq_list=[32, 111],
|
|
vector_list=[vector1, vector2],
|
|
)
|
|
|
|
assert kb.get_size_entities() == 1
|
|
|
|
# dumping to file & loading back in
|
|
with make_tempdir() as d:
|
|
dir_path = ensure_path(d)
|
|
if not dir_path.exists():
|
|
dir_path.mkdir()
|
|
file_path = dir_path / "kb"
|
|
kb.dump(str(file_path))
|
|
|
|
kb2 = KnowledgeBase(vocab=nlp.vocab, entity_vector_length=3)
|
|
kb2.load_bulk(str(file_path))
|
|
|
|
assert kb2.get_size_entities() == 1
|