• Nenhum resultado encontrado

TCC Ivo Romário R. Carneiro Lima 2012.2

N/A
N/A
Protected

Academic year: 2021

Share "TCC Ivo Romário R. Carneiro Lima 2012.2"

Copied!
73
0
0

Texto

(1)

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA – UEFS

IVO ROMÁRIO R. C. LIMA

RECOMENDAÇÃO DE ARTIGOS CIENTÍFICOS UTILIZANDO

FILTRAGENS COLABORATIVA E HÍBRIDA

FEIRA DE SANTANA 2012

(2)

IVO ROMÁRIO R. C. LIMA

RECOMENDAÇÃO DE ARTIGOS CIENTÍFICOS UTILIZANDO FILTRAGEM HÍBRIDA

Trabalho de Conclusão de Curso apresentado ao curso de Graduação em Engenharia de Computação da Universidade Estadual de Feira de Santana para a obtenção do título de Bacharel em Engenharia de Computação.

Orientador: Angelo Conrado Loula

FEIRA DE SANTANA 2012

(3)
(4)

RESUMO

O número de artigos científicos disponíveis na Internet cresce muito rapidamente, ocasionando uma sobrecarga de informações para os usuários. Segundo a Fundação Nacional de Ciência dos Estados Unidos, mais de 10 milhões de novos artigos serão publicados nos próximos 20 anos. Sistemas de Recomendação são usados para sugerir conteúdo personalizado aos usuários, a partir de uma grande quantidade de informações, baseando-se nos interesses de cada usuário. Essa monografia traz conceitos relevantes acerca das duas técnicas de recomendação mais importantes da atualidade, nomeadas Filtragem Colaborativa e Filtragem Baseada em Conteúdo. Foi feito um levantamento sobre os principais algoritmos utilizados em cada uma dessas técnicas para, em seguida avaliá-los sobre o conjunto de dados do Citeulike, um site de compartilhamento de artigos científicos e referências bibliográficas. Palavras-chave: Sistemas de Recomendação. Filtragem Híbrida. Filtragem Colaborativa. Filtragem Baseada em Conteúdo. Recomendação de Artigos.

(5)

ABSTRACT

The amount of research papers available on the Internet increases quickly, causing an overload of information that users cannot control. According to United States’ National Science Foundation, more than 10 millions of new research papers will be published in the next 20 years. Recommender Systems are used to suggest customized content to users from a lot of information, based on each user’s interests. This monograph describes relevant concepts about the two more important recommendation techniques to date, named Collaborative Filtering and Content-Based Filtering. We conducted a survey on the main algorithms used in each of these techniques and then evaluated them over the Citeulike dataset, a site for sharing of scientific articles and references.

Keywords: Recommender Systems. Hybrid Filtering. Collaborative Filtering. Content-Based Filtering. Paper Recommendation.

(6)

SUMÁRIO

2   SISTEMAS DE RECOMENDAÇÃO ... 12  

2.1   TAREFAS DE RECOMENDAÇÃO ... 16  

2.2   TÉCNICAS DE RECOMENDAÇÃO ... 21  

2.2.1   FILTRAGEM COLABORATIVA ... 22  

2.2.1.1   MÉTODO BASEADO EM MEMÓRIA ... 23  

2.2.1.2   MÉTODO BASEADO EM MODELO ... 26  

2.2.1.3   VANTAGENS E DESVANTAGENS DA FILTRAGEM COLABORATIVA ... 27  

2.2.2   FILTRAGEM BASEADA EM CONTEÚDO ... 28  

2.2.2.1   MÉTODO BASEADO EM HEURÍSTICA ... 29  

2.2.2.2   MÉTODO BASEADO EM MODELO ... 31  

2.2.2.3   VANTAGENS E DESVANTAGENS DA FILTRAGEM BASEADA EM CONTEÚDO 32   2.2.3   FILTRAGEM HÍBRIDA ... 32  

3   METODOLOGIA ... 36  

3.1   SELEÇÃO E PREPARAÇÃO DA BASE DE DADOS ... 36  

3.2   PRÉ-PROCESSAMENTO DOS DADOS ADQUIRIDOS ... 38  

3.3   COMPLEMENTAÇÃO DA BASE DE DADOS ... 40  

3.3.1   WEB CRAWLING ... 41  

3.3.2   PARSING ... 43  

3.4   REPRESENTAÇÃO DOS DADOS ATRAVÉS DE MATRIZES ... 43  

3.5   DESCRIÇÃO DOS EXPERIMENTOS ... 45  

(7)

4.1   A BASE DE DADOS ... 52   4.2   EXPERIMENTOS E DISCUSSÕES ... 53   4.2.1   PRECISÃO MÉDIA USANDO RECOMENDAÇÃO COLABORATIVA ... 54   4.2.2   PRECISÃO MÉDIA USANDO RECOMENDAÇÃO HÍBRIDA BASEADA EM USUÁRIO ... 58   4.2.3   COMPARATIVO ENTRE AS ABORDAGENS ... 62   4.2.4   A INFLUÊNCIA DA POPULARIDADE DO ITEM NA PRECISÃO ... 63   4.2.5   CASO DE USO: IMPACTO DA ABORDAGEM BACKTESTING SOBRE OS VALORES DE PRECISÃO MÉDIA ... 65   5   CONSIDERAÇÕES FINAIS ... 68   REFERÊNCIAS ... 70  

(8)

1 INTRODUÇÃO

Avanços nas tecnologias de transmissão de dados, diminuição do custo das mídias de armazenamento e massiva popularização dos computadores pessoais são apenas alguns dos principais impulsionadores do crescimento explosivo vivido pela Internet desde meados da década de 1990. Nos últimos dez anos, houve um aumento de 444,8% no número de utilizadores e a Rede Mundial de Computadores atingiu a marca histórica de dois bilhões de usuários em junho de 2010, o que representa quase um terço da população do planeta (MINIWATTS, 2010).

Em conjunto com este crescimento, surgiu a chamada segunda geração da Web, ou Web

2.0, termo criado por Tim O’Reilly que reflete uma profunda mudança na Internet como

plataforma. Nela, à medida que vão sendo utilizados, os aplicativos vão sendo aprimorados, aproveitando-se da chamada inteligência coletiva, onde os próprios usuários promovem as melhorias dos mesmos. Sendo assim, os usuários vêm ganhando maior poder de participação na geração de informação, e também em compartilhamento e colaboração. Nesse contexto, aparecem os Wikis, websites criados e mantidos colaborativamente; as redes sociais, estrutura formada de indivíduos interconectados através de um tipo qualquer de interdependência, como amizade, parentesco, interesses, localização, conhecimento, etc.; a folksonomia, classificação e rotulação de conteúdo de forma colaborativa, todos eles definindo ambientes cada vez mais participativos.

Essa mudança no paradigma de utilização da Internet, acompanhada por sua rápida popularização e variedade dos serviços sendo disponibilizados, começaram, no entanto, a agregar características negativas. Diante de uma alta disponibilidade de escolhas, os usuários com pouca ou nenhuma experiência de navegação sentem maior dificuldade em encontrar itens que se encaixem em suas preferências. Outro problema decorrente disso é que boa parte do imenso conteúdo gerado, embora possa ter utilidade, permanece de certa forma invisível ao usuário, visto que raramente chega até ele.

Outro ponto negativo tem origem na livre geração de informação por usuários, pois ela pode acarretar na disponibilização de conteúdo de qualidade duvidosa. Em virtude do grande volume de dados gerados a todo o momento, qualquer análise e/ou controle dessas publicações se torna uma tarefa extremamente complicada. Os Wikis, por exemplo, em que as informações disponíveis são geradas por qualquer usuário sem nenhuma padronização do conteúdo, podem

(9)

oferecer artigos de ótima qualidade, mas também podem trazer pobres dissertações. Nesse modelo de geração de conteúdo, para identificar, denunciar ou até corrigir material impróprio, é preciso a interação dos próprios usuários, o que dificulta a certificação da qualidade.

Uma alternativa para atenuar esses problemas, melhorando a experiência dos usuários ao buscar informação pela Web, é o Sistema de Recomendação, que inicialmente foi criado com base num comportamento típico dos seres humanos em busca de novos conteúdos de seu interesse (GOLDBERG et. al., 1992).

Naturalmente, em sua rotina diária, as pessoas procuram seguir a opinião passada diretamente por outras pessoas quando se procura referências sobre determinado item – num tipo comum de Recomendação Social. Elas tendem a ler livros ou assistir filmes que já lhes foram recomendadas, seja por amigo que já o lera ou assistiu, seja por que viram uma resenha numa revista ou jornal.

Os Sistemas de Recomendação surgiram, então, numa tentativa dos pesquisadores de criar e desenvolver soluções para encontrar informação de interesse dos usuários, que podem ser não personalizadas e simples, a exemplo de listas de mais vendidos ou lista dos 10 melhores; ou podem ser mais específicas, baseadas nos preferências de cada usuário particularmente, onde posteriormente são aprimorados através da utilização de técnicas de Mineração de Dados, Recuperação de Informação e até mesmo Filtragem Social, para reduzir a quantidade de informação entregue aos usuários.

Nos últimos anos, os Sistemas de Recomendação têm provado sua eficiência em amenizar os problemas citados anteriormente, além de trazer outras conseqüências como o aumento de venda em sites de comércio, aumento na variedade dos itens vendidos, satisfação e fidelidade dos usuários a websites, e um entendimento melhor daquilo que o usuário precisa (RICCI, ROKACH & SHAPIRA, 2011).

A popularização e crescimento dos Sistemas de Recomendação podem ser notados pelo crescente interesse no assunto, que já tem cursos de graduação e pós-graduação, é tema de workshops e congressos em todo o mundo, como o RecSys, além de já serem usados por diversas empresas da Web.

Exemplos de recomendação são facilmente encontrados na Web nos mais variados nichos, sejam comerciais ou não. Exemplos de recomendação em aplicações de e-commerce são encontrados facilmente em portais como eBay™ e Amazon.com™. Este último põe em prática o

(10)

conceito de recomendação explorando inúmeras formas que vão desde listas de itens mais populares em cada categoria à criação de um perfil de utilização para cada um de seus usuários. Quanto aos não comerciais têm-se sistemas de indicação de músicas como LastFM, iTunes

Genius, Musicovery; de vídeos por streaming, Youtube; de filmes, IMDb; e até mesmo de

notícias, como Google News.

Embora já existam muitos trabalhos na área de recomendação, pouco se tem explorado no nicho de recomendação de artigos científicos. E ao contrário do que se possa imaginar, a demanda por tais sistemas tem aumentado consideravelmente, com o surgimento e crescimento de diversos repositórios digitais.

O Portal Capes, por exemplo, oferece acesso a artigos científicos selecionados de mais de 15 mil revistas internacionais e 126 bases de dados com resumos em todas as áreas de conhecimento (PERIÓDICOS, 2010). A IEEE Xplore Digital Library conta com mais de 2,5 milhões de documentos, relacionados apenas a Engenharia e Tecnologia (IEEE, 2010).

Sites como o Citeulike, Bibsonomy e Mendeley trazem o conceito de gerenciamento de referências bibliográficas. Basicamente, eles são sistemas voltados principalmente para estudantes e autores guardarem e utilizarem suas referências. Esses portais vêm ganhando popularidade rapidamente, a exemplo do Citeulike que já possui quase seis milhões de artigos em sua base de dados (CITEULIKE, 2012).

Por se tratar de bases textuais, torna-se adequado o uso de técnicas de filtragem por conteúdo, cuja origem advém de grandes áreas de pesquisa como a Recuperação e Filtragem de Informação (BAEZA-YATES & RIBEIRO-NETO, 1999). Essas técnicas utilizam informações e características textuais dos itens que se deseja recomendar e, quanto mais ricos textualmente eles forem, maior a possibilidade da aplicação das mesmas. Porém, quando aplicadas isoladamente, essas técnicas apresentam algumas limitações (que serão discutidas mais adiante nas seções 2.2.1.3 e 2.2.2.3). Quando combinadas com técnicas que exploram a colaboração entre usuários e grupos de usuários tais pontos fracos podem ser atenuados.

A combinação da Filtragem Colaborativa (Seção 2.2.1) com a Baseada em Conteúdo (Seção 2.2.2) compõe o foco desta monografia. Esta é uma solução que agrega os pontos fortes de cada abordagem para prover recomendações mais refinadas e, acima de tudo, confiáveis.

O objetivo geral deste trabalho foi avaliar técnicas de recomendação de artigos científicos. Para alcançar tal objetivo, foram executados os seguintes objetivos específicos:

(11)

• Levantamento bibliográfico sobre o estado da arte em recomendação de artigos científicos, o que possibilitou entender como ocorre a recomendação nesse nicho específico e elencar quais técnicas de recomendação são aplicadas.

• Levantamento das técnicas mais utilizadas nas abordagens de Filtragem Colaborativa e Filtragem Baseada em Conteúdo. De posse dessas informações, pode-se concluir em quais circunstâncias cada técnica produz melhores resultados e, não menos importante, encontrar maneiras de gerar recomendações através da mescla dessas abordagens.

• Seleção de uma base de dados sobre a qual os algoritmos de recomendação foram testados e avaliados, o que foi de fundamental importância para que se alcance o sucesso num projeto de recomendação.

• Partes das técnicas foram modeladas computacionalmente e, em seguida, testadas e avaliadas, de acordo com as métricas de avaliação sugeridas pela literatura, sobre a base de dados escolhida.

(12)

2 SISTEMAS DE RECOMENDAÇÃO

Sistemas de Recomendação (SR) são ferramentas constituídas a partir de uma série de técnicas computacionais, cuja função é, dentro de uma vasta coleção, recomendar itens ao usuário, possivelmente de seu interesse. Um item, em geral, é o termo utilizado para caracterizar o objeto que o sistema recomenda aos usuários: aplicativos para celular, músicas, filmes, notícias, artigos científicos, etc.

O processo de modelagem de um sistema de recomendação pode se iniciar na determinação do tipo de item a ser abordado. Suas características influenciam no design da interface gráfica, no tipo de recomendação que se deseja gerar (Seção 2.1) e na escolha apropriada das técnicas computacionais. Todas essas decisões são combinadas de maneira planejada para o provimento de um ambiente onde as sugestões sejam melhor aceitas pelo usuário.

Mesmo com os diversos tipos e configurações possíveis que um SR pode se apresentar, em geral, eles são utilizados para filtrar a sobrecarga de informação trazida pela Web 2.0. Como exemplo, pode-se citar o Citeulike - um portal de compartilhamento de artigos científicos que já conta com mais de seis milhões de itens em sua base, com um crescimento diário de aproximadamente quatro mil novos itens (CITEULIKE, 2012). Nesse contexto, o usuário não consegue acompanhar a velocidade com que novos artigos surgem, bem como manter-se atualizado nas áreas de conhecimento em que tem interesse.

A ideia dos SR consiste em gerar sugestões diferenciadas para cada usuário ou grupo de usuários com interesses compartilhados e, para alcançar esse objetivo, o SR necessita coletar dos usuários suas preferências, que podem ser transmitidas de diferentes formas. Um usuário pode demonstrar interesse por um item através de diversas maneiras: avaliações numéricas, binárias, realização de cadastros ou, no caso de domínios textuais, pelas informações contidas nos itens que esse usuário costuma ler.

As avaliações feitas aos itens podem ser de dois tipos: implícitas ou explícitas. As implícitas possuem a vantagem de isentar o usuário de realizar tais avaliações, e geralmente são extraídas através de inferências sobre as ações que o mesmo realiza, como por exemplo: seu comportamento durante a utilização, histórico de navegação, movimentação do ponteiro do mouse, barra de rolagem (CLAYPOOL et. al., 2001), etc. O Citeulike, de onde foram extraídos os

(13)

dados utilizados nesse trabalho, faz uso desse tipo de avaliação. Nele, sempre que um usuário adiciona um artigo à sua base pessoal, assume-se que esse item é de seu interesse. Sendo assim, há uma relação binária entre item e usuário. Dessa forma, considera-se a classe de itens com valor 1 como sendo itens de interesse, presentes na base do usuário. Em contrapartida, aqueles cujo valor é 0 são considerados como indesejados ou desconhecidos pelo usuário (HAHSLER, 2011).

No caso das avaliações explícitas, o usuário necessita demonstrar suas preferências seja através de formulários de cadastro, ou inserindo um valor que expresse seu nível de interesse e/ou a qualidade do item em foco. Para isso, os sistemas usam escalas numéricas ou símbolos. Esse tipo de avaliação pode ser visualizado no site Apontador (Figura 1), especializado em busca de locais. Nesse portal, o usuário pode expressar sua opinião acerca de um lugar que já visitou através de uma escala que vai de zero a cinco estrelas. Além disso, o usuário pode dizer se recomenda ou não o local através de um voto binário.

Esse conjunto de características extraídas, sejam elas implícitas ou explícitas, reúnem-se para formar o que se conhece por perfil de interesses do usuário. Com base nesse perfil, o SR é capaz de oferecer conteúdo personalizado e aprimorar a qualidade da navegação de seus usuários.

Figura 1 - Exemplo de avaliação explícita fornecida pelo site Apontador (2011).

(14)

Segundo Burke (2002), um sistema de recomendação é composto usualmente por três unidades:

Dados previamente armazenados são todas as informações que o sistema possui antes de dar início ao processo de recomendação, tais como: perfis de usuários, características dos itens, avaliações. Com base nesses dados a modelagem do sistema começa a ser feita e inicia-se o processo de recomendação.

Algoritmos de recomendação são as técnicas que combinam as entradas de dados geradas pelos usuários com os dados previamente armazenados pelo sistema. Tais algoritmos processam essas informações e geram as recomendações.

Entrada de dados (feedback do usuário) ocorre através da interação dos usuários com o sistema como um todo, podendo ser caracterizada pelo simples ato de navegação até ações mais específicas como aquisição e avaliação de itens. Esses dados servem como uma espécie de retroalimentação do sistema como um todo, sendo importante para eventuais ajustes no processo de recomendação.

Como resultado da interligação dessas três unidades, chega-se a uma lista ordenada por importância com os itens a serem recomendados (Figura 2).

(15)

Figura 2 - Estrutura Básica de um Sistema de Recomendação.

Atualmente, Sistemas de Recomendação estão sendo explorados pelas maiores organizações de e-commerce, mídias sociais, portais de notícias. Os motivos que justificam sua aplicação são muitos, a saber:

● Maximização no número de acessos e/ou itens vendidos. Essa, sem dúvida, é uma das funções mais importantes para a aplicação de SR. Seja em um nicho não-comercial, onde o interesse gira em torno de aumentar a quantidade de páginas acessadas numa visita única, ou em um ambiente de comércio eletrônico, cujo interesse consiste em aumentar a taxa de conversão dos produtos ofertados, ou seja, dentre os produtos mostrados, quantos são realmente comprados; Esse objetivo é alcançado porque, em geral, os itens recomendados são adequados com as necessidades e desejos dos usuários.

● Aumento da satisfação do usuário. Quando bem elaborado, um SR melhora a experiência do usuário com o site e/ou aplicação. Dessa forma, o usuário passa a julgar as recomendações como interessantes, relevantes e, quando combinadas com uma interface homem-máquina adequada, torna a navegação intuitiva e prazerosa. Tudo isso se converte no aumento do uso do sistema, bem como a probabilidade das recomendações geradas serem aceitas.

(16)

● Fidelização do usuário. É de se esperar que, quanto mais satisfeito, mais leal o usuário será ao site, ainda mais quando ele percebe que, mesmo não sendo um utilizador freqüente do sistema, ele é reconhecido e tratado diferenciadamente toda vez que o acessa. Conseqüentemente, conforme o usuário interage com o site, maior e mais refinado o seu perfil se torna, e as sugestões geradas tornam-se mais personalizadas a atender as necessidades do usuário.

● Melhor compreensão do que o usuário deseja. Outra função de um SR, que pode influenciar em outras aplicações, consiste na descrição das preferências dos usuários, sejam coletadas explicitamente ou inferidas pelo sistema. Esse conhecimento adquirido pode ser reaproveitado, por exemplo, em âmbito de comércio eletrônico, para aprimorar o gerenciamento do estoque e produção de novos itens.

2.1 TAREFAS DE RECOMENDAÇÃO

SR fornecem uma visão filtrada acerca de determinado conteúdo. Essa visão pode ser apresentada ao usuário de diversas formas, a depender da tarefa a que o SR se destina.

No processo de modelagem de um SR, é essencial que haja uma pré-definição acerca de qual tarefa o mesmo irá executar. A escolha do conjunto de dados, experimentação e avaliação são todos eles requisitos secundários e dependem do tipo específico de tarefa a ser recomendada (BOGERS, 2009).

Herlocker et al. (2000) identifica seis diferentes tarefas de recomendação das quais os sistemas recomendadores podem assumir:

Apresentar a opinião de usuários do sistema a respeito de um elemento em questão: O sistema permite que usuários expressem suas opiniões sobre um produto, informação ou outro usuário. Isso auxilia novos usuários a filtrar as informações mais facilmente. Dessa forma um SR permite a criação de uma reputação acerca desses elementos, permitindo posteriormente que seus utilizadores filtrem tal informação, escolhendo os elementos mais bem qualificados. Sites de comércio eletrônico como Amazon, Mercado Livre (Figura 3), Arremate e CDNow possuem essa característica em sua forma de recomendar.

(17)

Figura 3 - Reputação de um usuário fornecida pelo site Mercado Livre (2010).

(18)

Figura 4 - Itens mais vendidos na categoria Acessórios Automotivos da loja virtual Americanas.com (2010).

Listar os itens ou produtos mais consultados e/ou comprados: Esse tipo de sugestão é gerado de forma automática pelo sistema a partir dos dados de compra dos usuários ou dados de acesso às páginas do site. Por não requerer uma inteligência computacional mais apurada e conhecimento prévio sobre o perfil do usuário, é um dos recursos mais utilizados em Sistemas de Recomendação. Bastante usado em sites de comércio eletrônico, como Submarino, Americanas.com (Figura 4), Amazon e NetShoes.

Listar os itens ou produtos que possuam uma semelhança significativa com o contexto visualizado pelo usuário: Essa tarefa fornece uma experiência mais refinada ao usuário, sendo necessário, em algumas situações, o uso de algoritmos mais elaborados, sobretudo os de Recuperação de Informações. O Citeseer (Figura 5) fornece ao usuário uma lista de artigos considerados semelhantes àquele consultado no momento. Amazon, Americanas.com e Submarino fornecem uma lista de produtos relacionados ao que está sendo consultado no

(19)

momento ou até mesmo aos produtos que estão inclusos no carrinho de compras. Tal técnica potencializa a chamada venda cruzada.

Figura 5 - Documentos semelhantes ao visualizado pelo usuário, disponibilizados pelo Citeseer.

Prover uma nota que reflita a relevância de um item ou produto para o universo de usuários: Nesse tipo de recomendação, dado um item ou produto, o sistema lista um conjunto de outros itens similares, ordenados através de notas, levando em consideração as características do perfil do usuário. Um exemplo de recomendação desse tipo pode ser encontrado no IMDb (Figura 6), site especializado em filmes. Ao escolher um filme, o usuário recebe uma lista de recomendação de outros filmes relevantes.

(20)

Figura 6 - Exemplo de recomendação que utiliza notas para dar um grau de relevância ao item extraída do site IMDb.com (2010).

Explorar recomendações através de simples navegação do usuário: Nesse tipo de recomendação, o foco está na qualidade da interface com o usuário, deixando em segundo plano a precisão das recomendações geradas. Sabe-se que muitos dos usuários, ao navegarem em sites como NetShoes, Amazon.com, dentre outros, não possuem um objetivo de compra claro. Conforme ele explora a navegação pelo sistema - seja em caráter de aprendizado ou por simples entretenimento, itens vão surgindo e sendo recomendados. Uma maneira de avaliar a qualidade dessa tarefa baseia-se em mensurar o quanto o sistema de recomendação auxilia os usuários em suas decisões de compra, direcionando-os a novas descobertas sem perder, contudo, a naturalidade de uma livre navegação.

Apresentar itens ou produtos mais próximos aos interesses do usuário conforme seu perfil: Através dessa tarefa o conteúdo fornecido ao usuário é totalmente personalizado de acordo com sua necessidade, viabilizando o que os profissionais de marketing intitulam marketing one-to-one. Por ser a tarefa de recomendação que apresenta o mais alto nível de refinamento, ela concentra os maiores esforços nas pesquisas da área de recomendação. Sites como o Citeulike geram recomendações de artigos científicos baseando-se no perfil de preferências do usuário.

(21)

A Amazon.com (Figura 7) é um exemplo claro de empresa de comércio eletrônico que faz uso desse tipo de tarefa para realizar o marketing one-to-one. Uma vez que o cliente esteja cadastrado e autenticado, a sua loja é capaz trabalhar com todos os tipos de tarefas de recomendações aqui explicados. Para tornar isso possível, ela gera o perfil desse usuário através de uma série de fatores, a saber: histórico de navegação, itens avaliados, itens marcados como "não interessado", lista de desejos e itens que o usuário já possui.

Figura 7 - Recomendação direcionada aos gostos específicos do usuário, fornecida pela loja virtual Amazon (2012).

2.2 TÉCNICAS DE RECOMENDAÇÃO

Existem muitas técnicas destinadas a gerar recomendações. Elas variam desde as mais triviais, através de seleção manual dos itens, até as que aproveitam melhor os dados disponíveis, como aquelas baseadas em informações demográficas (faixa etária, domicílio ou sexo). Contudo, tradicionalmente, os Sistemas de Recomendação possuem duas grandes abordagens: Filtragem Colaborativa e Filtragem Baseada em Conteúdo (BASU, HIRSH & COHEN, 1998), que serão apresentadas a seguir, nas seções 2.2.1 e 2.2.1, respectivamente.

(22)

2.2.1 FILTRAGEM COLABORATIVA

Criado por Goldberg et al. (1992) e utilizado pela primeira vez no sistema de recomendação Tapestry, o termo Filtragem Colaborativa (FC) abarca as técnicas mais populares no âmbito da recomendação.

Essa abordagem surge na tentativa de modelar computacionalmente o processo conhecido socialmente como boca a boca, forma mais utilizada pelas pessoas para interagirem e realizarem recomendações entre si (SHARDANAND & MAES, 1995). Sua principal motivação baseia-se na suposição de que, frequentemente, pessoas adquirem a melhor recomendação de alguém com gostos similares. É comum confiarmos a terceiros a qualificação de um produto/serviço, seja através da mídia, cartas de recomendação, críticas e opiniões de amigos e assim por diante (KHOSHGOFTAAR & SU, 2009). Quando desejamos comprar um filme ou álbum musical, por exemplo, geralmente perguntamos a amigos que possuem gostos similares ao nosso e que estejam atualizados sobre as novidades do mercado e, com base nessas sugestões, somos direcionados à compra.

Nos sistemas colaborativos há a formação de comunidades de usuários que podem interagir entre si e com o sistema, fornecendo suas opiniões através de avaliações. Dessa forma, há uma troca de experiência entre os membros que compõem tal comunidade e todos se beneficiam. A filtragem colaborativa recomenda itens baseando-se na similaridade entre usuários, ou seja, são recomendados apenas os itens de interesse de usuários com preferências semelhantes (BEZERRA & DE CARVALHO, 2004).

Em um cenário típico de Filtragem Colaborativa, existe um conjunto U de m usuários U= {u1, u2, ..., um} e um conjunto I de n itens I = {i1, i2, ..., in}. Cada usuário possui uma lista de itens

avaliados, sendo que, tais avaliações podem ser explícitas ou implícitas. Dentre o conjunto de usuários U, o processo de Filtragem Colaborativa distingue um dos demais, chamando-o de usuário ativo ua, pertencente a U, aos quais os esforços de recomendação serão destinados

(SARWAR, KONSTAN & RIEDL, 2001).

A seguir, são apresentados os dois principais métodos encontrados na literatura no âmbito da FC, bem como alguns algoritmos presentes em cada um deles. Em seguida, serão apresentadas as vantagens e desvantagens acerca da abordagem colaborativa.

(23)

2.2.1.1 MÉTODO BASEADO EM MEMÓRIA

Algoritmos que utilizam o Método Baseado em Memória (MBM) são comumente conhecidos como preguiçosos. Isso decorre do fato que não existe um esforço computacional que preceda a geração das recomendações. Toda a sua execução só ocorre no momento em que o usuário ativo é provido com um conjunto de recomendações. Assim como o próprio nome sugere, sua fase de treinamento consiste simplesmente no armazenamento em memória de toda e qualquer avaliação feita pelo usuário (BOGERS, 2009), e é sobre essas que o processo ocorre.

Mesmo que pareça uma técnica ineficiente, exemplos de SR Colaborativos Baseados em Memória são comumente encontrados em sistemas de e-commerce, como a Amazon.com e a Barnes and Noble. Isso decorre, principalmente, por tais algoritmos serem facilmente implementáveis e por gerarem resultados satisfatórios (LINDEN, SMITH & YORK, 2003).

Segundo Aha, Kliber e Albert (1991) o MBM pode existir sobre dois aspectos distintos de acordo com o tipo de filtragem a ser realizada, são elas: Filtragem Baseada em Usuário e Filtragem Baseada em Item. Em todo caso, ambas as situações baseiam-se no algoritmo K-Nearest Neighbour (KNN) para gerar as recomendações. Esse algoritmo, predominantemente adotado na FC MBM, foi originalmente proposto por Cover e Hart (1967) e pode ser resumido em duas etapas básicas:

• Inicialmente, calcula-se a similaridade entre dois usuários ou itens, isto é, a distância, correlação ou peso entre eles.

• Em seguida, reduz-se a dimensionalidade dos objetos envolvidos apenas aos N que mais se assemelham ao usuário/item ativo (KHOSHGOFTAAR & SU, 2009).

Diversas maneiras podem ser usadas para calcular a similaridade entre o objeto ativo e os demais. Dentre elas, pode-se citar o Coeficiente de Correlação de Pearson, Distância Euclidiana, Distância de Minkowski e Similaridade do Cosseno. Segundo Breese, Heckerman e Kadie (1998), a Similaridade do Cosseno tem sido usada com sucesso em conjunto de dados cujas avaliações são implícitas. Dessa forma, cada item é considerado como um vetor no espaço de usuários e,

(24)

calcula-se o cosseno entre dois itens para determinar o quão similar um item é do outro. A Similaridade do Cosseno entre dois vetores é dada pela Equação 1:

𝑠𝑖𝑚 𝑣, 𝑢 =   cos 𝑣, 𝑢 =   ! !!∙! (1)

onde ‘∙’ representa o produto escalar entre os vetores não nulos 𝑣 e 𝑢, e ‘ 𝑣 𝑢 ’ o produto de suas respectivas magnitudes. Tendo em vista que não existem valores negativos na matriz Usuários X Itens, os valores da similaridade variam de 0 a 1, sendo que o 0 representa a total diferença entre os itens comparados, e 1 a sua igualdade.

Como citado anteriormente, o MBM pode ter a sua filtragem focada tanto no usuário quanto no item. A Figura 8 ilustra um exemplo que usa o KNN aplicado à Filtragem Baseada no Usuário. Para encontrar os K vizinhos mais próximos desse usuário ativo, é calculada a similaridade entre ele e todos os demais usuários da matriz e, só então, selecionados os k usuários com os valores de similaridade mais altos.

Figura 8 - Exemplo de Filtragem Baseada em Usuário. Traduzido de Hahsler (2011).

No lado esquerdo há uma matriz exemplo composta por sete usuários e oito itens. Os valores 1 e 0 que a compõem indicam, respectivamente, se o usuário possui ou não determinado item. Dentre os usuários, existe um denominado usuário ativo, destacado em laranja, cujos

(25)

esforços de recomendação estão destinados. Nesse exemplo, o valor de k é igual a 3 e os usuários mais parecidos com o ativo estão destacados na cor azul, a saber: u1, u3 e u4.

Considerando o peso de um para todos os usuários, as colunas dos usuários mais próximos são somadas, e assim é gerado um valor agregado a cada item. Como pode ser observado, os itens já conhecidos do usuário ativo são retirados, restando apenas dois itens com valores diferentes de zero para serem recomendados: i2 e i5.

Já a Figura 9 exemplifica o MBM executando uma Filtragem Baseada no Item. Nela é exibida uma matriz de similaridade N x N contendo N = 8 itens. A similaridade entre dois itens quaisquer é feita de forma colaborativa, separando os usuários que possuem/avaliaram ambos os itens. Em seguida, é utilizada uma métrica de distância (cosseno, por exemplo) entre esses vetores de usuários (SARWAR, KONSTAN & RIEDL, 2001).

As linhas destacadas correspondem aos itens que o usuário ativo possui. Para cada linha dessa matriz são armazenados apenas os k maiores valores, e os demais, riscados, são descartados. É importante observar que todos os elementos da diagonal principal possuem valor máximo de 1, por representarem a comparação direta entre um item e ele mesmo.

Em seguida, dois passos são realizados para que sejam feitas as recomendações:

● Calcular uma nota para cada item somando as similaridades com os itens do usuário ativo.

● Remover os itens do usuário ativo e recomendar aqueles com as notas mais altas.

Feito isso, são extraídos os k itens que obtiveram as notas mais elevadas, formando assim a lista de recomendações.

(26)

Figura 9 - Exemplo de Filtragem Baseada em Item. Traduzido de Hahsler (2001).

2.2.1.2 MÉTODO BASEADO EM MODELO

Nesse método, o sistema estabelece um modelo descritivo de usuários, itens e/ou avaliações e, uma vez definido esse modelo, as recomendações são geradas baseadas no mesmo. Trata-se de uma abordagem normalmente usada quando deseja-se saber o quanto um usuário irá gostar de determinado item em função das aquisições e/ou avaliações que ele realizou sobre outros itens (BREESE, HECKERMAN & KADIE, 1998).

No entanto, essa abordagem possui alguns problemas que desestimulam seu uso:

Torna-se computacionalmente cara em termos de complexidade de tempo e espaço, conforme a quantidade de informações manipuladas cresce.

Não gera recomendações surpresa ao usuário.

Alta complexidade em gerar o modelo e, ao adicionar um novo dado, pode ser necessária uma completa recompilação desse modelo.

(27)

O processo de criação de modelos pode ser feito por diferentes algoritmos de aprendizado, como Agrupamento, Redes Bayesianas, e abordagens baseadas em regras (SARWAR, KONSTAN & RIEDL, 2001).

O modelo por Classificação trata a Filtragem Colaborativa como um problema de classificação e trabalha agrupando usuários similares numa mesma classe. Em seguida, estima a probabilidade que um usuário em particular tem de se encaixar em determinada classe.

Outra alternativa para a criação de modelos descritivos são as Redes Bayesianas (BREESE, HECKERMAN & KADIE, 1998). Elas são modelos que auxiliam na tomada de decisões com base na incerteza, sendo que seus nós representam os objetos a serem recomendados, e os arcos representam as conexões entre eles. Podem ser representadas matematicamente através de uma tabela de probabilidades.

Por fim, abordagens baseadas em regras utilizam algoritmos para encontrar associações entre itens coexistentes nos perfis dos usuários e geram suas recomendações tomando como base a intensidade da associação entre esses itens.

2.2.1.3 VANTAGENS E DESVANTAGENS DA FILTRAGEM COLABORATIVA

A maior das qualidades das técnicas de filtragem colaborativa é que elas independem de qualquer representação do conteúdo dos objetos que estão sendo recomendados. Toda avaliação utilizada nas recomendações é baseada apenas no julgamento humano sem requerer qualquer conhecimento do domínio. Isso garante uma adaptabilidade maior em domínios onde os objetos são complexos de se representar, tais como recomendação de músicas e filmes.

A filtragem colaborativa oferece também a capacidade de reconhecer a qualidade ou a falta da mesma nos itens de um conjunto de dados. Por exemplo, filmes podem ser agrupados através do gênero a que pertencem, porém, apenas com o suporte de técnicas colaborativas é possível afirmar o grau de qualidade e popularidade de um filme em relação aos demais. Assim, levando em consideração as avaliações e preferências do usuário, tais técnicas podem prevenir o sistema de gerar recomendações de baixa qualidade.

Filtros colaborativos funcionam melhor quando é possível encaixar o usuário dentro de um nicho específico com muitos vizinhos. Sendo assim, as principais desvantagens desses filtros originam-se em situações onde não há qualquer conexão entre tais usuários e/ou itens com tais nichos. Por exemplo, sempre que surge um item novo no ambiente em que o sistema opera, não

(28)

há avaliações dos usuários para este item, tornando impossível recomendá-lo unicamente através de filtragem colaborativa. De maneira similar, o sistema só pode prover recomendações pobres a cada novo usuário, num problema conhecido como Partida Fria.

Outro problema, descrito por Claypool et al. (1999) e intitulado de Ovelha Negra, aponta a dificuldade de realizar recomendações para usuários cujo perfil não se encaixa claramente em nenhum grupo padrão, ou seja, usuários com gostos peculiares.

Por fim, a qualidade das recomendações depende claramente de um grande histórico de avaliações dos usuários sobre o conjunto de dados. Em sistemas onde o número de itens excede a capacidade de absorção dos seus usuários, ocorre o problema conhecido como Esparsidade, onde é difícil encontrar itens que tenham sido avaliados por uma quantidade suficiente de pessoas e que sirva de base para recomendações.

2.2.2 FILTRAGEM BASEADA EM CONTEÚDO

A abordagem baseada em conteúdo tem sua origem nos campos da Recuperação de Informação (RI) e Filtragem de Informação (GOOD et al., 1999). Nessas duas áreas de pesquisa, os itens são caracterizados por seu conjunto de atributos ou características textuais. A relevância de um item ou produto para um usuário é estimada baseada na similaridade de conteúdo entre um item e outros adquiridos ou visualizados por este usuário. Dessa forma, uma recomendação é usualmente feita pela extração de um conjunto de características de cada item e estas usadas para determinar o quão adequado um item é para propósito de recomendação. Antes disso, o sistema de recomendação necessita de técnicas apropriadas para representar seus itens, bem como maneiras adequadas de construir o perfil de cada um de seus usuários e, não menos importante, saber realizar as devidas comparações entre esses dois universos (itens e perfis). Em linhas gerais, o processo de recomendação é realizado em três etapas distintas (SEMERARO, LOPS & GEMMIS, 2011), cada uma delas através de um componente diferente:

ANALISADOR DE CONTEÚDO: Quando a informação relacionada aos itens alvos da recomendação não tem uma estrutura bem definida é necessário que haja uma etapa de pré-processamento para extrair e estruturar o que houver de relevante. Para tal, podem ser utilizadas técnicas de Extração de Informação e, uma vez que os itens compõem uma base

(29)

de dados organizada, com informações bem estruturadas, sua representação serve de entrada para as próximas etapas da recomendação.

APRENDIZADO DE PERFIL: Essa etapa tenta construir, de forma consistente, o perfil de preferências dos usuários. Para isso, são coletadas as mais diversas informações acerca dos usuários e de suas interações com o sistema, com o intuito de generalizar um comportamento.

COMPONENTE DE FILTRAGEM: Por fim, a etapa de filtragem explora as informações contidas no perfil dos usuários para sugerir itens considerados relevantes, através de correspondências com a base de itens. Como resultado, é gerada uma lista de itens potencialmente interessantes, organizados por relevância. Esta relevância, por sua vez, pode ser calculada, por exemplo, através de alguma métrica de similaridade.

Existem inúmeras formas para a classificação desses itens, dentre as quais pode-se citar o Modelo Espaço Vetorial, Naïve Bayes, Árvores de Decisão, Redes Neurais e abordagens que usam o algoritmo KNN. Todas essas soluções encontram-se subdivididas em duas grandes categorias: Método Baseado em Heurística e Método Baseado em Modelo.

2.2.2.1 MÉTODO BASEADO EM HEURÍSTICA

Uma vez que SR Baseados em Conteúdo têm sua origem em RI, é natural que sejam herdadas muitas de suas técnicas. Essas técnicas buscam, de maneira matemática, manipular os objetos da recomendação através dos seus atributos textuais, mensurando características como similaridade e relevância.

Modelo Espaço Vetorial (MEV)

O MEV, descrito por Salton, Wong e Yang (1997), é uma maneira utilizada na computação para representar, de forma estruturada, documentos textuais através do vetor dos termos que o compõem. Sua característica central consiste em elaborar um espaço n-dimensional,

(30)

sendo que cada termo no universo de termos usados representa uma dessas dimensões. Assim, a contribuição de cada termo define a posição do documento nesse espaço n-dimensional.

Essa contribuição, entretanto, pode ser definida de diversas formas, desde as mais simples – que informam binariamente a presença ou não de um termo no documento – àquelas mais elaboradas – que levam em conta a frequência do termo dentro de um documento (Term Frequency), o quão raro esse termo é na totalidade da base (Inverse Document Frequency) e combinações dessas e outras abordagens.

Term Frequency (TF)

A frequência com que um termo aparece num documento, ou seja, a quantidade de vezes que cada palavra surge no texto é definida pela TF. Dado um documento 𝐷!, o peso (𝑃!") associado a um termo 𝑇! é dado pela Equação 2.

𝑃!" = 𝑇𝐹   𝑇!, 𝐷! (2)

Considerando uma coleção de documentos que tratam do mesmo assunto, a probabilidade desses documentos conterem as mesmas palavras com uma alta freqüência é grande. Nesse caso, a técnica TF se torna pouco eficiente na tarefa de determinar palavras discriminantes em meio à esta coleção.

Inverse Document Frequency (IDF)

Já a IDF considera que palavras que aparecem em poucos documentos da coleção devem ser priorizadas. Isso porque estas palavras têm um valor de discriminação mais elevado, sendo mais úteis para identificar um documento, enquanto que aquelas palavras que aparecem em diversos documentos possuem baixo grau de discriminação (KAO & POTEET, 2005). O valor IDF de um termo 𝑇! é dado pela Equação 3.

𝐼𝐷𝐹! =   log!"!

(31)

Nessa equação, a quantidade de documentos da coleção é representada por N e DTj o número de documentos em que determinado termo 𝑇! ocorre. Além disso, utiliza-se o logaritmo para evitar discrepâncias em super ponderações de termos muito raros e sub-ponderações de termos mais freqüentes.

Term Frequency – Inverse Document Frequency (TF-IDF)

Um algortimo bastante utilizado para determinar os pesos dos termos de um texto é o TF-IDF (Term Frequency – Inverse Document Frequency). Trata-se de um cálculo estatístico que determina o quanto um termo é relevante para um documento, multiplicando a frequência desse termo por um valor discriminante. (BEIL, ESTER & XU, 2002)

O TF-IDF consiste na junção entre as duas técnicas explicadas anteriormente e pode ser visualizada na equação a seguir:

𝑇𝐹𝐼𝐷𝐹   𝑇!, 𝐷! = 𝑇𝐹 𝑇!, 𝐷!  ×  log!"!

! (4)

2.2.2.2 MÉTODO BASEADO EM MODELO

Além das tradicionais abordagens heurísticas oriundas da Recuperação de Informação, outras também vêm sido usadas, como por exemplo, Classificadores Bayesianos, e várias técnicas de Máquina de Aprendizado, incluindo agrupamento, árvores de decisão e redes neurais artificiais.

Essas técnicas diferem-se das abordagens heurísticas na forma que elas calculam a utilidade das predições com base não em fórmulas matemáticas, como a métrica de similaridade do cosseno, mas baseando-se em um modelo de aprendizado usando aprendizado estatístico e técnicas de máquinas de aprendizado. Por exemplo, com base no conjunto de artigos que foram avaliados como relevantes e irrelevantes por um usuário, pode-se usar um classificador Bayesiano para julgar a relevância daqueles artigos ainda não avaliados.

(32)

2.2.2.3 VANTAGENS E DESVANTAGENS DA FILTRAGEM BASEADA EM CONTEÚDO

A filtragem por conteúdo funciona muito bem para recomendar itens em domínios textuais. Por depender apenas das descrições textuais dos itens, ela apresenta duas vantagens preponderantes sobre a abordagem colaborativa: Não há problemas de Partida Fria e Esparsidade. Ou seja, por não precisarem das avaliações feitas pelos usuários, pouco importa se existem muitos itens sem serem avaliados ou mesmo se um item acabou de ser adicionado aos demais.

Contudo, não se pode modelar um sistema muito eficiente com uma abordagem exclusivamente baseada em conteúdo. Suas limitações aparecem em alguns domínios onde nem sempre é possível representar os itens adequadamente. Aspectos como a qualidade de um filme e opiniões a respeito do estilo de escrita de determinado autor não podem ser extraídos sem que haja colaboração dos usuários.

Por fim, as técnicas analisam apenas o conteúdo dos textos e então recomendam itens com conteúdo similar. Isso gera uma superespecialização nas recomendações. Por exemplo, se considerarmos um usuário que tenha lido apenas textos relacionados a esporte, é muito mais complicado para o sistema surpreendê-lo com recomendações que extrapolem essa área, mesmo que o leitor tenha interesse por outros assuntos.

2.2.3 FILTRAGEM HÍBRIDA

Como pôde ser observado através dos tópicos anteriores, cada técnica de filtragem, seja colaborativa ou baseada em conteúdo, possui algumas limitações em sua aplicação. Nesse contexto, a partir da necessidade de contornar tais limitações, surgem então, sistemas denominados híbridos.

Os Sistemas de Recomendação por Filtragem Híbrida são aqueles que combinam duas ou mais dessas técnicas com o intuito de melhorar a qualidade e o desempenho no processo de geração das recomendações. A principal ideia em combinar diversas técnicas de recomendação está em superar as limitações que são encontradas em cada técnica separadamente.

O Netflix Prize, por exemplo, é uma competição aberta que disponibiliza uma base de dados com mais de 100 milhões de avaliações de filmes e ofereceu durante três anos um prêmio de um milhão de dólares à equipe que conseguir apresentar os algoritmos de recomendação mais

(33)

acurados. Em 2007, o algoritmo da equipe vencedora utilizou 107 técnicas diferentes, misturadas para gerar a recomendação. Isso mostra a ampla gama de combinações que podem ser executadas na construção de sistemas híbridos de recomendação.

Uma taxonomia proposta por Burke (2002) define métodos que podem ser utilizados na modelagem de sistemas híbridos. Esses métodos são baseados nas relações de entrada e saída e hierarquia envolvida no uso das técnicas de recomendação. A seguir, cada um deles é descrito:

Weighted

No modelo, a nota de um item é definida através das notas de todas as técnicas de recomendação que o sistema utiliza. Por exemplo, a combinação linear das notas de recomendação dadas por cada técnica em separado. O sistema P-Tango (CLAYPOOL et al., 1999) usa esse modelo híbrido, inicialmente dando pesos iguais às recomendações baseadas em conteúdo e colaborativas e, gradualmente realizando ajustes nos pesos.

Um benefício do uso desse modelo é que todas as técnicas são utilizadas diretamente no processo de recomendação e o peso de suas participações é ajustado conforme necessário.

Switching

No modelo, são usados critérios para alternar entre as técnicas de recomendação que compõem o sistema. O sistema DailyLearner (BILLSUS & PAZZANI, 2000) usa uma abordagem híbrida baseada em conteúdo e colaboração, onde o método executado inicialmente é o baseado em conteúdo. Caso tal método não possa gerar recomendações com confiança suficiente para um usuário, a técnica colaborativa é tentada.

Essa abordagem pode evitar problemas específicos de um dos métodos, como por exemplo, a dificuldade que a FC tem em lidar com itens novos, simplesmente trocando para a recomendação por conteúdo. No entanto, um novo nível de complexidade é adicionado ao SR como um todo, visto que é necessário modelar os critérios para a realização dessa troca.

(34)

O modelo mixed é indicado quando é possível fazer muitas recomendações ao mesmo tempo. Nele as recomendações geradas por mais de uma técnica são unidas e fornecidas. O sistema PTV (SMYTH & COTTER, 2000) usa um componente baseado em conteúdo e outro colaborativo para recomendar uma programação de TV.

A mistura de técnicas evita o problema para sugerir novos itens, pois mesmo que não tenham sido avaliados por ninguém, esses itens podem ser recomendados através da atuação da componente baseada em conteúdo.

Feature Combination

No modelo feature combination as duas técnicas de recomendação são usadas de forma que a primeira técnica coleta características que são usadas pela segunda técnica, processando assim dados diferentes.

Cascade

No modelo cascade, o processo de recomendação envolve estágios. Dessa forma, uma técnica de recomendação é empregada inicialmente para produzir um resultado intermediário, e em seguida, uma segunda técnica refina esse resultado parcial, gerando as recomendações.

O SR EntreeC (BURKE, 2002) utiliza esse modelo híbrido no seu processo de recomendar restaurantes. Inicialmente é usado um SR baseado em Conhecimento (taxonomia não abordada nesse trabalho) para gerar recomendações de acordo com os interesses especificados pelo usuário. Estas, por sua vez, são agrupadas em conjuntos de preferências idênticas, e só então, um SR Colaborativo atua sobre os restaurantes contidos em um mesmo conjunto, funcionando como um processo de desempate.

Meta-level

O último dos modelos consiste em combinar duas técnicas de recomendação usando um modelo gerado por uma delas como entrada para a outra. Enquanto no Feature Augmentation o

(35)

modelo aprendido é usado para gerar características e agregá-las como entrada para o segundo algoritmo, no Meta-level o modelo inteiro se torna entrada para a segunda técnica utilizada.

Um exemplo de SR que utiliza esse modelo híbrido é o Fab (BALABANOVIC & SHOHAM, 1997), cujo foco está em recomendar documentos na Web. Ele é composto de um SR colaborativo que gera um modelo utilizado posteriormente pelo SR baseado em conteúdo.

(36)

3 METODOLOGIA

Este capítulo aborda a metodologia empregada no desenvolvimento deste trabalho e está subdividido em cinco etapas: seleção e preparação da base de dados (seção 3.1.), pré-processamento dos dados adquiridos (seção 3.2.), complementação da base usando técnicas de web crawling (seção 3.3.), representação da base resultante através de matrizes numéricas (seção 3.4.) e, por fim, descrição dos experimentos realizados (seção 3.5.).

3.1 SELEÇÃO E PREPARAÇÃO DA BASE DE DADOS

O primeiro passo para o desenvolvimento desse trabalho consistiu em compreender as peculiaridades de cada técnica de recomendação e, em seguida, buscar uma base de dados que possibilitasse a aplicação de seus algoritmos. A recomendação baseada em texto exige que o objeto a ser recomendado seja rico textualmente ou, quando possível, possua metadados que assim o descreva. Já a classe de algoritmos colaborativos demanda uma base de dados diferenciada, não necessariamente caracterizada textualmente, mas que permita explorar os padrões de uso de cada usuário para representar suas preferências e as relações entre os mesmos.

Diante dessas diferentes necessidades, e através da etapa de revisão bibliográfica, chegou-se ao website Citeulike – um chegou-serviço de gerenciamento, compartilhamento e descoberta de referências bibliográficas de artigos científicos. Nele existe o conceito de bibliotecas virtuais pessoais (Figura 10), onde cada usuário pode armazenar artigos científicos de seu interesse. Além de assessorar seus usuários na organização dos seus artigos, o Citeulike tem também um viés colaborativo, visto que seus usuários podem compartilhar suas bibliotecas pessoais e também explorar outras, descobrindo assim, aqueles que possuem preferências similares às suas, e até mesmo novos trabalhos de possível relevância. Por essas características, o conjunto de dados desse Portal encaixou-se perfeitamente com a base almejada para o desenvolvimento desse trabalho, com vasta quantidade de informação e representação realística do foco de estudo, a recomendação de artigos.

(37)

Figura 10 - Screenshot de uma biblioteca pessoal no portal Citeulike.

Como ponto de partida, tivemos acesso a um conjunto de dados reduzido do Citeulike, utilizado por Bogers (2009) em sua tese de doutorado Recommender Systems for Social Bookmarking.1 Além das razões já discutidas, reforçaram a escolha desses dados:

● A primeira razão é que tais dados se mostram apropriados para uso no estudo de Recomendação, uma vez que os mesmos foram utilizados com sucesso em sua tese.

● Além disso, uma filtragem prévia já foi realizada, sendo retirados os itens duplicados e artigos considerados spam.

A retirada de itens duplicados e spam, além de reduzir a dimensionalidade da base, ajuda a aumentar a velocidade no processo de geração das recomendações. Isso ocorre porque, quanto

(38)

menor a quantidade de dados a serem processados – conservando suas características – mais rapidamente os algoritmos são executados. Além disso, com a retirada de itens ruidosos, diminui-se a influência negativa nos resultados a diminui-serem obtidos.

3.2 PRÉ-PROCESSAMENTO DOS DADOS ADQUIRIDOS

Os dados iniciais são organizados em tuplas <Usuário, Artigo>. Essas tuplas totalizam 84.637 pares, compostos por 1.322 usuários e 38.419 artigos distintos. A relação <Usuário, Artigo> significa que, dado um usuário X e um artigo Y, X possui Y como um dos artigos que compõem sua biblioteca pessoal. Vale ressaltar que, o mesmo artigo Y está presente em mais de uma biblioteca pessoal e, cada usuário, obrigatoriamente, possui pelo menos vinte artigos.

Com base nessas tuplas, foi criado um histograma para quantificar o relacionamento entre usuário e artigo e realizar possíveis filtragens. A Figura 11 ilustra esse relacionamento e demonstra que poucos usuários possuem uma grande quantidade de artigos adicionados às suas bases pessoais, enquanto que a grande maioria dos usuários acumula uma quantidade baixa de artigos. Com base nesse gráfico, e aplicando-se a escala logarítmica em ambos os seus eixos, chegou-se ao gráfico da Figura 12, onde a distribuição por Lei de Potência fica mais evidente sobre o conjunto de dados.

(39)

Figura 11 - Histograma da quantidade de artigos por usuários.

(40)

A redução da base de dados foi realizada com o estabelecimento de dois limiares, um relacionado à popularidade de um item, ou seja, quantidade de bibliotecas pessoais em que um item está contido; e ao tamanho das bibliotecas de cada usuário. A razão para executar tais restrições tem explicações lógicas, visto que, para que um sistema possa fornecer recomendações úteis a um usuário, este precisa de uma quantidade mínima de artigos. Sem essa quantidade inicial, não é possível capturar características textuais e colaborativas suficientes para o processo de recomendação.

Um cuidado adicional foi tomado durante esse processo, pois ambos os alvos dos cortes estão interconectados, influenciando um ao outro. Ao limitar os artigos por sua popularidade, retirando os menos populares, gera-se um efeito colateral na dimensão de algumas bibliotecas pessoais e vice-versa.

Outra medida de redução dos dados, realizada por Bogers e adaptada para este trabalho, consiste em aplicar um limiar para exclusão de certos usuários. Ou seja, definir um valor mínimo de itens que um usuário tem que possuir em seu perfil para que ele seja considerado nos experimentos. Essa medida atinge diretamente o problema conhecido como Cauda Longa onde poucos usuários possuem uma quantidade grande de artigos adicionados a seu perfil, enquanto a grande maioria dos usuários tem uma quantidade baixa de artigos. A regulagem desse limiar delimitará o tamanho do corte que será feito sobre os dados, sendo reportado na literatura variações de 5 a 20.

3.3 COMPLEMENTAÇÃO DA BASE DE DADOS

Como já descrito anteriormente, a base de dados adquirida do Citeulike trazia apenas o relacionamento entre usuários e itens. Essas informações já seriam suficientes para realização de recomendações colaborativas. Contudo, o foco dessa dissertação extrapola tal objetivo e, para analisar recomendações híbridas, tornou-se indispensável a complementação dessa base, enriquecendo-a com características que permitam recomendação por conteúdo. Assim, de posse dos números de identificação dos artigos, as suas URLs puderam ser remontadas segundo o padrão adotado pelo Citeulike (www.citeulike.org/article/ARTICLE_ID). Essa lista de links foi acessada e dela extraídas as informações que complementaram a base de dados, como explicado a seguir.

(41)

3.3.1 WEB CRAWLING

Web Crawlers, amplamente conhecidos como Web Spiders, Web Robots ou simplesmente Crawlers, são programas de computador que, de maneira automatizada e organizada, navegam através da Web enquanto realizam o download do conteúdo das páginas encontradas, ou seja, de seus códigos HTML (HyperText Markup Language) (CASTILLO & BAEZA-YATES, 2005). Embora possam ser usados para automatizar tarefas de manutenção em websites - como verificação de links quebrados, validação de código HTML, coleta de endereços de email e afins, esses programas, geralmente são concebidos por motores de busca para a obtenção de bases de dados robustas em quantidade de documentos e, ao mesmo tempo, atualizadas periodicamente, uma vez que as páginas da Web estão em constante mudança.

No presente trabalho, o Crawler foi adotado de maneira simplificada, com o intuito de obter um conjunto reduzido de documentos HTML (Figura 13) do portal Citeulike, e assim construir a base de dados essencial às experimentações em recomendação.

Figura 13 - Screenshot de um artigo no portal Citeulike, com seus metadados evidenciados em verde (título), azul (autores) e vermelho (resumo).

(42)

Não era necessária a navegação entre páginas, explorando novos links a partir do conjunto inicial de sementes.

As eventuais modificações que as páginas estavam sujeitas não impactavam a composição da base. Sendo assim, não era necessário adquiri-las periodicamente.

Conforme pode ser observado na Figura 14, a arquitetura do sistema de crawling é bem simples, composto por uma fila que armazena todas as URLs a serem baixadas e um conjunto de threads cuja quantidade é configurável. Esses threads consomem a fila pausadamente, com o intuito de preservar a política de acesso do próprio Citeulike. Por fim, as páginas são salvas num diretório padrão, nomeadas usando um número único de identificação.

(43)

Ao final desse processo, criou-se um diretório com 1975 documentos em HTML, cada um representando um artigo científico. Esse resultado serviu de entrada para a etapa de Parsing, descrita a seguir.

3.3.2 PARSING

Dando continuidade ao processo de obtenção da base, deu-se início à etapa de parsing. Nessa etapa, os documentos HTML adquiridos são convertidos numa estrutura em árvore – padrão conhecido como DOM (Document Object Model). Vale salientar que, por se tratar de páginas geradas automaticamente, a estrutura das árvores geradas é basicamente a mesma, havendo variação apenas em seu conteúdo, ou seja, em suas folhas.

Utilizando a biblioteca Jsoup2, foi possível navegar entre os nós dessas árvores, inspecionando-os para extrair os metadados desejados em cada artigo científico, a saber: Título, Autores e Resumo.

A Figura 15 ilustra a etapa de parsing. Nela, um exemplo ilustrativo de um artigo científico é transformado em sua estrutura DOM equivalente e, em seguida, apenas as folhas que possuem os metadados são preservadas.

Figura 15 - Exemplo de parsing em uma página HTML utilizando sua árvore DOM.

3.4 REPRESENTAÇÃO DOS DADOS ATRAVÉS DE MATRIZES

(44)

Para reduzir a complexidade do conjunto de documentos e facilitar sua manipulação durante a etapa de experimentação, a base de dados foi representada matematicamente através de matrizes esparsas. A primeira delas (Figura 16), montada através das tuplas <usuário, item>, foi usada para mapear o relacionamento existente entre os usuários e os itens presentes na biblioteca de cada um deles. Essa matriz permite a execução de algoritmos essencialmente colaborativos, visto que permite a visualização das vizinhanças entre usuários com gostos similares.

Figura 16 - Exemplo de uma matriz colaborativa.

Os metadados dos documentos extraídos durante a etapa de parsing foram convertidos em uma segunda matriz (Figura 17), esta baseada em conteúdo, cujas linhas representam os artigos da base e as colunas representam o TF de cada termo em cada artigo. Para diferenciar os termos oriundos de metadados diferentes (título, autor e resumo), rótulos foram previamente adicionados para indicar a origem do termo, formando, mesmo que simbolicamente, uma nova palavra.

Figura 17 - Exemplo de matriz baseada em conteúdo.

Dessa maneira, o conteúdo de cada documento é representado seguindo os conceitos de representação de documentos de RI, no modelo de espaço vetorial, pela variedade e freqüência

(45)

dos termos que o compõem (TF). De posse dessa segunda matriz, podem ser executados algoritmos puramente baseados em conteúdo.

3.5 DESCRIÇÃO DOS EXPERIMENTOS

Dois tipos de recomendação são experimentados nessa monografia: Recomendação Colaborativa (RC) e Recomendação Híbrida Baseada no Usuário (RHBU). A segunda é considerada híbrida porque características de algoritmos colaborativos e baseados em conteúdo se misturam durante o fluxo de execução na tentativa de maximizar a qualidade dos resultados gerados, e é baseada em usuário, pois todo o cálculo de similaridade e a construção de vizinhanças são feitos com foco no usuário ativo (aquele a quem as recomendações serão destinadas) e os demais usuários que compõem a base.

Apesar de serem tipos distintos de recomendação, o experimento é praticamente o mesmo para ambos, com algumas diferenças no decorrer do processo. Para descrever o experimento de maneira mais clara, o mesmo foi subdividido em seis etapas. A Figura 18 ilustra como elas se interconectam e, em seguida, as peculiaridades das mesmas são detalhadas.

(46)

Etapa 1: Criação dos Perfis dos Usuários3

Nessa etapa são utilizadas as duas matrizes: a matriz colaborativa - aquela que relaciona usuários a seus artigos; e a matriz baseada em conteúdo – que traz um vetor de termos presentes em cada artigo da base.

A criação do perfil de cada usuário está conceituada na abordagem conhecida como Bag of Words, onde um conjunto de documentos textuais é processado e transformado em um único vetor.

Como já foi explicado antes, cada artigo da base é representado por um vetor de TF. Assim, os artigos são somados e unificados em apenas um vetor TF, representando a biblioteca do usuário em questão e a parcela de importância de cada termo, como pode ser visualizado na Figura 19.

Esse processo é repetido com cada usuário da base, gerando uma matriz de Usuários X Termos. Uma vez gerada tal matriz, a etapa 1 não volta a se repetir durante o experimento.

Figura 19 - Processo de criação do perfil de um usuário usando a conceito de Bag of Words.

Etapas 2 e 3: Seleção do Usuário Ativo e Remoção de Um Artigo

Uma vez criados os perfis, é dado início ao processo de recomendação (das etapas 2 a 6). Nesse processo, um usuário da base é selecionado como ativo (etapa 2) e um dos seus artigos é

(47)

removido de sua biblioteca (etapa 3), na tentativa do algoritmo realizar sua predição. Assim, escolhido o usuário ativo, o processo se repete de acordo com o tamanho da sua biblioteca pessoal. Se ele possui dez artigos, serão dez repetições, removendo de sua base um artigo por vez. Vale ressaltar que, de acordo com as filtragens realizadas e explicadas na Seção 3.2, usuários cuja biblioteca possua tamanho inferior ao limiar de cinco artigos são desconsiderados do processo experimental, e não receberão recomendações.

Etapa 4: Encontrar Vizinhos

Nessa etapa, através do KNN, a similaridade é calculada entre o usuário ativo e cada um dos demais usuários (Figuras 20 e 21), comparando seus perfis criados na etapa 1. A métrica de similaridade adotada foi a do cosseno, largamente usada no âmbito da recuperação da informação, e como resultado de cada par de usuários calculado, tem-se um número contido no intervalo de 0 a 1. Quando os usuários comparados são completamente diferentes, eles distam um do outro em 90 graus de angulação e, conseqüentemente, o cosseno entre eles é zero. Em contrapartida, se os usuários possuem bases idênticas, eles se sobrepõem no espaço n-dimensional. Logo, o ângulo entre eles é zero e seu valor de similaridade é 1.

Referências

Documentos relacionados

Os Oficiais de Registro Civil das Pessoas Na- turais do Estado de São Paulo também têm competência para os atos notariais de reconhecimento de firma, autenticação de cópia

Ana Elisa Ribeiro (Centro Federal de Educação Tecnológica, Belo Horizonte, Brasil) Ana Zandwais (Universidade Federal do Rio Grande do Sul, Porto Alegre, Brasil) Anna Christina

Alteração geométrica no teto a jusante de comporta do sistema de en- chimento e esvaziamento para eclusa de na- vegação: simulação numérica do escoamento e análise das pressões

(2004), para testar o uso de bioestimulantes a base de citocinina, giberilina e ácido indolcanóico na cultura do milho, realizaram uma pesquisa na qual os resultados

Neste contexto, os impactos ocasionados pelo uso e manejo na estrutura física do solo, vêm sendo quantificado através de diferentes propriedades físicas do solo, tais como

É possível argumentar que havia uma tendência conservadora dos governos ditatoriais que vigoraram na América Latina na segunda metade do século XX. Pregavam a