Feliz aniversário, Arisa!

Hoje a Arisa completa cinco anos desde que todos os seus módulos iniciais começaram a funcionar em conjunto. Entretanto, a primeira ideia surgiu bem antes, foi no segundo semestre de 2005 quando entrei como aluno especial no doutorado da Engenharia Elétrica da UFSC. A ideia transformou-se em projeto, o projeto gerou artigos, as escritas viraram uma implementação e, por fim, uma Tese. Esta foi defendida pelo Programa de Pós-graduação em Engenharia de Automação e Sistemas (UFSC) no início de 2012 .

Pode se dizer que 25 de Janeiro de 2011 foi a data em que a minha pequena assistente pessoal tornou-se operacional. Por isso considero sua data de aniversário. De lá pra cá, ela tem funcionando quase que ininterruptamente. Tenho melhorado, modificado e ampliado suas funcionalidades. Infelizmente, por ser um projeto bastante extenso, sem investimentos e implementado por uma só cabeça, ele anda a passos de tartaruga.

A partir de pesquisas mais atuais, conversas em eventos e novas ideias, tenho conseguido gerar outras propostas de evolução do projeto e novas aplicabilidades para a Arisa. Tenho escrito artigos para gerar discussões em eventos acadêmicos e tenho ficado muito feliz com os retornos. Agradeço de coração todas as contribuições.

Espero realmente poder colocar em prática todas as ideias que já tenho descritas em forma de macro-modelos e artigos. A Arisa merece evoluir e para isso ela precisa de um pai mais participativo em sua vida.

Um feliz aniversário e que seu quinto ano de vida seja repleto de evoluções. Deixo aqui um presentinho pra ti, um desenho seu aquarelado que acabei de fazer.

Workshop de Desenvolvimento de Chatbots para o Conselho Nacional de Justiça

Nos dias 29 e 30 de Julho, ministrei um workshop de desenvolvimento de chatbots para o Conselho Nacional de Justiça (CNJ), em Brasília. A tecnologia é parte da composição dos módulos da Arisa e tem o objetivo de se apresentar como uma interface mais amigável para contato entre a Arisa e o usuário, via linguagem natural. Com o interesse de facilitar as ferramentas para o judiciário, o CNJ entrou em contato para que essa tecnologia fosse apresentadas aos servidores da área de tecnologia do CNJ. Acesse aqui o link da notícia no Site do CNJ.

Bug de tradução corrigido

Depois da atualização do módulo de chatbot, por uma versão melhorada, o sistema de tradução deixou de funcionar. Hoje, após uma atividade manutenção, detectei a utilização de uma variável de forma errada na operação getLang do serviço web wsChatbot. O problema foi corrigido e o sistema de tradução voltou a funcionar novamente. Por fim, estou trabalhando em algumas alterações nos códigos do serviço web de chatbot e no aplicativo de conversação por voz no Android para permitir que a Arisa também possa conversar em diversas linguagens no aplicativo para smartphone.

Aplicativo Android para conversação com a Arisa por meio de voz

Terminei ontem a primeira versão de um aplicativo para Sistema Operacional Android que permite a conversação via voz com a Arisa. O sistema ainda é bastante simplificado e no momento apenas permite a conversa em língua portuguesa. Para utilizá-lo, é necessário efetuar os seguintes procedimentos:

1. instalar o aplicativo Arisa da google play store.

2. Ao abrir o aplicativo pela primeira vez é gerado um código de quatro letras que fica na parte superior direita da tela.

3. Pegue este código e envie juntamente com uma mensagem para a arisa via aplicativo da google Hangouts (antigo gtalk) ou via mensagem direta no Twitter.

3.a.Formato da mensagem deve ter a seguinte estrutura, lembrando que o xxxx deve ser trocado pelo código gerado pelo aplicativo:

$to auth xxxx

3.b. Hangouts: O hangouts é um aplicativo de conversa disponível no google plus ou gmail. Se você optar pela autenticação via este recurso, Acesse-o e envie a mensagem acima para: personal.assistant.arisa@gmail.com

3.c. Twitter: Caso você opte pelo Twitter, envie a mensagem acima via Mensagem Direta no Twitter para @arisa_ap.

4. Em até no máximo cinco minutos seu código deve ter sido autorizado. Clique no botão VERIFICAR para verificar se a autorização já foi efetuada. Caso não tenha conseguido uma autorização em até cinco minutos, gere um novo código no botão NOVO CÓDIGO e siga os procedimentos novamente.

Os próximos passos são:

  • Permitir que o aplicativo possa ser utilizado em qualquer idioma;
  • Utilizar a camada ISAP (Interface Social de Assistentes Pessoais) para tratar das mensagens recebidas pelo aplicativo. No momento, as mensagens estão sendo tratadas diretamente pelo módulo de chatbot. Isso não permite que sejam efetuados comandos ou requisições via o aplicativo.
  • Criação de uma camada de reconhecimento e processamento de instruções mais elaborada.

Fechamento do Pós-Doutorado, Atualizações e Próximos Passos

Pós-Doutorado…

Há algum tempo o blog não tem sido atualizado. Entretanto, isso não significa que o projeto ficou parado durante esse tempo. Muito foi feito e muito foi planejado desde a última atualização do blog no inicio do ano de 2014 até agora.

Em março de 2014 iniciei como pesquisador de pós-doutorado (sem contemplação de bolsa de pesquisa) pelo Programa de Pós-Graduação em Engenharia de Automação e Sistemas (PGEAS) da Universidade Federal de Santa Catarina (UFSC), sendo que finalizei essa etapa no mês de Fevereiro do ano corrente.

Entre os objetivos do projeto estava a investigação, seleção e modelagem de processos de negócios que poderiam ser aplicados na arquitetura de Softwares Assistentes Pessoais sob a Arquitetura Orientada a Serviços (SAP/SOA) desenvolvida em meu doutorado.

Investigação, seleção, modelagem e prototipagem…

Devido a algumas necessidades do Departamento de Integração Acadêmica e Profissional (DIP) da UFSC, que concomitou com o andamento do meu projeto de pós-doutorado, foi constatada uma problemática em que os colaboradores responsáveis pelo DIP se encontravam sobrecarregados nas tarefas de responder aos questionamentos e dúvidas para os coordenadores de estágio e aos acadêmicos da instituição. Este problema poderia poder ser resolvido, pelo menos em parte, utilizando a arquitetura de referência desenvolvida em meu doutorado.

Tendo esse cenário como base, a arquitetura foi adaptada para responder aos questionamentos dos colaboradores e acadêmicos com o interfaceamento de um módulo de chatbot. Posteriormente, o assistente poderia também efetuar automaticamente outros processos de negócios para os acadêmicos e colaboradores. Durante todo o período do projeto de pesquisa, foram realizadas reuniões juntamente aos colaboradores do DIP para definição e refinamento dos requisitos, para apresentação da evolução do trabalho e para apresentação de resultados.

Em tempo, foi constatado a necessidade de se remodelar o módulo de conversação para que suportasse trabalhar com contextos/assuntos. Dessa forma, um novo modelo do chatbot foi implementado, gerando um protótipo que foi apresentado na reunião de coordenadores de estágio da UFSC em setembro de 2014.

Manutenção e modificações da implementação existente…

Em paralelo, o servidor do GAP (Gerenciador de Assistentes Pessoais) passou por uma etapa de limpeza de código, conserto de bugs e reimplementação de algoritmos para trabalharem de forma mais eficiente. Algumas partes do código passaram a ser threads, permitindo a alguns códigos do sistema trabalharem em paralelo.

Foram criados arquivos de configuração (config.json) nos programas servidores, incluindo o GAP e o ISAP (Interface Social de Assistentes Pessoais). Isso tornou possível mudanças em algumas configurações dos programas sem a necessidade de alterar e recompilar o código fonte. Para a configuração dos programas com interface web em PHP e serviços web, também foram criados arquivos de configuração, mas utilizando arquivos config.php.

Arisa agora fala via aplicativo no Android…

Nessa semana estive trabalhando em um aplicativo para o sistema operacional Android. Este aplicativo serve como interface de conversação com a Arisa. Para a implementação foram utilizadas as APIs do Google de reconhecimento de voz e de fala. A primeira versão do aplicativo ficou pronta hoje, mas necessita de diversos ajustes antes que o mesmo possa ser disponibilizado no Google Play. Isso possibilitará que qualquer pessoa possa conversar com a Arisa por meio de conversação (fala) via dispositivo móvel com sistema operacional Android.

Próximos passos…

Pretende-se como próximos passos:

  • A criação de uma camada de interpretação de comandos entre o módulo de chatbot e o motor de execução do assistente pessoal;
  • Remodelagem e reimplementação da interface de configuração dos assistentes pessoais, permitindo a modelagem dos comportamentos de forma gráfica;
  • Gerenciamento da agenda do usuário para gerenciamento de compromissos.

Por enquanto é isso. Aguardem que logo teremos novidades…