Titulo Estágio
Virtual Assistant for Company Communications (Assistente Virtual para Comunicação Empresarial)
Áreas de especialidade
Engenharia de Software
Comunicações, Serviços e Infraestruturas
Local do Estágio
Coimbra (Taveiro)
Enquadramento
A WIT desenvolve software para Operadores de Telecomunicações de renome mundial, tais como o Grupo Vodafone, grupo Deutsche Telekom, Telefonica, Telecom Italia, Reliance (India), Singtel (Singapura), Telstra (Australia), Century Link (USA), Unitel, entre outros.
As chamadas de voz são o canal de comunicação favorito em ambiente empresarial, pois é o modo de comunicação remoto que oferece uma experiência mais pessoal e mais imediata. No entanto, em contexto empresarial, as pessoas estão frequentemente ocupadas e não conseguem atender todas as chamadas. Muitas chamadas ficam perdidas e não existe continuidade o que pode resultar em quebra de produtividade e/ou potencial de negócio.
Este estágio consiste na prototipagem de uma solução de software que faz uso de bots de comunicação para interagir automaticamente com quem faz chamadas de voz que não são atendidas, de modo a tentar obter informação sobre a razão da chamada e tentar a continuidade da comunicação.
Objetivo
O objectivo do estágio consiste no desenvolvimento de um protótipo de um sistema que intercepta uma chamada de voz não atendida, e inicia uma sessão de comunicação por mensagens de texto com a pessoa que tentou contactar.
O sistema terá de agregar informação sobre o utilizador que está a ser contactado. Nesse sentido, pretende-se investigar soluções para os seguintes componentes:
Detecção da chamada através de uma aplicação Android;
Agregação de informação sobre a disponibilidade do utilizador;
Assistente de conversação que conversa com a pessoa que tentou contactar de modo a recolher informação sobre a razão da chamada.
O assistente de conversação deverá utilizar os modelos mais recentes de processamento de linguagem natural, como o Google SyntaxNet, Stanford CoreNLP ou OpenNLP.
Espera-se que o aluno tenha a autonomia e capacidade crítica necessárias para recolher, analisar e estruturar toda a informação acerca de soluções existentes no mercado. Esta informação deverá ser depois aplicada no desenvolvimento do protótipo.
Segue-se a análise de requisitos do projeto, a criação de um plano de desenvolvimento e a definição de um project backlog com as funcionalidades desejadas. O desenvolvimento do software deverá ser feito de forma iterativa usando um processo ágil, baseado em SCRUM.
No final do estágio, deverá existir um protótipo funcional, que seja facilmente demonstrável e mostre bem os conceitos explorados.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
- Estudo das bibliotecas de processamento de linguagem natural;
- Estudo da plataforma Android;
- Levantamento do estado da arte;
- Análise de requisitos;
- Elaboração do plano de desenvolvimento;
- Prototipagem de uma aplicação para detecção de chamadas de voz perdidas, e notificação de um servidor aplicacional.
- Desenvolvimento de um servidor base para comunicação com:
Interface chat/SMS - Numa primeira versão, a comunicação será por SMS (SMPP/EMI);
Envio de mensagem de apresentação, e utilização da biblioteca de NLP para tokenização das respostas.
- Preparação dos protótipos para demonstrações internas;
- Documentação intermédia do estágio.
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
- Implementação de detecção da disponibilidade do utilizador. Para que faça sentido iniciar a conversação com um assistente virtual, será necessário detectar que o utilizador não está disponível, e por quanto tempo estará indisponível. Para tal, a aplicação deverá aceder à informação sobre o calendário e também os sensores do smartphone, para detectar se o utilizador está numa reunião, se está em viagem, ou a conduzir.
- Utilização da informação de contexto, tal como hora de final da reunião ou informação sobre a localização do utilizador, para enriquecer a comunicação automática.
- Implementação do assistente de conversação que deverá continuar o contacto com a pessoa que tentou estabelecer a chamada. Através de um conjunto de interações, o servidor deverá perceber qual a razão da chamada, e interactivamente descrever opções para retomar o contacto, tal como agendar automaticamente uma nova tentativa de chamada para quando o utilizador estiver disponível.
- Agregação do conteúdo de toda a interação numa estrutura lógica, para criação do resumo que é enviado ao utilizador final do período em que está ocupado.
- Preparação do protótipo para demonstrações;
- Testes funcionais;
- Testes de usabilidade;
- Avaliação de requisitos não funcionais;
- Documentação final de estágio.
Condições
O local de trabalho será no escritório da [url=https://www.wit-software.com/careers/]WIT Software[/url] em Taveiro (Coimbra). O estágio será remunerado. O estagiário terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas.
Além da remuneração, o estagiário poderá ser convidado para receber formação na WIT Academy (que inclui tópicos tais como: IMS, VoIP, SIP, iOS Programming, Android Programming, Arquitecturas de Software, Software Quality, Metodologias de Desenvolvimento de Software).
Para desenvolver este serviço, a WIT está preparada para acolher um estagiário nos tópicos de desenvolvimento de aplicações móveis, que terá à sua disposição Engenheiros experientes que poderão dar ajuda técnica.
No final do estágio, o aluno terá conhecimento detalhado e prático sobre sistemas de processamento de linguagem natural, bem como experiência no desenvolvimento de aplicações Java para servidores aplicacionais e também na plataforma Android.
Observações
- Toda a documentação de projecto será em Inglês.
- Será usado SCRUM, como metodologia de desenvolvimento.
- Existe um Tutor e um Orientador. O Orientador define os requisitos do estágio, define as prioridades do backlog e acompanha os milestones do projecto. O Tutor garante o cumprimento das tarefas, promove os meetings e acompanha o aluno com regularidade.
Orientador
João Alves
joao.alves@wit-software.com 📩