Você está na página 1de 26

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO

SUL
DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
CURSO DE CIÊNCIA DA COMPUTAÇÃO

JOÃO PEDRO ANTONELLO CARGNELUTTI

TÉCNICAS E MODELOS DOS SISTEMAS DE RECOMENDAÇÃO

Ijuí
2020
2

JOÃO PEDRO ANTONELLO CARGNELUTTI

TÉCNICAS E MODELOS DOS SISTEMAS DE RECOMENDAÇÃO

Projeto de pesquisa apresentado como


requisito para aprovação na disciplina de
Trabalho de Conclusão de curso de Engenharia
Elétrica da Universidade Regional do Noroeste
do Estado do Rio Grande do Sul.

Orientador: Prof. Dr Edson Luiz Padoin

Ijuí
2020
SUMÁRIO

1 DADOS DE IDENTIFICAÇÃO DO PROJETO ................................................. 4


2 TEMA ...................................................................................................................... 4
3 DELIMITAÇÃO DO TEMA................................................................................. 4
4 FORMULAÇÃO DO PROBLEMA ..................................................................... 4
5 JUSTIFICATIVA ................................................................................................... 4
6 OBJETIVOS ........................................................................................................... 7
6.1 OBJETIVO GERAL ......................................................................................... 7
6.2 OBJETIVOS ESPECÍFICOS ........................................................................... 7
7 EMBASAMENTO TEÓRICO .............................................................................. 7
7.1 SISTEMAS DE RECOMENDAÇÃO .............................................................. 7
7.1.1 Definição......................................................................................................8
7.1.2 Tapestry......................................................................................................10
7.1.3 Conceitos....................................................................................................12
7.1.4 Tarefas de um Sistema de Recomendação.................................................13
7.2 MODELOS BÁSICOS DE SISTEMAS DE RECOMENDAÇÃO.................15
7.2.1 Filtragem Colaborativa...............................................................................17
7.2.2 Filtragem baseada em Conteúdo.................................................................18
7.2.3 Sistemas de Recomendação baseados em Conhecimento..........................21
7.2.4 Sistemas de Recomendação Demográficos...............................................22
7.2.5 Sistemas de Recomendação Híbridos........................................................23
8 METODOLOGIA................................................................................................. 23
9 CRONOGRAMA .................................................................................................. 24
10 PROPOSTA DE SUMÁRIO ............................................................................... 24
11 REFERÊNCIAS ................................................................................................... 25
4

1 DADOS DE IDENTIFICAÇÃO DO PROJETO

O autor deste projeto é João Pedro Antonello Cargnelutti, aluno da Ciência da


Computação, orientado pelo Prof. Dr Edson Luiz Padoin. Esta pesquisa está inserida
na área de Inteligência Artificial, Interação humano-computador e Machine Learning.

2 TEMA

Realização de uma pesquisa aprofundada sobre os sistemas de recomendação


de mídia e produtos, funcionamento e arquitetura das técnicas de recomendação
mais utilizadas, suas aplicações e o benefício que trouxeram estes sistemas para o
conceito atual.

3 DELIMITAÇÃO DO TEMA

Esta pesquisa está voltada para os sistemas de recomendação de mídia, onde


é apresentado sua definição, importância, tipos de sistemas de recomendação,
enfatizando seu funcionamento, como e quando são utilizadas as estratégias de
recomendação e as técnicas de filtragem para personalizar o atendimento ao
usuário.

4 FORMULAÇÃO DO PROBLEMA

Esta pesquisa tem como objetivo responder a pergunta: como é feita a


recomendação de itens (produtos ou serviços) aos usuários com base na
similaridade entre esses itens?

5 JUSTIFICATIVA

Para os sites de comércio eletrônico é de grande importância ter informação


sobre as características e gostos dos consumidores, pois com base nesses dados, a
5

partir de tecnologias e algoritmos é possível encontrar itens com características


similares àquelas requisitadas pelo usuário.
As tecnologias que permitem encontrar e computar a similaridade de usuários ou
itens, são vistos como aplicações preditivas que utilizam algoritmos de aprendizado
de máquina para aprender sobre cada usuário ou item do sistema. Em uma
aplicação preditiva, o objetivo principal é realizar previsões sobre futuros
acontecimentos, como por exemplo, qual será o interesse de um usuário por
determinado item.
A utilização de sistemas que permitem o monitoramento da experiência dos
consumidores, os quais buscam produtos e serviços na web, pode transformar os
dados armazenados em conhecimento. De acordo com (GARCIA; FROZZA, 2013, p.
78):
Em um ambiente de busca, devido ao grande volume de informações na
internet, os Sistemas de Recomendação podem ajudar a refinar os
resultados e minimizar o tempo de busca, fornecendo um retorno de
pesquisa de forma individualizada e ágil, apresentando informações
realmente relevantes ao usuário.

Os mesmos autores ainda apontam que “a recomendação de um produto pode


ser um fator importante para a atração ou então a perda de um cliente” (GARCIA;
FROZZA, 2013, p. 78).
Um Sistema de Recomendação combina várias técnicas computacionais para
selecionar itens personalizados com base nos interesses dos usuários e conforme o
contexto no qual estão inseridos. Tais itens podem assumir formas bem variadas
como, por exemplo, livros, filmes, notícias, música, vídeos, anúncios, links
patrocinados, páginas de internet, produtos de uma loja virtual, etc. (RICCI;
ROKACH; SHAPIRA, 2011).
Os comércios eletrônicos sempre estão em busca de métodos para conquistar
novos clientes, pois existem muitos concorrentes que oferecem os mesmos produtos
por um preço equivalente, o que faz o cliente passar menos tempo nos sites. Para
que o cliente tenha facilidade em encontrar o produto desejado nesse curto intervalo
de tempo em que acessa o site é que são utilizados algoritmos de recomendação
muito eficientes que abrangem dados de compra, navegação e até interações com
mídias sociais.
6

Sistemas de Recomendação é uma área de pesquisa importante, onde muito


trabalho tem sido feito, tanto academicamente quanto comercialmente. O interesse
nessa área se deve à grande quantidade de problemas e aplicações práticas
existentes. Além disso, o rápido crescimento da Internet demanda sistemas de
recomendação cada vez mais eficazes, para que seja possível filtrar apenas as
informações relevantes dentro de uma enorme quantidade de informações
disponíveis.
O tema dos sistemas de recomendação ganhou grande importância nos anos
90, pois a Web se tornou um meio importante para transações comerciais e de
comércio eletrônico. Em particular, a Web forneceu facilidade na coleta de dados e
uma interface de usuário que poderia ser implementada para recomendar itens de
uma maneira não invasiva (AGGARWAL, 2016). Os sistemas de recomendação
cresceram significativamente em termos de conscientização pública desde então.
Uma evidência desse fato é que muitas conferências e workshops são dedicados
exclusivamente para este tópico.
O tópico de sistemas de recomendação é muito diversificado porque existe a
capacidade de usar vários tipos de dados do usuário para fazer recomendações. Os
mais conhecidos métodos em sistemas de recomendação incluem métodos de
filtragem colaborativa, métodos baseados em conteúdo e métodos baseados em
conhecimento. Esses três métodos são a base de pesquisa em sistemas de
recomendação. Nos últimos anos, métodos especializados estão sendo
desenvolvidos utilizando vários contextos e dados, como horário, local e informações
sociais.
O surgimento da Internet facilitou o acesso à informação para muitas pessoas.
Muitos mecanismos de busca, como Google e Yahoo! passaram a ser bastante
utilizados para encontrar informações sobre diversos assuntos. Em consequência
disso, a quantidade de dados armazenados na internet cresceu muito rapidamente,
dificultando cada vez mais ao usuário localizar informações de seu interesse. Desta
forma tornou-se necessário o surgimento e a utilização de ferramentas de filtragem
automáticas. Surgiram assim os sistemas de recomendação (RICCI et al., 2010).
A partir dos aspectos fundamentados pelos autores, fica claro que no contexto
atual, os sistemas de recomendação são um fator muito importante para a satisfação
7

e decisão de compra de produtos e serviços pelos clientes em sites de comércio


eletrônico.

6 OBJETIVOS

6.1 OBJETIVO GERAL

Este trabalho tem como objetivo realizar uma pesquisa aprofundada


relacionada a sistemas de recomendação, em especial apresentar as diversas
técnicas de recomendação que são utilizadas. Esta pesquisa também objetiva
mostrar a importância de tais sistemas na atualidade, bem como irá comparar suas
diversas abordagens.

6.2 OBJETIVOS ESPECÍFICOS

 Definir o conceito de sistemas de recomendação.


 Estudar como surgiram os sistemas de recomendação.
 Compreender as estratégias e técnicas de recomendação.
 Entender os modelos básicos de recomendação e seus métodos de
filtragem.
 Comparar os diversos algoritmos para entender qual é o mais utilizado e
por quais fatores.
 Concluir sobre a importância destes sistemas para a atualidade.

7 EMBASAMENTO TEÓRICO

7.1 SISTEMAS DE RECOMENDAÇÃO

O objetivo de um sistema de recomendação é gerar recomendações


significativas de uma coleção de itens ou produtos que possam interessar os
usuários. O sistema pode ter acesso a atributos de perfil específicos do usuário e
8

específicos do item, como dados demográficos e descrições dos produtos,


respectivamente. Os sistemas de recomendação diferem na maneira de como
analisar essas fontes de dados para desenvolver relações entre usuários e itens. A
arquitetura dos sistemas de recomendação e sua avaliação sobre problemas do
mundo real é uma área ativa de pesquisa (RICCI et al., 2011).
A importância da Web como meio para transações eletrônicas e comerciais foi
fundamental para o desenvolvimento da tecnologia dos sistemas de recomendação.
Outro fator importante foi a facilidade com que a Web permite que os usuários
forneçam feedback sobre seus gostos ou aversões. Por exemplo, um cenário de um
provedor de conteúdo como o Netflix. Nesses casos, os usuários podem facilmente
fornecer feedback do conteúdo assistido com um simples clique no mouse. De
acordo com (AGGARWAL, 2016, p. 23):
Um método típico para fornecer feedback é no formato de
classificações, nas quais os usuários selecionam valores numéricos de um
sistema de avaliação específico (por exemplo, sistema de classificação de
cinco estrelas) que especificam seus gostos e aversões a vários itens.
Existem diversas outras formas de feedback que não são tão explícitas,
mas são ainda mais fáceis de coletar informações sobre os gostos dos
usuários. Por exemplo, o ato de um usuário comprar ou navegar em um
item pode ser visto como um endosso para esse item. Tais formas de
feedback são comumente usados por comerciantes on-line, como
Amazon.com, e a coleta desse tipo de dados é totalmente fácil em termos
de trabalho exigido de um cliente.

A ideia básica dos sistemas de recomendação é utilizar essas diversas fontes


de dados para compreender os interesses dos clientes. A entidade à qual a
recomendação é fornecida é referida como usuário e o produto recomendado
também é chamado de item. Sendo assim, a recomendação geralmente é baseada
na interação anterior entre usuários e itens, porque os interesses do usuários são
frequentemente bons indicadores de escolhas futuras.

7.1.1 Definição

Sistema de Recomendação é um conjunto de algoritmos que utilizam técnicas


de Aprendizagem de Máquina (Machine Learning) e Recuperação da Informação
9

(Information Retrieval) para gerar recomendações baseadas em algum tipo de


filtragem, as mais comuns são: colaborativa (considera a experiência de todos os
usuários), baseada em conteúdo (considera a experiência do usuário alvo) e híbrida
(as duas abordagens são consideradas). Segundo o autor (RICCI et al., 2011, p. 7):
Sistemas de recomendação são ferramentas e técnicas de software
que fornecem sugestões de itens para serem úteis ao usuário. As sugestões
fornecidas visam apoiar seus usuários em vários processos de tomada de
decisão, como quais itens comprar, quais músicas escutar ou quais notícias
ler. Os sistemas de recomendação provaram ser meios valiosos para os
usuários online lidarem com a sobrecarga de informações e se tornaram
uma das ferramentas mais poderosas e populares do comércio eletrônico.
Da mesma forma, várias técnicas para geração de recomendações foram
propostas e, na última década, muitas delas também foram implantadas
com sucesso em ambientes comerciais.

Os sistemas que ajudam os consumidores a decidir quais produtos eles


devem se envolver (comprar, assistir, ouvir, ler etc.) são chamados de Sistemas de
Recomendação.

7.1.1.1 Machine Learning

O termo Machine Learning foi popularizado em 1959 por Arthur L. Samuel


(1967, p. 601), segundo o autor “Machine Learning é o campo de estudo que dá aos
computadores a capacidade de aprender sem serem explicitamente programados”.
Em português, Aprendizado de Máquina, é um subcampo da ciência da
computação que evoluiu do estudo de reconhecimento de padrões e da teoria do
aprendizado computacional em inteligência artificial. Segundo o autor
(GOODFELLOW et al., 2016), “Aprendizado de Máquina é o único meio viável pelo
qual é possível construir sistemas que consigam operar em complicados ambientes
reais”. Os algoritmos de Machine Learning constroem um modelo matemático
baseado em dados de amostra, conhecidos como "dados de treinamento", para
fazer previsões ou decisões sem ser explicitamente programado para isso
(MITCHELL, 1997, p. 15).
Como citado anteriormente, o Machine Learning envolve computadores
descobrindo como eles podem executar tarefas e solucionar problemas sem serem
10

explicitamente programados para isso. Para problemas simples atribuídas aos


computadores, é possível programar algoritmos informando à máquina como
executar todas as etapas necessárias para resolver o problema em questão, por
parte do computador, não é necessário aprendizado. Para problemas mais
avançados, pode ser um desafio para um ser humano criar manualmente os
algoritmos necessários, então, pode ser mais eficaz ajudar a máquina a desenvolver
seu próprio algoritmo, em vez de os programadores humanos especificarem todas
as etapas necessárias (ALPAYDIN, 2010).

7.1.1.2 Information Retrieval

O campo de Information Retrieval (em português Recuperação de


Informação) foca na interação entre pessoas e conteúdo em sistemas de
informação, como também na localização de informações armazenadas nestes
sistemas (WILSON, 2000).
O significado do termo “Information Retrieval” pode ser muito amplo. Tirar o
cartão de crédito da carteira para digitar seu número é uma forma de recuperação
de informação por exemplo. O autor Christopher (MANNING et al., 2008) define que:
“Information Retrieval é encontrar material de natureza não estruturada que atenda a
uma necessidade de informações em grandes coleções armazenadas em
computadores”. Essa definição não difere muito da afirmação anterior de van
Rijsbergen (1979) de que a recuperação de informações é automática (vs. manual),
lida com informações ou documentos (vs. dados) e informa o usuário sobre a
existência ou inexistência de informações que sejam relacionados a uma consulta,
em vez de alterar o conhecimento do usuário. O termo “recuperação” significa a
extração de informações de uma coleção de conteúdo.

7.1.2 Tapestry

Embora os atuais Sistemas de Recomendação sejam sinônimos de sites de


comércio eletrônico, como Amazon e Netflix, sua história é anterior a qualquer
empresa. O primeiro Sistema de Recomendação, Tapestry foi desenvolvido no
Centro de Pesquisa Xerox Palo Alto em 1992 por um grupo de pesquisadores,
11

consiste em um sistema de e-mail experimental (GOLDBERG et al., 1992). O que


motivou os desenvolvedores a criar o Tapestry, foi o crescente uso do correio
eletrônico, o que resultou em “usuários sendo inundados por um enorme fluxo de
documentos recebidos” (GOLDBERG et al., 1992). Uma tentativa inicial de reduzir a
quantidade de mensagens recebidas, foi fornecer listas de correspondência,
permitindo que os usuários se inscrevessem apenas nas listas de interesse. Porém,
na prática, os interesses dos usuários raramente correspondiam perfeitamente a
lista de correio pré-existentes.
No entanto, conforme ilustrado na Figura 1, o conjunto de documentos de
interesse de um usuário específico raramente mapeia ordenadamente as listas
existentes. Como explica o autor (GOLDBERG et al., 1992):
Uma solução melhor é o usuário especificar um filtro que varre
todas as listas, selecionando documentos interessantes,
independentemente da lista em que estejam. Vários sistemas de correio
oferecem suporte à filtragem com base no conteúdo de um documento. Um
princípio básico do trabalho do Tapestry é que a filtragem mais eficaz pode
ser feita envolvendo seres humanos no processo de filtragem.

Então, entendemos que além da filtragem baseada em conteúdo, o sistema


Tapestry foi projetado e construído para oferecer suporte à filtragem colaborativa.
Ainda segundo o autor (GOLDBERG et al., 1992):
Filtragem colaborativa significa simplesmente que as pessoas
colaboram para se ajudarem a realizar a filtragem, registrando suas reações
aos documentos que leem. Tais reações podem ser que um documento foi
particularmente interessante (ou particularmente desinteressante). Essas
reações, geralmente chamadas de anotações, podem ser acessadas pelos
filtros de outras pessoas.

O sistema Tapestry foi uma base para o desenvolvimento da técnica de


filtragem colaborativa nos Sistemas de Recomendação.
12

Figura 1 - Exemplo de filtragem colaborativa

Fonte: GOLDBERG et al., 1992.

7.1.3 Conceitos

Para melhor compreensão, os dados utilizados pelos sistemas de


recomendação podem se referir a três tipos de objetos: itens, usuários e relações
(RICCI et al., 2011).

- Itens: Itens são os objetos recomendados. Podem ser caracterizados por sua
complexidade e por seu valor ou utilidade. O valor de um item pode ser positivo se o
item é útil para o usuário, ou negativo se o item é inapropriado e o usuário tomou
uma decisão errada ao selecioná-lo. Itens podem ser representados utilizando várias
abordagens de representação e informação.
- Usuários: Os usuários do sistema de recomendação podem ter diversos objetivos
e características. Para personalizar as recomendações os sistemas de
recomendação exploram um conjunto de informações sobre o usuário. Essas
13

informações podem ser estruturadas de várias maneiras, e a seleção de quais


informações modelar depende da técnica de recomendação. Usuários também
podem ser descritos pelo seus padrões de comportamento, como dados de
navegação em um site.

- Transações: Transações são registros de interação entre o usuário e o sistema de


recomendação. São como dados de log que armazenam informações importantes
geradas durante a interação humano-computador, as quais são úteis para geração
de recomendação pelo algoritmo que o sistema está utilizando.

7.1.4 Tarefas de um Sistema de Recomendação

Ricci et al. (2011) apresentou uma lista das tarefas que um sistema de
recomendação eficaz deve cumprir baseando-se nos interesses do criador do
sistema de recomendação, sendo elas:

- Aumentar o número de itens vendidos: Essa é provavelmente a função mais


importante para um sistema de recomendação comercial, ser capaz de vender um
conjunto adicional de itens em comparação aos itens geralmente vendidos sem
nenhum tipo de recomendação.

- Vender itens mais diversos: Outra função principal de um sistema de


recomendação é permitir que o usuário encontre itens que podem ser difíceis de
encontrar sem uma recomendação precisa.

- Aumentar a satisfação do usuário: Um sistema de recomendação bem projetado


também pode melhorar a experiência do usuário com o site ou o aplicativo. O
usuário achará as recomendações interessantes, relevantes e, com uma interação
humano-computador projetada adequadamente, ele também gostará de usar o
sistema. A combinação de recomendações eficazes, precisas, e uma interface
utilizável, aumentará a avaliação subjetiva do usuário pelo sistema.
14

- Aumentar a fidelidade do usuário: Um usuário deve ser fiel a um site que


reconhece-o como um cliente antigo e trata-o como um visitante de grande valor.
Esse é um recurso comum em sistemas de recomendação, já que eles calculam
recomendações avaliando as informações adquiridas do usuário em interações
anteriores.

- Melhor entendimento do que o usuário quer: A descrição das preferências do


usuário, coletas explicitamente ou preditas pelo sistema, podem ser reutilizadas para
vários objetivos.

Herlocker et al. (2004) define algumas tarefas de usuário que um sistema de


recomendação pode auxiliar a implementar para apoiar o usuário em seus objetivos.

- Anotação em contexto: Os usuários usam as previsões exibidas para decidir


quais mensagens ler e, portanto, o fator mais importante a avaliar é o quão bem-
sucedidas as previsões ajudam os usuários a distinguir entre o conteúdo desejado e
o indesejado.

- Encontrar bons itens: Interfaces que sugerem itens específicos para seus
usuários, fornecendo a eles uma lista classificada dos itens recomendados, além de
previsões de quanto os usuários gostariam deles.

- Encontrar todos os bons itens: Fornecer ao usuário uma lista de todos os itens
que podem satisfazer suas necessidades. Em alguns casos encontrar apenas
alguns bons itens pode não ser o suficiente. Na prática, o sistema tem que garantir
ter uma taxa de "falso negativo" suficientemente baixa.

- Recomendar uma sequência: Aqui, o desafio é recomendar uma sequência de


itens relacionados.

- Recomendar um grupo: Recomendar um grupo de itens relacionados que possam


interessar o usuário.
15

- Apenas navegar: O sistema deve auxiliar os usuários que apenas navegam sem
um propósito definido, navegando entre os itens que possam ser interessantes
naquela sessão específica.

- Sistema de recomendação confiável: Em muitas ocasiões os usuários não


confiam no sistema de recomendação e realizam alterações em seus perfis para
tentar atualizar os itens recomendados. Desta forma, o sistema deve permitir que o
usuário teste algumas funções.

- Melhorar o perfil: A tarefa de classificação que a maioria dos sistemas de


recomendação assumiu. Os usuários contribuem com classificações porque
acreditam que estão melhorando seu perfil e, assim, melhorando a qualidade das
recomendações que receberão.

- Expressar-se: Alguns usuários podem não se importar com as recomendações, o


que é importante para eles é que possam contribuir com suas classificações. Muitos
usuários simplesmente querem um espaço para expressar suas opiniões. Assim, o
sistema deve fornecer uma seção para comentários.

- Ajudar os outros: Alguns usuários gostam de contribuir com informação porque


eles acreditam que a comunidade se beneficia de sua avaliação.

- Influenciar os outros: Existem usuários de sistemas de recomendação cujo


objetivo é influenciar explicitamente outras pessoas na visualização ou compra de
itens específicos, para penalizar ou promover tal item.

7.2 MODELOS BÁSICOS DE SISTEMAS DE RECOMENDAÇÃO

Para um sistema realizar recomendações, são utilizadas algumas técnicas e


modelos de recomendação, feitos com base em predições sobre as informações dos
itens e usuários.
Os modelos básicos de sistemas de recomendação trabalham com dois tipos
de dados, que são: as interações item-usuário, como classificações ou
16

comportamento de compra; e as informações de atributo sobre os usuários e itens,


como perfis de texto ou palavras-chave relevantes. Os métodos que usam o primeiro
são chamados de métodos de filtragem colaborativa, enquanto os métodos que
usam o último são chamados de métodos de recomendação baseados em conteúdo.
Nos sistemas de recomendação baseados em conhecimento, as recomendações
são baseadas em requisitos de usuário explicitamente especificados. Alguns
sistemas de recomendação combinam esses diferentes aspectos para criar sistemas
híbridos. Em vez de usar classificação histórica ou comprar dados, são usadas
bases e restrições externas de conhecimento para criar a recomendação.
(AGGARWAL, 2016).
A utilidade de um item para um usuário pode ser influenciada pelo
conhecimento que o usuário tem do domínio, por exemplo, usuários iniciantes
versus experientes de uma câmera digital, ou pode depender do momento em que a
recomendação foi feita. Ou o usuário pode estar mais interessado em itens mais
perto de seu local atual, um restaurante por exemplo. Assim, a recomendação deve
ser adaptada para esses detalhes específicos adicionais (RICCI et al., 2011).
Burke (2007) apresentou quatro técnicas de recomendação e os tipos de dados
necessários para cada técnica, conforme ilustrado na Figura 2:

Figura 2 - Técnicas de Recomendação e suas fontes de dados

Fonte: BURKE, 2007.


17

- Filtragem Colaborativa: O sistema gera recomendações ao usuário com base nas


classificações dadas pelos outros usuários.
- Baseada em Conteúdo: O sistema gera recomendação com base em duas fontes:
as características associadas ao item e as classificações que os usuários deram a
ele.
- Demográfica: A recomendação é feita com base no perfil demográfico do usuário.
- Baseada em Conhecimento: Gera recomendação a partir das informações de
interesse e preferências do usuário.

Na sequência, será apresentado detalhadamente algumas das técnicas e


modelos de recomendação.

7.2.1 Filtragem Colaborativa

De acordo com Aggarwal (2016), os modelos de filtragem colaborativa usam o


poder colaborativo das classificações fornecidas por vários usuários para fazer
recomendações. A semelhança de gostos de dois usuários é calculada baseada na
similaridade do histórico de classificações dos usuários. A filtragem colaborativa é
considerada a técnica em sistemas de recomendação mais popular e mais
largamente implementada (RICCI et al., 2011).
Considera-se um exemplo de aplicativo de filme no qual os usuários dão
classificações indicando que gostam ou não de filmes específicos. A maioria dos
usuários visualizaria apenas uma pequena fração do grande universo de filmes
disponíveis. Como resultado, a maioria das classificações não é especificada
(AGGARWAL, 2016).
A ideia básica é que a classificação feita por um usuário “u” para um novo
item “i” é provável de ser similar para a de outro usuário “v”, se “u” e “v” tem
classificado outros itens de maneira similar. De modo similar, é provável que “u”
classifique dois itens “i” e “j” de forma semelhante, se outros usuários tem feito
classificações similares para estes dois itens (RICCI et al., 2011).
Conforme Burke (2007), existem dois métodos geralmente usados na
filtragem colaborativa, chamados de métodos baseados em memória e métodos
baseados em modelo.
18

Métodos baseados em memória (também conhecidos como métodos


baseados em vizinhança) foram alguns dos algoritmos de filtragem colaborativa mais
antigos, nos quais as classificações das combinações de itens do usuário são
previstas com base em seus vizinhos. Esses vizinhos podem ser definidos de duas
maneiras (AGGARWAL, 2016):

- Baseados em Usuário: Nesse caso, as classificações fornecidas por usuários com


a mesma opinião de um usuário alvo A são usadas para fazer recomendações para
A. Portanto, a ideia básica é determinar os usuários semelhantes ao usuário alvo A e
recomendar classificações para as classificações não especificadas de A,
calculando as médias ponderadas das classificações desse grupo de pares.

- Baseados em Item: Para fazer as previsões de classificação para o item de


destino B pelo usuário A, a primeira etapa é determinar um conjunto S de itens que
sejam mais semelhantes ao item de destino B. As classificações no conjunto de
itens S, especificadas por A, são usadas para prever se o usuário A gostará do item
B.

Em métodos baseados em modelo, são utilizadas classificações para


aprender um modelo preditivo. A ideia geral é modelar as interações usuário-item
com fatores representando características latentes dos usuários e itens no sistema,
como a classe de preferência do usuário e a classe de categoria dos itens. Este
modelo é então treinado utilizando os dados disponíveis, e depois utilizado para
predizer classificações de usuários para novos itens (RICCI et al., 2011).

7.2.2 Filtragem baseada em Conteúdo

Conforme a explica o autor Aggarwal (2016), nos sistemas de recomendação


baseados em conteúdo, os atributos descritivos dos itens são usados para fazer
recomendações. O termo "conteúdo" refere-se a essas descrições. Nos métodos
baseados em conteúdo, as classificações e o comportamento de compra dos
usuários são combinados com as informações de conteúdo disponíveis nos itens.
19

Ou seja, o sistema tenta recomendar itens similares a aqueles que um usuário


gostou no passado.
Os métodos baseados em conteúdo tem algumas vantagens em fazer
recomendações para novos itens, segundo Aggarwal (2016), isso ocorre porque
outros itens com atributos semelhantes podem ter sido classificados pelo usuário
ativo. Portanto, o modelo supervisionado poderá alavancar essas classificações em
conjunto com os atributos do item para fazer recomendações mesmo quando não
houver histórico de classificações para esse item.
Os métodos baseados em conteúdo também têm várias desvantagens,
Aggarwal (2016) cita algumas delas:

- Em muitos casos, os métodos baseados em conteúdo fornecem recomendações


óbvias devido ao uso de palavras-chave ou conteúdo. Por exemplo, se um usuário
nunca consumiu um item com um conjunto específico de palavras-chave, esse item
não tem chance de ser recomendado. Isso ocorre porque o modelo construído é
específico para o usuário em questão e o conhecimento da comunidade de usuários
semelhantes não é aproveitado. Esse fenômeno tende a reduzir a diversidade dos
itens recomendados, o que é indesejável.

- Embora os métodos baseados em conteúdo sejam eficazes para fornecer


recomendações para novos itens, eles não são eficazes para fornecer
recomendações para novos usuários. Isso ocorre porque o modelo de treinamento
para o usuário alvo precisa usar o histórico de suas classificações.

7.2.2.1 Arquitetura de alto nível de sistemas baseados em conteúdo

De acordo com RICCI et al. (2011), os métodos de filtragem baseados em


conteúdo precisam de técnicas adequadas para representar os itens e montar o
perfil do usuário, além de algumas estratégias para comparar o perfil do usuário com
a representação do item. Este processo de recomendação é feito em três etapas,
onde cada uma é controlada por um componente separadamente:
20

- Analisador de Conteúdo: Quando as informações não têm estrutura, é necessário


algum tipo de etapa de pré-processamento para extrair informações relevantes
estruturadas. A principal responsabilidade deste componente é representar o
conteúdo dos itens (por exemplo, documentos, páginas da Web, notícias, descrições
de produtos etc.) provenientes de fontes de informações em um formato adequado
para as próximas etapas de processamento.

- Aprendiz de Perfil: Este módulo coleta dados representativos das preferências do


usuário e tenta generalizar esses dados, a fim de construir o perfil do usuário.
Geralmente, a estratégia de generalização é realizada por meio de técnicas de
aprendizado de máquina, capazes de inferir um modelo de interesses do usuário a
partir de itens gostados ou não apreciados no passado.

- Componente de Filtragem: Este módulo explora o perfil do usuário para sugerir


itens relevantes através da combinação da representação do perfil do usuário contra
os itens a serem recomendados. O resultado é um binário ou contínuo julgamento
de relevância, neste último caso resultando em uma lista ranqueada de itens
potencialmente interessantes.

Figura 3 - Arquitetura de alto nível de um sistema de recomendação baseado em conteúdo

Fonte: RICCI et al., 2011.


21

A figura acima representa a arquitetura de alto nível de um sistema de


recomendação baseado em conteúdo.

7.2.3 Sistemas de Recomendação baseados em Conhecimento

Esta categoria de sistemas de Recomendação utiliza conhecimento sobre


usuários e produtos para buscar uma abordagem baseada no conhecimento a fim de
gerar uma recomendação, fundamentando sobre quais produtos atendem aos
requisitos do usuário. Estes sistemas, segundo Burke (2000):
São um tipo específico de sistema de recomendação com base no
conhecimento explícito sobre a variedade de itens, preferências do usuário
e critérios de recomendação. Esses sistemas são aplicados em cenários em
que abordagens alternativas, como filtragem colaborativa e filtragem
baseada em conteúdo, não podem ser aplicadas.

Os sistemas de recomendação baseados em conhecimento são


particularmente úteis no contexto de itens que não são comprados com muita
frequência. Exemplos incluem itens como imóveis, automóveis, solicitações de
turismo, serviços financeiros ou bens de luxo. Como os itens são comprados
raramente e com diferentes tipos de opções detalhadas, é difícil obter um número
suficiente de classificações para uma instância específica (isto é, combinação de
opções) do item em questão (AGGARWAL, 2016).
Em outros casos, pode ser difícil capturar completamente o interesse do
usuário com dados históricos, como classificações. De acordo com Aggarwal (2016),
um item específico pode ter atributos associados a ele que correspondem às suas
várias propriedades, e um usuário pode estar interessado apenas em itens com
propriedades específicas. Por exemplo, carros podem ter diversas marcas, modelos,
cores, opções de motor, opções de interior, e os interesses do usuário podem ser
regulados por uma combinação muito específica dessas opções, isso torna difícil a
associação das classificações com as diversas combinações disponíveis.
Os sistemas de recomendação baseados em conhecimento são classificados
com base no tipo de interface necessária para concluir seus objetivos, sendo elas
(AGGARWAL, 2016):
22

- Sistemas baseados em restrições: Aqui, os usuários geralmente especificam


requisitos ou restrições (por exemplo, limites inferiores ou superiores) nos atributos
do item. Regras específicas do domínio são usadas para corresponder os requisitos
do usuário aos atributos do item. Essas regras representam o conhecimento
específico do domínio usado pelo sistema. Essas regras podem assumir a forma de
restrições específicas nos atributos do item (por exemplo, "carros antes do ano de
1970 não têm controle de tração").

- Sistemas baseados em casos: Nestes sistemas, casos específicos são


especificados pelo usuário como destinos ou pontos de ancoragem. As métricas de
similaridade são definidas nos atributos do item para recuperar itens semelhantes a
esses casos. Portanto, as métricas de similaridade formam o conhecimento do
domínio usado nesses sistemas. Os resultados retornados são frequentemente
usados como novos casos de destino com algumas modificações interativas pelo
usuário. Por exemplo, quando um usuário vê um resultado retornado, que é quase
semelhante ao que deseja, ele pode reemitir uma consulta com esse destino, mas
com alguns dos atributos alterados ao gosto do usuário.

Nos dois casos, o sistema oferece uma oportunidade para o usuário alterar
seus requisitos especificados.

7.2.4 Sistemas de Recomendação Demográficos

Nos sistemas de recomendação demográfica, as informações demográficas


sobre o usuário são aproveitadas para aprender classificadores que podem mapear
informações demográficas específicas para classificações ou propensões de
compra. Técnicas mais recentes se concentraram no uso de classificadores para
fazer recomendações. Um dos sistemas interessantes a esse respeito foi uma
técnica que extraiu recursos das páginas iniciais dos usuários para prever a
probabilidade de gostar de determinados restaurantes. Classificadores baseados em
regras são frequentemente usados para relacionar o perfil demográfico ao
comportamento de compra de maneira interativa (AGGARWAL, 2016).
23

Embora os sistemas de recomendação demográficos geralmente não


forneçam os melhores resultados de forma independente, eles aumentam
significativamente o poder de outros sistemas de recomendação atuando como
componente de modelos híbridos ou de conjuntos. Às vezes, técnicas demográficas
são combinadas com sistemas de recomendação baseados em conhecimento para
aumentar sua robustez.

7.2.5 Sistemas de Recomendação Híbridos

Conforme discutido e apresentado nos tópicos anteriores, os sistemas de


filtragem colaborativa baseiam-se nas classificações da comunidade, os métodos
baseados em conteúdo baseiam-se em descrições textuais e nas próprias
classificações do usuário-alvo, e os sistemas baseados em conhecimento dependem
de interações com o usuário no contexto de bases de conhecimento. Da mesma
forma, os sistemas demográficos usam os perfis demográficos dos usuários para
fazer recomendações. Esses diferentes sistemas usam diferentes tipos de fonte de
dados e têm diferentes pontos fortes e fracos.
De acordo com Aggarwal (2016) é possível usar diferentes tipos de sistemas
de recomendação para a mesma tarefa. Nesses casos, existem muitas
oportunidades para hibridação, onde os vários aspectos de diferentes tipos de
sistemas são combinados para alcançar um sistema mais eficaz.

8 METODOLOGIA

E trabalho é uma pesquisa bibliográfica, a atividade básica na pesquisa


bibliográfica é a investigação em material teórico sobre o assunto de interesse, ou,
conforme definem os autores Trentini e Paim (1999), “a revisão bibliográfica, ou
revisão da literatura, é a análise crítica, meticulosa e ampla das publicações
correntes em uma determinada área do conhecimento”.
Serão realizados estudos aprofundados sobre diversos livros, artigos e
pesquisas a respeito dos sistemas de recomendação para coletar dados e
informações sobre o tema.
24

As técnicas de recomendação a serem estudadas são: filtragem Colaborativa,


filtragem baseada em conteúdo, filtragem baseada em conhecimento, sistemas de
recomendação demográficos e sistemas de recomendação híbridos. Será
apresentado detalhadamente o funcionamento de cada técnica de recomendação,
tendo como foco principal a Filtragem Colaborativa. E por final, será realizada uma
comparação da eficácia de cada técnica, e qual delas é a mais comum atualmente.

9 CRONOGRAMA

ATIVIDADES JAN FEV MAR ABR MAIO JUN


Escolha do tema e professor
orientador
Encontros com orientador

Entrega do projeto de
pesquisa
Estudo da documentação
para desenvolvimento
Desenvolvimento do
embasamento teórico
Revisão e entrega oficial do
trabalho
Apresentação do trabalho
em banca

10 PROPOSTA DE SUMÁRIO

1. INTRODUÇÃO
1.1 ESTRUTURA DO TRABALHO
2. SISTEMAS DE RECOMENDAÇÃO
2.1 DEFINIÇÃO E CONCEITOS BÁSICOS
2.2 TAPESTRY
3. MODELOS BÁSICOS DE SISTEMAS DE RECOMENDAÇÃO
3.1 FILTRAGEM COLABORATIVA
3.2 FILTRAGEM BASEADA EM CONTEÚDO
3.3 FILTRAGEM BASEADA EM CONHECIMENTO
3.4 SISTEMAS DE RECOMENDAÇÃO DEMOGRÁFICOS
3.5 SISTEMAS DE RECOMENDAÇÃO HÍBRIDOS
4. FILTRAGEM COLABORATIVA
25

5. CONCLUSÃO
6. REFERENCIAS

11 REFERÊNCIAS

AGGARWAL, Charu C. Recommender Systems: The Textbook. 1. ed. NY, USA:


Springer, 2016.

ALPAYDIN, Ethem. Introduction to Machine Learning. 2. ed. MIT Press, 2010.

BURKE, Robin. Knowledge-based recommender systems. Department of


Information and Computer Science, University of California, Irvine, 2000.

BURKE, Robin. The adaptive web. chapter Hybrid Web Recommender Systems.
Springer-Verlag, Berlin, 2007.

GARCIA, Cássio Alan; FROZA, Rejane. Sistemas de recomendação de produtos


utilizando mineração de dados. TECNO-LÓGICA, Santa Cruz do Sul, v. 17, n. 1, p.
78-90, Jan/jun. 2013. Disponível em:
<https://online.unisc.br/seer/index.php/tecnologica/article/view/3283>. Acesso em: 17
abr. 2020.

GOLDBERG, David; NICHOLS, David; OKI, Brian M.; TERRY, Douglas. Using
Collaborative Filtering to Weave an Information Tapestry. Communications of the
ACM, v. 35, 1992.

GOODFELLOW, Ian; BENGIO, Joshua; COURVILLE, Aaron. Deep Learning. MIT


Press, 2016.

HERLOCKER, Jonathan L.; KONSTAN, Joseph A.; TERVEEN, Loren G.; RIEDL,
John T. Evaluating collaborative filtering recommender systems. ACM Trans. Inf.
Syst, 2004.

MANNING, Christopher; RAGHAVAN, Prabhakar; SCHÜTZE, Hinrich. Introduction


to information retrieval. Cambridge University Press. Cambridge, UK, 2008.

MITCHELL, Tom M. Machine Learning. ed. Portland, OR: Book News, Inc, 1997.

RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to


Recommender Systems Handbook. Springer, 2011, p. 1-35.

SAMUEL, Arthur L. Some Studies in Machine Learning Using the Game of


Checkers. IBM Journal, nov. 1967, p. 601.
26

TRENTINI, M.; PAIM, L. Pesquisa em Enfermagem. Uma modalidade


convergente-assistencial. Florianópolis: Editora da UFSC, 1999.

VAN RIJSBERGEN, C.J. Information retrieval. 2. Ed. Butterworths, London, 1979.

WILSON, Tom. Human information behavior. Informing Science, 2000.

Você também pode gostar