Cómo moderamos los anuncios

Cómo moderamos los anuncios

Cada servicio cuyos usuarios pueden crear su propio contenido (UGC - contenido generado por el usuario) se ve obligado no solo a resolver problemas comerciales, sino también a poner las cosas en orden en UGC. Una moderación de contenidos deficiente o de baja calidad puede, en última instancia, reducir el atractivo del servicio para los usuarios, llegando incluso a poner fin a su funcionamiento.

Hoy le contaremos sobre la sinergia entre Yula y Odnoklassniki, que nos ayuda a moderar eficazmente los anuncios en Yula.

La sinergia en general es algo muy útil y, en el mundo moderno, cuando las tecnologías y las tendencias cambian muy rápidamente, puede convertirse en una salvación. ¿Por qué desperdiciar tiempo y recursos escasos inventando algo que ya ha sido inventado y recordado antes que usted?

Pensamos lo mismo cuando nos enfrentamos a la tarea completa de moderar el contenido del usuario: imágenes, texto y enlaces. Nuestros usuarios cargan millones de contenidos en Yula todos los días y, sin un procesamiento automático, es completamente imposible moderar todos estos datos manualmente.

Por lo tanto, utilizamos una plataforma de moderación ya preparada, que en ese momento nuestros colegas de Odnoklassniki habían completado hasta un estado de "casi perfección".

¿Por qué Odnoklassniki?

Cada día, decenas de millones de usuarios acceden a la red social y publican miles de millones de contenidos: desde fotografías hasta vídeos y textos. La plataforma de moderación Odnoklassniki ayuda a comprobar grandes volúmenes de datos y a contrarrestar a los spammers y bots.

El equipo de moderación de OK ha acumulado mucha experiencia, ya que lleva 12 años mejorando su herramienta. Es importante que no sólo puedan compartir sus soluciones listas para usar, sino también personalizar la arquitectura de su plataforma para adaptarla a nuestras tareas específicas.

Cómo moderamos los anuncios

De ahora en adelante, por brevedad, simplemente llamaremos “plataforma” a la plataforma de moderación OK.

como funciona todo

El intercambio de datos entre Yula y Odnoklassniki se establece a través de Apache Kafka.

Por qué elegimos esta herramienta:

  • En Yula, todos los anuncios son posmoderados, por lo que inicialmente no se requería una respuesta sincrónica.
  • Si aparece un párrafo incorrecto y Yula u Odnoklassniki no están disponibles, incluso debido a algunos picos de carga, los datos de Kafka no desaparecerán por ningún lado y podrán leerse más tarde.
  • La plataforma ya estaba integrada con Kafka, por lo que la mayoría de los problemas de seguridad quedaron resueltos.

Cómo moderamos los anuncios

Por cada anuncio creado o modificado por el usuario en Yula se genera un JSON con datos, el cual se coloca en Kafka para su posterior moderación. Desde Kafka, los anuncios se cargan en la plataforma, donde se adjudican de forma automática o manual. Los anuncios malos se bloquean con un motivo y aquellos en los que la plataforma no encuentra infracciones se marcan como “buenos”. Luego, todas las decisiones se envían a Yula y se aplican en el servicio.

Al final, para Yula todo se reduce a acciones simples: enviar un anuncio a la plataforma Odnoklassniki y recibir una resolución "ok", o por qué no "ok".

Procesamiento automático

¿Qué sucede con el anuncio una vez que llega a la plataforma? Cada anuncio se divide en varias entidades:

  • Nombre,
  • descripción,
  • fotos,
  • categoría y subcategoría del anuncio seleccionada por el usuario,
  • precio

Cómo moderamos los anuncios

Luego, la plataforma realiza agrupaciones para cada entidad para encontrar duplicados. Además, el texto y las fotografías se agrupan según diferentes esquemas.

Antes de agruparlos, los textos se normalizan para eliminar caracteres especiales, letras modificadas y otra basura. Los datos recibidos se dividen en N-gramas, cada uno de los cuales tiene un hash. El resultado son muchos hashes únicos. La similitud entre textos está determinada por medida de jaccard entre los dos conjuntos resultantes. Si la similitud es mayor que el umbral, entonces los textos se fusionan en un grupo. Para acelerar la búsqueda de clústeres similares, se utilizan MinHash y hash sensible a la localidad.

Se han inventado varias opciones para pegar imágenes para fotografías, desde comparar imágenes de pHash hasta buscar duplicados utilizando una red neuronal.

El último método es el más "severo". Para entrenar el modelo, se seleccionaron tripletes de imágenes (N, A, P) en las que N no es similar a A y P es similar a A (es un semiduplicado). Luego, la red neuronal aprendió a acercar A y P lo más posible, y A y N lo más lejos posible. Esto da como resultado menos falsos positivos en comparación con simplemente incorporar incorporaciones de una red previamente entrenada.

Cuando la red neuronal recibe imágenes como entrada, genera un vector de N (128) dimensiones para cada una de ellas y se realiza una solicitud para evaluar la proximidad de la imagen. A continuación, se calcula un umbral en el que las imágenes cercanas se consideran duplicadas.

El modelo es capaz de encontrar hábilmente spammers que fotografían específicamente el mismo producto desde diferentes ángulos para evitar la comparación de pHash.

Cómo moderamos los anunciosCómo moderamos los anuncios
Un ejemplo de fotografías no deseadas pegadas entre sí mediante una red neuronal como duplicadas.

En la etapa final, los anuncios duplicados se buscan simultáneamente tanto por texto como por imagen.

Si dos o más anuncios están pegados en un grupo, el sistema inicia un bloqueo automático que, utilizando ciertos algoritmos, selecciona qué duplicados eliminar y cuáles dejar. Por ejemplo, si dos usuarios tienen las mismas fotos en un anuncio, el sistema bloqueará el anuncio más reciente.

Una vez creados, todos los clústeres pasan por una serie de filtros automáticos. Cada filtro asigna una puntuación al clúster: la probabilidad de que contenga la amenaza que identifica este filtro.

Por ejemplo, el sistema analiza la descripción de un anuncio y selecciona categorías potenciales para él. Luego toma el que tiene mayor probabilidad y lo compara con la categoría especificada por el autor del anuncio. Si no coinciden, el anuncio se bloquea para la categoría incorrecta. Y como somos amables y honestos, le decimos directamente al usuario qué categoría debe seleccionar para que el anuncio pase la moderación.

Cómo moderamos los anuncios
Notificación de bloqueo por categoría incorrecta.

El aprendizaje automático se siente como en casa en nuestra plataforma. Por ejemplo, con su ayuda buscamos nombres y descripciones de productos prohibidos en la Federación de Rusia. Y los modelos de redes neuronales "examinan" meticulosamente las imágenes para ver si contienen URL, mensajes de spam, números de teléfono y la misma información "prohibida".

Para los casos en los que intentan vender un producto prohibido disfrazado de algo legal y no hay texto ni en el título ni en la descripción, utilizamos el etiquetado de imágenes. Para cada imagen se pueden agregar hasta 11 mil etiquetas diferentes que describen lo que hay en la imagen.

Cómo moderamos los anuncios
Están intentando vender la cachimba disfrazándola de samovar.

Paralelamente a los filtros complejos, también funcionan los simples, que resuelven problemas obvios relacionados con el texto:

  • antimat;
  • Detector de URL y números de teléfono;
  • mención de mensajería instantánea y otros contactos;
  • precio reducido;
  • anuncios en los que no hay nada a la venta, etc.

Hoy en día, cada anuncio pasa por un fino tamiz de más de 50 filtros automáticos que intentan encontrar algo malo en el anuncio.

Si ninguno de los detectores funcionó, se envía una respuesta a Yula diciéndole que "lo más probable" es que el anuncio esté en perfecto orden. Usamos esta respuesta nosotros mismos y los usuarios que se han suscrito al vendedor reciben una notificación sobre la disponibilidad de un nuevo producto.

Cómo moderamos los anuncios
Notificación de que el vendedor tiene un producto nuevo.

Como resultado, cada anuncio está “cubierto” de metadatos, algunos de los cuales se generan cuando se crea el anuncio (dirección IP del autor, agente de usuario, plataforma, geolocalización, etc.), y el resto es la puntuación emitida por cada filtro. .

Colas de anuncios

Cuando un anuncio llega a la plataforma, el sistema lo coloca en una de las colas. Cada cola se crea utilizando una fórmula matemática que combina metadatos de anuncios de una manera que detecta cualquier patrón incorrecto.

Por ejemplo, puede crear una cola de anuncios en la categoría "Teléfonos móviles" de usuarios de Yula supuestamente de San Petersburgo, pero sus direcciones IP son de Moscú u otras ciudades.

Cómo moderamos los anuncios
Un ejemplo de anuncios publicados por un usuario en diferentes ciudades.

O puedes formar colas basadas en las puntuaciones que la red neuronal asigna a los anuncios, organizándolas en orden descendente.

Cada cola, según su propia fórmula, asigna una puntuación final al anuncio. Entonces puedes proceder de diferentes maneras:

  • especificar el umbral en el que un anuncio recibirá un determinado tipo de bloqueo;
  • enviar todos los anuncios en la cola a los moderadores para su revisión manual;
  • o combinar las opciones anteriores: especificar el umbral de bloqueo automático y enviar a los moderadores aquellos anuncios que no hayan alcanzado este umbral.

Cómo moderamos los anuncios

¿Por qué se necesitan estas colas? Digamos que un usuario subió una foto de un arma de fuego. La red neuronal le asigna una puntuación de 95 a 100 y determina con un 99 por ciento de precisión que hay un arma en la imagen. Pero si el valor de la puntuación es inferior al 95%, la precisión del modelo comienza a disminuir (esta es una característica de los modelos de redes neuronales).

Como resultado, se forma una cola basada en el modelo de puntuación y aquellos anuncios que recibieron entre 95 y 100 se bloquean automáticamente como "Productos prohibidos". Los anuncios con una puntuación inferior a 95 se envían a los moderadores para su procesamiento manual.

Cómo moderamos los anuncios
Beretta de chocolate con cartuchos. ¡Solo para moderación manual! 🙂

Moderación manual

A principios de 2019, alrededor del 94% de todos los anuncios en Yula se moderan automáticamente.

Cómo moderamos los anuncios

Si la plataforma no puede decidirse por algunos anuncios, los envía para moderación manual. Odnoklassniki desarrolló su propia herramienta: las tareas para los moderadores muestran inmediatamente toda la información necesaria para tomar una decisión rápida: el anuncio es adecuado o debe bloquearse, indicando el motivo.

Y para que la calidad del servicio no se vea afectada durante la moderación manual, se controla constantemente el trabajo de las personas. Por ejemplo, en el flujo de tareas, al moderador se le muestran "trampas": anuncios para los que ya existen soluciones preparadas. Si la decisión del moderador no coincide con la finalizada, se le da un error al moderador.

En promedio, un moderador dedica 10 segundos a revisar un anuncio. Además, el número de errores no supera el 0,5% de todos los anuncios verificados.

moderación de la gente

Los colegas de Odnoklassniki fueron aún más lejos y aprovecharon la "ayuda de la audiencia": escribieron una aplicación de juego para la red social en la que puedes marcar rápidamente una gran cantidad de datos, resaltando alguna mala señal - Moderador de Odnoklassniki (https://ok.ru/app/moderator). Una buena forma de aprovechar la ayuda de los usuarios de OK que intentan hacer más ameno el contenido.

Cómo moderamos los anuncios
Un juego en el que los usuarios etiquetan fotografías que tienen un número de teléfono.

Cualquier cola de anuncios en la plataforma se puede redirigir al juego Odnoklassniki Moderator. Todo lo que marcan los usuarios del juego se envía a los moderadores internos para su verificación. Este esquema le permite bloquear anuncios para los cuales aún no se han creado filtros y, simultáneamente, crear muestras de capacitación.

Almacenamiento de resultados de moderación

Guardamos todas las decisiones tomadas durante la moderación para no volver a procesar aquellos anuncios sobre los que ya hemos tomado una decisión.

Cada día se crean millones de clusters basados ​​en anuncios. Con el tiempo, cada grupo se etiqueta como "bueno" o "malo". Cada nuevo anuncio o su revisión, que ingresa a un cluster con una marca, recibe automáticamente una resolución del propio cluster. Hay alrededor de 20 mil resoluciones automáticas de este tipo por día.

Cómo moderamos los anuncios

Si no llegan nuevos anuncios al clúster, se elimina de la memoria y su hash y solución se escriben en Apache Cassandra.

Cuando la plataforma recibe un nuevo anuncio, primero intenta encontrar un grupo similar entre los ya creados y encontrar una solución. Si no existe tal clúster, la plataforma va a Cassandra y busca allí. ¿Lo encontraste? Genial, aplica la solución al clúster y la envía a Yula. Hay un promedio de 70 decisiones “repetidas” cada día: el 8% del total.

En resumen

Utilizamos la plataforma de moderación Odnoklassniki durante dos años y medio. Nos gustan los resultados:

  • Moderamos automáticamente el 94% de todos los anuncios por día.
  • El coste de moderar un anuncio se redujo de 2 rublos a 7 kopeks.
  • Gracias a la herramienta lista para usar, nos olvidamos de los problemas de administrar moderadores.
  • Aumentamos 2,5 veces la cantidad de anuncios procesados ​​manualmente con la misma cantidad de moderadores y presupuesto. La calidad de la moderación manual también ha aumentado gracias al control automatizado y oscila alrededor del 0,5% de los errores.
  • Cubrimos rápidamente nuevos tipos de spam con filtros.
  • Conectamos rápidamente nuevos departamentos a la moderación "Verticales de Yula". Desde 2017, Yula ha agregado los verticales de Bienes Raíces, Vacantes y Auto.

Fuente: habr.com

Añadir un comentario