Listes d'entités (texte brut uniquement) - Amazon Comprehend

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Listes d'entités (texte brut uniquement)

Pour entraîner un modèle à l'aide d'une liste d'entités, vous devez fournir deux informations : une liste des noms d'entités avec les types d'entités personnalisés correspondants et une collection de documents non annotés dans lesquels vous vous attendez à ce que vos entités apparaissent.

Lorsque vous fournissez une liste d'entités, Amazon Comprehend utilise un algorithme intelligent pour détecter les occurrences de l'entité dans les documents afin de servir de base à la formation du modèle de reconnaissance d'entités personnalisé.

Pour les listes d'entités, fournissez au moins 25 entités correspondantes par type d'entité dans la liste d'entités.

Une liste d'entités pour la reconnaissance d'entités personnalisée nécessite un fichier de valeurs séparées par des virgules (CSV), avec les colonnes suivantes :

  • Texte — Le texte d'un exemple d'entrée tel qu'il apparaît dans le corpus du document d'accompagnement.

  • Type : type d'entité défini par le client. Les types d'entités doivent être constitués d'une chaîne séparée par des majuscules et soulignés, telle que MANAGER ou SENIOR_MANAGER. Jusqu'à 25 types d'entités peuvent être formés par modèle.

Le fichier documents.txt contient quatre lignes :

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.

Le fichier CSV contenant la liste des entités comporte les lignes suivantes :

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

Dans la liste des entités, l'entrée pour Emilio Johnson n'est pas présente car elle ne contient ni l'entité ENGINEER ni l'entité MANAGER.

Création de vos fichiers de données

Il est important que votre liste d'entités figure dans un fichier CSV correctement configuré afin de minimiser les risques de problèmes avec votre fichier de liste d'entités. Pour configurer manuellement votre fichier CSV, les conditions suivantes doivent être remplies :

  • Le codage UTF-8 doit être explicitement spécifié, même s'il est utilisé par défaut dans la plupart des cas.

  • Il doit inclure les noms des colonnes : Type etText.

Nous recommandons vivement de générer les fichiers d'entrée CSV par programmation afin d'éviter d'éventuels problèmes.

L'exemple suivant utilise Python pour générer un fichier CSV pour les annotations présentées ci-dessus :

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"])

Bonnes pratiques

Plusieurs éléments doivent être pris en compte pour obtenir le meilleur résultat lorsque vous utilisez une liste d'entités, notamment :

  • L'ordre des entités dans votre liste n'a aucun effet sur l'entraînement des modèles.

  • Utilisez des éléments de liste d'entités qui couvrent 80 % à 100 % des exemples d'entités positives mentionnés dans le corpus de documents non annoté.

  • Évitez les exemples d'entités qui correspondent à des entités non présentes dans le corpus de documents en supprimant les mots et expressions courants. Même une poignée de correspondances incorrectes peuvent affecter de manière significative la précision du modèle obtenu. Par exemple, un mot tel que « dans la liste des entités » se traduira par un grand nombre de correspondances qui ne correspondent probablement pas aux entités que vous recherchez et affectera donc de manière significative votre précision.

  • Les données d'entrée ne doivent pas contenir de doublons. La présence d'échantillons dupliqués peut entraîner la contamination du set de test et donc affecter négativement le processus de formation, les métriques du modèle et le comportement.

  • Fournissez des documents qui ressemblent le plus possible à des cas d'utilisation réels. N'utilisez pas de données sur les jouets ou de données synthétisées pour les systèmes de production. Les données d'entrée doivent être aussi diverses que possible pour éviter un ajustement excessif et aider le modèle sous-jacent à mieux généraliser sur des exemples réels.

  • La liste des entités distingue les majuscules et minuscules, et les expressions régulières ne sont actuellement pas prises en charge. Cependant, le modèle entraîné peut souvent encore reconnaître les entités même si elles ne correspondent pas exactement au cas indiqué dans la liste des entités.

  • Si une entité est une sous-chaîne d'une autre entité (telle que « Smith » et « Jane Smith »), indiquez les deux dans la liste des entités.

Des suggestions supplémentaires peuvent être trouvées sur Améliorer les performances du système de reconnaissance d'entités personnalisé