UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE...

74
UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA Felipe Born de Jesus MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ABORDAGEM USANDO CLUSTERING E KNN Florianópolis 2013

Transcript of UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE...

Page 1: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

1

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

Felipe Born de Jesus

MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK

IMPLÍCITO DO USUÁRIO:

ABORDAGEM USANDO CLUSTERING E KNN

Florianópolis

2013

Page 2: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

2

Felipe Born de Jesus

MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK

IMPLÍCITO DO USUÁRIO:

ABORDAGEM USANDO CLUSTERING E KNN

Trabalho de conclusão de curso

apresentado como parte dos requisitos

para obtenção de grau de Bacharel em

Ciências da Computação.

Orientadora: Profa. Dra. Carina Friedrich Dorneles

Florianópolis

2013

Page 3: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

3

Felipe Born de Jesus

MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK

IMPLÍCITO DO USUÁRIO:

ABORDAGEM USANDO CLUSTERING E KNN

Trabalho de conclusão de curso apresentado como parte dos requisitos para obtenção de grau de

Bacharel em Ciências da Computação.

Orientadora:

___________________________________

Profa. Dra. Carina Friedrich Dorneles

Banca examinadora:

___________________________________

Prof. Dr. Elder Rizzon Santos

___________________________________

Prof. Dr. Ronaldo dos Santos Mello

Florianópolis

2013

Page 4: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

4

DEDICATÓRIA

Dedico este trabalho aos meus amados pais, Magda e Adriano, a quem

sempre posso contar em todos os momentos, ao meu irmão e melhor

amigo, Marcelo, à minha namorada que tanto amo, minha Karine

Speck. Dedico também a cada um dos professores que me ajudaram

de alguma forma no decorrer da graduação.

Page 5: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

5

AGRADECIMENTOS

Primeiramente agradeço à UFSC pela sua estrutura e aos meus prezados professores,

principalmente do Departamento de Informática e Estatística, por terem passado adiante parte dos

seus tão preciosos conhecimentos, dos quais sem eles eu não teria condição de escrever este

trabalho. Dentre esses professores, friso aos que compõem a banca examinadora, o Professor Elder

e o Professor Ronaldo, mas com um agradecimento especial à professora que me orientou tão bem

no decorrer do trabalho, professora Carina Friedrich Dorneles.

Todavia, nada seria possível sem aqueles que não apenas me trouxeram a vida, como me

ensinaram a viver de forma tão bonita e feliz, meus pais queridos, Adriano e Magda, sempre me

ajudando e ensinando-me desde criança a ter amor pelo estudo, a ter o sonho de seguir a vida

acadêmica, não apenas fazendo seus papéis como meus pais, como sendo meus amigos acima de

tudo.

E dentre os amigos eu cito uma pessoa em especial, que esteve presente comigo durante toda

a minha graduação, que compartilhou comigo momentos difíceis e bonitos, minha amiga Anaize.

Contudo, meu melhor amigo e a quem agradeço de todo o coração desde o momento de seu

nascimento na maternidade Carmela Dutra, meu irmão Marcelo.

E amor, minha namorada, minha Karine Speck, agradeço a ti por ter me mostrado como o

amor pode trazer felicidade, como a vida ao teu lado pode ser bonita. Agradeço por me aturar

durante essa fase difícil que foi a escrita deste trabalho ao mesmo tempo em que eu tinha que me

dedicar às demais matérias, sem nunca perder o brilho dos teus olhos tão maravilhosos. Sem nunca

perder esse sorriso que ilumina meus dias mesmo nas tempestades mais escuras.

Page 6: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

6

“I’ll make you happy, baby, just wait and see. For every kiss you give

me, I’ll give you three.” (Ronettes)

Page 7: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

7

SUMÁRIO

1 INTRODUÇÃO .......................................................................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA ............................................................................................. 16

2.1 Feedback ...................................................................................................................................... 16

2.2 Clustering ..................................................................................................................................... 17

2.2.1 Feedback Implícito Através de Cluster Local ........................................................................... 17

2.2.2 Feedback Implícito Através de Análise de Contexto Local ...................................................... 19

2.3 Sistemas de Recomendação ......................................................................................................... 20

2.3.1 Sistemas de Recomendação Baseados em Conteúdo ................................................................ 20

2.3.2 Sistemas de Recomendação Colaborativos ............................................................................ 21

3 TRABALHOS RELACIONADOS ............................................................................................. 22

3.1 Em Direção à Próxima Geração de Sistemas de Recomendação: Um Levantamento sobre o

Estado da Arte e Possíveis Extensões ................................................................................................ 22

3.1.1 Levantamento sobre Sistemas de Recomendação .................................................................. 22

3.1.2 Estendendo Capacidades de Sistemas de Recomendação ..................................................... 27

3.2 BPR: Ranking Personalizado de Bayesiana Através de Feedback Implícito ............................ 30

3.2.1 Levantamentos Preliminares .................................................................................................. 30

3.2.2 Ranking Personalizado ........................................................................................................... 31

3.2.3 Ranking Personalizado Bayesiano (BPR) .............................................................................. 33

3.2.4 Avaliação ................................................................................................................................ 37

3.3 Ferramenta de Busca na Web com Feedback Explícito ............................................................. 38

3.3.1 Método de Rocchio ................................................................................................................ 38

3.3.2 Ferramenta XFIND ................................................................................................................. 40

3.3.3 Experimentos ......................................................................................................................... 41

3.4 Tabela Comparativa ................................................................................................................... 41

Page 8: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

8

4 PROPOSTA DO TRABALHO................................................................................................ 43

4.1 Arquitetura do Sistema............................................................................................................... 43

4.2 Adicionando feedback implícito através de log ......................................................................... 46

4.2.1 Estendendo arquitetura para utilização de feedback implícito através de log ........................ 49

4.3 Implementação ........................................................................................................................... 51

4.3.1 Pacotes e Classes .................................................................................................................... 51

4.3.2 Comunicação entre as Classes ............................................................................................... 54

4.3.3 Inicialização dos Documentos ............................................................................................... 54

4.3.4 Busca de Documentos ............................................................................................................ 56

5 ANÁLISE DOS RESULTADOS ............................................................................................. 58

5.1 Método de avaliação: Estudo de caso: Movies Project .............................................................. 58

5.2 Resultados da Avaliação ............................................................................................................. 60

6 CONSIDERAÇÕES FINAIS .................................................................................................. 67

6.1 Trabalhos futuros ....................................................................................................................... 69

REFERÊNCIAS ................................................................................................................... 73

Page 9: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

9

LISTA DE FIGURAS

Figura 1- Arquitetura de clustering para documentos ........................................................................ 43

Figura 2- Arquitetura de clustering para banco de dados relacional .................................................. 44

Figura 3-Arquitetura abstrata de clustering ....................................................................................... 45

Figura 4- Arquitetura de clustering para banco de dados relacional sem expansão de query ............ 46

Figura 5- Arquitetura para utilização de logs ..................................................................................... 47

Figura 6- Arquitetura para utilização de logs com a técnica kNN ...................................................... 48

Figura 7- Arquitetura abstrata de clustering e log .............................................................................. 49

Figura 8- Arquitetura interna de clustering e log ............................................................................... 50

Figura 9- Diagrama de classes da arquitetura .................................................................................... 51

Figura 10- Diagrama de inicialização dos documentos ..................................................................... 55

Figura 11- Diagrama de busca de documentos .................................................................................. 56

Figura 12- Diagrama do método de avaliação ................................................................................... 59

Figura 13- Gráfico de revocação e precisão para um ranking qualquer............................................. 61

Figura 14- Gráfico de revocação e precisão para um ranking com clusterização .............................. 61

Figura 15- Gráfico de revocação e precisão para um ranking com kNN ........................................... 62

Figura 16- Gráfico de revocação e precisão para consultas com 5 resultados ................................... 63

Figura 17- Gráfico de revocação e precisão para consultas com 10 resultados ................................. 64

Figura 18- Gráfico de revocação e precisão para consultas com 15 resultados ................................. 65

Figura 19- Gráfico de revocação e precisão para consultas com 20 resultados ................................. 66

Page 10: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

10

LISTA DE TABELAS

Tabela 1- Exemplo de amostragem de feedback implícito................................................................. 31

Tabela 2- Decomposição do feedback implícito em novas matrizes ................................................. 33

Tabela 3- Tabela comparativa ............................................................................................................ 41

Tabela 4- Tabela de revocação e precisão para um ranking qualquer ................................................ 60

Tabela 5- Tabela de revocação e precisão para um ranking com clusterização ................................. 61

Tabela 6- Tabela de revocação e precisão para um ranking com kNN .............................................. 62

Tabela 7- Tabela de revocação e precisão para consultas com 5 resultados ...................................... 62

Tabela 8- Tabela de revocação e precisão para consultas com 10 resultados .................................... 63

Tabela 9- Tabela de revocação e precisão para consultas com 15 resultados .................................... 64

Tabela 10- Tabela de revocação e precisão para consultas com 20 resultados .................................. 65

Page 11: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

11

LISTA DE REDUÇÕES

XML – eXtensible Markup Language

SR – Sistemas de Recomendação

SRI – Sistemas de Recuperação de Informação

API – Application Programming Interface

ROC – Receiver Operating Characteristic

AUC – Area Under a ROC Curve

KNN – k-Nearest-Neighbor

SMA – Sistemas Multiagentes

Page 12: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

12

RESUMO

Quando se faz acesso a uma base de dados muito extensa, é normal ter como resultado um conjunto

grande de informações, de forma que se faz necessário uso de técnicas para filtrar ou ranquear os

resultados das consultas. Tais técnicas fazem uso de informações previamente coletadas pelos

usuários do sistema de busca chamadas de feedback e as utilizam com o objetivo de predizer um

ranqueamento dos resultados que atenderá melhor ao usuário. Contudo, técnicas que obtém o

feedback através de formulários ou demais formas de obtenção explícitas podem se tornar maçantes

aos usuários do sistema. Deste modo, o objetivo deste trabalho é o estudo das técnicas de obtenção

de feedback implícito e a utilização do mesmo para melhorar o ranque dos resultados das consultas.

Para isso, fez-se leitura das técnicas existentes, além de consulta a artigos e demais trabalhos

relacionados para então programar em linguagem de programação tais técnicas. Como resultado,

espera-se a análise sobre a viabilidade das técnicas, além de suas exatidões com relação ao ranque

proposto pela técnica. Também será proposta uma arquitetura do programa que contenha as técnicas

estudadas e elaboradas, servindo como documento para uma possível API, bem como sua real

documentação para possibilitar futuras manutenções e estudo do código. Para validação da

arquitetura é proposta uma abordagem em que se estimam as avaliações obtidas para determinados

resultados de uma pesquisa através da análise do feedback implícito e então as compara com um

conjunto de dados cujo objetivo é a obtenção das reais avaliações feitas pelo usuário do sistema.

Palavras-chave: base de dados, feedback, implícito, explícito, informações.

Page 13: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

13

1 INTRODUÇÃO

Quando se trata de uma consulta que detém uma grande quantidade de informações como resultado,

é normal haver dados irrelevantes e / ou dados que sejam mais relevantes. Sendo assim, faz-se

necessário um ranqueamento dos resultados de modo que os dados mais relevantes ao usuário do

sistema sejam mostrados anteriormente aos menos relevantes. Uma maneira de se obter um

ranqueamento melhorado é através de feedback, que pode ser explícito ou implícito. Ao se tratar de

feedback explícito, tem-se que o usuário, para cada resultado, classifica a informação de acordo

com o que considera relevante. Desse modo, esse tipo de técnica, com base no que o usuário

considera explicitamente como relevante, classifica os resultados da próxima consulta em virtude

dos dados capturados.

Contudo esse tipo de técnica, apesar de claramente prover uma classificação adequada ao

usuário, necessita de sua interferência direta, o que nem sempre é possível ou esperado para

usuários. Assim, uma segunda opção, classificada como feedback implícito, propõe reordenar os

resultados de uma consulta através das informações que o usuário fornece de maneira implícita ou

através de análise local dos dados, para correlacioná-los e então classificá-los novamente.

Para análise de dados de feedback, evidenciam-se técnicas que façam uma abordagem a

respeito da análise local de documentos, propostas por [YATES e NETO, 1999], obtendo-se uma

primeira versão para um ranqueamento melhorado. Contudo, tais técnicas não fazem uso de

conhecimentos sobre os dados dos usuários, de modo que se buscou auxílio em sistemas de

recomendação, cujo estado da arte é mostrado no trabalho de [ADOMAVICIUS E TUZHILIN,

2005]. Por fim, faz-se uso da abordagem de [RENDLE, FREUDENTHALER, GANTER E

SCHIMIDT-THIEME, 2009] para se definir o conjunto de feedback implícito e então utilizá-lo para

melhorar o ranqueamento dos resultados de uma consulta para um usuário.

Como objetivo do trabalho se tem uma análise com relação às técnicas propostas pela

literatura para classificação de ranque de consulta de usuários, evidenciando as qualidades das

mesmas bem como um sistema em que, com base nas técnicas estudadas e nos feedbacks do usuário,

gere resultados relevantes em suas buscas, além de um ranque melhorado com relação a essa

relevância. Para isso é proposta uma arquitetura que se seja capaz de ler dados de navegação dos

usuários de algum sistema e, com base nesses dados, seja capaz de prover a melhoria de ranque de

uma consulta. Com isso, a arquitetura também é capaz de obter os dados a ranquear.

Com a arquitetura disponível, fez-se o estudo dos resultados de um sistema que utilize dados

sobre filmes, demonstrando qual ou quais são as técnicas que resultam em um ranque mais

adequado, sendo a primeira parte dos estudos voltada às técnicas de análise local, quando o

feedback é analisado exclusivamente pela correlação entre os dados retornados da consulta, e em

Page 14: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

14

uma segunda etapa à elaboração das técnicas que utilizem um contexto global, sendo esta o objetivo

principal do trabalho, uma vez que faz uso de informações implicitamente deixadas pelo usuário

para então elaborar o ranque com relação à consulta considerada.

O trabalho apresenta dois pontos importantes como contribuição: o fornecimento de um

sistema completo para utilização de desenvolvedores, com base nos resultados obtidos pela

pesquisa ou uma ferramenta que auxilia o desenvolvedor a utilizar os algoritmos de feedback

descritos ao decorrer do trabalho. A vantagem da primeira abordagem é clara, o desenvolvedor não

precisa conhecer as técnicas descritas para fazer o uso de uma ferramenta adicional ao próprio

sistema, mas ao mesmo tempo, pode a ferramenta não estar otimizada para sua própria aplicação.

Por exemplo: em uma rede social, talvez seja mais interessante para um usuário saber quais são as

pessoas que possuem mais amigos em comum com ela (tendo uma probabilidade grande de serem

conhecidas do usuário) do que saber quais usuários possuem gostos semelhantes, se o objetivo

dessa rede for fornecer pessoas que o usuário já conhece, mas não adicionou ainda aos seus amigos

/ conhecidos. No exemplo, se for utilizado um sistema completo baseado em resultados obtidos nos

estudos, talvez os usuários não fiquem tão satisfeitos quanto ficariam se o desenvolvedor

personalizasse o feedback para sua própria aplicação (por exemplo: dando peso maior aos amigos

em comum do que gostos em comum).

A metodologia do trabalho é, portanto, uma abordagem científica, provendo uma técnica

para utilização de feedback implícito a um sistema, baseado em um estudo de caso, com um

conjunto de dados já existente e extenso. Essa técnica faz uso de diversos algoritmos de feedback

implícito e tenta compor um ranque de acordo com ponderações em cima das saídas de cada

algoritmo, de forma que seja possível personalizar os pesos dos algoritmos para uma aplicação

específica. Fazendo analogia ao exemplo anterior, imagina-se o caso em que o desenvolvedor já

sabe que, para sua aplicação, é mais interessante considerar o conjunto de amigos em comum do

que os gostos do usuário, para fornecer opiniões sobre quais outros usuários poderiam ser

conhecidos dele. Desse modo o desenvolvedor ao invés de usar a ferramenta completa, utiliza uma

ferramenta ajustando os próprios pesos para os métodos estudados.

Por fim, estrutura-se o trabalho apresentando a fundamentação teórica, no Capítulo 2,

descrevendo conceitos de feedback bem como técnicas que dele façam uso, abordando também

sistemas de recomendação e algumas das suas principais áreas de estudo. No Capítulo 3 são

mencionados três trabalhos relacionados à melhoria de ranking. O primeiro, de [ADOMAVICIUS E

TUZHILIN, 2005], cuja contribuição é o estado da arte sobre os sistemas de recomendação. O

segundo trabalho, de [RENDLE, FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009],

que provê um estudo sobre como considerar feedback implícito, bem como uma técnica

desenvolvida pelos próprios autores afim de se construir um ranqueamento bayesiano sobre o

Page 15: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

15

problema de recomendação, visto também em [ADOMAVICIUS E TUZHILIN, 2005]. Ainda no

Capítulo 3 é analisado o trabalho de [WOJCIKIEWICZ, 2011], que faz estudo sobre técnicas que

utilizem feedback explícito. A seguir, no Capítulo 4, é proposta uma arquitetura capaz de ser

estendida para comportar diferentes técnicas para melhoria de ranking, citando os principais

algoritmos utilizados no trabalho e mostrando os diagramas para implementação da arquitetura. No

Capítulo 5 é feita uma análise dos resultados para um sistema contendo dados de filmes. Ao se

chegar ao Capítulo 6 são evidenciadas as considerações finais do trabalho para então, no Capítulo 7,

serem propostas extensões de trabalhos, como trabalhos futuros.

Page 16: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

16

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo tem como objetivo fundamentar e embasar a arquitetura a ser utilizada nos capítulos

posteriores, conceituando feedback e descrevendo as técnicas que fazem uso dele. O feedback pode

ser visto como uma informação de um usuário sobre determinado dado. Esse feedback pode ser

explícito, quando o próprio usuário informa a relevância referente a determinado item de dado, ou

implícito, quando o usuário não informa diretamente a relevância de determinado item de dado,

sendo trabalho do sistema em questão interpretar essa informação implícita do usuário.

Os subcapítulos sequentes definem feedback e clustering de acordo com [YATES e NETO,

1999].

2.1 Feedback

[YATES e NETO, 1999] classificam feedback de relevância como o processo de

modificação de determinada consulta inicial, de acordo com informações que podem ser usadas

para resgatar documentos que provavelmente são considerados relevantes de acordo com a consulta.

Esse processo pode acontecer de duas diferentes maneiras: através de feedback explícito, quando

essa reformulação da consulta se dá através de dados informados diretamente pelos usuários, ou

feedback implícito, quando essa reformulação acontece baseada em derivações implícitas do

sistema.

[RENDLE, FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009] explicam que

muitos trabalhos são descritos utilizando-se feedback explícito, mas expõe suas limitações, uma vez

que é difícil coletá-los e, mesmo coletando-os, essas informações resultam em um subconjunto

pequeno em relação ao conjunto total de documentos considerados. [HU, KOREN E VOLINKSY,

2008] exemplificam aplicações que utilizam feedback explícito, como o Netflix que coleta

classificação por estrelas para os filmes (em que as avaliações estão em escala de 1 a 5 estrelas),

mas também revela a dificuldade de se obter esse tipo de informação. Dessa forma, [RENDLE,

FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009] indicam vantagens a respeito de

feedback implícito, que normalmente já são existentes na maioria dos sistemas de informação,

através de logs. O problema que é facilmente perceptível sob essa abordagem é que não há uma

garantia concreta de que determinado feedback implícito (exemplo: um clique no meio da página)

significa algo de útil sobre o usuário (exemplo: ele pode ter clicado sem querer na página). Sobre os

tipos de feedback implícito, [HU, KOREN E VOLINKSY, 2008] indicam o histórico de compra,

exemplificando que se determinado usuário comprou muitos livros de um mesmo autor é muito

provável que ele goste desse autor.

Page 17: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

17

Em suma, esse feedback coletado pode ser usado para recomendar ao usuário do sistema as

informações que acredita-se que sejam mais relevantes ao usuário. Essa tarefa de interpretar as

informações com a finalidade de ajudar os usuários a encontrar os objetos de informações desejados

é, segundo [OARD e KIM, 1998], tarefa de um sistema de recomendação, o qual é descrito

posteriormente no decorrer do capítulo.

2.2 Clustering

O objetivo deste tópico é conceituar uma das formas de se utilizar o feedback implícito.

Como visto anteriormente, exemplos de feedback implícito incluem padrões de pesquisa,

movimentos de mouse, históricos (tanto de compra quanto de navegação). Outra abordagem,

descrita por [YATES e NETO, 1999], é examinar os resultados de determinada consulta e derivar

informações de feedback através dos resultados do topo do ranque. A seguir serão comentadas as

técnicas utilizadas.

2.2.1 Feedback Implícito Através de Clustering Local

O procedimento padrão é construir estruturas globais, como matriz de associação, que

quantifiquem correlação entre os termos e então os use para a expansão de uma query.

Definição: Seja uma query q, 𝐷𝑙 o conjunto de documentos retornados, chamado conjunto

de documento local (local document set); 𝑁𝑙 é o número de documentos em 𝐷𝑙; 𝑉𝑙 é o conjunto de

palavras distintas em 𝐷𝑙 (vocabulário local); 𝑓𝑖,𝑗 é a ocorrência do termo 𝑘𝑖 em 𝑑𝑗 | 𝑑𝑗 ∈ 𝐷𝑙 ;

𝑀𝑙 = 𝑚𝑖,𝑗 seja uma matriz de número de linhas igual ao número de elementos em 𝑉𝑙 e 𝑁𝑙 colunas |

𝑚𝑖,𝑗 = 𝑓𝑖,𝑗 . 𝑀𝑙𝑇 é a matriz transposta de 𝑀𝑙 ; 𝐶𝑙 = 𝑀𝑙 ∗ 𝑀𝑙

𝑇 seja a matriz de correlação local

termo a termo. Cada elemento 𝑐𝑢,𝑣 ∈ 𝐶𝑙 expressa correlação entre 𝑘𝑢 e 𝑘𝑣.

Cluster de Associação: Um cluster de associação é computado por uma matriz de correlação local

𝐶𝑙, redefinindo o fator de correlação 𝑐𝑢,𝑣 entre 𝑘𝑢 e 𝑘𝑣 como o seguinte: 𝑐𝑢,𝑣 = ∑ 𝑓𝑢,𝑗 ∗ 𝑓𝑣,𝑗𝑑𝑗∈ 𝐷𝑙.

Da maneira que a equação acima está descrita, o fator 𝑐𝑢,𝑣 quantifica a frequência absoluta

de co-ocorrência e é dito não-normalizado. Assim, uma alternativa para normalização de 𝑐𝑢,𝑣 seria:

𝑐′𝑢,𝑣 = 𝑐𝑢,𝑣

𝑐𝑢,𝑢+ 𝑐𝑣,𝑣− 𝑐𝑢,𝑣.

Definição: Seja 𝐶𝑢(𝑛) a função que retorna os n maiores fatores de correlação 𝑐𝑢,𝑣 em uma

Page 18: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

18

matriz de associação local 𝐶𝑙, na qual v varie através do conjunto de termos locais e v ≠ u. Então

𝐶𝑢(𝑛) define o cluster de associação local, um vizinho, ao redor do termo 𝑘𝑢.

Cluster Métrico: Clusters de associação são baseados na coocorrência de termos dentro do

documento, não levando em consideração a posição dos termos no elemento. Uma vez que dois

termos que ocorrem na mesma sequência tendem a ser mais correlatos que dois termos que ocorrem

distantemente no texto, pode ser interessante levar em consideração a distância entre dois termos.

Definição: Seja 𝑘𝑢(𝑛, 𝑗) a função que retorne a n-ésima ocorrência do termo 𝑘𝑢 no

documento 𝑑𝑗 . Também, 𝑟(𝑘𝑢(𝑛, 𝑗), 𝑘𝑣(𝑚, 𝑗)) a função que compute a distância entre a n-ésima

ocorrência de 𝑘𝑢 e a m-ésima ocorrência de 𝑘𝑣 , no documento 𝑑𝑗 :

𝑐𝑢,𝑣 = ∑ ∑ ∑1

𝑟(𝑘𝑢(𝑛,𝑗),𝑘𝑣(𝑚,𝑗)) 𝑚𝑛𝑑𝑗∈ 𝐷𝑙

.

Da maneira descrita acima, a matriz 𝐶𝑙 é dita não normalizada. Para normalizamos, uma

alternativa seria: 𝑐′𝑢,𝑣 = 𝑐𝑢,𝑣

𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑎𝑟𝑒𝑠 ,𝑘𝑢 𝑒 𝑘𝑣- 𝑐𝑜𝑛𝑠𝑖𝑑𝑒𝑟𝑎𝑑𝑜𝑠.

Clusters Escalares: Outra forma de derivar relações de sinônimos entre dois termos locais ku e kv

seria comparando os conjuntos Cu(n) e Cv(n). Uma maneira de quantificar essas relações é arranjar

todos os valores de correlação 𝑐𝑢,𝑥 para o termo 𝑘𝑢 em um vetor 𝑠𝑢⃗⃗ ⃗ e arranjar todos os valores de

correlação 𝑐𝑣,𝑦 para o termo 𝑘𝑣 em um vetor 𝑠𝑣⃗⃗ ⃗.

Definição: Seja 𝑠𝑢⃗⃗ ⃗ = (𝑐𝑢,𝑥1 , … , 𝑐𝑢,𝑥𝑛) e 𝑠𝑣⃗⃗ ⃗ = (𝑐𝑣,𝑦1 , … , 𝑐𝑣,𝑦𝑛) dois vetores de correlações de

bairro para os termos 𝑘𝑢 e 𝑘𝑣, então: 𝑐𝑢,𝑣 = 𝑠𝑢⃗⃗ ⃗⃗ ∙𝑠𝑣⃗⃗⃗⃗

|𝑠𝑢⃗⃗ ⃗⃗ |∗ |𝑠𝑣⃗⃗⃗⃗ |. Assim, a matriz resultante 𝐶𝑙 é dita como

matriz local escalar.

Expansão de Query com Termos Vizinhos: Termos que pertencem aos clusters associativos

podem ser usados para expandir a query original. Um termo 𝑘𝑣 que pertença a um cluster 𝐶𝑢(𝑛),

associado com outro termo 𝑘𝑢 é dito ser vizinho de 𝑘𝑢 . Assim, considerando o problema de

expansão que, para cada termo 𝑘𝑢 ∈ 𝑞 , seleciona os m termos vizinhos do cluster 𝐶𝑢(𝑛) e os

adiciona à query, ele poderia ser expresso da seguinte maneira: 𝑞𝑚 = 𝑞 ∪ *𝑘𝑣|𝑘𝑣 ∈ 𝐶𝑢(𝑛), 𝑘𝑢 ∈

𝑞+.

Expansão de query é importante porque tende a melhorar a revocação, dado um número

grande de documentos recuperados. No entanto, um número maior de documentos para ranquear

tende a ter menor precisão. Assim, expansão de query precisa ser utilizada com cuidado.

Page 19: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

19

2.2.2 Feedback Implícito Através de Análise de Contexto Local

As técnicas de cluster locais são baseadas em conjunto de documentos recuperados para a

query original. Uma aproximação distinta é procurar por correlações de termos na coleção inteira de

documentos. Técnicas globais normalmente envolvem a construção de enciclopédias que

codifiquem as relações entre os termos na coleção. Os termos são tratados como conceitos e a

enciclopédia é vista como uma estrutura de relacionamento de conceitos.

A construção de enciclopédias considera o uso de pequenos contextos e estruturas de frase

ao invés de simplesmente adotar o contexto provido por um documento inteiro. Além do mais, com

variantes modernas de análise global, termos que são pertos à query são selecionados para expansão

de query.

O procedimento de análise de contexto local opera em três passos:

Primeiro, recupere as “n” passagens (ranqueadas) usando a query original, quebrando o do-

cumento resultante em passagens de tamanho fixo (exemplo: 300 palavras) e ranqueando es-

sas passagens como se fossem documentos.

Segundo, para cada conceito compute a similaridade como sim(q,c), entre a query toda (não

apenas termos individuais da query) e o conceito c usando uma variante do TF-IDF ranking.

Terceiro, os top m conceitos, de acordo com sim(q,c) são adicionados a query original. Para

cada conceito adicionado, é atribuído um peso dado por 1 − 0,9 ∗ 𝑖

𝑚, onde i é a posição do

conceito no ranking.

A similaridade sim(q,c) entre um conceito c e a query original q é calculada como:

∏ .𝛿 + log (𝑓(𝑐,𝑘𝑖)∗ 𝐼𝐷𝐹𝑐

log 𝑛/𝐼𝐷𝐹𝑖

𝑘𝑖∈𝑞, onde n é o número de passagens consideradas no ranking. A

função 𝑓(𝑐, 𝑘𝑖) é calculada como 𝑓(𝑐, 𝑘𝑖) = ∑ 𝑝𝑓𝑖,𝑗 ∗𝑛𝑗=1 𝑝𝑓𝑐,𝑗 , onde 𝑝𝑓𝑖,𝑗 é a frequência do

conceito c na j-ésima passagem. Também: 𝐼𝐷𝐹𝑖 = max (1,𝑙𝑜𝑔10(

𝑁𝑛𝑝𝑖⁄ )

5) e

𝐼𝐷𝐹𝑐 = max (1,𝑙𝑜𝑔10(

𝑁𝑛𝑝𝑐⁄ )

5), onde N é o número de passagens na coleção, 𝑛𝑝𝑖 é o número de

passagens contendo o termo 𝑘𝑖 e , 𝑛𝑝𝑐 é o número de passagens contendo o termo 𝑘𝑐. O fator 𝛿 é

uma constante introduzida com um valor próximo de 0.

Page 20: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

20

2.3 Sistemas de Recomendação

Segundo [RESNICK E VARIAN, 1997] os sistemas de recomendação auxiliam e aumentam

o processo natural de socialização, considerando esse termo mais geral se comparado à filtragem

colaborativa, termo até então muito usado. [ADOMAVICIUS E TUZHILIN, 2005] vão além dessa

definição e classificam os sistemas de recomendação em três abordagens diferentes, baseados em

conteúdo, colaborativos (através de filtragem colaborativa) e híbridos.

Antes de definir as três abordagens, faz-se necessário formalizar o problema de

recomendação. Seja C o conjunto dos usuários e S o conjunto de itens a serem recomendados. Seja

também u uma função de utilidade que mede a utilidade de um item s para determinado usuário c.

Formalmente, 𝑢: 𝐶 𝑋 𝑆 → ℝ. Então, para cada usuário 𝑐 ∈ 𝐶, deseja-se escolher um item 𝑠′ ∈ 𝑆

que maximize a utilidade do usuário: ∀𝑐 ∈ 𝐶, 𝑠′𝑐 = arg𝑚𝑎𝑥𝑠 ∈𝑆 𝑢(𝑐, 𝑠).

Ainda seguindo [ADOMAVICIUS E TUZHILIN, 2005], recomendações baseadas em

conteúdo são aquelas em que o sistema recomendará itens ao usuário de acordo com os itens que ele

preferiu no passado. Ao se tratar de recomendações colaborativas, os usuários serão recomendados

com itens que usuários parecidos gostaram (exemplo: Alice é parecida com Bob e Alice gostou de

determinado filme que Bob não viu, então é interessante recomendar ao Bob esse filme). Por fim, os

métodos híbridos tentam combinar ambas as abordagens para prover recomendação ao usuário.

2.3.1 Sistemas de Recomendação Baseados em Conteúdo

Como visto, sistemas de recomendação baseados em conteúdo são aqueles que recomendam

ao usuário itens que são similares àqueles que ele já tenha gostado. Existem diversas abordagens

baseadas em conteúdo. Uma foi vista anteriormente, através de clustering. Outra abordagem

interessante é a métrica TF-IDF (term frequency/inverse document frequency), definido abaixo:

𝑇𝐹𝑖,𝑗 = 𝑓𝑖,𝑗

𝑚𝑎𝑥𝑧𝑓𝑧,𝑗, em que 𝑓𝑖,𝑗 é a quantidade de vezes que uma palavra-chave 𝑘𝑖aparece em um

documento 𝑑𝑗 . 𝐼𝐷𝐹𝑖 = log𝑁

𝑛𝑖, em que N é o número total de documentos considerados e 𝑛𝑖é a

quantidade de documentos em que aparece a palavra-chave 𝑘𝑖.

Por fim, o peso TF-IDF para a palavra-chave 𝑘𝑖em um documento 𝑑𝑗é: 𝑤𝑖,𝑗 = 𝑇𝐹𝑖,𝑗 𝑥 𝐼𝐷𝐹𝑖 e

a função u(c,s) é definida como: 𝑢(𝑐, 𝑠) = ∑ 𝑤𝑖,𝑐 𝑤𝑖,𝑠𝑘𝑖=1

√∑ 𝑤𝑖,𝑐² 𝑘𝑖=1 √∑ 𝑤𝑖,𝑠²

𝑘𝑖=1

, sendo K o número total de

palavras-chave no sistema.

Page 21: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

21

2.3.2 Sistemas de Recomendação Colaborativos

Diferente das abordagens baseadas em conteúdo, as colaborativas partem do princípio de

“boca a boca”, de acordo com [RESNICK E VARIAN, 1997], em que o princípio de recomendação

é baseado no próprio cotidiano social das pessoas. Afinal, quando uma pessoa gosta (ou desgosta)

de algo, tende a comentar sobre o que viu com as pessoas mais próximas (fazendo-se analogia, aos

usuários mais similares).

O GroupLens, descrito por [RESNICK, IACOVOU, SUCHAK, BERGSTROM E RIEDL,

1994], é um sistema para ajudar seus usuários a encontrar que irão gostar dentro de um conjunto

enorme de artigos existentes e que faz uso de uma abordagem colaborativa para as recomendações.

Embora [ADOMAVICIUS E TUZHILIN, 2005] caracterizem abordagens colaborativas,

definindo como as baseadas em heurísticas e as baseadas em modelo, foi considerada apenas uma

das definições, os modelos baseados em heurísticas.

Os modelos baseados em heurísticas tentam predizer notas aos itens de acordo com as notas

dadas pelos usuários similares. Sendo assim, uma fórmula para descrever as notas pode ser a

seguinte: 𝑟𝑐,𝑠 = 𝑘∑ 𝑠𝑖𝑚(𝑐, 𝑐′)𝑥 𝑟𝑐′,𝑠𝑐′∈𝐶 . Uma forma para o cálculo de similaridade é através de

abordagem da correlação de Pearson: 𝑠𝑖𝑚(𝑥, 𝑦) =∑ (𝑟𝑥,𝑠− 𝑟𝑥̅̅ ̅) (𝑟𝑦,𝑠− 𝑟𝑦̅̅ ̅)𝑠 ∈ 𝑆𝑥𝑦

√∑ (𝑟𝑥,𝑠− 𝑟𝑥̅̅ ̅)²𝑠 ∈ 𝑆𝑥𝑦 √∑ (𝑟𝑦,𝑠− 𝑟𝑦̅̅ ̅)²𝑠 ∈ 𝑆𝑥𝑦

, sendo que

𝑆𝑥𝑦é o conjunto de itens avaliados por ambos os usuários x e y (formalmente, 𝑆𝑥𝑦 = {𝑠 ∈ 𝑆 | 𝑟𝑥,𝑠 ≠

∅ & 𝑟𝑦,𝑠 ≠ ∅}).

Page 22: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

22

3 TRABALHOS RELACIONADOS

Este capítulo trata de trabalhos que de alguma forma colaborem com técnicas de melhoria de

ranking utilizando feedback implícito. O primeiro trabalho, de [ADOMAVICIUS E TUZHILIN,

2005], faz um levantamento sobre sistemas de recomendação, cujos conceitos apresentados podem

ser usados para melhoria de ranking. O segundo, de [RENDLE, FREUDENTHALER, GANTER E

SCHIMIDT-THIEME, 2009], por sua vez, descreve uma técnica baseada em análise bayesiana que

pode ser utilizada para personalizar ranking a usuários de sistemas. Por fim, o terceiro trabalho, de

[WOJCIKIEWICZ, 2011], utiliza técnicas de feedback explícito para melhoria de ranking.

3.1 Em Direção à Próxima Geração de Sistemas de Recomendação: Um Levantamento sobre o

Estado da Arte e Possíveis Extensões

Esta seção faz referência ao trabalho de [ADOMAVICIUS E TUZHILIN, 2005].

Sistemas de recomendação se tornaram uma importante área de pesquisa desde a década de

90. Contudo, com seus interesses de pesquisa ainda altos, visto a abundância de aplicações práticas

que provêm recomendadores personalizados. Como exemplos cita-se a Amazon.com, cuja aplicação

recomenda livros, CDs, além de outros produtos.

Entretanto a geração atual de sistemas de recomendação continua necessitando de melhorias

em seus métodos para que estes se tornem mais efetivos, abrangendo uma maior variedade de

aplicativos da vida real. Primeiramente é apresentado um levantamento sobre o estado da arte em

sistemas de recomendação, identificando os pontos de limitação e levantando discussão para

estender suas capacidades.

3.1.1 Levantamento Sobre Sistemas de Recomendação

Embora as raízes de sistemas de recomendação possam ser traçadas para o trabalho extenso

em ciência cognitiva, recuperação de informação, dentre outras áreas, sua emergência se deu em

meados de 1990, quando pesquisadores começaram a focar em problemas de recomendação que

explicitamente dependem de estruturas de classificação, sendo reduzidos ao problema de estimação

de classificação para itens que jamais foram vistos pelo usuário em questão. Uma vez sendo

possível estimar as avaliações de determinado item, é possível recomendar aos usuários esses com

maiores índices de estimativa.

Formalmente, o problema de recomendação pode ser formulado como: seja C o conjunto de

todos os usuários e S o conjunto de todas as possibilidades de itens a serem recomendados.

Page 23: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

23

Considerando u uma função que mede a utilidade de um item s para um usuário c (𝑢: 𝐶 𝑋 𝑆 → ℝ),

então, para cada usuário c em C deseja-se encontrar um item s' em S tal que maximize a função

utilidade do usuário. Formalmente definido por: ∀𝑐 ∈ 𝐶, 𝑠′𝑐 = arg𝑚𝑎𝑥𝑠 ∈𝑆 𝑢(𝑐, 𝑠). A utilidade de

um item é normalmente apresentada por uma avaliação e, no geral, pode ser considerada uma

função arbitrária.

O problema central de sistemas de recomendação reside em que a função u não é sempre

definida com relação a todo o espaço C x S, mas em um subconjunto dele. Ou seja, u precisa ser

extrapolado para o espaço inteiro de C x S. O mecanismo de recomendação deverá ser capaz de

estimar as avaliações de, por exemplo, filmes que não foram vistos por um usuário, e realizar

recomendação baseada nessas estimativas.

A tentativa de prever scores em sistemas de recomendação com base em avaliações

conhecidas pode ser feita de diferentes maneiras: 1) especificando heurísticas e 2) estimando a

função utilidade que aperfeiçoa certo critério de desempenho. Uma vez com essas avaliações

estimadas, classificam-se os itens de acordo com a estimativa ou, alternadamente, recomenda-se os

N melhores itens.

Os sistemas de recomendação são usualmente classificados de acordo com sua abordagem

de estimação de avaliação, conforme as categorias:

Recomendação baseada em conteúdo: o usuário terá os itens recomendados similares a

outros que gostou no passado.

Recomendação colaborativa: o usuário terá os itens recomendados de acordo com os itens

que os usuários com gostos parecidos gostaram no passado.

Abordagem Híbrida: métodos que combinam recomendação baseada e conteúdo com

recomendação colaborativa.

Métodos baseados em Conteúdo: Nesses métodos, a utilidade u(c,s) de um item s para um usuário

c é estimado baseado nas utilidades u(c,si) assinados pelo usuário c aos itens si em S que sejam

“similares” ao item s. Essa abordagem tem suas raízes em recuperação de informação, cujos

sistemas focam em recomendação de informação textual, como documentos. Essas informações de

perfil podem ser obtidas explicitamente pelo usuário ou implicitamente, através de suas transições

anteriores.

Seja Content(s) o perfil de um item (normalmente computador extraindo os recursos do item

s). A importância de uma palavra 𝑘𝑖 no documento 𝑑𝑗 é determinada com algum peso 𝑤𝑖𝑗definido

de modos diferentes.

Um desses modos é a frequência do termo sobre inverso da frequência do documento (TF-

IDF). Assumindo que N seja o número total de documentos que podem ser recomendados e que as

Page 24: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

24

palavras-chave 𝑘𝑗 apareçam em 𝑛𝑖 deles. Também, 𝑓𝑖𝑗 é o numero de vezes que a palavra-chave

𝑘𝑖 aparece no termo 𝑑𝑗 . Então 𝑇𝑓𝑖𝑗 , a frequência normalizada de uma palavra-chave em um

documento é definida como:

𝑇𝐹𝑖,𝑗 = 𝑓𝑖,𝑗

𝑚𝑎𝑥𝑧𝑓𝑧,𝑗

Onde o máximo é computado acerca das frequências 𝑓𝑧,𝑗 de todas as palavras chaves 𝑘𝑧 que

apareçam no documento 𝑑𝑗 . Palavras-chave que apareçam em muitos documentos acabam não

sendo úteis para distinguir um documento relevante de um irrelevante. Dessa forma, a métrica do

inverso da frequência no documento (𝐼𝐷𝐹𝑖) é usada como combinação com a frequência do termo

(𝑇𝑓𝑖𝑗) e é definida como:

𝐼𝐷𝐹𝑖 = log𝑁

𝑛𝑖

Então o peso TF-IDF para uma palavra-chave ki em um documento 𝑑𝑗é definida como

𝑤𝑖,𝑗 = 𝑇𝐹𝑖,𝑗 𝑥 𝐼𝐷𝐹𝑖

Sendo o conteúdo do documento 𝑑𝑗definido como:

𝐶𝑜𝑛𝑡𝑒𝑛𝑡(𝑑𝑗) = (𝑤1𝑗, … , 𝑤𝑘𝑗)

Também vale formalizar o perfil de um usuário c que contenha os gostos e preferências do mesmo,

ContentBasedProfile(c), obtidos pela análise do conteúdo de itens vistos anteriormente e construído

usando técnicas de análise de palavra-chave. Por instância ele pode ser definido como um vetor de

pesos (𝑤𝑐1, … , 𝑤𝑐𝑘), em que cada peso 𝑤𝑐𝑖denota a importância da palavra-chave 𝑘𝑖 ao usuário c.

Em sistemas baseados em conteúdo, a função de utilidade u(c,s) normalmente é definida

como:

𝑢(𝑐, 𝑠) = 𝑠𝑐𝑜𝑟𝑒(𝐶𝑜𝑛𝑡𝑒𝑛𝑡𝐵𝑎𝑠𝑒𝑑𝑃𝑟𝑜𝑓𝑖𝑙𝑒(𝑐), 𝐶𝑜𝑛𝑡𝑒𝑛𝑡(𝑠))

Onde ContentBasedProfile(c) pode ser representado pelo vetor TF-IDF 𝑤𝑐 e Content(s) por

𝑤𝑠. O score de 𝑤𝑐e 𝑤𝑠 normalmente é definido com métricas de similaridade, como a métrica do

cosseno:

𝑢(𝑐, 𝑠) = cos (𝑤𝑐⃗⃗ ⃗⃗ , 𝑤𝑠⃗⃗ ⃗⃗ ) = 𝑤𝑐⃗⃗ ⃗⃗ . 𝑤𝑠⃗⃗ ⃗⃗

‖𝑤𝑐⃗⃗ ⃗⃗ ‖2‖𝑤𝑠⃗⃗ ⃗⃗ ‖2=

∑ 𝑤𝑖,𝑐 𝑤𝑖,𝑠𝑘𝑖=1

√∑ 𝑤𝑖,𝑐² 𝑘𝑖=1 √∑ 𝑤𝑖,𝑠²

𝑘𝑖=1

Sendo K o número total de palavras-chave no sistema.

Os sistemas de recomendação baseados em conteúdo têm, contudo, sérias limitações.

Limitação de Análise de Conteúdo: As limitações das técnicas se dão ao fato de que as

características que são recomendadas estão associadas com os objetos que o sistema recomenda, ou

Page 25: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

25

seja, para haver um conjunto suficiente de características, ou o conteúdo precisa ser analisado

automaticamente ou as características devem ser sinalizadas manualmente. Isso faz com que seja

difícil extrair características de dados multimídia, como fotos, áudio e vídeo.

Outro problema é que se dois itens diferentes estiverem sinalizados com o mesmo conjunto

de características, eles serão imperceptíveis. Por exemplo, o sistema não poderá distinguir um

determinado artigo bom de um ruim, se ambos tiverem com as mesmas palavras-chave.

OVERSPECIALIZATION: Quando o sistema só pode recomendar itens cuja avaliação esteja alta

de acordo com o perfil do usuário, ele está limitado a recomendar itens que sejam similares aos já

avaliados. Esse problema pode ser contornado utilizando aleatoriedade, como algoritmos genéticos.

Também há certos casos em que itens muitos similares não deviam ser recomendados (ex: duas

notícias sobre o mesmo acontecimento), sendo necessário filtrar se os documentos são muito

similares a outros itens vistos antes pelo usuário.

Problemas de Novo Usuário: Para que o sistema possa recomendar itens ao usuário é necessário

que este tenha avaliado certo número de itens. Dessa forma um sistema não será capaz de fazer

recomendações precisas com um usuário.

Métodos Colaborativos: São os métodos que tentam predizer a utilidade de um item para um

usuário particular de acordo com avaliações feitas a esse mesmo item por outros usuários. A ideia

seria calcular a utilidade u(c,s) de um item s para um usuário c baseado nas utilidades u(𝑐𝑗, s) por

usuários 𝑐𝑗que sejam “similares” ao c.

Os algoritmos para recomendadores colaborativos são agrupados em duas classes: baseado

em heurística ou baseado em modelo. A primeira classe utiliza de heurística que faz predição de

avaliação baseada em toda a coleção de itens avaliados pelos usuários, ou seja, o valor de uma

avaliação desconhecida 𝑟𝑐,𝑠 é computado como agregado das avaliações dos N usuários mais

similares (denotado por �̂�) para o mesmo item s.

𝑟𝑐,𝑠 = 𝑎𝑔𝑔𝑟𝑐′∈ �̂� 𝑟𝑐′,𝑠

A abordagem mais comum para agregação é usar soma de pesos,

como: 𝑟𝑐,𝑠 = 𝑘∑ 𝑠𝑖𝑚(𝑐, 𝑐′)𝑥 𝑟𝑐′,𝑠𝑐′∈𝐶 , em que sim(c,c') é essencialmente uma métrica de distância,

usado como peso. Nota-se que sim(x,y) é uma heurística introduzida a fim de diferenciar níveis de

similaridade dos usuários. A correlação dos coeficientes de Pearson é usada como métrica da

similaridade em que:

𝑠𝑖𝑚(𝑥, 𝑦) =∑ (𝑟𝑥,𝑠 − 𝑟�̅�) (𝑟𝑦,𝑠 − 𝑟�̅�)𝑠 ∈ 𝑆𝑥𝑦

√∑ (𝑟𝑥,𝑠 − 𝑟�̅�)²𝑠 ∈ 𝑆𝑥𝑦 √∑ (𝑟𝑦,𝑠 − 𝑟�̅�)²𝑠 ∈ 𝑆𝑥𝑦

Page 26: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

26

Em contrapartida aos métodos baseados em heurística, os algoritmos baseados em modelo usam a

coleção de avaliação para aprender um modelo que será usado para fazer as predições, como por

exemplo:

𝑟𝑐,𝑠 = 𝐸(𝑟𝑐,𝑠) =∑𝑖 x Pr(𝑟𝑐,𝑠 = 𝑖 | 𝑟𝑐,𝑠′, 𝑠′ ∈ 𝑆𝑐)

𝑛

𝑖=0

Sendo assumido que os valores de avaliação são inteiros entre 0 e n e a função de probabilidade (Pr)

é a probabilidade que um usuário c avaliará um item s. Para estimar essa probabilidade são

propostos dois modelos: cluster e redes de Bayesian. No primeiro os usuários são agrupados em

classes, cujo número e parâmetros o modelo aprenderá a partir dos dados. No segundo, cada item é

um nodo de uma rede de Bayesian, em que estados correspondem a possíveis avaliações para cada

item.

A principal diferença entre as duas técnicas colaborativas é que o baseado em modelo

calcula a utilidade baseado em um modelo aprendido usando máquinas de aprendizagem e

estatística sobre os dados.

Todavia, sistemas colaborativos ainda possuem suas próprias limitações.

Problema de Novo Usuário: É o mesmo percebido com sistemas baseados em conteúdo.

Problema de Novo Item: Novos itens são adicionados regularmente a um sistema de

recomendação, mas uma vez que um sistema colaborativo tende a fazer recomendação sobre itens já

avaliados, o novo item não será recomendado antes das avaliações ocorrerem.

Dispersão: Em quaisquer sistemas de recomendação o número de avaliações obtidas costuma ser

pequeno em comparação às avaliações que necessitam ser estimadas, ou seja, o sucesso da

recomendação colaborativa depende da disponibilidade de uma massa crítica de usuários.

Também há usuários cujos gostos são incomuns, não existindo assim usuários relacionados.

Para contornar o problema, um jeito é usar as informações de perfil (gênero, localização, idade)

para cálculo de similaridade.

Sumário e Conclusões: Como visto, muita pesquisa é feita em tecnologias de recomendação, que

podem ser categorizados como baseado em conteúdo, colaborativo ou híbrido. Quando se trata de

sistemas colaborativos, eles podem ser baseados em heurística ou em modelo, de acordo com o tipo

de técnica usada para estimativa de avaliação.

Entretanto, todos os métodos possuem limitações, de forma que para prover recomendações

para sistemas mais complexos é necessário haver extensões significantes, que são abordados a

seguir.

Page 27: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

27

3.1.2 Estendendo Capacidades de Sistemas de Recomendação

Sistemas de recomendação podem ser estendidos de várias maneiras, de modo que o sistema

pode prover melhores capacidades de recomendação conforme modelos de compreensão mais

complexos.

Compreensão Abrangente dos Itens e Usuários: Muitos métodos de recomendação produzem

avaliações baseadas em um limitado conhecimento sobre os usuários e itens, não tirando vantagem

do histórico de transação e outros dados disponíveis, não utilizando o perfil do usuário e do item em

abordagens clássicas. Técnicas de profiling avançadas podem ser usadas para construir perfis

compreensivos de itens, por exemplo.

Uma vez construindo o perfil dos usuários e itens, as estimativas podem ser feitas em função

dos mesmos, especificado como: seja o perfil de um usuário i definido como um vetor de p

características (𝑐𝑖 = *𝑎𝑖1, … , 𝑎𝑖𝑝+) e o perfil de um item j como um vetor de r características

(𝑠𝑗 = *𝑏𝑗1, … , 𝑏𝑗𝑟+). Sejam 𝑐 e 𝑠 os vetores de todos os usuários e itens, respectivamente (𝑐 =

*𝑐1, … , 𝑐𝑚+ e 𝑠 = *𝑠1, … , 𝑠𝑛+), então a estimativa pode ser definida como:

𝑟′𝑖𝑗 = {𝑟𝑖𝑗, 𝑠𝑒 𝑟𝑖𝑗 ≠ ∅

𝑢𝑖𝑗(𝑅, 𝑐 , 𝑠 ) , 𝑠𝑒 𝑟𝑖𝑗 = ∅

Que estima cada avaliação desconhecida 𝑟′𝑖𝑗 = 𝑢𝑖𝑗(𝑅, 𝑐 , 𝑠 ) em termos de avaliações conhecidas

𝑅 = *𝑟𝑖𝑗 ≠ ∅+. Muitos métodos podem ser utilizados para estimar a função 𝑢𝑖𝑗, como heurísticas,

métodos splines, árvores de decisão, dentre outros.

Um problema de pesquisa poderia ser estender os perfis baseados em atributos, como

definido por c e s, para utilizar técnicas mais avançadas, como regras, sequências e métodos

baseados em assinatura.

Extensões para Técnicas de Recomendação Baseadas em Modelo: Muitas das abordagens

baseadas em modelos utilizam rigorosos métodos de estimativa de avaliação. Entretanto outras

áreas da matemática e ciência da computação como teoria da aproximação matemática, podem

contribuir para o desenvolvimento de melhores estimativas. Um exemplo poderia ser a radial basis

functions que é definida como: dado um conjunto de pontos 𝑋 = *𝑥1, . . . , 𝑥𝑚+ e valores de uma

função desconhecida f nesses pontos (𝑓(𝑥1). . . 𝑓(𝑥𝑚)), a função 𝑟𝑓,𝑋 = 𝑓(𝑥𝑖) estima os valores de f

para todo o domínio dos números reais.

Uma das vantagens dessa função é que ela foi estudada e entendida muito bem por estudos

da teoria de aproximação, possuindo várias propriedades que podem ser utilizadas. Uma ressalva a

Page 28: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

28

esse método é que a função não é definida em todo o espaço Euclidiano, tendo como desafio uma

extensão que suporte espaços vetoriais mais extensos.

Multidimensionalidade de Recomendação: A geração atual de sistemas de recomendação operam

sobre o espaço bidimensional Usuários x Itens, não levando em consideração certas informações

adicionais de contexto, sendo que muitas vezes a utilidade de certo item para o usuário poderia

depender de, por exemplo, o tempo ou circunstâncias. Dessa forma, o conhecimento sobre as tarefas

do usuário em certas aplicações pode levar a melhores recomendações.

A proposta define a utilidade em função de um espaço multidimensional, 𝐷𝑗1, . . . , 𝐷𝑗𝑙 (l <

n) que não se sobreponha e recomendar, para cada tupla (𝑑𝑖1, . . . , 𝑑𝑖𝑙) que maximize a utilidade

𝑢(𝑑1, . . . . , 𝑑𝑛):

∀(𝑑𝑗1, … , 𝑑𝑗𝑙) ∈ 𝐷𝑗1, … , 𝐷𝑗𝑙 ,

(𝑑𝑖1, … , 𝑑𝑖𝑘) = argmax 𝑢(𝑑′1, … . , 𝑑

′𝑛)|(𝑑′𝑖1, . . . . , 𝑑

′𝑖𝑘) ∈ 𝐷𝑖1, . . . , 𝐷𝑖𝑘 ^ (𝑑′𝑗1, . . . . , 𝑑

′𝑗𝑙)

= (𝑑𝑗1, . . . . , 𝑑𝑗𝑙)

Muitos algoritmos de recomendação bidimensionais não podem ser estendidos diretamente

para casos multidimensionais. Dessa forma, é proposta uma abordagem de recomendação baseada

em redução, na qual utilizaria as estimativas pertencentes ao contexto especificado. Por selecionar

apenas estimativas relevantes para um contexto de recomendação, essa abordagem projeta o espaço

multidimensional nos dois primários, ou seja, qualquer recomendação bidimensional (como as do

Capítulo 2) poderiam produzir as recomendações.

Classificações Multicriteriais: Avaliações multicriteriais ainda não foram examinadas na literatura

de sistemas de recomendação, mas na comunidade de pesquisa de operações. As soluções típicas

para otimizações multicriteriais incluem:

Encontrar soluções ótimas de Pareto. Supondo uma aplicação de recomendar comidas de

restaurante aos usuários cujos critérios sejam preço e qualidade da comida. Solução ótima de Pareto

seria toda a comida, para o mesmo preço, não exista qualidade melhor.

Pegar uma combinação linear de múltiplos critérios e reduzir ao problema de otimização

unicriteriais,

Otimizar o critério mais importante e converter os demais como restrições, e

Otimizar um critério por vez consecutivamente, convertendo uma solução ótima em

restrições, repetindo para os demais critérios.

Acredita-se que o problema de encontrar o conjunto da solução ótima de Pareto e o método

Page 29: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

29

iterativo de otimização por um critério por vez constitui em problemas e desafios interessantes.

NONINTRUSIVENESS: Muitos sistemas de recomendação requerem feedback explícito do

usuário para gerar um nível significante de envolvimento com o mesmo. Uma vez que se é

impraticável extrair muitas avaliações, alguns sistemas utilizam certos proxies que são usados para

estimular avaliações verdadeiras. Por exemplo, a quantidade de tempo que determinado usuário

ficou lendo um artigo pode servir de proxy como avaliação de artigo ao mesmo. Todavia, essas

avaliações não são tão precisas quanto às avaliações explícitas.

Para explorar o problema de intrusividade poderia se determinar um número ótimo de

avaliações que o sistema deveria solicitar ao novo usuário. Essas solicitações implicam em um certo

custo ao usuário final. Então, o problema pode ser formulado como encontrar um número n de

requisições em que: cada avaliação adicional aumenta a precisão das estimativas, resultando em

benefício, contudo cada avaliação possui um custo C. Dessa forma é necessário saber qual o

benefício de se ter n avaliações (B(n)). Uma vez conhecida essa métrica, necessita-se encontrar um

valor ótimo de n que maximize a expressão B(n) – C*n. A solução ótima deve existir sob a

suposição de que B(n) é uma função monolítica incremental com a derivada B(n) assintoticamente

converge para zero.

Efetividade das Recomendações: A avaliação de desempenho dos algoritmos de recomendação é

feita em termos de métricas de cobertura e precisão. Cobertura seria a porcentagem de itens para os

quais o sistema é capaz de fazer predições, enquanto precisão pode ser estatística ou de apoio à

decisão. Estatística compara a avaliação estimada com as avaliações R na matriz Usuários X Itens e

correlacionando as estimativas com as avaliações. Quando se trata de apoio à decisão, determina-se

quão bem o sistema de recomendação pode fazer predições de itens com alta relevância.

Todavia, essas métricas possuem limitações, como o fato de que são feitas em cima de dados

de teste que o testador escolheu medir, sendo que os itens que o testador escolhe normalmente

resultam em amostras distorcidas. Entretanto, experimentações da alta qualidade são necessários

para compreender os benefícios e limitações das técnicas propostas. Propõe-se então estudar e

desenvolver métricas que remedeiem as limitações descritas, o que constituiria em uma importante

área de pesquisa.

Page 30: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

30

3.2 BPR: Ranking Personalizado de Bayesian Através de Feedback Implícito

Esta seção faz referência ao trabalho de [RENDLE, FREUDENTHALER, GANTER E

SCHIMIDT-THIEME, 2009].

A recomendação de conteúdo é uma tarefa importante para muitos sistemas de informação.

Supondo um cenário de logística, uma personalização seria atrativa aos consumidores, que

encontrarão conteúdos interessantes mais facilmente e aos provedores do serviço, que

potencialmente aumentarão suas vendas. Essa tarefa seria, então, criar um ranking específico do

usuário para um conjunto de itens, cujas preferências seriam aprendidas através das interações

passadas ao sistema.

Alguns dos trabalhos mais recentes em sistemas de recomendação verificam cenários onde

os usuários provêm feedback explícito. Contudo, em cenários reais, muito do feedback é dado

implicitamente, como monitoração de cliques, tempo de visualização, compras, etc. Essas formas

são as mais fáceis de coletar e normalmente já é disponível na maioria dos sistemas (através, por

exemplo, de arquivos de log).

As contribuições do trabalho, portanto, são:

Um critério de otimização genérico, BPR-Opt, derivado da estimativa máxima posterior

(maximum posterior estimator) para ranking personalizado ótimo.

Para maximização do BPT-Opt, foi proposto o algoritmo de aprendizagem genérico

LearnBPR, baseado em gradiente descendente estocástico (stochastic gradient descente) com

inicialização de amostragem de triplas de treinamento.

Como aplicar o LearnBPR aos dois modelos de classe do estado da arte.

3.2.1 Levantamentos Preliminares

O modelo mais popular para sistemas de recomendação é o k-nearest neighbor (kNN), cuja

matriz de similaridade é calculada através de heurísticas. Em trabalhos recentes, entretanto, a matriz

é tratada como parâmetros modelo e é aprendida especialmente para a tarefa. Outra abordagem que

se tornou popular nos sistemas de recomendação é a fatoração de matriz (matrix factorization –

MF). Os primeiros trabalhos propuseram a decomposição de valor singular (SVD) para aprender as

matrizes de características. Contudo, modelos MF aprendidos por SVD se mostraram ser muito

propensos a overfitting (superajuste).

Para predição de itens foi proposta uma otimização de mínimos quadrados com pesos de

caso (WR-MF). Os pesos de caso podem ser utilizados para redução do impacto de exemplos

negativos. Contudo, nenhumas das propostas é otimizada para ranking, o que no artigo fazem,

Page 31: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

31

baseado em pares de itens, também mostrando como esses métodos poderiam ser otimizados

respeitando seus próprios critérios.

O foco é uma aprendizagem off-line dos parâmetros do modelo, estendendo o método de

aprendizagem a cenários de aprendizagem online sendo já estudado para o MF, podendo facilmente

ser usado para o BPR.

3.2.2 Ranking Personalizado

Ranking personalizado é prover a determinado usuário uma lista ranqueada de itens, também

chamada de recomendação de itens. No caso serão investigados os cenários onde o ranking deve ser

inferido por comportamento implícito. O interessante sobre sistemas de feedback implícito é que

apenas observações positivas podem ser analisadas, sendo os pares não observados uma

combinação de feedback negativo com valores faltantes.

Formalização: Seja U o conjunto de todos os usuários e I o conjunto de todos os itens. O feedback

implícito é dado por 𝑆 ⊆ 𝑈 x 𝐼. A tarefa do sistema de recomendação é prover ao usuário um

ranking personalizado total >𝑢 pertencente ao conjunto I² de todos os itens, onde >𝑢 deve cumprir

as propriedades:

∀ 𝑖, 𝑗 ∈ 𝐼 ∶ 𝑖 ≠ 𝑗 → 𝑖 >𝑢 𝑗 ⋁ 𝑗 >𝑢 𝑖 (totalidade)

∀ 𝑖, 𝑗 ∈ 𝐼 ∶ 𝑖 >𝑢 𝑗 ∧ 𝑗 >𝑢 𝑖 → 𝑖 = 𝑗 (antissimetria)

∀ 𝑖, 𝑗, 𝑘 ∈ 𝐼 ∶ 𝑖 >𝑢 𝑗 ∧ 𝑗 >𝑢 𝑘 → 𝑖 >𝑢 𝑘 (transitividade)

Também serão definidos:

𝐼𝑢+ ≔ *𝑖 ∈ 𝐼 ∶ (𝑢, 𝑖) ∈ 𝑆+

𝑈𝑖+ ≔ *𝑢 ∈ 𝑈 ∶ (𝑢, 𝑖) ∈ 𝑆+

Análise das Configurações do Problema: Em sistemas de feedback implícito apenas os casos

positivos são observados, sendo os dados restantes a combinação de valores negativos ou faltantes.

A abordagem mais comum é ignorar todos os valores faltantes, mas em máquinas de aprendizagem

convencionais os modelos ficam inaptos a aprender alguma coisa, pois não conseguem distinguir

entre dois níveis.

A abordagem usual para recomendadores de itens é predizer uma nota �̂�𝑢𝑖 para um item que

reflita a preferência do usuário pelo mesmo, sendo os itens então ranqueados pela ordenação dessas

notas. Abordagens de máquinas de aprendizado normalmente criam dados de treinamento de S

pelos pares (u,i) como sendo rótulos positivos, negativando em caso contrário, convertendo em 1 os

Page 32: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

32

valores positivos e em 0 os negativos, exemplificado a seguir:

i1 i2 i3 i4

u1 ? + + ?

u2 + ? ? +

u3 + + ? ?

u4 ? ? + +

u5 ? ? + ?

i1 i2 i3 i4

u1 0 1 1 0

u2 1 0 0 1

u3 1 1 0 0

u4 0 0 1 1

u5 0 0 1 0

Tabela 1-Exemplo de amostragem de feedback implícito

A abordagem utilizada pelo autor seria usar pares de itens como dados de treinamento e

otimizar para ranking entre os itens, ao invés de avaliá-los individualmente. A partir de S, tenta-se

reconstruir para cada usuário algumas partes do >𝑢. Se um item tiver sido visto por dado usuário,

assume-se que se exista preferência entre esse item sobre todos os outros não observados. Para

formalilação, criam-se os dados de treino 𝐷𝑆: 𝑈 x 𝐼 x 𝐼 por:

𝐷𝑆 ≔ *(𝑢, 𝑖, 𝑗)| 𝑖 ∈ 𝐼𝑢+ ∧ 𝑗 ∈ 𝐼\𝐼𝑢

++

A semântica de (u,i,j) é que o usuário u prefere o item i sobre o item j. Essa abordagem tem

duas vantagens:

1. Os dados consistem tanto valores negativos e positivos, quanto valores faltantes. Esses

valores faltantes são exatamente os pares que serão ranqueados no futuro.

2. Os dados de treino são criados para o objetivo atual do ranking. Por exemplo: o subconjunto

𝐷𝑆dos >𝑢 é usado como dado.

Outra observação importante é a conversão que se dá à tabela acima, em que a entrada se

feedbacks se decompõe da seguinte forma:

Page 33: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

33

i1 i2 i3 i4

u1 ? + + ?

u2 + ? ? +

u3 + + ? ?

u4 ? ? + +

u5 ? ? + ?

u1: i >𝑢1j

i1 i2 i3 i4

j1 + + ?

2 ? -

j3 - ? -

j4 ? + +

...

u5: i >𝑢5j

i1 i2 i3 i4

j1 ? + ?

j2 ? + ?

j3 - - -

j4 ? ? +

Tabela 2- Decomposição do feedback implícito em novas matrizes

3.2.3 Ranking Personalizado Bayesiano (BPR)

O método genérico para resolução do ranking personalizado consiste no critério de otimização

BPR-Opt, o qual será derivado por uma análise Bayesiana do problema, usando a função de

probabilidade para 𝑝 (𝑖 >𝑢 𝑗 | 𝜃) e a probabilidade prévia para o parâmetro de modelo 𝑝(𝜃) .

Mostrar-se-ão analogias ao ranking estatístico AUC (área sobre a curva ROC), seguido de um

algoritmo de aprendizagem BPR.

Critério de Otimização do BPR: A formulação Bayesiana de encontrar o ranking personalizado

correto para todos os itens i pertencentes a I é maximizar probabilidade posterior onde 𝜃 representa

o vetor de parâmetros de uma classe arbitrária de modelo:

𝑝(𝜃| >𝑢) = 𝑝(>𝑢 |𝜃)𝑝(𝜃)

Assume-se também que todos os usuários agem independentemente dos outros. Também que

a ordenação de cada par de itens (i,j) para um usuário específico é independente da ordenação de

cada outro par. Portanto, a função de probabilidade acima pode primeiro ser reescrita como um

produto de densidades únicas e segundo pode ser combinado para todos os usuários u pertencentes a

U:

Page 34: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

34

∐𝑝(𝜃| >𝑢)

𝑢∈𝑈

= ∐ 𝑝(𝑖 >𝑢 𝑗|𝜃)𝛿((𝑢,𝑖,𝑗)𝜖 𝐷𝑆)

(𝑢,𝑖,𝑗)∈𝑈x𝐼x𝐼

. (1 − 𝑝(𝑖 >𝑢 𝑗|𝜃)𝛿((𝑢,𝑖,𝑗)∉𝐷𝑆))

Onde 𝛿(𝑏) é 1 caso b seja verdadeiro e 0 no caso contrário.

Devido à totalidade e antissimetria, a fórmula pode ser simplificada para:

∐𝑝(𝜃| >𝑢)

𝑢∈𝑈

= ∐ 𝑝(𝑖 >𝑢 𝑗|𝜃)

(𝑢,𝑖,𝑗)∈𝑈x𝐼x𝐼

Até agora isso geralmente não garante uma ordem total personalizada. Para estabelecer isso,

as propriedades já mencionadas (totalidade, antissimetria e transitividade) precisam ser cumpridas.

Para isso, define-se a probabilidade individual de um usuário realmente preferir um item i sobre um

item j como:

𝑝(𝑖 >𝑢 𝑗|𝜃) = 𝜎(�̂�𝑢𝑖𝑗(𝜃)), em que 𝜎(𝑥) =1

1+𝑒−𝑥.

Aqui �̂�𝑢𝑖𝑗 (𝜃) é uma função arbitrária do modelo do parâmetro do vetor 𝜃, capturando a

relação entre usuário u, item i e item j. Por convenção o argumento 𝜃 será removido de �̂�𝑢𝑖𝑗. Para

completar a abordagem do modelo Bayesiano, introduz-se uma densidade 𝑝(𝜃) que é a distribuição

normal com média zero e matriz de variância-covariância ∑ :𝜃 𝑝(𝜃) ~ 𝑁(𝜃, ∑ 𝜃 ).

Para as formulações a seguir, assume-se que ∑ 𝜃 = 𝜆𝜃‖𝜃2‖. Portanto, o BPR-Opt é definido

como:

𝐵𝑃𝑅 − 𝑂𝑝𝑡 ≔ ∑ ln𝜎(�̂�𝑢𝑖𝑗) − 𝜆𝜃‖𝜃2‖

(𝑢,𝑖,𝑗)∈𝐷𝑆

Onde 𝜆𝜃 são os parâmetros específicos de regularização dos modelos.

Analogias à Otimização AUC: O AUC, abreviação em inglês para área sobre a curva de ROC (por

sua vez é um gráfico que ilustra o desempenho de um classificador binário), por usuário é

normalmente definido como:

𝐴𝑈𝐶(𝑢) =1

|𝐼𝑢+| |𝐼 \ 𝐼𝑢

+| ∑ ∑ 𝛿(�̂�𝑢𝑖𝑗 > 0)

𝑗∈𝐼\𝐼𝑢+𝑖∈𝐼𝑢

+

Então, o AUC médio é: 𝐴𝑈𝐶 ≔1

|𝑈|∑ 𝐴𝑈𝐶(𝑢)𝑢∈𝑈

Com a notação 𝐷𝑆 isso pode ser escrito como:

𝐴𝑈𝐶(𝑢) = ∑ 𝑧𝑢 𝛿(�̂�𝑢𝑖𝑗 > 0)

(𝑢,𝑖,𝑗)∈𝐷𝑆

Sendo 𝑧𝑢 a constante normalizada 𝑧𝑢 =1

|𝑈||𝐼𝑢+| |𝐼 \ 𝐼𝑢

+|

A analogia entre o BPR-Opt e o AUC é que se diferenciam apenas pelo fato de que AUC

utiliza a função não diferenciável 𝛿(𝑥 > 0).

Page 35: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

35

Algoritmo de Aprendizagem BPR: Um critério para a otimização de ranking personalizado é que

o critério deve ser diferenciável. Dessa forma, algoritmos baseados em descida de gradiente são

uma boa escolha para maximização. Um problema é que os tradicionais algoritmos de descida de

gradiente se mostram de convergência lenta, sendo então proposto um algoritmo que utiliza um

algoritmo estocástico.

O gradiente do BPR-Opt é:

𝜕𝐵𝑃𝑅_𝑂𝑝𝑡

𝜕𝜃= ∑

−𝑒−�̂�𝑢𝑖𝑗

1 + 𝑒−�̂�𝑢𝑖𝑗.𝜕

𝜕𝜃�̂�𝑢𝑖𝑗 − 𝜆𝜃𝜃

(𝑢,𝑖,𝑗)∈𝐷𝑆

A abordagem popular com gradiente estocástico é atualizar para cada tripla (u,i,j) o valor de

𝜃, de forma que:

𝜃 ← 𝜃 + 𝛼 (−𝑒−�̂�𝑢𝑖𝑗

1 + 𝑒−�̂�𝑢𝑖𝑗.𝜕

𝜕𝜃�̂�𝑢𝑖𝑗 − 𝜆𝜃𝜃)

O algoritmo para aprendizagem BPR é o seguinte:

procedure LearnBPR(𝐷𝑆, 𝜃)

initialize 𝜃

repeat

draw (u,i,j) from 𝐷𝑆

𝜃 ← 𝜃 + 𝛼 (−𝑒

−�̂�𝑢𝑖𝑗

1+𝑒−�̂�𝑢𝑖𝑗

.𝜕

𝜕𝜃�̂�𝑢𝑖𝑗 − 𝜆𝜃𝜃)

until convergence

return 𝜃

end procedure

Aprendendo Modelos com BPR: As duas classes mais utilizadas no estado da arte, kNN e MF,

tentam modelar as preferência escondidas do usuário para um item, essa predição é um número real

�̂�𝑢𝑙 para cada par item-usuário (u,l). Como na otimização BPR se tem triplas (u,i,j), necessita-se

decompor o estimado e definir como: �̂�𝑢𝑖𝑗 = �̂�𝑢𝑖 – �̂�𝑢𝑗.

Fatoração de Matriz: O problema de predizer �̂�𝑢𝑖 pode ser visto como estimar a matriz X : U x I.

Essa matriz pode ser aproximada por um produto de duas matrizes com rank menor. W : |U| x k e H :

|I| x k, onde k é o rank da aproximação. Cada coluna 𝑤𝑢em W pode ser visto como um vetor de

característica descrevendo um usuário u e, similarmente, cada coluna 𝑕𝑖 de H descreve um item i. A

Page 36: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

36

fórmula de predição pode ser escrita como:

�̂�𝑢𝑖 = ⟨𝑤𝑢, 𝑕𝑖⟩ = ∑𝑤𝑢𝑓 . 𝑕𝑖𝑓

𝑘

𝑓=1

Os parâmetros para o MF são 𝜃 = (𝑊,𝐻). Esses podem ser vistos como a modelagem de

gostos não observados de um usuário e propriedades não observadas de um item.

Para a tarefa de ranquear, uma abordagem é otimizar sobre o critério BPR-Opt. Isso pode ser

obtido usando o algoritmo proposto de LearnBPR. Desse modo apenas o gradiente �̂�𝑢𝑖 com o

parâmetro 𝜃 necessita ser conhecido. Para o MF as derivadas são:

𝜕

𝜕𝜃�̂�𝑢𝑖𝑗 =

{

(𝑕𝑖𝑓 − 𝑕𝑗𝑓), 𝑠𝑒 𝜃 = 𝑤𝑢𝑓

𝑤𝑢𝑓,𝑠𝑒 𝜃 = 𝑕𝑖𝑓−𝑤𝑢𝑓 , 𝑠𝑒 𝜃 = 𝑕𝑗𝑓

0 𝑛𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠

Também são usadas três constantes de regularização: 𝜆𝑊 para características dos usuários W;

para características dos itens H existem duas constantes: 𝜆𝐻+ (usada para atualizações positivas no

𝑕𝑖𝑓) e 𝜆𝐻− (atualizações negativas no 𝑕𝑗𝑓).

K-NEAREST-NEIGHBOR Adaptativo: O kNN depende de uma métrica de similaridade entre os

itens ou usuários. Métodos baseados em itens tem mostrado prover melhores resultados. A ideia é

que a predição de um usuário u para um item i depende da similaridade entre o i e todos os outros

itens do 𝐼𝑢+ . Dessa maneira, apenas os k vizinhos mais próximos (de maior similaridade) são

considerados. Para predição de itens, o kNN é:�̂�𝑢𝑖 = ∑ 𝑐𝑖𝑙𝑙∈𝐼𝑢+ .

As abordagens mais comuns calculam os C: I x I com base em heurística como, por exemplo:

𝑐𝑖,𝑗𝑐𝑜𝑠𝑖𝑛𝑒 =

|𝑈𝑖+ ∩ 𝑈𝑗

+|

√|𝑈𝑖+|. |𝑈𝑗

+|

Mas uma estratégia melhor seria adaptar essa métrica para o problema aprendendo sobre ela. Isso

pode ser feito usando o C diretamente como parâmetro de modelo ou, no caso de o número de itens

ser muito grande, pode aprender sobre a fatoração 𝐻 𝐻𝑡 de C com H: I x k.

Também para otimização do BPR é preciso definir a derivada de �̂�𝑢𝑖𝑗:

𝜕

𝜕𝜃�̂�𝑢𝑖𝑗 = {

+1 𝑠𝑒 𝜃 ∈ {𝑐𝑖𝑙,𝑐𝑙𝑖} ∧ 𝑙 ∈ 𝐼𝑢+ ∧ 𝑙 ≠ 𝑖

−1 𝑠𝑒 𝜃 ∈ {𝑐𝑗𝑙,𝑐𝑙𝑗} ∧ 𝑙 ∈ 𝐼𝑢+ ∧ 𝑙 ≠ 𝑗

0 𝑛𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠

As constantes de regularização são 𝜆+ para atualizações em 𝑐𝑖𝑙, e 𝜆− para atualizações em

𝑐𝑗𝑙,.

Page 37: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

37

3.2.4 Avaliação

São comparadas as abordagens de aprendizagem via BPR com outras clássicas. Foram

escolhidos duas classes de modelos populares, o MF e o kNN. Nessa avaliação os modelos MF são

aprendidos por três diferentes métodos (SVD-MF, WR-MF e BPR-MF). Para o kNN é comparado o

modelo otimizado pelo vetor de similaridade de cosseno (Cosine-kNN) com o modelo que aprende

via BPR.

Conjunto de Dados: Dois conjuntos de dados foram utilizados de duas aplicações diferentes. Um é

de loja online, Rossamann dataset, contendo histórico de compra de 10 mil usuários de 4000 itens,

cuja tarefa do sistema de recomendação seria predizer um ranking personalizado para o que o

usuário gostaria de comprar a seguir. O segundo é o conjunto da Netflix, contendo notas dos

usuários, nos quais os usuários explicitam notas de 1 a 5 estrelas para os filmes, sendo a tarefa

predizer ranking dos filmes que o usuário provavelmente gostaria de ver.

Metodologia da Avaliação: O esquema de avaliação adotado foi remover de cada usuário uma ação

de seu histórico (uma entrada 𝐼𝑢+ por usuário u). O resultado é um conjunto de treinamento 𝑆𝑡𝑟𝑎𝑖𝑛

disjunto de um conjunto de teste 𝑆𝑡𝑒𝑠𝑡 . Os modelos são aprendidos em 𝑆𝑡𝑟𝑎𝑖𝑛 e seus rankings

personalizados preditos são avaliados pela média estatística AUC:

𝐴𝑈𝐶 =1

|𝑈|∑

1

𝐸(𝑢)𝑢

∑ 𝛿(�̂�𝑢𝑖 > �̂�𝑢𝑗)

(𝑖,𝑗)∈𝐸(𝑢)

Onde os pares de avaliação por usuário (E(u)) são definidos por:

𝐸(𝑢) = *(𝑖, 𝑗)|(𝑢, 𝑖) ∈ 𝑆𝑡𝑒𝑠𝑡 ∧ (𝑢, 𝑗) ∉ (𝑆𝑡𝑒𝑠𝑡⋃𝑆𝑡𝑟𝑎𝑖𝑛)+

Quanto maior o valor do AUC, melhor é a qualidade, sendo o valor máximo alcançável = 1.

O experimento foi repetido 10 vezes sorteando diferentes divisões do treino e teste.

Resultados e Conclusões: Para ambos os conjuntos de dados o método do BPR se mostrou de

melhor resultado no quesito de qualidade de predição, sendo os resultados mostrando a importância

da otimização dos parâmetros de modelo ao critério correto. Esses resultados são justificados pela

análise do problema, bem como as derivações do BPR-Opt do MLE.

Ranking não Personalizado: Também foi comparada a qualidade AUC dos métodos de ranking

personalizado aos melhores métodos não personalizados. Esses métodos criam o mesmo ranking

>𝑢 para todos os usuários. O método do kNN se mostra de bom resultado, mas ainda assim é

superado pelo BPR-kNN, para ambos os conjuntos de dados.

Page 38: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

38

3.3 Ferramenta de Busca na Web com Feedback Explícito

Esta seção faz referência ao trabalho de [WOJCIKIEWICZ, 2011].

Algumas das ferramentas de busca mais utilizadas utilizam webcrawlers (ferramentas que

percorrem a web para localizar páginas e indexá-las). A ordenação do resultado da pesquisa pode

ser feita de várias maneiras, como localização e quantidade de vezes que o termo procurado aparece

na página, similaridade entre os termos, número de vezes que um termo aparece em documento,

popularidade, etc.

Esses resultados podem ser melhorados quando se utiliza feedback de usuário. O feedback

pode ser explícito, quando o usuário escolher quais documentos são relevantes para a pesquisa,

tendo como vontade a precisão aumentada, mas precisa de uma massa grande de dados fornecida

pelo usuário; e implícito, quando a partir dos dados de navegação do usuário são usados para

indicas os documentos relevantes, não havendo interferência explícita do usuário para os resultados,

sendo, portanto, mais suscetível a erros.

O trabalho utiliza feedback explícito para desenvolver uma ferramenta web, limitando o

escopo da aplicação para arquivos em XML. Esses são lidos pela ferramenta e indexados.

3.3.1 Método de Rocchio

Técnica, adotada pelo autor, de expansão de consulta que indica quais termos dos

documentos devem ser adicionados ou removidos à nova consulta. O número de termos a ser

considerado depende dos valores de α β e γ, em que esses são pesos que cada termo deve receber e

são considerados das seguintes formas:

𝑆𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝑅𝑜𝑐𝑐𝑕𝑖𝑜: 𝑞𝑚⃗⃗⃗⃗⃗⃗ = 𝛼 𝑞 + 𝛽

|𝐷𝑟| ∑ 𝑑𝑗⃗⃗ ⃗ − 𝑑𝑗⃗⃗ ⃗⃗ ∈ 𝐷𝑟

𝛾

|𝐷𝑛| ∑ 𝑑𝑗⃗⃗ ⃗ 𝑑𝑗⃗⃗ ⃗⃗ ∈ 𝐷𝑛

𝐼𝑑𝑒 𝑅𝑒𝑔𝑢𝑙𝑎𝑟: 𝑞𝑚⃗⃗⃗⃗⃗⃗ = 𝛼 𝑞 + 𝛽 ∑ 𝑑𝑗⃗⃗ ⃗ − 𝑑𝑗⃗⃗ ⃗⃗ ∈ 𝐷𝑟𝛾 ∑ 𝑑𝑗⃗⃗ ⃗ 𝑑𝑗⃗⃗ ⃗⃗ ∈ 𝐷𝑛

𝐼𝑑𝑒 𝐷𝑒𝑐 𝐻𝑖: 𝑞𝑚⃗⃗⃗⃗⃗⃗ = 𝛼 𝑞 + 𝛽 ∑ 𝑑𝑗⃗⃗ ⃗ − 𝑑𝑗⃗⃗ ⃗⃗ ∈ 𝐷𝑟𝛾maxnon−relevant(𝑑𝑗⃗⃗ ⃗)

Em que q é a consulta inicial, 𝐷𝑟 são os documentos relevantes e 𝐷𝑛 são os não relevantes. E

o max se refere ao documento não relevante melhor ranqueado.

Para exemplificação, supõe-se que três documentos sejam recuperados pela palavra

universidade, sendo α = β = γ = 1 (“Universidade Federal de Santa Catarina“, “Universidade

Estadual de Santa Catarina“ e “Universidade Federal Santa Maria“). O método padrão utilizará a

nova consulta como Universidade Estadual Catarina, pois a média de pesos dos termos que foram

selecionados superam os que foram considerados irrelevantes. No IDE, a consulta será

Page 39: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

39

Universidade Estadual Santa Catarina, pois a soma dos pesos destes termos como relevante é maior

que aqueles irrelevantes. Por fim, o método Max resultará Estadual Catarina, pois esses dois termos

foram selecionados como relevantes enquanto os demais estavam contidos no documento

irrelevante com maior similaridade comparado a consulta inicial.

Comparação de Alternativas para Incorporação do Feedback: O trabalho mostra que dados

referentes ao comportamento do usuário podem melhorar a ordenação dos melhores resultados em

uma busca. A motivação é entender como o feedback implícito pode ser utilizado em longa escala,

sendo consideradas duas abordagens para ordenação com feedback implícito: tratamento como uma

evidência independente para os resultados do ranking e integração do feedback ao algoritmo de

busca.

Aprende-se a interpretar o comportando do usuário relacionando as ações do mesmo aos

julgamentos para um conjunto de consultas de treino. Encontram-se as instâncias nos logs de sessão.

A conclusão do trabalho é que feedback implícito é melhor utilizado quando o resultado

original de uma consulta é ruim e que uma abordagem interessante seria incorporar feedback

implícito às consultas mais difíceis.

Aprendendo a Partir de Feedback Implícito: Os autores afirmam que os logs contêm informações

em que técnicas de aprendizado de máquina podem ser usadas para melhorar a qualidade dos

resultados de uma busca. Cada vez que determinado usuário faz uma busca ou clica em resultados, a

informação é repassada ao motor de busca. A dificuldade está em como utilizar esse feedback. O

clique de um usuário não indica que ele clicou no que estava procurando. Concluiu-se que os

usuários avaliam apenas poucos resultados antes do clique.

Seria mais informativo saber em qual resultado o usuário não clicou. Pelo usuário não clicar

em um documento no topo do rank, esse é pior em detrimento de outro.

Os motores de busca também podem obter feedback a partir do tempo de leitura antes de um

clique no resultado. Se um resultado é escolhido rapidamente após outro, o primeiro não tinha

relevância.

Usando Cliques como Feedback Implícito: O objetivo é descobrir como os dados de pesquisa do

usuário podem auxiliar os outros do sistema. A obtenção por cliques é uma forma interessante de

feedback implícito pela facilidade de se coletar e por serem mais valiosas em comparação a outras

formas. São estudadas questões como qual o valor dos dados do clique para as mudanças de

feedback de relevância.

Estudos anteriores mostraram que utilizar cliques em toda a pesquisa irá aumentar o número

Page 40: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

40

de dados do feedback, sendo que então mais documentos irrelevantes passariam a ser marcados

como relevantes. Porém, em proporção, foi o número de documentos relevantes que cresceu.

O resultado geral dos testes mostrou que a forma mais precisa de feedback implícito é

quando se usa o conjunto com os últimos documentos visitados em uma sessão de busca. Um

problema indicado é quando há consultas cujas janelas de tempo sejam limitadas (atual campeão de

futebol), quando é necessário manter o feedback sempre atualizado.

3.3.2 Ferramenta XFIND

É a ferramenta que o autor desenvolveu que permite que os usuários forneçam feedback para

obtenção de melhor ordenação no resultado da busca em documentos XML.

Visão Geral: São três estágios que a ferramenta trabalha: busca através de similaridade, exibição

dos resultados e busca a partir dos documentos relevantes.

A primeira parte busca documentos mais similares de acordo com as palavras-chave usadas.

Os documentos são carregados e processados para serem lidos, sendo ordenados de acordo com o

grau de similaridade. A segunda parte é quando os documentos são mostrados em uma interface web

e a terceira é quando o sistema faz a nova consulta de acordo com as escolhas do usuário, aplicando

o método de Rocchio.

Arquitetura: O usuário faz a consulta que é comparada utilizando-se a métrica q-grams, aos

valores de todos os documentos, que terão uma pontuação atribuída de acordo com o grau de

similaridade. Os documentos são adicionados a uma lista de acordo com o nível de similaridade.

Para isso, alguns módulos são descritos, sendo o leitor XML responsável pelo processamento

dos elementos e atributos para serem lidos pela aplicação, o gerador de similaridade que compara os

termos da consulta e atribui as notas, o gerador de ranking que ordena os resultados de forma

decrescente e, por fim, o medidor de relevância que recolhe o feedback do usuário e calcula a

relevância de todos os documentos de acordo com os escolhidos pelo usuário.

Implementação e Funcionamento da Ferramenta: O desenvolvimento foi dividido em três partes:

busca e carga inicial dos arquivos, exibição dos resultados e implementação da coleta do feedback

do usuário.

Para o funcionamento o usuário deve inserir os termos necessários para iniciar a pesquisa,

sendo direcionado para uma página de resultados que possui quatro abas, indicando cada uma um

grau de similaridade (alta, boa, média e baixa). Também é possível realizar a busca usando métodos

de Rocchio padrão, IDE e MAX. A consulta é reescrita de acordo com o algoritmo escolhido.

Page 41: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

41

3.3.3 Experimentos

Os experimentos foram feitos usando-se documentos pequenos de três grupos distintos

(nomes de ruas, filmes e instituições de ensino). Duas métricas foram usadas, revocação

(quantidade de documentos relevantes que foram recuperados em total de arquivos relevantes) e

precisão (quantidade de arquivos relevantes entre todos os recuperados).

O valor de revocação chegando a um indica que todos os arquivos relevantes foram

recuperados enquanto o valor da precisão ao mesmo nível indica que todos os arquivos relevantes

estão no topo do ranking.

Para cada grupo foram executadas seis consultas. Cada consulta com os três algoritmos

vistos anteriormente. Como resultado se obteve um desempenho melhor do algoritmo IDE para os

casos de nome de filmes e de ruas, sendo o Rocchio padrão o melhor para o caso das instituições.

Em todas as situações o MAX teve um desempenho inferior.

3.4 Tabela Comparativa

Ao se tratar de trabalhos relacionados à melhoria de ranking, certos pontos devem ser

levados em consideração. O primeiro ponto é o tipo de feedback que o trabalho leva em

consideração, sendo explícito ou implícito. Outro ponto importante é como esse feedback é

coletado. A Tabela 3 faz a comparação da proposta deste trabalho, relacionando com as abordagens

dos principais trabalhos relacionados.

Ao se tratar de ranqueamento de consultas, abordagens de diversas áreas podem ser

utilizadas. Dentre as principais áreas estudadas, constam-se os sistemas de recuperação, que são os

observados por [YATES E NETO, 1999] e os sistemas de recomendação. A seguir se tem o tipo de

predição que o trabalho leva em consideração, seguido das técnicas estudadas para as mesmas.

Para validação, é comum se ter uma base de dados para teste, seguida do método de análise,

que utilizarão como base esses dados. Por fim serão descritas algumas contribuições dos trabalhos.

Recommender

Systems

BPR XFind Proposta do

trabalho

Feedback Explícito /Implícito Implícito Explícito Implícito

Coleta de

feedback

Não se aplica Histórico Usuário Histórico

Abordagem SR SR SRI SR e SRI

Tipo de predição Score Análise Bayesiana Expansão de consulta Score

Técnicas

estudadas

Não se aplica Fatoração de Matriz e

kNN

Rocchio, IDE, MAX Métodos de

clusterização e kNN

Page 42: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

42

Dados de análise Não se aplica Rossaman e Netflix Nome de ruas, filmes

e instituições de

ensino

IMDB

Método de

análise

Proposta de cobertura

e precisão

Métrica AUC Revocação e precisão Revocação e precisão

Contribuições Estado da arte dos SR Método para ranking

personalizado

Análise de métodos de

feedback explícito

Arquitetura para

melhoria de ranking

Tabela 3-Tabela Comparativa

Com a tabela acima, nota-se uma semelhança de objetivos entre os trabalhos de [RENDLE,

FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009] e [WOJCIKIEWICZ, 2011], sendo

o primeiro focado em feedback implícito, coletando dados pelo histórico de navegação do usuário,

similar ao proposto neste trabalho e o segundo, cuja coleta de feedback é dada pelo próprio usuário,

uma vez que a proposta é focada em feedback explícito.

Outra diferença significativa entre ambos é a abordagem que se usa, sendo o primeiro

focado na área de inteligência artificial (sistemas de recomendação) e o segundo na área de banco

de dados (sistemas de recuperação). A contribuição de ambos é similar, uma vez que exploram

diferentes técnicas para tentarem tirar alguma conclusão, tendo como diferença o método que

utilizam para análise dos dados. Um utiliza o método de AUC, explicado na Seção 3.2 e o outro,

técnica de revocação e precisão, que são utilizados também neste.

O trabalho de [ADOMAVICIUS E TUZHILIN, 2005] se diferencia por se tratar de um

levantamento do estado da arte de sistemas de recomendação. Dessa forma ele não utiliza nenhum

método de coleta de dados, tampouco dados para análise. Contudo mostra cenários de casos de

feedback implícito e explícito, definindo técnicas de predição baseadas em score e sugere métodos

de análise baseados em cobertura e precisão. Sua contribuição difere-se por se tratar de estudo sobre

o estado da arte nos sistemas de recomendação e provê sugestões de extensões possíveis na área.

Assim como [RENDLE, FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009],

este trabalho está focado em feedback implícito, inclusive incorporando o conceito de conjunto de

feedback proposto pelos autores. A abordagem, todavia, é uma junção de técnicas de sistemas de

recomendação (kNN) e de sistemas de recuperação (métodos de clusterização propostos por

[YATES E NETO, 2009]). Para análise de dados, assim como [WOJCIKIEWICZ, 2011], são

utilizadas métricas de revocação e precisão, sendo os dados baseados no IMDB, uma base de dados

de filmes que contém algumas centenas de milhares de informações.

Por fim, a principal contribuição deste trabalho é uma arquitetura para melhoria de ranking

utilizando diversas técnicas, tendo o potencial, portanto, de ser estendida com métodos que

preditem score. O capítulo a seguir trata dessa arquitetura.

Page 43: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

43

4 PROPOSTA DO TRABALHO

Este capítulo mostra a proposta do trabalho, sendo a primeira parte focada na arquitetura do sistema,

explicitando arquitetura proposta por [YATES e NETO, 1999] e então a modificando até chegar à

proposta final de arquitetura deste trabalho. A segunda parte já faz uso dessa arquitetura para se

mostrar como o sistema pôde ser implementado para comportar melhoria de ranking.

4.1 Arquitetura do Sistema

Conforme proposto por [YATES e NETO, 1999], em suas definições de feedback implícito

através de análise local, obteve-se a seguinte arquitetura:

Figura 1 - Arquitetura de clustering para documentos

É possível observar pela arquitetura proposta na Figura 1 que se faz necessário uso de

documentos como os dados para a consulta. Uma vez tendo um conjunto de documentos como base

de dados é possível começar o processo de consulta da seguinte maneira:

1. Define-se uma consulta, normalmente através de palavras-chaves, que servirá como entrada

ao processo;

2. Aplica-se a consulta em cima do conjunto de documento, resultando em um novo conjunto

de documentos que corresponde ao resultado de uma pesquisa preliminar;

3. Esse conjunto de documentos resultante é enviado como parâmetro a um algoritmo de

Page 44: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

44

clusterização, implementado como proposto pelos autores citados acima, que retorna uma

matriz de correlação;

4. A matriz de correlação serve como entrada ao algoritmo de expansão de consulta;

5. Uma vez a consulta sendo expandida, refina-se a pesquisa em cima da expansão; volta-se ao

passo 1 até que se tenha refinado o suficiente;

6. O conjunto de documentos resultante será retornado como documentos relevantes à pesquisa.

Nota-se que o conjunto de resultados relevantes pode ser menor que o conjunto inicialmente

resultado, indicando que nem todos os documentos correspondentes à consulta inicial farão parte

dos documentos relevantes. Uma limitação dessa arquitetura, no entanto, é falta de flexibilidade

com relação ao conjunto de dados que se pode trabalhar. Assim, propõe-se uma nova arquitetura,

baseada na proposta acima, de forma que se possibilite a inserção de tuplas de uma base de dados

relacional para o sistema, na maneira descrita pela Figura 2.

Figura 2 - Arquitetura de clustering para banco de dados relacional

Uma vez que é comum o uso de uma base de dados relacional no lugar de um conjunto de

documentos, o sistema proposto deve prover uma forma de, com base em um banco já existente,

trabalhar em cima para prover mecanismos de obtenção de melhoria de ranking. Por instância, uma

tupla de uma base de dados relacional pode ser convertida em documento através da concatenação

de cada dado, como se cada dado da dupla fosse uma cadeia de caracteres.

Page 45: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

45

Por fim, mostra-se uma arquitetura mais abstrata, na Figura 3, que explica a maneira com a

qual um sistema já existente pode fazer uso das técnicas desenvolvidas com base nas explanações

de Ricardo Baeza Yates e Berthier Ribeiro Neto.

Query

Relevant Ranked Results

Relational Database

Proposed implicit feeback mechanism

Figura 3 - Arquitetura abstrata de clustering

Uma vez concluído o mecanismo de feedback implícito, propõe-se que seja possível se

estender um sistema (aplicativo, web, etc.) de forma que fique abstraído o processo de obtenção de

ranking. Dessa forma seria necessário para o mecanismo apenas os dados referentes ao banco de

dados, bem como a consulta que o sistema deseja executar.

Nota-se, com a arquitetura proposta, uma sobrecarga de operações a cada expansão da

consulta, visto que todo o processo de pesquisa precisa ser refeito, o que, como visto na Seção 2.2, é

um processo demorado. Outro problema possível de ser visto pela proposta de [YATES e NETO,

1999] é que, dependendo da quantidade de termos a serem expandidos na consulta, dificilmente

existirá algum documento que contenha todos eles, o que levará constantemente a buscas vazias.

Sabendo-se disso e que são comuns, em sistemas de recomendação, como visto na Seção 2.3,

técnicas que tentam predizer um score aos itens que se deseja recomendar, foi feita uma proposta de

alteração na arquitetura a partir da Figura 4.

Page 46: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

46

Figura 4 - Arquitetura de clustering para banco de dados relacional sem expansão de query

A técnica de clusterização é a mesma proposta por [YATES e NETO, 1999], com a diferença

de que o resultado não será utilizado para expansão de consulta, mas sim para ranquear diretamente

os documentos de acordo com a quantidade de termos do cluster resultante que está em cada

documento.

Por exemplo, supondo que o cluster resultante tenha as seguintes palavras: {proposta, banco,

dados, feedback} e que um documento tenha as seguintes palavras: {proposta, dados, relevância}, o

score desse documento, segundo a proposta de arquitetura, seria 2 / 4 = 0.5, uma vez que o

documento contém duas palavras que estão no cluster resultante (proposta, dados). Mesmo com

essa proposta, nota-se a falta de personalização de ranqueamento. Dois usuários do sistema

realizando a busca com as mesmas palavras-chaves terão os resultados ordenados da mesma

maneira. A seguir será visto o que pode ser feito para atualizar essa arquitetura.

4.2 Adicionando feedback implícito através de log

A principal motivação para o uso de logs é o fato de ser possível inferir certos gostos e, assim,

Page 47: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

47

ranquear os documentos mais precisamente ao usuário final do sistema. Para isso é feito o uso do

estudo realizado por [RENDLE, FREUDENTHALER, GANTER E SCHIMIDT-THIEME, 2009],

no qual, com base em uma análise Bayesiana do problema, descreve técnicas de como se utilizar

feedback implícito para predizer um ranking para os itens. A arquitetura proposta e resumida dos

autores remete-se à que se encontra na Figura 5.

Figura 5 - Arquitetura para utilização de logs

É construída, com base nos registros dos logs, um conjunto de feedback implícito, composto

de pares de itens e usuários. A partir desse conjunto podem ser derivados novos conjuntos para cada

usuário e item. Para cada usuário, tem-se o conjunto de itens que possuem registro no log para o

próprio. Também é possível derivar o similar, ou seja, o conjunto de usuários que possuem registro

para cada item. A seguir, eles definem um conjunto DS com atributos u, i e j, cuja semântica é: é

assumido que o usuário u prefere o item i ao item j.

Com a definição de feedback implícito exemplificada acima, os autores seguem para a

análise Bayesiana do problema, mostrando como utilizar um processo de aprendizagem Bayesiano

para predizer um ranking. O problema dessa abordagem é que, desse modo, as técnicas de

clusterização vistas na Seção 2.2, não teriam interferência no ranking e seria contra intuitivo uma

técnica que unisse a análise por clusterização com um ranking personalizado.

Todavia os autores dão uma explicação de como se podem utilizar técnicas conhecidas,

adaptadas a essa arquitetura ilustrada acima. Essas técnicas foram vistas na Seção 3.2 e a adotada

para estudo de caso foi a técnica k-Nearest-Neighbor adaptativa, doravante denominada kNN.

O kNN proposto por [RENDLE, FREUDENTHALER, GANTER E SCHIMIDT-THIEME,

Page 48: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

48

2009] faz uso dos conjuntos de itens e usuários derivados do feedback implícito da seguinte forma.

Supondo 𝐼𝑢+ ≔ *𝑖 ∈ 𝐼 ∶ (𝑢, 𝑖) ∈ 𝑆+ e 𝑈𝑖

+ ≔ *𝑢 ∈ 𝑈 ∶ (𝑢, 𝑖) ∈ 𝑆+ , tal que 𝑆 ⊆ 𝑈 x 𝐼 , em que

𝑈 representa o conjunto de usuários, 𝐼 representa o conjunto de itens e 𝑆 é o conjunto de feedback

implícito (no caso deste sistema, os logs) então a predição de um score para um item i sendo

pesquisado por um usuário u se dá da seguinte forma:

�̂�𝑢𝑖 = ∑ 𝑐𝑖𝑙𝑙∈𝐼𝑢

+

Em que 𝑐𝑖,𝑗𝑐𝑜𝑠𝑖𝑛𝑒 =

|𝑈𝑖+∩𝑈𝑗

+|

√|𝑈𝑖+|.|𝑈𝑗

+|

.

Observa-se como uma vantagem em se utilizar esse mecanismo de predição o fato de os

scores serem normalizados (i.e., entre o intervalo de [0, 1]) após sua aplicação, possibilitando

facilmente uma composição com outros métodos cujas predições estejam normalizadas, de modo a

unir diferentes técnicas apenas fazendo médias ponderadas. Com isso a arquitetura mostrada acima,

utilizando a técnica do kNN como base pode ser vista na Figura 6.

Figura 6 - Arquitetura para utilização de logs com a técnica kNN

Conforme visto na Figura 6, para os resultados de uma consulta se aplica o kNN para se

predizer uma nota a respeito do mesmo. Para ranquear os resultados, portanto, basta ordenar os

Page 49: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

49

documentos de acordo com o score predito pela técnica. A seguir é explicado como incorporar essa

arquitetura à arquitetura já existente para se tentar fazer uso de múltiplas técnicas diferentes com a

finalidade de se obter um ranqueamento mais adequado.

4.2.1 Estendendo Arquitetura para utilização de feedback implícito através de log

Observada a arquitetura inicial proposta, para incrementá-la e possibilitar que outros

sistemas façam uso da proposta deste trabalho, o desejado é que se precise apenas fornecer

inicialmente a base de dados de um determinado sistema bem como os logs que serão de utilidade

para ranquear os resultados. Após passar esses parâmetros, bastaria fazer uso de consultas que esta

proposta ranquearia e retornaria os resultados, como visto na Figura 7, na extensão da arquitetura

externa mostrada na Seção 4.1.

Query

Relevant Ranked Results

Relational Database

Proposed implicit feeback mechanism

Logs

Figura 7 - Arquitetura abstrata de clustering e log

Como visto na seção anterior, o método adotado para se predizer um determinado score para

um documento em uma consulta tem como vantagem o fato de esse score ser normalizado, bem

como o score retornado pelo método de clusterização, de modo que uma composição entre esse dois

métodos pode ser feito com base em uma simples média ponderada entre os scores. Por fim, a

arquitetura interna do sistema, estendido para utilização de logs como para melhoria de ranking,

encontra-se na Figura 8.

Page 50: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

50

Figura 8 - Arquitetura interna de clustering e log

Após um sistema ter fornecido sua base de dados e os determinados logs, o conjunto de

documentos, bem como os conjuntos para o feedback implícito são carregados. Uma determinada

consulta submetida por esse sistema é, então, processada em cima do conjunto de documentos,

provendo o conjunto de documentos que casam com a consulta e então ranqueados com base no

algoritmo de clusterização e no kNN, sendo o score final de cada documento uma média ponderada

entre os scores das técnicas. Por fim esses resultados são ordenados de acordo com o score e

retornados ao sistema que submeteu a consulta. A seguir é explicado como funciona a

implementação dessa arquitetura, com a finalidade de explicar melhor cada processo envolvido na

melhoria de ranking.

Page 51: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

51

4.3 Implementação

Nesta seção é mostrado o processo de comunicação entre as classes desenvolvidas no projeto, bem

como seus relacionamentos, inicialmente definindo as funções de cada pacote relacionado seguido

da definição das funções de cada classe envolvida, mostrando e descrevendo a arquitetura

necessária para o funcionamento interno do módulo de feedback implícito. Adotou-se, na

implementação, a prática de manter tanto os pacotes quanto as classes em língua inglesa, uma vez

que as APIs de linguagem de programação costumam estar definidas nessa linguagem.

4.3.1 Pacotes e Classes

Ilustra-se, na Figura 9, o diagrama de classes do sistema, com as associações representando

comunicação entre as classes. A fim de evitar poluir o diagrama com excessivas associações,

assume-se que classes de um mesmo pacote possuem comunicação entre si.

Figura 9 – Diagrama de classes da arquitetura

Page 52: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

52

Database: É o pacote necessário por comunicação da linguagem com um banco de dados.

Configurations: responsável por conter as configurações de um banco de dados, como o

nome do banco, IP, porta, etc.

ConnectionFactory: responsável por criar uma conexão com um banco de dados, tendo em

vista as configurações do mesmo.

SQLQuerys: responsável por executar as querys em SQL em terminado banco de dados.

TupleToDocumentConverter: responsável por transformar tuplas de um banco de dados em

documentos utilizados pelos algoritmos de clusterização.

Implicit_feedback.algorithm: Pacote que realiza os algoritmos de clusterização de um conjunto de

documentos.

Algorithm: enumeração que indica o tipo de algoritmo a ser utilizado (i.e: Cluster de

Associação).

AssociationCluster: responsável pela geração de uma matriz de correlação, seguindo o

algoritmo de clusterização associativa.

MetricCluster: responsável pela geração de uma matriz de correlação, seguindo o algoritmo

de clusterização métrica.

GeneralAlgorithms: responsável por inicializar a matriz term-document, além de interpretar

os resultados de uma matriz gerada pelos algoritmos anteriores.

AdaptativeKNN: classe que realiza o algoritmo do kNN adaptado, conforme visto na Seção

4.1.

Ranking Algorithms: responsável por prover scores ponderados aos documentos de acordo

com os algoritmos implementados. Pode-se, através dessa classe, dar peso maior ao kNN do que às

técnicas de clusterização.

ImplicitFeedbackFacade: classe fachada que provê às demais uma visualização abstrata das

técnicas utilizadas para predição de score.

Io.control: Pacote que gerencia o controle de inicialização dos documentos pela base de dados, bem

como garantir a geração de uma instância de um conjunto de vocabulário, representado pela classe

VocabularySet.

Controller: responsável por não deixar documentos duplicados no banco de documentos,

além de garantir que não haja comunicação excessiva com o banco de dados, atualizando

apenas registros efetivamente novos.

DataBaseControl: contém informações sobre quais tuplas já foram adicionadas ao banco de

Page 53: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

53

documentos.

ControllerReader: responsável pela leitura do arquivo que contem as informações

necessárias para a criação do DataBaseControl.

ControllerWriter: responsável pela escrita do arquivo que contem as informações do

DataBaseControl para atualizar as tuplas adicionadas ao banco de documentos

Io.documentReaderWriter: Pacote que lê e escreve os documentos em arquivo necessários para

realização dos algoritmos de feedback implícito.

DocumentReader: responsável pela leitura em disco dos documentos e inicializá-los de

maneira com que o algoritmo possa trabalhar.

DocumetWriter: responsável pela escrita em disco dos documentos utilizados.

Io.log_reader: Pacote que lê e escreve os documentos em arquivo necessários para realização dos

algoritmos de feedback implícito.

LogReader: responsável pela leitura em disco do arquivo de log para inicialização do

conjunto de feedback implícito, conforme descrito na Seção 4.1.

Lucene: Lucene é uma biblioteca capaz de indexar documentos e realizar consultas em cima do

mesmo, com base em palavras chaves. Esse pacote é responsável pela comunicação com essa

biblioteca e serve como abstração para indexação dos documentos.

LuceneFacade: serve como fachada para a realização de uma query.

QuerySearcher: responsável por indexar os documentos de um determinado diretório e

realizar consultas em cima deles.

Model: Pacote que contem a modelagem das classes que farão parte do algoritmo.

VocabularySet: representa o vocabulário contido nos documentos que estão relacionados a

ele. Uma vez obtendo os documentos relacionados, inicializa-se com um conjunto de palavras

utilizadas, sem se importar com a frequência com que aparece. Também responsável por avisar aos

documentos relacionados quando há a ocorrência de um termo novo, para sincronizar todos.

DocumentSet: representa um conjunto de documentos. Responsável por informar ao

VocabularySet quais documentos fazem parte da consulta.

InternalDocument: representa um documento, com seu texto, armazenando informações a

respeito da frequência com que ocorre cada palavra no texto.

InternalQuery: representa uma query utilizada pela algoritmo. Contém um DocumentSet que

Page 54: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

54

descreve o resultado da busca.

ImplicitFeedbackSet: representa o conjunto de feedback implícito. Contém os conjuntos 𝐼𝑢+ e

𝑈𝑖+.

User: representa um usuário de sistema. Contém informações nominais sobre um usuário.

ItemUserSet: representa todo o conjunto 𝐼𝑢+.

UserItemSet: representa todo o conjunto 𝑈𝑖+.

ItemUser: representa um item e todos os usuários que têm feedback ao item.

UserItem: representa um usuário e todos os itens aos quais esse usuário possui feedback.

EventType: enumeração que diz respeito a qual tipo de ação um determinado registro de log

faz referência.

Searcher: Pacote responsável pela busca em cima dos documentos. Capaz de controlar a

quantidade de iterações para se obter uma precisão maior acerca da confiabilidade dos resultados.

Searcher: classe que refina uma pesquisa com base em InternalQuery e o tipo de algoritmo a

ser utilizado.

4.3.2 Comunicação entre as Classes

Pelo diagrama de classes é possível notar que, dada uma aplicação qualquer, bastaria que ela

se comunicasse com o controlador (Controller), possuísse uma query (InternalQuery) e, por fim, se

comunicasse com o pesquisador (Searcher). Embora não esteja explicitado no diagrama, há uma

ordem a ser respeitada para que seja possível obter-se a classificação de ranking. É explicado, a

seguir, a ordem a ser respeitada, bem como as comunicações envolvidas entre as classes internas do

sistema durante o processo.

4.3.3 Inicialização dos Documentos

Primeiramente é necessário inicializar os documentos a serem utilizados pelo sistema de

feedback. Esse primeiro processo pode ser visualizado na Figura 10.

Page 55: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

55

Figura 10 – Diagrama de inicialização dos documentos

1. Primeiramente a aplicação chama o controlador, informando os parâmetros necessários para

a comunicação com o banco de dados, bem como quais serão as tabelas envolvidas para a

classificação de ranking;

2. O controlador envia os parâmetros para a classe responsável por executar consultas em SQL;

3. A classe envia um comando em sql para obter os dados relacionados aos parâmetros;

4. O banco processa o comando e retorna as tuplas envolvidas;

5. Retorna ao controlador um conjunto de resultados para que o controlador interprete;

6. O controlador verifica quais registros são efetivamente novos. Para estes, envia o registro ao

conversor de tupla para documentos;

7. O conversor pega a tupla e a converte em um documento (InternalDocument);

8. O controlador envia o documento para a classe responsável pela escrita em disco do

documento;

9. O documento é, enfim, armazenado no repositório de documentos, que será necessário para

o processo de busca em cima dos documentos;

10. A aplicação chama o leitor de log, enviando as informações sobre o acesso ao log;

11. A classe LogReader busca acesso ao log da aplicação;

12. Os registros do log são passados para LogReader;

13. Com os registros, a classe inicializa o conjunto de feedback implícito (ImplicitFeedbackSet);

14. Esse conjunto inicializa o conjunto 𝐼𝑢+;

15. Por fim é inicializado o conjunto 𝑈𝑖+ e a aplicação poderá realizar as pesquisas.

Page 56: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

56

4.3.4 Busca de Documentos

O processo de busca nos documentos e refinamento da pesquisa é mais complexo e

potencialmente demorado. A Figura 11 mostra seu funcionamento.

Figura 11 – Diagrama de busca de documentos

1. A aplicação define um ou mais termos para a pesquisa, em forma textual (i.e: dog);

2. Uma vez definido, envia essa consulta à classe que irá realizá-la;

3. É enviada a solicitação para a classe InternalQuery, afim de saber quais são os documentos

relacionados a ela;

4. Essa classe solicita ao Lucene para que realize a consulta com base em seus termos;

5. A fachada envia mensagem à classe que realizará a consulta dos documentos;

6. Os documentos são indexados e, enfim, a busca é realizada;

7. Os documentos correspondentes à pesquisa são retornados;

8. Os documentos são encaminhados à fachada;

9. Os documentos são enviados à query, para que ela saiba quais documentos estão

relacionados ao termo;

10. É inicializado o conjunto de vocabulário com relação às palavras existentes nos documentos.

Conforme são encontrados novas ocorrências de palavras o conjunto de documento

relacionado é notificado;

11. São retornados para a classe Searcher os documentos que o Lucene encontrou que

satisfaziam a query.

Page 57: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

57

12. Os documentos são enviados à classe ImplicitFeedbackFacade, de modo que essa classe

deva ranqueá-los;

13. Os mesmos são repassados para a classe RankingAlgorithms, que executará as ações

correspondentes ao ranqueamento;

14. Os documentos resultantes da pesquisa são enviados para o algoritmo de clusterização

(Metric ou Association Cluster);

15. São retornadas as matrizes de clusterização do algoritmo;

16. As matrizes são passadas para a classe GeneralAlgorithm que, por sua vez, fará

interpretação delas;

17. São enviados os termos de clusterização para que a classe responsável pelo ranqueamento

possa definir os scores de cada documento.

18. Com base nos termos adquiridos, RankingAlgorithms busca predizer score de acordo com a

quantidade de termos do cluster que aparecem em cada documento (como visto na Seção 4.1)

e então envia os documentos para análise via kNN.

19. A classe AdaptativeKNN prediz outros scores para os documentos de acordo com o

algoritmo kNN adaptado, de [RENDLE.....] e envia-os para RankingAlgorithms.

20. RankingAlgorithms faz atribuição final aos scores dos documentos de acordo com os scores

de clusterização e kNN, repassando-os para a fachada.

21. A fachada envia os resultados ranqueados para a classe Searcher;

22. Finalmente os resultados ranqueados são retornados para a aplicação.

Page 58: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

58

5 ANÁLISE DOS RESULTADOS

Os dados a serem analisados foram extraídos a partir de [FREESE e ULBTS, 2004], cuja

funcionalidade é transformar os arquivos do sistema de filmes IMDB em tuplas de base de dados

relacional, como MySQL. A partir de [FREESE e ULBTS, 2004], obteve-se uma base de 308.444

filmes.

O estudo de caso se dá em cima dessa base de dados, cuja aplicação que faz uso chama-se

Movies Project. Essa aplicação é capaz de procurar filmes que correspondem a determinadas

palavras-chave, guardando os dados de navegação (filmes que clicou, filmes que comprou,

consultas que realizou, etc.) conforme o usuário vai utilizando o sistema. Ao terminar a navegação,

o usuário deve escolher uma ou mais pesquisas para ranquear seus resultados. Para isso o usuário

escolhe os filmes que, para ele, são os mais relevantes e dão notas. Dessa forma é possível ter uma

métrica de qualidade quanto à utilização de técnicas de melhoria de ranking, bastando comparar os

resultados de uma pesquisa ranqueada com o ranqueamento feito pelo próprio usuário.

5.1 Método de Avaliação - Estudo de caso : Movies Project

Foi desenvolvida uma aplicação web com o intuito de se coletar dados, na qual os usuários

da aplicação navegam pelo site e, ao final, fazem algumas pesquisas, ranqueando-as. Os dados de

navegação dos usuários são guardados em arquivo de texto que serão lidos pelo sistema

desenvolvido, transformando-os em logs.

Os logs adquiridos pelo site têm as seguintes propriedades: qual ação foi feita (por exemplo:

clique do mouse), o usuário que a realizou, em que momento ela foi feita, além de uma descrição da

mesma, contendo o nome do título do item (para os casos em que a ação foi clique de mouse ou

compra do item) ou a consulta digitada (para o caso de a ação ser uma consulta). O sistema lê o log

identificando clique ou compra de um item como feedback positivo para o item, realizando o

objetivo descrito na Seção 4.2 que trata de logs.

Para um estudo de caso mais completo, optou-se por utilizar um banco de dados orientado a

objetos (db4o) para a aplicação web, de modo que se exemplifique diferentes aplicações podendo se

valer do mesmo mecanismo de feedback implícito, ainda que a aplicação web não tenha embutido

este mecanismo, visto sua utilidade apenas de coletar dados e não resultados.

Para abstrair o processo de método de avaliação, o diagrama mostrado na Figura 12

exemplifica a coleta e a utilização dos dados para verificação das técnicas empregadas ao decorrer

Page 59: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

59

do trabalho.

Query

Navigation

Manual Ranking by user

Logs

Querys and results to analyze

Load Database and LogsMovie Database

(MySQL)

Load querys

Perform searches

Load results

Compare results

Web application

Implicit Feedback Application

Figura 12 – Diagrama do método de avaliação

A parte superior do diagrama diz respeito à aplicação de estudo de caso utilizada, na qual

coleta dados de navegação conforme usuários vão realizando as pesquisas de filmes. Após os

usuários terem terminado de navegar, é solicitado que façam algumas pesquisas e que deem uma

relevância para os filmes, de modo a ranquear os 10 filmes que o usuário acreditaria ser o melhor

ranking para si.

Ao final da coleta de dados, a aplicação desenvolvida que contém as técnicas de melhoria de

ranking lê os logs adquiridos, carrega uma base de dados de filmes para então serem refeitas as

pesquisas com um número limitado (10, 15 e 20) de resultados aparecendo. Então, carregam-se os

rankings disponibilizados pelos usuários da aplicação web e se comparam os resultados,

primeiramente sem nenhum tipo de melhoria de ranking para, depois, verificar o quanto melhora

Page 60: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

60

esse ranqueamento após o emprego das técnicas estudadas.

As métricas utilizadas para avaliação serão revocação e precisão, valendo-se de consultas

com 10, 15 e 20 resultados para então serem tiradas as conclusões. A revocação é a fração de

resultados relevantes que foram retornados, enquanto a precisão é a fração dos resultados retornados

que são relevantes.

5.2 Resultados da Avaliação

Para iniciar o processo de avaliação, faz-se necessário saber os índices de revocação e

precisão para ranking qualquer, sem influência dos mecanismos de melhoria de ranking utilizados

até então, de modo que possa se obter a qualidade da melhoria após o emprego das técnicas

estudadas.

Desse modo, faz-se a pesquisa preliminar de acordo com a ordem alfabética. No total, 10

consultas foram analisadas e o resultado obtido pode ser visualizado na Tabela 4, representando os

valores de revocação e precisão para cenários cujas consultas resultem em 5, 10, 15 e 20 filmes

ranqueados. O gráfico correspondente à Tabela 4 encontra-se na Figura 13, em que é possível

visualizar o aumento ou diminuição da precisão com o acréscimo de mais resultados retornados em

cada consulta.

5 Resultados 10 Resultados 15 Resultados 20 Resultados

Precisão 0,32 0,36 0,33 0,27

Revocação 0,16 0,36 0,51 0,55

Tabela 4- Tabela de revocação e precisão para um ranking qualquer

Page 61: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

61

Figura 13 - Gráfico de revocação e precisão para um ranking qualquer

Na Tabela 5 é possível observar os resultados referentes às mesmas consultas, mas fazendo o

uso da técnica de clusterização sem, entretanto, utilizar dados de navegação dos usuários. O gráfico

que representa essa tabela encontra-se na Figura 14.

5 Resultados 10 Resultados 15 Resultados 20 Resultados

Precisão 0,64 0,37 0,31 0,28

Revocação 0,32 0,37 0,47 0,56

Tabela 5- Tabela de revocação e precisão para um ranking com clusterização

Figura 14 - Gráfico de revocação e precisão para um ranking com clusterização

Precisão Revocação

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Gráfico sem técnicas

5 Resultados

10 Resultados

15 Resultados

20 Resultados

Precisão Revocação

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Gráfico Clusterização

5 Resultados

10 Resultados

15 Resultados

20 Resultados

Page 62: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

62

Conforme observado na Tabela 5, notou-se um aumento relevante quanto às métricas de

revocação e precisão em relação a um cenário sem nenhum tipo de ranqueamento. A fim de

comparação, aplicou-se apenas a técnica do kNN adaptado, sem interferência da técnica de

clusterização, cujos resultados encontram-se na Tabela 6 e o gráfico representante pode ser

observado na Figura 15.

5 Resultados 10 Resultados 15 Resultados 20 Resultados

Precisão 0,88 0,89 0,65 0,49

Revocação 0,44 0,90 0,98 0,98

Tabela 6- Tabela de revocação e precisão para um ranking com kNN

Figura 15 - Gráfico de revocação e precisão para um ranking com kNN

Nota-se, ao observar o gráfico na Figura 15, a qualidade da pesquisa ao se utilizar dados de

navegação dos usuários. Para o cenário descrito foram utilizados 244 registros de log. Ao verificar a

análise acima, chega-se a um índice de precisão de 89%, quando são mostrados 10 resultados. Por

outro lado, ao se incluir 15 resultados na busca, chega-se a índice de revocação de quase 98%.

No decorrer do trabalho, todavia, foi evidenciada a possibilidade de combinação entre

ambos os scores, com a finalidade de se obter um ranqueamento melhorado. Para isso é possível

atribuir pesos aos valores da clusterização e do kNN. O somatório dos pesos precisa ser 1. Como já

se obtiveram os valores referentes aos dois extremos do intervalo (100% para a clusterização e

100% para o kNN, respectivamente segundo os gráficos acima), os pesos foram atribuídos

Precisão Revocação

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Gráfico kNN

5 Resultados

10 Resultados

15 Resultados

20 Resultados

Page 63: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

63

incrementando em 0,1 unidade para a clusterização a cada passo.

Para uma saída com 5 resultados, encontra-se na Tabela 7 os dados de revocação e precisão,

quando se variam os pesos de clusterização e kNN. O gráfico correspondente pode ser visualizado

na Figura 16.

kNN 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0

Clustering 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Precisão 0,88 0,9 0,9 0,88 0,88 0,9 0,92 0,94 0,92 0,84 0,64

Revocação 0,44 0,45 0,45 0,44 0,44 0,45 0,46 0,47 0,46 0,42 0,32

Tabela 7- Tabela de revocação e precisão para consultas com 5 resultados

Figura 16 - Gráfico de revocação e precisão para consultas com 5 resultados

Na Tabela 8, cujo gráfico que a representa se encontra na Figura 17, é possível analisar os

dados de revocação e precisão variando-se os pesos do kNN e da clusterização para consultas que

retornem até 10 resultados.

kNN 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0

Clustering 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Precisão 0,89 0,89 0,89 0,89 0,89 0,9 0,9 0,89 0,88 0,7 0,37

Revocação 0,90 0,90 0,90 0,90 0,90 0,91 0,91 0,90 0,89 0,71 0,37

Tabela 8- Tabela de revocação e precisão para consultas com 10 resultados

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

00,10,20,30,40,50,60,70,80,9

1

Peso do Clustering

Pre

cisã

o /

Rev

oca

ção

Gráfico Precisão Revocação

Precisão

Revocação

Page 64: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

64

Figura 17 - Gráfico de revocação e precisão para consultas com 10 resultados

O mesmo procedimento foi repetido para consultas que retornassem 15 resultados e a Tabela

9 representa a análise correspondente. O gráfico que corresponde à Tabela 9 se encontra na Figura

18.

kNN 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0

Clustering 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Precisão 0,65 0,65 0,65 0,65 0,65 0,65 0,65 0,65 0,64 0,61 0,31

Revocação 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,97 0,92 0,47

Tabela 9- Tabela de revocação e precisão para consultas com 15 resultados

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

00,10,20,30,40,50,60,70,80,9

1

Peso do Clustering

Pre

cisã

o /

Rev

oca

ção

Gráfico Precisão Revocação

Precisão

Revocação

Page 65: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

65

Figura 18 - Gráfico de revocação e precisão para consultas com 15 resultados

Por fim, quando 20 resultados são retornados nas consultas, a variação de precisão e

revocação conforme os pesos de kNN e clusterização variam pode ser visualizada na Tabela 10, cujo

gráfico que a representa está na Figura 19.

kNN 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0

Clustering 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Precisão 0,49 0,49 0,49 0,49 0,49 0,49 0,49 0,49 0,49 0,49 0,28

Revocação 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,98 0,56

Tabela 10- Tabela de revocação e precisão para consultas com 20 resultados

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

00,10,20,30,40,50,60,70,80,9

1

Peso do Clustering

Pre

cisã

o /

Rev

oca

ção

Gráfico Precisão Revocação

Precisão

Revocação

Page 66: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

66

Figura 19 - Gráfico de revocação e precisão para consultas com 20 resultados

Conforme foi possível visualizar, ao compor duas técnicas de análise foi possível obter uma

precisão maior, sem perder revocação. Obteve-se o valor máximo de precisão mantendo os pesos

em 0,3 para o kNN e 0,7 para a clusterização. Com 5 resultados e nessas configurações foi

alcançado o índice de 94% de precisão.

Para o caso de revocação, foi comum se chegar a índices de 98%, mantendo-se o peso do

kNN a partir de 0,1, levando em consideração 20 resultados que o sistema mostrará ao usuário final.

Quando se trabalha com essas métricas, todavia, o desejado é obter valores altos para ambas.

Ao alcançar o valor máximo de precisão, a revocação fica em 47%. Para o valor máximo da

revocação, a precisão fica em 49%. Mantendo-se 10 resultados na saída e configurando os pesos de

clusterização e kNN de modo que o primeiro seja 0,5 ou 0,4 e o segundo 0,5 ou 0,6 encontram-se

índices elevados para precisão e revocação, sendo 90% e 91%, respectivamente.

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

00,10,20,30,40,50,60,70,80,9

1

Peso do Clustering

Pre

cisã

o /

Rev

oca

ção

Gráfico Precisão Revocação

Precisão

Revocação

Page 67: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

67

6 CONSIDERAÇÕES FINAIS

O conceito de melhoria de ranking se remete à qualidade de uma pesquisa para um usuário final.

Melhorar o ranking é, portanto, um processo que tem como entrada um conjunto de itens e que

retorna um subconjunto da entrada de forma que contenha os itens relevantes ao usuário. Esse

subconjunto pode possuir uma ordenação segundo algum critério. Esse critério, como foi visto ao

decorrer do trabalho, pode ser expresso através de um score predito por diversas técnicas. Nem

sempre, contudo, a ordenação se dá através de score, como a arquitetura obtida através de [YATES e

NETO, 1999], na Seção 4.1, quando esse processo de melhoria de ranking ocorre através de

múltiplas pesquisas sob consultas expandidas.

Um problema observado nessas consultas expandidas é que, para cada nova pesquisa, todo o

método precisava ser refeito. Como o método é baseado em multiplicação de matrizes

(normalmente grandes), fazer múltiplas expansões e novas pesquisas se tornaria um processo longo

e impraticável sem nenhuma otimização. Além disso, esse método possui a desvantagem de a

ordenação não possuir um score bem definido. Com isso, uma das propostas de utilização dos

métodos de clusterização de [YATES e NETO, 1999] de modo a torná-lo mais rápido e prover

scores foi utilizar os termos expandidos e verificar em cada documento quantos desses termos ele

contém. Dessa forma, os documentos que contenham mais termos teriam seu score aumentado.

Essa abordagem se confirmou como boa, como foi possível observar no Capítulo 5, por ter

índices de precisão (resultados retornados que são relevantes) e revocação (fração de resultados

relevantes que foram retornados) muito acima de uma abordagem sem melhoria de ranking. Outra

vantagem dessa abordagem é que não é necessário coletar dados dos usuários para aplicar, de modo

que ele é possível ser utilizado sempre que se trabalhar com documentos.

Enquanto uma das vantagens dos métodos de clusterização utilizados no trabalho é a falta de

necessidade de coletas de dados por parte dos usuários, a limitação existente é a falta de

personalização que existe na melhoria do ranking, não sendo possível, portanto, que usuários

diferentes, com gostos diferentes, ao realizarem a mesma pesquisa, obterem resultados diferentes.

Para superar essa limitação, optou-se por fazer um estudo acerca da área de sistemas de

recomendação. No estado da arte, segundo [ADOMAVICIUS E TUZHILIN, 2005], foram

verificadas diversas abordagens para recomendação. A analogia entre sistema de recomendação e

melhoria de ranking se torna clara. Enquanto o primeiro se preocupa em recomendar itens que

usuários poderiam vir a gostar, o segundo busca ordenar, de acordo com algum critério, os itens

resultantes de uma pesquisa a fim de classificar os itens mais relevantes.

Dessa forma, as principais abordagens de sistemas de recomendação que poderiam ser

incorporados em um sistema de melhoria de ranking seriam abordagens colaborativas e abordagens

Page 68: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

68

baseadas em conteúdo.

Nas abordagens colaborativas as classificações se dariam com base na similaridade entre

dois usuários de sistemas. Entre estes se encontra o GroupLens, de [RESNICK, IACOVOU,

SUCHAK, BERGSTROM E RIEDL, 1994], em que usuários que leram determinados artigos dão

suas notas aos mesmos. Usuários similares entre si, dessa forma, poderiam ser recomendados sobre

novos artigos, com base no que um deles já leu e ranqueou. Fica claro nessa abordagem que se

necessita de feedback explícito, ou seja, um usuário precisa explicitamente dar notas aos itens para

que o sistema de recomendação funcione.

Do outro lado têm-se os sistemas baseados em conteúdo que, por sua vez, verificam a

similaridade entre dois itens de acordo com seu conteúdo e recomendam ao usuário itens similares

aos que o mesmo já deu seu feedback no passado. A uma primeira vista essa abordagem também

precisaria de feedback explícito do usuário, uma vez que o sistema só vai recomendar itens que

sejam similares aos que o usuário já gostou. O fato é que para o sistema ter a certeza de que

determinado usuário gostou de determinado item, esse precisa avaliar e dar o próprio feedback.

Todavia, ao se estudar o trabalho de [RESNICK, IACOVOU, SUCHAK, BERGSTROM E

RIEDL, 1994], foi verificado um método de predição, o kNN (também mencionado em

[ADOMAVICIUS E TUZHILIN, 2005]) , baseado em feedback implícito. Por sua vez, o kNN tenta

predizer scores de um item para um usuário baseando-se no somatório dos scores preditos aos itens

em que esse usuário deu algum feedback (por exemplo clique), sendo esse score baseado na

quantidade de usuários que tem esse item como feedback, como detalhado na Seção 4.2.

Com a inserção de feedback via logs foi possível analisar aumento significativo com relação

à revocação, detalhada na Seção 5.2, que foi aumentada de 55% (para as pesquisas cujo critério de

ordenação se dava com a ordem alfabética dos itens) para 98%, com pesquisas cujo critério do kNN

vale pelo menos 30% da predição em consultas retornando 15 resultados. Foi observado, todavia,

que quando a necessidade é precisão dos resultados, aplicando-se peso de 70% da clusterização para

pesquisas que retornem 5 resultados, é possível obter até 94% de precisão, quando o obtido em um

ambiente sem melhoria de ranking essa precisão é de 32%.

Outro aspecto importante de se destacar com relação aos resultados é que individualmente o

kNN é capaz de obter índices bem maiores de precisão e revocação quando comparado aos obtidos

pela clusterização. A razão é que o kNN é capaz de inferir ranqueamentos através dos históricos dos

usuários. Contudo, quando as técnicas são combinadas, os valores de precisão e revocação têm seus

índices ótimos quando se deixa o peso da clusterização ligeiramente maior que o do kNN, como na

Tabela 7, em que se tem precisão e revocação de 94% e 47%, respectivamente, com peso em kNN

de apenas 30%, ou na Tabela 8, quando os índices são, respectivamente, 90% e 91%, quando o peso

do kNN é de 40%.

Page 69: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

69

O trabalho fez uma composição de duas técnicas conhecidas: clusterização, na área de

recuperação de informação, baseando-se principalmente na obra de [YATES e NETO, 1999]; e o

kNN adaptativo, baseado no artigo de [RESNICK, IACOVOU, SUCHAK, BERGSTROM E

RIEDL, 1994]; também descrevendo uma arquitetura que permite não apenas a composição entre

ambas as técnicas, mas que possibilite uma interface entre diferentes áreas, quando existe a

possibilidade de transformar predições em scores.

Dessa forma, tanto a arquitetura proposta dá margem à implementações diferentes que

utilizem o mesmo princípio, possibilitando otimizações não exploradas no trabalho, quanto a

implementação proposta trazem uma materialização de temas que, em um primeiro momento, são

de difícil compreensão.

Quando se trata de otimização, há uma área enorme a ser explorada de modo que este

sistema de melhoria de ranking possa ser utilizado. Abre-se também espaço para que arquiteturas

baseadas em feedback explícito se interliguem com arquiteturas de feedback implícito com a

finalidade de se obter ranking mais precisos.

6.1 TRABALHOS FUTUROS

O trabalho conta com uma arquitetura proposta baseada, inicialmente, na obra de [YATES e NETO,

1999], sendo estendida para possibilitar a proposta de [RENDLE, FREUDENTHALER, GANTER

E SCHIMIDT-THIEME, 2009], ao se tratar de feedback implícito.

Ao decorrer do trabalho, entretanto, foi mostrado que com feedback implícito se torna

inviável um conjunto de técnicas colaborativas, muito utilizadas em sistemas de recomendação. O

trabalho de [ADOMAVICIUS E TUZHILIN, 2005] explora essa área, mostrando técnicas que seri-

am praticáveis adicionar ao trabalho cujo resultado poderia ser representativo.

Dessa forma, uma possibilidade de trabalho futuro é um aprimoramento da arquitetura que

possibilite inserção de técnicas colaborativas. Vale a observação de que quando essas técnicas se

tornarem processos, independente da entrada, para cada item deverá sair um score. Assim, há a pos-

sibilidade de se usar os scores de técnicas de feedback implícito para aprimorar os casos em que o

conjunto de feedback explícito seja pequeno.

Ao se tratar da arquitetura proposta, pouco se sugere em adaptações ou melhorias. Todavia,

quando se olham os algoritmos estudados, nota-se uma complexidade assintótica que torna o siste-

ma impraticável para uma quantidade razoável de dados. Embora a quantidade de dados para o sis-

tema se mostre na ordem de centenas de milhares (mais de 300 mil dados), quando há a existência

de consultas que retornem algumas centenas de itens, o método de clusterização, que se baseia em

multiplicação de matrizes, torna-se lento.

Page 70: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

70

Uma primeira melhoria no que diz respeito à otimização do ranqueamento é que se faça

uso de algoritmos mais eficientes para multiplicação de matrizes ou que se uso processamento de

GPU para o mesmo. Outro ponto importante é que se o algoritmo de multiplicação de matrizes roda

em ordem de n³, sendo a quantidade de palavras existentes no documento que se realiza a multipli-

cação, para o caso de clusterização associativa, no caso de clusterização métrica o gargalo é ainda

maior.

Para lembrar como funciona matriz de correlação para a clusterização métrica de um do-

cumento u e um documento v tem-se: 𝑐𝑢,𝑣 = ∑ ∑ ∑1

𝑟(𝑘𝑢(𝑛,𝑗),𝑘𝑣(𝑚,𝑗)) 𝑚𝑛𝑑𝑗∈ 𝐷𝑙

. Supondo um cenário

em que a função 1

𝑟(𝑘𝑢(𝑛,𝑗),𝑘𝑣(𝑚,𝑗)) seja executada em ordem O(1), e que a média de palavras seja

igual a quantidade de elementos em 𝐷𝑙 (ainda que esse cenário não condiz com a realidade), para

cada par u, v é necessário fazer n³ operações. Nota-se claramente uma ordem elevada, o que limita

ainda mais sua utilização na forma como foi proposta por [YATES e NETO, 1999], sendo necessá-

rio um estudo sobre otimização dessa técnica de forma que ela se torne praticável em cenários com

quantidade considerável de dados.

Ao se passar pelo processo de clusterização, o passo realizado para a predição de score

verifica, para cada resultado, quantos termos da consulta expandida o documento possui. No cenário

atual, se a consulta expandida tiver 1.000 elementos, cada documento terá que ser lido 1.000 vezes.

Nota-se, então, outro gargalo de desempenho da técnica utilizada. A sugestão para melhoria é que se

faça um pré-processamento (por exemplo, ao carregar a base de documentos), de forma a indexar as

palavras que o documento possui.

Sendo a indexação dada por ordem alfabética, uma busca binária encontraria determinada

palavra chave em ordem log2 𝑛, sendo n a quantidade de palavras contidas no documento. Com

essa otimização, pagar-se-ia em um pré-processamento de indexação com o ganho de que, para um

cenário de 1.000 palavras na consulta expandida e que cada documento tenha em média 2.000 pala-

vras, no lugar de se realizar dois milhões (1.000 x 2.000) de processamentos de comparação, reali-

zar-se-iam aproximadamente onze mil (1.000 x log2 𝑛 (2.000) ≅ 1.000 x 11).

Mudando-se o foco de otimização para os casos da clusterização, têm-se melhorias que

podem ser realizadas no kNN. Atualmente a predição de score do kNN precisa fazer interseção de

dois conjuntos 𝑈𝑖+ e 𝑈𝑗

+, sendo cada um desses conjuntos achados por busca exaustiva no conjunto

de feedback. Embora não impossibilite o uso da técnica, sabe-se que se houver indexação via nome

de usuário, por exemplo, cada conjunto poderá ser encontrado em ordem de log2 𝑛, sendo n a quan-

tidade de conjuntos 𝑈𝑘+.

Com as melhorias de otimização sugeridas até então, sob o ponto de vista da arquitetura

proposta seriam poucas as possibilidades de melhoria. Com novas técnicas adicionadas para melho-

Page 71: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

71

ria de ranking, todavia, existe a possibilidade de otimização para as mesmas. Desse modo, para cada

nova tecnologia, deve-se estudar formas de melhorar o desempenho para que seja praticável a in-

corporação da mesma na arquitetura.

As possibilidades de extensões não se limitam, todavia, à inserção de novas técnicas que

deem score aos itens ou ao estudo de desempenho sobre as mesmas. Quando se trata de sistemas de

recomendação, [ADOMAVICIUS E TUZHILIN, 2005] acusa sob as limitações existentes entre

scores baseados em múltiplos critérios.

Seguindo a possibilidade de extensão, portanto, de [ADOMAVICIUS E TUZHILIN,

2005], nota-se que se diversas técnicas fossem implantadas na arquitetura, sendo elas não restritas

aos mesmos critérios, seria possível, apenas com atribuição de pesos para cada uma das técnicas,

haver scores multicriteriais.

Até o momento foi discutido sobre as várias oportunidades de inserção de novas técnicas

na arquitetura, com a finalidade de se obter um conjunto de técnicas que preditem scores para itens

de forma que essa predição seja a melhor possível. Todavia, há a limitação de que esses scores te-

nham que ser preditos. Técnicas como a clusterização, abordadas por [YATES e NETO, 1999], ne-

cessitam ser adaptadas.

Lança-se uma possibilidade de trabalho futuro que não se limite a arquitetura proposta,

mas que mude a arquitetura de modo a se trabalhar com agentes. Na área de inteligência artificial,

agentes são sistemas computacionais capazes de atuação independente em prol de seu usuário e

dono. Expandindo o conceito, existem os sistemas multiagentes, que é constituído por um conjunto

de agentes os quais interagem entre si.

Ainda no conceito de SMA, existe a possibilidade de determinados agentes fazerem leilão

para determinado recurso. Como cada agente age potencialmente independente, na ocorrência de

leilões aqueles que tiverem mais condição de ganhar um leilão farão ofertas maiores.

Supondo agora um SMA em que itens sejam agentes. Um leilão se daria a partir de uma

consulta para determinado usuário, na qual, a partir dela, os itens fariam suas “ofertas” em relação

ao potencial que existe de o usuário gostar do item. Essas ofertas seriam com relação aos feedbacks

coletados sobre os usuários e itens. Em uma primeira instância, os itens com mais feedbacks corre-

lacionados com a consulta e o usuário em questão poderiam oferecer seu lance.

Para comportar a extensão que diz respeito aos scores multicriteriais de [ADOMAVICIUS

E TUZHILIN, 2005], cada critério poderia também ser agente que, a partir de algum protocolo

qualquer, estaria apto a se comunicar com os itens.

A proposta teria como ponto chave a dinamicidade em que se poderiam acrescentar novos

critérios. A arquitetura atual precisa realizar toda a compilação quando há a existência de novas téc-

nicas a serem empregadas. Sendo assim, sempre que uma técnica fosse adicionada à arquitetura,

Page 72: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

72

todo o processamento de indexação realizado conforme arquitetura mostrada no Capítulo 4 precisa-

ria ser refeito. Com a existência de um SMA cujos critérios seriam agentes que poderiam surgir

dinamicamente, essa limitação tem potencial de deixar de existir.

A abordagem teria como ponto crucial uma sobrecarga de comunicação entre os agentes a

cada inserção de critérios. No decorrer de uma aplicação seria possível de os agentes terem crenças

demais de modo que a memória gasta para armazenar cada agente acabe sendo insuficiente para

comportar todo o SMA. Todavia, há uma vasta pesquisa que pode ser realizada de forma a verificar

a viabilidade da instauração de um SMA para melhoria de ranking utilizando feedback implícito e

explícito bem como a qualidade que se poderia obter utilizando um conceito de entidades que pos-

suam tamanho potencial de aprendizado.

Page 73: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

73

REFERÊNCIAS

ALMEIDA, Mário de Souza. Elaboração de projeto, TCC, dissertação e tese: uma abordagem

simples, prática e objetiva. São Paulo: Atlas, 2011.

BAEZA-YATES, Ricardo; RIBEIRO-NETO, Berthier. Modern Information Retrieval. New York:

ACM Press, 1999.

GIL, Antonio Carlos. Como elaborar projetos de pesquisa. 4. ed. São Paulo: Atlas, 2002.

LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Metodologia do trabalho científico. São

Paulo: Atlas, 2001.

OARD, Douglas W.; KIM, Jinmook. Implicit Feedback for Recommender Systems. AAAI

Technical Report, 1998.

HU, Yifan; KOREN, Y.; VOLINSKY, C. Collaborative Filtering for Implicit Feedback Datasets.

Eight IEEE International Conference, 2008.

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, 2005.

RESNICK, Paul; IACOVOU, Neophytos; SUCHAK, Mitesh; BERGSTROM, Peter; RIEDL, John.

GroupLens: An Open Architecture for Collaborative Filtering of Netnews. Proceedings of

ACM 1994 Conference on Computer Supported Cooperativa Work, Chapel Hill, 1994.

RENDLE, Steffen; FREUDENTHALER, Christoph; GANTER, Zeno; SCHIMIDT-THIEME, Lars.

BPR: Bayesian Personalized Ranking from Implicit Feedback. Machine Learning Lab,

University of Hildesheim, 2009.

RESNICK, Paul; VARIAN, Hal R. Recommender Systems. Communications of the ACM, 1997.

WOJCIKIEWICZ, Leonardo Erwin. Ferramenta de Busca na Web com Feedback Explícito. INE,

UFSC, 2012.

Page 74: UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO … · MELHORIA DE RANKING USANDO COMBINAÇÃO DE MÉTODOS FEEDBACK IMPLÍCITO DO USUÁRIO: ... necessita de sua interferência direta,

74

LAGUN, Dmitry; SUD, Avneesh; WHITE, Ryen W.; BAILEY, Peter; BUSCHER, Georg. Explicit Feedback in Local

Search Tasks. Dublin, Irlanda, 2013.