Ir al contenido

Blog


Aumento de la concordancia difusa con la revisión humana para maximizar la precisión y la recuperación

18 de octubre de 2022

|
Robert B. Kaspar

Robert B. Kaspar

Mitchell Koch

Mitchell Koch

Ni siquiera los clasificadores más avanzados pueden alcanzar una precisión del 100%. Por eso, cuando nos encontramos con un problema comercial en la plataforma publicitaria de DoorDash que requería una tasa de error prácticamente nula, recurrimos a soluciones híbridas que combinan un modelo de clasificación con la revisión humana. Aquí explicamos el problema subyacente de vinculación de entidades y mostramos cómo ajustar un algoritmo de coincidencia difusa para alcanzar una precisión extremadamente alta sin comprometer la recuperación.

Antecedentes: Los tipos de anuncios que puede publicar una plataforma

Existen muchos tipos de anuncios digitales, incluso dentro de la oferta de una misma empresa. Un ejemplo sencillo son los anuncios patrocinados de DoorDash. Un restaurante puede promocionar su resultado de búsqueda -y, opcionalmente, una oferta especial- cuando un consumidor busca una palabra clave relevante en la aplicación de DoorDash. Esto es "sencillo" porque en un anuncio sólo intervienen tres partes: DoorDash, el restaurante y el consumidor que verá el anuncio.

Un ejemplo más complicado son los productos patrocinados de DoorDash, que introducen una cuarta parte: una marca de bienes de consumo cuyos artículos se venden a través de tiendas de comestibles o de conveniencia en DoorDash. Por ejemplo, supongamos que un consumidor navega por la página de DoorDash de una tienda de comestibles, buscando "lata de refresco" o haciendo clic en las categorías. El propietario de una marca -digamos "Fizzy Cola, Inc."- puede promocionar sus ofertas por delante de las opciones de la competencia, aumentando el conocimiento y las ventas. Esto es más complicado que el ejemplo anterior porque el anunciante, Fizzy, es una entidad distinta de la tienda de comestibles.

El reto cuando el anunciante y la tienda son diferentes

Cuando el anunciante y el establecimiento que alberga el anuncio son diferentes, es más difícil configurar una nueva campaña publicitaria porque hay más ubicaciones posibles. En el caso de los anuncios patrocinados, es relativamente fácil: si una cadena de comida rápida quiere anunciar patatas fritas gratis con cualquier compra, debe indicar a nuestro equipo de operaciones qué artículo del menú debe ser gratis. Pero en el caso de los productos patrocinados, si Fizzy quiere promocionar "Diet Fizz 12 oz. can (6-pack)", sería necesario examinar manualmente todos los catálogos de miles de tiendas en las que el artículo está disponible en DoorDash para seleccionar los artículos coincidentes que promocionar. Nos propusimos automatizar ese proceso de coincidencia para simplificar la creación de campañas lo suficiente como para que los propietarios de marcas pudieran hacerlo ellos mismos, como se muestra en la figura 1. Sin esta automatización, no sería factible ampliar nuestro intercambio más allá de unas pocas docenas de anunciantes.

Figura 1: Cómo encaja la concordancia en la creación de campañas y en el flujo más amplio de publicación de anuncios digitales. Queremos activar las dos primeras casillas de la izquierda para que DoorDash pueda anunciar un artículo relevante en respuesta a una entrada del usuario (como la consulta de búsqueda "refresco"). El reto se encuentra entre estos pasos: necesitamos un algoritmo que vincule los productos de los anunciantes con los artículos de DoorDash.
Figura 1: Cómo encaja la concordancia en la creación de campañas y en el flujo más amplio de publicación de anuncios digitales. Queremos activar las dos primeras casillas de la izquierda para que DoorDash pueda anunciar un artículo relevante en respuesta a una entrada del usuario (como la consulta de búsqueda "refresco"). El reto se encuentra entre estos pasos: necesitamos un algoritmo que vincule los productos de los anunciantes con los artículos de DoorDash.

Las soluciones existentes son inadecuadas. Las coincidencias exactas del nombre del artículo son raras debido a variaciones en detalles menores como el orden de las palabras o la forma de representar el tamaño. Un identificador más fiable -aunque todavía no lo suficiente- serían los omnipresentes códigos de barras de la mayoría de los productos envasados, que representan códigos universales de producto o UPC. Los anunciantes conocen los UPC de sus propios productos, pero las tiendas de DoorDash no siempre ofrecen registros UPC fiables con los que comparar. Los códigos pueden faltar o ser incorrectos, o a veces el mismo producto puede ser descrito por múltiples UPC, lo que hace que sea fácil perder coincidencias. Descubrimos que los enfoques basados en UPC solo ofrecían la mitad de las coincidencias que buscábamos.

Manténgase informado con las actualizaciones semanales

Suscríbase a nuestro blog de ingeniería para recibir actualizaciones periódicas sobre los proyectos más interesantes en los que trabaja nuestro equipo.

Requisitos de la empresa

Más allá de la correspondencia UPC, investigamos soluciones a medida. La figura 2 ilustra el problema, que planteamos en términos generales como una clasificación: Dado un artículo proporcionado por un anunciante, encontrar tantas coincidencias como sea posible (alta recuperación) en los catálogos de las tiendas de DoorDash y, al mismo tiempo, generar pocas coincidencias erróneas (alta precisión).

Figura 2: El problema del emparejamiento. Un producto ficticio proporcionado por un anunciante (izquierda) podría corresponderse con artículos apropiados e inapropiados de los catálogos de DoorDash (derecha).
Figura 2: El problema del emparejamiento. Un producto ficticio proporcionado por un anunciante (izquierda) podría corresponderse con artículos apropiados e inapropiados de los catálogos de DoorDash (derecha).

Por utilizar una analogía de software, el producto del anunciante es como una clase y los catálogos de las tiendas de DoorDash contienen millones de instancias con mutaciones en atributos como el nombre del artículo. O desde la filosofía, el producto es como una forma platónica ideal. Nuestro objetivo es rastrear cada elemento imperfecto del catálogo hasta la clase (o forma) de la que procede.

Los falsos negativos y los falsos positivos conllevan costes empresariales diferentes:

  • Un falso negativo significa perder una coincidencia. El anunciante no podrá anunciar su artículo en esa tienda y DoorDash pierde ingresos publicitarios. En un intercambio de anuncios saludable, la pérdida de ingresos no es linealmente proporcional a los falsos negativos, porque las subastas de anuncios suelen tener múltiples participantes. Nos hemos fijado el objetivo de identificar el 80% de las coincidencias verdaderas.
  • Un falso positivo - generar una mala coincidencia - puede ser mucho más costoso. Depende del tipo de error. Por ejemplo, si confundimos un paquete de 12 refrescos light con un paquete de 6 refrescos light, en el peor de los casos el anunciante se sentirá molesto. Nuestro objetivo es equivocarnos en atributos menores como la cantidad, el tamaño y el sabor en menos del 5% de los casos. Pero si confundimos un refresco de la competencia con Fizzy Cola, sería una pesadilla: Fizzy nos pidió que promocionáramos su producto, pero en su lugar promocionamos el de la competencia. Para colmo de males, el error se facturaría automáticamente a Fizzy. El porcentaje de errores de este tipo debe ser cero.

Enfoque de modelización

Sería poco realista esperar que incluso un modelo potente cumpliera requisitos tan estrictos como un 80% de recuperación y, sobre todo, una precisión del 95 al 100%. La asistencia humana es esencial para rendir a ese nivel, pero un enfoque puramente manual es inviable a escala. Nuestros posibles anunciantes ofrecen cientos de miles de productos únicos, y el catálogo de productos de conveniencia y comestibles de DoorDash contiene millones de artículos redundantes y únicos.

Optamos por un enfoque híbrido:

  • En primer lugar, un algoritmo de coincidencia difusa compara los nombres de los productos de los anunciantes con los artículos de las tiendas DoorDash para generar candidatos coincidentes. En resumen, el algoritmo considera cada palabra por separado y genera una puntuación total basada en cuántas palabras coinciden o casi coinciden, diferenciándose solo por uno o dos caracteres.
  • A continuación, cada candidato es revisado por al menos una persona. En este caso, contratamos a un proveedor externo.


Con un ajuste adecuado, el algoritmo garantiza una alta recuperación (pocos falsos negativos) y la revisión humana garantiza una alta precisión (pocos falsos positivos).

Trucos para afinar el algoritmo

Las siguientes técnicas nos ayudaron a maximizar el rendimiento del enfoque híbrido global.

  • Optimizar el umbral difuso. Por defecto, nuestro algoritmo de concordancia devuelve la mejor coincidencia de producto anunciante para cada artículo de la tienda, junto con una puntuación de confianza de 0 a 100. El descarte de coincidencias por debajo de un umbral favorece el recuerdo y la precisión, como muestra la Figura 3. Descartar las coincidencias con una puntuación inferior a un umbral favorece el intercambio de memoria por precisión, como se muestra en la figura 3. Normalmente elegimos un umbral bajo, entre 80 y 90, para mantener la precisión. Por lo general, elegimos un umbral bajo, entre 80 y 90, para mantener alta la recuperación.
Figura 3: Impacto del umbral difuso en el rendimiento del clasificador. Las métricas mostradas corresponden únicamente al algoritmo base, antes de la revisión humana y sin las mejoras adicionales que se comentan a continuación.
Figura 3: Impacto del umbral difuso en el rendimiento del clasificador. Las métricas mostradas corresponden únicamente al algoritmo base, antes de la revisión humana y sin las mejoras adicionales que se comentan a continuación.
  • Evalúe los k mejores candidatos. A veces, el candidato favorito del algoritmo no coincide y uno de los segundos es correcto. Exponer más de un candidato a la evaluación humana -normalmente de tres a diez- aumenta considerablemente la precisión y, sobre todo, la recuperación del enfoque híbrido. El coste es más tiempo de evaluación, pero es menor de lo que parece porque a los auditores les resulta eficaz examinar candidatos similares en rápida sucesión y, tras encontrar una coincidencia, pueden omitir los candidatos restantes de ese lote.
  • Limitar el espacio de búsqueda. Los falsos positivos sólo se producen cuando el conjunto de posibles coincidencias es grande. En el caso de nuestra aplicación, para encontrar una coincidencia para un artículo en algún lugar del catálogo de DoorDash, el conjunto de búsqueda consta de cientos de miles de productos de anunciantes. Simplificamos el problema para el lanzamiento de la versión beta del intercambio de anuncios de productos patrocinados permitiendo la participación de sólo un puñado de anunciantes. Esto redujo el espacio de búsqueda en más de un factor de 10, lo que mejoró la precisión de nuestro algoritmo beta sin perder memoria y nos permitió ganar tiempo para seguir desarrollándolo.
  • Aplicar restricciones de metadatos. Del mismo modo, los metadatos (características que van más allá del nombre del artículo) pueden restringir la búsqueda de coincidencias. La dimensión más útil que encontramos fue la cantidad de artículos. Por ejemplo, si el propietario de una marca etiqueta su producto "cant. 6" mientras que una tienda etiqueta un posible candidato a coincidencia "cant. 12", es casi seguro que los dos artículos son diferentes y no hay necesidad de comparar nombres. Sin embargo, los casos extremos son importantes: "Ctd. 1" y "Ctd. 12" podrían coincidir si la intención del primero fuera "una caja de 12". También tuvimos en cuenta los metadatos de los pasillos, pero eran demasiado incoherentes; por ejemplo, los taquitos congelados a veces podían clasificarse como "snacks" y a veces como "congelados". Por último, examinamos los metadatos de tamaño, pero los casos extremos incluían cuestiones difíciles como la conversión de unidades y la precisión decimal.
Aumento del rendimiento (%rel) con distintas técnicas de ajuste

Para ajustarnos a los plazos y a los recursos limitados de los contratistas, también ajustamos nuestro enfoque en función del impacto empresarial que esperábamos. Por ejemplo, redujimos el umbral difuso y aumentamos k al comprobar los artículos de las tiendas más populares de DoorDash, concentrando allí nuestra revisión para maximizar el número de coincidencias encontradas.

Sin modificar directamente el algoritmo de comparación difusa de base, las tres últimas mejoras aumentaron su rendimiento del 27% de precisión y el 54% de recuperación al 38% de precisión y el 73% de recuperación. Tras añadir la revisión humana como segundo paso y ajustar el impacto en la empresa, el enfoque híbrido cumplió nuestros exigentes requisitos.

Otras aplicaciones de la correspondencia de productos en DoorDash

Además del intercambio de anuncios, estas técnicas de correspondencia de productos también contribuyen a racionalizar nuestro catálogo universal de venta al por menor. La correspondencia de artículos de catálogos de tiendas individuales con un único catálogo universal ayuda a mejorar la experiencia del consumidor al completar los metadatos que faltan, como las fotos. En la actualidad utilizamos tanto la correspondencia UPC como la correspondencia difusa para este proceso, pero estamos investigando otros tipos de identificadores de artículos, como los códigos de búsqueda de precios, para mejorar la compatibilidad con los artículos ponderados.

Conclusión

Con el fin de crear una infraestructura de datos de catálogo para un intercambio de anuncios escalable, combinamos la concordancia difusa con la revisión manual, logrando finalmente una alta recuperación y una precisión muy alta al asignar los artículos de los anunciantes a los ofrecidos a través de DoorDash. Sin cambiar el algoritmo base, demostramos algunas técnicas para mejorar el rendimiento que deberían generalizarse bien a otros problemas de vinculación de registros.

Agradecimientos

Los autores dan las gracias a Kyle Tarantino y Sam Eade por diseñar el proceso de revisión manual y a Hai Yu por proponer las restricciones de cantidad y tamaño de los artículos.

Sobre los autores

  • Robert B. Kaspar

  • Mitchell Koch

Trabajos relacionados

Ubicación
San Francisco, CA; Mountain View, CA; Nueva York, NY; Seattle, WA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA; Seattle, WA
Departamento
Ingeniería
ID de trabajo: 3013456
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
San Francisco, CA; Seattle, WA; Sunnyvale, CA
Departamento
Ingeniería