AI Center
2023.10
False
Image de fond de la bannière
AI Center - Guide de l'utilisateur
Dernière mise à jour 19 avr. 2024

Utilisez le NER personnalisé avec l'apprentissage continu

Informations d'arrière-plan

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.

Recommandations

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

  1. Avoir des entités significatives ; si un humain ne peut pas identifier une entité, un modèle ne le peut pas non plus.
  2. 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.
  3. Créez à la fois des ensembles de données d'entraînement et de test et utilisez un pipeline complet pour l'entraînement.
  4. Commencer par un nombre minimum d'échantillons pour l'annotation, couvrant toutes les entités.
  5. Assurez-vous que toutes les entités sont représentées à la fois dans le fractionnement d'entraînement et de test.
  6. 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.

Prérequis

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ée
    • in_MLSkillEndpoint - point de terminaison public de la compétence ML
    • in_MLSkillAPIKey - Clé API de la compétence ML
    • in_labelStudioEndpoint – facultatif, pour activer la labellisation continue : fournissez l'URL d'importation d'un projet Label Studio

Procédure

Suivez la procédure ci-dessous pour extraire les produits chimiques des documents de recherche en fonction de leur catégorie.
  1. Importez l'exemple d'ensemble de données dans AI Center. Pour ce faire, accédez au menu Ensembles de données (Datasets) et téléchargez le dossier train et test à partir de l'échantillon.
  2. Sélectionnez le package NER personnalisé souhaité dans Paquets ML (ML Packages) > Packages prêts à l'emploi (Out of the Box Packages) > UiPath Language Analysis et créez-le.
  3. Accédez au menu Pipelines et créez une nouvelle exécution de pipeline complète pour le package créé à l'étape précédente. Pointez sur l'ensemble de données d'entraînement et de test fourni dans l'exemple de fichier.

    Une fois terminé, les résultats du pipeline sont disponibles sous Artefacts (Artifacts). Vous pouvez télécharger le rapport de classification pour évaluer les résultats des tests.

  4. Créez une nouvelle compétence ML à l'aide du package généré par le pipeline exécuté à l'étape précédente et déployez-la.
  5. Une fois la compétence déployée, exploitez-la dans le workflow UiPath Studio fourni. Pour activer la capture de données avec des prédictions faibles, déployez une instance Label Studio et fournissez l'URL de l'instance et la clé API dans l'activité Label Studio du workflow.

Premiers pas avec Label Studio

Pour démarrer avec Label Studio et exporter des données vers AI Center, suivez les instructions ci-dessous.

  1. Installez Label Studio sur votre machine locale ou l'instance cloud. Pour ce faire, suivez les instructions détaillées ici.
  2. 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).


  3. 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, utilisez SetDate.
  4. Assurez-vous que la valeur de la balise <Text> est "$text".


  5. 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>"
           }
        }
    ]'
  6. Annotez vos données.
  7. Exportez les données au format CoNLL 2003 et téléchargez-les sur AI Center.
  8. 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.
  • Informations d'arrière-plan
  • Recommandations
  • Prérequis
  • Procédure
  • Premiers pas avec Label Studio

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.