Préparer les données d'entraînement

Pour entraîner votre modèle personnalisé, vous fournissez des échantillons représentatifs du type de documents à analyser, étiquetés de la manière dont vous souhaitez qu'AutoML Natural Language étiquette des documents semblables. La qualité de vos données d'entraînement influe fortement sur l'efficacité du modèle que vous créez et, par extension, sur la qualité des prédictions renvoyées par ce modèle.

Collecter et étiqueter des documents d'entraînement

La première étape consiste à collecter un ensemble varié de documents d'entraînement représentatifs de la gamme de documents que le modèle personnalisé doit traiter. Les étapes de préparation des documents d'entraînement diffèrent selon que vous entraînez un modèle de classification, d'extraction d'entités ou d'analyse des sentiments.

Importer des documents d'entraînement

Vous importez des données d'entraînement vers AutoML Natural Language sous forme de fichier CSV qui répertorie les documents et indique éventuellement les étiquettes des catégories auxquelles ils appartiennent ou les valeurs de sentiment correspondantes. AutoML Natural Language crée un ensemble de données à partir des documents répertoriés.

Données d'entraînement et données d'évaluation

Pour entraîner un modèle, AutoML Natural Language répartit vos documents d'entraînement en trois ensembles : un ensemble d'entraînement, un ensemble de validation et un ensemble de test.

AutoML Natural Language utilise l'ensemble d'entraînement pour créer le modèle. Le modèle essaie plusieurs algorithmes et paramètres pour rechercher des schémas dans les données d'entraînement. Lorsque le modèle identifie des schémas, il utilise l'ensemble de validation pour tester les algorithmes et les schémas. AutoML Natural Language sélectionne alors les algorithmes et les schémas les plus performants parmi ceux identifiés au cours de l'entraînement.

Après avoir identifié les algorithmes et les schémas les plus performants, AutoML Natural Language les applique à l'ensemble de test afin de déterminer le taux d'erreur, la qualité et la précision.

Par défaut, AutoML Natural Language répartit vos données d'entraînement de manière aléatoire dans les trois ensembles comme suit :

  • 80 % des documents sont utilisés pour l'entraînement.
  • 10 % des documents sont utilisés pour la validation (réglage des hyper-paramètres et/ou pour décider quand arrêter l'entraînement).
  • 10 % des documents sont réservés aux tests (et ne sont pas utilisés pendant l'entraînement).

Si vous souhaitez spécifier l'ensemble auquel chaque document constituant vos données d'entraînement doit appartenir, vous pouvez attribuer explicitement des documents aux ensembles dans le fichier CSV, comme décrit dans la section suivante.

Créer un fichier CSV d'importation

Une fois que vous avez collecté tous vos documents d'entraînement, vous créez un fichier CSV où ils sont tous répertoriés. Ce fichier CSV peut porter n'importe quel nom. Il doit être codé en UTF-8 et doit se terminer par une extension .csv. Il doit être stocké dans le bucket Cloud Storage associé à votre projet.

Le fichier CSV comporte une ligne par document d'entraînement, ainsi que les colonnes suivantes dans chaque ligne :

  1. L'ensemble auquel assigner le contenu de cette ligne. Cette colonne est facultative et peut contenir l'une des valeurs suivantes :

    • TRAIN : utilisez les données de type document pour entraîner le modèle.
    • VALIDATION : utilisez les données de type document pour valider les résultats renvoyés par le modèle pendant l'entraînement.
    • TEST : utilisez les données de type document pour vérifier les résultats du modèle après l'entraînement.

    Si vous incluez des valeurs dans cette colonne afin de spécifier les ensembles, nous vous recommandons d'identifier au moins 5 % de vos données pour chaque catégorie. Si vous utilisez moins de 5 % de vos données pour l'apprentissage, la validation ou l'évaluation, les résultats obtenus pourraient être inattendus, et les modèles inefficaces.

    Si vous ne spécifiez pas de valeur dans cette colonne, commencez chaque ligne par une virgule afin d'indiquer la première colonne vide. AutoML Natural Language répartit automatiquement vos documents en trois ensembles, utilisant environ 80 % de vos données pour l'entraînement, 10 % pour la validation et 10 % pour les tests.

  2. Les contenus à classifier. Cette colonne contient l'URI Cloud Storage pour le document. Les URI Cloud Storage sont sensibles à la casse.

    Pour la classification et l'analyse des sentiments, le document peut être un fichier texte, PDF, TIFF ou ZIP ; pour l'extraction d'entités, il s'agit d'un fichier JSONL.

    Pour la classification et l'analyse des sentiments, la valeur de cette colonne peut apparaître en toutes lettres plutôt que sous forme d'URI Cloud Storage.

  3. Pour les ensembles de données de classification, vous pouvez éventuellement inclure une liste d'étiquettes séparées par une virgule, indiquant la façon dont le document est classé. Les étiquettes doivent commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement. Vous pouvez inclure jusqu'à 20 étiquettes pour chaque document.

    Pour les ensembles de données d'analyse des sentiments, vous pouvez éventuellement inclure un entier indiquant la valeur du sentiment correspondant au contenu. La valeur du sentiment varie de 0 (fortement négatif) à une valeur maximale de 10 (fortement positif).

Par exemple, le fichier CSV d'un ensemble de données de classification multi-étiquettes peut comporter les éléments suivants :

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

Erreurs courantes concernant les fichiers .csv

  • Utilisation de caractères Unicode dans les étiquettes. Par exemple, les caractères japonais ne sont pas acceptés.
  • Utilisation d'espaces et de caractères non alphanumériques dans les étiquettes.
  • Lignes vides.
  • Colonnes vides (lignes avec deux virgules successives).
  • Guillemets manquants autour d'un texte intégré comportant des virgules
  • Utilisation incorrecte des majuscules dans les chemins d'accès à Google Cloud Storage.
  • Mauvaise configuration du contrôle des accès à vos documents. Votre compte de service doit avoir un accès en lecture ou plus étendu, ou les fichiers doivent être lisibles publiquement.
  • Références à des fichiers non textuels, tels que des fichiers JPEG. De même, les fichiers qui ne sont pas des fichiers texte mais qui ont été renommés avec une extension de type texte renverront une erreur.
  • L'URI d'un document pointe vers un bucket différent de celui du projet actuel. Seuls les fichiers présents dans le bucket du projet sont accessibles.
  • Fichiers non CSV

Créer un fichier ZIP d'importation

Pour les ensembles de données de classification, vous pouvez importer des documents d'entraînement à l'aide d'un fichier ZIP. Dans le fichier ZIP, vous créez un dossier pour chaque étiquette ou valeur de sentiment, puis vous enregistrez chaque document dans le dossier correspondant à l'étiquette ou à la valeur à appliquer à ce document. Par exemple, le fichier ZIP d'un modèle qui classe les correspondances professionnelles peut présenter la structure suivante :

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

AutoML Natural Language applique les noms de dossier aux documents du dossier sous forme d'étiquettes. Dans le cas d'un ensemble de données d'analyse des sentiments, les noms de dossiers sont les valeurs de sentiment :

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

Étapes suivantes