Ir al contenido

Usuario:Benjavalero/Replacer/Personalizados

De Wikipedia, la enciclopedia libre

El propósito de esta sección es explicar cómo funcionan actualmente los reemplazos personalizados con el fin de mejorar y refinarlos tanto técnica como funcionalmente.

Para entender cómo funcionan los personalizados, creo conveniente ver primero cómo funcionan los reemplazos comunes.

Reemplazos comunes[editar]

Los reemplazos comunes son los existentes en los listados, con el típico «formato de término + distinción de mayúsculas + alternativas».

Replacer indexa periódicamente todos los artículos de la Wikipedia para buscar de antemano las ocurrencias de estos reemplazos comunes, con el fin de poder listar después cuáles y cuántos quedan por revisar:

  • Se ignoran los reemplazos que coincidan con alguna de las reglas establecidas para falsos positivos
  • Se ignoran los reemplazos que ya han sido revisados con anterioridad por algún usuario. Para saber si es el mismo reemplazo, se compara la posición en el texto y su contexto (una porción del texto que lo rodea). Considero que esta solución está bastante equilibrada: de este modo evitamos revisar una y otra vez los mismos reemplazos, pero por otra parte permite volver a revisarlos si su contexto varía.
  • Toda la información sobre los reemplazos por revisar y los ya revisados se almacena en una base de datos

A favor A favor Este sistema permite obtener estadísticas bastante fiables de los reemplazos por revisar. Además, al revisar un reemplazo concreto, ya tenemos una lista de artículos potenciales, lo cual nos evita hacer llamadas innecesarias a Wikipedia para recuperar el contenido de los artículos. Esto es importante en reemplazos con muchas ocurrencias, ya que podríamos estar haciendo cientos o miles de llamadas a Wikipedia para recuperar artículos que al final son descartados por contener falsos positivos o reemplazos ya revisados.

En contra En contra La lista no refleja la realidad actual, sino la realidad en el momento en que se hizo la indexación, y algunos reemplazos podrían no aparecer hasta la siguiente indexación o bien ya haber sido corregidos sin usar Replacer.

Reemplazos personalizados[editar]

Los reemplazos personalizados permiten buscar reemplazos que no están en los listados comunes.

Quiero destacar que creé esta funcionalidad pensando en reemplazos con tan poquitas ocurrencias que no valía la pena añadirlos a los listados. De ahí que el rendimiento no fuera una prioridad. Un ejemplo podría ser reemplazar «Luka Doncic» por «Luka Dončić», con 10–20 ocurrencias. En cambio, si queremos reemplazar «Presidente» por «presidente», esta funcionalidad tal y como está planteada se nos puede ir de las manos.

El algoritmo actual es el siguiente:

  1. Se consulta a la Wikipedia para obtener los títulos de las páginas candidatas que contienen el reemplazo. Esta consulta es similar a la que se puede hacer manualmente con la caja de búsqueda en Wikipedia. Afortunadamente, Wikipedia proporciona algunos trucos para poder distinguir caracteres acentuados o mayúsculas y minúsculas si procede, por lo que los resultados de esta consulta en principio se ajustan bastante a la realidad.
  2. Para la primera página candidata, se llama a Wikipedia para recuperar el contenido de la página. Replacer verifica que en efecto la página contiene el reemplazo deseado y que no es un falso positivo, y presenta la página para su revisión. Este proceso se repite hasta que Replacer encuentre una página candidata que sea revisable.

Con el uso, he ido detectando o he sido informado de varios problemas con los reemplazos personalizados, especialmente cuando tienen muchas ocurrencias.

Actualmente la herramienta avisa al usuario de que el reemplazo introducido tiene muchas ocurrencias, y le anima a añadirlo a los listados comunes, pero este aviso no es bloqueante. En mi opinión, los problemas descritos en la siguiente sección se solventarían de manera bastante satisfactoria limitando los reemplazos personalizados a los casos con pocas ocurrencias, pongamos menos de 50, esto es, haciendo que el aviso sí sea bloqueante.

Posibles problemas y mejoras[editar]

Se han dado casos de reemplazos con muchísimos falsos positivos que la herramienta descarta automáticamente. Imaginemos un reemplazo con 250 ocurrencias, pero que las 200 primeras son falsos positivos. Cada vez que busquemos, llamaremos 200 veces a Wikipedia de manera innecesaria para recuperar el contenido de páginas que luego no se van a revisar, con el consiguiente abuso de llamadas y lentitud en la herramienta.

Actualmente esto se resuelve parcialmente guardando una lista temporal con las páginas descartadas. Pero si se repite la revisión al día siguiente, esta lista temporal ya habrá desaparecido y vuelta a empezar. Una opción sería guardar esa lista de páginas descartadas de manera persistente. Pero entonces si alguna vez hay cambios en alguna de esas páginas, jamás podremos revisitarlas. Quizá se podría optar por este apaño, y volver a tener en cuenta las páginas descartadas pasado cierto tiempo prudencial. Otro de los inconvenientes es que no se calcula bien el número de páginas pendientes de revisar.

Se han dado casos de reemplazos con muchos falsos positivos que son descartados manualmente por los usuarios. En estos casos, la herramienta sí persiste las páginas revisadas para ese reemplazo, y las ignora en el paso 2 del algoritmo en siguientes pasadas.

Igual que antes, esta solución implica que una vez que una página se marca como revisada para un reemplazo, jamás podremos revisitarla. De nuevo, podríamos optar por el apaño de tener en cuenta las páginas descartadas pasado cierto tiempo prudencial, o bien tener en cuenta la posición y el contexto del reemplazo de forma similar a como se hace con los reemplazos comunes.

Hay casos de reemplazos personalizados que con el tiempo promocionan a reemplazo común cuando algún usuario lo añade al listado correspondiente. Esto hace que las revisiones hechas cuando era personalizado no se tengan en cuenta y haya que volver a revisar de nuevo.

Esto pretendo solucionarlo, aunque lamentablemente no podrá ser de manera retroactiva, guardando la posición y el contexto de los reemplazos personalizados por si algún día promocionan para tenerlos en cuenta.