NLP in lingua italiana con Python
Spacy è un modulo NLP ( Natual Language Processing ) in lingua italiana per il linguaggio Python.
Ci sono anche altri moduli in lingua inglese, francese, tedesca, portoghese, spagnola e olandese.
Per installarlo sono andato sul sito ufficiale e ho selezionato la lingua italiana.
Poi ho settato come Loading style la voce import as module.
Nella parte inferiore sono visualizzate le relative istruzioni e comandi di installazione su Python.
Prima di tutto ho installato spacy su python tramite pip.
pip install spacy
Nella directory di Python ho lanciato il comando di installazione dal prompt dei comandi dos.
python -m spacy download it
Qualche warning mi ha fatto temere il peggio... ho comunque proseguito la procedura.
Poi sono entrato nella shell di python e ho importato il modulo.
In questo caso ho usato la versione 3.6.7 del linguaggio python.
>>> import it_core_news_sm
Ho inizializzato la funzione nlp della lingua italiana.
nlp=it_core_news_sm.load()
Infine ho fatto un test.
Ho applicato la funzione nlp a una stringa di testo contenente una frase, assegnando il risultato a una variabile.
>>> doc = nlp(u"Questa è la prima prova di utilizzo del software.")
Poi ho visualizzato il contenuto della variabile doc come lista di parole.
>>> print([(w.text, w.pos_) for w in doc])
La funzione nlp ha effettivamente assegnato i POS della frase in lingua italiana.
[('Questa', 'PRON'), ('è', 'VERB'), ('la', 'DET'), ('prima', 'ADJ'), ('prova', 'NOUN'), ('di', 'ADP'), ('utilizzo', 'NOUN'), ('del', 'DET'), ('software', 'NOUN'), ('.', 'PUNCT')]
Nei primi test eseguiti il modulo sembra funzionare correttamente. A parte qualche messaggio warning.