Moteur NLU Ludwig

Le moteur NLU Ludwig est une solution robuste de Compréhension du Langage Naturel (NLU) construite en utilisant Ludwig AI, un framework d'apprentissage automatique déclaratif et de haut niveau. Ce moteur simplifie le processus d'extraction des intentions, des entités et d'autres caractéristiques linguistiques en tirant parti de la conception intuitive de Ludwig et de ses puissantes capacités d'apprentissage automatique. Il vous permet également d'utiliser des modèles déployés sur HuggingFace ou vos propres modèles entraînés localement pour l'inférence.

Configuration du moteur NLU Ludwig

  • Installez l'interface en ligne de commande Hexabot en exécutant cette commande

npm install -g hexabot-cli
  • Créez votre projet Hexabot en utilisant ce modèle personnalisé Ludwig :

hexabot create my-chatbot --template Hexastack/hexabot-template-ludwig
  • Accédez à votre répertoire de projet et initialisez-le en utilisant les commandes suivantes. Vous pouvez personnaliser la configuration de votre projet dans my-chatbot/docker/.env fichier :

hexabot init
npm i

Mettez à jour le HF_AUTH_TOKEN dans le .env fichier situé dans le dossier docker pour utiliser des modèles depuis Hugging Face. Pour des conseils sur la génération d'un jeton personnel, référez-vous à la documentation Hugging Face

  • Démarrez votre chatbot nouvellement créé en exécutant :

hexabot dev --services ludwig-nlu

Configuration du moteur NLU Ludwig

Étape 1 : Définir l'assistant NLU par défaut

Cela garantit que Hexabot utilise le moteur NLU basé sur Ludwig pour le traitement des intentions et la détection de la langue.

  • Accédez à «Paramètres» depuis le menu principal.

  • Sélectionnez l'onglet «Chatbot».

  • Assurez-vous que le «Assistant NLU par défaut» est réglé sur "ludwig-nlu-helper".

Étape 2 : Configurer les paramètres du moteur NLU Ludwig

  1. Accédez à «Paramètres» depuis le menu principal.

  2. Sélectionnez l'onglet «Moteur NLU Ludwig».

  3. Mettre à jour les paramètres du moteur NLU :

    1. Le moteur NLU Ludwig est déjà préconfiguré pour se connecter à l'API Ludwig NLU fournie dans le modèle. Vous n'avez besoin que de mettre à jour le point de terminaison du moteur NLU Ludwig et le jeton API si vous n'utilisez pas la configuration par défaut.

    2. Un seuil de probabilité est également disponible, il est défini par défaut à 0,1 ; cette valeur est la probabilité minimale requise pour qu'une prédiction soit acceptée. Veillez à ajuster ce seuil en fonction du modèle spécifique que vous utilisez et de l'équilibre souhaité entre précision et rappel.

Comprendre Ludwig pour Hexabot

Bien que Hexabot simplifie l'intégration, comprendre les concepts de base de Ludwig est bénéfique si vous souhaitez créer des modèles personnalisés. Ludwig est un framework d'apprentissage automatique déclaratif où vous définissez vos modèles et votre entraînement via un fichier de configuration en YAML ou JSON. Ludwig gère la complexité et les détails de codage de votre configuration.

Voici un bref aperçu de la façon dont vous pourriez utiliser Ludwig en conjonction avec Hexabot :

  • Définir une architecture de modèle : Au lieu de coder un modèle à partir de zéro, vous définissez une architecture de modèle à l'aide d'une configuration de haut niveau. Vous pouvez définir différentes couches d'un réseau neuronal, définir un encodeur de texte et d'autres spécifications du modèle.

  • Entraînement des modèles : Ludwig utilise vos données d'entraînement et la configuration que vous fournissez pour entraîner le modèle, générant un modèle que vous pouvez ensuite héberger et utiliser pour l'inférence dans Hexabot, localement ou en utilisant un modèle basé sur le cloud.

  • Intégration HuggingFace : Vous pouvez également utiliser directement des modèles de HuggingFace en référant leurs noms dans la configuration Ludwig. Cela rend l'utilisation des modèles de pointe très simple pour l'expérimentation.

Pour une compréhension approfondie sur l'utilisation de Ludwig, veuillez vous référer à sa documentation officielle : https://ludwig.ai.

Le moteur NLU Ludwig prend en charge l'inférence en utilisant à la fois des modèles Hugging Face et des modèles entraînés localement. Chaque prédiction enregistre un score de confiance afin de fournir un aperçu de sa fiabilité. Le moteur NLU Ludwig dans le modèle de démarrage Hexabot est préconfiguré pour utiliser deux modèles Hugging Face développés par l'équipe Hexabot qui démontrent la détection d'intention et la classification de la langue. Ces modèles servent d'exemple pour vous aider à démarrer. Gardez à l'esprit que pour des cas d'utilisation réels, vous devrez peut-être définir et entraîner vos propres modèles en fonction de votre jeu de données pour mieux répondre à vos besoins. Pour des instructions détaillées sur la façon d'entraîner vos propres modèles et de les intégrer au moteur, référez-vous au fichier README dans le dépôt d'origine. Vous pouvez également souhaiter essayer ce jeu de données comme point de départ pour l'entraînement de vos modèles personnalisés.

Étape 3 : Tester le moteur NLU Ludwig

Accédez à la "NLU" depuis le menu principal puis sélectionnez l'onglet "Entités NLU" pour ajouter des entités et/ou des valeurs d'intention. Consultez la Gérer les entités NLU section de la documentation pour plus d'informations sur la façon d'ajouter et de gérer vos entités NLU :

Gérer les entités NLU

Utilisez l' outil d'entraînement NLU pour tester certains textes contre l'intention NLU que vous venez d'ajouter et voir si les prédictions sont bonnes.

Enfin, vous pouvez utiliser les entités NLU lors de la configuration des déclencheurs dans les blocs au sein de l' Éditeur Visuel. Vous pouvez consulter la Blocs réguliers section de la documentation pour vous aider à comprendre comment déclencher des blocs en utilisant des intentions NLU.

Le moteur NLU Ludwig offre un équilibre entre configuration facile et personnalisation puissante. En utilisant des modèles préentraînés fournis par la configuration par défaut ou en entraînant des modèles personnalisés, vous disposez de tous les outils nécessaires pour construire la logique NLU requise pour votre cas d'utilisation. N'oubliez pas de tester et d'ajuster vos paramètres pour exploiter pleinement ses capacités.

Mis à jour

Ce contenu vous a-t-il été utile ?