• Nenhum resultado encontrado

7 Sistema Adaptativo em Serviço de Webmail

7.4 Tomada de Decisão

Esta etapa consiste na etapa principal num sistema adaptativo, pois é aqui que se encontra o núcleo da lógica de negócio. O sistema assume um papel preponderante, realizando decisões com base na análise dos dados conhecidos de cada utilizador e de cada funcionalidade.

Interface Especial para Redes Sociais

O método seguido para a tomada de decisão na primeira funcionalidade é o mais simples. Inicialmente é realizada uma consulta à base de dados para obter o factor de decisão actual. De seguida, também recorrendo à base de dados faz-se uma contagem do número de emails que o respectivo utilizador recebeu de redes sociais nos últimos 40 dias. Se esse número for igual ou superior ao factor de decisão, actualiza-se o campo status da tabela

socialnetwork_adaptations (de modo a informar à etapa “Aplicação de adaptações” que pode

prosseguir com a recomendação da adaptação ao utilizador).

Para uma melhor compreensão de todo o raciocínio, apresenta-se na figura 7.1 um fluxograma.

Detecção do Horário de Trabalho

Na segunda funcionalidade, o método adoptado já é bastante mais complexo. Primeiro, são consultados e guardados todos os registos de um utilizador em qualquer IP relativos a login,

logout ou leitura de emails nos últimos 45 dias. A partir destes registos verifica-se se o

utilizador leu emails relacionados com trabalho. Se não, o sistema não pode fazer qualquer tipo Figura 7.1: Fluxograma correspondente à tomada de decisão da

de inferência e termina aí o processo de decisão. Se sim, é feita outra verificação – se leu emails de trabalho a partir de um ou mais IPs. Se for a partir de mais do que um, verifica-se quais são os IPs onde o utilizador leu um maior número de emails de trabalho (interessam os IPs que possuem o maior e o segundo maior número de emails lidos, sendo o limite inferior de 65 emails de trabalho). A partir da altura que se sabe quais são os IPs que interessam analisar é seguido um processo paralelo para cada um. Esse processo é executado pela seguinte ordem:

● Se a funcionalidade já se encontra recomendada, aplicada ou cancelada àquele utilizador naquele IP, terminar processo imediatamente. Caso contrário o processo continua.

● Consultar base de dados para obter o factor de decisão actual.

● Guardar os dias em que o utilizador leu emails de trabalho naquele IP. Permite saber os dias que um utilizador normalmente costuma aceder ao serviço a partir daquele IP. ● Guardar tempos em que o utilizador a partir do IP em questão procedeu à leitura de

emails de trabalho, à leitura de emails de brincadeira, e à realização de qualquer um dos seguintes eventos: login, logout e leitura de emails.

● Contagem do número de emails de brincadeira lidos, tanto para o IP em questão como para todos os IPs.

● Se a contagem efectuada no ponto anterior para o respectivo IP for igual a zero:

○ A determinação do horário será efectuada com base nos tempos em que o utilizador a partir do IP em questão realizou qualquer um dos três eventos. ● Se a contagem for maior que zero:

○ A determinação do horário será efectuada com base nos tempos em que o utilizador a partir do IP em questão leu emails de trabalho.

○ Verificar se existe intersecção de mais de 5% dos emails de trabalho lidos com os tempos máximo e mínimo em que o utilizador leu emails de brincadeira naquele IP. Se não se verificar, é detectado um intervalo no horário correspondente aos tempos máximo e mínimo acima referidos.

● Verificar se os tempos de entrada e saída do horário detectado não possuem uma diferença de onze ou mais horas ou menos do que duas horas. Se possuírem uma diferença de onze ou mais horas (no caso da determinação do horário com base nos tempos dos emails de trabalho), verifica-se com uma tolerância de 5% se é possível encaixar o horário dentro das onze horas. Se se conseguir e existir várias alternativas, é escolhida a que possui menor diferença entre entrada e saída.

● Passando com sucesso na verificação anterior, aplica-se a fórmula 5.1 que permite concluir sobre a aplicação da funcionalidade.

Figura 7.2: Fluxograma correspondente à tomada de decisão da funcionalidade "Detecção do horário de trabalho"

Sugestão de Grupos de Contactos na Funcionalidade de Autocomplete

Em relação à terceira funcionalidade, a abordagem adoptada é apresentada seguidamente. Primeiro é necessário realizar uma consulta à base de dados para obter o factor de decisão actual correspondente àquele utilizador. De seguida, também recorrendo à base de dados são consultados e guardados os IPs onde o utilizador enviou emails, e para cada um desses IPs, os grupos de contactos que constituíram destinatários desses emails (acompanhados pelo número de emails enviados). A partir destes dados, o processo de tomada de decisão resume-se aos seguintes passos:

● Para cada IP:

○ Guardar os grupos de contactos a quem foram enviados emails a partir doutros IPs e respectivas contagens.

○ Guardar grupos de contactos comuns entre este IP e os outros IPs. ○ Guardar grupos de contactos a quem foram enviados emails só deste IP. ○ Guardar grupos de contactos a quem foram enviados emails só de outros IPs. ○ Calcular classificação de cada grupo de contactos, com base na formula 5.2.

● Depois da fase de análise e organização dos dados, segue-se a fase correspondente à inserção da nova informação na base de dados (ou actualização, caso seja apenas necessário efectuar updade ao campo correspondente à classificação de um grupo de contactos).

Documentos relacionados