Le laboratoire de solutions d'apprentissage automatique d'Amazon (MLSL) a récemment créé un outil pour annoter du texte avec la reconnaissance d'entité nommée (NER) et des étiquettes de relation à l'aide de Vérité au sol Amazon SageMaker. Les annotateurs utilisent cet outil pour étiqueter le texte avec des entités nommées et lier leurs relations, créant ainsi un ensemble de données pour la formation de modèles d'apprentissage automatique (ML) de traitement du langage naturel (NLP) à la pointe de la technologie. Plus important encore, cela est désormais accessible au public pour tous les clients AWS.
Cas d'utilisation client : Booking.com
Booking.com est l'une des principales plateformes de voyage en ligne au monde. Comprendre ce que les clients disent des plus de 28 millions d'annonces immobilières de l'entreprise sur la plateforme est essentiel pour maintenir une expérience client de premier ordre. Auparavant, Booking.com ne pouvait utiliser que l'analyse des sentiments traditionnelle pour interpréter les avis générés par les clients à grande échelle. Cherchant à améliorer la spécificité de ces interprétations, Booking.com s'est récemment tourné vers le MLSL pour obtenir de l'aide dans la création d'un ensemble de données annoté personnalisé pour la formation d'un modèle d'analyse des sentiments basé sur les aspects.
L'analyse traditionnelle des sentiments est le processus de classification d'un morceau de texte comme positif, négatif ou neutre en tant que sentiment singulier. Cela permet de comprendre globalement si les utilisateurs sont satisfaits ou insatisfaits d'une expérience particulière. Par exemple, avec l'analyse des sentiments traditionnelle, le texte suivant peut être classé comme « neutre » :
Notre séjour à l'hôtel était agréable. Le personnel était sympathique et les chambres étaient propres, mais nos lits étaient assez inconfortables.
L'analyse des sentiments basée sur les aspects offre une compréhension plus nuancée du contenu. Dans le cas de Booking.com, plutôt que de prendre un avis client dans son ensemble et de le classer catégoriquement, il peut prendre le sentiment d'un avis et l'attribuer à des aspects spécifiques. Par exemple, les commentaires des clients d'un hôtel donné peuvent faire l'éloge de la piscine immaculée et de l'espace de remise en forme, mais donner des commentaires critiques sur le restaurant et le salon.
L'énoncé qui aurait été classé comme "neutre" par l'analyse des sentiments traditionnelle deviendra, avec l'analyse des sentiments basée sur les aspects :
Notre séjour à l'hôtel était agréable. Le personnel était sympathique et les chambres étaient propres, mais nos lits étaient assez inconfortables.
- Hôtel : Positif
- Personnel : positif
- Chambre : Positif
- Lits : Négatif
Booking.com a cherché à créer un modèle personnalisé d'analyse des sentiments basé sur les aspects qui leur indiquerait quelles parties spécifiques de l'expérience client (à partir d'une liste de plus de 50 aspects) étaient positif, négatifou fil neutre.
Avant que Booking.com ne puisse créer un ensemble de données d'entraînement pour ce modèle, ils avaient besoin d'un moyen de l'annoter. L'outil d'annotation de MLSL a fourni la solution personnalisée indispensable. Un examen humain a été effectué sur une grande collection d'avis d'hôtels. Ensuite, les annotateurs ont complété l'annotation d'entité nommée sur les étendues de texte et les phrases de sentiment et d'expérience client avant de relier les étendues appropriées ensemble.
Le nouveau modèle basé sur les aspects permet à Booking.com de personnaliser à la fois les hébergements et les avis de ses clients. La mise en évidence des aspects positifs et négatifs de chaque hébergement permet aux clients de choisir leur match parfait. De plus, différents clients se soucient de différents aspects de l'hébergement, et le nouveau modèle offre la possibilité de montrer les avis les plus pertinents pour chacun.
Exigences d'étiquetage
Bien que Ground Truth offre une capacité d'annotation de texte NER intégrée, il ne permet pas de lier des entités entre elles. Dans cet esprit, Booking.com et MLSL ont élaboré les exigences de haut niveau suivantes pour un nouvel outil d'étiquetage de texte de reconnaissance d'entité nommée qui :
- Accepte en entrée : texte, étiquettes d'entité, étiquettes de relationet étiquettes de classement.
- Accepte éventuellement en entrée des données pré-annotées avec l'étiquette précédente et les annotations de relation.
- Présente à l'annotateur du texte non annoté ou pré-annoté.
- Permet aux annotateurs de mettre en surbrillance et d'annoter du texte arbitraire avec une étiquette d'entité.
- Permet aux annotateurs de créer des relations entre deux annotations d'entité.
- Permet aux annotateurs de parcourir facilement un grand nombre d'étiquettes d'entité.
- Prend en charge le regroupement des étiquettes d'entité en catégories.
- Autoriser les relations de chevauchement, ce qui signifie que le même segment de texte annoté peut être lié à plusieurs autres segments de texte annoté.
- Autorise le chevauchement des annotations d'étiquette d'entité, ce qui signifie que deux annotations peuvent chevaucher le même morceau de texte. Par exemple, le texte "Seattle Space Needle" peut avoir à la fois les annotations "Seattle" → "locations" et "Seattle Space Needle" → "attractions".
- Le format de sortie est compatible avec le format d'entrée et peut être réinjecté dans les tâches d'étiquetage ultérieures.
- Prend en charge le texte encodé UTF-8 contenant des emoji et d'autres caractères multi-octets.
- Prend en charge les langues de gauche à droite.
Exemple d'annotation
Considérez le document suivant :
Nous avons adoré l'emplacement de cet hôtel ! Le salon sur le toit nous a donné la vue parfaite sur l'aiguille de l'espace. Il est également à une courte distance en voiture du marché aux brochets et du front de mer.
La nourriture n'était disponible que via le service d'étage, ce qui était un peu décevant mais logique dans ce monde post-pandémique.
Dans l'ensemble, une expérience à un prix raisonnable.
Le chargement de ce document dans la nouvelle annotation NER présente un agent avec l'interface suivante :
Dans ce cas, le travail du travailleur consiste à :
- Étiquetez les entités liées à la propriété (emplacement, prix, nourriture, etc.)
- Étiqueter les entités liées au sentiment (positif, négatif ou neutre)
- Associez des entités nommées liées à la propriété à des mots-clés liés au sentiment pour capturer avec précision l'expérience client
La vitesse d'annotation était une considération importante de l'outil. À l'aide d'une séquence de raccourcis clavier et de gestes de souris intuitifs, les annotateurs peuvent piloter l'interface et :
- Ajouter et supprimer des annotations d'entité nommée
- Ajouter des relations entre des entités nommées
- Sauter au début et à la fin du document
- Soumettre le document
De plus, il existe un support pour les étiquettes qui se chevauchent. Par exemple, Seattle Space Needle
: dans cette expression, Seattle
est annoté à la fois en tant que lieu en soi et en tant que partie du nom de l'attraction.
L'annotation complétée fournit une analyse plus complète et nuancée des données :
Les relations peuvent être configurées à plusieurs niveaux, des catégories d'entités à d'autres catégories d'entités (par exemple, de "nourriture" à "sentiment"), ou entre des types d'entités individuels. Les relations sont dirigées, de sorte que les annotateurs peuvent lier un aspect comme la nourriture à un sentiment, mais pas l'inverse (sauf si activé explicitement). Lors du dessin de relations, l'outil d'annotation déduira automatiquement l'étiquette et la direction de la relation.
Configuration de l'outil d'annotation NER
Dans cette section, nous expliquons comment personnaliser l'outil d'annotation NER pour les cas d'utilisation spécifiques au client. Cela inclut la configuration :
- Le texte d'entrée à annoter
- Étiquettes d'entité
- Étiquettes de relation
- Étiquettes de classification
- Données pré-annotées
- Consignes pour les travailleurs
Nous couvrirons les spécificités des formats de document d'entrée et de sortie, ainsi que quelques exemples de chacun.
Format du document d'entrée
L'outil d'annotation NER attend le document d'entrée au format JSON suivant (les champs avec un point d'interrogation à côté du nom sont facultatifs).
En un mot, le format d'entrée a ces caractéristiques :
- Non plus
entityLabels
orclassificationLabels
(ou les deux) sont tenus d'annoter. - If
entityLabels
sont donnés, alorsrelationshipLabels
peut être ajouté. - Des relations peuvent être autorisées entre différentes étiquettes d'entité/catégorie ou une combinaison de celles-ci.
- La « source » d'une relation est l'entité par laquelle la flèche dirigée commence, tandis que la « cible » est l'endroit où elle se dirige.
Champ | Type | Description |
texte | un magnifique | Obligatoire. Texte d'entrée pour l'annotation. |
tokenRows | chaîne de caractères[][] | Optionnel. Tokénisation personnalisée du texte d'entrée. Tableau de tableaux de chaînes. Le tableau de niveau supérieur représente chaque ligne de texte (sauts de ligne) et le tableau de second niveau représente les jetons sur chaque ligne. Tous les caractères/runes dans le texte d'entrée doivent être pris en compte dans tokenRows, y compris tout espace blanc. |
IDdocument | un magnifique | Optionnel. Valeur facultative permettant aux clients de suivre le document annoté. |
EntitéÉtiquettes | objet [] | Obligatoire si classificationLabels est vide. Tableau d'étiquettes d'entité. |
entityLabels[].nom | un magnifique | Obligatoire. Nom d'affichage de l'étiquette d'entité. |
EntitéLabels[].category | un magnifique | Optionnel. Nom de la catégorie d'étiquette d'entité. |
EntitéLabels[].shortName | un magnifique | Optionnel. Affichez ce texte sur les entités annotées plutôt que sur le nom complet. |
EntitéLabels[].shortCategory | un magnifique | Optionnel. Affichez ce texte dans la liste déroulante de sélection des annotations d'entité au lieu des quatre premières lettres du nom de la catégorie. |
entitéLabels.color | un magnifique | Optionnel. Code couleur hexadécimal avec préfixe "#". S'il est vide, il attribuera automatiquement une couleur à l'étiquette de l'entité. |
relationLabels | objet [] | Optionnel. Tableau d'étiquettes de relation. |
relationLabels[].name | un magnifique | Obligatoire. Nom d'affichage de l'étiquette de relation. |
relationLabels[].allowedRelationships | objet [] | Optionnel. Tableau de valeurs limitant les types d'étiquettes d'entité source et de destination auxquels cette relation peut être attribuée. Chaque élément du tableau est "OU" ensemble. |
RelationshipLabels[].allowedRelationships[].sourceEntityLabelCategories | chaîne de caractères[] | Requis pour définir soit sourceEntityLabelCategories soit sourceEntityLabels (ou les deux). Liste des types de catégories d'étiquettes d'entité source légale pour cette relation. |
RelationshipLabels[].allowedRelationships[].targetEntityLabelCategories | chaîne de caractères[] | Requis pour définir soit targetEntityLabelCategories soit targetEntityLabels (ou les deux). Liste des types de catégorie d'étiquette d'entité cible légale pour cette relation. |
RelationshipLabels[].allowedRelationships[].sourceEntityLabels | chaîne de caractères[] | Requis pour définir soit sourceEntityLabelCategories soit sourceEntityLabels (ou les deux). Liste des types d'étiquettes d'entité source légale pour cette relation. |
RelationshipLabels[].allowedRelationships[].sourceEntityLabels | chaîne de caractères[] | Requis pour définir soit targetEntityLabelCategories soit targetEntityLabels (ou les deux). Liste des types d'étiquettes d'entité cible légale pour cette relation. |
classificationÉtiquettes | chaîne de caractères[] | Obligatoire si entityLabels est vide. Liste des étiquettes de classification au niveau du document. |
entitéAnnotations | objet [] | Optionnel. Tableau d'annotations d'entité avec lesquelles pré-annoter le texte d'entrée. |
EntitéAnnotations[].id | un magnifique | Obligatoire. Identificateur unique pour cette annotation d'entité. Utilisé pour référencer cette entité dans RelationshipAnnotations. |
EntitéAnnotations[].start | nombre | Obligatoire. Décalage de la rune de départ de cette annotation d'entité. |
EntitéAnnotations[].end | nombre | Obligatoire. Décalage de la rune de fin de cette annotation d'entité. |
EntitéAnnotations[].text | un magnifique | Obligatoire. Contenu textuel entre le décalage des runes de début et de fin. |
EntitéAnnotations[].label | un magnifique | Obligatoire. Nom de l'étiquette d'entité associée (à partir des noms dans entityLabels). |
EntitéAnnotations[].labelCategory | un magnifique | Facultatif. Catégorie d'étiquette d'entité associée (à partir des catégories dans entityLabels). |
relationAnnotations | objet [] | Optionnel. Tableau d'annotations de relation. |
relationAnnotations[].sourceEntityAnnotationId | un magnifique | Obligatoire. ID d'annotation d'entité source pour cette relation. |
relationAnnotations[].targetEntityAnnotationId | un magnifique | Obligatoire. ID d'annotation d'entité cible pour cette relation. |
relationAnnotations[].label | un magnifique | Obligatoire. Nom de l'étiquette de relation associée. |
classificationAnnotations | chaîne de caractères[] | Optionnel. Tableau de classifications avec lesquelles pré-annoter le document. |
objectif | objet | Optionnel. Paramètres de configuration supplémentaires. |
méta.instructions | un magnifique | Optionnel. Instructions pour l'annotateur d'étiquetage au format Markdown. |
méta.disableSubmitConfirmation | booléen | Optionnel. Définir sur true pour désactiver le mode de confirmation d'envoi. |
méta.multiClassification | booléen | Optionnel. Définissez sur true pour activer le mode multi-étiquettes pour classificationLabels. |
Voici quelques exemples de documents pour avoir une meilleure idée de ce format d'entrée
Les documents qui adhèrent à ce schéma sont fournis à Ground Truth en tant qu'éléments de ligne individuels dans un manifeste d'entrée.
Format du document de sortie
Le format de sortie est conçu pour intégrer facilement une nouvelle tâche d'annotation. Les champs facultatifs du document de sortie sont définis s'ils sont également définis dans le document d'entrée. La seule différence entre les formats d'entrée et de sortie est le meta
objet.
Champ | Type | Description |
méta.rejeté | booléen | Est défini sur true si l'annotateur a rejeté ce document. |
méta.rejectedReason | un magnifique | Raison donnée par l'annotateur pour rejeter le document. |
méta.runes | chaîne de caractères[] | Tableau de runes représentant tous les caractères du texte saisi. Utilisé pour calculer les décalages de début et de fin d'annotation d'entité. |
Voici un exemple de document de sortie annoté :
Remarque sur les runes :
Une "rune" dans ce contexte est un seul caractère pouvant être mis en surbrillance dans le texte, y compris les caractères multi-octets tels que les emoji.
- Étant donné que différents langages de programmation représentent différemment les caractères multi-octets, l'utilisation de "Runes" pour définir chaque caractère pouvant être mis en surbrillance comme un seul élément atomique signifie que nous avons une manière non ambiguë de décrire une sélection de texte donnée.
- Par exemple, Python traite le drapeau suédois comme quatre caractères :
Mais JavaScript traite le même emoji comme deux caractères
Pour éliminer toute ambiguïté, nous traiterons le drapeau suédois (et tous les autres caractères emoji et multi-octets) comme un seul élément atomique.
- Décalage : position de la rune par rapport au texte d'entrée (en commençant par l'index 0)
Effectuer des annotations NER avec Ground Truth
En tant que service d'étiquetage de données entièrement géré, Ground Truth crée des ensembles de données de formation pour le ML. Pour ce cas d'utilisation, nous utilisons Ground Truth pour envoyer une collection de documents texte à un pool de travailleurs pour annotation. Enfin, nous examinons la qualité.
Ground Truth peut être configuré pour créer une tâche d'étiquetage de données en utilisant le nouvel outil NER comme modèle personnalisé.
Plus précisément, nous allons :
- Créer une main-d'œuvre d'étiquetage privé composée de travailleurs pour effectuer la tâche d'annotation
- Créez un manifeste d'entrée Ground Truth avec les documents que nous voulons annoter, puis téléchargez-le sur Service de stockage simple Amazon (Amazon S3)
- Créer des fonctions Lambda de tâche de pré-étiquetage et de post-étiquetage
- Créer une tâche d'étiquetage Ground Truth à l'aide du modèle NER personnalisé
- Annoter des documents
- Examiner les résultats
Ressources de l'outil NER
Une liste complète des ressources référencées et des exemples de documents se trouve dans le tableau suivant :
Étiquetage de la création de main-d'œuvre
Ground Truth utilise les effectifs d'étiquetage SageMaker pour gérer les travailleurs et répartir les tâches. Créez une main-d'œuvre privée, une équipe de travailleurs appelée ner-worker-team, et affectez-vous à l'équipe en suivant les instructions trouvées dans Créer une force de travail privée (Amazon SageMaker Console).
Une fois que vous vous êtes ajouté à une main-d'œuvre privée et que vous avez confirmé votre adresse e-mail, notez l'URL du portail des travailleurs dans AWS Management Console :
- Accédez à
SageMaker
- Accédez à
Ground Truth → Labeling workforces
- Sélectionnez le
Private
languette - Notez l'URL
Labeling portal sign-in URL
Connectez-vous au portail des travailleurs pour afficher et commencer à travailler sur les tâches d'étiquetage.
Manifeste d'entrée
Le manifeste de données d'entrée Ground Truth est un fichier de lignes JSON où chaque ligne contient une seule tâche de travail. Dans notre cas, chaque ligne contiendra un seul document d'entrée codé JSON contenant le texte que nous voulons annoter et le schéma d'annotation NER.
Télécharger un exemple de manifeste d'entrée reviews.manifest
de https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
Notes : chaque ligne du manifeste d'entrée a besoin d'une clé de niveau supérieur source
or source-ref
. Vous pouvez en savoir plus dans Utiliser un fichier manifeste d'entrée dans le Guide du développeur Amazon SageMaker.
Télécharger le manifeste d'entrée sur Amazon S3
Chargez ce manifeste d'entrée dans un compartiment S3 à l'aide d'AWS Management Console ou à partir de la ligne de commande, remplaçant ainsi your-bucket
avec un nom de compartiment réel.
Télécharger le modèle de travailleur personnalisé
Téléchargez le modèle de travailleur personnalisé de l'outil NER à partir de https://assets.solutions-lab.ml/NER/0.2.1/worker-template.liquid.html en affichant la source et en enregistrant le contenu localement, ou depuis la ligne de commande :
Créer des fonctions Lambda de tâche de pré-étiquetage et de post-étiquetage
Téléchargez un exemple de fonction Lambda de tâche de pré-étiquetage : smgt-ner-pre-labeling-task-lambda.py
de https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-pre-labeling-task-lambda.py
Téléchargez un exemple de fonction Lambda de tâche de pré-étiquetage : smgt-ner-post-labeling-task-lambda.py
de https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-post-labeling-task-lambda.py
- Créez la fonction Lambda de tâche de pré-étiquetage à partir d'AWS Management Console :
- Accédez à
Lambda
- Sélectionnez
Create function
- Spécifier
Function name
assmgt-ner-pre-labeling-task-lambda
- Sélectionnez
Runtime
→Python 3.6
- Sélectionnez
Create function
- In
Function code
→lambda_hanadler.py
, collez le contenu desmgt-ner-pre-labeling-task-lambda.py
- Sélectionnez
Deploy
- Accédez à
- Créez une fonction Lambda de tâche de post-étiquetage à partir d'AWS Management Console :
- Accédez à
Lambda
- Sélectionnez
Create function
- Spécifier
Function name
assmgt-ner-post-labeling-task-lambda
- Sélectionnez
Runtime
→Python 3.6
- Développer vous
Change default execution role
- Sélectionnez
Create a new role from AWS policy templates
- Entrer le
Role name
:smgt-ner-post-labeling-task-lambda-role
- Sélectionnez
Create function
- Sélectionnez le
Permissions
languette - Sélectionnez le
Role name
:smgt-ner-post-labeling-task-lambda-role
pour ouvrir la console IAM - Ajouter deux politiques au rôle
- Sélectionnez
Attach policies
- Joindre le
AmazonS3FullAccess
politique - Sélectionnez
Add inline policy
- Sélectionnez le
JSON
languette - Collez la stratégie en ligne suivante :
- Sélectionnez
- Revenez au
smgt-ner-post-labeling-task-lambda
Page de configuration de la fonction Lambda - Sélectionnez le
Configuration
languette - In
Function code
→ lambda_hanadler.py
, collez le contenu desmgt-ner-post-labeling-task-lambda.py
- Sélectionnez
Deploy
- Accédez à
Créer un travail d'étiquetage Ground Truth
À partir de la console de gestion AWS :
- Accédez à la
Amazon SageMaker
service - Accédez à
Ground Truth
→Labeling Jobs
. - Sélectionnez
Create labeling job
- Spécifiez un
Job Name
- Sélectionnez
Manual Data Setup
- Spécifiez l'emplacement de l'ensemble de données d'entrée où vous avez téléchargé le manifeste d'entrée plus tôt (par exemple, s
3://your-bucket/ner-input/sample-smgt-input-manifest.jsonl
) - Spécifiez l'emplacement de l'ensemble de données de sortie pour qu'il pointe vers un dossier différent dans le même compartiment (par exemple,
s3://your-bucket/ner-output/
) - Spécifiez un
IAM Role
en sélectionnantCreate new role
- Autorisez ce rôle à accéder à n'importe quel compartiment S3 en sélectionnant
S3 buckets you specify
→Any S3 bucket
lors de la création de la politique - Dans une nouvelle fenêtre AWS Management Console, ouvrez le
IAM
consoler et sélectionnerRoles
- Recherchez le nom du rôle que vous venez de créer (par exemple,
AmazonSageMaker-ExecutionRole-20210301T154158
) - Sélectionnez le nom du rôle pour ouvrir le rôle dans la console
- Joignez les trois politiques suivantes :
- Sélectionnez Attacher des politiques
- Joindre le
AWSLambda_FullAccess
au rôle - Sélectionnez
Trust Relationships
→Edit Trust Relationships
- Editez la relation de confiance JSON,
- remplacer
YOUR_ACCOUNT_NUMBER
avec votre numéro de compte AWS numérique, pour lire : - Enregistrer la relation d'approbation
- Autorisez ce rôle à accéder à n'importe quel compartiment S3 en sélectionnant
- Revenez à la nouvelle tâche Ground Truth dans la fenêtre AWS Management Console précédente : sous
Task Category
, sélectionnezCustom
- Sélectionnez
Next
- Sélectionnez
Worker types
:Private
- Sélectionnez le
Private team
:ner-worker-team
qui a été créé dans la section précédente - Dans le
Custom labeling task setup
zone de texte, effacez le contenu par défaut et collez le contenu de laworker-template.liquid.html
fichier obtenu plus tôt - Spécifie le
Pre-labeling task Lambda function
avec la fonction créée précédemment :smgt-ner-pre-labeling
- Spécifie le
Post-labeling task Lambda function
avec la fonction créée précédemment :smgt-ner-post-labeling
- Sélectionnez
Create
Annoter des documents
Une fois le travail Ground Truth créé, nous pouvons commencer à annoter les documents. Ouvrez le portail des travailleurs pour notre main-d'œuvre créé précédemment (dans AWS Management Console, accédez au SageMaker
, Ground Truth → Labeling workforces
, Private
, et ouvrez le Labeling portal sign-in URL
)
Connectez-vous et sélectionnez la première tâche d'étiquetage dans le tableau, puis sélectionnez "Commencer à travailler" pour ouvrir l'annotateur. Effectuez vos annotations et sélectionnez Soumettre sur les trois exemples de documents.
Examiner les résultats
Au fur et à mesure que les annotateurs Ground Truth achèvent les tâches, les résultats seront disponibles dans le bucket S3 de sortie :
Une fois que toutes les tâches d'un travail d'étiquetage sont terminées, la sortie consolidée est disponible dans le output.manifest
fichier situé ici :
Ce manifeste de sortie est un fichier de lignes JSON avec un document texte annoté par ligne dans le "Format de document de sortie" spécifié précédemment. Ce fichier est compatible avec le « format de document d'entrée », et il peut être introduit directement dans un travail Ground Truth ultérieur pour une autre série d'annotations. Alternativement, il peut être analysé et envoyé à une tâche de formation ML. Voici quelques scénarios dans lesquels nous pourrions utiliser une deuxième série d'annotations :
- Diviser le processus d'annotation en deux étapes où le premier annotateur identifie les annotations d'entité et le second annotateur établit des relations
- Prenant un échantillon de notre
output.manifest
et l'envoyer à un deuxième annotateur plus expérimenté pour examen en tant que contrôle de qualité
Modèles d'annotation de vérité au sol personnalisés
L'outil d'annotation NER décrit dans ce document est implémenté en tant que modèle d'annotation Ground Truth personnalisé. Les clients AWS peuvent créer leurs propres interfaces d'annotation personnalisées à l'aide des instructions trouvées ici :
Conclusion
En travaillant ensemble, Booking.com et Amazon MLSL ont pu développer un puissant outil d'annotation de texte capable de créer des annotations complexes de reconnaissance d'entités nommées et de relations.
Nous encourageons les clients AWS avec un cas d'utilisation d'annotation de texte NER à essayer l'outil décrit dans cet article. Si vous souhaitez obtenir de l'aide pour accélérer l'utilisation du ML dans vos produits et services, veuillez contacter le Laboratoire de solutions Amazon Machine Learning.
À propos des auteurs
Dan Noble est ingénieur en développement logiciel chez Amazon, où il aide à créer des expériences utilisateur agréables. Dans ses temps libres, il aime lire, faire de l'exercice et vivre des aventures avec sa famille.
Pri Nonis est un architecte d'apprentissage en profondeur au Amazon ML Solutions Lab, où il travaille avec des clients dans divers secteurs verticaux et les aide à accélérer leur parcours de migration vers le cloud et à résoudre leurs problèmes de ML à l'aide de solutions et de technologies de pointe.
Niharika Jayanthi est ingénieur front-end chez AWS, où elle développe des solutions d'annotation personnalisées pour les clients d'Amazon SageMaker. En dehors du travail, elle aime aller dans les musées et s'entraîner.
Amit Béka est un gestionnaire d'apprentissage automatique à Booking.com, avec plus de 15 ans d'expérience dans le développement de logiciels et l'apprentissage automatique. Il est fasciné par les gens et les langues, et comment les ordinateurs sont encore intrigués par les deux.
- '
- 100
- 11
- 7
- À propos
- accès
- Compte
- Comptabilité
- à travers
- Action
- ajout
- Supplémentaire
- Tous
- Amazon
- Apprentissage automatique d'Amazon
- Amazon Sage Maker
- Ambiguïté
- selon une analyse de l’Université de Princeton
- Réservé
- disponibles
- Disponible pour tous
- AWS
- Début
- va
- construire
- Développement
- les soins
- cas
- classification
- le cloud
- code
- collection
- complexe
- ordinateurs
- configuration
- considération
- Console
- contenu
- contenu
- pourriez
- La création
- critique
- expérience client
- Clients
- données
- l'apprentissage en profondeur
- développer
- Développeur
- Développement
- différent
- INSTITUTIONNELS
- Ne fait pas
- même
- effet
- Emoji
- encourager
- ingénieur
- etc
- exemple
- exécution
- attend
- Découvrez
- Expériences
- famille
- Fed
- Réactions
- Des champs
- finalement
- Prénom
- de l'aptitude
- nourriture
- le format
- trouvé
- plein
- fonction
- gif
- aller
- GUEST
- guide
- aider
- aide
- ici
- Souligner
- l'hôtel
- Comment
- How To
- HTTPS
- IAM
- mis en œuvre
- important
- Y compris
- indice
- individuel
- IT
- JavaScript
- Emploi
- chemin
- clés / KEY :
- l'étiquetage
- Etiquettes
- langue
- Langues
- gros
- conduisant
- APPRENTISSAGE
- apprentissage
- Légal
- Niveau
- niveaux
- Gamme
- LINK
- Liquide
- Liste
- Annonces
- localement
- emplacement
- recherchez-
- machine learning
- gestion
- marque
- Marché
- Match
- Meta
- l'esprit
- ML
- modèle
- PLUS
- Musées
- noms
- Langage naturel
- Traitement du langage naturel
- nécessaire
- nlp
- numéros
- Offres Speciales
- compenser
- en ligne
- ouvert
- ouvre
- Opportunités
- Autre
- Personnes
- les expressions clés
- plateforme
- Plateformes
- politiques
- politique
- pool
- Portail
- post-pandémie
- solide
- prix
- Directeur
- Privé
- processus
- Produits
- Programmation
- langages de programmation
- propriété
- fournir
- fournit
- Python
- qualité
- question
- en cours
- Les relations
- Exigences
- ressource
- Ressources
- au Deck restaurant
- Résultats
- Avis
- Avis
- Chambres
- sagemaker
- économie
- Escaliers intérieurs
- sens
- sentiment
- Services
- set
- Shorts
- étapes
- So
- Logiciels
- développement de logiciels
- Solutions
- RÉSOUDRE
- Space
- vitesse
- Commencer
- Déclaration
- rester
- storage
- Support
- Target
- Les technologies
- La Source
- fiable
- ensemble
- tokenization
- Tokens
- outil
- top
- haut niveau
- suivre
- traditionnel
- Formation
- Voyage
- traiter
- traite
- La confiance
- us
- utilisateurs
- Plus-value
- version
- Voir
- Quoi
- dans les
- Activités:
- travaillé
- ouvriers
- Workforce
- de travail
- s'entraîner
- vos contrats
- world
- monde
- pourra
- années