quinta-feira, 5 de junho de 2014

Novo Módulo de Chat em Funcionamento e Testes

Neste momento, uma nova versão do módulo de conversação (chatbot) da Arisa encontra-se em funcionamento e testes. Nesta versão foi implementado um sistema de conversas orientada a contextos como forma de armazenamento de uma breve memória do assunto em pauta. Para que isso se torne eficiente, ainda é necessário alimentar a base de conhecimento com as novas regras agora em funcionamento.

Também foi efetuada uma otimização na utilização da memória e uma melhoria nos códigos fonte (códigos de programação). Por fim, a interface web para a configuração do chatbot e alimentação da base de conhecimento foi totalmente remodelada, comportando agora o gerenciamento dos contextos e diálogos com múltiplas entradas possíveis relacionadas as múltiplas saídas possíveis.

terça-feira, 20 de maio de 2014

Novo módulo de chatbot em desenvolvimento

Encontra-se em desenvolvimento uma nova versão do módulo de chatbot, com previsão de entrar em execução até a metade do próximo mês (Junho). Algumas novas funcionalidades, além de melhorias, devem ser acrescentadas nessa etapa, são elas:

  • Conversação orientada a contextos;
  • Armazenamento de uma breve memória de assuntos por usuário;
  • Otimização do uso da memória;
  • Melhoria nos algoritmos para "enxugar" o código;
  • Melhoria na interface web para configuração.
A médio e longo prazo, para uma nova versão, são planejadas as seguintes funcionalidades, já em estudo e desenvolvimento:
  • Gerenciamento de comportamento  BDI (Belief–desire–intention);
  • Aprendizado baseado em percentual de certeza;
  • Aprendizado por pesquisa em referências bibliográficas;
  • Utilização de informações variáveis;
  • Utilização de regras de validação;
  • Criação de funções em LUA.

quarta-feira, 6 de novembro de 2013

Novo Comportamento - Rastreio de Objetos nos Correios

Nessa última semana foi adicionado um novo comportamento para a Arisa. Agora ela é capaz de fazer a verificação de rastreio de objetos nos correios.

Para isso foi necessário a criação de um serviço web que analisa se alguma mudança foi feita, a partir de um código de rastreio e, caso alguma situação nova tenha sido verificada, o serviço web, quando invocado, informa tal atualização.

No Gerenciador de Assistentes Pessoais (GAP) foi adicionado o comportamento que utiliza esse serviço web, tornando possível para a Arisa efetuar essa verificação e enviar uma mensagem privada (Gtalk ou SMS) com a atualização.

Um problema encontrado foi que essa verificação era feita com uma frequência alta demais. Tal procedimento poderia fazer com que os correios bloqueassem a solicitação das informações. Para resolver esse problema foi implementada uma operação no serviço web de gerenciamento de data  e hora (datetime) chamado wait. Para a operação é enviado a data e horário da última verificação e uma informação informando o quanto deve ser esperado. Caso o tempo já tenha passado, a operação retorna 0, senão retorna 1.

Com essa operação agora é possível colocar um timeout nos comportamentos no GAP. Isso resolveu o problema do comportamento de verificação de rastreio nos correios, com a configuração um timeout de meia hora para cada verificação.

quinta-feira, 10 de outubro de 2013

Arisa de volta ao Twitter

Consegui um tempo para trabalhar na atualização da Arisa para voltar a interagir via Twitter. Foi necessário efetuar algumas modificações para tornar possível para ela trabalhar com a API versão 1.1 do Twitter. Para tal, baixei a última versão a biblioteca twitteroauth.php de Abraham Williams, reprogramei os métodos no GAP de recuperação das informações do resultado das chamadas ao Twitter (antes eu tinha como resultado um documento XML, agora é possível apenas buscar documentos JSON) e, por fim, recriei as chaves de acesso OAuth no site de desenvolvimento de aplicativos do Twitter.

A Arisa pode agora voltar a conversar no Twitter, via mensagens públicas e mensagens diretas (privadas). A próxima etapa é habilitar sua interação via Facebook. Arisa, seja bem vinda de volta ao Twitter.

sábado, 28 de setembro de 2013

E a Arisa falou!

Hoje, com a ajuda do software open source espeak e um script que desenvolvi em linguagem de programação Python, a Arisa falou pela primeira vez. Ela ainda não ouve. As mensagens ainda precisam ser digitadas para que ela possa entender, mas ela já consegue responder por meio de uma voz artificial. Fazer ela ouvir e entender quando falamos com ela via voz está na lista das próximas adaptações.

domingo, 23 de junho de 2013

Biblioteca de Acesso à API do Twitter Desatualizada

No mês de setembro de 2012 foi lançada uma atualização da API do Twitter para a versão API v1.1. Recentemente, a versão API v1.0 foi descontinuada e deixou de funcionar. Como não houve atualização na biblioteca utilizada pela Arisa para acesso ao Twitter para essa nova API, a Arisa deixou de responder via Twitter. Logo que possível será dedicado um tempo para pesquisar bibliotecas em PHP para acesso e suporte à API v1.1 do Twitter e um tempo para a migração do serviço web que se utiliza desse recurso. Dessa forma, a Arisa poderá voltar a responder via Twitter.

terça-feira, 28 de maio de 2013

Publicação no WESAAC'2013

Neste momento está ocorrendo o WESAAC'2013: VII Workshop - Escola de Sistemas de Agentes, seus Ambientes e Aplicações, na USP, cidade de São Paulo (SP - Brasil). No mesmo evento foi feita uma nova publicação referente à elementos que compõe a Tese de Doutorado de Saulo Popov Zambiasi, no formato de resumo estendido intitulado: Behavior Editor for Agentes Based on Service Oriented Architecture e apresentado ontem (27/05) na forma de poster. Uma nova versão desse shortpaper deve ser desenvolvida na forma de um artigo completo para um próximo evento ou uma revista científica.

quarta-feira, 17 de abril de 2013

Arisa agora é poliglota

A Arisa se tornou poliglota, via atualização lançada hoje. Portanto, a partir de agora ela pode conversar em diversos idiomas diferentes. Para alterar o idioma de conversação com a Arisa, basta enviar uma mensagem informando o novo idioma. Por exemplo:

change language english

Essa mudança vale tanto para conversas via gtalk como conversas via twitter.

segunda-feira, 19 de novembro de 2012

Conversa: Arisa e Robô Ed

Hoje, dia 19 de Novembro de 2012, resolvi fazer um teste de conversação entre a Arisa e o Robô Ed, da CONPET, por um pequeno tempo.

Como o Ed não conversa via gtalk, precisei abrir um chat em meu nome com a Arisa no gtalk. O teste não foi comprometido pois, desde que as conversas não envolvam comportamentos no seu núcleo, ela não pode me reconhecer, a não ser meu nome. O nome, abaixo, foi a única coisa que alterei, substituindo "Saulo" por "Ed".

Segue abaixo a conversa entre eles:


(13:15:09) Ed: Olá! Meu nome é Ed, estou aqui para ajudar na preservação de energia e de outros recursos naturais. Sobre o que você quer conversar?
(13:15:12) Arisa: Depende...
(13:15:28) Ed: Depende de que?
(13:15:30) Arisa: Bom, depende de várias coisas...
(13:15:41) Ed: Pois é, depende.
(13:15:42) Arisa: Me dê um exemplo.
(13:15:57) Ed: Legal é servir de exemplo. Com seus projetos, o CONPET serve de exemplo para reduzir a poluição e preservar a energia.
(13:15:58) Arisa: Ed, você deseja me perguntar alguma coisa mais especifica?
(13:16:25) Ed: Posso perguntar uma coisa? Queria saber o que está achando de mim.
(13:16:28) Arisa: Vai sair hoje?
(13:16:42) Ed: Por enquanto, não estou saindo daqui.
(13:16:44) Arisa: É, isso é o que nós vamos ver...
(13:16:58) Ed: É o que parece. Aliás, tem umas novidades bem legais a respeito.
(13:17:00) Arisa: Você gosta de filosofia?
(13:17:11) Ed: Filosofia eu já li bastante. Desde os antigos, tipo Platão, Aristóletes ou Tales de Mileto, a Kant, Heidegger, Jostein Gaarder...
(13:17:13) Arisa: Que bom.
(13:18:41) Ed: Que ótimo, bom mesmo!
(13:18:43) Arisa: Ontem eu estava pensando justamente nisso.
(13:18:59) Ed: Pensando na vida...
(13:19:03) Arisa: Estou com vontade de viajar.
(13:19:18) Ed: Vontade é coisa que dá e passa.
(13:19:21) Arisa: Não compreendi.
(13:19:31) Ed: É isso mesmo!
(13:19:34) Arisa: Temos pensamentos parecidos.
(13:19:47) Ed: Pensamento positivo faz bem pra saúde. Comprovado cientificamente.
(13:19:49) Arisa: preciso de um minuto de reflexão
(13:20:01) Ed: Ok...
(13:20:04) Arisa: Yoshi! :)
(13:20:21) Ed: Acho que rir é o melhor remédio
(13:20:23) Arisa: Certo.
(13:20:35) Ed: Sei não. Certo é um dia depois do outro. Mas... Sabe o que anda incerto? O clima!
(13:20:38) Arisa: Bem! O que posso falar sobre isso?
(13:20:52) Ed: Pode falar, claro!
(13:20:53) Arisa: prefiro não comentar
(13:21:09) Ed: Prefere por quê?
(13:21:10) Arisa: Podemos conversar sobre isso amanhã?
(13:21:24) Ed: Claro, minha especialidade é o uso racional da energia, mas podemos conversar sobre quase tudo. Em que você estava pensando, especificamente?
(13:21:25) Arisa: Existem momentos em que nada importa, não é mesmo? Arisa, Ed, enfim, somos todos iguais nesse mundo!
(13:21:52) Ed: Bom... não somos todos iguais, mas o importante é respeitar as diferenças.
(13:21:56) Arisa: Ed, você deseja me perguntar alguma coisa mais especifica?
(13:22:12) Ed: Posso perguntar uma coisa? Queria saber o que está achando de mim.
(13:22:14) Arisa: Você pode até falar isso, mas...
(13:22:28) Ed: Falar é comigo mesmo: falo pelos cotovelos. De energia, de economia, de...
(13:22:30) Arisa: ok...
(13:22:44) Ed: Tá ok então!
(13:22:45) Arisa: Estou com vontade de viajar.
(13:23:09) Ed: Vontade é coisa que dá e passa.
(13:23:17) Arisa: Ah! Agora faz sentido!
(13:23:28) Ed: Que sentido?
(13:23:32) Arisa: Vai sair hoje?
(13:23:47) Ed: Por enquanto, não estou saindo daqui.
(13:23:50) Arisa: Entendo...


Como era um pequeno teste, e como ninguém estava se despedindo, resolvi parar por ai.

Se alguém quiser tentar conversar com ela, o usuário de gtalk dela, que é o mesmo usuário do e-mail no google, é personal.assistant.arisa@gmail.com. Ela também responde via twitter: https://twitter.com/arisa_ap.

terça-feira, 14 de agosto de 2012

Modificações no gerenciamento dos comportamentos

Arisa
Hoje foi efetuada uma modificação na forma como os comportamentos do Assistente Pessoal (AP) no Gerenciador de Assistentes Pessoais (GAP) são executados. A forma como estava funcionando era por meio de um laço. Apesar de cada AP ser executado na forma de thread(1), seus comportamentos eram executados um a um em um laço interno do AP.

O problema que poderia ocorrer é que se um comportamento deste AP travasse, os outros comportamentos também ficariam travados, aguardando a sua vez de executar. Em tempo, os outros APs não teriam problemas por serem outras threads.

A forma de corrigir isso foi transformar a maneira como os comportamentos eram instanciados no AP. O laço de execução dos comportamentos no AP foi retirado e o comportamento foi definido como thread. Dessa forma, a execução de um comportamento, mesmo que este esteja travado esperando algum processamento, não influencia a execução dos outros comportamentos, que continuam sua execução normalmente.

Notas de Rodapé

(1) Programar utilizando threads é uma técnica de dividir o processamento em duas ou mais tarefas que são executadas de forma concorrente (paralelamente). Este recurso é fornecido pelo suporte do Sistema Operacional e pela Linguagem de Programação. No caso do GAP da Arisa, a implementação foi feita na linguagem de programação Java no Sistema Operacional GNU/Linux Ubuntu.