Venus Chat Bot: Difference between revisions
No edit summary |
|||
Line 7: | Line 7: | ||
Venus AIML at 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 | ||
Chat with Venus: https://futuragora.pt/Program-O/gui/plain/venus.php | admin: https://futuragora.pt/Program-O/admin | Chat with Venus: https://futuragora.pt/Program-O/gui/plain/venus.php | admin: https://futuragora.pt/Program-O/admin==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 | |||
Instalação FA: https://futuragora.pt/Program-O/chatbot/conversation_start.php | |||
==Venus Text== | |||
https://futuragora.pt/venus/venus.php | |||
https://futuragora.pt/Program-O/gui/plain/venus.php | https://futuragora.pt/Program-O/gui/plain/venus.php | ||
Line 23: | Line 28: | ||
</html> | </html> | ||
==Venus Falante TTS== | |||
https://futuragora.pt/Program-O/gui/plain/venusaudio.php | https://futuragora.pt/Program-O/gui/plain/venusaudio.php | ||
Line 29: | Line 34: | ||
Foi desenvolvida uma versão da Venus AIML usando o TTS (text-to-speech) do google. Com ela poderá obter as respostas em linguagem natural audio, mas com a condicionante de ser em "brasileiro" uma vez que o google tts ainda não tem em Português de Portugal. | Foi desenvolvida uma versão da Venus AIML usando o TTS (text-to-speech) do google. Com ela poderá obter as respostas em linguagem natural audio, mas com a condicionante de ser em "brasileiro" uma vez que o google tts ainda não tem em Português de Portugal. | ||
===Google TTS on Program-O=== | |||
Cada vez que é realizada uma query ao servidor do Program-o essa query é gravada num txt. De seguida o "inotifywait" reconhece que o ficheiro foi alterado: | Cada vez que é realizada uma query ao servidor do Program-o essa query é gravada num txt. De seguida o "inotifywait" reconhece que o ficheiro foi alterado: | ||
Line 41: | Line 46: | ||
====Script ssml==== | ====Script ssml==== | ||
O script ssml tem um formato especial para ser reconhecido pelo TTS do google. Para automatizar esse processo um script de bash agarra no ficheiro de texto gerado acima e e inseres no ficheiro ssml que é envido para o google TTS. | O script ssml tem um formato especial para ser reconhecido pelo TTS do google. Para automatizar esse processo um outro script de bash agarra no ficheiro de texto gerado acima e e inseres no ficheiro ssml que é envido para o google TTS. | ||
==Wiki Search== | |||
<pre> | <pre> | ||
https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm | https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm | ||
Line 75: | Line 76: | ||
8. SABES ONDE FICA * | 8. SABES ONDE FICA * | ||
=== | ===Google search=== | ||
===SRAI TAG=== | ===SRAI TAG=== | ||
Esta tag é tipo o " | Esta tag é tipo o "go to" remetendo para uma categoria ja existente. | ||
<pre> | <pre> | ||
<srai>TEXTO</srai> | <srai>TEXTO</srai> | ||
</pre> | </pre> | ||
Usado apenas a </srai> repete um asterisko no user input. | |||
===Comandos especiais=== | ===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. | Estes comandos especiais vão beber dados que são actualizados a cada hora, como noticias, dados de sensores e outra informação dinamica. | ||
Line 94: | Line 97: | ||
NOTICIAS -> Passa as 3 ultimas noticias. | NOTICIAS -> Passa as 3 ultimas noticias. | ||
FAS1 -> Reporta os dados so | FAS1 -> Reporta os dados so Fasensor21. | ||
METEO -> Dá a previsão do tempo para | METEO -> Dá a previsão do tempo para amanhã. | ||
UV -> Reporta os raios ultra violetas para hoje e para amanhã. | UV -> Reporta os raios ultra violetas para hoje e para amanhã. | ||
Line 136: | Line 139: | ||
===Ensinar a Venus com novo AIML=== | ===Ensinar a Venus com novo AIML=== | ||
Quando estiver a conversar e o bot não tiver resposta, ou a resposta for demasiado disparatada deverá escrever: APRENDER frase de resposta. Semanalmente as categorias são confirmadas e as novas respostas estarão disponíveis na | Quando estiver a conversar e o bot não tiver resposta, ou a resposta for demasiado disparatada deverá escrever: APRENDER frase de resposta. Semanalmente as categorias são confirmadas e as novas respostas estarão disponíveis na Vénus. | ||
<pre> | <pre> | ||
Venus: OI | Venus: OI | ||
User: Como és? | User: Como és? | ||
APRENDER Sou muito linda. | Venus: Não sei. | ||
User: APRENDER Sou muito linda. | |||
</pre> | </pre> | ||
Line 175: | Line 179: | ||
===AIML ON Bash=== | ===AIML ON Bash=== | ||
Versão da vénus via terminal (consola linux) | |||
<pre> | <pre> |
Revision as of 18:16, 25 August 2019
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: https://futuragora.pt/Program-O/gui/plain/venus.php | admin: https://futuragora.pt/Program-O/admin==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
Instalação FA: https://futuragora.pt/Program-O/chatbot/conversation_start.php
Venus Text
https://futuragora.pt/venus/venus.php https://futuragora.pt/Program-O/gui/plain/venus.php
Venus Falante TTS
https://futuragora.pt/Program-O/gui/plain/venusaudio.php
Foi desenvolvida uma versão da Venus AIML usando o TTS (text-to-speech) do google. Com ela poderá obter as respostas em linguagem natural audio, mas com a condicionante de ser em "brasileiro" uma vez que o google tts ainda não tem em Português de Portugal.
Google TTS on Program-O
Cada vez que é realizada uma query ao servidor do Program-o essa query é gravada num txt. De seguida o "inotifywait" reconhece que o ficheiro foi alterado:
cd /home/futuragora/public_html/Program-O/gui/plain
while [[ 1 ]]; do inotifywait -e modify ./testve.txt; ./venusaudioupdate.sh; done
O ficheiro é enviado para o Google TTS atráves da API onde a voz é processada num script que fica disponível para emissão.
Script ssml
O script ssml tem um formato especial para ser reconhecido pelo TTS do google. Para automatizar esse processo um outro script de bash agarra no ficheiro de texto gerado acima e e inseres no ficheiro ssml que é envido para o google TTS.
Wiki Search
https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm
Usando o módulo do proprio program-O, a Venus passou a ter todo o conhecimento da wikipedia. A Tag é:
<wiki><star/></wiki>
Poderá perguntar "wiki palavra" ou usar os seguintes inicios de pergunta:
1. ONDE FICA *
2. ONDE É *
3. QUANDO FOI _
4. QUEM É _ -> interfere
5. QUEM FOI _
6. O QUE É * -> interfere
7. CONHECES *
8. SABES ONDE FICA *
Google search
SRAI TAG
Esta tag é tipo o "go to" remetendo para uma categoria ja existente.
<srai>TEXTO</srai>
Usado apenas a </srai> repete um asterisko no user input.
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.
CITA -> dá uma citação (40 citações famosas)
NOTICIAS -> Passa as 3 ultimas noticias.
FAS1 -> Reporta os dados so Fasensor21.
METEO -> Dá a previsão do tempo para amanhã.
UV -> Reporta os raios ultra violetas para hoje e para amanhã.
FADEV -> Links da FA para devs.
FUTURAI ->
FALERT -> Emissão em audio da FA com dados actualizados.
BEACON -> Emissão em audio do beacon 333 da Futuragora.
Colecta de dados externos
DIZ-ME AS NOTICIAS -> 5 ultima noticias do observador
DIZ-ME O TEMPO -> Em Lisboa
DIZ-ME CRIPTOMEDA ->
DEIXAR MENSAGEM PARA -> VOICEMAIL MIKE05
EUROMILHOES ->
NOTICIAS -> Formulario para carregar as noticias e novidades sobre os radios. data.
Relay controlo on Program-O
RE1 ON -> Ligar relay1. RE1 OFF -> Desligar relay1.
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
Ensinar a Venus com novo AIML
Quando estiver a conversar e o bot não tiver resposta, ou a resposta for demasiado disparatada deverá escrever: APRENDER frase de resposta. Semanalmente as categorias são confirmadas e as novas respostas estarão disponíveis na Vénus.
Venus: OI User: Como és? Venus: Não sei. User: APRENDER Sou muito linda.
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
Versão da vénus via terminal (consola linux)
#!/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