Filtragem Colaborativa.
Por Natã Melo
(nata.venancio.melo@gmail.com)
Sistemas de recomendação são massivamente utilizados com o intuito de sugerir produtos de interesse do usuário. Nesse contexto, insere-se a filtragem colaborativa, uma abordagem que relaciona usuários para recomendar conteúdos. Entenda como funciona essa abordagem.

Os sistemas de recomendação buscam determinar o conteúdo que deve ser apresentado para o usuário de forma relevante e são caracterizados por realizar filtragens baseadas em perfis de usuários, manipular grande quantidade de dados e trabalhar com informações não estruturadas. A Amazon, site de comércio eletrônico, e a Google News, site de notícias, são exemplos que utilizam sistemas de recomendação para sugerir conteúdo aos usuários.

A relação entre os principais tipos de entidade (usuário e conteúdo) é responsável pela recomendação. Para se recomendar um conteúdo (c) para determinado usuário (uC é o conjunto de conteúdo e ci pertencente a C, utiliza-se a seguinte função: F(u, c) = MAX F(u, ci), em que F representa a relevância de c para u. Portanto, se é conhecida a relevância de F para toda relação entre usuário e conteúdo, pode-se escolher um determinado conteúdo cy que maximiza F para um usuário u. Logo, cy é a melhor recomendação para u.

Pode-se determinar a função F utilizando as seguintes abordagens: as filtragens baseada em conteúdo e as filtragens colaborativas. A primeira relaciona conteúdos de interesse do usuário com conteúdos similares (que provavelmente também são do interesse do usuário). A segunda relaciona perfis semelhantes de usuários para só então recomendar o conteúdo. O foco desta matéria consiste em explicar como funciona uma das abordagens que utiliza filtragem colaborativa.

Uma das características da abordagem em estudo é oferecer recomendações direcionadas a um determinado grupo de usuários. A recomendação de conteúdos baseia-se nas classificações realizadas por outros usuários em um certo grupo, de acordo com a ordem de relevância dessas classificações.

Na filtragem colaborativa, o processo para identificar conteúdos relevantes a um usuário é chamado de k-nearest-neighbor e leva em consideração os seguintes critérios: Níveis de similaridade dos usuários com perfil semelhante a um determinado usuário; determinação de um novo grupo de usuários constituído pelos usuários com os maiores níveis de similaridade e definição dos conteúdos com maior relevância, a serem recomendados, baseada nas avaliações realizadas pelos usuários do novo grupo.

Considere o exemplo a seguir que ilustra a abordagem descrita. Na Tabela 1, são apresentadas as avaliações (notas de 0 a 10) de três usuários (primeira coluna) para quatro produtos (primeira linha).

[DVD] Aviões do Forró [DVD] Forró Pegado [CD] Swingueira Verão 2011 [Livro] Rock in Rio
Arthur 9 8 10 1
Natã 2 1 0 1
Savyo 10 - 8 2

Percebe-se, a partir da Tabela 1, que o usuário Savyo não realizou avaliação do produto "[DVD] Forró Pegado", entretanto, avaliou os produtos "[DVD] Aviões do Forró" e "[CD] Swingueira Verão 2011" com notas altas e o produto "[Livro] Rock in Rio" com nota baixa. Percebe-se, também, que uma avaliação semelhante a do usuário Savyo foi realizada pelo usuário Arthur, devido à proximidade das notas atribuídas aos produtos. Diante dessa situação e considerando a abordagem colaborativa, que recomenda produtos baseada nas avaliações realizadas por usuários similares, uma ótima recomendação para o usuário Savyo seria o "[DVD] Forró Pegado", uma vez que o usuário Arthur possui avaliações semelhantes a ele e avaliou esse produto muito bem.

Contudo, nem sempre é possível realizar boas recomendações, pois existem alguns problemas em sistemas de recomendação, como, por exemplo:

  • O usuário é novo no sistema e não existem avaliações realizadas por ele;
  • O usuário gosta de produtos que raramente são avaliados;
  • Impossibilidade de sugerir um produto novo até que pelo menos um usuário o avalie;
  • Dentre outros.

Alguns exemplos de aplicações que utilizam sistemas de recomendação são: Last.fm, Amazon, Submarino e BibSonomy. Para mais informações sobre o assunto, acesse: http://www.ime.usp.br/~cef/mac499-07/monografias/rec/allan-renato-sidney-victor/monografia.pdf e http://original.jamesthornton.com/cf/.

Jornal PETNews - Edição: Caio Paes - Revisão: Janderson Jason e Joseana Fechine
Grupo PET Computação UFCG, 2011. All rights reserved.