Pregunta

Me preguntaba si existe algún marco de código abierto que me ayude a incluir el siguiente tipo de funcionalidad en mi sitio web:

1) Si estoy viendo un producto en particular, me gustaría ver qué otros productos pueden ser interesantes para mí. Esta información puede deducirse calculando, por ejemplo, lo que otras personas en mi región (o cualquier otra característica de mi perfil) compraron además del producto que estoy viendo. Algo así como lo que hace Amazon.com.

2) Deduzca las relaciones entre las personas en función de su perfil, la interacción entre ellos en el sitio web (mediante comentarios en las publicaciones de los demás, por ejemplo), el uso del sitio web en términos de áreas más navegadas, productos comprados en común, etc.

No estoy buscando un sitio web de código abierto con esta funcionalidad, sino algo así como un modelo de objeto en el que pueda alimentar información sobre los usuarios y su uso del sitio, incluidas las reglas sobre las relaciones y, en un momento posterior, formularle las preguntas descritas en (1) y (2) arriba.

Cualquier sugerencia de documentos técnicos / información general sobre los mejores enfoques para hacer esto, o cualquier enlace relacionado realmente ayudará también.

¿Fue útil?

Solución

(Soy el desarrollador de Taste, que ahora forma parte de Apache Mahout )

1) Realmente estás pidiendo dos cosas aquí:  a) Recomendar artículos que me puedan gustar  b) Favorecer elementos que son similares a lo que estoy viendo actualmente.

De hecho, Mahout Taste se trata de responder a). Todo lo que hace es compatible con sistemas como este. Eche un vistazo a la documentación para comenzar y haga cualquier pregunta al usuario de mahout @ apache.org.

Para 1b) en particular, Mahout tiene dos respuestas:

Si solo está interesado en qué elementos son similares al elemento actual, le interesaría la abstracción ItemSimilarity en Mahout ( org.apache.mahout.cf.taste.similarity .ItemSimilarity ) y sus implementaciones, como PearsonCorrelationSimilarity . Según un conjunto de clasificaciones de elementos de usuario, esto podría indicarle una similitud estimada entre dos elementos. Entonces simplemente elegirías los artículos más similares. De hecho, mire la clase TopItems en Mahout que puede resolver esto rápidamente.

Pero también, puede combinar a) yb) calculando recomendaciones, luego aplicando una implementación de Rescorer que luego favorece elementos que son similares al elemento actualmente visualizado.

2) Sí, igualmente, le interesaría la abstracción, las implementaciones, etc. de UserSimilarity . Esto deduciría similitudes en función de las clasificaciones de los elementos. Sin embargo, Mahout no le ayuda a deducir estas calificaciones al observar, por ejemplo, el comportamiento del usuario. Esto es específico del dominio y depende de usted.

Suena confuso: lee los documentos y no dudes en seguirnos en mahout-user@apache.org donde puedo contarte más.

Otros consejos

Estoy investigando el mismo tema, ya que estoy trabajando en un proyecto para ayudar a las personas a decidir cómo votar sobre las complicadas medidas de votación de California. Aquí hay algunos motores de filtrado colaborativo de código abierto que he encontrado:

También hay una buena visión general de estos motores aquí .

También existe el Duine framework y OpenSlopeOne . Pero en mi opinión, Mahout sigue siendo el mejor. Puede encontrar una encuesta sobre los sistemas de recomendación de código abierto aquí:

http://girlincomputerscience.blogspot.com. br / 2012/11 / open-source-advice-systems.html

¡Espero que ayude!

Puede encontrar una Lista de sistemas de recomendación aquí

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