leandro de souza tavares agentes para recomendaÇÃo de ... · ava ambientes virtuais de...

79
0 LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE VÍDEOS NA INTERNET CANOAS, 2012

Upload: lamdung

Post on 20-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

0

LEANDRO DE SOUZA TAVARES

AGENTES PARA RECOMENDAÇÃO DE VÍDEOS NA INTERNET

CANOAS, 2012

Page 2: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

1

LEANDRO DE SOUZA TAVARES

AGENTES PARA RECOMENDAÇÃO DE VÍDEOS NA INTERNET

Trabalho de conclusão do Curso de

Ciência da Computação do Centro

Universitário La Salle – Unilasalle.

Canoas - RS

Orientador: Patrícia Kayser Vargas Mangan

CANOAS, 2012

Page 3: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

2

LEANDRO DE SOUZA TAVARES

AGENTES PARA RECOMENDAÇÃO DE VÍDEOS NA INTERNET

Trabalho de conclusão aprovado como requesito parcial para obtenção do grau de bacharel em Ciência da Computação pelo Centro Universitário La Salle – Unilasalle.

Aprovado pela banca examinadora em 02 de julho de 2012.

BANCA EXAMINADORA:

__________________________________________________

Profº Dr. Patrícia Kayser Vargas Mangan Unilasalle

__________________________________________________

Profº Me. Eder Stone Fontoura Unilasalle

__________________________________________________

Profº Me. Ricardo de Moura Rivaldo Unilasalle

Page 4: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

3

Dedico este trabalho de conclusão aos meus pais, cuja ajuda e incentivo tornaram possível alcançar esta conquista e aos amigos que estiveram ao meu lado durante o trajeto.

Page 5: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

4

AGRADECIMENTOS

Agradeço em primeiro lugar a meus pais cujo apoio foi fundamental para

realização desta conquista. Sem eles não teria sido possível alcançar este objetivo.

A minha orientadora Patrícia Kayser por todos esses anos dividindo

conhecimento e amizade dentro e fora de sala de aula, demonstrando sempre muita

cordialidade e paciência.

A todos os colegas que propiciaram momentos inesquecíveis e também compartilharam seu conhecimento durante esses anos de graduação. Muito obrigado a todos.

Page 6: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

5

“O verdadeiro homem mede a

sua força, quando se defronta

com o obstáculo.”

(Antoine de Saint-Exupéry)

Page 7: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

6

RESUMO

Na internet existe uma grande quantidade de informações, mas nem sempre é trivial

aos usuários encontrar conteúdo que satisfaça suas necessidades. Os sistemas de

recomendação têm como objetivo auxiliar os usuários a encontrar o conteúdo que

lhes seja útil, reduzindo a sobrecarga de informações e realizando uma seleção de

acordo com suas preferências e necessidades. Diversas estratégias são propostas

para o processo de recomendar itens. Modelos híbridos vêm apresentando

resultados mais satisfatórios ao combinarem mais de uma estratégia ou técnica. A

proposta deste trabalho é construir um modelo de sistema de recomendação para

vídeos na internet, aliando uma solução híbrida com a utilização de agentes

inteligentes. O modelo proposto combina uma abordagem colaborativa, onde

opiniões dos usuários são aproveitadas para gerar recomendações para outros

usuários, com uma abordagem baseada em conteúdo, onde as informações dos

itens auxiliam no entendimento do comportamento do usuário. Os resultados obtidos

com esta solução demonstram que a combinação de estratégias diferentes de

recomendação com agentes inteligentes, aumenta o grau de precisão das

recomendações.

Palavras-chave: Sistemas de recomendação. Collaborative Tagging. Agentes

inteligentes. Filtragem colaborativa.

Page 8: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

7

ABSTRACT

There is a great amount of information on the internet, but it’s not always trivial to

users finding content that satisfies their needs. Recommender systems have as an

objective to help users find content that is useful to them, reducing the overload of

information and performing a selection according to their preferences and needs.

Several strategies are proposed for the process of recommending items. Hybrid

models have been presenting more satisfying results by combining more than one

strategy or technique. This paper’s proposal is to construct a model of a

recommender system for internet videos, allying a hybrid solution with the use of

intelligent agents. The model proposed combines a collaborative approach, where

user’s opinions are utilized to generate recommendations for other users, with an

approach based on content, where item information helps with the understanding of

user behavior. The results obtained with this solution demonstrate that the

combination of different recommendation strategies with intelligent agents increases

the degree of recommendation precision.

Keywords: Recommender Systems. Collaborative Tagging. Intelligent Agents.

Collaborative Filtering.

Page 9: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

8

LISTA DE FIGURAS

Figura 1 – Fontes de dados para geração de recomendações................................22

Figura 2 – Comparação do usuário Alice com dois usuários....................................27

Figura 3 – Dados básicos para o perfil de usuário....................................................33

Figura 4 – Arquitetura do sistema IBD......................................................................43

Figura 5 – Arquitetura do modelo de Ferro et al. (2011)...........................................47

Figura 6 – Modelo conceitual do sistema..................................................................50

Figura 7 – Arquitetura do sistema de recomendação...............................................54

Figura 8 – Ciclo de requisição no framework CakePHP...........................................56

Figura 9 – Reprodutor de vídeo e escala de classificação........................................57

Figura 10 – Diagrama de atividades de acesso ao sistema......................................58

Figura 11 – Casos de uso do sistema.......................................................................59

Figura 12 – Diagrama entidade relacionamento do perfil de usuário.......................60

Figura 13 – Fragmento do arquivo de classificações e usuários..............................68

Figura 14 – Descrição das tags importadas no banco de dados..............................69

Page 10: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

9

LISTA DE QUADROS

Quadro 1 – Tipos de dados utilizados nas abordagens............................................23

Quadro 2 – Base de classificações para recomendação colaborativa......................25

Quadro 3 – Características relevantes dos trabalhos relacionados..........................51

Quadro 4 – Classificação do ambiente de tarefas.....................................................53

Quadro 5 – Combinação recomendações.................................................................62

Quadro 6 – Primeira rodada do exemplo de teste.....................................................72

Quadro 7 – Segunda rodada do exemplo de teste....................................................72

Quadro 8 – Terceira rodada do exemplo de teste.....................................................73

Page 11: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

10

LISTA DE TABELAS

Tabela 1 – Resultados dos testes da técnica colaborativa........................................74

Tabela 2 – Resultados dos testes da técnica baseada em conteúdo......................75

Page 12: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

11

LISTA DE SIGLAS

ACO Agente de Colaboração

ACT Agente de Collaborative Tagging

AGR Agente de Recomendação

AGU Agente de Usuário

ASF Apache Software Foundation

AVA Ambientes Virtuais de Aprendizagem

BSD Berkeley Source Distribution

CO Completamente Observável

CT Collaborative Tagging

DER Diagrama entidade relacionamento

HTML HyperText Markup Language

HTTP Hypertext Transfer Protocol

IA Inteligência Artificial

IBR Interest Based Recommendation

IBRS Interest-Based Recommender System

MVC Model View Controller

PHP Hypertext Preprocessor

PO Parcialmente Observável

SGBD Sistema gerenciador de banco de dados

SR Sistemas de Recomendação.

XML Extensible Markup Language

Page 13: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

12

SUMÁRIO

1 INTRODUÇÃO ................................................................................................................................... 14

1.1 METODOLOGIA .................................................................................................................................. 16

1.2 Estrutura do texto ............................ ............................................................................................17

2 RECOMENDAÇÃO DE CONTEÚDO ........................ ........................................................................ 18

2.1 Sistemas de recomendação....................... .................................................................................18

2.2 Domínios ...................................... ............................................................................................19

2.3 Abordagens .................................... ............................................................................................21

2.3.1 Abordagem colaborativa .............................................................................................................. 22

2.3.2 Abordagem baseada em conteúdo .............................................................................................. 27

2.3.3 Abordagens híbridas .................................................................................................................... 30

2.4 Perfil de usuário ............................. .........................................................................................31

2.5 Considerações finais .......................... ................................................................................32

3 AGENTES INTELIGENTES ............................ ................................................................................... 34

3.1 Ambientes .............................................................................................................35

3.2 Tipos de agentes ............................. .........................................................................................37

3.2.1 Agentes reativos simples ............................................................................................................. 37

3.2.2 Agentes reativos baseados em modelo ....................................................................................... 38

3.2.3 Agentes baseados em objetivos .................................................................................................. 38

3.2.4 Agentes baseados em utilidade ................................................................................................... 38

3.3 Agentes de recomendação ....................... .................................................................................39

3.4 Considerações finais ...............................................................................................40

4 TRABALHOS RELACIONADOS........................... ............................................................................ 41

4.1 A proposta de Vashisth e Bedi (2011) .......... .............................................................................41

4.2 A proposta de Liang et al. (2009) ............ ..................................................................................42

4.3 A proposta de Ferro et al. (2011) ............ ..................................................................................42

4.4 Considerações finais ..............................................................................................47

5 PROPOSTA/MODELO ................................. ..................................................................................... 49

5.1 Modelo ........................................ ................................................................................................50

5.2 Estrutura ...............................................................................................................52

5.2.1 Arquitetura e tecnologias.............................................................................................................. 53

5.2.1.1 Interface de usuário ................................................................................................................... 55

5.2.1.2 Agente de usuário ..................................................................................................................... 57

5.2.1.3 Agente de Recomendação ........................................................................................................ 60

5.2.1.4 Agente de Colaboração ............................................................................................................. 61

5.2.1.5 Agente de Collaborative Tagging .............................................................................................. 62

6 AVALIAÇÃO ....................................... ............................................................................................... 64

6.1 Considerações iniciais ..............................................................................................................64

6.2 Metodologia ................................... .............................................................................................66

Page 14: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

13

6.3 Resultados obtidos ....................................................................................................................69

7 CONCLUSÃO ....................................... ............................................................................................. 75

REFERÊNCIAS ..................................................................................................................................... 75

Page 15: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

14

1 INTRODUÇÃO

A web apresenta-se como um espaço para compartilhamento de informações

e comunicação, existindo diferentes formas de interagir inclusive para propiciar o

autodesenvolvimento. Maes e Shardanand (1995) expõem que a tecnologia é

necessária para ajudar as pessoas a encontrar o conteúdo realmente importante – o

que elas realmente precisam – e omitir o que é desnecessário. Considerando o fácil

acesso a esse montante de informações muitas vezes os usuários de internet se

encontram em um estado de dúvida referente ao que realmente precisam. Zheng

(2005) chama este fenômeno de sobrecarga da informação. As dificuldades

encontradas impactam tanto no lazer quanto em pesquisas autônomas e atividades

do ensino formal.

Apesar das dificuldades relacionadas à procura de informações, o crescente

avanço das tecnologias da informação vem possibilitando novas compreensões

sobre as possibilidades de busca e aprendizado, baseadas em recursos que

permitem a comunicação e intensificam relações entre as pessoas. Um exemplo é o

ensino à distância (EAD) que esta se tornando prática comum em instituições de

ensino, onde é mediado por recursos tecnológicos sendo recomendada a alunos e

profissionais (FERREIRA et al., 2004).

Deve-se considerar, no entanto, que as tecnologias não transformam a

sociedade por si só, mas são utilizadas por pessoas em seus contextos sociais

criando uma nova comunidade local e global (LEITE; BRANDÃO, 2008). Neste

contexto é essencial que as ferramentas existentes atribuam à importância

necessária não só ao compartilhamento dos dados em si, mas que permitam uma

experiência realmente construtiva onde o conhecimento seja desenvolvido levando

em consideração as necessidades e preferências dos usuários.

Ambientes colaborativos como Blogger (www.blogger.com) e WikiSpaces

(http://www.wikispaces.com), bem como redes sociais na Internet como Orkut

(http://www.orkut.com), Facebook (http://www.facebook.com) e Twitter

(http://www.twitter.com), e ambientes virtuais de aprendizagem (AVA) com o Moodle

(http://www.moodle.org) e Blackboard (http://www.blackboard.com) podem ser

usados para busca de conhecimento.

Page 16: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

15

Entretanto, nenhum destes ambientes utiliza técnicas que permitam

compreender os interesses individuais de seus utilizadores. Até mesmo nos AVA’s,

que são direcionados a complementar atividades de sala de aula, são

disponibilizados conteúdos padronizados sem adaptação aos indivíduos.

Esta pesquisa tem como tema a obtenção e utilização de informações

relevantes dos usuários, para que o conteúdo e as relações existentes em um

ambiente virtual possam ser explorados, a fim de propiciar comunicação fácil e

objetiva, bem como recuperação de conteúdo de acordo com análise de

preferências. Para isto faz-se necessário um maior entendimento do comportamento

dos usuários, com intuito de compartilhar informações de forma coletiva.

A fim de prover uma fonte diferenciada de informações que enriqueça não só

ao aluno, mas a demais interessados no meio acadêmico, este estudo visa à criação

de um portal streaming inteligente. Através de técnicas de sistemas de

recomendação e inteligência artificial (IA) que permitam análise de comportamento,

torna-se possível prover conteúdo de acordo com as preferências individuais. Além

disso, oferece uma forma interativa, através de tecnologias web, para guiar os

usuários a informações úteis, conforme o interesse manifestado.

Deste modo, apresenta-se como problema de pesquisa: como detectar

interesses de usuários de um sistema web a partir de experimentação e realizar

recomendações de conteúdo adequadas a seus perfis. Define-se como objeto de

pesquisa um portal streaming com análise comportamental dos utilizadores e

técnicas que exploram características colaborativas e do conteúdo disponível, o qual

contém programação de cunho informativo e institucional.

Neste contexto, define-se como objetivo geral do estudo fornecer um meio de

análise do comportamento dos usuários para obter maior interatividade, participação

e conhecimento sobre eles, gerando recomendações de vídeos de acordo com seus

interesses afins. Como objetivos específicos (metas) definem-se:

a) Desenvolvimento de um sistema web com características colaborativas que

realize recomendações personalizadas. A arquitetura proposta envolve

utilização de agentes inteligentes com tarefas específicas, utilizando meta-

dados e opiniões dos usuários para análise comportamental e oferta de

conteúdo;

Page 17: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

16

b) Estudo e análise de agentes inteligentes visando identificar os mais

apropriados para o problema;

c) Estudo e análise de técnicas de recomendação de acordo com as abordagens

existentes.

d) Definição de um modelo de perfil de usuário;

e) Obtenção de dados sintéticos para testes qualitativos;

f) Construção da base de itens, tags (palavras-chave para descrição do

conteúdo), usuários e classificações dos usuários para os itens;

g) Estratégia não personalizada para oferta de itens no primeiro acesso de

usuários novos, onde não existem preferências para análise.

1.1 Metodologia

A presente pesquisa é classificada na área de ciências exatas e da terra e

envolve a elaboração de estudos para resolver um problema, o que a torna uma

pesquisa aplicada. É também dita exploratória, pois visa fornecer maior familiaridade

com o tema proposto. Trata-se ainda de uma pesquisa de campo, devido à natureza

de obtenção dos dados via os sítios GroupLens (http://www.grouplens.org) e

Stumbleupon (http://www.stumbleupon.com). O material utilizado já está publicado,

sendo assim uma pesquisa bibliográfica.

Para alcançar o objetivo de criação do portal de vídeos será necessária uma

abordagem híbrida de técnicas conhecidas, que demonstraram até agora resultados

satisfatórios em recomendação, análise de usuários e dos itens disponíveis.

Conforme evidenciado no estudo de abordagens na seção 2.3 é demonstrado que

não existe uma solução adotada como padrão ou absoluta em diferentes domínios.

Diversos aspectos podem ser abordados de formas diferentes como:

a) Dados a serem utilizados;

b) Forma de coleta dessas informações;

c) Quantas e quais etapas serão empregadas no processo;

d) Soluções adotadas para novos usuários/itens.

Isto caracteriza uma das fases que é referente ao estudo e seleção de técnicas

que tenham demonstrado bom desempenho em recomendação de conteúdo, tanto

baseado nos itens atualmente vistos, quanto em processos baseados em histórico

Page 18: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

17

de comportamento. Uma vez decidida à infraestrutura e os processos necessários

representados, serão selecionadas as ferramentas de desenvolvimento necessárias.

Tais recursos estarão dentro da licença GPL

(http://www.gnu.org/licenses/licenses.pt-br.html), visto que existem hoje linguagens

de programação e bancos de dados que permitam desenvolvimento sem custos.

Conforme descrito na introdução, a contribuição para a área de ciência da

computação será oferecida na forma de uma ferramenta que oferece uma

perspectiva ainda não explorada em instituições de ensino, automatizando a seleção

de conteúdo institucional personalizado.

Os resultados esperados incluem a ferramenta de recomendações que pode

ser utilizada em servidores web para streaming de vídeos, provendo conteúdo útil

aos usuários através da análise de suas necessidades.

1.2 Estrutura do texto

O restante deste projeto encontra-se organizado em seis capítulos. No capítulo

2 são contextualizados sistemas de recomendação e introduzidos conceitos

relevantes para esta pesquisa. O capítulo 3 contém a análise sobre agentes

inteligentes e considerações sobre os tipos de agentes e ambientes. Finalizando a

fundamentação, os trabalhos relacionados são descritos no capítulo 4.

No capítulo 5 é está descrita a proposta construída como solução para o

problema de recomendação, apresentando um modelo de sistema híbrido e

explicações sobre seu funcionamento. O capítulo 6 apresenta a avaliação do

modelo, juntamente com os dados coletados e os resultados obtidos. No capítulo 7

encontra-se a conclusão da pesquisa, juntamente com as dificuldades encontradas e

sugestões de trabalhos futuros.

Page 19: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

18

2 RECOMENDAÇÃO DE CONTEÚDO

Neste capitulo serão descritas as premissas necessárias para dar início aos

estudos desta pesquisa e criação dos Sistemas de Recomendação (SR). Além de

contextualizar o campo de estudo, serão descritas motivações e técnicas

relacionadas.

2.1 Sistemas de recomendação

O conceito de sistemas de recomendação remete a década de 90, onde o

sistema Tapestry (GOLDBERG et al., 1992) foi o pioneiro, originando o termo

filtragem colaborativa e demostrando como dados comportamentais podem ser

aproveitados para produzir filtros pessoais.

Segundo Torres (2004) sistemas de recomendação foram desenvolvidos com o

objetivo de reduzir a sobrecarga de informações existente em diversos domínios

como de notícias, filmes, músicas, guias de televisão, entre outros. A ideia é reduzir

o excesso de informações que leva os utilizadores a uma seleção de conteúdo que

demanda tempo e muitas vezes habilidade para buscas efetivas.

Diferente de outros tipos de software, sistemas de recomendação não são

definidos por um tipo particular de computação, mas sim por semânticas de

interação com o usuário (BURKE; RAMEZANI, 2011). Isto significa que para realizar

filtragem e recomendação de conteúdo não existem algoritmos, arquiteturas ou

abordagens absolutas. Por isso diversas técnicas foram criadas para analisar tanto o

comportamento dos usuários quanto as características dos itens disponíveis.

De forma geral as ferramentas existentes procuram cumprir os seguintes objetivos

(RICCI et al., 2011):

a) Aumentar a satisfação dos usuários

b) Compreender suas necessidades

c) Aumentar sua fidelidade,

d) Aumentar a quantidade de itens visualizados

e) Obter a opinião dos usuários para aperfeiçoar o processo de

recomendação

Page 20: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

19

2.2 Domínios

Um fator muito importante a ser considerado na escolha da abordagem é o

domínio dos dados a serem utilizados, ou seja, a natureza das informações

disponíveis no catálogo. Montaner et al. (2003) identificou uma grande diversidade

de dados, através da análise de trinta e sete sistemas, classificando-os em oito

dimensões:

a) Filtragem de notícias;

b) Comércio eletrônico;

c) Recomendação web;

d) Jornais personalizados;

e) Recomendação de filmes;

f) Recomendação de documentos;

g) Recomendação de viagens/ lojas;

h) Recomendação de músicas.

Embora não sejam os únicos domínios existentes, neste estudo é demonstrado

que, as abordagens e técnicas utilizadas são fortemente ligadas ao tipo de dado.

Entre diversas informações relevantes podem ser utilizadas preferências de usuários

aprendidas pelo sistema, regras de conhecimento armazenadas por especialistas,

regras de associação, mineração de dados, características dos itens, entre outros.

Assim é necessário compreender a melhor forma de trabalhar com os dados

considerando o catálogo de itens e o propósito da aplicação.

No estudo realizado por Burke e Ramezani (2011) é evidenciado que o sistema

deve ser capaz de criar e manter um modelo ou perfil de usuário contendo suas

preferências ou comportamento, realizando coleta e armazenamento de dados.

Além disso, dependendo da abordagem, pode ser necessário conhecer

características detalhadas dos itens.

Independente do processo a ser realizado as informações essenciais segundo

Burke e Ramezani (2011) são:

a) Itens: objetos a serem recomendados. Independente do contexto ocorre um

processo de filtragem onde o valor é expresso em função da utilidade do item

para o usuário. Caso não seja apropriado, o valor será negativo ou muito

baixo, caso contrário estima-se um grau positivo adequado de utilidade. Os

Page 21: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

20

objetos podem então ser armazenados com simples identificadores ou

informações mais completas que expressem as características necessárias

para processos que dependam destas informações.

b) Usuários: pessoas que utilizam o serviço. A maneira de armazenamento

varia de acordo com as técnicas utilizadas, porém é necessária a criação de

um modelo ou perfil que represente seu comportamento. Dependendo do

contexto dados como: idade, grau de escolaridade, atividades de lazer, entre

outros, podem ser usados para aumentar a precisão da recomendação.

c) Transações: dados armazenados que representam as interações do usuário

com o sistema. Tipicamente são as classificações atribuídas a itens

visualizados ou adquiridos que expressam a opinião dos usuários. É possível

também registrar os itens que o usuário visualizou, mas não classificou,

registrando como conteúdo que despertou seu interesse.

A forma padrão de apresentação das recomendações ocorre com a criação de

uma lista de itens que visa identificar os serviços ou produtos que melhor atendem

as preferências do usuário. Essas informações podem ser adquiridas através de seu

histórico de utilização do sistema. Existem duas formas de se coletar estes dados

(ADOMAVICIUS; TUZHILIN, 2005):

a) Coleta explícita : O sistema pede que o usuário expresse sua opinião sobre

os itens visualizados e utiliza essas informações para omitir ou adicionar mais

itens, conforme as preferências identificadas. É considerada mais precisa

devido à informação ser fornecida abertamente, porém, caracteriza um

esforço do usuário que pode acabar classificando poucos itens. Não existem

regras sobre utilização de escalas ideias e, segundo Jannach et al. (2011), a

definição de qual a melhor a ser utilizada está em aberto no campo de estudo.

b) Coleta implícita : Os dados são interpretados e coletados pela aplicação de

forma automática através da interação do usuário, ocorrendo de forma

transparente. Diversas técnicas podem ser utilizadas como avaliar itens

adquiridos, tempo de permanência em uma página web, registro das páginas

visitadas, entre outras. Apesar de não requerer esforço do usuário, existe a

possibilidade de que o sistema realize uma má interpretação de seu

comportamento.

Page 22: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

21

Os dados acima descritos e a forma de coleta variam conforme a abordagem e

serão detalhados juntamente com o modelo proposto no capítulo 5. Estas

informações podem ser usadas como entradas para o algoritmo ou componente de

recomendação responsável por gerar as listas de ofertas. Além destes dados,

informações dos itens e as classificações também são utilizados como entrada. A

figura 1 ilustra de forma genérica as os possíveis dados sendo utilizados por um

componente de recomendação. Este componente varia conforme a metodologia

utilizada e está presente na taxonomia de domínios proposta por Montaner et al.

(2003). Após o processamento é gerada a lista de recomendações para o usuário

atual.

Figura 1 - Fontes de dados para geração de recomendações

Fonte: Traduzido de Burke e Ramezani (2011) p. 125.

2.3 Abordagens

Devido à diversidade de domínios e técnicas existentes não existem

abordagens específicas para SR, porém algumas taxonomias são comumente

encontradas na literatura. Burke (2007) sugere cinco possíveis abordagens:

colaborativa, baseada em conteúdo, demográfica, baseada em conhecimento e

híbrida. Em referências mais atuais como a pesquisa realizada por Jannach et al.,

(2011) são exploradas quatro abordagens: colaborativa, baseada em conteúdo,

baseada em conhecimento e híbrida. O livro de Ricci et al. (2011) apresenta as

mesmas classificações de Jannach et al., (2011) acrescentando a abordagem

Page 23: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

22

demográfica. Apesar dessa diversidade as metodologias mais frequentes são:

Abordagem colaborativa, baseada em conteúdo e Híbrida, (BALABANOVIC;

SHOHAM, 1997; ADOMAVICIUS; TUZHILIN, 2005).

Segundo o estudo de Dell'aglio et al. (2010) sistemas baseados em

conhecimento sugerem itens aos usuários de acordo com o entendimento de ambas

características de itens e perfis de usuários. Assim é necessária uma modelagem

completa destas informações, para que o processo de recomendação de itens esteja

em acordo com as necessidades. Devido a esta extensa participação humana

requerida, esta abordagem não será considerada, visto que o sistema proposto visa

utilizar agentes inteligentes que permitam autonomia no processo. Também não

será explorada a abordagem demográfica, pois conforme Ricci et al. (2011) embora

muito popular em literatura de marketing, existe relativamente pouco estudo no

campo dos SR.

Esta pesquisa compreende, portanto, técnicas e trabalhos que estejam dentro

do escopo de abordagem colaborativa, abordagem baseada em conteúdo e

possíveis soluções híbridas. A escolha do paradigma de recomendação influencia o

tipo de dados de entrada necessários. O quadro 1 mapeia dados utilizados de

acordo com as abordagens.

Quadro 1 – Tipos de dados utilizados nas abordagens

Fonte: Adaptado e traduzido de Jannach et al.(2011, p. 128)

Segundo o quadro são necessários conhecimentos sobre perfis de usuários,

dados da comunidade e características dos itens. Nas seções seguintes estas

abordagens são contextualizadas.

2.3.1 Abordagem colaborativa

Page 24: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

23

Este tipo de abordagem parte da observação de que pessoas frequentemente

utilizam recomendações de outras pessoas para tomar decisões. Estas relações são

ditas colaborativas, visto que existe uma comunidade que compartilha informações

entre seus membros com intuito de ajudar o próximo e obter ajuda.

Segundo Ricci et al. (2011) na ideia original a recomendação é feita ao usuário

atual através de itens que usuários semelhantes a ele gostaram no passado. Estes

usuários são definidos de acordo com a semelhança de seus históricos de

classificação com o histórico de classificação do usuário atual.

É considerada simples, eficiente e capaz de produzir recomendações

personalizadas com boa precisão, além de não ser necessário nenhum

conhecimento das características dos itens. Ao final obtêm-se uma lista de itens não

vistos que foram bem classificados no processo. (JANNACH et al., 2011).

Segundo o estudo de Jannach et al. (2011) comumente são necessários:

a) Uma medida de similaridade para gerar a vizinhança de usuários semelhantes

ao atual;

b) Um algoritmo para gerar a recomendação a partir desses vizinhos;

c) Métodos para coletar a opinião dos usuários sobre os itens recomendados.

Na forma básica uma matriz de classificações de usuário-item serve de entrada

e produz duas saídas: uma predição indicando quanto um usuário vai gostar ou não

de um item e uma lista de N itens recomendados de acordo com seus interesses.

2.3.1.1 Recomendação dos vizinhos próximos baseado em usuário

O processo de utilizar informações de outros usuários, através da comparação

de seus históricos, visa realizar uma predição de quanto um usuário irá gostar de um

item ainda não visto por ele, que os demais usuários já tenham classificado. O

método de procura por vizinhos mais próximos ao usuário é baseado nessa

premissa, e assume que se estes gostos eram semelhantes no passado, irão se

manter semelhantes no futuro.

Esta técnica consiste em pelo menos duas etapas, sendo uma para definição

da vizinhança, calculando-se similaridade de históricos, e a segunda que gera a

predição baseada nos usuários selecionados. A seleção dos vizinhos impacta

diretamente no desempenho computacional, pois o cálculo de similaridade ocorre

Page 25: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

24

para cada usuário. Uma quantidade muito alta pode levar muito tempo para gerar a

predição, enquanto um número muito baixo pode influenciar a precisão da

recomendação.

Segundo Jannach et al. (2011) existem duas soluções tipicamente utilizadas:

a) Valor mínimo de similaridade : Estipula-se um valor mínimo de semelhança

que definirá se o usuário fará parte da vizinhança. Se este valor for muito alto,

indicando alto grau de similaridade, vários usuários podem acabar recebendo

uma vizinhança muito pequena e determinados itens não receberão

predições. Este problema é conhecido como redução de cobertura. Caso o

valor seja muito baixo pode ocorrer perda de precisão na recomendação.

b) Quantidade específica de vizinhos : A vizinhança é reduzida a um número

pré-definido para evitar que a utilização de muitos usuários influencie

negativamente a precisão. Desta forma o valor não pode ser alto para que

não sejam utilizados usuários com similaridade baixa. Nos experimentos de

Herlocker et al. (1999) quantidades inferiores a dez vizinhos apresentaram

impacto negativo, enquanto testes realizados pelo sítio MovieLens

(http://www.movielens.org) em bases muito grandes de sistemas reais,

indicam uma quantidade razoável entre vinte e cinquenta pessoas.

Jannach et al. (2011) apresenta duas fórmulas efetivas e de complexidade

razoável para o cálculo de similaridade e predição. Para exemplificar seu

funcionamento serão consideradas as seguintes classificações:

Quadro 2 – Base de classificações para recomendação colaborativa

Fonte: Traduzido de Jannach et, al. 2011, p. 14

O quadro 2 apresentada mostra o histórico de classificações de cinco usuários

para cinco itens disponíveis, onde o item 5 ainda não foi visualizado ou adquirido

Page 26: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

25

pelo usuário Alice. O objetivo é definir se este item fará parte da lista de

recomendações deste usuário, identificando os vizinhhos e utilizando as

classificações atribuídas por eles para o item 5. Assim o primeiro cálculo utilizado é o

de similaridade, onde as convenções necessárias são apresentadas a seguir:

a) 1 2 nU {u ,u ,..., u }= : Grupo de usuários.

b) 1 2 nP {p ,p ,..., p }= : Grupo de itens.

c) R: Matriz n x m de classificações i, jr com i 1...n∈ e j 1...m∈ . Para itens

ainda não vistos pelo usuário a posição i, jr correspondente não terá valor

definido.

d) Valores de classificação: 1 a 5 indicando o grau de satisfação do usuário,

obtidos do cálculo de similaridade sim(a,b) apresentado a seguir.

Estas definições são utilizadas em uma medida comum de similaridade para

sistemas colaborativos, denominada Coeficiente de Correlação de Pearson. Assim o

cálculo para similaridade de Alice e o usuário um é realizado a seguir:

O resultado é o grau de similaridade entre os dois usuários, que na Correlação

de Pearson considera valores entre -1 e 1, indicando o grau de similaridade. Os

valores de similaridade para os usuários dois, três e quatro são respectivamente

0.70, 0.00 e -0.79.

Estes resultados demonstram que o cálculo torna os usuários comparáveis de

acordo com seu comportamento, não sendo afetado negativamente nos casos em

que fornecem apenas classificações altas ou que não classificam nenhum item com

valor máximo. Assim, mesmo quando os valores de classificação forem diferentes é

Page 27: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

26

possível identificar comportamentos semelhantes, conforme demonstrado na

comparação na figura 2.

Figura 2 – Comparação do usuário Alice com dois usuários

Fonte: Traduzido de Jannach et al. (2011) p. 15

Embora os valores não sejam os mesmos, é possível identificar uma

semelhança no histórico de Alice e do usuário 1. Com esta comparação aplicada a

todos os usuários é possível decidir quais formarão a vizinhança. Na próxima etapa

a seguinte fórmula é utilizada para realizar a predição do item em questão, ainda

sem classificação, pra o usuário atual:

Assim a predição de Alice para o item desejado (item cinco) será: 4 + 1/ (0.85 +

0.7) * (0.85 * (3 - 2.4) + 0.70 * (5 - 3.8)) = 4.87. Considerando a escala de um a cinco

nesta técnica a predição de 4.87 gerada para o item cinco apresenta grandes

chances de aceitação do usuário. Dados estes cálculos é possível obter uma

predição para itens não vistos por Alice.

Esta abordagem sofre do problema de início frio, pois se não houver históricos

não é possível aplicar o cálculo considerando a similaridade. Além disso, o tamanho

Page 28: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

27

da base de usuários e itens disponíveis pode influenciar negativamente o tempo dos

cálculos, pois os usuários podem classificar um grupo pequeno de itens.

2.3.2 Abordagem baseada em conteúdo

O processo básico consiste em comparar atributos ou palavras-chave de itens

classificados anteriormente pelo usuário, com os atributos de itens ainda não vistos,

a fim de recomendar aqueles que possam despertar seu interesse (JANNACH et al,

2011).

Segundo Meteren e Someren (2002) sistemas de filtragem baseada em

conteúdo selecionam itens através da correlação entre o conteúdo dos itens, muitas

vezes extraído de forma automática pela aplicação, e as preferências do usuário.

Esta ideia contrasta com a filtragem colaborativa que escolhe itens com base na

correlação entre pessoas com preferências similares. Uma definição similar é

oferecida por Lops et al. (2011):

[...] o processo básico realizado por um sistema de recomendação baseado em conteúdo consiste em combinar os atributos de um perfil de usuário, no qual preferências e interesses estão armazenados, com os atributos de um dado objeto (item) a fim de recomendar ao usuário novos itens interessantes.

Esta abordagem é originada do campo de Recuperação da Informação, e por

isso é amplamente utilizada em domínios de itens com conteúdo textual como

notícias, páginas web e artigos (ADOMAVICIUS; TUZHILIN, 2005). Em geral o perfil

de usuário é composto por uma série de palavras-chave com pesos associados,

indicando o grau de importância da palavra no processo de recomendação.

Para isso, geralmente as estruturas de dados são criadas com características

extraídas do texto do documento, onde frequentemente são usados pesos para

determinar a importância de cada termo. Caso o usuário demonstre interesse em

algum item estes pesos podem ser adicionados às palavras correspondentes em

seu perfil. Este processo é considerado simples e rápido, e empiricamente

conhecido por prover bons resultados (BUCKLEY et al. apud BALABANOVIC;

SHOHAM, 1997).

Page 29: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

28

Para usuários novos não existem opções de conteúdo a ser oferecido, visto

que nenhum objeto foi acessado e não existe um histórico de preferências. Todavia

devido à necessidade de armazenar e atualizar dados dos itens um único usuário

pode tornar o sistema funcional (JANNACH et al., 2011), pois todo objeto representa

uma recomendação em potencial. Além disso, poucas classificações ou interações

são necessárias para encontrar conteúdos semelhantes.

2.3.2.1 Collaborative Tagging

Conforme descrito à abordagem baseada em conteúdo trabalha

tradicionalmente através de palavras chave, sejam elas extraídas pelo sistema ou

inseridas manualmente. Independente da forma de extração é preciso que as

informações apresentem o maior número de características possíveis.

Esta metodologia, apesar de demonstrar resultados satisfatórios, não permite

ao usuário definir quais palavras-chave são mais apropriadas ao item sob seu ponto

de vista. Conforme Balanovic e Shoham (1997) comumente os sistemas procuram

atribuir pesos a essas palavras e, caso o usuário classifique bem os itens, eles serão

ajustados para expressar maior importância para o usuário.

Porém, embora caracterizem personalização de recomendações, não oferecem

maneiras de compartilhamento e caracterização das palavras-chave por parte dos

usuários. Além disso, é essencial a intervenção de responsáveis para cadastro e

manutenção dos atributos caso o domínio não seja formado por itens textuais.

Devido ao ambiente web proposto por esta pesquisa e a natureza do conteúdo,

a metodologia conhecida por de Collaborative Tagging1 (CT) será utilizada para

aumentar a participação dos usuários e permitir a definição do conteúdo de acordo

com seus pontos de vista. Segundo Golder e Huberman (2005) CT é o processo

pelo qual os usuários adicionam meta-dados ou tags (palavras-chave) em forma de

palavras a conteúdos compartilhados.

No estudo realizado por Golder e Huberman (2005) é dito que as palavras-

chave devem ser organizadas por alguma taxonomia tradicional. Isto é necessário

para relacionar semanticamente o conteúdo a fim de evitar ambiguidades e tratar

1 Tradução: Marcação colaborativa.

Page 30: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

29

palavras sinônimas. Em contraste, CT (também chamado de Social Bookmark –

marcação social) não é nem exclusiva, nem hierárquica e, portanto, pode em

algumas circunstâncias oferecer vantagens sobre taxonomias hierárquicas.

Utilizando o exemplo de Golder e Huberman (2005), se supõe um pesquisador

que obtém um artigo na internet sobre espécies de gatos nativas da África. A ideia

das taxonomias mais comuns seria organizar todos os seus artigos baixados numa

hierarquia de pastas. Existem várias opções hipotéticas, dos quais quatro foram

consideradas:

1. \artigos\gatos : Diretório contendo todos os artigos sobre gatos;

2. \artigos\África: Diretório contendo todos os artigos sobre a África;

3. \artigos\África\gatos: Todos os artigos sobre gatos africanos;

4. \artigos\gatos\África: Todos os artigos de gatos da África.

Cada escolha reflete uma decisão sobre a importância relativa de cada

característica. Os nomes de pasta e os níveis são por eles mesmos informativos e

descrevem a informação mantida dentro deles. (JONES et al. apud GOLDER;

HUBERMAN, 2005).

Os dois primeiros diretórios informam que são pastas sobre gatos e África, mas

eliminam todas as informações sobre outras categorias. Outros dois organizam

arquivos por ambas as categorias, mas estabelecem a primeira como mais saliente,

e a segunda como secundária, sendo mais específica. Apesar dessas limitações, há

várias razões para impor tal organização. Embora possa haver muitas pastas, em

uma hierarquia eficiente de arquivos organizada e sem ambiguidades, limita o

conteúdo da pasta.

Diferente de uma pesquisa baseada em palavras-chave aonde o pesquisador

não pode ter certeza se a consulta retornou todos os itens relevantes, uma

hierarquia de pastas assegura que todos os arquivos estão contidos em um lugar

estável (GOLDER; HUBERMAN, 2005).

Em contraste a um sistema hierárquico de arquivos, um sistema de CT,

diferentemente do sistema descrito anteriormente, pode identificar tal artigo sob uma

grande variedade de classificações simultaneamente, incluindo “África” e “gatos”,

bem como “animais”, mais genericamente, ou ainda ”chitas”, mais especificamente.

Como exemplo, supondo usuários fictícios, algumas possíveis marcações seriam:

a) Usuário Paulo marcando com: “Artigo escolar”, ”Felinos”, “África”;

Page 31: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

30

b) Usuário Lucas marcando com: “Biologia”, “Gatos”;

c) Usuário Maria marcando com: “Animais”.

Conforme o exemplo, diversas palavras podem ser úteis para detalhar os itens

do catálogo aumentando a possibilidade de serem retornados na pesquisa do

usuário ou na busca por similaridade.

LIANG et al. (2009) mostra em seu estudo uma metodologia para utilização de

CT baseada em relações de três dimensões utilizando informações de usuários, tags

e itens. O trabalho de Tso-Sutter (TSO-SUTTER et al. apud LIANG et al., 2009),

citado no estudo, procura estender a técnica através da utilização das tags como

itens adicionais. Porém se mostra limitado ao tratar somente tags utilizadas pelos

usuários como classificação implícita, ignorando medidas de similaridade nas

relações de tags e itens.

Os resultados obtidos por Liang et al. (2009) demonstram que considerar essas

três dimensões leva a resultados mais precisos, sendo que o processo é aplicado

para cada usuário. No entanto é necessário que o sistema controle a quantidade e a

coerência dessas tags para que não ocorram atributos controversos e para evitar

que quantidades muito grandes de palavras sejam associadas ao mesmo item.

2.3.3 Abordagens híbridas

A construção de sistemas híbridos combina os pontos fortes de diferentes

algoritmos ou modelos para superar alguns dos problemas e deficiências,

constituindo a motivação para diversas pesquisas no campo. A utilização conjunta

de estratégias é uma alternativa utilizada tanto para obtenção de resultados mais

satisfatórios, com recomendações mais precisas, como para otimização dos

processos (RICCI et al., 2011).

Um sistema de recomendação poderia ser aprimorado através da combinação

das técnicas colaborativas e técnicas baseadas em conteúdo, aplicadas em conjunto

quando o conhecimento sobre usuários e informações detalhadas sobre os itens

individuais estão disponíveis. Na prática são descritos como combinação de

algoritmos ou componentes de recomendação (JANNACH et al, 2011).

Page 32: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

31

Segundo Ricci et al, (2011) um sistema híbrido combinando técnicas de

abordagens A e B tenta usar as vantagens de A para corrigir as desvantagens de B

(RICCI et al., 2011). O autor também ilustra uma possível situação de combinação:

[...] métodos de filtragem colaborativa sofrem do problema de itens novos, ou seja, não podem recomendar itens sem classificação. Isto não limita abordagens baseadas em conteúdo visto que a previsão de novos itens é baseada em sua descrição, que normalmente estão facilmente disponíveis.

As dificuldades e melhorias encontradas, no entanto, são particularidades de

cada modelo, cujos resultados servem como base para futuras melhorias, e não

como uma solução aplicável para todas as soluções híbridas. Este contexto será

explorado no decorrer deste estudo onde o modelo proposto mostra a combinação

das técnicas a fim de construir um modelo adequado.

2.4 Perfil de usuário

Para a formação do perfil de usuário nesta pesquisa são consideradas as

abordagens de colaboração entre os usuários e a marcação de conteúdo com a

utilização tags. Assim dois trabalhos serão utilizados como base de fundamentação

para a coleta de preferências.

No trabalho de Burke (2002) a forma colaborativa é expressa por um vetor de

itens e suas classificações, continuamente atualizada conforme o usuário interage

com o sistema. Assim, a forma de coleta explícita que o sistema irá utilizar, permite

ao usuário decidir se quer ou não registrar um valor de utilidade para o item, através

de uma escala com os seguintes valores para expressar a opinião:

a) Nada: O item não representa nenhuma utilidade;

b) Pouco: O item representa utilidade baixa;

c) Razoável: O item oferece certa utilidade;

d) Bastante: O item demonstra ser muito útil;

e) Muito: O item satisfaz a necessidade por completo;

A opção selecionada será armazenada na base de classificações,

representando quanto o item foi útil ao usuário. A alteração de preferências ao longo

do tempo pode influenciar nos itens oferecidos. Embora nesta abordagem se

pretenda oferecer itens não vistos, a combinação de estratégias com a CT pode

Page 33: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

32

eventualmente retornar o mesmo item em pesquisas futuras, e dependendo da

necessidade atual, o mesmo pode receber outra classificação.

Na coleta implícita, seguindo o trabalho de Liang et al. (2009) as informações

necessárias, considerando um usuário u são:

a) Tu : Conjunto de tags do usuário u ;

b) Pu : Conjunto de itens marcados por u ;

c) iTP : Relação entre as tags e os itens;

O perfil de u é então expresso por i i i iUF = (Tu , Pu , TP ) , enquanto o perfil de

todos os usuários é denotado como UF , sendo iUF={UF|i=1..n } . Devido a essa

classificação não ser espontânea, o sistema simplesmente assumirá que ele

apresentou interesse nas palavras relacionadas ao item. Os detalhes do modelo

serão descritos no capítulo 5, bem como as demais notações necessárias para

calcular a similaridade, gerando a vizinhança e calculando as predições.

Para que os dois tipos de coleta e as relações necessárias sejam analisados,

as informações serão armazenadas em um de banco de dados local. Assim, os

agentes propostos realizarão a procura e atualização dos dados de forma mais

efetiva. A figura 3 ilustra as entidades de dados básicas necessárias para o perfil.

Figura 3 – Dados básicos para o perfil de usuário

Fonte: Autoria própria, 2012.

2.5 Considerações finais

Conforme apontado por Burke e Ramezani (2011), sistemas de recomendação

são projetados considerando a interação dos usuários. Independente da abordagem

é necessário entender suas preferências e refinar os resultados de acordo com elas.

Este trabalho se utiliza de duas abordagens, para melhorar a precisão das

recomendações.

Page 34: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

33

A metodologia colaborativa apresentada por Jannach (2011) permite que as

opiniões da comunidade sejam aproveitadas para ajudar os indivíduos. No entanto,

o problema conhecido como início frio, torna inviável o processo quando não há

históricos disponíveis. Este problema pode ser agravado se a base de usuários e

itens for muito grande, gerando uma matriz em memória muito esparsa com poucos

itens classificados. Pode ser necessário muito tempo de utilização do sistema para

começar a gerar recomendações que tendem a ser imprecisas, no início, pela

insuficiência de informações comportamentais.

Assim a técnica de CT é apresentada com a finalidade de aproveitar

informações dos itens no processo. Embora inicialmente o sistema tenha poucas, ou

nenhuma, tag de usuário para comparação, os itens podem ser cadastrados com

palavras chaves por usuários com privilégios adequados. Conforme apontado por

Jannach et al. (2011), em filtragem baseada em conteúdo, um único usuário poderá

iniciar o processo de recomendações, pois as informações dos itens estarão

disponíveis desde o começo.

Estas abordagens apresentam diferenças em principalmente em três aspectos

práticos:

a) Tempo de processamento.

b) Algoritmos e medida de similaridade.

c) Dados utilizados no cálculo.

Page 35: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

34

3 AGENTES INTELIGENTES

A IA é um campo da ciência da computação que estuda a utilização de técnicas

inteligentes para realização de tarefas especificas. Entre diversos subcampos estão

os agentes inteligentes, que podem ser vistos como programas inteligentes que

apresentam autonomia para cumprir determinados objetivos (RUSSEL; NORVIG,

2004).

Russel e Norvig (2004) utilizam a seguinte definição:

Um agente é tudo que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores.

Assim, a composição de um agente básico é descrita a seguir (RUSSEL;

NORVIG, 2004):

a) Percepção : São as entradas perceptivas do agente, correspondentes a

eventos ocorridos no ambiente, em qualquer momento dado.

b) Sequência de percepções : Histórico de tudo que o agente já percebeu. As

ações podem mudar considerando a percepção atual ou todo o histórico;

c) Função de agente : Expressa em termos matemáticos. Mapeia qualquer

sequência de percepções específica para uma ação a ser realizada.

A função de agente é comumente expressa por uma tabela, onde para todas as

sequências possíveis de entrada existe uma ação correspondente. Em geral é

inviável a utilização na prática devido à vasta quantidade de dados a serem

mantidos. Esta é uma descrição matemática abstrata representada externamente ao

agente. (RUSSEL; NORVIG, 2004).

A partir desses elementos espera-se que o agente possa agir racionalmente,

ou seja, fazendo tudo de forma correta. Segundo Russel e Norvig (2004) o

comportamento correto é baseado nas ações que farão o agente obter o maior

sucesso possível. É necessário então algum método de medir o sucesso.

Juntamente com a descrição do ambiente e dos sensores e atuadores, é possível

especificar de forma completa a tarefa que o agente deve realizar.

Assim, independente do tipo de agente utilizado e do contexto onde está

aplicado, o comportamento racional deve ser analisado sobre quatro aspectos

(RUSSEL; NORVIG, 1995):

a) Uma medida de desempenho de atuação, que define o grau de sucesso;

Page 36: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

35

b) Tudo que o agente tenha percebido até o momento;

c) O que o agente sabe sobre o ambiente;

d) As ações que o agente pode realizar.

Para cada possível sequência de percepções, um agente racional deve

selecionar uma ação aonde é esperado que sua medida de desempenho seja

maximizada.

3.1 Ambientes

Esta seção segue o estudo de caracterização de ambientes realizado por

Russel e Norvig (2004).

Os ambientes onde os agentes atuam, chamados de ambientes de tarefas,

podem ser descritos como problemas para os quais os agentes racionais são as

soluções. Ao projetar um agente a primeira etapa deve ser especificar da forma mais

completa possível o ambiente de tarefas.

Apesar da grande variedade de ambientes existentes é possível identificar uma

quantidade reduzida de dimensões ao longo das quais os ambientes podem ser

separados em categorias. Na maioria das vezes determinam as técnicas

necessárias para implementar os agentes, influenciando fortemente o projeto. Essas

dimensões são contextualizadas a seguir:

a) Completamente observável (CO) x parcialmente observ ável (PO) : Em

ambientes CO o agente tem acesso ao estado completo do ambiente em

cada instante, considerando fatores relevantes para o agente. São

convenientes porque o agente não precisa manter qualquer dado interno para

controlar o mundo. Um ambiente é dito PO quando existem ruído ou sensores

imprecisos, ou quando partes do estado estão ausentes nos dados dos

sensores;

b) Determinístico x estocástico: Se o próximo estado é completamente

determinado pelo estado atual e pela ação executada pelo agente dizemos

que o ambiente é determinístico, caso contrário é estocástico. Em princípio

um agente não precisa se preocupar com a incerteza em um ambiente CO e

determinístico. Porém se for PO ele poderá parecer estocástico;

Page 37: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

36

c) Episódico x Sequencial : Nos ambientes episódicos a experiência do agente

é dividida em episódios atômicos, onde cada um consiste na percepção do

agente e, após, a execução de uma única ação. É necessário que o próximo

episódio não dependa das ações executadas em episódios anteriores, ou

seja, a escolha da ação no episódio só depende dele mesmo. São ambientes

muito mais simples porque o agente não precisa pensar a frente.

Contrastante a isto, nos ambientes sequenciais a decisão atual pode afetar

decisões futuras;

d) Estático x dinâmico : Se um ambiente puder se alterar enquanto um agente

está atuando, dizemos que o ambiente é dinâmico para este agente, caso

contrário ele é estático. Ambientes estáticos são fáceis de manipular porque o

agente não precisa continuar a observar o mundo enquanto decide sobre a

realização de uma ação, nem se preocupar com a passagem do tempo.

Ambientes dinâmicos continuamente perguntam ao agente o que ele deseja

fazer. Caso ele ainda não tenha decidido, o ambiente interpreta como a ação

de não fazer nada;

e) Discreto X Contínuo : Relacionado com a forma como o tempo é tratado

considerando as percepções e ações do agente. Por exemplo, um ambiente

de estados discretos como um jogo de xadrez tem um número finito de

estados distintos. O xadrez também tem um conjunto finito de percepções e

ações. Dirigir um carro é um problema de estado e tempo contínuos, pois a

velocidade e posição do carro e demais veículos passam por um intervalo de

valores contínuos, fazendo isso suavemente ao longo do tempo.

f) Agente único x multiagente: A distinção destes ambientes é bastante

simples. Por exemplo, um agente que resolve palavras-cruzadas, sozinho,

está inserido em um ambiente de agente único, enquanto um agente que joga

xadrez está em um ambiente de dois agentes. A distinção fundamental é

saber se o comportamento do agente B é ou não mais bem descrito como a

maximização de uma medida de desempenho cujo valor depende do agente

A. Por exemplo, em um jogo de xadrez a entidade oponente B está tentando

maximizar sua medida de desempenho que, pelas regras do jogo, minimiza a

medida de desempenho do agente A. Desse modo o ambiente do jogo de

xadrez é um ambiente de multiagentes competitivos.

Page 38: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

37

Por outro lado no ambiente de direção de um taxi, evitar colisões maximiza a

medida de desempenho de todos os agentes, tornando-o multiagente

parcialmente cooperativo. Também é parcialmente competitivo por que, por

exemplo, apenas um carro pode ocupar um espaço no estacionamento. Os

problemas de ambientes multiagente muitas vezes são diferentes daqueles

que surgem em ambientes de um agente, por exemplo, a comunicação com

frequência emerge como um comportamento racional em ambientes

multiagentes.

3.2 Tipos de agentes

Os agentes propostos para fundamentação possuem a mesma estrutura básica

composta pela percepção atual como entrada para os sensores que retornam uma

ação para os atuadores. O programa de agente (PA) toma apenas a percepção atual

como entrada, diferente da função do agente que recebe o histórico de percepções

completo.

No estudo de Russel e Norvig (2004). Quatro tipos de programas de agente

são propostos, incorporando princípios comuns a quase todos os sistemas

inteligentes. Estes agentes são contextualizados nas seções seguintes.

3.2.1 Agentes reativos simples

Tipo mais simples de agentes. Selecionam ações baseados na percepção

atual, ignorando o histórico de percepções. Por exemplo, supondo um agente

motorista de taxi, se um carro a frente frear, a entrada da luz de freio deve iniciar o

processo da ação de frenagem. Este fenômeno é chamado de "regra condição-

ação", escrita como "se carro-da-frente-esta-frenando então começar-a-frenar".

De forma geral primeiro deve ser construído um interpretador de uso geral para

regras condição-ação e depois criar conjunto de regras para o ambiente desejado.

Muitas vezes o agente funcionará somente se a decisão correta puder ser realizada

apenas com a entrada atual.

Page 39: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

38

3.2.2 Agentes reativos baseados em modelo

O modo mais efetivo de lidar com observação parcial é o agente controlar a

parte do mundo que ele não pode ver agora. O agente deve manter algum tipo de

estado interno que dependa do histórico de percepções, e assim reflita pelo menos

alguns dos aspectos não observados do estado atual.

A atualização de informações internas de estado à medida que o tempo passa

exige que dois tipos de conhecimento sejam codificados no programa do agente.

Primeiro são necessárias informações sobre o modo como o mundo evoluiu

independente do agente. Em segundo algumas informações sobre como as ações

do próprio agente afetam o mundo. Este conhecimento é chamado de "modelo do

mundo".

3.2.3 Agentes baseados em objetivos

Conhecer o estado atual do ambiente pode não ser suficiente para tomar uma

decisão, sendo necessárias informações sobre objetivos, descrevendo situações

desejáveis. O programa de agente pode combinar isso com informações dos

resultados de ações possíveis (as mesmas utilizadas para atualizar o estado interno

do agente reativo) a fim de escolher ações que alcancem o objetivo. A seleção pode

ser direta quando uma ação imediata alcança o objetivo ou complicada dependendo

da análise de longas sequências de ações pelo agente.

Este tipo de decisão difere das regras ação-condição pelo fato de envolver

considerações do futuro. É possível que este agente atualize seu conhecimento de

como realizar uma determinada tarefa, enquanto, para uma agente reativo seria

necessário reescrever muitas regras de condição-ação.

3.2.4 Agentes baseados em utilidade

Sozinhos os objetivos não são realmente suficientes para gerar um

comportamento de alta qualidade, pois embora possam existir diversas ações que

levem a um mesmo objetivo, os passos realizados podem ser diferentes. Por

exemplo, utilizar uma rua mais extensa que outra onde as duas levam ao local

Page 40: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

39

desejado. Chegar ao local simplesmente indica que o objetivo foi alcançado, mas

não se sabe se foi da melhor forma possível. Assim é implementada uma função de

utilidade que mapeia um estado, ou sequencia de estados, em um número real,

descrevendo o grau de satisfação associado.

Uma especificação completa dessa função permite decisões racionais quando

existem objetivos contraditórios, dos quais apenas alguns podem ser atingidos, a

função especifica o compromisso apropriado. Além disso, é útil quando existirem

vários objetivos que o agente deve alcançar e nenhum pode ser atingido com

certeza. Neste caso a função fornece um meio pelo qual a probabilidade de sucesso

pode ser ponderada em relação à importância dos objetivos.

3.3 Agentes de recomendação

Conforme evidenciado anteriormente tanto os ambientes quanto os tipo de

agentes podem variar em diversos aspectos. É necessário, portanto, a partir do

ambiente de tarefas especificado, que os agentes sejam projetados considerando as

propriedades e regras deste ambiente.

Vashisth e Bedi (2011) propõe uma arquitetura de agentes, empregados em

um sistema de recomendação, onde cada um assume um papel distinto e realizam

troca de informações entre si. Além de utilizar as técnicas híbridas baseada em

conteúdo e colaborativa, os agentes analisam as opiniões sobre os itens ofertados

para refinar predições futuras.

Cada agente executa um trabalho específico, atuando simultaneamente em

duas fases distintas: modelagem e recomendação. Para a fase de modelagem são

necessárias poucas entradas dos usuários. Na fase de recomendação o agente de

recomendações trabalha para gerar as listas baseado nos interesses aprendidos.

Fora o processo de coleta de dados na seção o restante pode ser realizado mesmo

se o usuário não estiver conectado, devido aos dados implícitos aprendidos. Isto

define que a divisão de funções é, portanto, fundamental em um sistema de agentes

(VASHISTH; BEDI, 2011).

Um agente, denominado agente de usuário realiza coleta de preferências do

usuário quando acessa o sistema e se comunica com outros agentes para obter

informações. Esta habilidade de comunicação está presente em todos os agentes.

Page 41: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

40

Existe um agente de gerenciamento de informações que armazena

informações dos itens juntamente com valores quantitativos que indicam o grau de

satisfação do usuário. Tais informações são atualizadas sempre que as preferências

armazenadas pelo agente de usuário apresentam mudanças.

O último agente é o agente de recomendação, que decide, requisitando

informações de outros agentes se a recomendação de um produto corresponde ou

não ao usuário. Este agente também é responsável pela validação de desempenho

das recomendações, medindo o número de recomendações corretas e a aceitação

do usuário (VASHISTH; BEDI, 2011).

3.4 Considerações finais

Os agentes inteligentes, conforme apresentado por Vashisth e Bedi (2011),

apresentam recursos de inferência e possuem conhecimento e habilidade de

comunicação, necessários para executar as tarefas de acordo com o contexto atual.

Este estudo demonstra a utilização multiagentes com objetivos e recursos para

sentir e atuar sobre o ambiente realizando tarefas específicas.

Os papéis de cada agente são projetados conforme fases distintas presentes

em sistemas de recomendação como coleta de dados, predição de valor de utilidade

para os itens e manutenção do perfil do usuário. Não são informados casos onde é

possível ocorrer situações onde os objetivos tornem-se contraditórios.

As características identificadas como pertinentes ao presente estudo serão

detalhadas na seção 5.2.

Page 42: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

41

4 TRABALHOS RELACIONADOS

Nesse capítulo são apresentados trabalhos que seguem a mesma linha de

pesquisa em sistemas de recomendação. Entre diversas fontes analisadas, estes

apresentam metodologias e arquiteturas com características importantes para a

solução proposta. O modelo final é descrito no capítulo 5.

4.1 A proposta de Vashisth e Bedi (2011)

Aborda um método baseado nos interesses dos usuários, denominado Interest-

Based Recommendation (IBR) empregado no sistema Interest-Based Recommender

System (IBRS). A técnica utiliza multiagentes autônomos e interativos. As

informações trocadas entre eles garantem habilidades de inferência e comunicação

para gerar recomendações. São utilizadas técnicas de recomendação colaborativa e

baseada em conteúdo sendo, portanto uma solução híbrida. Os agentes

empregados são descritos a seguir:

a) Agente do usuário : ativado quando o usuário acessa o sistema. Além de

realizar coletar de preferências e interesses na sessão atual, também se

comunica com outros agentes de usuários para obter informações. Com os

dados da sessão e os dados aprendidos, cria e mantém o modelo do usuário.

b) Agente de gerenciamento de informações : responsável por transformar um

item em um conjunto de atributos definidos pelo sistema. Mantendo valores

quantitativos que indicam quanto um usuário gosta de um item, a avaliação

de utilidade é então definida por este agente. Sua base de informações é

atualizada sempre que as preferências armazenadas pelo agente de usuário

apresentam mudanças.

c) Agente de recomendação : Através do conhecimento do agente de usuário e

das preferências armazenadas pelo agente de informações, este agente

decide se a recomendação de um produto corresponde ou não ao usuário.

Para este propósito são utilizadas técnicas de filtragem colaborativa e

filtragem baseada em conteúdo, em conjunto com o grau de utilidades

correspondente aos itens. Outra tarefa do agente é a validação de

Page 43: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

42

desempenho das recomendações, realizada pela análise do número de

recomendações corretas e sua aceitação pelo usuário.

Através da validação do agente de recomendação é decidido se uma operação

de reparo de recomendações é ativada ou não. Sua finalidade é melhorar as

recomendações atuais ajustando-as as preferências do usuário e oferecer

explicações de como seu comportamento foi interpretado e utilizado. O desempenho

das recomendações é passado ao agente de gerenciamento, para determinar se o

usuário gosta ou não gosta do item, através da utilidade que ele representa. A figura

4 mostra a arquitetura utilizada:

Figura 4 - Arquitetura do sistema IBD

Fonte: Traduzido de Vashisth e Bedi (2011)

Na fase de recomendação o agente de recomendação trabalha para gerar as

recomendações baseada nos interesses do usuário. Fora o processo de coleta de

dados na sessão o restante pode ser realizado mesmo se o usuário não estiver

conectado, devido aos dados implícitos aprendidos.

4.2 A proposta de Liang et al. (2009)

Aborda a utilização de Collaborative Tagging para realizar recomendações

personalizadas, sendo baseado em relações de três dimensões entre usuários, tags

e itens, propondo uma nova medida de similaridade e criação de perfil de usuário. O

diferencial apresentado nesse estudo é a exploração das relações de tags e itens

Page 44: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

43

para cada usuário, considerando a utilização de suas próprias tags para aumentar a

precisão. Três aspectos são utilizados para criar o perfil:

a) Tags usadas pelo usuário;

b) Itens marcados pelo usuário;

c) Relação entre as tags e os itens marcados.

As seguintes convenções são apresentadas para facilitar o entendimento dos

cálculos:

a) 1 2 nU (u , u ,..., u )= : Grupo de usuários

b) 1 2 nP (p ,p ,..., p )= : Grupo de itens marcados pelos usuários

c) 1 2 nT (t , t ,..., t )= : Conjunto de tags que foram usadas pelos usuários

d) i j kE(u t p ) {0,1}= : Função que especifica se o usuário iu usou a tag jt no

item kp

Para um usuário iu , com i 1..n= , o perfil é definido da seguinte forma:

a) iTu : conjunto de tags de iu , i j jTu {t | t T,= ∈ kp P,∃ ∈i j kE(u t p ) 1}= , iTu T⊆ ;

b) iPu : conjunto de itens de iu , i k kPu {p | p T,∈ jt P,∃ ∈ i j kE(u t p ) 1}= , iPu P⊆ ;

c) iTP : relação entre as tags de iu e o conjunto de itens,

i j k j k i j kTP { t ,p | t T,p P, E(u t p ) 1}= < > ∈ ∈ = ;

d) i i iUF (Tu ,Pu ,TPi)= define o perfil do usuário iu . O perfil de todos os

usuários é denotado como

UF, iUF {UF | i 1...n}= = .

Ocorre o processo de seleção de vizinhança, onde para medir a similaridade

entre dois usuários são utilizadas três medidas:

a) i jUTsim(u , u ) : Similaridade das tags dos usuários, medida pela porcentagem

de tags comuns usadas por dois usuários.

i jUTsim(u , u ) = i j

k

k

| Tu Tu |

max{| Tu |}

u U

Page 45: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

44

b) i jUPsim(u ,u ) : Similaridade dos itens dos usuários, medida pela porcentagem

de itens comuns marcados por ambos os usuários.

i jUPsim(u , u ) = i j

k

k

| Pu Pu |

max{| Pu |}

u U

c) i jUTPsim(u , u ) : Similaridade da relação tag-item dos usuários, medida pelo

percentual de relações comuns compartilhadas pelos dois usuários.

i jUTPsim(u , u ) = i j

k

k

| TP TP |

max{| TP |}

u U

Assim, a medida geral de similaridade entre dois usuários é definida como:

i j UT i j UP i, j UTP i jSimu(u ,u ) w *UTsim(u ,u ) w *UPsim(u u ) w *UTPsim(u ,u )= + +

Onde:

UT UP UTPw w w 1+ + = ,

Sendo UTw , UPw e UTPw os pesos para as três medidas de similaridade,

respectivamente.

A medida de similaridade entre dois itens é definida como:

i j PU i j PT i, j PUT i jSimp(p , p ) w * PUsim(p , p ) w * PTsim(p p ) w * PUTsim(p , p )= + +

Onde

PUw , PTw e PUTw são os pesos e sua soma é igual a um.

i jPUsim(p ,p ) , i, jPTsim(p p ) e i jPUTsim(p , p ) são definidos da seguinte

maneira:

a) i, jPTsim(p p ) : Similaridade de dois itens baseado na porcentagem de serem

colocados na mesma tag.

i ji j

k

k

| Tp Tp |PTsim(p ,p )

max{| Tp |}

p P

∩=

,

Onde kTp é o conjunto de tags do item kp . i j k jTpk= {t | t T,E(p , t ) 1}∈ = .

Page 46: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

45

b) i jPUsim(p ,p ) : Similaridade de dois itens baseado na porcentagem de serem

marcados pelo mesmo usuário.

i ji j

k

k

| Up Up |PUsim(p , p )

max{| Up |}

p P

∩=

Onde kUp é o conjunto de usuários do item kp .

i i j i j kUpk= {u | u U, t T,E(u , t , p ) 1}∈ ∃ ∈ = .

c) i jPUTsim(p , p ) : Similaridade de dois itens baseado na porcentagem de

relações tag-item em comum.

i ji j

k

k

| UP UP |PUTsim(p ,p )

max{| UP |}

p P

∩=

Onde jUP é o usuário e o grupo de itens da tag jt ,

j i k i k i j kUP { u , p | u U, p P,E(u t p ) 1}= < > ∈ ∈ = .

Dois métodos são propostos para recomendar itens ao usuário. O primeiro,

baseado em usuário, utiliza as listas de itens de outros usuários. O segundo é

baseado em item e considera a similaridade encontrada entre os itens. Sendo iC(u )

a vizinhança do usuário iu , para a abordagem baseada em usuário os itens

candidatos para iu são obtidos dos itens marcados pelos usuários em iC(u ) .

Para cada item candidato kp , baseado na similaridade entre iu e as

classificações implícitas de seus usuários vizinhos para kp denotado como jR(u , pk) ,

o valor da predição denotado como ui kA (u , p ) é calculado usando a seguinte

equação:

i j j k

j iui k

i

simu(u , u )*R(u , p )

u C(u )A (u , p )

| C(u ) |

∈=

Page 47: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

46

Os N itens de valor mais alto serão recomendados para iu . Para a abordagem

baseada em item, o valor de predição é calculado usando similaridade de itens

através da fórmula:

pk ji k

j i

simp(p p )A (u ,p )

p Pu

=∈

∑ .

4.3 A proposta de Ferro et al. (2011)

Um exemplo de sistema com composição de técnicas foi proposto por Ferro et

al. (2011), com a finalidade de realizar recomendações de materiais didáticos para

ambientes virtuais de aprendizagem. A arquitetura criada ilustra o contexto de

utilização de técnicas colaborativas e baseadas em conteúdo, adicionando uma

estratégia não personalizada.

A figura 5 a seguir demonstra a organização do componente de geração de

recomendações:

Figura 5 – Arquitetura do modelo de Ferro et al. (2011)

Fonte: Ferro et al. ,2011.

As etapas de geração são apresentadas a seguir:

Page 48: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

47

1. Através de filtragem colaborativa é gerada uma lista de materiais. Estes

itens possuem grau de premeditação correspondente ao do usuário em

relação ao material;

2. Através da técnica baseada em conteúdo é calculado um grau de utilidade

de cada item e uma nova lista é gerada com os mesmos itens ordenados

por este coeficiente;

3. Utilizando recomendação não personalizada a lista usada na primeira etapa

é novamente analisada para verificar os itens de melhor classificação no

sistema. Uma nova lista é gerada considerando-se o valor de classificação;

4. As três listas são então utilizadas para encontrar o grau de utilidade híbrida

de cada item.

A última lista gerada permite a geração de recomendações das seguintes

formas:

a) Itens adquiridos e avaliados positivamente por usuários similares;

b) Itens semelhantes a outros itens já adquiridos no passado pelo próprio

usuário;

c) Itens bem classificados no AVA devido à quantidade de usuários que os

adquiriram.

O trabalho exemplifica como combinar estratégias de recomendação

diferenciadas em um modelo híbrido considerando abordagem de usuários, de itens

e utilizando uma estratégia não personalizada como recuso para estender a forma

de ofertar itens. Porém não resolve um dos problemas de SR, que é à entrada de

novos usuários sem histórico de utilização.

4.4 Considerações finais

Os trabalhos previamente descritos apresentam características e abordagens

relevantes a esta pesquisa. A arquitetura proposta por Vashisth e Bedi (2011) será

usada como base para definição dos agentes inteligentes e definir e como se

comportarão em um ambiente de tarefas multiagentes. As características

apresentadas no capítulo 3 sobre agentes inteligentes servirão para classificar e

identificar os agentes necessários.

Page 49: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

48

Tanto a divisão de tarefas quanto a combinação de técnicas colaborativa e

baseada em conteúdo, serão exploradas a fim de se alcançar um comportamento

racional dos agentes que satisfaça a metodologia híbrida proposta. Com o ambiente

e os agentes definidos, as técnicas empregadas serão executadas de forma

independente.

Esta característica é herdada do trabalho apresentado por Ferro et al. (2011),

onde as técnicas são executadas em etapas diferentes. Será feita uma adaptação

para o modelo, proposto no capítulo 5, onde os algoritmos e passos utilizados não

são executados sequencialmente sobre uma lista, mas sim atribuídas a agentes

específicos que trabalham de forma independente. Os resultados são informados a

outro agente responsável por analisar essas listas e criar uma única lista final de

itens recomendados

As estratégias a serem executadas separadamente nos agentes são:

a) Filtragem colaborativa, empregando a recomendação baseada nos vizinhos

próximos, apresentada por Jannach et al. (2011) na seção 2.3.1.1;

b) Filtragem baseada em conteúdo utilizando a metodologia proposta por Liang

et al. (2009) na seção 4.2. As fórmulas apresentadas serão empregadas

como solução para trabalhar com a CT.

Page 50: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

49

5 PROPOSTA/MODELO

O modelo contempla um conjunto de agentes, os quais constituem um

ambiente multiagente cooperativos. Assim, conforme as definições para o modelo

pretendido nesta pesquisa foi identificada a necessidade de utilizar uma solução

híbrida com técnicas previamente apresentadas. A figura 8 ilustra a organização dos

agentes para atender as solicitações.

Figura 6 - Modelo conceitual do sistema

Fonte: Autoria própria, 2012.

Os trabalhos de Vashisth e Bedi (2011), Liang et al. (2009) e Ferro et al. (2011)

possuem características relevantes que podem ser combinadas para este tipo de

modelo. Assim as melhores práticas identificadas, considerando-se o contexto e o

ambiente proposto, serão utilizadas na solução. O quadro 3 mostra essas

características.

Page 51: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

50

Quadro 3 - Características relevantes dos trabalhos relacionados

Fonte: Autoria própria, 2012.

A combinação dessas características é empregada a fim de se cumprir o

objetivo do sistema proposto: gerar recomendações com grandes chances de

aceitação do usuário, sob a investigação de quais itens possam ser úteis.

5.1 Modelo

Conforme as definições apresentadas por Russel e Norvig (2004),

primeiramente é necessário, entender o ambiente onde os agentes atuarão. Devido

a algumas características serem determinadas sob o ponto de vista de cada agente,

são apresentados inicialmente papéis que cada um assume no sistema.

a) Agente de usuário (AGU) : Responsável por criar e atualizar o perfil de

usuário. Lida com o acesso (criando e gerenciando a sessão atual) e as

interações que o usuário realiza através do navegador. Estas interações

disparam eventos para o agente, que pode solicitar recomendações ao

agente de recomendação, realizar busca de acordo com termos inseridos no

módulo de busca e atualizar as classificações fornecidas aos itens; É um

agente baseado em modelo, visto que conhece as consequências de suas

ações e o mundo evolui independente do agente.

Page 52: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

51

b) Agente de recomendação (AGR) : Sua tarefa principal é atender a

solicitação de recomendações vinda do agente de usuário. Para isto recebe

informações do estado atual do ambiente, relativo às interações do usuário

capturadas pelo agente de usuário, e procura responder da melhor forma

possível. Para obter os itens recomendados dispara solicitações aos agentes

de CT e de colaboração, que realizam os processos de filtragem baseada em

conteúdo e filtragem colaborativa respectivamente. Com estes dados, o

agente de recomendação utiliza seu conhecimento e percepções para

combinar os resultados e refinar a lista para o usuário. É um agente baseado

em utilidade visto que procura alcançar um objetivo da melhor forma

possível.

c) Agente de CT (ACT) e agente de colaboração (ACO) : São agentes reativos

simples que recebem solicitações para executar as técnicas de filtragem. O

conhecimento necessário não envolve o estado atual do ambiente e a ação,

ou sequencia de ações, que o usuário manifesta no navegador. As únicas

informações consideradas são parâmetros passados pelo agente de

recomendação para customizar as etapas de busca.

Através desta descrição inicial dos agentes é possível interpretar o ambiente de

forma mais precisa. Este conhecimento prévio facilita a modelagem tanto dos

agentes quanto dos processos do sistema, principalmente na descrição das tarefas.

Além disso, permite identificar a existência de possíveis objetivos contraditórios,

incertos ou inalcançáveis. Assim o ambiente do portal foi classificado conforme o

quadro 4.

Page 53: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

52

Quadro 4 - Classificação do ambiente de tarefas

Fonte: Autoria própria, 2012.

Considerando que a navegação web é dinâmica, o sistema constantemente

observa qual evento foi gerado pelo usuário no momento atual, e, caso existam,

eventos gerados anteriormente que ainda estejam em execução.

O processo geral de recomendação é iniciado por eventos gerados a partir da

interface de usuário. A interface de usuário é o meio pelo qual o usuário utiliza o

sistema, ativando o comportamento do AGU. Dependendo da interação apresentada

este agente realiza acesso diretamente a base ou solicita recomendações para

AGR. Os ACO e ACT são os responsáveis pela execução dos algoritmos. A interface

e os agentes serão descritos nas seções seguintes.

5.2 Estrutura

Esta seção complementa o ambiente proposto para agentes fornecendo a

descrição arquitetural necessária. Conforme o resultado esperado com o modelo o

Page 54: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

53

sistema deve ser projetado sob uma arquitetura web, viabilizando acesso através da

rede, seja ela local ou via internet.

5.2.1 Arquitetura e tecnologias

Devido ao sistema realizar transmissão online de conteúdo, a arquitetura

cliente-servidor é essencial para realização das requisições. Neste tipo de

arquitetura há um hospedeiro sempre em funcionamento, denominado servidor, que

atende requisições de outros hospedeiros, denominados clientes. O exemplo mais

comum é uma aplicação de internet na qual um servidor web, que está sempre em

funcionamento, atende a requisição de browsers de hospedeiros clientes.

Quando recebe uma requisição de um objeto de um hospedeiro cliente, o

servidor web responde enviando o objeto requisitado a ele. O servidor web além de

estar sempre funcionando, mantém o mesmo endereço IP. A figura 6 ilustra a

arquitetura cliente-servidor utilizada no modelo, onde o usuário requisita o acesso ao

sistema, através de dispositivos que ofereçam um navegador para acesso a internet.

O pedido é enviado ao servidor de aplicação onde o sistema está efetivamente

sendo executado.

Figura 7 - Arquitetura do sistema de recomendação

Fonte: Autoria própria, 2012.

Page 55: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

54

No servidor de aplicação está instalado o servidor web necessário para tratar

as requisições e fornecer as páginas geradas com HyperText Markup Language

(HTML), utilizando o protocolo Hypertext Transfer Protocol (HTTP). Estas páginas

contêm os vídeos, recomendações e demais componentes da interface de usuário,

que serão detalhados na seção 5.2. O servidor web escolhido foi o Apache

(http://www.apache.org) na versão 2.2.11, disponibilizado sob a licença de software

livre (open source) de autoria da Apache Software Foundation2 (ASF).

No mesmo servidor está instalado o pacote e interpretador da linguagem PHP3

(Hypertext Preprocessor) na versão 5.3.0, utilizada para a programação do sistema.

É uma linguagem de programação de código aberto utilizada para criação de scripts,

que são executados a partir do servidor web. Foi utilizado o framework de

desenvolvimento ágil CakePHP (http://cakephp.org/), que oferece uma estrutura

para criação de aplicações web. Sua organização segue o padrão de arquitetura

MVC (Model-View-Controller), que separa a aplicação em três partes principais:

a) Camada de modelo : Representa a parte da aplicação responsável

pelo tratamento dos dados. Realiza processamento, validação, associação e

qualquer outra tarefa relativa às informações disponíveis. Formam a primeira

camada de interação com as bases de dados associadas ao sistema. Em

geral significam os conceitos principais em volta dos quais a aplicação é

construída.

b) Camada de visão : Responsável por montar e apresentação dos dados

modelados, utilizando a informação disponível para produzir qualquer página

que a aplicação necessitar. Também possui recursos para montar a saída dos

dados para XML (extensible markup language), apresentação de vídeos e

músicas, arquivos de texto simples, entre outros formatos.

c) Camada de controle : Responsável por tratar as requisições dos

usuários, retornando uma resposta com a ajuda do modelo e da camada de

visão. Aguarda requisições dos clientes, verifica a sua validade segundo

autenticação ou regras de autorização, solicita recuperação ou

processamento de dados para a camada de modelo e seleciona o tipo correto

de apresentação dos dados que o cliente deve receber.

2 Informações sobre a ASF podem ser encontradas em http://www.apache.org/foundation/ 3 Informações e download do PHP são disponibilizados em www.php.net

Page 56: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

55

O ciclo do CakePHP inicia com um usuário realizando uma requisição a uma

página ou recurso da aplicação, sendo processada por um dispatcher

(despachante), que seleciona o objeto controller (controlador) específico para lidar

com a solicitação. Este utiliza a camada de modelo para executar qualquer operação

necessária sobre os dados. O ciclo é ilustrado na figura 7.

Figura 8 - Ciclo de requisição no framework CakePHP

Fonte: Traduzido de http://book.cakephp.org/2.0/en/cakephp-verview/understanding-model-view-controller.html.

Os dados estão armazenados em um servidor secundário, onde está instalado

o banco de dados, aliviando os processos de busca e atualização de informações,

enquanto os agentes executam no servidor principal que lida com os eventos

disparados pela interação do usuário. O banco utilizado é o PostgreSQL, distribuído

sob a licença BSD (Berkeley Source Distribution), relativamente próxima ao domínio

público. A versão utilizada é a 8.3.

Ambos os servidores mantem comunicação entre si, porém somente o servidor

primário está conectado na internet e pode processar requisições. Assim a

separação é transparente ao usuário, que só visualiza o conteúdo apresentado pelo

navegador.

5.2.1.1 Interface de usuário

Conforme ilustrado, as operações possíveis na interface de usuário são

bastante simples e os elementos são mostrados de acordo com as interações

durante a navegação. No primeiro acesso são exibidas a caixa de pesquisa e uma

lista de recomendações. Estes componentes permitem a busca e seleção de

conteúdo, estando presentes em todas as páginas geradas pela camada de visão.

Page 57: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

56

Já a escala de classificação é disponibilizada quando o usuário seleciona um

vídeo, devido à escala ser para classificação individual, gerando o índice de

satisfação para o item que está sendo exibido e caracterizando a coleta explícita de

dados. O mesmo ocorre com o reprodutor de vídeo, pois somente é possível

visualizar um vídeo por vez. A figura 9 mostra o reprodutor de vídeo e a escala de

classificação padrão para todos os itens.

Figura 9 - Reprodutor de vídeo e escala de classificação

Fonte: Autoria própria, 2012.

A lista de recomendações oferece conteúdo de forma dinâmica, sendo

constantemente alterada de acordo com a interação do usuário no navegador e as

preferências armazenadas em seu perfil. Através do registro de acesso do usuário

no sistema, mediante e-mail e senha, as estratégias podem ser solicitadas, seguindo

a sequência apresentada no diagrama de atividades da figura 10.

Page 58: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

57

Figura 10 - Diagrama de atividades de acesso ao sistema

Fonte: Autoria própria, 2012.

Conforme o diagrama o sistema primeiramente identifica se o usuário é novo

ou se já interagiu com o sistema em algum momento. Para isto é verificado se existe

registro de histórico de classificações, pesquisa ou marcação de conteúdo. Caso

seja o primeiro acesso, o AGR gera uma lista não personalizada de itens. Esta

seleção é feita baseada em itens com as classificações globais mais altas atribuídas

pelos usuários.

Caso o usuário já tenha um perfil armazenado na base de dados, o AGR

solicita recomendações para o ACO e ACT. Ambos agentes aplicam suas etapas

para geração das predições e enviam suas listas resultantes ao AGR. Seja a lista

não personalizada ou gerada pelos agentes, ela será enviada ao AGU que

apresenta as recomendações ao usuário.

5.2.1.2 Agente de usuário

As ações realizadas no browser, considerando operações de sistema, são

percebidas pelo AGU, que atua como elo entre o usuário e os demais agentes. Cabe

a ele realizar a ação correspondente ao evento gerado.

Page 59: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

58

Devido às ações constituírem um conjunto finito de estados conhecidos, foi

utilizado um mapeamento de condição-ação, onde cada interação possível está

ligada a uma ação do agente. Cada comportamento é representado por um método

interno, estando ilustrados na figura 11, em um diagrama de casos de uso para este

contexto.

Figura 11 - Diagrama de uso do sistema

Fonte: Autoria própria, 2012.

O caso de uso “Acessar Sistema” é essencial a todos os outros, onde o usuário

deve se identificar através de seu endereço de e-mail e senha. Conforme o

diagrama de atividades o AGU identifica se esse usuário já possui histórico de

acesso, verificando seu perfil. O conteúdo inicial será composto pela caixa de

pesquisa e por uma lista de sugestões, independente da existência de histórico, pois

nenhum vídeo foi selecionado ainda.

A partir destes componentes o usuário pode visualizar os vídeos desejados. A

lista inicial é limitada em dez itens e pode ser obtida de duas formas:

a) Usuário novo : O AGU gera a lista não personalizada selecionando dez itens

com as maiores classificações globais. No caso de mais de dez itens com

mesmo valor de classificação são priorizados aqueles com maior quantidade

de tags adicionadas por usuários.

b) Usuário com histórico : O AGU solicita uma lista personalizada para o AGR,

que inicia o processo de gerar recomendações, retornando os itens gerados.

Page 60: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

59

A criação desta lista e o comportamento do AGR são explicados na seção

5.2.3.

Cada vídeo visualizado pelo usuário é registrado, para saber se houve

interação com o item. O AGU registra este acesso por item e não diretamente no

perfil do usuário. Esta é a informação mais básica de interação registrada no

sistema. Além deste registro é possível que o usuário atribua tags ou forneça uma

classificação para o item, indicando o grau de utilidade, através dos casos de uso

“Marcar conteúdo” e “Classificar conteúdo”.

Cabe ao AGU registrar essas informações, caracterizando a manutenção de

perfil do usuário, que será utilizado pelas técnicas dos ACO e ACT. Assim é

necessário que a base de dados armazene de forma coerente estas informações.

Na figura 12 o DER (diagrama entidade relacionamento) exibe o fragmento da base

de dados onde estão definidos os relacionamentos que formam o perfil de usuário.

Figura 12 - Diagrama entidade relacionamento do perfil de usuário

Fonte: Autoria própria, 2012.

Conforme o diagrama o sistema é capaz de obter os seguintes conhecimentos:

a) Tags utilizadas nos itens. O campo “origem” da tabela de tags identifica se a

tag foi originada pelo usuário ou cadastro do item;

b) Itens marcados pelo usuário;

c) Itens classificados pelo usuário;

d) Valor de classificação atribuído aos itens;

Page 61: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

60

e) Itens visualizados pelo usuário (campo “visualização” da tabela “usuario-

item”);

f) Através do campo “origem_preferencia” da tabela “usuário-item” o sistema

identifica se a visualização, marcação ou classificação fornecida pelo usuário

ocorreu em itens pesquisados por ele ou recomendados pelo AGR. Através

desta informação o AGR identifica se os itens oferecidos despertaram

interesse do usuário.

5.2.1.3 Agente de Recomendação

O AGR é o responsável por prover a lista final de recomendações, que será

apresentada ao usuário caso este já possua histórico de utilização do sistema. Sua

atividade é iniciada com a solicitação de recomendações pelo AGU. Neste momento

o agente sabe que o usuário já está ativo no sistema. Assim sua próxima tarefa é

requisitar as recomendações aos ACT e ACO, que executam as técnicas

colaborativa e baseada em conteúdo respectivamente.

Após processarem os itens os agentes de estratégia retornam suas listas para

o AGR, que deve formar uma lista final com os itens providos por ambas as

estratégias. A quantidade de itens e os valores de predição são analisados pelo

agente que realiza uma combinação de itens.

O processo inicia analisando a lista colaborativa a fim de selecionar os itens

com melhores classificações. Como os resultados dos cálculos de predição, de

ambas as estratégias, são números fracionários, o agente realiza um

arredondamento da seguinte forma:

a) Números com parte fracionária maior ou igual a 0.5 são arredondados para

cima

b) Números com parte fracionária menor que cinco são arredondados para

baixo.

Este processo é aplicado para ambas às listas. Antes de iniciar o processo de

formação da lista final, o AGR elimina duplicidade, caso exista, de itens presentes

nas duas listas. Após o ajuste dos valores o agente verifica a quantidade de itens

existentes para cada valor de predição. O quadro 5 ilustra este processo.

Page 62: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

61

Quadro 5 – Combinação de recomendações

Fonte: Autoria própria, 2012.

De posse destes dados o agente inicia o processo pela lista colaborativa.

Como seu objetivo é fornecer uma lista com os itens que ofereçam maiores chances

de aceitação o primeiro passo é contabilizar os itens que receberam valor de

predição quatro ou cinco.

Se a quantidade desses itens bem classificados for igual ou maior ao limite da

lista da interface, os itens são limitados a dez unidades e enviados ao AGU como

lista final de recomendação, sendo apresentada ao usuário.

Se esta soma for menor que dez, ela será preenchida com os melhores itens

da lista resultante da estratégia baseada em conteúdo. Ao final, a lista resultante é

ordenada de forma decrescente pelo valor de predição.

5.2.1.4 Agente de Colaboração

O ACO é responsável por executar as etapas da estratégia colaborativa,

encontrando similaridade entre usuários. Seu objetivo é definir um valor de predição,

indicando um grau de aceitação do usuário para itens não vistos por ele. O processo

ocorre em duas etapas sendo a primeira para definir a vizinhança, calculando a

similaridade, e a segunda para gerar a predição. Devido ao alto custo computacional

foram utilizadas as duas soluções propostas por Jannach et al. (2011), cujos valores

foram definidos a fim de não comprometer o desempenho do algoritmo:

Page 63: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

62

a) Valor mínimo de similaridade: Sendo os valores possíveis de -1 a 1, o valor

mínimo estabelecido para o modelo é 0.4, representando 40% de similaridade

mínima.

b) Redução de vizinhança a um valor fixo: A vizinhança foi reduzida a vinte

usuários.

O cálculo permite que os usuários sejam identificados como similares mesmo

quando fornecem apenas classificações altas ou quando não classificam nenhum

item com valor máximo da escala. Assim mesmo com valores diferentes o agente

identifica comportamentos semelhantes.

5.2.1.5 Agente de Collaborative Tagging

O objetivo do ACT também é obter uma lista de itens com predição para itens

não vistos, porém, empregando a estratégia baseada em conteúdo. Embora as

etapas sejam as mesmas definidas no ACO a técnica utilizada é baseada em

conteúdo, permitindo explorar relações de tags e itens para cada usuário. Para

usuários que marcaram conteúdo adicionando tags o cálculo mostra-se mais

preciso.

Este processo é baseado no estudo que Liang et al. (2009) que considera as

relações a seguir de tags usadas pelo usuário, itens que foram marcados por ele e a

relação entre as tags e os itens marcados.

Conforme evidenciado na seção 2.3.2.1, esta organização assegura que os

itens são armazenados de forma que as palavras-chave não sejam interpretadas de

forma negativa, como ocorre em taxonomias hierárquicas.

Embora o trabalho de Liang et al. (2009) , de onde foram obtidas as fórmulas

para o algoritmo, ofereça um cálculo para gerar predição baseada também em

usuários, o ACT realiza somente a predição baseada em itens, visto que o ACO

executa a estratégia que realiza análise de perfis.

Assim, de forma semelhante à abordagem colaborativa, a primeira etapa

consiste em determinar a vizinhança, onde as medidas utilizadas são baseadas em

similaridades dos itens. Para este agente somente a redução da vizinhança a um

valor fixo foi aplicada, também limitada em vinte usuários. As três medidas utilizadas

para calcular a similaridade baseiam-se em:

Page 64: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

63

a) Porcentagem de serem colocados na mesma tag.

b) Porcentagem de serem marcados pelo mesmo usuário.

c) Porcentagem de relações tag-item em comum.

A cada percentual é associado um peso, determinando a importância no

cálculo de predição segundo a equação:

i j UT i j UP i, j UTP i jSimu(u ,u ) w *UTsim(u ,u ) w *UPsim(u u ) w *UTPsim(u ,u )= + +

Conforme evidenciado os pesos UT UP UTPw w w 1+ + = definem o grau de

importância de cada medida de similaridade no cálculo. Estes valores foram

definidos da forma fixa no sistema como:

a) UTw 0.4= ;

b) UPw 0.3= ;

c) UTPw 0.3= ;

Foi definido assim um leve aumento do grau de importância na relação de itens

serem colocados na mesma tag. Esta escolha deve unicamente ao fato desta

pesquisa não realizar testes específicos relativos a como os pesos de cada medida

influenciam no processo. Assim valores medianos foram selecionados para manter o

equilíbrio no cálculo de similaridade.

Em outro cenário seria possível que estes valores fossem informados pelo

AGR, supondo que este seja sensível ao contexto e possuam conhecimento de

situações que apresentaram bons resultados devido a diferença de valores aplicada.

Ao final a fórmula para gerar predição baseada em itens é utilizada, caracterizando a

segunda etapa do processo.

Page 65: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

64

6 AVALIAÇÃO

O objetivo deste capítulo é descrever a avaliação do modelo desenvolvido.

Além de contextualizar o cenário de avaliação e a metodologia, são apresentados os

resultados obtidos nos testes.

6.1 Considerações iniciais

Esta seção contextualiza questões importantes definidas por Shani e

Gunawardana (2011) sobre avaliação de SR, sendo estruturada com base no

trabalho dos autores. No estudo são identificadas diversas maneiras possíveis de se

avaliar propriedades deste tipo de sistemas, considerando três principais cenários:

a) Avaliação sem usuários, ou seja, de forma automatizada;

b) Avaliação com usuários cientes de estarem testando o sistema;

c) Avaliação com usuários não sabem que um teste está sendo realizado

Segundo os autores a avaliação ideal ocorre com a participação de usuários,

sem conhecimento do teste sendo aplicado, refletindo uma situação real. Esta

diferença deve-se ao fato de que usuários cientes da aplicação do teste podem ser

tendenciosos ao avaliar os itens

Embora esta solução também seja mais adequada para a presente pesquisa,

devido, as seguintes dificuldades são encontradas:

a) Dificuldade de obtenção de voluntários;

b) Falta de tempo para realização dos testes;

c) Utilização de protótipo, que não permite esconder a realização do teste do

usuário.

A avaliação, portanto, seguirá premissas de avaliação em dados sem usuários,

ocorrendo de forma off-line. Conforme o estudo apresentado por Shani e

Gunawardana (2011) um experimento off-line é realizado utilizando-se dados

coletados previamente de usuários visualizando ou classificando itens.

Através desse conjunto de dados é possível simular o comportamento dos

usuários que interagem com o sistema de recomendação. Assume-se assim que o

comportamento adquirido na coleta dos dados será suficientemente similar ao

comportamento online quando o sistema de recomendação for construído. É

possível, portanto tomar decisões confiáveis baseadas em simulação.

Este tipo de experimento não requer nenhuma interação com usuários reais, e

permite comparar, com baixo custo, uma ampla quantidade de algoritmos e técnicas.

Page 66: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

65

O aspecto negativo para este tipo de teste é a limitação do conjunto de questões

que podem responder, sendo tipicamente sobre o poder de predição do algoritmo.

Deve ser assumido que o comportamento dos usuários, quando interagindo com o

sistema escolhido, será modelado antes da utilização do sistema. Por isso, não é

possível medir diretamente a influência do SR no comportamento.

Assim, o objetivo dos testes off-line é eliminar abordagens inapropriadas,

deixando um grupo menor de usuários serem testados por experimentos mais

custosos, como estudar casos de usuários ou experimentação online com o sistema

em funcionamento.

Os dados utilizados neste tipo de avaliação devem ser o mais próximo possível

dos dados reais que serão utilizados no Sistema. Deve-se ter muito cuidado para

garantir que não há nenhuma tendência nas distribuições de usuários, itens e

classificações selecionadas. Por exemplo, em casos onde os dados disponíveis são

obtidos de sistemas existentes, como em sistemas que não realizam

recomendações ou ainda que recomendem itens, mas a participação de seus

usuários seja muito baixa, uma filtragem prévia dos dados pode ser muito útil.

Este procedimento serve para eliminar usuários que não irão contribuir na

avaliação, por exemplo, com número insignificante de classificações, que somente

adicionarão ruído aos testes. Porém é preciso estar ciente que embora não exista

tendência na distribuição dos dados, existirá uma tendência no comportamento

regular dos usuários, afetando positivamente a execução do algoritmo.

Quando o sistema estiver em funcionamento por um período suficiente para

registrar maiores históricos de participação, existem grandes chances de que o

processo de geração de recomendações apresente resultados um pouco diferentes

dos obtidos durante o treino. Este fator é fortemente ligado a característica que está

sendo testada.

Por exemplo, se a velocidade ou quantidade de memória utilizada estiverem

sendo testadas, é importante considerar que no ambiente de execução existem

grandes chances do desempenho ser fortemente influenciado, pois o ruído que

antes não existia estará presente em situações reais. Porém se características

relativas a qualidade forem o foco do teste, o ambiente de testes pode fornecer

resultados suficientemente semelhantes.

Page 67: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

66

Além de uma organização adequada dos dados é necessário simular o

processo online, onde o sistema realiza predições ou recomendações, e o usuário

corrige as predições ou utiliza as recomendações. Isto é tipicamente realizado

armazenando-se dados de usuários e então escondendo algumas dessas interações

a fim de simular o conhecimento de como um usuário irá classificar um item, ou

quais recomendações ele irá utilizar. A forma de seleção das classificações e itens

deve procurar refletir, da forma mais próxima possível, os dados reais que serão

utilizados, considerando, por exemplo, a quantidade de itens que estarão

disponíveis.

6.2 Coleta dos dados

Devido aos usuários serem as únicas informações em comum na execução das

técnicas baseada em conteúdo e colaborativa, não foi possível encontrar em uma

única base de dados com todas estas informações disponíveis e inter-relacionadas.

Esse é um fator crítico para o modelo desta pesquisa, pois é necessário alimentar as

tabelas que compõem o perfil de usuário, conforme identificado no DER na seção

5.2.2. Assim, a solução para testar ambas as estratégias foi a obtenção de duas

bases distintas, onde todos os dados foram importados.

Para a abordagem colaborativa foram utilizados dados do sítio GroupLens, que

fornece dados coletados em períodos diversos. A base escolhida é disponibilizada

para testes públicos, sendo obtida diretamente pelo sítio. O tamanho é de 100Kb

(Kilobytes) e consiste de 100.000 classificações de 1.000 usuários em 1.700 filmes.

São fornecidas diversas informações sobre os usuários e itens, porém somente o

conteúdo que alimenta as tabelas de itens, usuários e classificações foi importado.

A figura 13 mostra o fragmento de um dos arquivos importados na base de

dados, contendo informações das classificações. As colunas representam,

respectivamente:

a) O identificador do usuário;

b) O identificador do item;

c) A classificação fornecida;

d) E a data e hora da classificação.

Page 68: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

67

Outros dois arquivos, que contém as informações de itens e usuários, são

fornecidos no mesmo padrão, em formato de texto. Devido a este formato de

disponibilização, as restrições e chaves para os relacionamentos foram definidos

conforme o as diretrizes do PostgreSql.

Figura 13 - Fragmento do arquivo de classificações e usuários.

Fonte: Grouplens research, 2012-07-27

A base obtida para a abordagem baseada em conteúdo foi criada no período

de setembro a dezembro de 2009, sendo disponibilizada no sítio

(http://datamob.org). Esta base reúne informações dos sítios Delicious

(http://delicious.com/), Dmoz (http://www.dmoz.org/) e StumbleUpon

(http://www.stumbleupon.com/) em um único arquivo no formato XML.

O arquivo é composto por informações de 12.616 URL’s (Uniform Resource

Locator) únicas, cujos usuários adicionam anotações sobre o conteúdo, marcam

como páginas favoritas e adicionam tags para facilitar busca e compartilhamento

com demais usuários.

As informações importadas foram:

a) Usuários;

b) Tags;

c) URL’s.

A inserção e configuração das tabelas também foram aplicadas diretamente

conforme diretrizes do PostgreSQL. A figura 14 apresenta a descrição das

informações contidas no arquivo.

Page 69: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

68

Figura 14 - Descrição das tags importadas no banco de dados

Fonte: Traduzido de nlp.uned.es, 2012.

Devido aos testes serem executados utilizando informações do banco de dados

do modelo, e não sendo necessários arquivos de vídeo para análise, os itens

obtidos, embora sejam filmes e páginas web, servem ao propósito de teste dos

algoritmos. Embora o domínio seja diferente, os itens contidos em cada base de

dados são todos do mesmo tipo, representados somente por filmes e URL’s.

Os totais de dados na base local são:

a) Usuários: 1.100;

b) Itens: 10.815;

c) Classificações: 31.211;

d) Tags: 21.000.

Page 70: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

69

6.2 Metodologia

Segundo Shani e Gunawardana (2011) uma forma pouco custosa e bastante

utilizada é coletar uma amostra de usuários de teste e definir um período de

amostragem, ocultando todos os itens após este período para cada usuário de teste.

Isso simula uma situação onde o SR é construído desde o período de testes, e faz

recomendações sem considerar qualquer novo dado que chega o após tempo

selecionado.

Outra alternativa é definir uma amostra de tempo de teste para cada usuário de

teste e esconder os itens de teste do usuário, depois desse período, sem manter

uma consistência temporal entre os usuários. Isto assume efetivamente que a

sequencia na qual os itens são selecionados é importante e não o tempo absoluto

quando a seleção é realizada.

Uma última alternativa proposta é ignorar o tempo. Neste caso primeiro é

definida uma amostra de usuários de teste e então definida uma amostra de itens

para esconder para cada usuário. Isto assume que os aspectos temporais da

seleção de usuários não são importantes. Isto ocorrerá obrigatoriamente quando as

informações de data e hora não estiverem disponíveis.

Uma medida comum utilizada em muitas pesquisas consiste em definir um

número fixo de itens conhecidos ou de itens escondidos por usuário de teste. Isto é

útil para diagnóstico de algoritmos e identificação de quais casos eles funcionam

melhor. Porém quando o objetivo for tomar decisões no algoritmo que será usado,

deve-se considerar o fato de que as recomendações serão apresentadas somente

para usuários que classificaram exatamente N itens ou que se espera que

classifiquem exatamente N itens a mais. Deve-se estar ciente que estas formas de

testes não permitem testar o comportamento dos usuários quando estiverem

interagindo com o sistema.

Diante destas propostas a presente avaliação irá simular a recomendação de

itens a usuários desconsiderando o tempo em que elas ocorreram. Isto se deve a

dois fatores:

a) Os algoritmos não são competitivos e o objetivo não é validar o desempenho

e as listas de resultados obtidos de cada um. Além das recomendações

serem combinadas pelo AGR a técnica colaborativa é focada em usuários e

Page 71: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

70

suas classificações, enquanto a técnica baseada em conteúdo explora

informações de usuários, itens e tags.

b) A base de dados utilizada na abordagem de CT não informa a data e hora das

interações dos usuários.

O processo de testes é executado separadamente para cada algoritmo,

iniciando com a seleção de usuários mediante a quantidade de classificações

fornecidas por eles. Esta primeira etapa é realizada devido à necessidade de existir

uma quantidade suficiente de itens classificados para que uma parte possa ser

escondida e comparada com as recomendações.

Assim foram selecionados usuários com pelo menos 20 itens classificados,

para fornecer histórico suficiente ao algoritmo, visto que serão utilizadas etapas que

ocorrem de forma evolutiva, onde os resultados são comparados com a etapa

anterior a atual.

Para exemplificar o processo, descrevendo um cenário ideal, é utilizado um

usuário hipotético com vinte itens classificados. A primeira ação do algoritmo de

testes é dividir ao meio o histórico de itens, caso seja um número impar os itens

escondidos correspondem a (N/2)-1, onde N é o total de itens classificados, e o

restante é mantido como histórico.

Feito isto o agente correspondente a estratégia (ACO ou ACT) gera as

recomendações para o usuário. Destas recomendações são contabilizadas quantas

estão entre as que foram escondidas, para avaliar se o algoritmo é capaz de

oferecer os itens escondidos. Esta é a primeira de N rodadas executadas e é

exemplificada no quadro 6.

Page 72: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

71

Quadro 6 - Primeira rodada do exemplo de teste

Fonte: Autoria própria, 2012.

Na próxima etapa os quatro itens que corresponderam aos escondidos são

adicionados ao histórico e retirados da lista de itens escondidos e uma nova rodada

é executada. O quadro 7 ilustra a segunda rodada.

Quadro 7 - Segunda rodada do exemplo de teste

Fonte: Autoria própria, 2012.

Na segunda rodada foram encontrados cinco itens iguais aos escondidos,

representando um item a mais em relação aos quatro correspondentes da rodada

anterior. Isto representa uma melhoria no processo, devido ao aumento de histórico

disponível permitir encontrar uma quantidade maior de itens em relação a rodada

anterior, onde o histórico era menor. Após a execução da segunda rodada somente

um item permaneceu escondido. A terceira rodada é então executada, porém o item

Page 73: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

72

não é encontrado na lista de recomendações O quadro 8 apresenta os dados finais

do caso de teste hipotético.

Quadro 8 - Terceira rodada do exemplo de teste

Fonte: Autoria própria, 2012.

Neste exemplo o teste foi finalizado devido a lista de recomendações não

incluir o item escondido X12. É importante ressaltar que a condição de parada pode

ocorrer logo na primeira execução, para outros casos de teste, pois o algoritmo pode

não ser capaz de encontrar nenhum item escondido.

6.3 Resultados obtidos

A metodologia explicada na seção anterior foi aplicada para 20 usuários de

teste, sendo 10 utilizados na técnica FC e 10 na BC. Para seleção dos usuários

foram definidos os seguintes parâmetros:

a) Mínimo de 20 e máximo de 35 itens classificados, para a estratégia de FC;

b) Mínimo de 20 e máximo de 35 itens marcados com tags, para a estratégia

BC.

A tabela 1 exibe os resultados obtidos da técnica colaborativa.

Page 74: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

73

Tabela 1 - Resultados dos testes da técnica colaborativa

Fonte: Autoria própria, 2012.

Nos resultados apresentados a coluna “itens não recomendados” apresenta a

quantidade de itens escondidos que não foram gerados como recomendação.

Analisando os percentuais, o pior caso obtido foi do usuário 249, onde 57,2% dos

itens escondidos não foram recomendados, representando efetividade média.

Próximo a estes resultados estão os usuários 548, 56 e 326.

Os resultados ótimos obtidos, onde todos os itens foram recomendados,

representam 40% do total. Para os usuários 324 e 115 uma margem baixa de itens

não foram incluídos nas recomendações, e pode ser dito que estes resultados foram

satisfatórios.

De forma geral pode ser observado que dos 10 usuários analisados 70%

receberam uma boa quantidade de recomendações, representando um bom

desempenho do algoritmo. Os itens recomendados para os 30% restantes, de certa

forma não podem ser considerados resultados ruins, visto que o algoritmo

apresentou precisão de 50%,

Os resultados obtidos pela estratégia baseada em conteúdo apresentam um

grau maior de imprecisão, conforme demonstrado na tabela 2.

Page 75: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

74

Tabela 2 - Resultados dos testes da técnica baseada em conteúdo

Fonte: Autoria própria, 2012.

Conforme a tabela os resultados ótimos representam 30% do total, sendo dos

usuários 68, 391 e 25. Porém nenhum usuário ultrapassou 50% de itens escondidos

não recomendados, sendo o pior caso o usuário 477 com 41,7%.

Assim os usuários 477 e 102 representam a porcentagem de piores casos do

algoritmo, que equivalem a 20% do total. Estes resultados são satisfatórios, visto

que o algoritmo atingiu 80% de precisão em recomendações, enquanto o restante,

que representa menor grau de precisão, ainda demonstrou 10% de melhoria em

relação ao algoritmo colaborativo.

Para as duas técnicas testadas a precisão foi medida com base em itens

previamente caracterizados pelos usuários, porém, os demais itens que não foram

encontrados no histórico poderiam ser uteis. Desta forma a lista de recomendação

gerada pôde tanto encontrar itens com certeza satisfatórios, como outros que

apresentam boas chances de serem classificados ou marcados pelos usuários em

situações online.

Em ambas as abordagens os dados são carregados em memória, montando as

matrizes para processamento. O tempo médio de geração das predições por usuário

na abordagem colaborativa foi de 8 minutos, enquanto na baseada em conteúdo a

média sobe para 13 minutos. Esta demora de processamento demonstra que o

processo necessita de aperfeiçoamento para que as recomendações, sendo

baseadas em memória, possam ser executadas em tempo real, pois a resposta

precisa ser fornecida conforme atual dos usuários.

Page 76: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

75

7 CONCLUSÃO

O presente estudo realiza a combinação de duas diferentes estratégias para

compor uma solução híbrida de sistema de recomendação. Através das abordagens

colaborativa e baseada em conteúdo foi possível extrapolar, para toda a base de

dados, a predição de utilidade dos itens não vistos pelos usuários. Porém as listas

geradas por cada abordagem não podem simplesmente serem combinadas, pois o

objetivo dos sistemas de recomendação é reduzir a sobrecarga de informação e

selecionar conteúdo de acordo com preferências.

Assim se fez necessário agregar um processo inteligente ao modelo criado,

permitindo elevar a predição de predição das recomendações. Também foi possível

extrapolar a predição de itens para toda base de dados.

O funcionamento do sistema é realizado por agentes inteligentes, que

automatizam o processo desde a interação do usuário até a montagem final da lista

de recomendações. Foram apresentados quatro agentes, que juntamente com o

ambiente e, foram contextualizados para melhor entendimento e modelagem do

sistema. O sistema pode ser classificado como cooperativo, pois as tarefas de cada

agente procuram satisfazer objetivos de outros agentes.

Para o problema de usuários novos a solução encontrada foi organizar itens

melhor classificados globalmente no sistema, caracterizando uma listagem de itens

não personalizados. Esta lista foi baseada em classificações e não em palavras-

chave, pois a intenção é apresentar resultados que demonstraram utilidade para

uma quantidade grande de número grande de pessoas.

O objetivo de gerar recomendações com boa qualidade foi alcançado. Os

resultados obtidos demonstraram que a utilização de listas diversas, aliadas a

utilização dos agentes, foi capaz de predizer itens realmente úteis aos usuários. Os

testes foram baseados em usuários com histórico significativo de classificações,

devido à falta de tempo e usuários reais para teste. Assim se fez necessário um

processo de testes off-line, onde foi necessário explorar históricos reais.

Esta pesquisa, no entanto, não procurou analisar e resolver problemas

relacionados a desempenho dos algoritmos. O tempo de execução foi demasiado

grande, sendo necessárias técnicas mais apuradas para processamento dos dados.

Page 77: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

76

Estas otimizações são essências para viabilizar a utilização do modelo em

ambientes reais.

Além disso, não foi implementado um controle relacionado à coerência e

quantidade das tags. O protótipo permite que palavras-chave redundantes sejam

utilizadas tanto pelos usuários quanto pelos responsáveis pelo cadastro dos itens.

Sugestões de trabalhos complementares a esta pesquisa são apresentados a

seguir:

a) Utilizar feedback e explicações para os usuários a fim de evidenciar os

motivos que levaram a construção da lista atual de recomendações;

b) Reduzir o tempo de processamento das recomendações. Uma

alternativa é utilizar pré-processamento dos dados em bases de dados

com maior escalabilidade. Neste caso quando o usuário acessa o

sistema, as recomendações já estarão prontas, diferente do protótipo

desta pesquisa que monta a matriz de dados em memória.

c) Tratamento de coerência e quantidade de tags utilizadas. O controle

sobre a utilização de tags que não sejam sinônimas ou que tenham

diferentes significados, dependendo do contexto de utilização

(polissemia);

d) Correção ortográfica de tags, para que erros de escrita não

comprometam a seleção de conteúdo;

e) Aprimorar o aprendizado sobre comportamento do usuário considerando

alteração de preferências manifestadas ao longo do tempo.

f) Utilização de técnicas de processamento paralelo para reduzir o tempo

de análise e geração das recomendações.

g) Utilização de redes neurais para aprendizado de máquina referente ao

perfil de usuário;

Page 78: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

77

REFERÊNCIAS

ADOMAVICIUS, Gediminas; TUZHILIN, Alexander. Toward the Next Generation of

Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions.

IEEE Transactions on Knowledge and Data Engineering , v. 17, p. 734-749. 2005

BALABANOVIC, Marko; SHOHAM, Yoav. Fab: content-based, collaborative recommendation. Communications of the ACM , v. 40, n. 3, p. 66–72. 1997. BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. Department of Information Systems and Decision Sciences, California State University, Fullerton. 2002 BURKE, Robin. Hybrid web recommender systems. Telecommunications and Information Systems. DePaul University. (Eds.): The Adaptive Web, LNCS 4321, p. 377 – 408, 2007 Chicago, USA. Springer: 2007 p. 377–408. BURKE, Robin; RAMEZANI, Maryam (Ed.). Matching Recommendation Technologies and Domains. In: RICCI, Francesco; ROKACK, Lior; SHAPIRA, Bracha (Comp.). Recommender Systems Handbook . New York: Springer, 2011. Cap. 11, p. 367-382. FERREIRA, André; BOAS, Ana Alice Vilas; CURTY, Ilton Leal Junior. O E-Learning Como Instrumento de Educação Corporativa: Um Estudo de Caso - Universidade Federal Rural do Rio de Janeiro, 2004.Rio de Janeiro. FERRO, M. R. da Costa; MARTINS H. do Nascimento Júnior; PARAGUAÇU, Fábio Um modelo de sistema de recomendação de materiais d idáticos para ambientes virtuais de aprendizagem - Anais do XXII SBIE - XVII WIE, 2011. Aracaju, Sergipe. GOLDBERG, David; NICHOLS, David; OKI, Brian M. Using collaborative filtering to weave an information tapestry. Communications of the ACM, v. 35, n. 12, p. 61–70. 1992. GOLDER, Scott A; HUBERMAN Bernardo A - The Structure of Collaborative Tagging Systems - Information Dynamics Lab 2005, HP Labs. HERLOCKER, Jonathan L.; KONSTAN, RIEDL John. An Algorithmic Framework for Performing Collaborative Filtering , 22nd Annual International ACM Conference.,1999. p 230–237. JANNACH, Dietmar et al. Recommender Systems: An Introduction. New York: Cambridge, 2011. 353

Page 79: LEANDRO DE SOUZA TAVARES AGENTES PARA RECOMENDAÇÃO DE ... · AVA Ambientes Virtuais de Aprendizagem BSD Berkeley Source Distribution CO Completamente Observável ... usados para

78

LÁZARO, Alexsandra da Silva. Análise e seleção de Algoritmos de filtragem de informação para solução do problema C old-start Item. Universidade Federal de Lavras. 2010, MG. LEITE, Martinho de Souza; BRANDÃO, Lídia M. B. - Interação humano-computador no contexto da inclusão digital . UFBA - Universidade Federal da Bahia. Bahia. 2008 LIANG, Huizhi; XU, Yue; LI, Yufeng; NAYAK, richi. Collaborative Filtering Recommender Systems Using Tag Information - Faculty of Information Technology Queensland University of Technology, 2009. Brisbane, Australia. METEREN, Robin van Meteren; SOMEREN Maarten van - Using Content-Based Filtering for Recommendation - NetlinQ Group 2002, Gerard Brandtstraat 26-28, 1054 JK, Amsterdam, The Netherlands. MONTANER, Miquel; LÓPEZ, Beatriz; ROSA, Josep. A Taxonomy of Recommender Agents on the Internet. Institut d’Informàtica i Aplicacions, Universitat de Girona, Campus Montilivi 2003, 17071 Girona, Spain. RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook . In: RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Recommender Systems Handbook: An Introduction. New York: Springer, 2011. Cap. 1, p. 1-29. RUSSEL, S; NORVIG, P. Inteligência Artificial . 2ª. Ed.. São Paulo: Campus. 2004. Shani, Guy; GUNAWARDANA, Asela (Ed.). Content-based Recommender Systems: Evaluating Recommendation Systems ; In: RICCI, Francesco ROKACK, Lior; SHAPIRA, Bracha (Comp.). Recommender Systems Handbook. New York: Springer, 2011. Cap. 11, p. 73-100. SHARDANAND, Upendra; MAES, Pattie - Social Information Filtering: Algorithms for Automating “Word of Mouth . Proceedings of Conference of Human Factors in Computing Systems, ACM Press p.210—217. 1995. TORRES, Roberto Dias Júnior. Combining Collaborative and Content-Based Filtering to Recomend Research Papers. Dissertação para obtenção de grau de mestre em computação. Universidade Federal do Rio Grande do Sul Porto Alegre. 2004. VASHISTH Pooja; BEDI, Punam; Interest-Based Personalized Recommender System. Department of Computer Science University of Delhi 2011, Delhi, INDIA WEI, Yan Zheng; MOREAU, Luc; JENNINGS, Nicholas - R.Learning users' interests in a market-based recommender system . 5th International Conference on Intelligent Data Engineering and Automated Learning, Exeter, UK. 2005. pp. 833-840