Recast.AI Developers: BotBuilder movie bot NodeJS
Après avoir appris à programmer un chatbot en NodeJS RecastAI , et NLP, arbre, ici , voici un nouveau chatbot. A travers cette première partie théorique, nous comprenons les concepts clés derrière Bot Builder, et comment manipuler les Bots Skills pour créer un premier bot
Une question? Posez-la ici
Aide au développement d'applications
NLP: natural language processing: pour analyser les requetes des utilisateurs. Par exemple, si dans une hotline un utilisateur souhaite se faire livrer un smartphone, on peut analyser la requete et répondre à son besoin.
Une trentaine d'entities comme les dates, comme les lieux existe, location par exemple, avec un lien sur l'API Google maps avec longitude, latitude. Restaurant, entité custom. Restaurant japonais pour commander des sushis.
On fait un post sur l'API de NLP:
https://api.recast.ai/v2/request
voila, c'est tout. On insère notre token et ensuite le moteur detecte ce que l'on veut, l'intention, et on a un retour JSON avec un type, le sentiment, les entités, et le language dans laquel on a reconnu la requete.
Un bot est constitué de SKILLS qui répondent à des taches bien précises: un skill peut être product search, une deuxieme est traquer l'order du produit, et une troisieme skills qui permet par exemple de répondre aux insultes... (small talks)
Exemple de requête NLP:
Où est mon colis?
Quel est mon numéro de commande? XW34
L'api interroge le service et répond:
"le colis arrive dans 2 heures...3
Dans un skill on a 3 choses:
-les triggers: qu'est-ce qui déclenche mon skills? Un item
-Requierements: de quoi a-t-on besoin pour compléter la conversaion?
Actions:
Qiels sont les actions et réponses finales du bot
Récapitulatif: un bot = skills, intentions, entités.
L’objectif: construire notre chatbot de A à Z avec les outils de Recast.AI
Pré-requis:
-créer un compte sur Recast.AI
-forker le bot de démarrage sur Recast.AI
On va entrainer le bot...
Un exemple de bot sur github
Petit rappel sir Github pour ceux qui ne connaissent pas, ici comment l'utiliser, comment rejoindre un projet de développement, et 10 astuces...
-forker le bot movie sur Github
-créer un compte sur Movie DBpour créer un token
ensuite aller sur https://www.themoviedb.org/documentation/api
!lire les FAQs ici:
https://www.themoviedb.org/faq/api
Demander une clé ici:
https://www.themoviedb.org/settings/api
-créer un compte facebook développeur
-installer Node.js
-installer Ngrok
On retourne sur : movie-bot-skills-training-1/train et on voit toutes nos intentins en couleur
on clique sur discover: les expressions avec exemple:
DATETIME
GENRE
LANGUAGE...
Moviebot pour trouver un film, en anglais des années 1970, de guerre, avec tel acteur
On rentré les genres dans des gazettes ouverte avec machine learning "exemple, je veux voir des films de guerre"
en anglais:
"consultingit loves computer movies from year later than 2010 show me your catalogue"
+ ADD LANGUAGE
FORK
Add an expression
I am looking for a US romance movie released in 2016 !
Get me some French drama TV shows released in 2015
Could you fetch me some UK science fiction tv shows ?
I want to discover some american tv shows
Any ideas of comedy movies released in France in 2012
Get me a list a US science fiction movies
Drama movies released last year pleae
I'd like to watch a western US movie
Il y a deja des expressions programmées par defaut, mais on peut changer la langue
On a taggué le bot
on va maintenant passer dans le build
On a un premier onglet trigger qui gère toutes les demands de smalltalk
on va creer une skill trigger:
On peut jouer avec les attributs des intentions avec les triggers par exemple
is, is not, in, ...
Les builds/requierements
Là on va lui donner #movie, mais on peut rajouter #TV si on veut
Voilà on peut tester le bot:
Tsss bon, allez, un peu de serieux! Oui parce que quand il y a de l'intelligence artificielle, il y a aussi de la connerie naturelle ;-)
Ensuite dans l'onglet build/action il faut rajouter le hook
webhook /discover-movies
Une question? Posez-la ici
Aide au développement d'applications web mobile smartphone
On fait un git clone du projet gihub/plieb
On fait un NPM install dans le repo cloné
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN movie_bot@1.0.0 No repository field.
added 59 packages in 34.826s
Token
Mettre le token dans le config.js
module.exports = {
// You can add your own open weather map token here (https://home.openweathermap.org/api_keys)
OPENWEATHER_TOKEN:
process.env.OPENWEATHER_TOKEN || '',
// You can add your own tmdb token here (https://www.themoviedb.org/)
MOVIEDB_TOKEN:
process.env.MOVIEDB_TOKEN || 'bf8c9028a2e3a6fc95d32a840e42ad6a',
PORT: process.env.PORT || 5000,
};
NPM install
NPM start
app is listening on port 5000
on copie le lien https:
https://b7830920.ngrok.io
dans le projet recast ai
Et voilà
Il m'a bien proposé un film! Un western en anglais! Génial ce bot!
Cerise sur le gateau, on a la possibilité d'implémenter très facilement ce bot sur facebook, une application mobile, une boite email, ou site web . Il suffit d'utiliser la fonctionnalité "bot connector":
Ensuite copier-coller le code généré, le modifier si besoin et l'intégrer à votre flux.
Une question? Posez-la ici
Aide au développement d'applications web mobile smartphone
Voilà, j'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus