Como moderamos os anuncios

Como moderamos os anuncios

Cada servizo cuxos usuarios poden crear o seu propio contido (UGC - User-generated content) vese obrigado non só a resolver problemas empresariais, senón tamén a poñer as cousas en orde en UGC. A moderación do contido deficiente ou de baixa calidade pode, en última instancia, reducir o atractivo do servizo para os usuarios, chegando incluso a poñer fin ao seu funcionamento.

Hoxe falarémosche da sinerxía entre Yula e Odnoklassniki, que nos axuda a moderar de forma eficaz os anuncios en Yula.

A sinerxía en xeral é algo moi útil, e no mundo moderno, cando as tecnoloxías e as tendencias cambian moi rapidamente, pode converterse nun salvavidas. Por que desperdiciar recursos e tempo escasos inventando algo que xa se inventou e se lle trouxo á mente?

Pensamos o mesmo cando nos enfrontamos á tarefa completa de moderar o contido dos usuarios: imaxes, texto e ligazóns. Os nosos usuarios cargan millóns de contidos en Yula todos os días, e sen procesamento automático é completamente imposible moderar todos estes datos manualmente.

Polo tanto, usamos unha plataforma de moderación preparada, que para ese momento os nosos compañeiros de Odnoklassniki completaran ata un estado de "case perfección".

Por que Odnoklassniki?

Todos os días, decenas de millóns de usuarios achéganse á rede social e publican miles de millóns de contidos: desde fotos ata vídeos e textos. A plataforma de moderación Odnoklassniki axuda a comprobar volumes moi grandes de datos e contrarrestar os spammers e bots.

O equipo de moderación de OK acumula moita experiencia, xa que leva 12 anos mellorando a súa ferramenta. É importante que non só poidan compartir as súas solucións preparadas, senón que tamén poidan personalizar a arquitectura da súa plataforma para adaptala ás nosas tarefas específicas.

Como moderamos os anuncios

A partir de agora, para brevidade, chamaremos simplemente "plataforma" á plataforma de moderación OK.

Como funciona todo

Establécese o intercambio de datos entre Yula e Odnoklassniki Apache Kafka.

Por que escollemos esta ferramenta:

  • En Yula, todos os anuncios son posmoderados, polo que inicialmente non era necesaria unha resposta sincrónica.
  • Se se produce un parágrafo incorrecto e Yula ou Odnoklassniki non están dispoñibles, incluso debido a algúns picos de carga, os datos de Kafka non desaparecerán en ningún lugar e pódense ler máis tarde.
  • A plataforma xa estaba integrada con Kafka, polo que se resolveron a maioría dos problemas de seguridade.

Como moderamos os anuncios

Por cada anuncio creado ou modificado polo usuario en Yula, xérase un JSON con datos, que se coloca en Kafka para a súa posterior moderación. Desde Kafka, os anuncios cárganse na plataforma, onde se adxudican de forma automática ou manual. Os anuncios erróneos bloquearanse cun motivo, e aqueles nos que a plataforma non atopa infraccións márcanse como "bos". Entón, todas as decisións son enviadas de volta a Yula e aplicadas no servizo.

Ao final, para Yula todo se reduce a simples accións: enviar un anuncio á plataforma Odnoklassniki e obter unha resolución "ok", ou por que non "ok".

Procesamento automático

Que pasa co anuncio despois de que chega á plataforma? Cada anuncio divídese en varias entidades:

  • Nome,
  • descrición,
  • fotos,
  • categoría e subcategoría seleccionadas polo usuario do anuncio,
  • o prezo.

Como moderamos os anuncios

Despois, a plataforma realiza a agrupación para cada entidade para atopar duplicados. Ademais, o texto e as fotografías agrúpanse segundo esquemas diferentes.

Antes da agrupación, os textos normalízanse para eliminar caracteres especiais, letras modificadas e outro lixo. Os datos recibidos divídense en N-gramos, cada un dos cales ten un hash. O resultado son moitos hash únicos. A semellanza entre textos vén determinada por A medida de Jaccard entre os dous conxuntos resultantes. Se a semellanza é maior que o limiar, entón os textos únense nun só grupo. Para acelerar a busca de clústeres similares, utilízanse MinHash e hash sensible á localidade.

Inventáronse varias opcións para pegar imaxes para fotografías, desde comparar imaxes de pHash ata buscar duplicados mediante unha rede neuronal.

O último método é o máis "severo". Para adestrar o modelo, seleccionáronse trillizos de imaxes (N, A, P) nas que N non é semellante a A e P é semellante a A (é un semiduplicado). Entón, a rede neuronal aprendeu a achegar A e P o máis posible, e A e N o máis lonxe posible. Isto resulta en menos falsos positivos en comparación con simplemente tomar incorporacións dunha rede previamente adestrada.

Cando a rede neuronal recibe imaxes como entrada, xera un vector N(128) dimensional para cada unha delas e faise unha solicitude para avaliar a proximidade da imaxe. A continuación, calcúlase un limiar no que as imaxes próximas considéranse duplicadas.

O modelo é capaz de atopar con habilidade os spammers que fotografan especificamente o mesmo produto desde diferentes ángulos para evitar a comparación de pHash.

Como moderamos os anunciosComo moderamos os anuncios
Un exemplo de fotos de spam pegadas por unha rede neuronal como duplicadas.

Na fase final, os anuncios duplicados son buscados simultaneamente por texto e imaxe.

Se dous ou máis anuncios están pegados nun clúster, o sistema inicia o bloqueo automático, que, mediante certos algoritmos, selecciona que duplicados eliminar e cales deixar. Por exemplo, se dous usuarios teñen as mesmas fotos nun anuncio, o sistema bloqueará o anuncio máis recente.

Unha vez creados, todos os clústeres pasan por unha serie de filtros automáticos. Cada filtro atribúe unha puntuación ao clúster: a probabilidade de que conteña a ameaza que identifica este filtro.

Por exemplo, o sistema analiza a descrición dun anuncio e selecciona posibles categorías para el. Despois toma o que ten a máxima probabilidade e compárao coa categoría especificada polo autor do anuncio. Se non coinciden, o anuncio bloquearase para a categoría incorrecta. E como somos amables e honestos, dicímoslle directamente ao usuario que categoría debe seleccionar para que o anuncio pase a moderación.

Como moderamos os anuncios
Notificación de bloqueo por categoría incorrecta.

A aprendizaxe automática séntese como en casa na nosa plataforma. Por exemplo, coa súa axuda buscamos nos nomes e descricións de produtos prohibidos na Federación Rusa. E os modelos de redes neuronais "examinan" meticulosamente as imaxes para ver se conteñen URL, textos de spam, números de teléfono e a mesma información "prohibida".

Para os casos nos que tentan vender un produto prohibido disfrazado de algo legal e non hai texto nin no título nin na descrición, utilizamos a etiquetaxe de imaxes. Para cada imaxe pódense engadir ata 11 mil etiquetas diferentes que describen o que hai na imaxe.

Como moderamos os anuncios
Están tentando vender a cachimba disfrazándoa de samovar.

Paralelamente aos filtros complexos, tamén funcionan os sinxelos, resolvendo problemas obvios relacionados co texto:

  • antimat;
  • detector de URL e número de teléfono;
  • mención de mensaxería instantánea e outros contactos;
  • prezo reducido;
  • anuncios nos que non se vende nada, etc.

Hoxe, cada anuncio pasa por unha fina peneira de máis de 50 filtros automáticos que tentan atopar algo malo no anuncio.

Se ningún dos detectores funcionou, entón envíase unha resposta a Yula dicindo que o anuncio está "probablemente" en perfecto orde. Usamos esta resposta nós mesmos e os usuarios que se subscribían ao vendedor reciben unha notificación sobre a dispoñibilidade dun novo produto.

Como moderamos os anuncios
Notificación de que o vendedor ten un produto novo.

Como resultado, cada anuncio está "sobretodo" de metadatos, algúns dos cales xéranse cando se crea o anuncio (enderezo IP do autor, axente de usuario, plataforma, xeolocalización, etc.), e o resto é a puntuación emitida por cada filtro. .

Colas de anuncios

Cando un anuncio chega á plataforma, o sistema pono nunha das filas. Cada cola créase mediante unha fórmula matemática que combina metadatos de anuncios de forma que detecta calquera patrón incorrecto.

Por exemplo, pode crear unha cola de anuncios na categoría "Teléfonos móbiles" de usuarios de Yula supostamente de San Petersburgo, pero os seus enderezos IP son de Moscova ou doutras cidades.

Como moderamos os anuncios
Un exemplo de anuncios publicados por un usuario en diferentes cidades.

Ou pode formar filas en función das puntuacións que a rede neuronal asigna aos anuncios, dispoñéndoos en orde descendente.

Cada cola, segundo a súa propia fórmula, asigna unha puntuación final ao anuncio. Entón podes proceder de diferentes xeitos:

  • especificar o limiar no que un anuncio recibirá un determinado tipo de bloqueo;
  • enviar todos os anuncios da cola aos moderadores para a súa revisión manual;
  • ou combinar as opcións anteriores: especificar o limiar de bloqueo automático e enviar aos moderadores aqueles anuncios que non alcanzaron este limiar.

Como moderamos os anuncios

Por que son necesarias estas colas? Digamos que un usuario cargou unha foto dunha arma de fogo. A rede neuronal asígnalle unha puntuación de 95 a 100 e determina cun 99 por cento de precisión que hai un arma na imaxe. Pero se o valor da puntuación é inferior ao 95%, a precisión do modelo comeza a diminuír (esta é unha característica dos modelos de redes neuronais).

Como resultado, fórmase unha cola en función do modelo de puntuación, e aqueles anuncios que recibiron entre 95 e 100 bloquearanse automaticamente como "Produtos prohibidos". Os anuncios cunha puntuación inferior a 95 envíanse aos moderadores para o seu procesamento manual.

Como moderamos os anuncios
Beretta de chocolate con cartuchos. Só para moderación manual! 🙂

Moderación manual

A principios de 2019, preto do 94% de todos os anuncios en Yula son moderados automaticamente.

Como moderamos os anuncios

Se a plataforma non pode decidir sobre algúns anuncios, envíaos para a moderación manual. Odnoklassniki desenvolveu a súa propia ferramenta: as tarefas dos moderadores mostran inmediatamente toda a información necesaria para tomar unha decisión rápida: o anuncio é axeitado ou debe bloquearse, indicando o motivo.

E para que a calidade do servizo non sufra durante a moderación manual, o traballo das persoas está constantemente monitorizado. Por exemplo, no fluxo de tarefas, móstranse ao moderador "trampas", anuncios para os que xa hai solucións preparadas. Se a decisión do moderador non coincide coa terminada, o moderador recibe un erro.

De media, un moderador pasa 10 segundos comprobando un anuncio. Ademais, o número de erros non supera o 0,5% de todos os anuncios verificados.

A moderación da xente

Os compañeiros de Odnoklassniki foron aínda máis alá e aproveitaron a "axuda do público": escribiron unha aplicación de xogos para a rede social na que pode marcar rapidamente unha gran cantidade de datos, destacando algún mal sinal - Odnoklassniki Moderador (https://ok.ru/app/moderator). Unha boa forma de aproveitar a axuda dos usuarios de OK que intentan facer o contido máis agradable.

Como moderamos os anuncios
Un xogo no que os usuarios etiquetan fotos que teñen un número de teléfono.

Calquera cola de anuncios da plataforma pode ser redirixida ao xogo Odnoklassniki Moderator. Todo o que marcan os usuarios do xogo envíase a moderadores internos para que o revisen. Este esquema permítelle bloquear anuncios para os que aínda non se crearon filtros e crear simultaneamente mostras de adestramento.

Almacenamento de resultados de moderación

Gardamos todas as decisións tomadas durante a moderación para que non volvamos a procesar aqueles anuncios sobre os que xa tomamos unha decisión.

Cada día créanse millóns de clusters a partir de anuncios. Co paso do tempo, cada clúster é etiquetado como "bo" ou "malo". Cada anuncio novo ou a súa revisión, ingresando nun clúster cunha marca, recibe automaticamente unha resolución do propio clúster. Hai preto de 20 mil resolucións automáticas deste tipo por día.

Como moderamos os anuncios

Se non chegan novos anuncios ao clúster, elimínase da memoria e o seu hash e a súa solución escríbense en Apache Cassandra.

Cando a plataforma recibe un novo anuncio, primeiro tenta buscar un clúster similar entre os xa creados e tomarlle unha solución. Se non hai tal clúster, a plataforma vai a Cassandra e mira alí. Atopaches? Xenial, aplica a solución ao clúster e envíalla a Yula. Hai unha media de 70 mil decisións "repetidas" cada día, o 8% do total.

Resumo

Levamos dous anos e medio usando a plataforma de moderación Odnoklassniki. Gústannos os resultados:

  • Moderamos automaticamente o 94 % de todos os anuncios ao día.
  • O custo de moderar un anuncio reduciuse de 2 rublos a 7 copeques.
  • Grazas á ferramenta preparada, esquecémonos dos problemas de xestión de moderadores.
  • Aumentamos o número de anuncios procesados ​​manualmente 2,5 veces co mesmo número de moderadores e orzamento. A calidade da moderación manual tamén aumentou debido ao control automatizado e oscila arredor do 0,5% dos erros.
  • Cubrimos rapidamente novos tipos de spam con filtros.
  • Conectamos rapidamente novos departamentos á moderación "Yula Verticais". Desde 2017, Yula engadiu as verticais de Inmobles, Vacantes e Automóbiles.

Fonte: www.habr.com

Engadir un comentario