Contare i nomi in un testo
In questo esercizio scriveremo due funzioni, nouns() e proper_nouns(), che conteranno rispettivamente il numero di nomi comuni e di nomi propri in un testo.
Queste funzioni prenderanno in input un testo e genereranno una lista con i tag POS per ogni parola. Restituiranno poi il numero di nomi propri/nomi comuni presenti nel testo. Useremo queste funzioni nel prossimo esercizio per ricavare spunti interessanti sulle fake news.
Il modello en_core_web_sm è già stato caricato come nlp in questo esercizio.
Questo esercizio fa parte del corso
Feature Engineering per NLP in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
nlp = spacy.load('en_core_web_sm')
# Returns number of proper nouns
def proper_nouns(text, model=nlp):
# Create doc object
doc = model(text)
# Generate list of POS tags
pos = [token.pos_ for token in doc]
# Return number of proper nouns
return ____.____(____)
print(proper_nouns("Abdul, Bill and Cathy went to the market to buy apples.", nlp))