def recomendaciones_xti(usuario): # Se generan las lista que se van a presentar en el index nombre_usuario = ( usuario.Nombre.encode("utf-8").lower().capitalize() + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ) ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() listas_productos = [] configuracion_layout = Listas_recomendadores_config.objects.all().order_by("secuencia") for cada_c in configuracion_layout: titulo = cada_c.titulo_interfaz algoritmo = cada_c.algoritmo_recomendador longitud = cada_c.longitud_max parametro = cada_c.param if algoritmo == "calificados": # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados_rec(usuario, longitud) if len(productos_calificados) > 0: listas_productos.append({"titulo": titulo, "productos": productos_calificados}) else: print "No hay productos en Productos que has calificado" elif algoritmo == "comentados_ciudad": # Recomendaciones lo mas comentado en tu ciudad productos_comentados_ciudad = busqueda.productos_comentados_ciudad(longitud, ciudad_usuario) if len(productos_comentados_ciudad) > 0: listas_productos.append({"titulo": titulo, "productos": productos_comentados_ciudad}) else: print "No hay productos en Lo más comentado en tu ciudad" elif algoritmo == "reglas_perfil": # Recomendaciones por perfil productos_perfil = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) if len(productos_perfil) > 0: listas_productos.append({"titulo": titulo, "productos": productos_perfil}) else: print "No hay productos en Recomendaciones a tu pefil" elif algoritmo == "nuevos": # Alianzas nuevas en tu ciudad productos_nuevos = busqueda.productos_nuevos(longitud, parametro) if len(productos_nuevos) > 0: listas_productos.append({"titulo": titulo, "productos": productos_nuevos}) else: print "No hay productos en Nuevas alianzas X-ti" elif algoritmo == "usuario_similar_demografico": # Recomendaciones usuarios socialmente similares productos_usuarios_similares = recomendaciones_contenido.recomendaciones_usuarios_similares( usuario, longitud ) if len(productos_usuarios_similares) > 0: listas_productos.append({"titulo": titulo, "productos": productos_usuarios_similares}) else: print "No hay productos en Usuarios como tú recomiendan" elif algoritmo == "productos_similares_gustado": # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares(usuario, longitud) if len(productos_similares) > 0: listas_productos.append({"titulo": titulo, "productos": productos_similares}) else: print "No hay productos en Productos similares a los que te han gustado" elif algoritmo == "filtrado_colaborativo": # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc(usuario, longitud) if len(productos_fc) > 0: listas_productos.append({"titulo": titulo, "productos": productos_fc}) else: print "No hay productos en Usuarios con gustos similares les han gustado" elif algoritmo == "hibrido": # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas( productos_fc, longitud ) if len(recomendaciones_predictivas) > 0: listas_productos.append({"titulo": titulo, "productos": recomendaciones_predictivas}) else: print "No hay productos en Productos interesantes para tí" return listas_productos
def recomendaciones_xti(usuario): #Se generan las lista que se van a presentar en el index nombre_usuario = usuario.Nombre.encode("utf-8").lower().capitalize() + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() listas_productos = [] # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados(usuario) if len(productos_calificados) > 0: listas_productos.append({'titulo': 'Productos que has calificado', 'productos': productos_calificados}) else: print "No hay productos en Productos que has calificado" # Recomendaciones lo mas comentado en tu ciudad productos_comentados_ciudad = busqueda.productos_comentados_ciudad(15, ciudad_usuario) if len(productos_comentados_ciudad) > 0: listas_productos.append({'titulo': 'Lo más comentado en tu ciudad', 'productos': productos_comentados_ciudad}) else: print "No hay productos en Lo más comentado en tu ciudad" # Recomendaciones por perfil productos_perfil = recomendaciones_conocimiento.recomendacion_por_reglas(usuario) if len(productos_perfil) > 0: listas_productos.append({'titulo': 'Recomendaciones a tu pefil', 'productos': productos_perfil}) else: print "No hay productos en Recomendaciones a tu pefil" # Alianzas nuevas en tu ciudad productos_nuevos = busqueda.productos_nuevos(15, 90) if len(productos_nuevos) > 0: listas_productos.append({'titulo': 'Nuevas alianzas X-ti', 'productos': productos_nuevos}) else: print "No hay productos en Nuevas alianzas X-ti" # Recomendaciones usuarios socialmente similares productos_usuarios_similares = recomendaciones_contenido.recomendaciones_usuarios_similares(usuario, 15) if len(productos_usuarios_similares) > 0: listas_productos.append({'titulo': 'Usuarios como tú recomiendan', 'productos': productos_usuarios_similares}) else: print "No hay productos en Usuarios como tú recomiendan" # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares(usuario) if len(productos_similares) > 0: listas_productos.append({'titulo': 'Productos similares a los que te han gustado', 'productos': productos_similares}) else: print "No hay productos en Productos similares a los que te han gustado" # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc(usuario) if len(productos_fc) > 0: listas_productos.append({'titulo': 'Usuarios con gustos similares les han gustado', 'productos': productos_fc}) else: print "No hay productos en Usuarios con gustos similares les han gustado" # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas(productos_fc) if len(recomendaciones_predictivas) > 0: listas_productos.append({'titulo': 'Productos interesantes para tí', 'productos': recomendaciones_predictivas}) else: print "No hay productos en Productos interesantes para tí" return listas_productos
def recomendaciones_xti(usuario): #Se generan las lista que se van a presentar en el index nombre_usuario = usuario.Nombre.encode("utf-8").lower().capitalize( ) + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() listas_productos = [] # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados( usuario) if len(productos_calificados) > 0: listas_productos.append({ 'titulo': 'Productos que has calificado', 'productos': productos_calificados }) else: print "No hay productos en Productos que has calificado" # Recomendaciones lo mas comentado en tu ciudad productos_comentados_ciudad = busqueda.productos_comentados_ciudad( 15, ciudad_usuario) if len(productos_comentados_ciudad) > 0: listas_productos.append({ 'titulo': 'Lo más comentado en tu ciudad', 'productos': productos_comentados_ciudad }) else: print "No hay productos en Lo más comentado en tu ciudad" # Recomendaciones por perfil productos_perfil = recomendaciones_conocimiento.recomendacion_por_reglas( usuario) if len(productos_perfil) > 0: listas_productos.append({ 'titulo': 'Recomendaciones a tu pefil', 'productos': productos_perfil }) else: print "No hay productos en Recomendaciones a tu pefil" # Alianzas nuevas en tu ciudad productos_nuevos = busqueda.productos_nuevos(15, 90) if len(productos_nuevos) > 0: listas_productos.append({ 'titulo': 'Nuevas alianzas X-ti', 'productos': productos_nuevos }) else: print "No hay productos en Nuevas alianzas X-ti" # Recomendaciones usuarios socialmente similares productos_usuarios_similares = recomendaciones_contenido.recomendaciones_usuarios_similares( usuario, 15) if len(productos_usuarios_similares) > 0: listas_productos.append({ 'titulo': 'Usuarios como tú recomiendan', 'productos': productos_usuarios_similares }) else: print "No hay productos en Usuarios como tú recomiendan" # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares( usuario) if len(productos_similares) > 0: listas_productos.append({ 'titulo': 'Productos similares a los que te han gustado', 'productos': productos_similares }) else: print "No hay productos en Productos similares a los que te han gustado" # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc( usuario) if len(productos_fc) > 0: listas_productos.append({ 'titulo': 'Usuarios con gustos similares les han gustado', 'productos': productos_fc }) else: print "No hay productos en Usuarios con gustos similares les han gustado" # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas( productos_fc) if len(recomendaciones_predictivas) > 0: listas_productos.append({ 'titulo': 'Productos interesantes para tí', 'productos': recomendaciones_predictivas }) else: print "No hay productos en Productos interesantes para tí" return listas_productos
def recomendaciones_xti(usuario): #Se generan las lista que se van a presentar en el index nombre_usuario = usuario.Nombre.encode("utf-8").lower().capitalize( ) + " " + usuario.Apellido_p.encode("utf-8").lower().capitalize() ciudad_usuario = usuario.Ciudad.encode("utf-8").lower().capitalize() contacto_usuario = usuario.Contacto.encode("utf-8").lower() listas_productos = [] configuracion_layout = Listas_recomendadores_config.objects.all().order_by( 'secuencia') for cada_c in configuracion_layout: titulo = cada_c.titulo_interfaz algoritmo = cada_c.algoritmo_recomendador longitud = cada_c.longitud_max parametro = cada_c.param if algoritmo == "calificados": # Carrusel de productos que te han gustado productos_calificados = recomendaciones_contenido.productos_calificados_rec( usuario, longitud) if len(productos_calificados) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_calificados }) else: print "No hay productos en Productos que has calificado" elif algoritmo == "comentados_ciudad": # Recomendaciones lo mas comentado en tu ciudad productos_comentados_ciudad = busqueda.productos_comentados_ciudad( longitud, ciudad_usuario) if len(productos_comentados_ciudad) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_comentados_ciudad }) else: print "No hay productos en Lo más comentado en tu ciudad" elif algoritmo == "reglas_perfil": # Recomendaciones por perfil productos_perfil = recomendaciones_conocimiento.recomendacion_por_reglas( usuario) if len(productos_perfil) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_perfil }) else: print "No hay productos en Recomendaciones a tu pefil" elif algoritmo == "nuevos": # Alianzas nuevas en tu ciudad productos_nuevos = busqueda.productos_nuevos(longitud, parametro) if len(productos_nuevos) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_nuevos }) else: print "No hay productos en Nuevas alianzas X-ti" elif algoritmo == "usuario_similar_demografico": # Recomendaciones usuarios socialmente similares productos_usuarios_similares = recomendaciones_contenido.recomendaciones_usuarios_similares( usuario, longitud) if len(productos_usuarios_similares) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_usuarios_similares }) else: print "No hay productos en Usuarios como tú recomiendan" elif algoritmo == "productos_similares_gustado": # Carrusel de productos similares productos_similares = recomendaciones_contenido.recomendacion_similares( usuario, longitud) if len(productos_similares) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_similares }) else: print "No hay productos en Productos similares a los que te han gustado" elif algoritmo == "filtrado_colaborativo": # Recomendaciones productos_fc productos_fc = recomendaciones_filtrado_colaborativo.recomendaciones_fc( usuario, longitud) if len(productos_fc) > 0: listas_productos.append({ 'titulo': titulo, 'productos': productos_fc }) else: print "No hay productos en Usuarios con gustos similares les han gustado" elif algoritmo == "hibrido": # Recomendaciones hibridas recomendaciones_predictivas = recomendaciones_filtrado_colaborativo.recomendaciones_hibridas( productos_fc, longitud) if len(recomendaciones_predictivas) > 0: listas_productos.append({ 'titulo': titulo, 'productos': recomendaciones_predictivas }) else: print "No hay productos en Productos interesantes para tí" return listas_productos