Pregunta

He leído el libro Programación de Inteligencia Colectiva y lo encontré fascinante.Recientemente escuché sobre un desafío que Amazon había publicado al mundo para crear un mejor motor de recomendación para su sistema.

Aparentemente, el ganador produjo el mejor algoritmo al limitar la cantidad de información que se le suministraba.

Como primera regla general, supongo..."Más información no es necesariamente mejor cuando se trata de algoritmos difusos".

Sé que es subjetivo, pero en última instancia es algo medible (clics en respuesta a recomendaciones).

Dado que la mayoría de nosotros tratamos con la web en estos días y la búsqueda puede considerarse una forma de recomendación...Sospecho que no soy el único que apreciaría las ideas de otras personas sobre esto.

En una palabra, "¿Cuál es la mejor manera de generar una recomendación?"

¿Fue útil?

Solución

No desea utilizar "popularidad general" a menos que no tenga información sobre el usuario.En su lugar, desea alinear a este usuario con usuarios similares y asignarle el peso correspondiente.

Esto es exactamente lo que Inferencia bayesiana hace.En inglés, significa ajustar la probabilidad general de que te guste algo (la calificación promedio) con las calificaciones de otras personas. que generalmente también votan a tu manera.

Otro consejo, pero esta vez ad hoc:Creo que hay personas a las que si les gusta algo, casi seguro que les gustaré. no gusta.No sé si este efecto es real o imaginario, pero podría ser divertido crear una especie de "efecto negativo" en lugar de simplemente agrupar a las personas por similitud.

Finalmente hay una empresa especializada exactamente en esto llamada matriz de sentido.El propietario (Ian Clarke de fama freenet) es muy accesible.Puedes usar mi nombre si lo llamas.

Otros consejos

Existe toda un área de investigación en informática dedicada a este tema.Yo sugeriría leer algunos artículos.

De acuerdo con @Ricardo.Esta pregunta es demasiado amplia, como preguntar "¿Cuál es la mejor manera de optimizar un sistema?"

Una característica común a casi todos los motores de recomendación existentes es que hacer la recomendación final se reduce a multiplicar una cierta cantidad de matrices y vectores.Por ejemplo, multiplique una matriz que contenga ponderaciones de proximidad entre usuarios por un vector de calificaciones de elementos.

(¡Por supuesto que debes estar preparado para que la mayoría de tus vectores sean muy escasos!)

Seguramente mi respuesta es demasiado tarde para @Allain, pero para otros usuarios que encuentren esta pregunta a través de la búsqueda, envíenme un mensaje privado y hagan una pregunta más específica y me aseguraré de responder.

(Diseño motores de recomendación de forma profesional).

@Lao Tzu, estoy de acuerdo contigo.

En mi opinión, los motores de recomendación se componen de:

  • Entrada de contexto alimentada desde sistemas conscientes del contexto (registrando todos sus datos)
  • Razonamiento lógico para filtrar lo más obvio
  • Sistemas expertos que mejoran sus datos subjetivos durante un período de tiempo en función de entradas de contexto, y
  • Razonamiento probabilístico para tomar decisiones cercanas a la proximidad basándose en la suma ponderada de acciones previas (creencias, deseos e intenciones).

PDHice ese motor de recomendaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top