Esistono decine di differenti applicazioni NLP. Si tratta di sistemi di machine learning progettati per risolvere problemi di Natural Language processing, ossia processo e analisi del linguaggio naturale.
L’espressione Natural Language Processing fa quindi riferimento a un campo di studi che, ispirandoci alla definizione che Arthur Samuel diede di machine learning, conferisce ai computer l’abilità di capire, analizzare, manipolare e generare il linguaggio umano.
Un linguaggio codificato sotto forma di testo, o audio.
Applicazioni NLP
Questo articolo non avrebbe mai fine se solo avessi inserito tutte le applicazioni NLP. Così ho scelto di selezionarne alcune, e incorporare le altre progressivamente!
Iniziamo!
Machine Translation
Google Translate è un sistema altamente esemplificativo. L’idea di tradurre un testo in differenti lingue è stata peraltro una delle prime attività pratiche di machine learning.
Durante la guerra fredda, l’esercito statunitense aveva la necessità di capire i messaggi sovietici intercettati dall’intelligence.
Il problema era l’assenza d’interpreti umani disposti a tradire la madre patria e aiutare un paese nemico.
L’idea di sfruttare sistemi di apprendimento artificiale inizio a balenare nella mente di molti scienziati. La ridotta potenza di calcolo, e la scarsità dei dati disponibili, d’altro canto segnarono il prematuro tramonto di un ambizioso progetto.
Question Answering
IBM Watson è un set di AI di prima categoria, progettate per il mondo enterprise e capaci di gestire problemi di differente natura.
Uno dei sitemi divenne celebre nel 2011 per aver battuto alcuni campioni in un gioco a premi statunitense. La capacità di rispondere a domande generiche è propria degli esseri umani: applicazioni NLP come questa postano il concetto a un nuovo livello.
Esistono dataset popolari come lo SQuAD (Stanford Question Answering Dataset) che raccogliendo le risposte a 100k domande, consente di allenare sistemi abili a comprendere porzioni di testo e rispondere a domande a esso inerenti.
Possiamo persino usare python per sviluppare sistemi analoghi
Sentiment Analysis
I sistemi di sentiment analysis permettono di estrarre da un testo informazioni riguardanti le emozioni generali trasmesse dalle parole scelte.
In questo modo è possibile identificare commenti offensivi e di spam, provvedendo automaticamente alla loro eliminazione ancor prima della pubblicazione, preservando siti e prodotti da pubblicità dannosa.
I sistemi di sentiment analysis sono applicazioni NLP che consento di aiutare i reparti di customer care aziendale, ad esempio, distinguendo messaggi positivi e di complimenti, da quelli negativi e su cui deve essere posta la massima priorità
Text classification
Efficienti sistemi per comprendere il contenuto di un testo e propriamente classificarlo con una label. Si tratta spesso di multilabel classification system. Qui un’intera guida passo a passo, dall’EDA al training di un modello, con tanto di tuning degli iper-parametri.
Named Entity Recognition (NER)
Stiamo parlando di applicazioni NLP capaci d’identificare le così dette named entity.
Ora mi dirai.
“Andreee so leggere e tradurre!”
Hai ragione!
Passiamo a qualche informazione realmente utile.
Esiste un’area di studi denominata information extraction, o “estrazione dell’informazione”. In essa definiamo named entity un qualsiasi oggetto che esista e possa essere identificato da un nome proprio.
Quindi Barack Obama è un named identity, così come Louvre Museum.
Ora come insegniamo a un’intelligenza artificiale a riconoscere le named entity nella frase: “Il Louvre Museum è un luogo tra i più visitati di Parigi” ?
Risponde la NER.
Per approfondire questo ambito, puoi trovare qui una fonte formidabile.
Un caldo abbraccio, Andrea!
5 Comments
[…] Appartiene quindi al campo della Natural Language Processing. […]
[…] prodotto funzionale in tempi brevi, sfruttando le potenzialità di algoritmi di Machine Learning e Natural Language Processing di […]
[…] modelli di Natural Language Processing, è possibile creare chatbot automatizzati attraverso una GUI (Graphical User Interface) semplice e […]
[…] un’occhiata qui, per altre applicazioni di […]
[…] Qui abbiamo individuato alcune applicazioni comuni. […]