Как сделать так, чтобы каждый кусок в SpaCy был существительным? - PullRequest
0 голосов
/ 07 марта 2019

Я могу получить фразы с помощью 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)
...