Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Recommendation

Las recomendaciones personalizadas se utilizan ampliamente para una variedad de casos de uso en dispositivos móviles, como la recuperación de contenido multimedia, la sugerencia de productos de compra y la siguiente recomendación de aplicación. Si está interesado en brindar recomendaciones personalizadas en su aplicación respetando la privacidad del usuario, le recomendamos que explore el siguiente ejemplo y kit de herramientas.

Empezar

Proporcionamos una aplicación de muestra TensorFlow Lite que demuestra cómo recomendar elementos relevantes a los usuarios de Android.

Ejemplo de Android

Si está utilizando una plataforma que no sea Android, o si ya está familiarizado con las API de TensorFlow Lite, puede descargar nuestro modelo de recomendación para principiantes.

Descargar modelo de inicio

También proporcionamos un script de entrenamiento en Github para entrenar su propio modelo.

Código de entrenamiento

Comprender la arquitectura del modelo

Aprovechamos una arquitectura de modelo de codificador dual, con codificador de contexto para codificar el historial de usuario secuencial y codificador de etiquetas para codificar el candidato de recomendación predicho. La similitud entre el contexto y las codificaciones de etiquetas se utiliza para representar la probabilidad de que el candidato previsto satisfaga las necesidades del usuario.

Con esta base de código se proporcionan tres técnicas diferentes de codificación secuencial del historial del usuario:

  • Codificador de bolsa de palabras (BOW): promedia las incrustaciones de las actividades del usuario sin considerar el orden del contexto.
  • Codificador de redes neuronales convolucionales (CNN): aplicación de múltiples capas de redes neuronales convolucionales para generar codificación de contexto.
  • Codificador de red neuronal recurrente (RNN): aplicación de red neuronal recurrente para codificar la secuencia de contexto.

Ejemplos

ID de entrada:

  • Matriz (ID: 260)
  • Salvando al soldado Ryan (ID: 2028)
  • (y más)

ID de salida:

  • Star Wars: Episodio VI - El regreso del Jedi (ID: 1210)
  • (y más)

Benchmarks de desempeño

Los números de referencia de rendimiento se generan con la herramienta que se describe aquí .

Nombre del modelo Tamaño del modelo Dispositivo UPC
recomendación 0,52 Mb Pixel 3 0,09 ms *
Pixel 4 0,05 ms *

* 4 hilos utilizados.

Usa tus datos de entrenamiento

Además del modelo entrenado, proporcionamos un kit de herramientas de código abierto en GitHub para entrenar modelos con sus propios datos. Puede seguir este tutorial para aprender a usar el kit de herramientas e implementar modelos entrenados en sus propias aplicaciones móviles.

Siga este tutorial para aplicar la misma técnica que se utiliza aquí para entrenar un modelo de recomendación con sus propios conjuntos de datos.

Consejos para la personalización del modelo con sus datos

El modelo preentrenado integrado en esta aplicación de demostración se entrena con el conjunto de datos MovieLens ; es posible que desee modificar la configuración del modelo en función de sus propios datos, como el tamaño del vocabulario, la incorporación de atenuaciones y la longitud del contexto de entrada. Aquí hay algunos consejos:

  • Longitud del contexto de entrada: la mejor longitud del contexto de entrada varía con los conjuntos de datos. Sugerimos seleccionar la longitud del contexto de entrada en función de cuánto se correlacionan los eventos de etiqueta con los intereses a largo plazo frente al contexto a corto plazo.

  • Selección del tipo de codificador: sugerimos seleccionar el tipo de codificador según la longitud del contexto de entrada. El codificador de bolsa de palabras funciona bien para una longitud de contexto de entrada corta (por ejemplo, <10), los codificadores CNN y RNN brindan más capacidad de resumen para una longitud de contexto de entrada larga.