Reputation: 4820
I'm tying to to detect simple location with NER algorithm, and I'm getting semi-correct results:
from flair.data import Sentence
from flair.models import SequenceTagger
tagger = SequenceTagger.load('ner')
text = 'Jackson leaves at north Carolina'
sentence = Sentence(text)
tagger.predict(sentence)
for entity in sentence.get_spans('ner'):
print(entity)
Output:
Span [1]: "Jackson" [− Labels: PER (0.9996)]
Span [5]: "Carolina" [− Labels: LOC (0.7363)]
I was expecting to receive "north Carolina"
.
Upvotes: 0
Views: 493
Reputation: 883
FLAIR CAN detect full location description. The reason for your issue is that the 'north' is not capitalized.
If you run
from flair.data import Sentence
from flair.models import SequenceTagger
tagger = SequenceTagger.load('ner')
text = 'Jackson leaves at North Carolina'
sentence = Sentence(text)
tagger.predict(sentence)
for entity in sentence.get_spans('ner'):
print(entity)
You'll get
Span[0:1]: "Jackson" → PER (0.9997)
Span[3:5]: "North Carolina" → LOC (0.9246)
Upvotes: 2