Pergunta

eu li o livro Programando Inteligência Coletiva e achei fascinante.Recentemente, ouvi falar de um desafio que a Amazon postou ao mundo para criar um mecanismo de recomendação melhor para seu sistema.

O vencedor aparentemente produziu o melhor algoritmo, limitando a quantidade de informações que lhe eram fornecidas.

Como primeira regra, eu acho..."Mais informações não são necessariamente melhores quando se trata de algoritmos difusos."

Eu sei que é subjetivo, mas, em última análise, é algo mensurável (cliques em resposta a recomendações).

Como a maioria de nós lida com a web hoje em dia e a pesquisa pode ser considerada uma forma de recomendação...Suspeito que não sou o único que apreciaria as ideias de outras pessoas sobre isso.

Em poucas palavras, "Qual é a melhor maneira de construir uma recomendação?"

Foi útil?

Solução

Você não deseja usar "popularidade geral", a menos que não tenha informações sobre o usuário.Em vez disso, você deseja alinhar esse usuário com usuários semelhantes e ponderá-lo de acordo.

Isso é exatamente o que Inferência Bayesiana faz.Em inglês, significa ajustar a probabilidade geral de você gostar de algo (a avaliação média) com as avaliações de outras pessoas que geralmente votam do seu jeito também.

Outro conselho, mas desta vez ad hoc:Acho que há pessoas que, se gostarem de alguma coisa, quase com certeza irei não gosto disso.Não sei se este efeito é real ou imaginário, mas pode ser divertido criar uma espécie de “efeito negativo” em vez de apenas agrupar as pessoas por semelhança.

Finalmente existe uma empresa especializada exatamente nisso chamada SenseArray.O dono (Ian Clarke de fama freenet) é muito acessível.Você pode usar meu nome se ligar para ele.

Outras dicas

Existe toda uma área de pesquisa em ciência da computação dedicada a esse assunto.Eu sugiro ler alguns artigos.

Concordo com @Ricardo.Esta questão é muito ampla, como perguntar “Qual é a melhor maneira de otimizar um sistema?”

Uma característica comum a quase todos os mecanismos de recomendação existentes é que fazer a recomendação final se resume a multiplicar um certo número de matrizes e vetores.Por exemplo, multiplique uma matriz contendo pesos de proximidade entre usuários por um vetor de classificações de itens.

(É claro que você precisa estar preparado para que a maioria dos seus vetores sejam super esparsos!)

Minha resposta certamente é tarde demais para @Allain, mas para outros usuários que encontrarem essa pergunta por meio de pesquisa - envie-me uma PM e faça uma pergunta mais específica e com certeza responderei.

(Eu projeto mecanismos de recomendação profissionalmente.)

@Lao Tzu, concordo com você.

Na minha opinião, os motores de recomendação são compostos por:

  • Entrada de contexto alimentada por sistemas sensíveis ao contexto (registrando todos os seus dados)
  • Raciocínio lógico para filtrar o mais óbvio
  • Sistemas especialistas que melhoram seus dados subjetivos ao longo do período com base em entradas de contexto e
  • Raciocínio probabilístico para tomar decisões próximas com base na soma ponderada de ações anteriores (crenças, desejos e intenções).

P.S.Eu fiz esse mecanismo de recomendação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top