Keyword Extraction

Come il Natural Language Processing può aiutare nell'estrazione di keywords da testi

Contesto

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.

Applicazioni

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

Benefici

I principali benefici della keyword extraction

Scalabilità: un aspetto essenziale

L’estrazione automatica delle parole chiave consente di analizzare enormi quantità di dati in pochi secondi. Si potrebbero leggere i testi e identificare le parole chiave manualmente ma questo richiederebbe molto tempo. Automatizzando questa attività, si possono vedere facilmente e automaticamente, per esempio, gli argomenti di cui parlano i clienti e che menzionano più spesso, risparmiando ore ed ore di elaborazione manuale.

Efficienza

La maggior parte dei dati che vengono generati ogni giorno non hanno uno schema e organizzazione, questi dati vengono chiamati dati non strutturati. La presenza di questi dati rende ancora più difficile l’analisi e l’elaborazione manuale. Diventa importante per le aziende utilizzare l’estrazione automatizzata delle parole chiave in modo da avere una soluzione efficiente.

Criteri Coerenti

L'estrazione automatica delle parole chiave agisce in base a regole e parametri predefiniti. Non si devono affrontare le incongruenze che sono comuni nell'analisi manuale del testo.

Analisi Real-Time

E’ possibile eseguire l'estrazione automatica delle parole chiave in real-time e ottenere approfondimenti, ad esempio, su ciò che viene detto su un prodotto mentre si verificano e seguirli nel tempo.

Utilizzo

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à.

Soluzione

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.
  • strip-0

    BERT

    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.

  • KeyBERT

    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.

    strip-1

Conclusioni

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.