Natural Language Processing
We facilitate human-machine interaction
Applied Innovation
L’evoluzione delle «macchine intelligenti» in grado di capire e rispondere alla comunicazione «umana» è nel riconoscimento di intenzione e sentimenti dell’utente
Natural Language Processing: cos'è e in cosa consiste
Il Natural Language Processing è quella procedura che permette alle “macchine” di riconoscere testo o voce, e formulare a sua volta le dovute risposte o le proprie argomentazioni, che verranno fornite anch’esse sotto forma di testo o voce.
Da decenni l’uomo sta lavorando alla costruzione di macchine in grado di capire e rispondere a input testuali o vocali, e quindi di interagire allo stesso modo di come facciamo noi essere umani.
Ebbene, la tecnologia ha fatto passi da gigante in questo campo, soprattutto nell’elaborazione del linguaggio naturale.
Oggi grazie all’evoluzione dei processi di elaborazione del complicatissimo linguaggio umano, le macchine sono in grado di comprendere il significato delle parole riconoscendo anche l’intenzione (Intent) ed il sentimento (Sentiment) di chi parla o scrive.
Cosa vuol dire Natural Language Processing (NLP)?
La definizione esatta del termine “Natural Language Processing” è “Elaborazione del Linguaggio Naturale”.
Potremmo definirlo una disciplina o un ramo dell’Intelligenza Artificiale (A.I.).
Il suo scopo è rendere il linguaggio umano comprensibile alle macchine e permettere a quest’ultime di elaborare correttamente i dati testuali o vocali inviati / ricevuti.
E di conseguenza rispondere e interagire allo stesso modo di noi essere umani, ovvero con testo o voce.
Dal riconoscimento vocale all’analisi del Sentiment, nei prossimi paragrafi vi indicheremo le varie fasi e le principali tecniche di Natural Processing Language.
Quali sono le fasi del Natural Processing Language
Ognuna di esse è composta a sua volta da diverse attività e tecniche specifiche utili
a codificare e comprendere testo e voce.
Riconoscimento
Vocale
In questa fase la macchina procederà quindi a riconoscere ciò che gli viene detto, a segmentare il discorso e separarlo quindi in parole, per poi effettuare una sintesi vocale e un’ulteriore segmentazione delle parole (detta anche “tokenizzazione”).
Generazione del linguaggio
naturale
Infatti una volta codificato e compreso il discorso (parola per parola), analizzato il sentiment e rilevato atteggiamenti particolari, sarcasmo, confusione ed altre emozioni collegate al testo o all’audio; la macchina formulerà ciò che serve per rispondere correttamente agli input ricevuti. E rispondere quindi allo stesso modo, ovvero con testo o voce.
Comprensione del
linguaggio naturale
Seguirà la segmentazione morfologica e il tagging di precise parti del discorso. Operazioni utili a identificare il corretto significato delle parole inserite in un determinato contesto, e riconoscere se possono servire come più parti del discorso.
Ad esempio la macchina riconoscerà che la parola “matita” può essere un sostantivo (“la matita è sul tavolo”), può essere collegata a un verbo (“prendere una matita”), e così via.
La macchina dovrà però essere in grado di riconoscere che lo stesso termine non può essere usato come aggettivo. Infatti usato come aggettivo, il termine “matita” non avrà alcun significato. Il linguaggio umano è molto complesso e spesso risulta difficilissimo analizzare correttamente il significato di una frase o di singole parole.
Senza ombra di dubbio le maggiori problematiche derivano da: omonimi, metafore, modi di dire, eccezioni grammaticali e così via.
Inoltre, fanno parte di questa fase anche i processi di stemming (riduzione delle parole flesse ad una forma base) e la lemmatizzazione (rimozione delle desinenze flessive e ritorno della parola alla forma base).
Riconoscimento dell’entità designata (NER) e Analisi del Sentiment (di cui parleremo in maniera più approfondita nei prossimi paragrafi) completano la lista di attività rientranti in questa fase
A cosa serve il Natural Language Processing?
L’NLP è infatti utilizzato per creare software in grado di facilitare la comprensione di testi scritti in altre lingue, per creare auto-risponditori o bot, e anche per effettuare analisi su flussi di dati testuali e vocali relativi ai social o app/software di messaggistica.
Esempi di NLP
Traduzione Automatica
L’esempio più lampante di Natural Processing Language utilizzato a scopo “innovativo” e come una sorta di “evoluzione” della comunicazione tra esseri umani è Google Translate.
Big G ha introdotto questo strumento nel 2006, utile per tradurre in maniera istantanea parole o frasi da/per lingue diverse. Con il passare del tempo anche questo strumento si è evoluto, oggi non solo fornisce una buona traduzione in varie lingue, ma è in grado anche di leggere e pronunciare correttamente (o quasi!) il testo inserito. Il tutto in oltre 100 lingue diverse.
Non è sicuramente uno strumento perfetto, ma la traduzione automatica sta facendo grandi progressi in termini di accuratezza e precisione.
Chatbot e Assistenti Virtuali
L’NLP si rivela fondamentale per la creazione di Chatbot o Assistenti Virtuali. Gli esempi più interessanti sono Siri (assistente sviluppato da Apple e integrato in quasi tutti i suoi device) e Alexa (sviluppato da Amazon).
In questi due casi il Natural Processing Language è servito a sviluppare un software in grado di comprendere il linguaggio naturale e rispondere con azioni appropriate o commenti utili (per il momento si tratta di elementi predefiniti dallo sviluppatore, in futuro l’assistente virtuale potrebbe essere libero di rispondere a proprio piacimento).
I chatbot funzionano allo stesso modo degli assistenti vocali e sono in grado di rispondere automaticamente a precise richieste da parte dell’utente (sia vocali che scritte).
Rilevamento Spam
Il Natural Processing Language si rivela utilissimo anche per individuare Spam. Un esempio è il nuovo algoritmo che sta sviluppando Facebook, in grado di rilevare parole o linguaggi volgari, aggressivi, incitanti all’odio, in modo tale da cancellare in automatico i post contenenti questo tipo di contenuto.
L’NPL viene utilizzato anche per scansionare mail alla ricerca di parole o linguaggio che indichino la presenza di spam, tentativi di phising o truffe online.
Possibile impostare il sistema su qualsiasi parametro, ad esempio per scansionare contenuti ed evidenziare le parti contenenti termini finanziari, frasi grammaticalmente scorrette, nomi sbagliati e così via.
Sempre per i social, risulta determinante l’analisi del sentiment. Riesce a determinare in modo corretto il linguaggio usato nei post, nelle risposte, nelle recensioni e in futuro potrebbe riuscire a comprendere anche atteggiamenti ed emozioni degli utenti nei confronti ad esempio di un prodotto o un post.