Venus Chat Bot

From Futuragora Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

https://futuragora.pt/venus


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

  • ). Podem ser verbos ou adjectivos.
    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