{"id":35108,"date":"2019-10-31T22:02:22","date_gmt":"2019-10-31T19:02:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-moderiruem-obyavleniya\/"},"modified":"2019-10-31T22:02:22","modified_gmt":"2019-10-31T19:02:22","slug":"kak-my-moderiruem-obyavleniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","title":{"rendered":"Como moderamos os an\u00fancios","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/26550996eb43e06cf069d989d90fe8d5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTodo servi\u00e7o cujos usu\u00e1rios podem criar conte\u00fado pr\u00f3prio (UGC - Conte\u00fado Gerado pelo Usu\u00e1rio) \u00e9 obrigado a n\u00e3o apenas resolver quest\u00f5es de neg\u00f3cio, mas tamb\u00e9m a organizar o UGC. Uma modera\u00e7\u00e3o inadequada ou de baixa qualidade pode diminuir a atratividade do servi\u00e7o para os usu\u00e1rios, podendo at\u00e9 levar \u00e0 sua interrup\u00e7\u00e3o. <\/p>\n<p>Hoje vamos falar sobre a sinergia entre a Yula e o \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438, que nos ajuda a moderar efetivamente os an\u00fancios na Yula. <\/p>\n<p>A sinergia \u00e9 algo muito \u00fatil, e no mundo moderno, onde as tecnologias e as tend\u00eancias mudam rapidamente, ela pode se tornar um verdadeiro recurso. Por que gastar recursos escassos e tempo inventando o que j\u00e1 foi inventado e aperfei\u00e7oado por outros? <\/p>\n<p>Pensamos assim tamb\u00e9m, quando nos deparamos com a tarefa de moderar o conte\u00fado do usu\u00e1rio - imagens, textos e links. Nossos usu\u00e1rios carregam milh\u00f5es de unidades de conte\u00fado na Yula todos os dias, e sem o processamento autom\u00e1tico, moderar todos esses dados manualmente \u00e9 absolutamente invi\u00e1vel.<\/p>\n<p>Portanto, utilizamos uma plataforma de modera\u00e7\u00e3o j\u00e1 preparada, que foi aprimorada pelos nossos colegas do \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438 at\u00e9 um estado de \"quase perfei\u00e7\u00e3o\".<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Por que o \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438?<\/h2>\n<p>\nDiariamente, a rede social recebe dezenas de milh\u00f5es de usu\u00e1rios que publicam bilh\u00f5es de unidades de conte\u00fado: de fotos a v\u00eddeos e textos. A plataforma de modera\u00e7\u00e3o do \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438 ajuda a verificar volumes muito grandes de dados e a combater spammers e bots. <\/p>\n<p>A equipe de modera\u00e7\u00e3o do OK acumulou uma vasta experi\u00eancia, j\u00e1 que aperfei\u00e7oam sua ferramenta h\u00e1 12 anos. \u00c9 importante que eles n\u00e3o apenas possam compartilhar suas solu\u00e7\u00f5es j\u00e1 prontas, mas tamb\u00e9m ajustar a arquitetura de sua plataforma para nossas tarefas espec\u00edficas.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/5f98b6c93728aad3de613fffb153f3d4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA partir de agora, por conveni\u00eancia, chamaremos a plataforma de modera\u00e7\u00e3o do OK simplesmente de \"plataforma\".<\/p>\n<h2>Como tudo funciona<\/h2>\n<p>\nEntre a Yula e o \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438, a troca de dados \u00e9 realizada atrav\u00e9s de <noindex><a rel=\"nofollow\" href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/noindex>. <\/p>\n<p>Por que escolhemos esta ferramenta:<\/p>\n<ul>\n<li>Na Yula, todos os an\u00fancios passam por p\u00f3s-modera\u00e7\u00e3o, portanto, uma resposta s\u00edncrona n\u00e3o era inicialmente necess\u00e1ria.\n<\/li>\n<li>Se acontecer um imprevisto e a Yula ou o \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438 ficarem indispon\u00edveis, incluindo em raz\u00e3o de picos de carga, os dados do Kafka n\u00e3o se perder\u00e3o e poder\u00e3o ser lidos posteriormente.\n<\/li>\n<li>A plataforma j\u00e1 foi integrada com Kafka, portanto, a maioria das quest\u00f5es de seguran\u00e7a foram resolvidas.\n<\/li>\n<\/ul>\n<p>\n <img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/5aeaf03bac41c3113659d6d739021e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara cada an\u00fancio criado ou modificado pelo usu\u00e1rio no Yula, \u00e9 gerado um JSON com os dados, que \u00e9 colocado no Kafka para modera\u00e7\u00e3o posterior. Os an\u00fancios s\u00e3o carregados do Kafka para a plataforma, onde decis\u00f5es s\u00e3o tomadas automaticamente ou manualmente. An\u00fancios ruins s\u00e3o bloqueados com a indica\u00e7\u00e3o do motivo, enquanto aqueles em que a plataforma n\u00e3o encontrou viola\u00e7\u00f5es s\u00e3o marcados como \"bons\". Em seguida, todas as decis\u00f5es s\u00e3o enviadas de volta para o Yula e aplicadas no servi\u00e7o.<\/p>\n<p>Em suma, para o Yula, tudo se resume a a\u00e7\u00f5es simples: enviar o an\u00fancio para a plataforma Odnoklassniki e receber de volta a resolu\u00e7\u00e3o \"ok\" ou a raz\u00e3o pela qual n\u00e3o \u00e9 \"ok\".<\/p>\n<h2>Processamento autom\u00e1tico<\/h2>\n<p>\nO que acontece com o an\u00fancio depois que ele entra na plataforma? Cada an\u00fancio \u00e9 dividido em v\u00e1rias entidades:<\/p>\n<ul>\n<li>t\u00edtulo,\n<\/li>\n<li>descri\u00e7\u00e3o,\n<\/li>\n<li>fotos,\n<\/li>\n<li>categoria e subcategoria selecionadas pelo usu\u00e1rio para o an\u00fancio,\n<\/li>\n<li>pre\u00e7o.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/e4396a3b4378975987fe3a871c3d6fbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEm seguida, para cada entidade, a plataforma realiza clusteriza\u00e7\u00e3o para encontrar duplicatas. Textos e fotos s\u00e3o clusterizados de acordo com esquemas diferentes.<\/p>\n<p>Os textos s\u00e3o normalizados antes da clusteriza\u00e7\u00e3o para remover caracteres especiais, letras alteradas e outros ru\u00eddos. Os dados obtidos s\u00e3o divididos em N-gramas, cada um dos quais \u00e9 hashado. No final, obtemos uma multiplicidade de hashes \u00fanicos. A similaridade entre os textos \u00e9 calculada pela <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%D0%BD%D1%82_%D1%81%D1%85%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0\">medida de Jaccard<\/a><\/noindex> entre dois conjuntos obtidos. Se a similaridade for maior que o limite, os textos s\u00e3o agrupados em um \u00fanico cluster. Para acelerar a busca por clusters semelhantes, s\u00e3o utilizados MinHash e hash sens\u00edvel \u00e0 localidade.<\/p>\n<p>Para as fotos, foram desenvolvidas v\u00e1rias op\u00e7\u00f5es de jun\u00e7\u00e3o de imagens, desde a compara\u00e7\u00e3o de pHash das imagens at\u00e9 a busca de duplicatas usando uma rede neural. <\/p>\n<p>A \u00faltima abordagem \u00e9 a mais \"r\u00edgida\". Para treinar o modelo, foram selecionados grupos de tr\u00eas imagens (N, A, P), onde N n\u00e3o \u00e9 semelhante a A, enquanto P \u00e9 semelhante a A (sendo uma semi-duplicata). Em seguida, a rede neural foi treinada para garantir que A e P fossem o mais pr\u00f3ximos poss\u00edvel, enquanto A e N fossem o mais distantes poss\u00edvel. Isso resulta em menos falsos positivos em compara\u00e7\u00e3o com simplesmente usar embeddings de uma rede pr\u00e9-treinada.<\/p>\n<p>Quando a rede neural recebe imagens, ela gera um vetor de N(128) dimens\u00f5es para cada uma e faz uma solicita\u00e7\u00e3o para avaliar a similaridade da imagem. Em seguida, \u00e9 calculado um limiar, abaixo do qual imagens pr\u00f3ximas s\u00e3o consideradas duplicatas.<\/p>\n<p>O modelo \u00e9 habilidoso em identificar spammers que fotografam o mesmo produto de diferentes \u00e2ngulos para contornar a compara\u00e7\u00e3o por pHash.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/943a628a844ea124317e7eec8d3c19f7.png\" style=\"display:block;margin: 0 auto;\" \/><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/4b6f7082751ddb7581d00cf171797b1d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemplo de fotos de spam, unidas pela rede neural como duplicatas.<\/i><\/p>\n<p>Na etapa final, as duplicatas de an\u00fancios s\u00e3o pesquisadas simultaneamente tanto pelo texto quanto pela imagem.<\/p>\n<p>Se dois ou mais an\u00fancios se juntam em um cluster, o sistema inicia um bloqueio autom\u00e1tico, que, segundo certos algoritmos, escolhe quais duplicatas remover e quais manter. Por exemplo, se dois usu\u00e1rios t\u00eam fotos id\u00eanticas em seus an\u00fancios, o sistema bloquear\u00e1 o an\u00fancio mais recente.<\/p>\n<p>Ap\u00f3s a cria\u00e7\u00e3o, todos os clusters passam por uma s\u00e9rie de filtros autom\u00e1ticos. Cada filtro atribui uma pontua\u00e7\u00e3o (score) ao cluster: qual a probabilidade de conter uma amea\u00e7a identificada por esse filtro. <\/p>\n<p>Por exemplo, o sistema analisa a descri\u00e7\u00e3o do an\u00fancio e seleciona categorias potenciais para ele. Em seguida, adota a que possui a probabilidade m\u00e1xima e compara com a categoria especificada pelo autor do an\u00fancio. Se n\u00e3o coincidem, o an\u00fancio \u00e9 bloqueado por categoria incorreta. E, como somos bons e honestos, informamos diretamente ao usu\u00e1rio qual categoria ele deve escolher para que o an\u00fancio passe pela modera\u00e7\u00e3o.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/a909ea1ff91d57a225d2db1c96cd56a7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Notifica\u00e7\u00e3o de bloqueio por categoria incorreta.<\/i><\/p>\n<p>Na nossa plataforma, a aprendizagem de m\u00e1quina se sente em casa. Por exemplo, com a sua ajuda, buscamos, nos t\u00edtulos e descri\u00e7\u00f5es, produtos proibidos na R\u00fassia. E os modelos de redes neurais olham atentamente as imagens, verificando se h\u00e1 URLs, textos de spam, telefones e todas as outras 'proibi\u00e7\u00f5es'.<\/p>\n<p>Para os casos em que um produto proibido \u00e9 tentado vender disfar\u00e7ado como algo legal, e n\u00e3o h\u00e1 texto algum no t\u00edtulo ou na descri\u00e7\u00e3o, utilizamos a rotulagem de imagens. Para cada imagem, podem ser aplicadas at\u00e9 11 mil diferentes etiquetas, descrevendo o que est\u00e1 na imagem.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/865afd80422c05d1277ac53f7fe0009e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Um narguil\u00e9 est\u00e1 sendo vendido disfar\u00e7ado como um samovar.<\/i><\/p>\n<p>Ao lado dos filtros complexos, tamb\u00e9m operam filtros simples que resolvem problemas \u00f3bvios relacionados ao texto: <\/p>\n<ul>\n<li>antimat; \n<\/li>\n<li>detector de URLs e n\u00fameros de telefone; \n<\/li>\n<li>men\u00e7\u00f5es de mensageiros e outros contatos; \n<\/li>\n<li>pre\u00e7o abaixo do mercado; \n<\/li>\n<li>an\u00fancios em que nada \u00e9 vendido, etc.\n<\/li>\n<\/ul>\n<p>\nHoje, cada an\u00fancio passa por uma peneira fina de mais de 50 filtros autom\u00e1ticos que tentam encontrar algo ruim nele.<\/p>\n<p>Se nenhum dos detectores se ativar, o Yula recebe uma resposta de que o an\u00fancio \"provavelmente\" est\u00e1 em ordem. N\u00f3s aplicamos essa resposta e os usu\u00e1rios que se inscreveram no vendedor recebem uma notifica\u00e7\u00e3o sobre a disponibilidade de um novo produto.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/37ed66a822d50348686c823e6b919712.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Notifica\u00e7\u00e3o de que o vendedor tem um novo produto.<\/i><\/p>\n<p>Como resultado, cada an\u00fancio \u2018acumula\u2019 metadados, parte dos quais \u00e9 gerada no momento da cria\u00e7\u00e3o do an\u00fancio (endere\u00e7o IP do autor, user-agent, plataforma, geolocaliza\u00e7\u00e3o, etc.), enquanto o restante s\u00e3o scores atribu\u00eddos por cada filtro.<\/p>\n<h2>Filas de an\u00fancios<\/h2>\n<p>\nQuando um an\u00fancio chega \u00e0 plataforma, o sistema o coloca em uma das filas. Cada fila \u00e9 formada por meio de uma f\u00f3rmula matem\u00e1tica que combina os metadados do an\u00fancio de maneira a detectar algum padr\u00e3o ruim.<\/p>\n<p>Por exemplo, pode-se criar uma fila de an\u00fancios na categoria \u2018Celulares\u2019 de usu\u00e1rios do Yula alegadamente de S\u00e3o Petersburgo, mas com seus endere\u00e7os IP vindo de Moscovo ou de outras cidades.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/de7b944fed4fc8682ab068c5956f1023.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemplo de an\u00fancios postados por um usu\u00e1rio em diferentes cidades.<\/i><\/p>\n<p>Ou pode-se formar filas com base nas pontua\u00e7\u00f5es que a rede neural atribui aos an\u00fancios, ordenando-os em ordem decrescente.<\/p>\n<p>Cada fila, de acordo com sua f\u00f3rmula, atribui um score final ao an\u00fancio. A partir da\u00ed, diferentes a\u00e7\u00f5es podem ser tomadas: <\/p>\n<ul>\n<li>indicar um valor limite, ao qual o an\u00fancio receber\u00e1 um certo tipo de bloqueio; \n<\/li>\n<li>enviar todos os an\u00fancios da fila aos moderadores para verifica\u00e7\u00e3o manual;\n<\/li>\n<li>ou combinar as op\u00e7\u00f5es anteriores: indicar um limiar de bloqueio autom\u00e1tico e enviar aos moderadores aqueles an\u00fancios que n\u00e3o atingiram esse limiar.\n<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/46a773be691fb644df64fe68f999a568.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor que essas filas s\u00e3o necess\u00e1rias? Vamos supor que um usu\u00e1rio carregou uma foto de uma arma de fogo. A rede neural atribui uma pontua\u00e7\u00e3o de 95 a 100 e com 99% de precis\u00e3o determina que a imagem cont\u00e9m uma arma. Mas se o valor da pontua\u00e7\u00e3o for inferior a 95%, a precis\u00e3o do modelo come\u00e7a a diminuir (esta \u00e9 uma caracter\u00edstica dos modelos de redes neurais).<\/p>\n<p>Como resultado, \u00e9 formada uma fila com base na pontua\u00e7\u00e3o do modelo, e aqueles an\u00fancios que obtiveram de 95 a 100 s\u00e3o automaticamente bloqueados como \"Produto Proibido\". An\u00fancios com pontua\u00e7\u00f5es abaixo de 95 s\u00e3o enviados para uma verifica\u00e7\u00e3o manual pelos moderadores.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/0b22d783560e9670b99661df2de9d9ba.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Beretta de chocolate com muni\u00e7\u00f5es. Somente para modera\u00e7\u00e3o manual! \ud83d\ude42<\/i><\/p>\n<h2>Modera\u00e7\u00e3o manual<\/h2>\n<p>\nNo in\u00edcio de 2019, cerca de 94% de todos os an\u00fancios no Yula s\u00e3o moderados automaticamente. <\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/7dc3172e65097cc58b2a29d2df063507.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe a plataforma n\u00e3o consegue se decidir sobre alguns an\u00fancios, ela os envia para modera\u00e7\u00e3o manual. Os colegas do Odnoklassniki desenvolveram uma ferramenta pr\u00f3pria: nas tarefas para os moderadores, todas as informa\u00e7\u00f5es necess\u00e1rias para uma r\u00e1pida decis\u00e3o \u2014 se o an\u00fancio \u00e9 aceit\u00e1vel ou se deve ser bloqueado com indica\u00e7\u00e3o do motivo \u2014 s\u00e3o exibidas instantaneamente.<\/p>\n<p>E para que a qualidade do servi\u00e7o n\u00e3o seja comprometida na modera\u00e7\u00e3o manual, o trabalho das pessoas \u00e9 constantemente monitorado. Por exemplo, no fluxo de tarefas, s\u00e3o mostradas \"armadilhas\" ao moderador \u2014 an\u00fancios para os quais j\u00e1 existem solu\u00e7\u00f5es prontas. Se a decis\u00e3o do moderador n\u00e3o coincidir com a solu\u00e7\u00e3o pronta, um erro \u00e9 registrado para o moderador.<\/p>\n<p>Em m\u00e9dia, o moderador gasta 10 segundos para verificar um an\u00fancio. Al\u00e9m disso, a quantidade de erros n\u00e3o ultrapassa 0,5% de todos os an\u00fancios verificados.<\/p>\n<h2>Modera\u00e7\u00e3o popular<\/h2>\n<p>\nOs colegas do Odnoklassniki foram ainda mais longe e utilizaram \"ajuda da plateia\": criaram um aplicativo-jogo para a rede social, no qual \u00e9 poss\u00edvel marcar rapidamente uma grande quantidade de dados, destacando um certo indicador negativo \u2014 Moderador do Odnoklassniki (<noindex><a rel=\"nofollow\" href=\"https:\/\/ok.ru\/app\/moderator\">https:\/\/ok.ru\/app\/moderator<\/a><\/noindex>). Uma boa maneira de contar com a ajuda dos usu\u00e1rios do OK, que buscam tornar o conte\u00fado mais agrad\u00e1vel.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/8889b29402991047e43c1d7eaf7a3c77.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Um jogo em que os usu\u00e1rios marcam fotos que cont\u00eam um n\u00famero de telefone.<\/i><\/p>\n<p>Qualquer fila de an\u00fancios na plataforma pode ser redirecionada para o jogo Moderador do Odnoklassniki. Tudo que os usu\u00e1rios do jogo rotulam \u00e9 ent\u00e3o enviado para os moderadores internos para verifica\u00e7\u00e3o. Esse esquema permite bloquear an\u00fancios para os quais ainda n\u00e3o foram criados filtros, enquanto cria conjuntos de dados para treinamento.<\/p>\n<h2>Armazenamento dos resultados da modera\u00e7\u00e3o<\/h2>\n<p>\nMantemos todas as decis\u00f5es tomadas durante a modera\u00e7\u00e3o, para n\u00e3o processar novamente os an\u00fancios que j\u00e1 tiveram alguma decis\u00e3o.<\/p>\n<p>Diariamente, s\u00e3o criados milh\u00f5es de clusters de an\u00fancios. Com o tempo, cada cluster recebe uma marca de \"bom\" ou \"ruim\". Cada novo an\u00fancio ou sua edi\u00e7\u00e3o, ao cair em um cluster com uma marca, recebe automaticamente a resolu\u00e7\u00e3o do pr\u00f3prio cluster. Essas resolu\u00e7\u00f5es autom\u00e1ticas somam cerca de 20 mil por dia.<\/p>\n<p><img decoding=\"async\" alt=\"Como moderamos os an\u00fancios\" src=\"\/wp-content\/uploads\/0be3a108970402282121b4dc58dc3a57.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe nenhum novo an\u00fancio chega ao cluster, ele \u00e9 removido da mem\u00f3ria, e seu hash e decis\u00e3o s\u00e3o registrados no Apache Cassandra.<\/p>\n<p>Quando a plataforma recebe um novo an\u00fancio, ela primeiro tenta encontrar um cluster semelhante entre os j\u00e1 criados e obter a decis\u00e3o dele. Se n\u00e3o h\u00e1 tal cluster, a plataforma vai ao Cassandra e procura l\u00e1. Encontrou? \u00d3timo, aplica a decis\u00e3o ao cluster e envia para a Yula. Essas decis\u00f5es \"repetidas\" chegam a cerca de 70 mil diariamente, o que representa 8% do total.<\/p>\n<h2>Resumindo<\/h2>\n<p>\nEstamos usando a plataforma de modera\u00e7\u00e3o do Odnoklassniki h\u00e1 dois anos e meio. Estamos satisfeitos com os resultados:<\/p>\n<ul>\n<li>Moderamos automaticamente 94% de todos os an\u00fancios por dia.\n<\/li>\n<li>Reduzimos o custo da modera\u00e7\u00e3o de um an\u00fancio de 2 rublos para 7 copeques.\n<\/li>\n<li>Gra\u00e7as \u00e0 ferramenta pronta, esquecemos os problemas de gerenciamento de moderadores.\n<\/li>\n<li>Aumentamos em 2,5 vezes o n\u00famero de an\u00fancios processados manualmente, mantendo o mesmo n\u00famero de moderadores e or\u00e7amento. A qualidade da modera\u00e7\u00e3o manual tamb\u00e9m melhorou devido ao controle automatizado, com uma taxa de erro em torno de 0,5%.\n<\/li>\n<li>Cobrimos rapidamente novos tipos de spam com filtros.\n<\/li>\n<li>Conectamos rapidamente novos departamentos \u00e0 modera\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/vc.ru\/transport\/32671-servis-obyavleniy-yula-zapustil-razdel-dlya-prodazhi-avtomobiley-s-vydachey-kreditov\">\u00abVerticalidades da Yula\u00bb<\/a><\/noindex>. Desde 2017, a Yula lan\u00e7ou verticalidades em Im\u00f3veis, Vagas e Autos.\n<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/youla\/blog\/455128\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442 (UGC \u2014 User-generated content), \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u0438 \u043d\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432 UGC. \u041f\u043b\u043e\u0445\u0430\u044f \u0438\u043b\u0438 \u043d\u0435\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043c\u043e\u0436\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e \u0441\u0438\u043d\u0435\u0440\u0433\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u042e\u043b\u043e\u0439 \u0438 \u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0430\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35108","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Como moderamos an\u00fancios | ProHoster","description":"Cada servi\u00e7o cujos usu\u00e1rios podem criar conte\u00fado pr\u00f3prio.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0434\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u044c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kak-my-moderiruem-obyavleniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:22+00:00","article:modified_time":"2019-10-31T19:02:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35108","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 21:51:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:09:55","updated":"2026-01-21 21:51:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=35108"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35108\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}