{"id":30,"date":"2026-10-05T08:00:00","date_gmt":"2026-10-05T08:00:00","guid":{"rendered":"https:\/\/prensabot.com\/blog\/?p=30"},"modified":"2026-10-05T08:00:00","modified_gmt":"2026-10-05T08:00:00","slug":"cuando-la-misma-noticia-llega-50-veces-el-desafio-de-filtrar-sin-perder-lo-local","status":"publish","type":"post","link":"https:\/\/prensabot.com\/blog\/cuando-la-misma-noticia-llega-50-veces-el-desafio-de-filtrar-sin-perder-lo-local\/","title":{"rendered":"Cuando la misma noticia llega 50 veces: el desaf\u00edo de filtrar sin perder lo local"},"content":{"rendered":"<p>En el coraz\u00f3n de cualquier sistema automatizado de noticias late un problema aparentemente simple, pero t\u00e9cnicamente complejo: evitar que el mismo hecho period\u00edstico, contado por decenas de medios distintos, inunde los canales de publicaci\u00f3n. PrensaBot, la plataforma SaaS construida con Laravel y Filament, aprendi\u00f3 esta lecci\u00f3n de la manera m\u00e1s cruda durante la intensa cobertura de la crisis deportiva y los partidos de Boca Juniors. Las primeras comprobaciones, basadas \u00fanicamente en URL y hash, eran eficaces para bloquear copias literales de una misma fuente, pero resultaron completamente ciegas ante la realidad del ecosistema medi\u00e1tico: un solo evento genera cientos de notas originales, con \u00e1ngulos y fuentes locales diferentes.<\/p>\n<h2>Del hash simple al an\u00e1lisis contextual multidimensional<\/h2>\n<p>La estrategia inicial era directa: si una URL o un hash id\u00e9ntico ya hab\u00edan sido procesados, el sistema descartaba el contenido. Este m\u00e9todo, sin embargo, no distingu\u00eda entre una repetici\u00f3n t\u00e9cnica y la cobertura simult\u00e1nea de un evento masivo. El intento de corregir este fallo bajando dr\u00e1sticamente el umbral de similitud sem\u00e1ntica gener\u00f3 un efecto colateral grave: comenzaron a descartarse notas leg\u00edtimas de medios locales o con enfoques particulares, simplemente porque hablaban del mismo partido o declaraci\u00f3n. La soluci\u00f3n no pod\u00eda ser binaria.<\/p>\n<h2>La f\u00f3rmula h\u00edbrida: m\u00e1quina, tiempo y criterio editorial<\/h2>\n<p>Para superar el impasse, el equipo de desarrollo implement\u00f3 un sistema de filtrado multicapa que eval\u00faa cada contenido potencial desde m\u00faltiples perspectivas antes de decidir si es una duplicaci\u00f3n no deseada. Este proceso combina:<\/p>\n<ul>\n<li>\n<p><strong>Verificaci\u00f3n t\u00e9cnica b\u00e1sica:<\/strong> URL y hash, para captar las copias exactas.<\/p>\n<\/li>\n<li>\n<p><strong>An\u00e1lisis sem\u00e1ntico y de entidades:<\/strong> Comparaci\u00f3n del t\u00edtulo, cuerpo y las entidades nombradas (club, jugador, estadio, resultado).<\/p>\n<\/li>\n<li>\n<p><strong>Detecci\u00f3n de se\u00f1ales num\u00e9ricas:<\/strong> Identificaci\u00f3n de datos \u00fanicos como marcadores, estad\u00edsticas o cifras espec\u00edficas.<\/p>\n<\/li>\n<li>\n<p><strong>Ventana temporal:<\/strong> Contextualizaci\u00f3n del momento de publicaci\u00f3n. Una noticia sobre un gol puede tener decenas de versiones en minutos, pero un an\u00e1lisis posterior d\u00edas despu\u00e9s es probablemente una duplicaci\u00f3n.<\/p>\n<\/li>\n<li>\n<p><strong>Revisi\u00f3n humana como \u00faltimo filtro:<\/strong> La capa final que permite ajustar el criterio y salvar notas valiosas que un algoritmo puro podr\u00eda eliminar.<\/p>\n<\/li>\n<\/ul>\n<h2>Por qu\u00e9 no existe un umbral m\u00e1gico universal<\/h2>\n<p>Uno de los aprendizajes clave fue que ning\u00fan porcentaje o umbral de similitud funciona igual para todos los temas. Un partido de f\u00fatbol, una conferencia de prensa gubernamental o el lanzamiento de un producto tecnol\u00f3gico generan patrones de cobertura radicalmente distintos. Mientras que en deportes la redundancia de datos (el resultado) es alta pero el \u00e1ngulo local es valioso, en tecnolog\u00eda un anuncio puede ser id\u00e9ntico en todas las fuentes. Por ello, el sistema mantiene un umbral conservador por defecto, pero est\u00e1 dise\u00f1ado para que las reglas editoriales espec\u00edficas de cada organizaci\u00f3n cliente puedan ajustar la sensibilidad seg\u00fan la tem\u00e1tica, priorizando la exhaustividad o la unicidad seg\u00fan su estrategia.<\/p>\n<p>Este enfoque h\u00edbrido transform\u00f3 a PrensaBot de un simple recolector en un curador inteligente de informaci\u00f3n. Ya no se trata solo de evitar lo id\u00e9ntico, sino de gestionar lo similar, un desaf\u00edo que define la calidad y relevancia de cualquier flujo de noticias automatizado en la era de la sobreinformaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PrensaBot enfrent\u00f3 el caos informativo durante la cobertura de partidos de Boca: deduplicar URLs no evitaba la avalancha de notas sobre el mismo hecho. La soluci\u00f3n combin\u00f3 an\u00e1lisis sem\u00e1ntico, temporal y humano.<\/p>\n","protected":false},"author":2,"featured_media":29,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-30","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura-y-backend"],"_links":{"self":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/comments?post=30"}],"version-history":[{"count":1,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"predecessor-version":[{"id":42,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts\/30\/revisions\/42"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/media\/29"}],"wp:attachment":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}