Skip to content

Construire un bot multilingue avec Tock

L’interface Tock Studio permet de traduire et moduler les réponses d’un bot en fonction de la langue mais aussi du canal utilisés.

Pré-requis

Tock met à disposition un framework complet d’internationalisation. Il est activé par défaut en mode Bot API (par exemple sur la plateforme de démonstration).

Dans le mode Bot intégré (voir le manuel développeur), l’internationalisation est désactivée par défaut. Pour l’activer, il est alors nécessaire de configurer la plateforme à son démarrage :

  • Soit via le code de démarrage du bot (développeur) :
      Translator.enabled = true
    
  • Soit avec une propriété Système (administrateur) en passant -Dtock_i18n_enabled=true au démarrage de la JVM

Activer plusieurs langues pour un bot

Il est possible d’ajouter et de gérer les langues actives pour un bot dans la section NLU Applications (dans Tock Studio). Voir Le menu Settings.

A tout moment dans Tock Studio, il est possible de changer la langue sélectionnée dans la bannière en haut de page, notamment pour dialoguer avec un bot dans l’interface Test the bot. Voir Interface générale.

Langue et locale utilisateur

Quand c’est possible, la locale de l’utilisateur (langue / région) est importée de celle de son compte.

Par exemple, si le compte d’un utilisateur Messenger est configuré en Français, le Français sera automatiquement sélectionné par Tock.

S’il n’y a pas d’indication de locale, c’est la locale par défaut de Tock qui est utilisée.

Un développeur peut modifier la locale de l’utilisateur dans le code du bot lui-même :

    userPreferences.locale = Locale.FRENCH

Enfin, la locale par défaut peut être modifiée par un administrateur de la plateforme, en passant la propriété Système -Dtock_default_locale=fr au démarrage de la JVM.

Traduire et faire varier les réponses du bot

Dans Tock Studio, la section Stories & Answers > Answers permet de gérer les libellés des réponses du bot. Voir Le menu Stories & Answers.

Chaque libellé a une valeur par défaut pour chaque langue du bot. Il est possible de concevoir et configurer différentes variantes :

  • En fonction de la langue
  • En fonction du canal / connecteur

    Par exemple, certains canaux requièrent des libellés spécifiques, soit parce que le propriétaire du canal l’exige (sur Alexa le vouvoiement est requis), soit parce que l’expérience utilisateur diffère des autres canaux (par exemple en vocal on évitera de trop longues phrases).

  • Aléatoirement (pour que le bot ne réponde pas toujours la même chose)

Traduire massivement les modèles et réponses

Des fonctionnalités sont à l’étude pour permettre la traduction plus ou moins automatisée de nombreuses phrases utilisateur (corpus / modèle conversationnel) et réponses (libellés / i18n). A suivre…

Pour le moment, pour envisager une traduction de masse, on peut par exemple :

  1. Exporter les données en JSON ou CSV avec Tock Studio
  2. Traduire les phrases/réponses en dehors de Tock (API SaaS, agence…)
  3. Importer les traductions avec Tock Studio

Remarque : au moment de l’import seuls les libellés marqués validés sont pris en compte.

Développer avec l’internationalisation

Le manuel développeur Tock donne plus de détails sur le développement des bots multilingues.