Titulo Estágio
Software platform for provisioning of enterprise bots (Plataforma para bots empresariais)
Áreas de especialidade
Engenharia de Software
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.
Nos últimos anos, temos assistido a uma nova tendência no aumento da comunicação através de chat. As aplicações como WhatsApp, iMessage ou Facebook Messenger, conquistaram a preferências dos utilizadores. Ultimamente alguns destes serviços de messaging começaram a investir em Bots de comunicação para fornecer serviços informativos.
A ideia deste estágio passa por investigar a possibilidade de trazer esta tecnologia dos bots de comunicação acessível a pequenas empresas, algo que actualmente não está ao alcance das mesmas.
Este estágio consiste na prototipagem de uma plataforma para adquirir e gerir conteúdos, e a sua utilização em Bots de processamento de linguagem natural, que processam perguntas de clientes.
Objetivo
O objectivo do estágio consiste no desenvolvimento de um protótipo de um servidor aplicacional para demonstrar a capacidade de agregação de conteúdos empresariais e a disponibilização de bots que fazem processamento de linguagem natural e comunicam com os utilizadores.
Nesse sentido pretende-se investigar soluções para uma fácil importação de conteúdos a partir de fontes já existentes, tais como o site web da empresa ou ligação ao sistema de CRM. Será também necessário implementar um bot de teste que demonstre a viabilidade da solução.
O objectivo do estágio será a implementação de três componentes:
Sistema para indexação a partir web crawling & indexing.
Portal para visualização e edição do conteúdo estruturado.
Implementação de um Bot de conversação.
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 que mostre bem os conceitos explorados durante o estágio.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
- Estudo dos sistemas e bibliotecas de indexação de conteúdos web;
- Estudo dos sistemas e bibliotecas para processamento de linguagem natural (NLP);
- Levantamento do estado da arte;
- Análise de requisitos;
- Elaboração do plano de desenvolvimento;
- Definição de modelo de dados, que permita pesquisa com base em primitivas extraídas dos motores de NLP. No mínimo:
a. Intent
b. Object
c. Location
- Prototipagem de uma plataforma, com interface web para edição da informação estruturada. Deverão ser especificados templates de informação, que tipicamente as empresas pretendem transmitir, nomeadamente:
a. Informação de contacto da empresa
b. Catálogo de produtos e serviços
c. Perguntas frequentes
d. Informação apenas acessível ao cliente
- 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:
- Desenvolvimento de sistema de importação de dados automático por indexação do site da empresa. Serão analisadas as ferramentas open-source para indexação web já existentes, e definido o modelo de dados para essa estruturação;
- Estruturação dos dados durante o processo de importação;
- Implementação de bot, ligado ao sistema Facebook Messenger. O bot será essencial para demonstração da tecnologia. Para esta implementação poderá ser utilizada uma ferramenta open-source para processamento de linguagem natural (NLP).
- Implementação de sistema de Smart Replies, com sugestão de follow-up, com base no histórico de conversação.
- 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á adquirido bons skills para o desenvolvimento de servidores aplicacionais em Java, e conhecimento relevante na utilização de bibliotecas de processamento de linguagem natural.
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 Costa
joao.costa@wit-software.com 📩