linux:rivescript
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
linux:rivescript [2016/07/10 20:21] – bruno | linux:rivescript [2016/07/12 22:31] (Version actuelle) – bruno | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
+ | Traduction de la page « [[https:// | ||
+ | ===== Introduction | ||
Ce tutoriel va vous aider à apprendre comment écrire vos propres personnalités de Chatbot en utilisant le langage RiveScript. | Ce tutoriel va vous aider à apprendre comment écrire vos propres personnalités de Chatbot en utilisant le langage RiveScript. | ||
- | ===== Qu' | + | ==== Qu' |
RiveScript est un langage de script destiné à faciliter le développement de chatbots interactifs. Un chatbot est une application logicielle qui peut communiquer avec des humains en utilisant des langages naturels comme l' | RiveScript est un langage de script destiné à faciliter le développement de chatbots interactifs. Un chatbot est une application logicielle qui peut communiquer avec des humains en utilisant des langages naturels comme l' | ||
- | ===== Mise en route ===== | + | ==== Mise en route ==== |
- | Pour écrire votre propre code RiveScript, vous aurez seulement besoin d'un simple éditeur de texte. Vous pouvez utiliser gedit sous GNU/Linux, ou de n' | + | Pour écrire votre propre code RiveScript, vous aurez seulement besoin d'un simple éditeur de texte. Vous pouvez utiliser |
- | Un document RiveScript est un fichier texte contenant du code RiveScript. Ces fichiers auront une extension | + | Un document RiveScript est un fichier texte contenant du code RiveScript. Ces fichiers auront une extension |
Pour exécuter et tester votre code RiveScript, vous aurez besoin d' un interpréteur RiveScript, ou d'un programme qui utilise une bibliothèque RiveScript pour lire et à exécuter du code RiveScript. | Pour exécuter et tester votre code RiveScript, vous aurez besoin d' un interpréteur RiveScript, ou d'un programme qui utilise une bibliothèque RiveScript pour lire et à exécuter du code RiveScript. | ||
- | Ce tutoriel suppose que vous utilisez la commade | + | Ce tutoriel suppose que vous utilisez la commade |
<code bash> | <code bash> | ||
- | apt-get install librivescript-perl | + | sudo apt-get install librivescript-perl |
</ | </ | ||
- | ===== Le répertoire projet | + | ==== Le répertoire projet ==== |
Pour ce tutoriel, vous devez créer un dossier pour enregistrer vos documents RiveScript. Suivent quelques emplacements conseillés, | Pour ce tutoriel, vous devez créer un dossier pour enregistrer vos documents RiveScript. Suivent quelques emplacements conseillés, | ||
- | Pour les utilisateurs de Linux, Unix et Mac OS, je vous recommande de faire un dossier dans votre répertoire personnel, comme ceci: | + | Pour les utilisateurs de GNU/Linux, Unix et macOS, je vous recommande de faire un dossier dans votre répertoire personnel, comme ceci: |
<code bash> | <code bash> | ||
- | Unix : / | + | GNU/ |
macOS : / | macOS : / | ||
</ | </ | ||
Ligne 36: | Ligne 38: | ||
rivescript rstut | rivescript rstut | ||
</ | </ | ||
- | Pour Windows, ouvrez une fenêtre d' | + | Pour Windows, ouvrez une fenêtre d' |
<code bash> | <code bash> | ||
rivescript C:\rstut | rivescript C:\rstut | ||
Ligne 42: | Ligne 44: | ||
Si vous éprouvez des difficultés à le faire fonctionner sur Windows, voir la page [[https:// | Si vous éprouvez des difficultés à le faire fonctionner sur Windows, voir la page [[https:// | ||
- | ====== Premiers pas ====== | + | ===== Premiers pas ===== |
- | ===== Bonjour, humain ! ===== | + | ==== Bonjour, humain ! ==== |
Écrivons nos premières lignes de code RiveScript ! | Écrivons nos premières lignes de code RiveScript ! | ||
- | Dans votre éditeur de texte, créez un nouveau fichier et d' | + | Dans votre éditeur de texte, créez un nouveau fichier et écrivez |
< | < | ||
Ligne 55: | Ligne 57: | ||
</ | </ | ||
- | Enregistrer le dans votre répertoire projet en tant que //hello.rive//, puis exécutez l' | + | Enregistrer le dans votre répertoire projet en tant que '' |
< | < | ||
Ligne 71: | Ligne 73: | ||
À l' | À l' | ||
- | Essayez de dire quelque chose d' | + | Essayez de dire quelque chose d' |
- | ==== Le code, expliqué ==== | + | === Le code, expliqué === |
+ | Le code RiveScript est vraiment simple. Chaque ligne du fichier texte est une entité distincte (RiveScript est un langage de script orienté ligne). Les lignes de code RiveScript commencent toujours avec un symbole de commande (dans cet exemple, les symboles que nous voyons sont '' | ||
- | Le code RiveScript | + | La ligne « ! version = 2.0 » indique à l' |
- | La ligne « ! version = 2.0 » indique à l'interpréteur RiveScript que votre code suit la version 2.0 de la spécification RiveScript. De cette façon, les futures versions du langage peuvent être rétro-compatibles avec le code existant en regardant le numéro de version et répondre en conséquence. C'est une bonne idée de toujours inclure la ligne de version dans votre code (mais pas la fin du monde si vous l'ignorez - il vous suffit de laisser l'interprète faire de son mieux deviner quelle version utilise votre code). | + | Le commande |
- | + | ||
- | Le commande //+// est la manière dont vous définissez un déclencheur. Un déclencheur est une ligne de texte qui est utilisé | + | |
**Remarque importante** : un déclencheur est toujours en casse minuscule, et il ne contient pas de signes de ponctuation. Même si vous écrivez un déclencheur qui contient un nom propre, la première lettre du nom propre devra être en minuscule également. Vous avez peut-être remarqué lors du test de votre code que l’interpréteur ne se soucie pas des majuscules utilisées dans vos messages : vous pouvez dire « Bonjour Bot », « BONJOUR BOT », ou « bonjour bot » et cela correspondra quand même au déclencheur. | **Remarque importante** : un déclencheur est toujours en casse minuscule, et il ne contient pas de signes de ponctuation. Même si vous écrivez un déclencheur qui contient un nom propre, la première lettre du nom propre devra être en minuscule également. Vous avez peut-être remarqué lors du test de votre code que l’interpréteur ne se soucie pas des majuscules utilisées dans vos messages : vous pouvez dire « Bonjour Bot », « BONJOUR BOT », ou « bonjour bot » et cela correspondra quand même au déclencheur. | ||
- | La commande | + | La commande |
- | ===== | + | ==== Réponses aléatoires ==== |
Faire un bot qui répond toujours exactement de la même manière à ce que l' | Faire un bot qui répond toujours exactement de la même manière à ce que l' | ||
- | Obtenir des réponses aléatoires est aussi simple que d' | + | Obtenir des réponses aléatoires est aussi simple que d' |
< | < | ||
+ comment tu vas | + comment tu vas | ||
Ligne 100: | Ligne 101: | ||
Sauvegardez ça puis testez-le avec l’interpréteur RiveScript. Demandez à votre bot, « Comment tu vas » quelques fois et voyez comment il répond. Il dira une de ces cinq choses au hasard chaque fois que vous l' | Sauvegardez ça puis testez-le avec l’interpréteur RiveScript. Demandez à votre bot, « Comment tu vas » quelques fois et voyez comment il répond. Il dira une de ces cinq choses au hasard chaque fois que vous l' | ||
- | Vous pouvez également utiliser des chaînes aléatoires dans une réponse en utilisant la balise | + | Vous pouvez également utiliser des chaînes aléatoires dans une réponse en utilisant la balise |
< | < | ||
- | +dire quelque chose au hasard | + | + dire quelque chose au hasard |
- | -{random}Ce message|Cette phrase{/ | + | - {random}Ce message|Cette phrase{/ |
</ | </ | ||
+ | |||
+ | Entre les balises '' | ||
+ | |||
+ | ===== Remarque à propos de style ===== | ||
+ | Pour garder vos documents de RiveScript propre, en ordre et facile à lire (et à maintenir !), vous devez suivre ces guides de style : | ||
+ | |||
+ | * Utiliser des lignes vides pour séparer des groupes logiques de code. Par exemple, une ligne déclencheur et ses réponses doivent être regroupées, | ||
+ | * Indentez le code à l' | ||
+ | |||
+ | Vous apprendrez à connaître cela plus tard dans ce tutoriel. | ||
+ | |||
+ | Ainsi, notre '' | ||
+ | < | ||
+ | ! version = 2.0 | ||
+ | |||
+ | + bonjour bot | ||
+ | - Bonjour, humain ! | ||
+ | |||
+ | + comment tu vas | ||
+ | - Je vais très bien, comment vas-tu ? | ||
+ | - Je vais bien et toi? | ||
+ | - Bien :) et toi ? | ||
+ | - Génial ! Et toi? | ||
+ | - Je vais bien, merci de l' | ||
+ | |||
+ | + dire quelque chose au hasard | ||
+ | - {random}Ce message|Cette phrase{/ | ||
+ | </ | ||
+ | |||
+ | ===== Parlons poids ===== | ||
+ | Bien que les réponses aléatoires soient certainement utiles, il y aura des moments où vous préférez que certaines réponses soient choisies plus souvent que d' autres. Par exemple, vous pourriez écrire un bot dont la personnalité est qu'il soit secrètement un extraterrestre prétendant être un humain qui fait semblant d' | ||
+ | |||
+ | Vous pouvez utiliser la balise '' | ||
+ | |||
+ | < | ||
+ | + salutations | ||
+ | - Salut à tous ! {weight = 20} | ||
+ | - Bonjour ! {weight = 25} | ||
+ | - Yos kyoco duckeb ! | ||
+ | </ | ||
+ | |||
+ | Ici, nous avons attribué un poids à chacune des réponses en français, et laissé le charabia seul. L' | ||
+ | |||
+ | Vous pouvez tester cela en disant « salutations »à votre bot maintes et maintes fois. Il devrait très rarement choisir la réponse « Yos kyoco duckeb ! » par rapport aux deux autres. | ||
+ | |||
+ | La valeur du poids contrôle la probabilité que la réponse soit choisie. Les réponses qui ne comprennent pas explicitement une balise '' | ||
+ | |||
+ | Les valeurs de poids ne peuvent pas être à zéro et ne peuvent pas être négatives. | ||
+ | |||
+ | Vous **ne pouvez pas** utiliser des poids dans une balise '' | ||
+ | |||
+ | ====== Saut de ligne ====== | ||
+ | À certains moments vous écrirez une très longue ligne de code RiveScript et vous allez vouloir la répartir sur plusieurs lignes. Dans ce cas, vous pouvez utiliser la commande '' | ||
+ | < | ||
+ | + recite moi un poeme | ||
+ | - La petite demoiselle Muffet assise sur un tabouret, \n | ||
+ | ^ D'une manière nonchalante. \n | ||
+ | ^ Avec son champ de force autour d' | ||
+ | ^ L' | ||
+ | ^ n'est pas dans l' | ||
+ | </ | ||
+ | |||
+ | Notez que la commande de continuation n' | ||
+ | |||
+ | < | ||
+ | // Il n'y aura pas d' | ||
+ | + qui etes vous | ||
+ | - Je suis une intelligence artificielle programmée | ||
+ | ^ en utilisant RiveScript. | ||
+ | </ | ||
+ | |||
+ | Si vous avez demandé « qui etes vous » avec cette réplique, le bot répondra : | ||
+ | |||
+ | Pour garantir qu'il y aura un espace entre les continuations, | ||
+ | < | ||
+ | // Celui-ci disposera d'un espace. | ||
+ | + qui etes vous | ||
+ | - Je suis une intelligence artificielle programmée\s | ||
+ | ^ en utilisant RiveScript. | ||
+ | </ | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Si vous souhaitez souvent utiliser les continuations et que vous voulez presque toujours avoir des espaces (ou des sauts de ligne) entre chacun d' eux, vous pouvez indiquer au parseur de toujours insérer ces symboles automatiquement quand il voit une commande '' | ||
+ | |||
+ | Vous pouvez le faire avec une « option local du parseur » qui ne concerne que le fichier en cours et n' | ||
+ | < | ||
+ | // Indique au parseur de joindre les lignes de continuation avec des sauts de ligne | ||
+ | ! local concat = newline | ||
+ | |||
+ | // Maintenant, nous n' | ||
+ | + recite moi un poeme | ||
+ | - La petite demoiselle Muffet assise sur un tabouret, | ||
+ | ^ D'une manière nonchalante. | ||
+ | ^ Avec son champ de force autour d' | ||
+ | ^ L' | ||
+ | ^ n'est pas dans l' | ||
+ | |||
+ | // Maintenant, change le mode concat pour des espaces | ||
+ | ! local concat = space | ||
+ | |||
+ | // Ici, nous n' | ||
+ | + qui etes vous | ||
+ | - Je suis une intelligence artificielle programmée | ||
+ | ^ en utilisant RiveScript. | ||
+ | |||
+ | |||
+ | // Retour au mode de concaténation par défaut (qui n' | ||
+ | // caractère lors de l' | ||
+ | ! local concat = none | ||
+ | </ | ||
+ | |||
+ | Sachant que le paramètre '' | ||
+ | |||
+ | Les options supportées sont : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== Anatomie d'un cerveau RiveScript ===== | ||
+ | |||
+ | ==== Le fichier begin ==== | ||
+ | |||
+ | Vous savez maintenant quelques-unes des notions de base sur la façon dont les déclencheurs et les réponses se rapportent les uns aux autres. Avant de continuer, vous devez savoir comment les cerveaux RiveScript sont généralement organisés. | ||
+ | |||
linux/rivescript.txt · Dernière modification : 2016/07/12 22:31 de bruno