Venus Chat Bot: Difference between revisions

From Futuragora Wiki
No edit summary
Line 3: Line 3:
Projecto (página): https://futuragora.pt/portfolio/inteligencia-artificial-aiml/
Projecto (página): https://futuragora.pt/portfolio/inteligencia-artificial-aiml/


Servidor: Program O
Servidor: Program-O  


VENUS AIML GITHUB: https://github.com/roltel/aiml-pt-pt-futuragora-venus/tree/master/branches/venus
Venus AIML at Github: https://github.com/roltel/aiml-pt-pt-futuragora-venus/tree/master/branches/venus


http://futuragora.pt/chatbots/venus.php
Chat with Venus: http://futuragora.pt/venus admin: http://futuragora.pt/Program-O/admin
 
admin: http://futuragora.pt/Program-O/admin
 
Projecto no Google Code: https://code.google.com/p/aiml-pt-pt-futuragora-venus/wiki/DevManual


===Venus Text===
===Venus Text===
Line 27: Line 23:


===Venus Falante TTS===
===Venus Falante TTS===
https://futuragora.pt/Program-O/gui/plain/venusaudio.php
https://futuragora.pt/Program-O/gui/plain/venusaudio.php


Line 39: Line 36:
</div>
</div>
</html>
</html>
A Futuragora desenvolveu dois “bots” de chat durante 2012. Neste momento a assistente pessoal Vénus contém a maior base de dados  de conversação em língua em Portuguesa em AIML, disponível gratuitamente Aqui.
O AIML foi desenvolvido por Richard S. Wallace no mundial de uma comunidade de software livre entre os anos de 1995 e 2002. Ela serviu de base para ” A.L.I.C.E. ” (“Artificial Linguistic Internet Computer Entity”) que antes era chamado de Eliza, que ganhou o concurso para o Prémio anual Loebner Prize Contest for Most Human Computer três vezes, e foi também o campeão Chatterbox em 2004.
Como o conjunto A.L.I.C.E. AIML foi liberado sob a licença GNU GPL, e porque a maioria dos intérpretes AIML são oferecidos sob uma licença livre ou de fonte aberta, muitos “clones Alicebot ” tem sido criados baseados na implementação do programa original e na sua base de conhecimento. Conjuntos AIML em várias línguas foram desenvolvidos e disponibilizados pela comunidade de utilizadores.
https://futuragora.pt/portfolio/inteligencia-artificial-aiml/


==Program-O==
==Program-O==
O Program-O é o motor que lê os ficheiros aiml e está escrito em php/mysql. https://github.com/Program-O/Program-O/wiki/Installation-Guide
O Program-O é o motor que lê os ficheiros aiml e está escrito em php/mysql. https://github.com/Program-O/Program-O/wiki/Installation-Guide


Line 64: Line 49:
</pre>
</pre>


Reconhecendo o ficheiro alterado a voz é processada num script que fica disponível para emissão.
Reconhecendo o ficheiro atraves de text to speach (TTS) a voz é processada num script que fica disponível para emissão.


====Comandos especiais====
====Comandos especiais====
Este comando vão beber dados que são actualizados a cada hora, como noticias, dados de sensores e outra informação dinamica.
Estes comandos especiais vão beber dados que são actualizados a cada hora, como noticias, dados de sensores e outra informação dinamica.


NOTICIAS -> Passa as 3 ultimas noticias.
NOTICIAS -> Passa as 3 ultimas noticias.
Line 83: Line 68:
RE1 ON -> Ligar relay1.
RE1 ON -> Ligar relay1.
RE1 OFF -> Desligar relay1.
RE1 OFF -> Desligar relay1.





Revision as of 01:01, 10 August 2018

codename: Venus Assistente Virtual

Projecto (página): https://futuragora.pt/portfolio/inteligencia-artificial-aiml/

Servidor: Program-O

Venus AIML at Github: https://github.com/roltel/aiml-pt-pt-futuragora-venus/tree/master/branches/venus

Chat with Venus: http://futuragora.pt/venus admin: http://futuragora.pt/Program-O/admin

Venus Text

https://futuragora.pt/Program-O/gui/plain/venus.php

===Venus Falante TTS=== https://futuragora.pt/Program-O/gui/plain/venusaudio.php

Program-O

O Program-O é o motor que lê os ficheiros aiml e está escrito em php/mysql. https://github.com/Program-O/Program-O/wiki/Installation-Guide

https://futuragora.pt/Program-O/chatbot/conversation_start.php

Google TTS on Program-O

Cada vez que alguem pede uma query ao servidor do program-o essa query é gravad num txt. De seguida o inotifywait reconhece que o ficheiro foi alterado:

while [[ 1 ]]; do inotifywait -e modify ./testve.txt; ./venusaudioupdate.sh; done

Reconhecendo o ficheiro atraves de text to speach (TTS) a voz é processada num script que fica disponível para emissão.

Comandos especiais

Estes comandos especiais vão beber dados que são actualizados a cada hora, como noticias, dados de sensores e outra informação dinamica.

NOTICIAS -> Passa as 3 ultimas noticias.

FAS1 -> Reporta os dados so Fasensor1.

METEO -> Dá a previsão do tempo para amanha.

UV -> Reporta os raios ultra violetas para hoje e para amanhã.

FADEV -> Links da FA para devs.

Relay controlo on Program-O

RE1 ON -> Ligar relay1. RE1 OFF -> Desligar relay1.


Wiki Search

https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm


Wiki Google search

Charliebot http://futuragora.pt:2001/?botid=Venus&template=fa&text=fasite


AIML

Alice Portuguese Translation

Tradução AIML da Futuragora. Baseado no alice 1.7. 60.000 Categorias. O perfil da Venus está principalmente no ficheiro venus.aiml. Aí tem VENUS VENUS2 (contactos), VENUS3 e VENUS4 (conversa).

https://github.com/roltel/aiml-pt-pt-futuragora-venus

AIML with intelligence at google

A.1 O que é, de que é feito, como é feito, onde é, quem é -> wikipedida - 1ª frase

A.2. Quem fez, quem escreveu -> wikipedia -> ver nome criador:

AIML substitutions

á à ã â é ê í ó õ ô ú ç

Para resolver o problema com alguns acentos nomeadamente se o utilizador não ter de escrever os acentos todos, fizemos as substituições acima.

"EU QUERIA" > "QUERIA"
"EU GOSTO" > GOSTO - Remover todos os "eu gosto", substituir por "gosto" e no final fazer um reencaminhamento para o "gosto".
"EU NAO GOSTO" > "NAO GOSTO"
"EU JA" > "JA"
"EU TOCO" > "TOCO"
"EU ODEIO" > "ODEIO"
"EU NAO SOU" > "NAO SOU"
"EU PENSEI" > "PENSEI"
"EU ESTOU" > "ESTOU"
"EU SOU" > "SOU"
"EU ESTOU" > "ESTOU"
"EU SINTO-ME" > "SINTO-ME"
"EU PENSEI" > "PENSEI"
"EU VOU" > "VOU"
"EU FUI" > "FUI"
"EU NAO GOSTO" > "NAO GOSTO"

AIML ON Bash

#!/bin/bash 
# assistant.sh
echo "Venus Virtual Assistant version 0.1.2"
echo "Choose your assistant:"
echo "1 - Venus (Portugues)"
echo "2 - Fresco:"
venus="1"
fresco="2"
echo -n "Select assistant: " 
read assistant
if [ $assistant  == $venus ]
then
bot="Venus"
elif
[ $assistant  == $fresco ]
then
bot="Fresco"
fi
./venusa.sh

Mais no Terminai