Venus Chat Bot: Difference between revisions

From Futuragora Wiki
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==


===Venus Text===
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===
==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====
===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.
 
==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


===Wiki Search===
==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 *


===Wiki Google search===
===Google search===
 


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


===SRAI TAG===
===SRAI TAG===
Esta tag é tipo o "goto" remetendo para uma categoria ja existente.
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 Fasensor1.
FAS1 -> Reporta os dados so Fasensor21.


METEO -> Dá a previsão do tempo para amanha.
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 Venus.
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