Lectura del documento del sistema de recomendación (veintinueve) -Meituan: uso de datos históricos de interacción para mejorar el sistema de recomendación de diálogo
Artículo:
Título: "Aprovechamiento de los 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
Esta es la primera vez que escribo un artículo publicado por Meituan al respecto. Este artículo es un artículo breve sobre CIKM investigado conjuntamente por la Universidad Renmin y Meituan. para hacer recomendaciones conversacionales.
Recientemente, los sistemas de recomendación conversacional (CRS) se han convertido en un tema de investigación práctico y emergente. La mayoría de los métodos CRS existentes se centran en aprender representaciones de preferencias efectivas para los usuarios únicamente a partir de datos de conversaciones. Sin embargo, este artículo utiliza datos históricos de interacción para mejorar CRS desde una nueva perspectiva. Con este fin, este artículo propone un nuevo método de preentrenamiento para integrar secuencias de preferencias basadas en elementos (a partir de datos históricos de interacción) y secuencias de preferencias basadas en atributos (a partir 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 (CRS) se han convertido en un tema de investigación emergente que busca brindar 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 módulo de diálogo se centra en obtener las preferencias del usuario a través de interacciones de múltiples rondas, y el módulo de recomendación se centra en cómo utilizar la información de preferencias inferida para recomendar productos apropiados a los usuarios.
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 plantea preguntas sobre las preferencias del usuario y el usuario responde al sistema con comentarios personalizados. Normalmente, las consultas del sistema se generan en función de algún atributo del elemento (por ejemplo, cuál es su género de película favorito) y los comentarios de los usuarios reflejan la preferencia específica del usuario por ese atributo (por ejemplo, me gustan las películas de acción). El enfoque principal es construir un módulo de seguimiento que pueda inferir las preferencias basadas en atributos del usuario a partir de dichas conversaciones de varios turnos. De esta manera, las preferencias inferidas se pueden presentar como una secuencia de atributos inferidos (por ejemplo, "Género = Acción → Director = James Cameron" en la película CRS. Una vez que tengamos esta secuencia, podemos usar algunos métodos para hacer recomendaciones, por ejemplo , los gráficos de conocimiento se pueden utilizar como recomendación.
Sin embargo, hay dos problemas principales en estos estudios CRS existentes. Primero, la información del diálogo en sí es muy limitada, para reducir el número de rondas. el sistema interactúa con el usuario, por lo tanto, algunos atributos útiles pueden perderse en las preferencias de inferencia basadas en atributos. En segundo lugar, puede que no sea suficiente hacer recomendaciones incluso después de filtrar varios atributos, el conjunto de elementos candidatos aún puede ser grande. /p>
Ahora, para resolver los dos problemas mencionados anteriormente, necesitamos combinar el método basado en elementos y el método basado en atributos. El método de interacción histórica de elementos refleja los intereses a largo plazo del usuario y el método basado en. Los atributos de sesión reflejan los intereses actuales del usuario, es decir, intereses a corto plazo. Esta es una tarea típica que combina intereses a corto y largo plazo.
R: Como se mencionó anteriormente, en el sistema CRS. después de que un usuario tenga varias rondas de conversaciones, habrá un conjunto de atributos del elemento. A es este conjunto
=?, que pertenece a A y es el atributo del elemento n es la longitud del elemento. secuencia de atributos
, donde está el elemento con el que el usuario interactuó en el k-ésimo paso antes de la conversación
: asumimos además que cada elemento ik también está asociado con un conjunto de valores de atributos. El enlace, representado por Aik, es un subconjunto de todo el conjunto de atributos A.
Definición de tarea: según el módulo CRS, primero se recopilan secuencias basadas en atributos y luego las secuencias de clics se utilizan para recomendaciones.
Con respecto a la definición de esta tarea, una comprensión profunda debe ser la siguiente: primero tenemos la secuencia de atributos y luego hacemos recomendaciones basadas principalmente en la secuencia de clics. El modelado de la secuencia de atributos es una tarea de submódulo, la secuencia. La recomendación es la tarea principal y la tarea de recomendación de secuencia se actualiza en la secuencia de atributos. Esta información se puede utilizar repetidamente siempre que se actualice la secuencia de atributos. El modelo base del documento 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, esta parte también tiene la matriz de incrustación de atributos. No menciono el vector de posición.
La operación intermedia es el proceso Transformer, autoatención y ffn. Si no comprende la estructura del transformador aquí, puede leer el documento.
La parte de salida es la probabilidad de predecir el elemento candidato i:
Entre ellos, ei es el vector de incrustación original de i, W es la matriz de mapeo y las dos s son las Elementos y atributos formados por la estructura del transformador. El último vector.
Cualquiera que esté familiarizado con Bert conoce el modelo de lenguaje de máscara, que reemplaza los elementos en la secuencia de elementos con máscaras y luego predice estos elementos enmascarados.
Entre ellos, fik es el vector desde la posición k de la estructura del transformador del elemento, SA es el vector desde la posición de Aik de la estructura familiar, W es la matriz de mapeo y eik es el elemento original. incrustación.
Para integrar mejor la información basada en elementos con la información basada en atributos, el artículo también adopta un método de máscara alternativo, utilizando atributos de muestreo aleatorio negativo para reemplazar Aik,
donde fik es el vector del elemento reemplazado después de trm, W es la matriz de mapeo, faj es el vector del atributo trm y la probabilidad predicha es si aj ha sido reemplazado.
En LTR, si se adopta el método de optimización por pares, entonces la tecnología de muestreo negativo es crucial y la probabilidad de muestras positivas se optimiza para que sea mayor que la capacidad de las muestras negativas, por lo que una muestra negativa debe ser seleccionado. El método de muestreo mejorará la optimización de todo nuestro modelo.
El método de muestreo negativo en MIP es el método utilizado en los dos artículos IR-GAN y ELECT.
El artículo eligió SASRec como modelo de clasificación por pares de la primera etapa. Este modelo también es el modelo utilizado para muestrear muestras negativas en el artículo. Así es como se realiza el muestreo negativo: primero entrenamos un modelo como generador usando una clasificación por pares y obtenemos la distribución de probabilidad de los elementos candidatos. Con esta distribución de probabilidad, podemos usar un muestreo negativo, porque los elementos con una clasificación más alta son diferentes del resto. los reales. En cuanto a por qué se eligió este modelo, el documento afirma que se debe a que funciona particularmente bien en tareas de recomendación de secuencia, lo que significa que funciona 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. Empíricamente, hemos descubierto que las actualizaciones iterativas aportan mejoras 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. La segunda es la etapa de ajuste, que aprende la pérdida de rango:
p>