def test_own_terminology(): nlp = spacy.load("en_core_web_sm") negex = Negex(nlp, termination=["whatever"]) nlp.add_pipe(negex, last=True) doc = nlp( "He does not like Steve Jobs whatever he says about Barack Obama.") assert doc.ents[1]._.negex == False
def test_issue7(): nlp = spacy.load("en_core_web_sm") negex = Negex(nlp) nlp.add_pipe(negex, last=True) ruler = EntityRuler(nlp) patterns = [{"label": "SOFTWARE", "pattern": "spacy"}] doc = nlp("fgfgdghgdh")
def test_own_terminology(): nlp = spacy.load("pt_core_news_sm") negex = Negex(nlp, language="pt", termination=["por causa do que"]) nlp.add_pipe(negex, last=True) doc = nlp( "Ele não gosta do que Steve Jobs por causa do que diz sobre Barack Obama." ) assert doc.ents[1]._.negex == False
def test_umls(): nlp = spacy.load("en_core_sci_sm") negex = Negex(nlp, ent_types=["ENTITY"]) nlp.add_pipe(negex, last=True) docs = build_med_docs() for d in docs: doc = nlp(d[0]) for i, e in enumerate(doc.ents): assert (e.text, e._.negex) == d[1][i]
def test(): nlp = spacy.load("en_core_web_sm") negex = Negex(nlp) nlp.add_pipe(negex, last=True) docs = build_docs() for d in docs: doc = nlp(d[0]) for i, e in enumerate(doc.ents): assert (e.text, e._.negex) == d[1][i]
def test_pt(): nlp = spacy.load("pt_core_news_sm") negex = Negex(nlp, language="en") nlp.add_pipe(negex, last=True) docs = build_docs() for d in docs: doc = nlp(d[0]) for i, e in enumerate(doc.ents): print(e.text, e._.negex) assert (e.text, e._.negex) == d[1][i]
def test_umls2(): nlp = spacy.load("en_core_sci_sm") negex = Negex( nlp, language="en_clinical_sensitive", ent_types=["ENTITY"], chunk_prefix=["no"] ) nlp.add_pipe(negex, last=True) docs = build_med_docs() for d in docs: doc = nlp(d[0]) for i, e in enumerate(doc.ents): print(e.text, e._.negex) assert (e.text, e._.negex) == d[1][i]
def test_issue_14(): nlp = spacy.load("en_core_sci_sm") negex = Negex(nlp, language="en_clinical", chunk_prefix=["no", "cancer free"]) negex.remove_patterns(following_negations="free") nlp.add_pipe(negex, last=True) print(negex.get_patterns()) doc = nlp("The patient has a cancer free diagnosis") expected = [False, True] for i, e in enumerate(doc.ents): print(e.text, e._.negex) assert e._.negex == expected[i] nlp.remove_pipe("Negex") negex = Negex(nlp, language="en_clinical", chunk_prefix=["no", "free"]) nlp.add_pipe(negex, last=True) doc = nlp("The patient has a cancer free diagnosis") expected = [False, False] for i, e in enumerate(doc.ents): print(e.text, e._.negex) assert e._.negex == expected[i]
def test_add_remove_patterns(): nlp = spacy.load("en_core_web_sm") negex = Negex(nlp) patterns = negex.get_patterns() negex.add_patterns( pseudo_negations=["my favorite pattern"], termination=["these are", "great patterns"], preceding_negations=["wow a negation"], following_negations=["extra negation"], ) patterns_after = negex.get_patterns() print(patterns_after) print(len(patterns_after["pseudo_patterns"])) assert len(patterns_after["pseudo_patterns"]) - 1 == len( patterns["pseudo_patterns"] ) assert len(patterns_after["termination_patterns"]) - 2 == len( patterns["termination_patterns"] ) assert len(patterns_after["preceding_patterns"]) - 1 == len( patterns["preceding_patterns"] ) assert len(patterns_after["following_patterns"]) - 1 == len( patterns["following_patterns"] ) negex.remove_patterns( termination=["these are", "great patterns"], pseudo_negations=["my favorite pattern"], preceding_negations="denied", following_negations=["unlikely"], ) negex.remove_patterns(termination="but") negex.remove_patterns( preceding_negations="wow a negation", following_negations=["extra negation"] ) patterns_after = negex.get_patterns() assert ( len(patterns_after["termination_patterns"]) == len(patterns["termination_patterns"]) - 1 ) assert ( len(patterns_after["following_patterns"]) == len(patterns["following_patterns"]) - 1 ) assert ( len(patterns_after["preceding_patterns"]) == len(patterns["preceding_patterns"]) - 1 ) assert len(patterns_after["pseudo_patterns"]) == len(patterns["pseudo_patterns"])
def test_get_patterns(): nlp = spacy.load("en_core_web_sm") negex = Negex(nlp) patterns = negex.get_patterns() assert type(patterns) == dict assert len(patterns) == 4
def test_get_patterns(): nlp = spacy.load("pt_core_news_sm") negex = Negex(nlp, language="pt") patterns = negex.get_patterns() assert type(patterns) == dict assert len(patterns) == 4