Exemplo n.º 1
0
def test_spaczz_patterns_to_from_disk(
    nlp: Language, patterns: list[dict[str, Any]]
) -> None:
    """It writes the patterns to disk and reads them back correctly."""
    ruler = SpaczzRuler(nlp, spaczz_patterns=patterns, spaczz_overwrite_ents=True)
    assert len(ruler) == len(patterns)
    assert len(ruler.labels) == 5
    with tempfile.NamedTemporaryFile() as tmpfile:
        ruler.to_disk(f"{tmpfile.name}.jsonl")
        assert os.path.isfile(tmpfile.name)
        new_ruler = SpaczzRuler(nlp)
        new_ruler = new_ruler.from_disk(f"{tmpfile.name}.jsonl")
    assert len(new_ruler) == len(patterns)
    assert len(new_ruler.labels) == 5
    assert len(new_ruler.patterns) == len(ruler.patterns)
    for pattern in ruler.patterns:
        assert pattern in new_ruler.patterns
    assert sorted(new_ruler.labels) == sorted(ruler.labels)
    assert new_ruler.overwrite is False
Exemplo n.º 2
0
def test_spaczz_ruler_to_from_disk(
    nlp: Language, patterns: list[dict[str, Any]]
) -> None:
    """It writes the ruler to disk and reads it back correctly."""
    ruler = SpaczzRuler(nlp, spaczz_patterns=patterns, spaczz_overwrite_ents=True)
    assert len(ruler) == len(patterns)
    assert len(ruler.labels) == 5
    with tempfile.TemporaryDirectory() as tmpdir:
        ruler.to_disk(f"{tmpdir}/ruler")
        assert os.path.isdir(f"{tmpdir}/ruler")
        new_ruler = SpaczzRuler(nlp)
        new_ruler = new_ruler.from_disk(f"{tmpdir}/ruler")
    assert len(new_ruler) == len(patterns)
    assert len(new_ruler.labels) == 5
    assert len(new_ruler.patterns) == len(ruler.patterns)
    for pattern in ruler.patterns:
        assert pattern in new_ruler.patterns
    assert sorted(new_ruler.labels) == sorted(ruler.labels)
    assert new_ruler.overwrite is True