¡Interpretación detallada! Arquitectura del algoritmo de recomendación - Recuperación

Introducción | El módulo de recuperación se enfrenta a cientos de millones de materiales de grupo de recomendaciones, y el conjunto de candidatos es muy grande. Dado que existe un módulo de clasificación posterior como garantía, no es necesario que sea muy preciso, pero debe garantizar la ausencia de omisiones y la baja latencia. En la actualidad, se realiza principalmente a través de la memoria multicanal. Por un lado, cada canal se puede calcular en paralelo y, por otro lado, aprender de las fortalezas de los demás. Hay dos tipos principales de canales de recuperación: no personalizados y personalizados. 

1. La arquitectura general del algoritmo de recomendación

 

(1) La importancia del algoritmo de recomendación

 

Con el vigoroso desarrollo de Internet en los últimos diez años, tanto la escala de usuario como la escala de contenido han mostrado un rápido crecimiento. No es nada nuevo que los usuarios vivan más de 100 millones al día. Debido a la popularidad de los métodos de producción de UGC, las plataformas con miles de millones de bibliotecas de contenido no son infrecuentes. Cómo permitir que los usuarios masivos encuentren lo que les gusta en el contenido masivo, y cómo hacer que el contenido masivo sea consumido con precisión por los usuarios masivos, siempre ha sido un tema fundamental para todas las empresas. En este contexto, los sistemas de búsqueda y los sistemas de recomendación surgen a medida que los tiempos lo requieren. El sistema de búsqueda soluciona principalmente el problema de los usuarios que buscan contenido interesante, que es un consumo más activo. El sistema de recomendación resuelve principalmente el problema de empujar el contenido a los usuarios adecuados, que es el consumo pasivo. Los dos atraen usuarios y contenido al mismo tiempo, que es un medio intermedio para realizar la correspondencia entre usuarios y contenido. El sistema de recomendación es una posición muy central en todas las empresas, y su importancia es principalmente la siguiente:

 

  • Del lado del usuario, envíe contenido personalizado de interés para los usuarios de manera oportuna y precisa, y descubra y cultive constantemente los intereses potenciales de los usuarios, satisfaga las necesidades de consumo de los usuarios y mejore la experiencia del usuario, aumentando así la actividad y la retención del usuario.
  • Por el lado del contenido, como plataforma de distribución de tráfico, tiene capacidades de estimulación y comentarios positivos para los productores (como autores de UGC, vendedores de comercio electrónico, etc.) Al apoyar a los pequeños y medianos productores potenciales, puede promover la prosperidad y el desarrollo de la ecología general del contenido.
  • Por el lado de la plataforma, el sistema de recomendación es crucial para el flujo y la eficiencia de la distribución de contenido. Al mejorar la experiencia del usuario, se puede mejorar la retención del usuario y, por lo tanto, aumentar la actividad diaria. Al mejorar la conversión de usuarios y la eficiencia del tráfico, se pueden mejorar los indicadores básicos, como el volumen de pedidos de las plataformas de comercio electrónico y la duración per cápita de los usuarios en las plataformas de contenido. Al aumentar la profundidad del consumo de los usuarios, puede aumentar el tráfico general de la plataforma, sentar las bases para los objetivos de comercialización (como la publicidad) y mejorar los indicadores básicos como el ARPU (ingreso promedio por usuario). El sistema de recomendación está íntimamente relacionado con muchos indicadores fundamentales de la empresa, y tiene un gran papel de tracción y promoción, lo cual es de gran trascendencia.

 

 

(2) Módulo básico de algoritmo de recomendación

 

En la actualidad, según la consideración de la capacidad informática y el almacenamiento, no hay forma de lograr la recomendación general de extremo a extremo. En términos generales, el sistema de recomendación se divide en los siguientes módulos principales:

 

  • Conjunto de recomendaciones: generalmente, según algunas reglas, algunos elementos se seleccionan de la biblioteca de materiales general (que puede tener una escala de miles de millones o incluso decenas de miles de millones) para ingresar al conjunto de recomendaciones y luego se actualizan regularmente a través de reglas de reemplazo. Por ejemplo, una plataforma de comercio electrónico puede crear un grupo de recomendaciones basado en el volumen de transacciones de los últimos 30 días y el nivel de precio del producto en la categoría, etc., y una plataforma de videos cortos puede crear un grupo de recomendaciones basado en el tiempo de lanzamiento y el volumen de reproducción en los últimos 7 días. El grupo de recomendaciones generalmente se crea fuera de línea de manera regular.
  • Recuperación: seleccione miles de elementos del grupo de recomendaciones y envíelos al módulo de clasificación posterior. Dado que el conjunto de candidatos que enfrenta la recuperación es muy grande y, por lo general, debe generarse en línea, el módulo de recuperación debe ser liviano, rápido y de baja latencia. Dado que existe un módulo de clasificación posterior como garantía, la recuperación no necesita ser muy precisa, pero no se puede omitir (especialmente el módulo de recuperación en el sistema de búsqueda). En la actualidad se utiliza básicamente el paradigma de solución de recuerdo multidireccional, que se divide en recuerdo no personalizado y recuerdo personalizado. El recuerdo personalizado tiene varios métodos, como el basado en el contenido, el comportamiento y las características.
  • Clasificación gruesa: obtenga los resultados del módulo de recuperación y seleccione miles de elementos de ellos para enviarlos al módulo de clasificación fina. La clasificación gruesa puede entenderse como una ronda de mecanismo de filtrado antes de la clasificación fina, lo que reduce la presión sobre el módulo de clasificación fina. La clasificación gruesa se encuentra entre la recuperación y la clasificación fina, teniendo en cuenta tanto la precisión como la baja latencia. El modelo general tampoco puede ser demasiado complicado.
  • Clasificación fina: obtenga los resultados del módulo de clasificación aproximada y puntúe y clasifique el conjunto de candidatos. La clasificación precisa debe garantizar la precisión de la puntuación cuando el retraso máximo lo permite. Es un módulo crucial en todo el sistema, y ​​también es el módulo más complejo y más investigado. La construcción de un sistema de clasificación fina generalmente necesita involucrar tres partes: muestra, característica y modelo.
  • Reorganización: obtenga los resultados de clasificación de la clasificación refinada y realice un ajuste fino en función de la estrategia de operación, la diversidad, el contexto, etc. Por ejemplo, durante el 38º Festival, se elevan los derechos de los productos de belleza y se dividen las categorías, se dividen las mismas imágenes y se dividen los mismos vendedores, etc. para garantizar la experiencia del usuario. Hay muchas reglas en el reordenamiento, pero también hay muchos esquemas basados ​​en modelos para mejorar el efecto del reordenamiento.
  • Mezclar: Múltiples líneas de negocios quieren tener exposición en el flujo de Feeds y necesitan mezclar sus resultados. Por ejemplo, los anuncios se insertan en el flujo de recomendaciones y las imágenes, textos y pancartas se insertan en el flujo de video. Se puede implementar en base a estrategias de reglas (como la colocación de anuncios) y el aprendizaje por refuerzo.

 

El sistema de recomendación contiene muchos módulos, y los artículos surgen en un flujo interminable, lo cual es relativamente complejo. Lo más importante para nosotros para dominar el algoritmo del sistema de recomendación es ordenar toda la arquitectura del algoritmo y el panorama general, saber cómo lo hace cada módulo, qué limitaciones y problemas se deben resolver y qué métodos se pueden optimizar. Y a través del panorama general de la arquitectura del algoritmo, los diversos módulos están conectados e integrados. Para no quedar demasiado atrapados en un detalle, incapaces de liberarse. Al leer un documento, primero debe comprender qué problema está diseñado para resolver, qué soluciones han estado disponibles antes y luego comprender cómo lo resuelve y qué mejoras y optimizaciones tiene en comparación con otras soluciones. Este artículo explica principalmente el panorama general de la arquitectura de algoritmo recomendada, ayuda a los lectores a comprender la situación general y desempeña un papel como esquema.

 

2. Recordar

 

(1) Retiro múltiple

 

 

El módulo de recuperación se enfrenta a cientos de millones de materiales de grupo de recomendaciones, y el conjunto de candidatos es muy grande. Dado que existe un módulo de clasificación posterior como garantía, no es necesario que sea muy preciso, pero debe garantizar la ausencia de omisiones y la baja latencia. En la actualidad, se realiza principalmente a través de la memoria multicanal. Por un lado, cada canal se puede calcular en paralelo y, por otro lado, aprender de las fortalezas de los demás. Hay dos tipos principales de canales de recuperación: no personalizados y personalizados.

 

  • recuerdo no personalizado

Los retiros no personalizados no tienen nada que ver con los usuarios y se pueden crear fuera de línea, e incluyen principalmente:

  • Recordatorio popular: por ejemplo, se han reproducido videos cortos con vv alto en los últimos 7 días, lo que se puede suavizar combinando el CTR y el decaimiento del tiempo, y filtrar elementos de clics sospechosos de fraude con una duración per cápita baja. También puede seleccionar elementos con más Me gusta y elogios de los usuarios, etc. Esta parte se puede implementar principalmente en base a reglas. Dado que los elementos populares pueden conducir fácilmente al efecto Mateo, si la proporción de retiros populares en el canal general es demasiado grande, se puede considerar alguna supresión.
  • Recuerdo de alta eficiencia: por ejemplo, videos cortos con alto CTR, alta tasa de finalización y alta duración per cápita, estos elementos son más eficientes, pero pueden estar pronto en los estantes, no hay muchos vvs en el historial y los elogios son necesarios. tiempo a acumular, que puede no estar incluido en el retiro popular.
  • Recordatorio de estrategia operativa: por ejemplo, la lista de varias categorías de operación y construcción, la lista de películas, el último artículo en los estantes, etc.

 

  • Recordatorio personalizado

El recuerdo personalizado está relacionado con los usuarios, con miles de personas y miles de rostros. Según el método de construcción, hay:

 

  • basado en contenido: según el contenido, se pueden seleccionar elementos con contenido similar a través de etiquetas de usuario, como directores favoritos, actores, categorías y otra información completada durante el nuevo registro, o mediante el comportamiento histórico del usuario como disparador. Hay:
  • Recordatorio de etiquetas: como actores, directores, etiquetas de elementos, categorías, etc.
  • Gráfico de conocimiento.
  • Multimodalidad: por ejemplo, elementos con semántica de título similar, elementos con primeras imágenes similares, elementos con comprensión de video similar, etc.

En general, el índice invertido se crea primero fuera de línea, y la etiqueta de usuario o el elemento de comportamiento histórico se usa como desencadenante cuando se usa en línea, y se puede eliminar al candidato correspondiente. La creación de un índice invertido basado en el contenido no requiere que los elementos tengan comportamientos enriquecidos y es más amigable para los elementos de inicio en frío.

  • Basado en el comportamiento: basado en el comportamiento, principalmente userCF e itemCF, ambos encuentran similitudes a través del comportamiento, lo que requiere que los usuarios o elementos tengan comportamientos más ricos. userCF primero encuentra usuarios con comportamientos similares a los de los usuarios y selecciona elementos en su secuencia de comportamiento como candidatos. itemCF encuentra otros elementos cuyo comportamiento es similar para cada elemento y crea un índice invertido.

 

¿Cuál es la diferencia entre los dos cuando se usan?Creo que los principales son:

 

  • userCF requiere comportamientos de usuario más enriquecidos, y itemCF requiere comportamientos más enriquecidos para los elementos. Por lo tanto, para escenarios con altos requisitos en tiempo real para elementos como noticias, se puede considerar userCF porque hay muchos elementos de arranque en frío.
  • En términos generales, la cantidad de usuarios es mucho mayor que la cantidad de elementos en el conjunto de recomendaciones, es decir, el vector de usuario es mucho mayor que el vector de elemento, por lo que la presión de almacenamiento y la presión de recuperación de vector de userCF son mayores que itemCF. Al mismo tiempo, el vector de usuario es mucho más disperso que el vector de elemento y la precisión del cálculo de similitud no es tan buena como la de itemCF.

 

¿Cuáles son las desventajas del filtrado colaborativo?

  • Dado que la mayoría de los usuarios solo tienen comportamientos para una pequeña cantidad de elementos, la matriz de comportamiento de los usuarios y los elementos es muy escasa, e incluso algunos usuarios no tienen ningún comportamiento, lo que afecta la precisión del cálculo de similitud vectorial.
  • La cantidad de usuarios y elementos es muy grande, y la presión de almacenamiento de la matriz de comportamiento es muy grande.
  • La matriz dispersa también trae un problema, es decir, los elementos populares en la cabeza son fáciles de ser similares a la mayoría de los elementos, lo que da como resultado el problema de Harry Potter y el efecto Matthew extremadamente grave.

 

Entonces, cómo resolver estos problemas, surgió la descomposición de matrices MF. Descompone la matriz de comportamiento de usuario y elemento en dos matrices de usuario y elemento, y convierte la matriz M*N en dos matrices de M*K y K*N. Cada fila de la matriz de usuario es un usuario de dimensión K vector y la matriz de elementos Cada columna es un vector de elementos K-dimensional. A diferencia del vector en CF, que se genera en función del comportamiento y tiene un significado más claro, el vector en MF también se denomina vector oculto del usuario y vector oculto del elemento. A través de MF, se puede resolver el problema de que los vectores CF son demasiado dispersos. Al mismo tiempo, dado que K es mucho más pequeño que M y N, los vectores dispersos de alta dimensión se pueden densificar en dimensiones bajas, lo que reduce en gran medida la presión de almacenamiento.

 

¿Cuáles son los métodos de implementación de la descomposición de la matriz MF, que se pueden calcular en función de SVD y el descenso de gradiente? Dado que SVD tiene ciertas limitaciones, hay muchas basadas en el descenso de gradiente. Por lo tanto, MF también se denomina CF basado en modelos.

MF todavía se basa esencialmente en el comportamiento del usuario y no hace un uso completo de varias características de los usuarios y elementos, como el sexo y la edad del usuario, lo que resulta en una gran pérdida de información. Nacieron LR y FM.

 

  • Basado en funciones: basado en funciones, como la edad del usuario, el sexo, el modelo, la ubicación geográfica, la secuencia de comportamiento, etc., el tiempo de listado de elementos, la duración del video, las estadísticas históricas, etc. El método de construcción del recuerdo basado en características, que utiliza suficiente información, generalmente tiene mejores efectos y es amigable con Leng Qi, ha sido el foco de investigación en los últimos años. Se divide principalmente en:
  • Modelos lineales: como FM, FFM, etc., no se ampliarán en detalle.
  • Modelos profundos: como torres gemelas DSSM basadas en DNN (EBR, MOBIUS), youtubeDNN (también llamado deepMatch). Mind, SDM, CMDM, BERT4Rec basado en secuencias de usuario. Node2Vec basado en GNN, EGES, PingSage, etc. Este no se ampliará uno por uno, es un gran tema.

 

Hay dos formas de usarlo en línea :

  • Recuperación de vectores: a través de la incrustación de usuario generada, la búsqueda de vecinos más cercanos se utiliza para encontrar la incrustación de elementos similares, a fin de encontrar el elemento específico. Los métodos de recuperación incluyen acumulación de hash, HNSW y otros métodos.
  • Índice invertido i2i: a través de la incrustación de elementos, busque otros elementos similares a este elemento y cree el índice i2i sin conexión. Cuando se usa en línea, el conjunto de candidatos se encuentra a partir del índice invertido usando el elemento en el comportamiento histórico del usuario como disparador.

 

  • red social: encuentre a otras personas en la cadena social a través de los "me gusta" de los amigos, siga las relaciones, las relaciones de la libreta de direcciones, etc., y luego utilícelas para recuperar elementos. El principio es que los artículos que les gustan a tus amigos también les gustarán con una alta probabilidad.

 

(2) Optimización de recuperación

 

 

Los principales canales de la retirada multicanal son estos. ¿Cuáles son los principales problemas de la retirada? Personalmente, creo que los principales son:

 

  • Problema de construcción de muestras negativas : recordar es el arte de las muestras, clasificar es el arte de las características, esta oración es bastante correcta. La recuperación de muestras positivas puede seleccionar muestras que exponen clics, pero ¿cómo elegir muestras negativas? Elija exponer muestras sin hacer clic, definitivamente no.
  • Las muestras expuestas sin hacer clic pueden competir con los módulos existentes de recuperación, clasificación aproximada y clasificación fina, lo que indica que la calidad y la relevancia de sus artículos siguen siendo buenas, y definitivamente no es adecuada como muestra negativa de recuperación.
  • Problema de SSB, recuerde todo el grupo de recomendaciones, pero solo un pequeño subconjunto de los elementos que pueden exponerse, por lo que la construcción de muestras negativas conducirá a un problema de SSB (sesgo de selección de muestra) muy grave, que hace que el modelo se desvíe seriamente de la realidad.

 

En base a este problema, podemos seleccionar elementos al azar como muestras negativas en el conjunto de recomendaciones, pero habrá otro problema.En comparación con las muestras positivas, los elementos seleccionados al azar son generalmente fáciles de distinguir, por lo que necesitamos muestras negativas duras para estimular y mejorar el recuerdo. efecto de modelo La construcción de muestras negativas duras es una de las direcciones más comunes en la investigación de retiro actual, que incluye principalmente:

 

  1. Con la ayuda del modelo: por ejemplo, Facebook EBR selecciona los elementos cuyo puntaje de recuerdo está en la posición media en la versión anterior, y los elementos clasificados entre 101 y 500. No son muy altos y pueden considerarse muestras negativas. no la cola de la grulla, y tienen cierta correlación con las muestras positivas. , es difícil de distinguir. EBR, Mobius, PinSage, etc. tienen ideas similares. Este método es difícil de definir exactamente qué artículos son algo similares, pero no tanto, y puede requerir varios intentos.
  2. Reglas comerciales: por ejemplo, para seleccionar artículos con reglas de la misma categoría y el mismo rango de precios, puede consultar la práctica del documento de Airbnb.
  3. en lote: las muestras positivas de otros usuarios en el lote se utilizan como muestras negativas de este usuario.
  4. Aprendizaje activo: los resultados del retiro se revisan manualmente y los casos malos se utilizan como muestras negativas.

Por lo general, los negativos duros y los negativos fáciles se utilizan en una determinada proporción, como 1:100, como muestras negativas de recuperación. En general, los negativos fáciles aún representan la gran mayoría.

 

  1. Problema de SSB : el retiro es para todo el grupo de recomendaciones. La cantidad de elementos es enorme, por lo que se debe realizar una cierta cantidad de muestreo negativo, y existe un problema de sesgo de selección de muestra de SSB relativamente grande. Por lo tanto, es necesario hacer que las muestras negativas seleccionadas sean lo más representativas posible de todo el conjunto de recomendaciones, a fin de mejorar la capacidad de generalización del modelo. El principal problema sigue siendo el muestreo negativo, especialmente el problema de las muestras negativas duras. Ali ESAM intentó utilizar el aprendizaje de transferencia, a través de la regularización de pérdidas, el modelo en la muestra expuesta se puede aplicar al elemento no expuesto, para optimizar el problema de SSB. Otros métodos más consideran partir del muestreo de muestra negativa, combinando negativo fácil y negativo duro. Por ejemplo, EBR, Airbnb Embedding, Mobius, PinSage, etc. tienen ideas de optimización negativas duras.
  2. Problema de inconsistencia del objetivo : el objetivo de recuperación actual aún debe encontrar similitudes, ya sea en función del contenido o del comportamiento y las características. Sin embargo, la clasificación refinada y los indicadores de negocios reales finales aún miran la conversión. La similitud no significa que se pueda obtener una buena conversión. Por ejemplo, en casos extremos, se recuerdan todos los videos cortos que son similares a la reproducción reciente del usuario. Obviamente, la conversión general final no es alta. Baidu Mobius introdujo el CPM en la fase de recuperación y usó el objetivo empresarial como truncamiento después de la recuperación de vectores, lo que puede optimizar elementos con alta correlación pero baja tasa de conversión. El TDM de Ali reconstruye el proceso de recuperación de recuperación de ANN a través del árbol de montón máximo, lo que reduce en gran medida la cantidad de cálculo de recuperación, de modo que puede acomodar modelos complejos, como DIN, para que la recuperación y la clasificación puedan alinearse en la estructura (por supuesto, el las muestras variarán mucho), lo que puede considerarse como una cierta optimización para tales problemas.
  3. Problema de competencia : cada canal de recuperación eventualmente se fusionará y desduplicará. Si la repetición entre cada canal es demasiado alta, no tiene sentido. Especialmente, el nuevo canal de recuperación debe tener una buena ganancia adicional al canal histórico. Cierta superposición y competencia cuestiones. Al mismo tiempo, es posible que los elementos candidatos del canal de recuperación no puedan revelarse en la clasificación refinada, especialmente los elementos con pocas recuperaciones históricas, debido a sus pocas muestras expuestas y puntajes bajos en la clasificación refinada, por lo que es posible que no ser revelado. El amor mutuo y el asesinato de la recuperación y la fila fina también deben aliviarse mediante la optimización de enlaces completos.

Sobre el Autor

Xie yangyi

Investigador de algoritmos de aplicación de Tencent.

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/qcloudcommunity/blog/5513613
Recomendado
Clasificación