tesis sistemas sistema recomendación recomendacion filtrado ejemplos colaborativo c# asp.net database algorithm database-design

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



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.