Étiqueter vos données

Effectué

L’étiquetage ou le balisage correct de vos données est une partie importante du processus afin de créer un modèle d’extraction d’entité personnalisé. Les étiquettes identifient des exemples d’entités spécifiques dans le texte utilisé pour entraîner le modèle. Trois éléments à mettre en avant sont les suivants :

  • Cohérence : étiquetez vos données de la même façon sur tous les fichiers pour l’entraînement. La cohérence permet à votre modèle d’apprendre sans entrées en conflit.
  • Précision : étiquetez vos entités de manière cohérente, sans mots supplémentaires inutiles. La précision garantit que seules les données correctes sont incluses dans votre entité extraite.
  • Complétivité : étiquetez complètement vos données et ne manquez pas d’entités. L’exhaustivité aide votre modèle à toujours reconnaître les entités présentes.

Capture d’écran de l’étiquetage d’une entité dans Language Studio.

Comment étiqueter vos données

Language Studio est la méthode la plus simple pour étiqueter vos données. Language Studio vous permet de voir le fichier, de sélectionner le début et la fin de votre entité et de spécifier l’entité qu’elle est.

Chaque étiquette que vous identifiez est enregistrée dans un fichier qui réside dans votre compte de stockage avec votre jeu de données, dans un fichier JSON généré automatiquement. Ce fichier est ensuite utilisé par le modèle pour apprendre à extraire des entités personnalisées. Il est possible de fournir ce fichier lors de la création de votre projet (si vous importez les mêmes étiquettes à partir d’un autre projet, par exemple) mais il doit être dans les formats de données NER personnalisés acceptés. Par exemple:


{
  "projectFileVersion": "{DATE}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomEntityRecognition",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectName": "{PROJECT-NAME}",
    "multilingual": false,
    "description": "Project-description",
    "language": "en-us",
    "settings": {}
  },
  "assets": {
    "projectKind": "CustomEntityRecognition",
    "entities": [
      {
        "category": "Entity1"
      },
      {
        "category": "Entity2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 500,
            "labels": [
              {
                "category": "Entity1",
                "offset": 25,
                "length": 10
              },
              {
                "category": "Entity2",
                "offset": 120,
                "length": 8
              }
            ]
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 100,
            "labels": [
              {
                "category": "Entity2",
                "offset": 20,
                "length": 5
              }
            ]
          }
        ]
      }
    ]
  }
}

Champ Descriptif
documents Tableau de documents étiquetés
location Chemin d’accès au fichier au sein du conteneur connecté au projet
language Langue du fichier
entities Tableau d’entités présentes dans le document en cours
regionOffset Position inclusive du caractère pour le début du texte
regionLength Longueur en caractères des données utilisées dans l’apprentissage
category Nom de l’entité à extraire
labels Tableau d’entités étiquetées dans les fichiers
offset Position inclusive du caractère pour le début de l’entité
length Longueur en caractères de l’entité
dataset Jeu de données auquel le fichier est affecté