Empezar a usar las recomendaciones de contenido multimedia

Puedes crear rápidamente una aplicación de recomendaciones de contenido multimedia de vanguardia. Las recomendaciones de contenido multimedia permiten a tus audiencias descubrir contenido más personalizado, como qué ver o leer a continuación, con resultados de calidad de Google que se personalizan en función de los objetivos de optimización.

Para obtener información general sobre Vertex AI Search para medios, consulta la introducción a la búsqueda y las recomendaciones de contenido multimedia.

En este tutorial de introducción, usarás el conjunto de datos Movielens para mostrar cómo subir tu catálogo de contenido multimedia y tus eventos de usuario a Vertex AI Search, así como para entrenar un modelo de recomendación de películas personalizado. El conjunto de datos Movielens contiene un catálogo de películas (documentos) y valoraciones de películas de usuarios (eventos de usuario).

En este tutorial, entrenarás un modelo de recomendación del tipo Otros que te podrían interesar optimizado para el porcentaje de clics (CTR). Una vez entrenado, el modelo puede recomendar películas en función de un ID de usuario y de una película de referencia.

Para cumplir los requisitos de datos mínimos del modelo, cada valoración positiva de una película (4 o más) se trata como un evento de visualización de elemento.

Tiempo estimado para completar este tutorial:

Si has completado el tutorial Empezar a usar la búsqueda de contenido multimedia y aún tienes el almacén de datos (nombre sugerido: quickstart-media-data-store), puedes usarlo en lugar de crear otro. En este caso, deberías empezar el tutorial en la sección Crear una aplicación de recomendaciones de contenido multimedia.

Objetivos

  • Consulta cómo importar documentos multimedia y datos de eventos de usuario de BigQuery a Vertex AI Search.
  • Entrena y evalúa modelos de recomendación.

Antes de seguir este tutorial, asegúrate de haber completado los pasos que se indican en la sección Antes de empezar.


Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:

Guíame


Antes de empezar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the AI Applications, Cloud Storage, BigQuery APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Discovery Engine Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Conceder acceso.
    4. En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.

    5. En la lista Selecciona un rol, elige un rol.
    6. Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
    7. Haz clic en Guardar.
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the AI Applications, Cloud Storage, BigQuery APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: Discovery Engine Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Conceder acceso.
    4. En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.

    5. En la lista Selecciona un rol, elige un rol.
    6. Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
    7. Haz clic en Guardar.
  10. Preparar el conjunto de datos

    Usarás Cloud Shell para importar el conjunto de datos Movielens y reestructurarlo para Vertex AI Search for media.

    Abre Cloud Shell

    1. Abre la Google Cloud consola.
    2. Selecciona tu proyecto de Google Cloud .
    3. Anota el ID del proyecto en la tarjeta Información del proyecto de la página del panel de control. Necesitará el ID del proyecto para los siguientes procedimientos.
    4. Haz clic en el botón Activar Cloud Shell situado en la parte superior de la consola. Se abrirá una sesión de Cloud Shell dentro de un nuevo marco en la parte inferior de laGoogle Cloud consola y se mostrará en ella un mensaje de la línea de comandos. Para ver otras formas de iniciar Cloud Shell, consulta Iniciar Cloud Shell.

      Cloud Shell

    Importar el conjunto de datos

    El conjunto de datos Movielens está disponible en un segmento público de Cloud Storage para facilitar su importación.

    1. Ejecuta el siguiente comando con el ID de tu proyecto para definir el proyecto predeterminado de la línea de comandos.

      gcloud config set project PROJECT_ID
      
    2. Crea un conjunto de datos de BigQuery:

      bq mk movielens
      
    3. Carga movies.csv en una tabla de BigQuery movies nueva:

      bq load --skip_leading_rows=1 movielens.movies \
        gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
        movieId:integer,title,genres
      
    4. Carga ratings.csv en una tabla de BigQuery ratings nueva:

      bq load --skip_leading_rows=1 movielens.ratings \
        gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \
        userId:integer,movieId:integer,rating:float,time:timestamp
      

    Crear vistas de BigQuery

    En este paso, reestructuras el conjunto de datos de Movielens para que siga el formato esperado de las recomendaciones de contenido multimedia.

    Para crear un modelo, las recomendaciones de contenido multimedia requieren datos de eventos de usuario. En esta guía, creará eventos view-item falsos durante los últimos 90 días a partir de valoraciones positivas (>= 4).

    1. Crea una vista que convierta la tabla de películas en el esquema Documentdefinido por Google:

      bq mk --project_id=PROJECT_ID \
       --use_legacy_sql=false \
       --view '
        WITH t AS (
          SELECT
            CAST(movieId AS string) AS id,
            SUBSTR(title, 0, 128) AS title,
            SPLIT(genres, "|") AS categories
            FROM `PROJECT_ID.movielens.movies`)
          SELECT
            id, "default_schema" as schemaId, null as parentDocumentId,
            TO_JSON_STRING(STRUCT(title as title, categories as categories,
            CONCAT("http://mytestdomain.movie/content/", id) as uri,
            "2023-01-01T00:00:00Z" as available_time,
            "2033-01-01T00:00:00Z" as expire_time,
            "movie" as media_type)) as jsonData
          FROM t;' \
      movielens.movies_view
      

      Ahora, la nueva vista tiene el esquema que espera la API AI Applications.

    2. Ve a la página BigQuery de la consola de Google Cloud .

      Ir a BigQuery

    3. En el panel Explorador, despliega el nombre de tu proyecto, el conjunto de datos movielens y haz clic en movies_view para abrir la página de consulta de esta vista.

      Vista Productos

    4. Vaya a la pestaña Explorador de tablas.

    5. En el panel Consulta generada, haz clic en el botón Copiar en consulta. Se abrirá el editor de consultas.

    6. Haz clic en Ejecutar para ver los datos de la película en la vista que has creado.

    7. Crea eventos de usuario ficticios a partir de las valoraciones de películas ejecutando el siguiente comando de Cloud Shell:

      bq mk --project_id=PROJECT_ID \
       --use_legacy_sql=false \
       --view '
       WITH t AS (
        SELECT
          MIN(UNIX_SECONDS(time)) AS old_start,
          MAX(UNIX_SECONDS(time)) AS old_end,
          UNIX_SECONDS(TIMESTAMP_SUB(
          CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start,
          UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end
        FROM `PROJECT_ID.movielens.ratings`)
        SELECT
          CAST(userId AS STRING) AS userPseudoId,
          "view-item" AS eventType,
          FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez",
          TIMESTAMP_SECONDS(CAST(
            (t.new_start + (UNIX_SECONDS(time) - t.old_start) *
            (t.new_end - t.new_start) / (t.old_end - t.old_start))
          AS int64))) AS eventTime,
          [STRUCT(movieId AS id, null AS name)] AS documents,
        FROM `PROJECT_ID.movielens.ratings`, t
        WHERE rating >= 4;' \
        movielens.user_events
      

    Activar aplicaciones de IA

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Aplicaciones de IA

    2. Opcional: Haz clic en Permitir que Google muestree selectivamente las entradas y las respuestas del modelo.

    3. Haz clic en Continuar y activar la API.

    Crear una aplicación de recomendaciones de contenido multimedia

    Los procedimientos de esta sección te guiarán para crear y desplegar una aplicación de recomendaciones de contenido multimedia.

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Aplicaciones de IA

    2. Haz clic en Crear aplicación.

    3. En la página Crear aplicación, en Recomendaciones de contenido multimedia, haz clic en Crear.

    4. En el campo Nombre de la aplicación, escribe el nombre de tu aplicación, como quickstart-media-recommendations. El ID de tu aplicación aparece debajo del nombre de la aplicación.

    5. En Tipo de recomendación, comprueba que la opción Otros que te pueden gustar esté seleccionada.

    6. En Objetivo de negocio, comprueba que esté seleccionada la opción Porcentaje de clics (CTR).

    7. Haz clic en Continuar.

    8. Crea un almacén de datos.

      1. En la página Almacenes de datos, haga clic en Crear almacén de datos.

      2. Introduce un nombre visible para tu almacén de datos, como quickstart-media-data-store, y haz clic en Crear.

    9. Selecciona el almacén de datos que acabas de crear y, a continuación, haz clic en Crear para crear tu aplicación.

    Importación de datos

    A continuación, importa los datos de películas y eventos de usuario que se han formateado anteriormente.

    Importar documentos

    Importa el documento movies_view creado en la sección Crear vistas de BigQuery a tu almacén de datos quickstart-media-data-store.

    1. En Fuentes nativas, en la página Importar documentos, selecciona BigQuery.

    2. Introduce el nombre de la movies vista de BigQuery que has creado y haz clic en Importar.

      PROJECT_ID.movielens.movies_view
      
    3. Espera a que se importen todos los documentos (unos 15 minutos). Cuando se complete, debería haber 86.537 documentos.

      Puede consultar el estado de la operación de importación en la pestaña Actividad. Cuando la importación se haya completado, el estado de la operación cambiará a Completado.

    Importar eventos de usuario

    Importa los registros de user_events creados en la sección Crear vistas de BigQuery a tu almacén de datos.

    1. En la pestaña Eventos, haz clic en Importar eventos.

    2. En Fuentes nativas de la página Importar documentos, selecciona BigQuery.

    3. Escriba el nombre de la user_events vista de BigQuery que ha creado y haga clic en Importar.

      PROJECT_ID.movielens.user_events
      
    4. Espere a que se hayan importado al menos un millón de eventos antes de continuar con el siguiente paso para cumplir los requisitos de datos para entrenar un nuevo modelo.

      Puede consultar el estado de la operación en la pestaña Actividad. El proceso tarda aproximadamente una hora en completarse porque estás importando millones de filas.

    5. Para comprobar si se cumplen los requisitos, vaya a la pestaña Calidad de los datos > Requisitos. Aunque ya se hayan importado los eventos de usuario, puede que la pestaña Requisitos tarde un poco en actualizar su estado a Requisitos de datos cumplidos.

    Entrenar el modelo de recomendación

    1. Ve a la página Configuraciones.

    2. Haz clic en la pestaña Publicación. Ya se ha creado una configuración de publicación.

      Si quieres ajustar la Rebajada de recomendaciones o la Diversificación de resultados, puedes hacerlo en esta página.

    3. Haz clic en la pestaña Entrenamiento.

      Una vez que se cumplan los requisitos de datos, el modelo empezará a entrenarse automáticamente. En esta página puedes ver el estado del entrenamiento y la puesta a punto.

      El modelo puede tardar un par de días en entrenarse y estar listo para recibir consultas. El campo Listo para consultar indica cuando el proceso se ha completado. Debes actualizar la página para ver el cambio de No a .

    Previsualizar recomendaciones

    Una vez que el modelo esté listo para recibir consultas:

    1. En el menú de navegación, haz clic en Vista previa.

    2. Haz clic en el campo ID del documento. Aparecerá una lista de IDs de documentos.

    3. Introduce el ID de un documento de origen (película), como 4993 para "El Señor de los Anillos: la comunidad del anillo (2001)".

      Introduzca el ID

    4. Seleccione el nombre de la configuración de publicación en el menú desplegable.

    5. Haz clic en Obtener recomendaciones. Aparecerá una lista de documentos recomendados.

    Implementar una aplicación para datos estructurados

    No hay ningún widget de recomendaciones para desplegar tu aplicación. Para probarla antes del despliegue, haz lo siguiente:

    1. Ve a la página Datos, a la pestaña Documentos y copia el ID de un documento.

    2. Ve a la página Integración. Esta página incluye un comando de ejemplo para el método servingConfigs.recommend de la API REST.

    3. Pega el ID de documento que has copiado anteriormente en el campo Document ID (ID de documento).

    4. Deje el campo ID de usuario seudonimizado tal cual.

    5. Copia la solicitud de ejemplo y ejecútala en Cloud Shell.

    Para obtener ayuda sobre cómo integrar la aplicación de recomendaciones en tu aplicación web, consulta los ejemplos de código en Obtener recomendaciones de contenido multimedia.

    Limpieza

    Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.

    Puedes reutilizar el almacén de datos que has creado para la búsqueda de contenido multimedia en el tutorial Empezar a usar la búsqueda de contenido multimedia. Prueba ese tutorial antes de seguir este procedimiento de limpieza.

    1. Para evitar cargos innecesarios, usa la Google Cloud console para eliminar tu proyecto si no lo necesitas. Google Cloud
    2. Si has creado un proyecto para aprender sobre las aplicaciones de IA y ya no lo necesitas, elimínalo.
    3. Si has usado un proyecto, elimina los recursos que hayas creado para evitar que se apliquen cargos en tu cuenta. Google Cloud Para obtener más información, consulta Eliminar una aplicación.
    4. Sigue los pasos que se indican en Desactivar Vertex AI Search.
    5. Si has creado un conjunto de datos de BigQuery, elimínalo en Cloud Shell:

      bq rm --recursive --dataset movielens
      

    Siguientes pasos