web-dev-qa-db-ja.com

Spacyでの名前付きエンティティの認識

次のように文の名前付きエンティティを見つけようとしています

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))

「アルファベット」、「中国」という結果が得られると期待していますが、結果として空のセットが得られます。ここで何が間違っているのですか

11
shan

スペイシーごとに documentation Name Entity Recognitionの場合、ここに名前エンティティを抽出する方法があります

_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))
_

結果
Name Entity: (China,)
「Alphabet」を会社名として識別するには、「Alphabet」の前に「The」を追加して、「名詞」として識別されるようにします

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

Name Entity: (Alphabet, China)

24
Janmejaya Nanda