Sistema de recomendação: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Revertidas edições por 189.8.192.194, para a última versão por 187.11.142.100
Etiqueta: Ligações internas removidas
Linha 1:
== Contextualização ==
Um '''sistema de recomendação''' é um [[programa de computador]] que tenta prever o gosto de cada utilizador baseado em informação submetida por si e pelos restantes utilizadores.
Em resposta à dificuldade das pessoas em escolher entre uma grande variedade de produtos e serviços e entre as várias alternativas que lhe são apresentadas, surgem os '''sistemas de recomendação''' computacionais. A evolução destes sistemas e o fato deles trabalharem com grandes bases de informações permitiram que recomendações emergentes (não triviais) pudessem ser alcançadas, proporcionando ainda maior credibilidade que uma recomendação humana.
<br /><br />
Os proponentes de um dos primeiros sistemas de recomendação, denominado Tapestry, desenvolvido no início dos anos 90, criaram a expressão “Filtragem Colaborativa” visando designar um tipo de sistema específico no qual a filtragem da informação era realizada com o auxílio humano, ou seja, através da colaboração entre os grupos interessados. Vários pesquisadores acabaram adotando esta terminologia para denominar qualquer tipo de sistema de recomendação subseqüente. Resnick, no seu artigo, defendeu o termo “sistemas de recomendação” como terminologia mais genérica do que filtragem colaborativa, já que sistemas de recomendação podem existir sem nenhuma colaboração entre as pessoas.
 
== Sistemas de Recomendação como área de Pesquisa ==
== Processo de recomendação ==
As raízes dos sistemas de recomendação podem ser encontradas nos trabalhos extensivos das ciências cognitivas, teoria de aproximação, recuperação da informação, teoria de previsões e também possuem influências das ciências de administração e marketing. A área de sistemas de recomendação emergiu como uma área de pesquisa independente, no meio da década de 90, quando a partir do sistema de recomendação Tapestry, os pesquisadores passaram a focar em problemas de recomendação que explicitamente invocavam estruturas de avaliação (''ratings''). A partir deste momento surgiram os primeiros artigos sobre filtragem colaborativa, nos quais o problema foi formalizado primeiramente e desde então estudado intensamente.
O processo consiste nos seguintes passos:
#O usuário fornece ao sistema as suas opiniões sobre os itens que conhece;
#O sistema compara essas opiniões com as dos usuários restantes e seleciona os usuários com gostos mais parecidos;
#Baseando-se nos gostos dos usuários selecionados, o sistema sugere os itens que têm maior probabilidade de agradar;
#Se o usuário conhece alguns dos itens sugeridos, pode classificá-los e volta-se ao passo 2 permitindo obter sugestões mais viáveis.
 
== Formalização do Problema ==
== Princípios dos sistemas de recomendação ==
:'''Definição: ''' Seja '''''C''''' o conjunto de todos os usuários de um determinado sistema, e seja '''''S'''''' o conjunto de todos os possíveis itens que podem ser recomendados como livros, filmes, restaurantes etc. Seja ''u'' a função utilidade que mede o quão útil é um determinado item '''''s''''' para um determinado usuário '''''c''''', i.e., '''''u:C x S → R''''', onde '''''R''''' é um conjunto totalmente ordenado. Então, para cada usuário '''''c ∈ C''''', procura-se um item '''''s' ∈ S''''' que maximiza a utilidade do usuário. Isto pode ser expressado pela equação abaixo:
O livro Word of Mouse, escrito por John Riel e Joseph Konstan, prega que a revolução realizada pelos Sistemas de Recomendação nos negócios, principalmente nos negócios on-line, onde os dados são facilmente coletados, está baseada em um conjunto de oito princípios listados a seguir:
:::'''''∀ c ∈ C, s'<sub>c</sub> = argmax<sub>s∈S</sub> u(c,s)'''''
#Demonstrar conhecimento sobre os produtos;
 
#Ser um agente do cliente;
Em um sistema de recomendação a utilidade de um item é geralmente representada por uma avaliação que indica o quanto um determinado usuário gosta de um item (e.g. Rafaela deu ao filme "Harry Potter" a nota 7 em 10). No entanto, conforme descrito na definição acima, a função de utilidade pode ser uma função arbitrária.
#Manter excelentes serviços nos pontos de contato com o cliente;
<br /><br />
#Embalar produtos, não pessoas;
Cada elemento do espaço de usuários '''''C''''' pode ser definido através de um ''profile'' que inclui as características do usuário, como a sua idade, sexo, estado civil, renda, etc. No caso mais simples, o profile pode conter um único elemento como o User ID. Da mesma forma, cada item do espaço '''''S''''' pode ser definido por um conjunto de características. Por exemplo, na recomendação de filmes, na qual '''''S''''' é a coleção de filmes, cada filme pode ser representado não apenas pelo seu ID, mas também pelo seu título, gênero, diretor, ano de lançamento, atores principais, etc.
#Olhar o que faço;
<br /><br />
#Revolucionar o gerenciamento do conhecimento;
O problema central dos sistemas de recomendação reside no fato da utilidade '''''u''''' geralmente não ser definida em todo o espaço '''''C x S''''', mas apenas em um subconjunto deste. Isto significa que '''''u''''' precisa ser extrapolado para todo o espaço '''''C x S'''''. Geralmente em sistemas de recomendação, a utilidade é definida através de avaliações, e estas são definidas apenas nos itens previamente avaliados pelos usuários. Deste modo, o algoritmo de recomendação deve ser capaz de estimar (predizer) as avaliações não realizadas para os pares ''usuário-item'' e de fazer recomendações apropriadas baseadas nestas predições.
#Usar comunidades para criar conteúdo;
<br /><br />
#Transformar as próprias comunidades em conteúdo.
A extrapolação de avaliações conhecidas para avaliações inexistentes é geralmente feita pela 1) especificação de ''heurísticas'' que definem a função utilidade e validam empiricamente sua performance e 2) pelas ''estimativas'' da função utilidade através da otimização de algum critério de performance como o ''mean square error''. Assim que avaliações desconhecidas são estimadas, o sistema de recomendação seleciona aquelas com maiores avaliações para serem recomendadas.
<br /><br />
A predição de avaliações de itens ainda não avaliados pode ser feita de diferentes formas utilizando métodos de aprendizado de máquinas, teorias de aproximação e vários tipos de heurísticas. Os sistemas de recomendação são classificados de acordo com o método de predição utilizado, o que auxilia na pesquisa da área. Esta classificação é feita usualmente em três categorias propostas inicialmente por Shoham e Balabanovic [1997]. Contudo, a explicação de cada uma delas vem sendo complementada pelos diversos trabalhos conduzidos desde então:
 
* '''Recomendações Baseadas em Conteúdo''': O usuário receberá recomendações de itens similares a itens preferidos no passado;
* '''Recomendações Colaborativas''': O usuário receberá recomendações de itens que pessoas com gostos similares aos dele preferiram no passado. Este método é subdividido em duas catergorias: a primeira chamada de ''memory-based'', e a segunda chamada de ''model-based'';
* '''Métodos Híbridos''': Estes métodos combinam tanto estratégias de recomendação baseadas em conteúdo quanto estratégias baseadas em colaboração.
 
== Avaliação de Sistemas de Recomendação ==
Na caracterização dos sistemas de recomendação como uma área de pesquisa científica, é fundamental entender as metodologias para avaliação dos sistemas. Uma forma eficaz para a avaliação de sistemas de recomendação é através da comparação das predições realizadas com as respectivas avaliações reais de usuários para as instâncias preditas. Este tipo de avaliação era considerada custosa e difícil antes do surgimento das grandes empresas de comércio eletrônico, que possuem grandes bases de dados com milhares de usuários e itens. Desta forma, com a supressão de uma determinada avaliação já feita, o sistema de recomendação é utilizado para fazer uma determinada predição e, então, esta é comparada com a avaliação real.
<br /><br />
A obtenção de métricas para aferir o desempenho de um sistema de recomendação antes de uma ampla utilização comercial é fundamental para verificar se as predições realizadas serão adequadas para o propósito em questão. A seguir são apresentadas quatro das principais métricas utilizadas na literatura para a avaliação de sistemas de recomendação:
 
* Precisão I (''Precision''): A precisão de um sistema indica a quantidade de itens recomendados que são do interesse do usuário em relação ao conjunto de todos os itens que lhe são recomendados.
* Precisão II: A precisão de um sistema indica o quanto uma predição é próxima da avaliação real feita pelo usuário. Esta aferição só é possível de ser feita conforme ensaio explicado no início desta seção.
* Recuperação (''Recall''): O índice de recuperação indica a quantidade de itens de interesse do usuário que aparecem na lista de recomendações.
* Cobertura (''Coverage''): A cobertura é a proporção de itens que são passíveis de serem recomendados em relação ao conjunto de todos os itens conhecidos pelo sistema de recomendação.
 
== Sistemas de recomendação mais utilizados ==
No Brasil oexistem principalalguns serviçoserviços comercialcomerciais de recomendação écomo o [http://www.chaordic.com.br RaaS] da empresa [http://www.chaordic.com.br CHAORDIC] e o [http://www.tuilux.com.br TUILUX],. masO sistema desenvolvido pela CHAORDIC participou do concurso internacional [http://www.netflixprize.com Netflix Prize] conseguindo ficar entre os 100 melhores colocados do mundo e o melhor classificado da América Latina. segundoSegundo o [http://www.alexa.com Alexa], há sistemas de recomendação com elevado tráfego desenvolvidos para uso dedicado as suas empresas, como:
*[[Filmes]]
**[http://www.cinedica.com.br CineDica]
Linha 37 ⟶ 53:
**[http://www.musicstrands.com Musicstrands]
**[http://www.palcoprincipal.com/main/sistemaSugestao Palco Principal]
<br/><br/>
<ref>Goldberg, D., Nichols, D., Oki, B. M. and Terry, D. [1992]. Using collaborative filtering to weave an information tapestry, Communications of the ACM 35.</ref>
<ref>Resnick, P. and Varian, H. R. [1997]. Recommender Systems, Communications of the ACM 40.</ref>
<ref>Armstrong, J. S. [2001]. Principals of Forecasting, Springer, New York, NY, USA.</ref>
<ref>Murthi, B. P. S. and Sarkar, S. [2003]. The role of the management sciences in research on personalization, Manage. Sci. 49.</ref>
<ref>Hill, W., Stead, L.,Rosenstein, M. and Furnas, G. [1995]. Recommending and evaluating choices in a virtual community of use, CHI '95: Proceedings of the SIGCHI conference on Human factors in computing systems, ACM Press/Addison-Wesley Publishing Co., New York, NY, USA.</ref>
<ref>Shoham, Y. and Balabanovic, M. [1997]. Content-based, collaborative recommendation, Communications of the ACM 40</ref>
<ref>Sarwar, B., Karypis, G., Konstan, J. and Riedl, J. [2001]. Item-based collaborative filtering recommendation Algorithms, WWW10 Conference.</ref>
 
<references/>
 
[[Categoria:WWW]]