c# - sistemas - ¿Cómo construir un sistema de recomendación simple?
sistema de recomendacion tesis (5)
¿Cómo construir un sistema de recomendación simple? He visto algunos algoritmos, pero es tan difícil de implementar que desearía que fuera una descripción práctica para implementar el algoritmo más simple.
tengo estas tres tablas
Users
userid username
1 aaa
2 bbb
y
products
productid productname
1 laptop
2 mobile phone
3 car
y
users_products
userid productid
1 1
1 3
3 2
2 3
así que quiero poder recomendar artículos para cada uno de los usuarios dependiendo de los artículos que compraron y los artículos de otros usuarios
Sabía que algo así como calcular las similitudes entre los usuarios y luego ver sus extensiones, pero ¿cómo se puede hacer esto y almacenar en una base de datos porque esto requerirá una tabla con algo como esto
1 2 3 4 5 6 << users'' ids
1) 1 .4 .2 .3 .8 .4
2) .3 1 .5 .7 .3 .9
3) .4 .4 1 .8 .2 .3
4) .6 .6 .6 1 .4 .2
5) .8 .7 .4 .2 1 .3
6) 1 .4 .6 .7 .9 1
^
^
users''
ids
Entonces, ¿cómo se puede calcular una similitud entre los usuarios? y ¿cómo podría esta información compleja almacenada en la base de datos publicitaria? (requiere una tabla con columna para cada usuario)? Gracias
La forma en que desea almacenar realmente las recomendaciones es una pregunta que no tiene relación con la forma en que realmente se implementaría un motor de recomendación. Lo dejo a la arquitectura de su base de datos. En la recomendación.
Usted dijo "simple", por lo que un coeficiente de correlación de Pearson podría ser lo que necesita para leer.
Calcular tal cosa es completamente simple. Concepto , código de ejemplo .
La tabla se puede almacenar en tres columnas
user_left
user_top
correlation
(No tengo experiencia en determinar la correlación, sin embargo)
Seguramente no necesita una columna para cada usuario. Necesita una matriz de correlación, eso es cierto, pero una tabla de base de datos real es innecesaria. En su lugar, puedes imponerlo como
table: user_correlation_matrix
columns: user1_id user2_id correlation_factor
Tal vez leer "Programación de la inteligencia colectiva" te ayudará.
Vi esto en uno de los libros de Joe Celko. Creo que es este Aquí . No tengo acceso al mío en este momento. Intenta dirigirte a una cerca de Barnes & Noble o Borders y échale un vistazo. Voy a cavar el mío tan pronto como tenga acceso y seguimiento.