Lectura de documentos del sistema de recomendación (veintinueve) -Metro: uso de datos históricos de interacción para mejorar los sistemas de recomendación conversacional
Título: "Aprovechamiento de datos históricos de interacción para mejorar el sistema de recomendación conversacional"
Dirección: https://dl.acm.org/doi/ pdf/10.1145/3340531.3412098 p>
Esta es la primera vez que escribo un artículo publicado por Meituan. Es un artículo breve sobre CIKM en cooperación entre el Congreso Nacional del Pueblo y Meituan. Estudia cómo utilizar datos históricos de interacción para recomendaciones de diálogo.
En los últimos años, los sistemas de recomendación conversacional (CRS) se han convertido en un tema de investigación práctica emergente. La mayoría de los métodos CRS existentes se centran en aprender representaciones efectivas de las preferencias del usuario únicamente a partir de datos de sesión. Sin embargo, este artículo parte de una nueva perspectiva y utiliza datos históricos de interacción para mejorar los sistemas de recomendación conversacional. Con este fin, este artículo propone un método novedoso de preentrenamiento que integra secuencias de preferencias basadas en elementos (a partir de datos de interacción históricos) y secuencias de preferencias basadas en atributos (a partir de datos de sesiones).
Con el rápido desarrollo de agentes inteligentes en las plataformas de comercio electrónico, los sistemas de recomendación conversacional (CRS) se han convertido en un tema de investigación emergente, cuyo objetivo es proporcionar recomendaciones de alta calidad a los usuarios a través de conversaciones. Normalmente, CRS consta de un módulo de diálogo y un módulo de recomendación. El objetivo del módulo de diálogo es obtener las preferencias del usuario a través de múltiples rondas de interacción, mientras que el objetivo del módulo de recomendación es cómo utilizar la información de preferencias inferida para recomendar elementos apropiados al usuario.
La mayoría de los CRS existentes están diseñados según el modelo "el sistema requiere respuesta del usuario". Durante cada ronda de conversación, el CRS hace preguntas sobre las preferencias del usuario y el usuario proporciona comentarios personalizados al sistema. Normalmente, el sistema genera una consulta basada en algún atributo del producto (por ejemplo, qué tipo de películas te gustan más) y los comentarios del usuario reflejan la preferencia específica del usuario por ese atributo (por ejemplo, me gustan las películas de acción). El enfoque principal es crear un módulo de seguimiento para inferir las preferencias basadas en atributos del usuario a partir de esta conversación de múltiples rondas. De esta manera, las preferencias inferidas pueden presentarse como secuencias de atributos inferidos (por ejemplo, "Género = Acción → Director = James Cameron" en la película CRS). Con esta secuencia, podemos utilizar ciertos métodos de recomendación, como el uso de gráficos de conocimiento para la recomendación.
Sin embargo, existen dos problemas principales con estos estudios de RSC existentes. Primero, el diálogo en sí es muy limitado en información. Muchos CRS se optimizan aún más para reducir la cantidad de rondas en las que el sistema interactúa con el usuario. Por lo tanto, algunos atributos útiles pueden perderse en la inferencia de preferencias basada en atributos. En segundo lugar, puede que no sea suficiente simplemente aprovechar las preferencias basadas en atributos para las recomendaciones. Por ejemplo, incluso después de filtrar varios atributos, el conjunto de elementos candidatos puede seguir siendo grande.
Ahora, para resolver los dos problemas anteriores, necesitamos combinar el enfoque basado en proyectos con el enfoque basado en atributos. En este caso, el método basado en elementos de interacción históricos refleja el interés a largo plazo del usuario, mientras que el método basado en atributos de sesión refleja el interés actual del usuario, es decir, el interés a corto plazo. Esta es una combinación típica de interés a largo plazo. y el interés a corto plazo.
R: Como se mencionó anteriormente, en el sistema CRS, después de que el usuario tenga varias rondas de sesiones, habrá un conjunto de atributos del proyecto, y ¿A es este conjunto?
=? Entre ellos, los que pertenecen a A es el atributo del elemento, n es la longitud de la secuencia de atributos
, donde está el elemento con el que el usuario interactuó en el k-ésimo paso antes del diálogo
: Suponemos además que cada elemento ik también está asociado con un conjunto de valores de atributos, indicado por Aik, que es un subconjunto de todo el conjunto de atributos A.
Definición de tareas: según el módulo CRS, primero se recopilan secuencias basadas en atributos y luego se utilizan secuencias de clics para hacer recomendaciones. Una comprensión profunda de la definición de esta tarea debería ser: primero tenemos secuencias de atributos y luego hacemos recomendaciones basadas principalmente en secuencias de clics. El modelado de secuencias de atributos es una tarea de submódulo, y la recomendación de secuencia es la tarea principal; Se actualiza la secuencia de atributos, la tarea de recomendación de secuencia puede reutilizar esta información después de que se actualiza la secuencia de atributos.
El modelo básico de este artículo está hecho con Transformer. La parte de entrada es la capa de incrustación. Además de la matriz de incrustación de la identificación del elemento, también existe una matriz de incrustación. en la entrada, que se omite, que es el vector de posición.
Las operaciones intermedias son procesamiento del convertidor, autoatención y ffn. Si no comprende la estructura del convertidor, puede leer el documento.
La salida es la probabilidad predicha del candidato i:
Entre ellos, ei es el vector de incrustación original de i, W es la matriz de mapeo y los dos s son los últimos elementos. en la estructura del transformador y el vector de atributos.
Cualquiera que esté familiarizado con Bert conoce el modelo de lenguaje enmascarado, que reemplaza elementos en una secuencia de elementos con máscaras y luego predice estos elementos enmascarados.
donde fik es el vector de posición de k en la estructura del convertidor de elementos, SA es el vector de posición de k en la estructura familiar, W es el vector de posición en la estructura familiar y W es la posición en la vector de matriz de mapeo del convertidor de elementos. SA es el vector de posición k de Aik en la estructura familiar, W es la matriz de mapeo y eik es la incrustación del elemento original.
Para integrar mejor la información basada en proyectos y la información basada en atributos, este documento también utiliza otro método de enmascaramiento, que consiste en reemplazar Aik con atributos muestreados aleatoriamente negativos,
donde fik es el vector en el trm del elemento reemplazado, W es la matriz de mapeo, faj es el vector en el trm del atributo y la probabilidad predicha es si se reemplaza aik.
En LTR, si se utiliza la optimización por pares, la tecnología de muestreo negativo es crucial. Puede optimizar la capacidad de las muestras positivas para ser más grandes que las muestras negativas, por lo que debemos elegir un método de muestreo negativo para promover el conjunto. optimización del modelo.
El método de muestreo negativo en MIP es el método utilizado en los artículos IR-GAN y ELECT.
En cambio, el artículo elige SASRec como modelo para la primera etapa de clasificación de pares, que también es el modelo utilizado para el muestreo negativo en el artículo. El muestreo negativo funciona así: primero entrenamos un modelo como generador usando clasificación por pares para obtener una distribución de probabilidad de las entradas candidatas. Con esta distribución de probabilidad, podemos usarla para realizar un muestreo negativo, porque las entradas mejor clasificadas son las mismas. La entrada real está muy cerca. En cuanto a por qué se eligió este modelo, el documento afirma que se eligió porque funciona particularmente bien en tareas de recomendación secuenciales, es decir, funciona bastante bien como modelo de clasificación. Tenga en cuenta que, aunque el generador se puede actualizar como una GAN estándar, solo entrenamos sus parámetros una vez. Empíricamente, hemos descubierto que las actualizaciones iterativas aportan mejoras muy limitadas.
Todo el entrenamiento se divide en dos etapas. La primera etapa es la etapa de preentrenamiento, es decir, entrenar dos representaciones para aprender el modelo; aprendiendo la pérdida de clasificación: