diff --git a/README.md b/README.md index 11dfa31..dc978c2 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,68 @@ -# Alan v1.3 +# Alan v1.4 - -[Le dépôt github de Alan](https://github.com/LeonLenclos/alan) est consacré au code source d'alan. - ## Description -Alan est un agent conversationel en cours de développement créé pour le spectacle [Turing Test](https://github.com/LeonLenclos/turing-test) avec la collaboration de l'[IRIT](https://www.irit.fr/) (Institut de Recherche en Informatique de Toulouse) et plus particulièrement des équipes de recherche SAMoVA et MELODI. C'est un robot spécialisé dans la communication verbale, conçu pour donner l'illusion d'être conscient. -On peut discuter avec lui de choses et d'autres mais sa spécialité c'est la conscience de soi. Il a été programmé pour donner l'illusion qu'il est conscient d'exister. Vous trouverez plus d'informations sur le git du spectacle https://github.com/LeonLenclos/turing-test/blob/master/contenu/robots/alan.md - -![](https://github.com/LeonLenclos/turing-test/ressources/dessin1.png) +Alan est un agent conversationel créé pour le spectacle [Turing Test](https://github.com/LeonLenclos/turing-test) par Léon Lenclos, Fabien Carbo-Gil et Bertrand Lenclos de la [cie Nokill](http://cienokill.fr) avec la collaboration de l'[IRIT](https://www.irit.fr/) et plus particulièrement de [Michael Vo](https://github.com/mvo-projects) et des équipes de recherche SAMoVA et MELODI. +[Une page lui est consacré sur le dépôt du spectacle Turing Test](https://github.com/LeonLenclos/turing-test/blob/master/contenu/robots/alan.md) -## Fonctionnement +![](ressources/logo/logo.png) -L'architecture d'Alan est basé sur le module python [chatterbot](https://github.com/gunthercox/ChatterBot). Le programme d'Alan est ainsi composé de modules, des bouts de programmes qui répondent à des taches précises : -- Des modules servant à générer en fonction d'un texte entré par l'utilisateur une réponse sous forme de texte en fonction et un indice de confiance. Il sont appelés des LogicAdapter. -- Un module servant à gérer la reconnaissance vocale (conversion voix vers texte) sera un InputAdapter -- Un module servant à gérer la synthèse vocale (conversion texte vers voix) sera un OutputAdapter - -Lorsque l'utilisateur dis quelque-chose à Alan, certains logic adapters se mettront en marche et c'est la réponse de celui qui renverra l'indice de confiance le plus haut qui sera sélectionnée. Si tout les logic adapters ne se mettent pas en marche à chaque fois, c'est parce que certains ne sont conçus que pour répondre à un certain type de phrases. +**Attention : le contenu de ce dépôt est un travail en cours, des fonctionnalités peuvent ne pas être opérationnel. Des éléments de documentations peuvent être obsolètes.** ## Comment parler avec Alan **Version de python requise : Python 3.5** -Le projet est encore en cours de développement, github est un outil adapté à ce contexte : il existe plusieurs "branches" qui sont des versions plus ou moins avancées d'Alan. Le Alan contenu dans la branche `master` doit normalement pouvoir fonctionner, il en est pour l'instant à la version 1. Il existe par exemple une branche développement sur laquelle nous travaillons et qui peut donc contenir un certain nombre de problèmes pas encores résolus. En attendant de pouvoir parler avec Alan sur internet vous pouvez suivre les indications suivantes pour installer Alan sur votre ordinateur ! Tout d'abord il vous faut télécharger ce dossier git en cliquant sur clone or download, puis rentrer les commandes suivantes dans le terminal depuis le dossier alan : +En spectacle nous utilisons le Alan de la branche `master`. Mais la version d'Alan la plus récente est contenu dans la branche `develop`. + +Ces instructions ne concernent pas la partie *mvo-chatbot* ou *mode impro*. +### installer + ``` + $ cd alan $ pip install -r requirements.txt - $ python + $ python3 >>> import nltk >>> nltk.download("punkt") >>> quit() - $ cd brain - $ ./alan.py ``` -#### installer pyenchant sur mac -``` - $ brew install enchant --with-python - $ export PYENCHANT_LIBRARY_PATH=/usr/local/opt/enchant/lib/libenchant-2.dylib +### Lancer l'interface terminal ``` -puis telecharger la [source](https://github.com/rfk/pyenchant) -``` - $ python3 setup.py install + $ cd alan/brain + $ ./alan.py -h # pour obtenir l'aide + $ ./alan.py ``` -#### installer le dictionnaire francais sous linux +### Lancer l'interface web ``` - $ sudo apt-get install myspell-fr-fr + $ cd alan/brain + $ ./server.py -h # pour obtenir l'aide + $ ./server.py ``` + +puis visiter http://localhost:8000 avec un navigateur. + ### indiquer des fichiers de réglage spécifique -Par defaut, alan se lance avec les réglages contenu dans le fichier default.json. +Les fichier de réglage sont contenu dans `alan/brain/settings`. + +Par defaut, alan se lance avec les réglages contenu dans le fichier `default.json`. -D'autres fichier de réglages (settings) peuvent être choisis grace à l'argument `-s`. +D'autres fichier de réglages peuvent être choisis grace à l'argument `-s`. ``` $ ./alan.py -s speak # lance Alan avec les réglages contenus dans le fichier speak.json - $ ./alan.py -s base interface_text logic_rive - # lance Alan avec les réglages contenus dans les fichier base.json interface_text.json et logic_rive.json + $ ./alan.py -s base interface/text logic + # lance Alan avec les réglages contenus dans les fichier base.json interface/text.json et logic/default.json ``` Voir [brain/settings/README.md](brain/settings/README.md) pour plus d'information sur le fonctionnement des fichiers settings -### activation de l'environnement: -``` -$ source activate alan -``` -sur l'hardware d'alan, taper "alan" active son environnement. On peut tout de même activer l'environnement en tapant -``` -$ source activate alan-env -``` - -### commandes spéciales - -- Pour quitter `> ciao` -- Pour une annalyse des logic adapters en jeu dans la dernière réponse `> info` -- Pour noter les deux dernières répliques dans la liste todo.md `> todo` -- Pour redémarrer `> rst` diff --git a/brain/alan.py b/brain/alan.py index 489e889..5e481a3 100755 --- a/brain/alan.py +++ b/brain/alan.py @@ -46,7 +46,7 @@ class Alan(chatterbot.ChatBot): """ name = "Alan" - version_infos = ("1", "3") + version_infos = ("1", "4") version = '.'.join(version_infos) birth = datetime.datetime(2018,1,31) author = "Fabien Carbo-Gil, Bertrand Lenclos, Léon Lenclos" diff --git a/doc/README.md b/doc/README.md index 1db49c0..4ceab1a 100644 --- a/doc/README.md +++ b/doc/README.md @@ -2,6 +2,9 @@ **Attention ! cette documentation est certainement dépassée. Elle est peu consultée est rarement mise à jour ! Nous la concervons ici car elle peut servir de base pour une documentation plus serieuse.** + +L'architecture d'Alan est basé sur le module python [chatterbot](https://github.com/gunthercox/ChatterBot). + ## Consignes générales de contributions Ces consignes sont destinés à fixer des règles simples de contributions pour que les quelques collaborateurs du projets puissent travailler ensemble c'est-à-dire collaborer. @@ -93,3 +96,22 @@ Un fichier contenant des fonctions de type preprocessor #### utils.py Un fichier contenant des fonctions de type utilitaires + + +#### installer pyenchant sur mac + +``` + $ brew install enchant --with-python + $ export PYENCHANT_LIBRARY_PATH=/usr/local/opt/enchant/lib/libenchant-2.dylib + +``` +puis telecharger la [source](https://github.com/rfk/pyenchant) +``` + $ python3 setup.py install +``` + +#### installer le dictionnaire francais sous linux + +``` + $ sudo apt-get install myspell-fr-fr +``` \ No newline at end of file diff --git a/ressources/logo/logo.png b/ressources/logo/logo.png new file mode 100644 index 0000000..4318bf0 Binary files /dev/null and b/ressources/logo/logo.png differ diff --git a/ressources/logo/logo.svg b/ressources/logo/logo.svg new file mode 100644 index 0000000..148e454 --- /dev/null +++ b/ressources/logo/logo.svg @@ -0,0 +1,120 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + +