Venus Chat Bot: Difference between revisions
No edit summary |
|||
(68 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==codename: Venus Assistente Virtual== | ==codename: Venus Assistente Virtual== | ||
Venus | |||
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/venus | admin: https://futuragora.pt/programo/admin | |||
==A Vénus== | |||
A Vénus é uma assistente virtual desenvolvida para ter a capacidade de conversar em linguagem natural portuguesa e facilitar o acesso a informação assim como realizar automatismos. | |||
É um chatbot/ai criado pela Futuragora que contém uma compilação linguística em Português de 60 milhares de entradas. Foi desenvolvida para esclarecer e informar sobre conteúdos, ser uma companheira, realizar pesquisas, fazer telefonemas, agendar eventos, calcular, automatizar processos, comandar circuitos electrónicos ou robôs. | |||
É exactamente o vislumbre das funções esperadas pela larga imaginação da ficção científica agora tornadas realidade. | |||
A Vénus é a maior base de dados de conversação em linguagem natural de português de Portugal. O Português é a sexta língua mais falada no mundo e existe uma falta de projectos que sustentem o futuro da língua de Camões dentro dos avanços tecnológicos que se avizinham. | |||
Pretende-se mapear e preservar a conversação em linguagem natural portuguesa. Actualmente a maioria das aplicações, softwares e ferramentas são redigidos em inglês. Com o nosso projeto pretendemos garantir que a lingua portuguesa se manterá activa devido a sua integração em sistemas de inteligência artifical. | |||
===Especificação Técnica=== | |||
Conversação natural Portuguesa em AIML: | |||
Módulo de perfil português com 40 categorias; | |||
Módulo de compatibilidade de acentos e caracteres especiais; (em debug) | |||
Consciência Virtual de 60.000 Categorias; | |||
5000 categorias em linguagem natural portuguesa (de Portugal); | |||
Módulo de autoaprendizagem; (em testes) | |||
Servidor api para chat; | |||
====Avançadas==== | |||
Output audio em língua portuguesa; | |||
Input audio em linguagem natural portuguesa; | |||
Pesquisas na internet pelo google; | |||
Respostas com informação contida na Wikipedia; | |||
Dicionario em Português de Portugal; (em testes) | |||
Contactos e Gestão de Contactos; (em testes) | |||
Emails; (em testes) | |||
Notícias; | |||
Assistente a Cliente; | |||
==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/venus/programo/chatbot/conversation_start.php | |||
===Venus Text=== | |||
https://futuragora.pt/venus | |||
<html> | <html> | ||
Line 9: | Line 74: | ||
</style> | </style> | ||
<div id="wrap"> | <div id="wrap"> | ||
<iframe id="frame" src="https://futuragora.pt/ | <iframe id="frame" src="https://futuragora.pt/venus/"></iframe> | ||
</div> | </div> | ||
</html> | </html> | ||
===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/Programo/gui/plain | |||
<pre> | |||
while [[ 1 ]]; do inotifywait -e modify ./venusaudio.txt ; ./venusaudioupdate.sh; done | |||
</pre> | |||
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. | |||
===Venus Radio=== | |||
Inserido no projecto do boletim informativo e do [[opensenses]] é possível emitir para o canal 3 da banda do cidadão usando a Vénus. | |||
Quando é processado o texto o audio é enviado para o [[Piradio]] que liga o relé e emite o audio venusradio.mp3. | |||
==Wiki Search== | |||
<pre> | |||
https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm | |||
</pre> | |||
Usando o módulo do proprio program-O, a Venus passou a ter todo o conhecimento da wikipedia. A Tag é: | |||
<pre> | |||
<wiki><star/></wiki> | |||
</pre> | |||
Poderá perguntar "wiki palavra" ou usar os seguintes inicios de pergunta: | |||
1. ONDE FICA * | SABES ONDE FICA * | |||
2. ONDE É * | |||
3. QUANDO FOI _ | |||
4. QUEM É _ -> interfere | |||
5. QUEM FOI _ | |||
6. O QUE É * | O QUE É QUE É * | |||
7. CONHECES * | |||
O QUE SABES SOBRE | |||
== | ===VENUS Assistente== | ||
VENUSAI - Assistente | |||
== | ===Google search=== | ||
=== | ====SRAI TAG==== | ||
Esta tag é tipo o "go to" remetendo para uma categoria ja existente. | |||
<pre> | <pre> | ||
<srai>TEXTO</srai> | |||
</pre> | </pre> | ||
Usado apenas a </srai> repete um asterisko no user input. | |||
=====SRAI PROFILE===== | |||
VENUSCHAT | |||
* COMO TE CHAMAS | |||
VENUSAI | |||
Venusbot.aiml | |||
* GOSTAS DE * | |||
Estamos procurando proofreader para o nosso chatbot em Portugues, Trata-se de adapartar e melhorar uns bons milhares de perguntas e respotas. para já temos 4000 perguntas/respostas (cerca de 15k words). Estaria interessado em tal projecto? | |||
https://futuragora.pt/wiki/index.php?title=Venus_Chat_Bot | |||
Será dificil orçamentar sem saber o tempo que se leva, por isso se tiver interesse diga que passo-lhe os acessos para ver e fazer a edição em tempo real e ter uma ideia de quanto tempo levaria cada linha. | |||
Aguardo suas noticias, | |||
====STAR TAG==== | |||
* É _ Já ouvi falar de <star/> | |||
SOU DE _ Conheço. Já estive em <star/> | |||
===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=== | ===Relay controlo on Program-O=== | ||
RE1 ON -> Ligar relay1. RE1 OFF -> Desligar relay1. | |||
==Venus BOT Chat== | |||
O objectivo do bot chat é preservar a lingua portuguesa na inteligência artifical. Além de ela ser capaz de conversar também consegue aprender com as repostas que vai recebendo. Assim é capaz de se fazer passar por um humano. | |||
PERFIL: | |||
Nick: Venus | |||
Nome: Andreia | |||
Localidade: Lisboa | |||
==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 substitutions== | ===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. | |||
<pre> | |||
Venus: OI | |||
User: Como és? | |||
Venus: Não sei. | |||
User: APRENDER Sou muito linda. | |||
</pre> | |||
==Asteriscos== | |||
São palavras ou grupos de palavras que de um forma genérica seja por primeira ou última palavra da frase encaminham sempre para a mesma resposta (que podem ser varias alternadas - ver comando <li> ). Podem ser verbos ou adjectivos. | |||
<pre> | |||
ESTOU * | |||
VAMOS * | |||
</pre> | |||
===AIML substitutions=== | |||
(EM DESENVOLVIMENTO) | |||
Letras que são encaminhadas para sem acentos: ã á à â é ê í ó õ ô ú | |||
Usar sempre o cedilha "ç" | |||
Para resolver o problema com alguns acentos nomeadamente se o utilizador não ter de escrever os acentos todos, fizemos as substituições acima. Se escrever sem acento ele assume igual a com acento. | |||
<pre> | <pre> | ||
Line 89: | Line 279: | ||
</pre> | </pre> | ||
===AIML ON Bash=== | |||
Versão da vénus via terminal (consola linux) | |||
#!/bin/bash | <pre> | ||
#!/bin/bash | |||
# assistant.sh | |||
echo "Venus Virtual Assistant version 0.1.2" | echo "Venus Virtual Assistant version 0.1.2" | ||
echo "Choose your assistant:" | echo "Choose your assistant:" | ||
Line 126: | Line 303: | ||
fi | fi | ||
./venusa.sh | ./venusa.sh | ||
</pre> | |||
==IRC BOT== | |||
Pode falar com a Vénus através do IRC. Está em testes um bot que corre na rede portugesa mais famosa e onde a a nossa Vénus tem feito furor. | |||
Eggdrop install error tcl: | |||
./configure --with-tclinc=/usr/include/tcl8.6/tcl.h --with-tcllib=/usr/lib/x86_64-linux-gnu/libtcl8.6.so | |||
==SQL== | |||
SELECT * FROM `aiml` where `pattern` LIKE '%filme%' | |||
==Desenvolvimento== | |||
Os desenvolvimento do projecto são mantidos no servidor da Associação Futuragora: http://futuragora.pt/projetos/venus-a-assistente-pessoal-da-futuragora/ | |||
Resumo de Actividades: | |||
2019 Setembro | |||
2019 Junho - Venus Radio | |||
2018 Dezembro - Venus Falante | |||
2018 Março - Módulo wiki, testes | |||
2015 Março - Importação total para o novo motor do program-o. | |||
2014 Setembro - Revisão e merge com elementos da cybora | |||
2014 Fevereiro - Migração para Program-O | |||
2014 Janeiro - Correção de bugs | |||
Abril 2013 - Desactivação de serviços por bugs | |||
Janeiro 2012 - Nova imagem da Futuragora, nova cara; | |||
Dezembro 2012 - 50 novas categorias para o fresco bot; | |||
Setembro 2012 - Tradução automatizada usando o google translator de todos os ficheiros da alicebot versão 01/12; | |||
Julho 2012 - Lançamento da Venus, Assistente Pessoal; | |||
Junho 2012 - Testes aiml em Português; | |||
Abril 2012 - Lançamento Jacque Fresco Bot lançado (FAQ sobre rbe - #50); | |||
Fevereiro 2012 - Levantamento de AIML em Português; | |||
Dezembro 2011 - Servidor Charlibot running; | |||
Setembro 2011 - Java tests; | |||
2011 Junho - Testes em php/mysql | |||
2010 Julho - Lançamento do projecto Venus assistente virtual. | |||
Mais no [[Terminai]] | |||
[[Category:Projectos_Futuragora]] | [[Category:Projectos_Futuragora]] |
Latest revision as of 12:56, 29 September 2020
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/venus | admin: https://futuragora.pt/programo/admin
A Vénus
A Vénus é uma assistente virtual desenvolvida para ter a capacidade de conversar em linguagem natural portuguesa e facilitar o acesso a informação assim como realizar automatismos.
É um chatbot/ai criado pela Futuragora que contém uma compilação linguística em Português de 60 milhares de entradas. Foi desenvolvida para esclarecer e informar sobre conteúdos, ser uma companheira, realizar pesquisas, fazer telefonemas, agendar eventos, calcular, automatizar processos, comandar circuitos electrónicos ou robôs.
É exactamente o vislumbre das funções esperadas pela larga imaginação da ficção científica agora tornadas realidade.
A Vénus é a maior base de dados de conversação em linguagem natural de português de Portugal. O Português é a sexta língua mais falada no mundo e existe uma falta de projectos que sustentem o futuro da língua de Camões dentro dos avanços tecnológicos que se avizinham.
Pretende-se mapear e preservar a conversação em linguagem natural portuguesa. Actualmente a maioria das aplicações, softwares e ferramentas são redigidos em inglês. Com o nosso projeto pretendemos garantir que a lingua portuguesa se manterá activa devido a sua integração em sistemas de inteligência artifical.
Especificação Técnica
Conversação natural Portuguesa em AIML:
Módulo de perfil português com 40 categorias;
Módulo de compatibilidade de acentos e caracteres especiais; (em debug)
Consciência Virtual de 60.000 Categorias;
5000 categorias em linguagem natural portuguesa (de Portugal);
Módulo de autoaprendizagem; (em testes)
Servidor api para chat;
Avançadas
Output audio em língua portuguesa;
Input audio em linguagem natural portuguesa;
Pesquisas na internet pelo google;
Respostas com informação contida na Wikipedia;
Dicionario em Português de Portugal; (em testes)
Contactos e Gestão de Contactos; (em testes)
Emails; (em testes)
Notícias;
Assistente a Cliente;
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/venus/programo/chatbot/conversation_start.php
Venus Text
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/Programo/gui/plain
while [[ 1 ]]; do inotifywait -e modify ./venusaudio.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.
Venus Radio
Inserido no projecto do boletim informativo e do opensenses é possível emitir para o canal 3 da banda do cidadão usando a Vénus. Quando é processado o texto o audio é enviado para o Piradio que liga o relé e emite o audio venusradio.mp3.
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 * | SABES ONDE FICA *
2. ONDE É *
3. QUANDO FOI _
4. QUEM É _ -> interfere
5. QUEM FOI _
6. O QUE É * | O QUE É QUE É *
7. CONHECES *
O QUE SABES SOBRE
=VENUS Assistente
VENUSAI - Assistente
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.
SRAI PROFILE
VENUSCHAT
* COMO TE CHAMAS
VENUSAI
Venusbot.aiml
* GOSTAS DE *
Estamos procurando proofreader para o nosso chatbot em Portugues, Trata-se de adapartar e melhorar uns bons milhares de perguntas e respotas. para já temos 4000 perguntas/respostas (cerca de 15k words). Estaria interessado em tal projecto?
https://futuragora.pt/wiki/index.php?title=Venus_Chat_Bot
Será dificil orçamentar sem saber o tempo que se leva, por isso se tiver interesse diga que passo-lhe os acessos para ver e fazer a edição em tempo real e ter uma ideia de quanto tempo levaria cada linha. Aguardo suas noticias,
STAR TAG
- É _ Já ouvi falar de <star/>
SOU DE _ Conheço. Já estive em <star/>
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.
Venus BOT Chat
O objectivo do bot chat é preservar a lingua portuguesa na inteligência artifical. Além de ela ser capaz de conversar também consegue aprender com as repostas que vai recebendo. Assim é capaz de se fazer passar por um humano.
PERFIL:
Nick: Venus
Nome: Andreia
Localidade: Lisboa
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.
Asteriscos
São palavras ou grupos de palavras que de um forma genérica seja por primeira ou última palavra da frase encaminham sempre para a mesma resposta (que podem ser varias alternadas - ver comando
ESTOU * VAMOS *
AIML substitutions
(EM DESENVOLVIMENTO)
Letras que são encaminhadas para sem acentos: ã á à â é ê í ó õ ô ú
Usar sempre o cedilha "ç"
Para resolver o problema com alguns acentos nomeadamente se o utilizador não ter de escrever os acentos todos, fizemos as substituições acima. Se escrever sem acento ele assume igual a com acento.
"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
IRC BOT
Pode falar com a Vénus através do IRC. Está em testes um bot que corre na rede portugesa mais famosa e onde a a nossa Vénus tem feito furor.
Eggdrop install error tcl:
./configure --with-tclinc=/usr/include/tcl8.6/tcl.h --with-tcllib=/usr/lib/x86_64-linux-gnu/libtcl8.6.so
SQL
SELECT * FROM `aiml` where `pattern` LIKE '%filme%'
Desenvolvimento
Os desenvolvimento do projecto são mantidos no servidor da Associação Futuragora: http://futuragora.pt/projetos/venus-a-assistente-pessoal-da-futuragora/
Resumo de Actividades:
2019 Setembro
2019 Junho - Venus Radio
2018 Dezembro - Venus Falante
2018 Março - Módulo wiki, testes
2015 Março - Importação total para o novo motor do program-o.
2014 Setembro - Revisão e merge com elementos da cybora
2014 Fevereiro - Migração para Program-O
2014 Janeiro - Correção de bugs
Abril 2013 - Desactivação de serviços por bugs
Janeiro 2012 - Nova imagem da Futuragora, nova cara;
Dezembro 2012 - 50 novas categorias para o fresco bot;
Setembro 2012 - Tradução automatizada usando o google translator de todos os ficheiros da alicebot versão 01/12;
Julho 2012 - Lançamento da Venus, Assistente Pessoal;
Junho 2012 - Testes aiml em Português;
Abril 2012 - Lançamento Jacque Fresco Bot lançado (FAQ sobre rbe - #50);
Fevereiro 2012 - Levantamento de AIML em Português;
Dezembro 2011 - Servidor Charlibot running;
Setembro 2011 - Java tests;
2011 Junho - Testes em php/mysql
2010 Julho - Lançamento do projecto Venus assistente virtual.
Mais no Terminai