Preparar datos de entrenamiento de texto para el análisis de sentimiento

.

En esta página se describe cómo preparar datos de texto para usarlos en un conjunto de datos de Vertex AI con el fin de entrenar un modelo de análisis de sentimientos.

Los datos de entrenamiento del análisis de sentimiento se componen de documentos asociados a un valor de sentimiento que indica el sentimiento del contenido. Por ejemplo, puede que tengas tuits sobre un dominio concreto, como viajes aéreos. Cada tuit está asociado a un valor de sentimiento que indica si el tuit es positivo, negativo o neutral.

Requisitos de datos

  • Debes proporcionar al menos 10 documentos de entrenamiento en total, pero no más de 100.000.
  • El valor de sentimiento debe ser un número entero entre 0 y 10. El valor máximo de la opinión es tu elección. Por ejemplo, si quieres identificar si el sentimiento es negativo, positivo o neutro, puedes etiquetar los datos de entrenamiento con puntuaciones de sentimiento de 0 (negativo), 1 (neutro) y 2 (positivo). La puntuación de sentimiento máxima de este conjunto de datos es 2. Si quieres obtener más granularidad, como cinco niveles de sentimiento, puedes etiquetar documentos del 0 (más negativo) al 4 (más positivo).
  • Debe aplicar cada valor de opinión a al menos 10 documentos.
  • Los valores de la puntuación de sentimiento deben ser números enteros consecutivos que empiecen por cero. Si hay huecos en las puntuaciones o no empiezas desde cero, reasigna las puntuaciones para que sean números enteros consecutivos a partir de cero.
  • Puedes incluir documentos insertados o hacer referencia a archivos TXT que estén en segmentos de Cloud Storage.

Prácticas recomendadas para los datos de texto utilizados para entrenar modelos de AutoML

Las siguientes recomendaciones se aplican a los conjuntos de datos que se usan para entrenar modelos de AutoML.

  • Proporciona al menos 100 documentos por valor de opinión.
  • Usa un número equilibrado de documentos para cada puntuación de sentimiento. Tener más ejemplos de determinadas puntuaciones de sentimiento puede introducir sesgos en el modelo.

Archivos de entrada

Los tipos de archivo de entrada para el análisis de sentimiento pueden ser JSON Lines o CSV.

JSON Lines

El formato, los nombres de los campos y los tipos de valores de los archivos JSON Lines se determinan mediante un archivo de esquema, que son archivos YAML de acceso público.

Puedes descargar el archivo de esquema para el análisis de sentimientos desde la siguiente ubicación de Cloud Storage:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_sentiment_io_format_1.0.0.yaml

Ejemplo de JSON Lines

En el siguiente ejemplo se muestra cómo puedes usar el esquema para crear tu propio archivo JSON Lines. En el ejemplo se incluyen saltos de línea para facilitar la lectura. En los archivos JSON Lines, incluye saltos de línea solo después de cada documento. El campo dataItemResourceLabels especifica, por ejemplo, ml_use y es opcional.

{
  "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

Cada línea de un archivo CSV hace referencia a un único documento. En el siguiente ejemplo se muestra el formato general de un archivo CSV válido. La columna ml_use es opcional.

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

El siguiente fragmento es un ejemplo de archivo CSV de entrada.

  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