mirror of https://github.com/explosion/spaCy.git
Add option to use label karg to determine ent_type in doc.merge
This commit is contained in:
parent
9c809efc25
commit
aafdf6ffb8
|
@ -19,6 +19,15 @@ def test_spans_merge_tokens(en_tokenizer):
|
||||||
assert doc[0].text == 'Los Angeles'
|
assert doc[0].text == 'Los Angeles'
|
||||||
assert doc[0].head.text == 'start'
|
assert doc[0].head.text == 'start'
|
||||||
|
|
||||||
|
doc = get_doc(tokens.vocab, [t.text for t in tokens], heads=heads)
|
||||||
|
assert len(doc) == 4
|
||||||
|
assert doc[0].head.text == 'Angeles'
|
||||||
|
assert doc[1].head.text == 'start'
|
||||||
|
doc.merge(0, len('Los Angeles'), tag='NNP', lemma='Los Angeles', label='GPE')
|
||||||
|
assert len(doc) == 3
|
||||||
|
assert doc[0].text == 'Los Angeles'
|
||||||
|
assert doc[0].head.text == 'start'
|
||||||
|
assert doc[0].ent_type_ == 'GPE'
|
||||||
|
|
||||||
def test_spans_merge_heads(en_tokenizer):
|
def test_spans_merge_heads(en_tokenizer):
|
||||||
text = "I found a pilates class near work."
|
text = "I found a pilates class near work."
|
||||||
|
|
|
@ -667,6 +667,13 @@ cdef class Doc:
|
||||||
attributes[TAG] = self.vocab.strings[tag]
|
attributes[TAG] = self.vocab.strings[tag]
|
||||||
attributes[LEMMA] = self.vocab.strings[lemma]
|
attributes[LEMMA] = self.vocab.strings[lemma]
|
||||||
attributes[ENT_TYPE] = self.vocab.strings[ent_type]
|
attributes[ENT_TYPE] = self.vocab.strings[ent_type]
|
||||||
|
elif not args:
|
||||||
|
if "label" in attributes and ENT_TYPE not in attributes:
|
||||||
|
if type(attributes["label"]) == int:
|
||||||
|
attributes[ENT_TYPE] = attributes["label"]
|
||||||
|
else:
|
||||||
|
attributes[ENT_TYPE] = self.vocab.strings[attributes["label"]]
|
||||||
|
|
||||||
elif args:
|
elif args:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Doc.merge received %d non-keyword arguments. "
|
"Doc.merge received %d non-keyword arguments. "
|
||||||
|
|
Loading…
Reference in New Issue