Estrazione di entità personalizzata con analisi del testo

Introduction

Il riconoscimento di entità denominate è un'area essenziale della ricerca a livello di Machine Learning ed elaborazione del linguaggio naturale. L'estrazione di entità permette di eseguire il pull delle entità denominate ricercabili da testo non strutturato. Viene usata in pratica per rispondere a molte domande concrete, ad esempio se un tweet contiene il nome e l'ubicazione di una persona, se un'azienda viene citata in un articolo o se un prodotto specifico viene citato in una recensione. L'estrazione di entità è particolarmente utile in caso di applicazione ad aree con uso intensivo di terminologia specifica dei domini, ad esempio la documentazione relativa al settore sanitario, legale e normativo o in ambito scientifico.

Prepare data

Il testo strutturato, ad esempio il testo disponibile in documenti, tweet o recensioni di prodotti, richiede in genere elaborazione prima dell'analisi. L'elaborazione preliminare include la rimozione di caratteri duplicati o speciali, la sostituzione della forma flessa delle parole con la rispettiva forma base o la conversione di maiuscole/minuscole. Dopo la pulizia, il testo viene elaborato per l'estrazione dei termini più importanti o più frequenti. Si tratta di un passaggio importante nella riduzione della complessità della soluzione. Ogni parola è una funzionalità che il modello deve gestire e questo passaggio riduce il numero di funzionalità da miliardi a migliaia. Viene quindi creato un dizionario. Il dizionario combina le parole (unigrammi) usate per il training del modello e il numero di volte in cui l'unigramma viene rilevato nel complesso del testo. Vengono quindi calcolate le metriche per misurare la frequenza e l'importanza di ogni unigramma.

Build and train

Dopo la creazione di un dizionario, i dati vengono suddivisi in set di training e di convalida e viene avviata la compilazione di modelli. Gli algoritmi più usati nell'estrazione di entità includono la regressione logistica a due classi e le foreste delle decisioni a più classi. Più recentemente le soluzioni di estrazione delle entità hanno usato tecniche avanzate di Deep Learning come le reti neurali ricorrenti LSTM (Long Short-Term Memory) insieme ad algoritmi di apprendimento senza supervisione con incorporamento di parole che eseguono il training della rete neurale da tutte le istanze di training senza etichetta. Il richiamo, la precisione e i punteggi F1 vengono usati per l'assegnazione dei punteggi ai modelli. Un modello di estrazione di entità con prestazioni ottimali, con training basato su un piccolo set di esempi, dovrà essere essenzialmente in grado di generalizzare il riconoscimento da qualsiasi testo arbitrario passato al sistema.

Deploy

Quando la variante più efficace del modello è stata identificata, tale modello verrà distribuito in modo da consentirne l'utilizzo da parte di un'applicazione. Spesso ciò significa che il modello viene distribuito come servizio Web con un endpoint REST. Il modello può essere quindi chiamato da applicazioni line-of-business o dal software di analisi. In base alle esigenze aziendali, i servizi Web vengono utilizzati in due modi: in modalità di richiesta-risposta o in modalità batch. L'elaborazione di testo in tempo reale è un'opzione utile per l'assegnazione dei punteggi a testo fornito sotto forma di tweet o commenti nel sito Web di un prodotto, in cui p necessario assegnare dei punteggi al testo per poterlo usare in un'applicazione. Puoi usare la modalità batch per elaborare in modo efficiente quantità più elevate di dati, ad esempio per esaminare testi normativi o volumi elevati di dati cronologici.

Customers are doing great things with AI