Come il Natural Language Processing può aiutare nell'estrazione di keywords da testi
L’estrazione delle keywords è una delle attività più richieste nel campo del Machine Learning e del Natural Language Processing (NLP). L’algoritmo di estrazione prende in input un testo e identifica un insieme di termini che meglio descrivono l’argomento del testo. Questa attività aiuta a riassumere il contenuto dei testi e a riconoscere i principali argomenti discussi senza dover leggere tutto il testo. Viene utilizzata per trovare parole chiave da tutti i tipi di testo: documenti, commenti sui social, recensioni di prodotti, articoli di notizie, post, chat, e-mail, report, forum, ecc. Le informazioni estratte aiutano a definire una strategia aziendale basata sui dati identificando, ad esempio, ciò che i clienti considerano importante, gli aspetti del prodotto o servizio che devono essere migliorati, quello che dicono i clienti sulla concorrenza e tanto altro ancora.
Estrarre parole chiave da testi ha molteplici applicazioni nell'ambito del social listening, della sentiment analysis e molto altro. Alcune delle applicazioni più classiche sono le seguenti:
Monitoraggio dei social media andando ad estrarre le parole chiave dai post, commenti e chat al fine di comprendere i pensieri, sentimenti e opinioni dei propri clienti
Monitoraggio del brand andando ad estrarre le parole chiave dai social media, blog, forum, siti di recensioni e articoli di notizie per capire quale reputazione ha il brand online
Etichettatura automatica dei ticket del servizio clienti estraendo le parole chiave dai ticket in arrivo e assegnando le migliori corrispondenze come tag in modo da diminuire i tempi di risposta
Estrazione delle parole chiavi dalle conversazioni tra i clienti e il servizio clienti al fine di comprendere gli argomenti di cui parlano i clienti
Analisi del prodotto/servizio andando ad estrarre le parole chiave più frequenti menzionate dai clienti per capire cosa dicono, cosa considerano importante e cosa pensano debba essere migliorato
Etichettatura automatica di contenuti tramite l’estrazione delle parole chiave dagli stessi contenuti per fornire informazioni aggiuntive e utili sui contenuti agli utenti o per creare sistemi di raccomandazione migliori basati sulla similarità dei contenuti
Per uno dei principali gruppi editoriali italiani, noi di Machine Learning Reply abbiamo utilizzato le nostre conoscenze di Machine Learning e Natural Language Processing per creare una soluzione in grado di estrarre le parole chiave dagli articoli di alcune testate giornalistiche. Lo scopo della soluzione è stato quello di etichettare tutti gli articoli attraverso le parole chiave in modo da essere facilmente gestibili per altre attività.
Nella nostra soluzione per uno dei principali gruppi editoriali italiani si è scelto di utilizzare una tecnica di estrazione delle parole chiave di nome KeyBERT che si basa sul modello BERT. Di seguito, verrà spiegato il modello BERT e la soluzione KeyBERT.
Ci sono tanti metodi che permettono di estrarre parole chiave o frasi chiave come ad esempio TF-IDF, Rake, YAKE!, ecc. Questi modelli però funzionano tipicamente in base alle proprietà statistiche di un testo e non in base alla somiglianza semantica, che cattura e sfrutta invece il significato delle parole, frasi e testi.
È qui che entra in gioco BERT.
BERT (Bidirectional Encoder Representations from Transformers) è un modello basato su transformer per il Natural Language Processing che permette di trasformare parole, frasi e testi in array di numeri (embedding) che ne catturano il significato. Parole, frasi e testi che hanno embeddings simili hanno significati semantici simili.
Esistono molte soluzioni che utilizzano gli embeddings di BERT ma quasi tutte richiedono un addestramento e non sono di facile utilizzo.
Invece, è presente una soluzione molto semplice ma potente che prende il nome di KeyBERT. KeyBERT è una tecnica di estrazione delle parole chiave che utilizza gli embeddings di BERT e la similarità del coseno per trovare le parole chiave o frasi chiave in un testo che sono le più simili al documento stesso.
Nel dettaglio, per prima cosa vengono estratti gli embeddings del testo con BERT per ottenere una rappresentazione a livello di documento. Successivamente, vengono estratti gli embeddings delle parole/frasi contenute nel testo. Infine, viene usata la similarità del coseno sugli embeddings estratti per trovare le parole/frasi più simili al testo. Le parole/frasi più simili sono identificate come le parole/frasi che meglio descrivono l’intero testo.
L'estrazione delle parole chiave è un ottimo modo per trovare ciò che è rilevante in grandi insiemi di dati. Ciò consente alle aziende di qualsiasi campo di automatizzare processi complessi che altrimenti richiederebbero molto tempo e sarebbero molto meno efficaci. Si possono ottenere informazioni preziose per prendere decisioni aziendali migliori.