web-dev-qa-db-fra.com

Reconnaissance d'entité nommée dans Spacy

J'essaie de trouver des entités nommées pour une phrase comme ci-dessous

import spacy.lang.en
parser = spacy.lang.en.English()
ParsedSentence = parser(u"Alphabet is a new startup in China")
for Entity in  ParsedSentence.ents:  
    print (Entity.label, Entity.label_, ' '.join(t.orth_ for t in Entity))

Je m'attends à obtenir le résultat "Alphabet", "Chine" mais j'obtiens un ensemble vide en conséquence. Qu'est-ce que je fais mal ici

11
shan

Selon spacy documentation pour la reconnaissance d'entité de nom, voici la façon d'extraire l'entité de nom

import spacy
nlp = spacy.load('en') # install 'en' model (python3 -m spacy download en)
doc = nlp("Alphabet is a new startup in China")
print('Name Entity: {0}'.format(doc.ents))

Résultat
Name Entity: (China,)
Pour que "Alphabet" soit identifié comme un nom de société, ajoutez "Le" avant, donc il sera identifié comme un "Noun"

doc = nlp("The Alphabet is a new startup in China")
print('Name Entity: {0}'.format(doc.ents))

Name Entity: (Alphabet, China)

24
Janmejaya Nanda