python3Packages.spacy-transformers: add passthru annotation test
This commit is contained in:
parent
51f398613c
commit
636b3581f6
3 changed files with 94 additions and 0 deletions
|
@ -0,0 +1,68 @@
|
|||
import pytest
|
||||
import spacy
|
||||
|
||||
en_text = (
|
||||
"When Sebastian Thrun started working on self-driving cars at "
|
||||
"Google in 2007, few people outside of the company took him "
|
||||
"seriously. “I can tell you very senior CEOs of major American "
|
||||
"car companies would shake my hand and turn away because I wasn’t "
|
||||
"worth talking to,” said Thrun, in an interview with Recode earlier "
|
||||
"this week.")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def en_core_web_trf():
|
||||
return spacy.load("en_core_web_trf")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def doc_en_core_web_trf(en_core_web_trf):
|
||||
return en_core_web_trf(en_text)
|
||||
|
||||
|
||||
def test_entities(doc_en_core_web_trf):
|
||||
entities = list(map(lambda e: (e.text, e.label_),
|
||||
doc_en_core_web_trf.ents))
|
||||
|
||||
assert entities == [
|
||||
('Sebastian Thrun', 'PERSON'),
|
||||
('Google', 'ORG'),
|
||||
('2007', 'DATE'),
|
||||
('American', 'NORP'),
|
||||
('Thrun', 'PERSON'),
|
||||
('Recode', 'ORG'),
|
||||
('earlier this week', 'DATE'),
|
||||
]
|
||||
|
||||
|
||||
def test_nouns(doc_en_core_web_trf):
|
||||
assert [
|
||||
chunk.text for chunk in doc_en_core_web_trf.noun_chunks] == [
|
||||
'Sebastian Thrun',
|
||||
'self-driving cars',
|
||||
'Google',
|
||||
'few people',
|
||||
'the company',
|
||||
'him',
|
||||
'I',
|
||||
'you',
|
||||
'very senior CEOs',
|
||||
'major American car companies',
|
||||
'my hand',
|
||||
'I',
|
||||
'Thrun',
|
||||
'an interview',
|
||||
'Recode']
|
||||
|
||||
|
||||
def test_verbs(doc_en_core_web_trf):
|
||||
assert [
|
||||
token.lemma_ for token in doc_en_core_web_trf if token.pos_ == "VERB"] == [
|
||||
'start',
|
||||
'take',
|
||||
'tell',
|
||||
'shake',
|
||||
'turn',
|
||||
'be',
|
||||
'talk',
|
||||
'say']
|
|
@ -0,0 +1,23 @@
|
|||
{ stdenv, pytest, spacy_models }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "spacy-transformers-annotation-test";
|
||||
|
||||
src = ./.;
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
doCheck = true;
|
||||
|
||||
checkInputs = [ pytest spacy_models.en_core_web_trf ];
|
||||
|
||||
checkPhase = ''
|
||||
pytest annotate.py
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
touch $out
|
||||
'';
|
||||
|
||||
meta.timeout = 60;
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ lib
|
||||
, callPackage
|
||||
, fetchPypi
|
||||
, buildPythonPackage
|
||||
, pytorch
|
||||
|
@ -30,6 +31,8 @@ buildPythonPackage rec {
|
|||
|
||||
pythonImportsCheck = [ "spacy_transformers" ];
|
||||
|
||||
passthru.tests.annotation = callPackage ./annotation-test { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "spaCy pipelines for pretrained BERT, XLNet and GPT-2";
|
||||
homepage = "https://github.com/explosion/spacy-transformers";
|
||||
|
|
Loading…
Reference in a new issue