Fermer

octobre 11, 2019

Une histoire de Chatbot – Comment avons-nous construit un assistant d'intégration complet pour une grande université de recherche


Comment les robots de discussion peuvent améliorer l'intégration des étudiants

Les interfaces de conversation sont devenues des techniques courantes. La technologie utilisée continue de franchir de nouveaux jalons, ce qui a permis aux chatbots de passer de simples systèmes de questions-réponses à des assistants personnels intelligents. En conséquence, les robots ont trouvé une application répandue dans divers domaines, plus récemment en éducation.

Bien que l’éducation soit restée rétrograde en termes d’adoption de la technologie, elle a récemment repris une nouvelle tentative pour l’intégrer. Les éducateurs sont à la recherche de systèmes ed-tech innovants pour un tutorat efficace et les étudiants préfèrent de plus en plus des environnements d’apprentissage personnalisés.

Le déploiement de chatbots sur de nombreux front-ends tels que les sites Web universitaires / universitaires, les portails de communication internes pour étudiants ou même les plateformes de messagerie instantanée les plus populaires peut vous aider. Voici comment?

Les chatbots apportent une expérience d'apprentissage personnalisée et attrayante, optimisée en fonction du rythme d'apprentissage de chaque apprenant, ce qui favorise activement l'apprentissage centré sur l'élève. Configurer un bot pour répondre aux demandes des étudiants concernant le programme, les cours, les admissions, etc., ainsi que pour fournir des ressources d’apprentissage sur demande cède la place à un assistant personnel toujours disponible, avec lequel chaque élève peut s’engager.

C’est exactement ce que nous avons fait, mais d’une manière différente.

Récemment, Fingent a été approché par un client, une grande université publique de recherche basée en Australie, pour développer un chatbot intelligent destiné à aider les candidats potentiels et les nouveaux inscrits grâce à l'intégration et l'orientation, des informations relatives au cours, des notes de crédit, etc. Le client souhaitait rationaliser l’ensemble de son processus d’orientation des étudiants à l’aide d’un chatbot et rendre toutes les informations connexes plus accessibles et plus contextuelles, et s’attaquer systématiquement aux taux de «fonte estivale».

Nous présentons ici un résumé de haut niveau de cette expérience de développement de chatbot optimisée par IBM Watson Assistant et appuyée par .NET Core. Il présente diverses facettes et difficultés rencontrées lors de la conception et du développement du système.

The Plot (Objective)

Construisez un chatbot pour assister les candidats pendant le processus d'orientation de l'Université Monash. Le chatbot doit être capable de gérer différents scénarios contextuels, tels que lister les cours disponibles, fournir des informations sur les points de crédit, la structure des cours, les projets associés à chaque cours et bien d’autres.

Comme il s’agit d’une preuve de concept ( POC), et l’Université Monash propose un large éventail de cours basés sur différents domaines de l’éducation, l’équipe a décidé de choisir un domaine en particulier et de ne se concentrer que sur deux des cours sélectionnés ( Licence en comptabilité et [19659014] Baccalauréat en sciences actuarielles) . Cela revient à refouler le contrôle, compte tenu de la durée et de la disponibilité des ressources.

Foundation

Gardant à l’esprit l’idée de construire un chatbot très sophistiqué, une technologie idéale et mature pour son assistant chatbot devait être finalisée, ce qui identification et traitement complets de l'intention de l'utilisateur, ainsi qu'une réponse satisfaisante en fonction de la requête de l'utilisateur. Le système doit également fournir une interface de formation complète et moins technique. La quête d'une telle technologie a abouti à IBM Watson Assistant .

Terminologies

Le monde des chatbots a quelques termes communs qui sont des connaissances essentielles indispensables au développement d'un chatbot. Nous pouvons les appeler comme les piliers d’un chatbot.

  • #Intent – L’intention n’est autre que l’intention de l’utilisateur dans une requête – elle couvre essentiellement tous les types de questions et leurs variantes, que l’utilisateur peut probablement demander. Il peut s'agir de requêtes entrant dans le champ d'application ou liées au champ d'application.

Exemples:

"Quels sont tous les cours disponibles?"
– Intention associée: #KnowCourseInfo

" first semestre? ”
– Intention (s) associée (s): #KnowCreditInfo

Remarques Il y aura quelques stocks #intent de collection en fonction du moteur de chatbot, qui est conçu pour gérer les salutations générales et les segments orientés vers la conversation. Nous pouvons importer ou activer les intentions lorsque nous voulons rendre notre chatbot plus conversationnel et plus convivial pour les humains.

  • @Entity – Une entité est un sujet traité dans la requête de l'utilisateur. Il existe principalement deux catégories d'entités. Ce sont des entités basées sur Scope et des entités système. Les entités à portée sont des entités appartenant à la portée que nous abordons alors que les entités système sont des entités «primitives liées au système».

Exemples:

"Quels sont tous les cours disponibles?"
– Entités associées: @ Cours

"De combien de crédits ai-je besoin au 1er semestre?"
– Entités associées: @Credit, @Semester, @system_number: 1st

Remarques En plongeant plus profondément, nous aurons peut-être besoin de la prise en charge de plusieurs types d'entités basées sur la portée et d'un moyen de spécifier les relations entre les entités (qui manque dans IBM Watson Assistant ). . Il s'agit de spécifier les caractéristiques de l'entité comme étant plus descriptives, ainsi que par la notion de «système connaît» les attributs et relations donnés d'une entité.

  • Dialogue – Un dialogue est une manière déclarative de spécifier les questions possibles. l'utilisateur peut demander, et comment le bot doit-il répondre aux questions correspondantes. Généralement, il s'agira d'une structure arborescente, ancrée dans les principales intentions de l'utilisateur et les fonctionnalités couvertes par l'étendue. Nous traiterons les différents scénarios d'un seul #intent ainsi que les cas d'extrémité.
  • $ Variable de contexte – Une variable de contexte consiste à stocker des informations, en les recueillant à partir d'un contexte de dialogue. peut être toute information liée au contexte du dialogue. Cela nous aide à garder le contexte de dialogue et à faciliter le flux de conversation.
  • Compétence / Espace de travail (basé sur IBM Watson) – Une compétence est un ensemble constitué des facteurs susmentionnés, dans lesquels tous sont alignés. dans notre cas, il s’agissait de la compétence Onboarding.

Mise en oeuvre

L’ensemble du processus de développement a été rationalisé en deux parties principales. Le premier est aligné sur les activités de développement et d'amélioration du renseignement du moteur de chatbot, tandis que le second concerne le développement de middleware et d'interface utilisateur.

1. Accumulation de renseignements sur IBM Watson Assistant

  • Analyse les exigences et fixe les limites de la portée. Elle inclut tous les domaines fonctionnels devant être couverts par les chatbots proposés.
  • Préparé les requêtes des utilisateurs possibles et catégorisé comme suit: #intents.
  • Identifié les @entities sous-jacentes. interrogez et classifiez-les pour former l'ensemble réel d'entités primitives.
  • Conception de la structure de dialogue basée sur les ensembles de requêtes utilisateur préparés. Voir les ressources: Structure d'intention et Flux de dialogue .

Fig 1. Structure d'intention

  • Améliore continuellement la structure de dialogue en fonction de la détection de chaque cas et de l'intégration de nouveaux éléments. scénarios.
  • A utilisé certaines conventions sur les réponses pour étendre les capacités de réponse du chatbot, en fonction des besoins. Cela permet de gérer des cas d'utilisation spécifiques tels que la réponse d'image de la liste d'actions cliquable, la réponse de carte et d'afficher une liste d'éléments.
  • Implémentation de WebHooks (basé sur IBM Watson) pour parler à des API externes afin d'extraire les valeurs d'un dialogue. nœud ainsi que la validation de la saisie utilisateur (solution non exhaustive).

2. Développement de middleware et d'interface utilisateur

  • Construit un middleware soutenu par .NET Core avec l'intention de connecter tout service de chatbot au module d'interface utilisateur. En fait, il est conçu comme un cadre standard permettant de séparer la logique chatbot de la logique applicative. Cela permet une maintenance sans problème de la logique de l'application, de la réutilisation du code et de son extensibilité.
  • Construit l'interface utilisateur à l'aide d'Angular pour offrir un visage sophistiqué à nos chatbots.

Fig. 2. Interface de Dayton – Edubot.fingent.net

Nous avons également construit un module de diagnostic dans le cadre du Interface utilisateur, qui fournit les informations de configuration du service et les transcriptions basées sur la session des conversations tenues avec le chatbot.

Fig 3. Architecture de l'application Chatbot Middleware, Code source

Défis

Lors du développement, IBM Watson a présenté certains problèmes de développement répertoriés ci-dessous.

  1. Impossible de mapper les relations entre les entités. En raison de cette limitation, nous n'avons pas pu lier et extraire les valeurs correspondantes des entités.
  2. Conflits entre différentes valeurs d'entité (résolu partiellement via la méthode de scission d'entités)
  3. API Limitations de la gestion du schéma de dialogue de chatbots
  4. IBM Watson ne fournit pas d'apprentissage actif, la capacité d'autoapprentissage permettant d'apprendre à partir des sessions de conversation utilisateur.
  5. Il ne fournit pas non plus un moyen efficace de communiquer avec des API externes. Une seule API externe peut être appelée, ce qui entraîne un goulot d'étranglement lors de l'exécution des actions Webhook.
  6. Pas de validation d'entrée utilisateur intégrée. Cela doit être fait via WebHooks.

Capitaliser sur les chatbots d'IA redéfinira votre entreprise: voici comment

Final Words

L'application est maintenant dans un mode vitrine / UAT (Test d'acceptation de l'utilisateur), ainsi que le processus de raffinement être en cours. Il a encore beaucoup de chemin à parcourir pour atteindre la capacité de converser avec l'utilisateur en tant qu'assistant complet d'intégration.

Pour savoir comment les chatbots peuvent améliorer la croissance de votre entreprise, contactez nos experts aujourd'hui!




Source link