2017-01-30 1 views
1

J'utilise Chatscript pour créer un bot de service à la clientèle. J'ai créé un bot personnalisé jusqu'ici en utilisant le bot allemand pré-construit comme modèle, mais le problème est que je ne peux pas comprendre comment ajouter une langue étrangère (dans mon cas grec). Le lien le plus pertinent que j'ai trouvé est https://github.com/bwilcox-1234/ChatScript/blob/master/WIKI/ESOTERIC-CHATSCRIPT/ChatScript-Foreign-Languages.md, mais ce n'est pas très utile.Chatscript ajouter langue étrangère

Plus précisément, j'ai placé un fichier dictionaty txt dans le dossier /DICT/GREEK. De plus, j'ai copié le fichier systemfacts.txt dans le dossier /LIVEDATA/GREEK (je n'ai pas encore de txts). Ai-je besoin de plus de matériel pour soutenir une nouvelle langue? Si oui, de quoi ai-je besoin exactement? Je sais que le tagging POS est également nécessaire. J'ai un tagueur de POS client avec une API, mais je ne sais pas comment le scriptcript devrait interagir avec lui (à quel moment l'appel doit être fait et quel type de réponse est attendu).

Enfin, comment puis-je dire explicitement à mon robot d'utiliser la nouvelle langue? J'ai vérifié le bot allemand comme référence mais je n'ai trouvé aucune commande de ce type.

Répondre

0

chatscript (CS) l'intégration d'une langue étrangère (pas l'anglais) est possible, mais il nécessite le travail todo:

  • dictionnaire
  • ontologies (WordNet comme)
  • interjections/etc.

J'ai un tagueur POS client avec une API, mais je ne sais pas comment chatscript doit interagir avec elle (au point auquel l'appel doit être fait et quel genre de réponse est attendue).

Vous pouvez le faire avec un appel Systema à votre exteral POS tagger, voir par exemple: https://github.com/bwilcox-1234/ChatScript/tree/master/RAWDATA/GERMAN

BTW, maintenant CS avec une intégration rapide prévoient Treetagger (licence obligatoire); mais je suis juste la langue grecque n'est pas prévue.

0

Pour utiliser explicitement la langue, vous devez appeler chatscript avec le language= drapeau:

./ChatScript local language=GREEK 

Pour que les blocs conditionnels dans votre code qui ne sera analysé lorsque CS est exécuté avec cette langue drapeau, entourer les lignes avec ##<<GREEK et ##>>. Comme si:

##<<ENGLISH 
    Hello 
##>> 
##<<GREEK 
    Χαίρετε 
##>> 

Vous pouvez aussi faire ce que d'une seule ligne, et parfois au milieu des motifs, mais il peut être très capricieuse et je voudrais donc éviter de le faire et essayer d'être relativement bavard. Il faut aussi savoir que lorsque vous changez la langue, il faut tout reconstruire à nouveau avec :build 0 et :build botname

Notez également que les blocs linguistiques conditionnels sont compilés dans le TOPICS à construire temps, ne sont pas interprétées lors de l'exécution.

La réponse de Georgio explique les dictionnaires et les ontologies.Actuellement, il existe d'autres langues comme le français, l'espagnol, l'allemand, mais pas le grec. Malheureusement, je ne peux pas aider avec la nature complexe de générer des fichiers d'ontologie grecque.