Я могу получить фразы с помощью SpaCy с помощью следующего кода: Я получаю следующие фразы:
amazing_landscape
прекрасный
город
Я не хочу получать "красивые", потому что это не кусок существительного. Пожалуйста помоги. Код выглядит следующим образом:
import spacy
nlp = spacy.load('en_core_web_sm')
f = 'I live in a city with amazing landscapes. It is beautiful. Can you guess?'
stop = ['indeed','regard',..... 'have']
doc = nlp(f)
words = []
tags = ['JJ','JJR','JJS','VBG','CD','AFX','VBN','HYPH','NNP','NNPS','NN','NNS']
nouns = ['NNP','NNPS','NN','NNS']
valid = []
tokens = []
for i in doc:
if nlp.vocab[i.text] in stop or i.tag_ not in tags:
if len(valid)>0:
words.append(valid)
valid = []
else:
valid.append(i.lemma_)
terms = set()
for i in words:
terms.add('_'.join(j for j in i))
for i in terms:
print(i)