Propostas de Estágio 2011/2012

DEI - FCTUC
Gerado a 2024-04-29 14:23:31 (Europe/Lisbon).
Voltar

Titulo Estágio

Assistente Pessoal Virtual – Perfis Dinâmicos dos Utilizadores

Área Tecnológica

Reconhecimento de Padrões

Local do Estágio

Instalações da Innabler, Coimbra, IPN

Enquadramento

A Innabler é uma empresa de software que lidera o novo mercado de soluções de software empresarial colaborativo. A Innabler nasceu para melhorar radicalmente a forma como os grupos de pessoas trabalham em conjunto, desenvolvendo uma nova geração de Collaborative Business Software Solutions - focada em processos humanos, onde as pessoas e a inovação são essenciais.

A Innabler é uma spin-off da Inogate (empresa de consultoria de inovação existente desde 2004). O seu objetivo é explorar os recursos que a Inogate desenvolveu dentro da Unidade de Negócio de software colaborativo. A experiência adquirida ao longo dos últimos anos como uma unidade de negócio interna da Inogate mostrou claramente que há um espaço enorme para melhoria quando se trata de soluções de software colaborativo.

A Innabler, no âmbito das suas actividades de I&D, pretende desenvolver aptidões e adquirir conhecimento técnicos ainda não dominados pela indústria no domínio do software para incorporar em assistentes pessoais virtuais inteligentes, nomeadamente ao nível da inteligência de contexto, elaboração de perfis Dinâmicos, interfaces 3D a partir de imagens 2D, processamento de voz e novos interfaces.

Na verdade existem um conjunto de desafios científicos e tecnológicos que estão visíveis neste momento e representam a fronteira do estado da arte e exigem um estudo aprofundado deste núcleo, sobretudo por se pretender aplicá-los a ambientes reais. Este estágio vai-se dedicar no seguinte:

Assistente Pessoal Virtual: Projecto de investigação ao nível da criação de perfis dinâmicos dos utilizadores.

Uma personagem virtual com capacidade de interagir com o utilizador. Terá capacidade para responder automaticamente a perguntas, podendo apresentar a resposta de forma textual ou falada (componente desenvolvida noutro estágio. Espera-se que este módulo seja extremamente apelativo, permitindo cativar os utilizadores, proporcionando-lhes uma experiência mais rica e natural.

Neste âmbito serão explorados mecanismos de criação e actualização de perfis Dinâmicos de utilizadores sem que eles tenham a necessidade de actualizar proactivamente o seu perfil. Mais do que isso, para alem dos interesses actuais que representam o que cada um dos utilizadores mantém como foco actual dos seus interesses o sistema a desenvolver deverá também garantir a ocorrência de fenómenos de serendipidade, ou seja, acontecimentos que o utilizador não procura mas que quando acontecem lhe dizem algo pois estão relacionados de algum modo com o seu trajecto histórico. Neste projecto os algoritmos de decaimento e pesos relativos não só de máximos históricos, mas também de interesses complementares serão estudados e aplicados a várias situações ilustrativas de situações reais.

Características do Sistema

Todas as aplicações a serem desenvolvidas no âmbito do projecto possuem um conjunto de características técnicas e funcionais comuns:
• Ambiente Web – Desenvolvimento em ASP.NET MVC, C#, HTML 5, CSS, JavaScript;
• Multi browser – Compatibilidade entre os diversos browsers utilizados actualmente;
• Suporte Multilingue – Permitir o suporte de vários idiomas;
• Arquitectura multi-tier e programação recorrendo a diferentes Design Patterns, permitindo uma divisão de código mais eficiente, reutilizável e escalável.

Ferramentas de Desenvolvimento
• Visual Studio 2010;
• SQL Server 2008.
• Lucene.Net.

Metodologia
O processo de desenvolvimento de software será baseado em AGILE.

Objetivo

Como objectivos é pedido ao aluno que desenvolva uma consola onde será possível comunicar com o assistente virtual, tendo em conta:
1. Como aceder e processar fontes de informação dos utilizadores: e-mails enviados, favoritos, páginas que usa nas aplicações, comportamentos online, etc.;
2. Quais as formas matemáticas (ao nível dos decaimentos e pesos relativos) que melhor espelham de forma contínua e actualizada os perfis de intereses primários e secundários.

No final do projecto é pretendido que seja disponibilizada uma versão 1.0 da consola.

Plano de Trabalhos - Semestre 1

Durante o 1º semestre, o projecto será composto pelas seguintes fases de desenvolvimento:
• F1 – Análise do estado da arte (20% do semestre) – Análise de soluções e boas práticas a usar no projecto;
• F2 – Levantamento de requisitos (20% do semestre) – esta tarefa consiste no levantamento de todos os requisitos da aplicação;
• F3 – Desenho (60% do semestre) – será desenvolvido um protótipo descartável da aplicação e o desenho de arquitectura.

Plano de Trabalhos - Semestre 2

Durante o 2º semestre, o projecto será composto pelas seguintes fases de desenvolvimento:
• F4 – Implementação (70% do semestre) – fase de desenvolvimento onde serão implementados os requisitos e funcionalidades determinadas em F2.
• F5 – Testes (15% do semestre) – fase em que será testada a robustez da aplicação desenvolvida. Serão feitas as correcções aos bugs que forem detectados.
• F6 – Integração com os estágios paralelos a este, relativos ao mesmo assistente pessoal virtual (5% do semestre).
• F7 – Deploy e relatório de projecto (10% do semestre) – Revisão final da aplicação desenvolvida e disponibilizada para produção.
Nota: as fases serão adequadas ao processo de desenvolvimento de software AGILE.

Condições

O estágiário terá à sua disposição um computador pessoal para seu uso exclusivo, acesso à rede e a telefone. O estágio será remunerado de acordo com a lei em vigor.

Observações

Dependendo do perfil dos candidatos, o plano de trabalhos deverá ser afinado futuramente.

Orientador

Sandro Ventura
sandro.ventura@inogate.pt 📩