Elenchi di entità (solo testo semplice) - Amazon Comprehend

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elenchi di entità (solo testo semplice)

Per addestrare un modello utilizzando un elenco di entità, si forniscono due informazioni: un elenco dei nomi delle entità con i corrispondenti tipi di entità personalizzati e una raccolta di documenti non annotati in cui si prevede che le entità appaiano.

Quando fornisci un elenco di entità, Amazon Comprehend utilizza un algoritmo intelligente per rilevare le occorrenze dell'entità nei documenti e fungere da base per l'addestramento del modello di riconoscimento delle entità personalizzato.

Per gli elenchi di entità, fornisci almeno 25 corrispondenze per tipo di entità nell'elenco delle entità.

Un elenco di entità per il riconoscimento personalizzato delle entità richiede un file con valori separati da virgole (CSV), con le seguenti colonne:

  • Testo: il testo di un esempio di voce esattamente come visualizzato nel corpus del documento di accompagnamento.

  • Tipo: il tipo di entità definito dal cliente. I tipi di entità devono contenere una stringa maiuscola separata da un carattere di sottolineatura, ad esempio MANAGER o SENIOR_MANAGER. È possibile addestrare fino a 25 tipi di entità per modello.

Il file documents.txt contiene quattro righe:

Jo Brown is an engineer in the high tech industry. John Doe has been a engineer for 14 years. Emilio Johnson is a judge on the Washington Supreme Court. Our latest new employee, Jane Smith, has been a manager in the industry for 4 years.

Il file CSV con l'elenco delle entità contiene le seguenti righe:

Text, Type Jo Brown, ENGINEER John Doe, ENGINEER Jane Smith, MANAGER
Nota

Nell'elenco delle entità, la voce relativa a Emilio Johnson non è presente perché non contiene né l'entità ENGINEER né l'entità MANAGER.

Creazione dei file di dati

È importante che l'elenco delle entità sia contenuto in un file CSV configurato correttamente, quindi la possibilità di avere problemi con il file dell'elenco delle entità è minima. Per configurare manualmente il file CSV, deve essere vero quanto segue:

  • La codifica UTF-8 deve essere specificata in modo esplicito, anche se viene utilizzata come impostazione predefinita nella maggior parte dei casi.

  • Deve includere i nomi delle colonne: e. Type Text

Consigliamo vivamente di generare i file di input CSV a livello di codice per evitare potenziali problemi.

L'esempio seguente usa Python per generare un CSV per le annotazioni mostrate sopra:

import csv with open("./entitylist/entitylist.csv", "w", encoding="utf-8") as csv_file: csv_writer = csv.writer(csv_file) csv_writer.writerow(["Text", "Type"]) csv_writer.writerow(["Jo Brown", " ENGINEER"]) csv_writer.writerow(["John Doe", " ENGINEER"]) csv_writer.writerow(["Jane Smith", " MANAGER"])

Best practice

Esistono diversi fattori da considerare per ottenere il miglior risultato quando si utilizza un elenco di entità, tra cui:

  • L'ordine delle entità nell'elenco non ha effetti sull'addestramento dei modelli.

  • Utilizza gli elementi dell'elenco delle entità che coprono l'80%-100% degli esempi di entità positive menzionati nel corpus di documenti non annotati.

  • Evita gli esempi di entità che corrispondono a entità diverse dal corpus del documento rimuovendo parole e frasi comuni. Anche una manciata di corrispondenze errate può influire in modo significativo sulla precisione del modello risultante. Ad esempio, una parola come quella presente nell'elenco delle entità produrrà un numero elevato di corrispondenze, che è improbabile che si tratti delle entità che state cercando, e quindi influirà in modo significativo sulla precisione.

  • I dati di input non devono contenere duplicati. La presenza di campioni duplicati potrebbe causare la contaminazione del set di test e quindi influire negativamente sul processo di addestramento, sulle metriche del modello e sul comportamento.

  • Fornisci documenti che assomiglino il più possibile a casi d'uso reali. Non utilizzare dati relativi a giocattoli o dati sintetizzati per i sistemi di produzione. I dati di input devono essere il più diversi possibile per evitare un adattamento eccessivo e aiutare il modello sottostante a generalizzare meglio su esempi reali.

  • L'elenco delle entità fa distinzione tra maiuscole e minuscole e le espressioni regolari non sono attualmente supportate. Tuttavia, il modello addestrato è spesso in grado di riconoscere le entità anche se non corrispondono esattamente all'involucro fornito nell'elenco delle entità.

  • Se hai un'entità che è una sottostringa di un'altra entità (come «Smith» e «Jane Smith»), forniscile entrambe nell'elenco delle entità.

Ulteriori suggerimenti sono disponibili all'indirizzo Miglioramento delle prestazioni del riconoscimento di entità personalizzato