Amazon Comprehend annuncia limiti di annotazioni inferiori per il riconoscimento di entità personalizzate PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Amazon Comprehend annuncia limiti di annotazione inferiori per il riconoscimento di entità personalizzate

Amazon Comprehend è un servizio di elaborazione del linguaggio naturale (NLP) che puoi utilizzare per estrarre automaticamente entità, frasi chiave, linguaggio, sentimenti e altre informazioni dettagliate dai documenti. Ad esempio, puoi iniziare immediatamente a rilevare entità come persone, luoghi, articoli commerciali, date e quantità tramite il Console di Amazon Comprehend, Interfaccia della riga di comando di AWS, o Amazon Comprendo le API. Inoltre, se devi estrarre entità che non fanno parte del Amazon Comprehend tipi di entità incorporati, puoi creare un modello di riconoscimento entità personalizzato (noto anche come entità personalizzata riconoscitore) per estrarre termini più pertinenti per il tuo caso d'uso specifico, come nomi di articoli da un catalogo di prodotti, identificatori di dominio e così via. La creazione autonoma di un riconoscimento di entità accurato utilizzando librerie e framework di machine learning può essere un processo complesso e dispendioso in termini di tempo. Amazon Comprehend semplifica notevolmente il lavoro di addestramento del modello. Tutto quello che devi fare è caricare il tuo set di dati di documenti e annotazioni e utilizzare la console Amazon Comprehend, l'AWS CLI o le API per creare il modello.

Per addestrare un riconoscitore di entità personalizzato, puoi fornire i dati di addestramento ad Amazon Comprehend as annotazioni o elenchi di entità. Nel primo caso, fornisci una raccolta di documenti e un file con annotazioni che specificano la posizione in cui si trovano le entità all'interno dell'insieme di documenti. In alternativa, con gli elenchi di entità, fornisci un elenco di entità con l'etichetta del tipo di entità corrispondente e una serie di documenti non annotati in cui prevedi che le tue entità siano presenti. Entrambi gli approcci possono essere utilizzati per addestrare un modello di riconoscimento di entità personalizzato di successo; tuttavia, ci sono situazioni in cui un metodo può essere una scelta migliore. Ad esempio, quando il significato di entità specifiche potrebbe essere ambiguo e dipendente dal contesto, si consiglia di fornire annotazioni perché ciò potrebbe aiutarti a creare un modello Amazon Comprehend in grado di utilizzare meglio il contesto durante l'estrazione delle entità.

Annotare i documenti può richiedere molto tempo e fatica, soprattutto se si considera che sia la qualità che la quantità delle annotazioni hanno un impatto sul modello di riconoscimento dell'entità risultante. Annotazioni imprecise o troppo poche possono portare a scarsi risultati. Per aiutarti a impostare un processo per l'acquisizione delle annotazioni, forniamo strumenti come Amazon SageMaker verità fondamentale, che puoi utilizzare per annotare i tuoi documenti più rapidamente e generare un file file di annotazioni manifest aumentato. Tuttavia, anche se utilizzi Ground Truth, devi comunque assicurarti che il tuo set di dati di addestramento sia sufficientemente grande per creare correttamente il tuo riconoscimento di entità.

Fino ad oggi, per iniziare ad addestrare un riconoscitore di entità personalizzato Amazon Comprehend, dovevi fornire una raccolta di almeno 250 documenti e un minimo di 100 annotazioni per tipo di entità. Oggi annunciamo che, grazie ai recenti miglioramenti nei modelli alla base di Amazon Comprehend, abbiamo ridotto i requisiti minimi per addestrare un riconoscitore con file di annotazione CSV in testo normale. Ora puoi creare un modello di riconoscimento delle entità personalizzato con un minimo di tre documenti e 25 annotazioni per tipo di entità. Puoi trovare ulteriori dettagli sui nuovi limiti di servizio in Linee guida e quote.

Per mostrare come questa riduzione può aiutarti a iniziare con la creazione di un riconoscitore di entità personalizzato, abbiamo eseguito alcuni test su alcuni set di dati open source e raccolto parametri di prestazione. In questo post, ti guidiamo attraverso il processo di benchmarking e i risultati che abbiamo ottenuto lavorando su set di dati sottocampionati.

Preparazione del set di dati

In questo post, spieghiamo come abbiamo addestrato un riconoscitore di entità personalizzato Amazon Comprehend utilizzando documenti annotati. In generale, le annotazioni possono essere fornite come a file CSV, una file manifest aumentato generato da Ground Truth, O file PDF. Il nostro focus è sulle annotazioni di testo in chiaro CSV, perché questo è il tipo di annotazione interessato dai nuovi requisiti minimi. I file CSV dovrebbero avere la seguente struttura:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

I campi rilevanti sono i seguenti:

  • Compila il – Il nome del file contenente i documenti
  • linea – Il numero della riga contenente l'entità, a partire dalla riga 0
  • Iniziare Offset – L'offset del carattere nel testo di input (relativo all'inizio della riga) che mostra dove inizia l'entità, considerando che il primo carattere è in posizione 0
  • Scostamento finale – L'offset dei caratteri nel testo di input che mostra dove finisce l'entità
  • Tipologia – Il nome del tipo di entità che si desidera definire

Inoltre, quando si utilizza questo approccio, è necessario fornire una raccolta di documenti di formazione come file .txt con un documento per riga o un documento per file.

Per i nostri test abbiamo utilizzato il benchmark SNIPS per la comprensione del linguaggio naturale, un set di dati di espressioni crowdsourcing distribuite tra sette intenti utente (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). Il set di dati è stato pubblicato nel 2018 nel contesto del documento Snips Voice Platform: un sistema integrato di comprensione della lingua parlata per interfacce vocali private-by-design di Coucke, et al.

Il set di dati SNIPS è costituito da una raccolta di file JSON che condensano sia le annotazioni che i file di testo grezzo. Quello che segue è uno snippet del set di dati:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Prima di creare il nostro riconoscimento di entità, abbiamo trasformato le annotazioni SNIPS e i file di testo non elaborato in un file di annotazioni CSV e un file di documenti .txt.

Quello che segue è un estratto dal ns annotations.csv file:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

Quello che segue è un estratto dal ns documents.txt file:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Configurazione del campionamento e processo di benchmarking

Per i nostri esperimenti, ci siamo concentrati su un sottoinsieme di tipi di entità dal set di dati SNIPS:

  • PrenotaRistorante – Tipi di entità: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • Ottieni Meteo – Tipi di entità: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Suonare – Tipi di entità: track, artist, music_item, service, genre, sort, playlist, album, year

Inoltre, abbiamo sottocampionato ogni set di dati per ottenere configurazioni diverse in termini di numero di documenti campionati per l'addestramento e numero di annotazioni per entità (noto anche come scatti). Ciò è stato possibile utilizzando uno script personalizzato progettato per creare set di dati sottocampionati in cui viene visualizzato almeno ogni tipo di entità k volte, entro un minimo di n documenti.

Ciascun modello è stato addestrato utilizzando un sottocampione specifico dei set di dati di addestramento; le nove configurazioni del modello sono illustrate nella tabella seguente.

Nome del set di dati sottocampionato Numero di documenti campionati per la formazione Numero di documenti campionati per il test Numero medio di annotazioni per tipo di entità (scatti)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Per misurare l'accuratezza dei nostri modelli, abbiamo raccolto parametri di valutazione che Amazon Comprehend calcola automaticamente durante l'addestramento di un riconoscitore di entità:

  • Precisione – Indica la frazione di entità rilevate dal riconoscitore che sono state correttamente identificate ed etichettate. Da una prospettiva diversa, la precisione può essere definita come tp / (tp + fp), Dove tp è il numero di veri positivi (identificazioni corrette) e fp è il numero di falsi positivi (identificazioni errate).
  • Richiamo – Indica la frazione di entità presenti nei documenti che sono correttamente identificate ed etichettate. È calcolato come tp / (tp + fn), Dove tp è il numero di veri positivi e fn è il numero di falsi negativi (identificazioni mancate).
  • punteggio F1 – Questa è una combinazione delle metriche di precisione e richiamo, che misura l'accuratezza complessiva del modello. Il punteggio F1 è la media armonica delle metriche di precisione e richiamo e viene calcolato come 2 * Precisione * Recall / (Precisione + Recall).

Per confrontare le prestazioni dei nostri riconoscitori di entità, ci concentriamo sui punteggi F1.

Considerando che, dati un set di dati e una dimensione del sottocampione (in termini di numero di documenti e scatti), è possibile generare diversi sottocampioni, abbiamo generato 10 sottocampioni per ciascuna delle nove configurazioni, addestrato i modelli di riconoscimento delle entità, raccolto le metriche delle prestazioni e li ha mediati usando la micro-media. Questo ci ha permesso di ottenere risultati più stabili, specialmente per sottocampioni con pochi colpi.

Risultati

La tabella seguente mostra i punteggi F1 micromedi calcolati sui parametri delle prestazioni restituiti da Amazon Comprehend dopo aver addestrato ciascun riconoscitore di entità.

Nome del set di dati sottocampionato Punteggio F1 micromediato del riconoscimento di entità (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

L'istogramma seguente mostra la distribuzione dei punteggi F1 per le nove configurazioni che abbiamo addestrato come descritto nella sezione precedente.

Possiamo osservare che siamo stati in grado di addestrare con successo modelli di riconoscimento di entità personalizzati anche con un minimo di 25 annotazioni per tipo di entità. Se ci concentriamo sui tre set di dati sottocampionati più piccoli (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-Ae snips-PlayMusic-subsample-A), vediamo che, in media, siamo stati in grado di ottenere un punteggio F1 dell'84%, un risultato abbastanza buono considerando il numero limitato di documenti e annotazioni che abbiamo utilizzato. Se vogliamo migliorare le prestazioni del nostro modello, possiamo raccogliere documenti e annotazioni aggiuntivi e addestrare un nuovo modello con più dati. Ad esempio, con sottocampioni di medie dimensioni (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-Be snips-PlayMusic-subsample-B), che contengono il doppio di documenti e annotazioni, abbiamo ottenuto in media un punteggio F1 dell'88% (miglioramento del 5% rispetto a subsample-A set di dati). Infine, set di dati sottocampionati più grandi (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-Ce snips-PlayMusic-subsample-C), che contengono ancora più dati annotati (circa quattro volte il numero di documenti e annotazioni utilizzati per subsample-A dataset), ha fornito un ulteriore miglioramento del 2%, portando il punteggio medio di F1 al 90%.

Conclusione

In questo post, abbiamo annunciato una riduzione dei requisiti minimi per l'addestramento di un riconoscitore di entità personalizzato con Amazon Comprehend ed eseguito alcuni benchmark su set di dati open source per mostrare come questa riduzione può aiutarti a iniziare. A partire da oggi, puoi creare un modello di riconoscimento delle entità con un minimo di 25 annotazioni per tipo di entità (anziché 100) e almeno tre documenti (anziché 250). Con questo annuncio, stiamo abbassando la barriera all'ingresso per gli utenti interessati a utilizzare la tecnologia di riconoscimento delle entità personalizzate di Amazon Comprehend. Ora puoi iniziare a eseguire i tuoi esperimenti con una raccolta molto piccola di documenti annotati, analizzare i risultati preliminari e ripetere includendo annotazioni e documenti aggiuntivi se hai bisogno di un modello di riconoscimento delle entità più accurato per il tuo caso d'uso.

Per saperne di più e iniziare con un riconoscimento di entità personalizzato, fare riferimento a Riconoscimento dell'entità personalizzata.

Un ringraziamento speciale ai miei colleghi Jyoti Bansal e Jie Ma per il loro prezioso aiuto con la preparazione dei dati e il benchmarking.


Circa l'autore

Amazon Comprehend annuncia limiti di annotazioni inferiori per il riconoscimento di entità personalizzate PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Luca Guida è un Solutions Architect presso AWS; ha sede a Milano e supporta gli ISV italiani nel loro viaggio verso il cloud. Con un background accademico in informatica e ingegneria, ha iniziato a sviluppare la sua passione per l'IA/ML all'università. In qualità di membro della community di elaborazione del linguaggio naturale (NLP) all'interno di AWS, Luca aiuta i clienti ad avere successo adottando i servizi di AI/ML.

Timestamp:

Di più da Apprendimento automatico di AWS