Preparare i dati di addestramento del testo per l'analisi del sentiment

Questa pagina descrive come preparare i dati di testo da utilizzare in un set di dati di Vertex AI per addestrare un modello di analisi del sentiment.

I dati di addestramento per l'analisi del sentiment sono costituiti da documenti associati a un valore di sentiment che indica il sentiment dei contenuti. Ad esempio, potresti avere tweet su un determinato dominio, come i viaggi aerei. Ogni tweet è associato a un valore di sentiment che indica se il tweet è positivo, negativo o neutro.

Requisiti dei dati

  • Devi fornire almeno 10, ma non più di 100.000, documenti di addestramento totali.
  • Un valore di sentiment deve essere un numero intero compreso tra 0 e 10. Il valore sentiment massimo è la tua scelta. Ad esempio, se vuoi identificare se il sentiment è negativo, positivo o neutro, puoi etichettare i dati di addestramento con punteggi di sentiment pari a 0 (negativo), 1 (neutro) e 2 (positivo). Il punteggio di sentiment massimo per questo set di dati è 2. Se vuoi acquisire una maggiore granularità, ad esempio cinque livelli di sentiment, puoi etichettare i documenti da 0 (più negativo) a 4 (più positivo).
  • Devi applicare ogni valore di sentiment ad almeno dieci documenti.
  • I valori del punteggio del sentiment devono essere numeri interi consecutivi a partire da zero. Se hai lacune nei punteggi o non parti da zero, rimappa i punteggi in modo che siano numeri interi consecutivi a partire da zero.
  • Puoi includere documenti incorporati o file TXT di riferimento che si trovano nei bucket Cloud Storage.

Best practice per i dati di testo utilizzati per addestrare i modelli AutoML

I seguenti suggerimenti si applicano ai set di dati utilizzati per addestrare i modelli AutoML.

  • Fornisci almeno 100 documenti per valore di sentiment.
  • Utilizza un numero bilanciato di documenti per ogni punteggio di sentiment. Avere altri esempi per determinati punteggi di sentiment può introdurre un bias nel modello.

File di input

I tipi di file di input per l'analisi del sentiment possono essere JSON Lines o CSV.

Righe JSON

Il formato, i nomi dei campi e i tipi di valore per i file JSON Lines sono determinati da un file di schema, che sono file YAML accessibili pubblicamente.

Puoi scaricare il file di schema per l'analisi del sentiment dalla seguente posizione di Cloud Storage:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_sentiment_io_format_1.0.0.yaml

Esempio di JSON Lines

L'esempio seguente mostra come utilizzare lo schema per creare il proprio file JSON Lines. L'esempio include interruzioni di riga per migliorare la leggibilità. Nei file JSON Lines, includi le interruzioni di riga solo dopo ogni documento. Il campo dataItemResourceLabels specifica, ad esempio, ml_use ed è facoltativo.

{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textContent": "inline_text",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}
{
  "sentimentAnnotation": {
    "sentiment": number,
    "sentimentMax": number
  },
  "textGcsUri": "gcs_uri_to_file",
  "dataItemResourceLabels": {
    "aiplatform.googleapis.com/ml_use": "training|test|validation"
  }
}

CSV

In un file CSV, ogni riga fa riferimento a un singolo documento. L'esempio seguente mostra il formato generale di un file CSV valido. La colonna ml_use è facoltativa.

  [ml_use],gcs_file_uri|"inline_text",sentiment,sentimentMax
  

Il seguente snippet è un esempio di file CSV di input.

  test,gs://path_to_file,sentiment_value,sentiment_max_value
  test,"inline_text",sentiment_value,sentiment_max_value
  training,gs://path_to_file,sentiment_value,sentiment_max_value
  validation,gs://path_to_file,sentiment_value,sentiment_max_value