Título: Mejora de los sistemas de recomendación conversacional utilizando datos de interacción históricos
Dirección: https://dl.ACM.org/doi/pdf/10.1145/3340531.3412098.
Esta es la primera vez que escribo un artículo publicado por Meituan sobre este tema. Este artículo es un breve artículo sobre CIKM, una colaboración entre NPC y Meituan. Estudia cómo utilizar datos históricos de interacción para recomendaciones de conversaciones.
En los últimos años, los sistemas de recomendación de diálogo se han convertido en un tema de investigación nuevo y práctico. La mayoría de los métodos CRS existentes sólo aprenden representaciones efectivas de las preferencias del usuario a partir de los datos de la sesión. Sin embargo, este artículo utiliza datos históricos de interacción para mejorar CRS desde una nueva perspectiva. Por lo tanto, este artículo propone un nuevo método de preentrenamiento que integra secuencias de preferencias basadas en elementos (de datos históricos de interacción) y secuencias de preferencias basadas en atributos (de datos de conversación) a través de métodos de preentrenamiento.
Con el rápido desarrollo de agentes inteligentes en las plataformas de comercio electrónico, los sistemas de recomendación conversacional que brindan a los usuarios recomendaciones de alta calidad a través de conversaciones se han convertido en un nuevo tema de investigación. En términos generales, CRS consta de un módulo de diálogo y un módulo de recomendación. El módulo de diálogo se centra en obtener las preferencias del usuario a través de múltiples rondas de interacción, y el módulo de recomendación se centra en cómo utilizar la información de preferencias inferida para recomendar productos apropiados al usuario.
La mayoría de los CRS existentes están diseñados según el modelo "el sistema requiere respuesta del usuario". En cada conversación, CRS plantea preguntas sobre las preferencias del usuario y el usuario responde al sistema con comentarios personalizados. Normalmente, el sistema generará una consulta del sistema basada en ciertos atributos del producto (por ejemplo, cuál es su género de película favorito), y los comentarios de los usuarios reflejarán la preferencia específica del usuario por este atributo (por ejemplo, me gustan las películas de acción). El enfoque principal es crear módulos de seguimiento que puedan inferir las preferencias del usuario basadas en atributos a partir de dichas conversaciones de varios turnos. De esta manera, las preferencias inferidas se pueden presentar como una serie de atributos inferidos (como "Género = Acción → Director = James Cameron" en la película CRS). Con esta secuencia, podemos usar algunos métodos para hacer recomendaciones, como usar gráficos de conocimiento para hacer recomendaciones.
Sin embargo, estos estudios de CRS existentes tienen dos problemas principales. Primero, el diálogo en sí es muy limitado en información. Muchos CRS se han optimizado aún más para reducir la cantidad de interacciones entre el sistema y el usuario. Por lo tanto, en las preferencias de razonamiento basado en atributos, es posible que se pierdan algunos atributos útiles. En segundo lugar, el simple hecho de utilizar preferencias basadas en atributos para la recomendación puede no ser suficiente. Por ejemplo, incluso después de filtrar varios atributos, el conjunto de candidatos puede seguir siendo grande.
Para resolver los dos problemas mencionados anteriormente, necesitamos combinar el enfoque basado en proyectos y el enfoque basado en atributos. Entre ellos, el método de interacción de elementos basado en el historial refleja el interés a largo plazo del usuario, y el método basado en los atributos de la sesión refleja el interés actual del usuario, es decir, el interés a corto plazo, que es una tarea típica que combina el largo plazo y intereses a corto plazo.
Respuesta: dije antes que en el sistema CRS, después de varias rondas de diálogo, un usuario tendrá un conjunto de atributos de elementos, y A es este conjunto.
=?, que pertenece a a, es el atributo del elemento y n es la longitud de la secuencia de atributos.
, donde están los elementos con los que el usuario interactuó en el paso k antes de la conversación.
Además, asumimos que cada elemento ik también está asociado con un conjunto de valores de atributos, representados por Aik, y es un subconjunto del conjunto de atributos completo A..
Definición de tarea: Según el módulo CRS, primero se recopilan secuencias basadas en atributos y luego se utilizan secuencias de clics para hacer recomendaciones. Con respecto a la definición de esta tarea, la comprensión profunda debería ser así: primero tenemos la secuencia de atributos y luego hacemos recomendaciones basadas principalmente en la secuencia de clics. El modelado de secuencias de atributos es una tarea de un submódulo y la recomendación de secuencia es la tarea principal. Siempre que se actualice la secuencia de atributos, la tarea de recomendación de secuencia puede reutilizar esta información después de que se actualice la secuencia de atributos.
El modelo básico de este artículo consta de un transformador y la parte de entrada es la capa de incrustación.
Además de la matriz de incrustación con ID de elementos, esta parte también tiene una matriz de incrustación con atributos, y también hay una P como entrada, no hablaré de esto, el vector de posición.
La operación intermedia es el proceso de transformación, autoenfoque y ffn. Si no comprende la estructura del transformador aquí, puede leer el artículo.
La parte de salida es la probabilidad de predecir el elemento candidato I:
donde ei es el vector de incrustación original de I, w es la matriz de mapeo y las dos s atraviesan los elementos y atributos del vector final de la estructura del transformador.
Las personas que están familiarizadas con BERT conocen el modelo de lenguaje de máscara, que reemplaza los elementos en la secuencia de elementos con máscara y luego predice estos elementos enmascarados.
donde fik es el vector que comienza desde la posición k del transformador del elemento, SA es el vector que comienza desde la posición Aik de 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 elementos y la información basada en atributos, este documento también adopta un método de máscara alterna para reemplazar Aik con atributos muestreados aleatoriamente negativos.
Donde fik es el vector de elementos reemplazados por trm, w es la matriz de mapeo, faj es el vector del atributo trm y la probabilidad predicha es si aj se reemplaza.
En LTR, si se utiliza un método de optimización por pares, la tecnología de muestreo negativo es crucial. La probabilidad de muestras positivas es mayor que la probabilidad de muestras negativas, por lo que debemos elegir un método de muestreo negativo para mejorar la optimización. de todo nuestro modelo.
¿Qué es el método de muestreo negativo en MIP? Métodos utilizados en artículos IR-GAN y ELECT.
SASRec se selecciona como modelo de clasificación por pares en la primera etapa, que también es el modelo utilizado para muestras negativas en este artículo. El método de muestreo negativo es el siguiente: primero, entrenamos un modelo como generador mediante clasificación por pares para obtener la distribución de probabilidad de los candidatos. Con esta distribución de probabilidad, podemos utilizar un muestreo negativo porque los elementos de mayor rango están muy cerca de los reales. En cuanto a por qué se eligió este modelo, el documento dice que funciona particularmente bien en tareas de recomendación de secuencia, es decir, funciona muy bien como modelo de clasificación. Tenga en cuenta que, aunque el generador se puede actualizar como en una GAN estándar, solo entrenamos sus parámetros una vez. Según la experiencia, hemos descubierto que las mejoras aportadas por las actualizaciones iterativas son limitadas.
Todo el entrenamiento se divide en dos etapas. La primera es la etapa de preentrenamiento, que consiste en entrenar dos modelos de aprendizaje de representación, y la segunda es la etapa de ajuste para aprender la pérdida de rango: