• Nenhum resultado encontrado

Na abordagem proposta por este trabalho, poss´ıveis soluc¸ ˜oes emergem a partir da interac¸ ˜ao dos usu ´arios. Nesse contexto, uma soluc¸ ˜ao pode ser caracterizada como o estabelecimento de m ´ultiplas conex ˜oes conceituais entre os objetos, formando um conjunto de OAL a serem recomendados, ordenados em uma lista de acordo com a predic¸ ˜ao realizada pelo sistema.

A Figura 8 apresenta o exemplo da construc¸ ˜ao de uma soluc¸ ˜ao representada atrav ´es de um grafo. Nesse exemplo cada v ´ertice do grafo representa um OAL e cada aresta representa uma conex ˜ao entre dois OAL.

Figura 8: ACO - Exemplo de construc¸ ˜ao de uma soluc¸ ˜ao por um usu ´ario. Fonte: Elaborada pelo autor

Cada aresta (i, j) do grafo possui uma vari ´avel τij que representa uma trilha de

ferom ˆonio artificial. Essa vari ´avel pode ser modificada pelo usu ´ario, sendo incremen- tada de acordo com o percurso realizado por ele.

Atrav ´es de uma f ´ormula probabil´ıstica, poss´ıveis soluc¸ ˜oes s ˜ao apresentadas para o usu ´ario a cada nova interac¸ ˜ao. Em cada passo da construc¸ ˜ao da soluc¸ ˜ao, o usu ´ario seleciona o pr ´oximo v ´ertice a ser visitado, atrav ´es de uma lista, ordenada de acordo com um mecanismo estoc ´astico que ´e influenciado pelo valor da vari ´avel τij.

Figura 9: ACO - Selec¸ ˜ao do pr ´oximo caminho pelo usu ´ario. Fonte: Elaborada pelo autor

De forma an ´aloga `as soluc¸ ˜oes constru´ıdas pelas formigas, o usu ´ario percorre o grafo construindo a soluc¸ ˜ao, passando pelos v ´ertices e pelas arestas, modificando o valor da vari ´avel τij associada a cada aresta. Ao final de cada iterac¸ ˜ao o ferom ˆonio ´e

atualizado, podendo ser incrementado ou decrementado, conforme a ac¸ ˜ao realizada pelo usu ´ario. Quando o n´ıvel de ferom ˆonio ´e decrementado a conex ˜ao entre os objetos ´e enfraquecida, podendo at ´e mesmo ser desfeita ao longo do tempo. Dessa forma, quanto maior o n´ıvel de ferom ˆonio, maior a chance da aresta ser visitada por outros usu ´arios. Essa caracter´ıstica ´e evidenciada pela figura 10, onde pode-se perceber que a conex ˜ao entre os v ´ertices B → C ´e mais forte que B → A e B → E, sendo denotada pela espessura da aresta.

Figura 10: ACO - Representac¸ ˜ao do relacionamento entre OALs. Fonte: Elaborada pelo autor

A figura 11 demonstra as etapas percorridas pelo usu ´ario para construc¸ ˜ao de uma soluc¸ ˜ao. Tomando-se como exemplo o grafo representado pela figura 8, ao final da interac¸ ˜ao do usu ´ario tem-se a soluc¸ ˜ao dada pelo caminho B-C-D-G-H (figura 11e).

Figura 11: ACO - Construc¸ ˜ao de uma soluc¸ ˜ao. Fonte: Elaborada pelo autor

O exemplo apresentado considera que o usu ´ario selecionou o primeiro objeto re- comendado pelo SR em todas as interac¸ ˜oes. Cabe ressaltar que outros objetos do grafo poderiam ser selecionados, dando origem `a novas soluc¸ ˜oes, atrav ´es da criac¸ ˜ao de novas conex ˜oes ou reforc¸ando conex ˜oes j ´a existentes. Os passos para construc¸ ˜ao da soluc¸ ˜ao representada pela figura 11e s ˜ao descritos a seguir.

1. O usu ´ario faz uma busca por palavra-chave;

2. O SR retorna um conjunto de objetos, ordenados em uma lista, de acordo com a import ˆancia do objeto para a consulta realizada, tomando-se por base a medida TF-IDF associada a cada objeto;

3. Ao clicar no objeto B o SR retorna uma nova lista, ordenada de acordo com o valor da vari ´avel pk

ij (objetos C, A e E, respectivamente (figura 11a));

4. Ao clicar no objeto C s ˜ao apresentados os objetos D e F , respectivamente (figura 11b);

5. Ao clicar no objeto D ´e apresentado apenas o objeto G, pois n ˜ao existem outros objetos relacionados. Pode-se perceber atrav ´es da figura 11c que existe uma forte conex ˜ao entre os dois objetos, podendo um referenciar o outro no processo de recomendac¸ ˜ao.

6. Por fim, ao clicar no objeto G, s ˜ao apresentados os objetos H e F , respectiva- mente, resultando na soluc¸ ˜ao representada pela figura 11e.

Atrav ´es desse exemplo, pode-se perceber que o usu ´ario constr ´oi poss´ıveis soluc¸ ˜oes a cada interac¸ ˜ao com o sistema. A conex ˜ao entre os objetos ´e reforc¸ada de acordo com suas prefer ˆencias.

A equac¸ ˜ao utilizada na soluc¸ ˜ao proposta ´e a mesma representada pela equac¸ ˜ao 13, sendo reescrita logo a seguir para melhor compreens ˜ao em relac¸ ˜ao aos valores associados `as vari ´aveis.

pkij = [τij] α . [ηij]β P l∈Jk i [τij] α . [ηij] β Onde:

pkij: ´e o valor utilizado para ordenar os objetos que ser ˜ao recomendados, segundo a predic¸ ˜ao calculada pelo sistema. Dessa forma, se j ainda n ˜ao foi visitado, ele pode ser selecionado, com uma probabilidade que ´e proporcional ao ´ındice de ferom ˆonio associado `a aresta (i, j).

τij: vari ´avel que controla o ferom ˆonio depositado nas arestas. Na soluc¸ ˜ao proposta

o valor utilizado para representar o ´ındice de ferom ˆonio associado `a vari ´avel τij ´e a

medida TF-IDF. A aplicac¸ ˜ao da atualizac¸ ˜ao de ferom ˆonio ´e executada a cada interac¸ ˜ao do usu ´ario com um OAL. Se o usu ´ario visualizou o objeto e n ˜ao efetuou o download o ferom ˆonio ´e decrementado de acordo com a equac¸ ˜ao 10. Caso contr ´ario, o ferom ˆonio ´e incrementado de acordo com a medida TF-IDF correspondente ao OAL selecionado. ηij: ´e um valor heur´ıstico associado ao contexto do problema em quest ˜ao, sendo

representado neste trabalho pelo n ´umero de visitas ou interac¸ ˜oes, realizadas por usu ´arios distintos, `a uma conex ˜ao existente entre determinados objetos.

Tr ˆes par ˆametros α, β e ρ s ˜ao utilizados para controlar a intensidade do ferom ˆonio (τij), e a qualidade da aresta (ηij):

• α - Utilizado para determinar a import ˆancia do ferom ˆonio. Um valor muito alto para α pode causar um efeito de intensificac¸ ˜ao do ferom ˆonio. Este efeito pode levar os usu ´arios a escolherem arestas que outros usu ´arios escolheram no pas- sado, causando a estagnac¸ ˜ao precoce do algoritmo. Outrossim, valores muito baixos tamb ´em podem levar a soluc¸ ˜oes ruins.

• β - Trata-se de um par ˆametro importante para uma boa diversidade de soluc¸ ˜oes. Um valor baixo demais para β pode levar `a estagnac¸ ˜ao precoce do algoritmo, assim como um valor alto demais pode aproxim ´a-lo de uma construc¸ ˜ao gulosa. • ρ - Utilizado para evitar uma grande acumulac¸ ˜ao de ferom ˆonio, o que pode preju-

dicar a diversidade de soluc¸ ˜oes, este par ˆametro deve ser ajustado para um valor menor que 1. ρ ´e utilizado na equac¸ ˜ao 10, respons ´avel pela evaporac¸ ˜ao do fe- rom ˆonio. Neste trabalho a evaporac¸ ˜ao ´e aplicada sempre que o usu ´ario visualiza um objeto recomendado e n ˜ao efetua o download. Dessa forma, conex ˜oes que n ˜ao s ˜ao consideradas relevantes por muito usu ´arios, v ˜ao perdendo a intensidade ao longo do tempo, podendo at ´e mesmo serem desfeitas.

Nos experimentos realizados para o TSP, verificou-se que diferentes combinac¸ ˜oes de par ˆametros (ou seja, (α = 1, β = 1), (α = 1, β = 2), (α = 1, β = 5), (α = 0.5, β = 5 )) resultaram no mesmo n´ıvel de desempenho (DORIGO; MANIEZZO; COLORNI, 1996). Assim, os valores utilizados na abordagem proposta foram aqueles sugeridos pelo autor para o algoritmo Ant cycle, que obteve melhor desempenho em comparac¸ ˜ao aos outros dois: Ant density e Ant quantity. Sendo α = 1, β = 2 e ρ = 0.5.

A seguir ´e apresentado um exemplo do c ´alculo realizado para obtenc¸ ˜ao do valor utilizado para ordenar os objetos recomendados (vari ´avel pk

ij).

Tabela 4: Ex. de recomendac¸ ˜oes e valores utilizados no c ´alculo da medida swarm Objeto selecionado: 155 - Typical breakfast in Great Britain

Exemplo de Recomendac¸ ˜oes

C ´odigo T´ıtulo Visitas Valor (conex ˜ao) pk

ij

356 What I eat for breakfast lunch... 4 40.59700848181423 0,9998572 439 Stereotypes about... 3 0.010284217713809999 0,0001424747

Objeto: 356 - What I eat for breakfast lunch and dinner

τij = 40,59700848181423 (´Indice de ferom ˆonio associado `a aresta);

ηij = 4 (N ´umero de visitas ´unicas `a conex ˜ao existente entre os objetos 155 e 356);

[τij] α

. [ηij] β

= [40, 597008481814231]1.[4]2 = 649, 5522

Objeto: 439 - Stereotypes about English people

τij = 0,010284217713809999 (´Indice de ferom ˆonio associado `a aresta);

ηij = 3 (N ´umero de visitas ´unicas `a conex ˜ao existente entre os objetos 155 e 356);

[τij]α. [ηij]β = [0, 010284217713809999]1.[3]2 = 0, 09255796 P l∈Jik[τij] α . [ηij]β = 649, 5522 + 0, 09255796 = 649, 6448 pk ij = [τij]α. [ηij]β P l∈Jk i [τij] α . [ηij]β pkij (Objeto 356) = 649,552 / 649,6448 = 0,9998572 pk ij (Objeto 439) = 0,09255796 / 649,6448 = 0,0001424747

Exemplo de c ´alculo para atualizac¸ ˜ao do ´ındice de ferom ˆonio (τij). Quando o

usu ´ario visualiza o objeto e n ˜ao efetua o download a taxa de evaporac¸ ˜ao ´e decre- mentada do ´ındice de ferom ˆonio associado `a conex ˜ao.

O par ˆametro ρ ´e utilizado para que os caminhos menos frequentados sejam esquecidos com o passar do tempo. ρ ´e um par ˆametro definido entre 0 e 1 e τ0 ´e o

valor inicial do ferom ˆonio das arestas.

0, 01635727 (Valor associado ao objeto 439). Trata-se de um valor obtido a

partir do c ´alculo da medida TF-IDF. Esse valor ´e armazenado na base de dados e incrementado a cada visualizac¸ ˜ao ou download de um objeto.

Taxa de evaporac¸ ˜ao = (1 − ρ).τij + ρ.τ0;

Taxa de evaporac¸ ˜ao = (1 − 0, 5) ∗ 0, 01635727 = 0, 008178635

Este cap´ıtulo trata da aplicac¸ ˜ao do sistema de recomendac¸ ˜ao de Objetos de Apren- dizagem de L´ınguas. Apresenta as caracter´ısticas do prot ´otipo desenvolvido, o local e a forma de coleta dos dados utilizados para realizac¸ ˜ao dos experimentos, bem como a estrutura criada para armazenamento das informac¸ ˜oes. S ˜ao apresentadas as telas do sistema, a forma de utilizac¸ ˜ao, a metodologia utilizada no processo de recomendac¸ ˜ao e exemplos de c ´odigos utilizados na implementac¸ ˜ao.