- Notes de publication
- Avant de commencer
- Démarrage
- Installation d'AI Center
- Migration et mise à niveau
- Projets
- Jeux de données
- Labellisation des données
- Paquets ML
- Paquets prêts à l’emploi
- Pipelines
- Compétences ML
- Journaux ML
- Document UnderstandingTM dans AI Center
- API AI Center
- Comment
- Gestion de la planification des nœuds
- Utilisez le NER personnalisé avec l'apprentissage continu
- Licences
- Guide de dépannage de base
Utilisez le NER personnalisé avec l'apprentissage continu
Cet exemple est utilisé pour extraire des produits chimiques selon la catégorie mentionnée dans les documents de recherche. En suivant la procédure ci-dessous, vous extrayez les produits chimiques et les catégorisez en ABRÉVIATION, FAMILLE, FORMULE, IDENTIFIANT, MULTIPLE, SYSTÉMATIQUE, TRIVIA et NO_CLASS.
Quand utiliser le modèle NER (Customer Named Entity Recognition)
Utilisez le modèle NER personnalisé pour extraire :
-
informations spéciales du texte. Ces informations sont appelées
entity
. -
les noms de personnes, de endroits, d'organisations, d'emplacements, de dates, de valeurs numériques, etc. Les entités extraites s'excluent mutuellement. Les entités se trouvent au niveau du mot unique ou multi-mots, pas au niveau du sous-mot. Par exemple, dans la phrase Je réside à New York (I live in New York ), une entité peut être New York , mais pas dans la phrase J'ai lu la phrase New Yorker .
Vous pouvez utiliser les entités extraites directement dans les processus d'extraction d'informations ou comme entrées dans les tâches en aval, telles que la classification du texte source, l'analyse des sentiments du texte source, les informations d’identification, etc.
Recommandations pour l'ensemble de données d'entraînement
- Avoir au moins 200 échantillons par entité si les entités sont denses dans les échantillons, ce qui signifie que la plupart des échantillons (plus de 75 %) contiennent 3 à 5 de ces entités.
- Si les entités sont rares (chaque échantillon contient moins de trois entités), c'est-à-dire que seules quelques-unes des entités apparaissent dans la plupart des documents, il est alors recommandé d'avoir au moins 400 échantillons par entité. Cela aide le modèle à mieux comprendre les traits distinctifs.
- S'il y a plus de 10 entités, ajoutez 100 échantillons supplémentaires de manière incrémentielle jusqu'à ce que vous atteigniez la métrique de performances souhaitée.
Meilleures pratiques
- Avoir des entités significatives ; si un humain ne peut pas identifier une entité, un modèle ne le peut pas non plus.
- Avoir des entités simples. Au lieu d'une seule adresse d'entité, décomposez-la en plusieurs entités : nom de la rue, nom de l'état, nom de la ville, code postal, etc.
- Créez à la fois des ensembles de données d'entraînement et de test et utilisez un pipeline complet pour l'entraînement.
- Commencer par un nombre minimum d'échantillons pour l'annotation, couvrant toutes les entités.
- Assurez-vous que toutes les entités sont représentées à la fois dans le fractionnement d'entraînement et de test.
- Exécutez un pipeline complet et vérifiez les métriques de test. Si la mesure de test n'est pas satisfaisante, vérifiez le rapport de classification et identifiez les entités défaillantes. Ajoutez plus d'échantillons qui couvrent les entités peu performantes et répétez le processus d'entraînement, jusqu'à ce que la métrique souhaitée soit atteinte.
Cette procédure utilise le package Reconnaissance d'entités nommées personnalisées (Customer Named Entity Recognition). Pour plus d'informations sur le fonctionnement de ce package et son utilisation, consultez Reconnaissance d'entités nommées personnalisées.
Pour cette procédure, nous avons fourni des exemples de fichiers comme suit :
- Ensemble de données d'entraînement pré-labellisé au format CoNLL. Vous pouvez le télécharger ici.
- Ensemble de données de test pré-labellisé. Vous pouvez le télécharger ici.
- Exemple de workflow pour l'extraction de catégories de produits chimiques mentionnés dans les documents de recherche. Vous pouvez le télécharger ici.
Remarque : assurez-vous que les variables suivantes sont renseignées dans l'exemple de fichier :
in_emailAdress
- l'adresse e-mail à laquelle la tâche Action Center sera affectéein_MLSkillEndpoint
- point de terminaison public de la compétence MLin_MLSkillAPIKey
- Clé API de la compétence MLin_labelStudioEndpoint
– facultatif, pour activer la labellisation continue : fournissez l'URL d'importation d'un projet Label Studio
Pour démarrer avec Label Studio et exporter des données vers AI Center, suivez les instructions ci-dessous.
- Installez Label Studio sur votre machine locale ou l'instance cloud. Pour ce faire, suivez les instructions détaillées ici.
- Créez un nouveau projet à partir du modèle de reconnaissance d'entité nommée (Named Entity Recognition Template) et définissez vos noms de libellés (Label Names).
- Assurez-vous que les noms de libellés ne comportent pas de caractères spéciaux ou d'espaces. Par exemple, au lieu de
Set Date
, utilisezSetDate
. - Assurez-vous que la valeur de la balise
<Text>
est"$text"
. - Téléchargez les données à l'aide de l'API ici.
Exemple de requête cURL :
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]'
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]' - Annotez vos données.
- Exportez les données au format CoNLL 2003 et téléchargez-les sur AI Center.
- Fournit l'URL de l'instance Label Studio et la clé API dans l'exemple de workflow fourni afin de capturer des prédictions incorrectes et peu fiables.