terça-feira, 13 de dezembro de 2016

Migração para o novo servidor - Arisa offline

Como o servidor do GSIGMA será desligado até este final de semana, o processo de migração de todos os softwares que compõem a arquitetura da A.R.I.S.A. para o novo servidor tornou-se iminente. Dessa forma, alguns recursos da Arisa estarão offline até que o processo seja finalizado.

domingo, 27 de novembro de 2016

Atualizações: Servidor, Telegram e Novos Projetos

Novo Servidor: Tenho utilizado por um bom tempo o servidor do GSIGMA como ambiente de deployment do projeto Arisa. Este servidor é um recurso para implantação e testes dos protótipos do grupo de pesquisa GSIGMA do Departamento de Automação e Sistemas da UFSC, liderado pelo Prof. Dr. José R. Rabelo, meu orientador de mestrado e supervisor do pós-doutorado. Entretanto, para que eu pudesses ter maior liberdade de acesso e de gerenciamento dos recursos do servidor, fora do ambiente da UFSC, tomei a decisão de criar um local próprio. Este já se encontra online sob o domínio arisa.com.br. Atualmente estou no processo de migração dos softwares que compõem toda a arquitetura da ARISA para o novo servidor.

Telegram: Como forma de ampliar o acesso ao chatbot da Arisa, interface de conversação em linguagem natural, implementei um bot no telegram para que as pessoas possam conversar com ela por meio deste recurso. O bot já se encontra em funcionamento e pode ser contatado no Telegram via @arisa_ap_bot.

Mestrado Profissional na Unisul: A Universidade do Sul de Santa Catarina está montando um Mestrado Profissional via Programa de Pós-Graduação em Tecnologia da Informação e Comunicação (PPGTIC) da qual faço parte da equipe de docentes. Tal programa tem permitido trabalhar em novas ideias para implementação de projetos interdisciplinares relacionados com a Arisa, juntamente com os outros docentes. O intuito é gerar soluções, propostas de trabalho para os discentes e publicação de artigos em revistas científicas.

segunda-feira, 25 de janeiro de 2016

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.

quarta-feira, 5 de agosto de 2015

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.

terça-feira, 23 de junho de 2015

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.

quarta-feira, 1 de abril de 2015

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

Tela principal do aplicativo
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.

sexta-feira, 27 de março de 2015

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...

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.