Blog ·
Medio corpus lleva la misma etiqueta
Una etiqueta estaba en 75 de 127 artículos: el bloque de relacionados recaía en la fecha de publicación y 71 páginas no recibían ninguna tarjeta entrante.
Por Provibr
Debajo de cada artículo de este sitio hay un bloque de cuatro tarjetas encabezado seguir leyendo. Es el único enlazado interno automático que tenemos; todo lo demás es un enlace que alguien escribió dentro de una frase.
El bloque llevaba meses funcionando y nadie había preguntado qué elegía. Cuando lo medimos, sobre las páginas renderizadas de una compilación de producción y no sobre la función que las rellena, la respuesta fue que no elegía casi nada. De los 127 artículos en inglés, 71 no recibían ninguna tarjeta entrante. Al artículo mediano no lo enlazaba nadie. Cuatro artículos recibían 304 de las 508 tarjetas que existen, con 88, 76, 72 y 68 cada uno.
Un bloque que nunca nombra 71 páginas no es enlazado interno. Es una lista de los cuatro primeros con un encabezado encima.
La etiqueta no hacía ningún trabajo
La selección antigua funcionaba en tres capas de familia: misma familia con una etiqueta compartida, otra familia con una etiqueta compartida, misma familia sin ninguna. Dentro de cada capa ordenaba por fecha de publicación y tomaba cuatro.
Suena a un orden razonable, y sobre este corpus era una máquina de producir huérfanos, por un motivo que no tiene nada que ver con la ordenación: proxmox está en 75 de los 127 artículos en inglés, el 59 por ciento. Casi toda nota técnica que escribe este proyecto ocurre sobre Proxmox, así que casi toda nota recibió la etiqueta.
Una etiqueta que lleva medio corpus no distingue nada. La primera capa estaba por tanto casi siempre llena, y dentro de una capa llena por fecha significa los cuatro artículos más recientes. 300 de los 508 pares de vecinos compartían esa única etiqueta y nada más, y en 75 artículos eso valía para los cuatro vecinos a la vez. El síntoma más claro estaba en las páginas de comparación: los cuatro artículos de alternativas sobre productos de la competencia mostraban las mismas cuatro notas recientes, y por tanto nunca se mostraban entre sí ni mostraban su propia comparación directa.
Una segunda medición dice lo mismo desde el otro lado, y decidió cómo se etiquetaron los artículos que se leen ahora. De los 75 artículos en inglés que llevan proxmox, 43 no contienen la palabra Proxmox en ningún punto del cuerpo. La etiqueta había dejado de significar esto trata de Proxmox y había pasado a significar esto es de los nuestros.
Una sola puntuación, tres clases de término, ningún bonus manual
El reemplazo es una sola puntuación. Dos artículos son vecinos en la medida en que comparten términos, y un término vale ln(N / df): la clásica frecuencia inversa de documento, donde N es el número de artículos en ese idioma y df el número de los que llevan el término.
Tres clases de término viven en un mismo espacio, con prefijo para que no puedan colisionar: tag: desde el frontmatter, vorm: desde la forma del artículo, leída de su slug y su familia, y over: desde las palabras de asunto del slug.
La ponderación se deriva en lugar de fijarse. Sobre el corpus que medimos, tag:proxmox vale 0,53 y tag:dedicated 2,45. Nadie escribió ninguno de los dos números, y nadie tiene que acordarse de bajar el primero cuando llegue la decimosexta nota sobre Proxmox.
El vocabulario de asunto se deriva en lugar de escribirse. Es la unión de los slugs de integración que el sitio ya mantiene y los valores about de los bloques de afirmaciones sobre la competencia, de donde salen nombres como solusvm, tenantos, virtfusion y virtualizor: exactamente las palabras que son el asunto de una página y no son una integración. Una tercera lista escrita a mano habría sido el cuarto sitio donde vive el mismo nombre, y el primero en quedarse obsoleto.
Ponderar solo las etiquetas es peor, no la mitad de bueno
El cambio pequeño y tentador es conservar la etiqueta como única señal y limitarse a ponderarla. Medimos esa variante antes de elegir, porque es lo que alguien va a proponer la próxima vez que salga el tema.
Produce 74 huérfanos en lugar de 71, y de las 22 páginas de alternativas y de comparación exactamente una conservaba dos vecinos de su misma forma, frente a nueve. Ponderar una señal que no discrimina no hace que discrimine. La discriminación viene de vorm: y over:; la frecuencia inversa de documento solo decide cómo se reparte el peso.
Si una característica no tiene apenas varianza, ningún esquema de ponderación la rescata, y una fórmula ingeniosa sobre una mala característica parece un avance porque los números se mueven.
El desempate es la mitad de la reparación
Esta es la parte que no habríamos predicho. En 75 artículos que no comparten más que la forma de nota y la etiqueta común, la puntuación es idéntica. Todos esos pares son un empate, así que el desempate lo decide todo, y no solo los casos límite.
Ordenar los empates por fecha es el comportamiento antiguo con un abrigo nuevo: otra vez los cuatro más recientes. El desempate es ahora primero el artículo con menos tarjetas recibidas, con la fecha y el slug detrás como cierre estable.
Ese único cambio es lo que llevó el recuento de huérfanos a cero, y cuesta algo real en la forma: no se puede calcular por artículo. Hay que recorrer el idioma entero una vez, en un orden fijo, contando lo que ya se ha repartido.
En inglés: la mediana pasa de 0 a 4, el máximo de 88 a 12, los huérfanos de 71 a 0. Todos los demás idiomas llegan a la misma mediana y al mismo cero, con un máximo de 13. De los 46 pares de vecinos que no comparten ninguna etiqueta, los 46 comparten ahora la forma, mientras que antes había 37 pares que no compartían absolutamente nada.
También medimos una penalización dentro de la propia puntuación, restando un cuarto del recuento de tarjetas que ya tiene un artículo. Aplana un poco más, mínimo dos en lugar de uno, y lo paga con relevancia: la proporción de vecinos sin nada en común pasa del 9,1 al 12,2 por ciento. Un desempate solo puede, por construcción, reordenar candidatos que ya puntuaban igual, así que nunca puede expulsar a un vecino mejor. Una penalización sí.
Lo que una guarda puede afirmar honestamente aquí
La prueba que ya existía para este bloque comprobaba que el bloque estuviera lleno. Estuvo en verde todo el tiempo, y con razón: en cada página se renderizaban cuatro tarjetas. No tenía ninguna opinión sobre si trataban de algo.
La regla estricta evidente para el reemplazo está equivocada. Toda página de alternativas y de comparación debe tener al menos dos vecinos de su misma forma suena a la propiedad que se quiere, y forzaría vecinos peores: una de esas páginas trata de alternativas a cPanel, y sus cuatro mejores vecinos son cuatro artículos sobre cPanel sin ninguna coincidencia de forma. Eso es correcto, y una regla que exigiera lo contrario lo rompería. Por eso la guarda nombra las nueve páginas de las que iba realmente la ronda.
Y puede que la propiedad que se quiere sencillamente no exista sobre los datos que hay. Ningún par puede compartir solo la etiqueta más común es insatisfacible aquí. La forma honesta es comparativa: ningún candidato no elegido puntúa más alto que el vecino elegido más débil. Eso se puede comprobar, es la definición real de correcto y no finge que el corpus sea algo que no es.
Lo que dejaríamos por escrito
- Mida las páginas renderizadas, no la función. La distribución es el defecto; la función tenía buen aspecto.
- Una etiqueta sobre el 59 por ciento de un corpus no es una señal. Es una marca de estilo de la casa.
- Compruebe si su etiqueta sigue significando lo que dice su nombre. 43 de 75 no lo hacían.
- Una selección por capas con una ordenación dentro de cada capa es una ordenación. La primera capa casi siempre bastaba.
- Ordenar los empates por fecha reintroduce el sesgo de novedad allí donde los empates son frecuentes, y sobre un corpus uniforme el empate es el caso normal.
- El desempate puede ser la reparación entera. El nuestro llevó los huérfanos de 71 a cero.
- Ponderar una característica sin varianza no cambia nada. Mida la media reparación tentadora antes de descartarla con un argumento.
- Prefiera un desempate a una penalización. Un desempate no puede desplazar a un candidato mejor; el nuestro habría costado 3,1 puntos de relevancia si lo hubiera hecho.
- Derive su vocabulario de un registro que ya mantiene. Una cuarta copia del nombre de un producto es la primera en quedarse obsoleta.
- Si la propiedad que quiere es insatisfacible, escriba la comparativa. Nada de lo no elegido supera a lo elegido más débil se puede comprobar y es cierto.
Para que quede claro qué es esto: las distribuciones de antes y de después se leyeron del DOM de dos compilaciones de producción, 20 de 20 páginas coincidieron directamente con la función de selección, dos compilaciones distintas del mismo commit fueron idénticas byte a byte sobre 18 secciones de tarjetas, un rastreo de 1758 páginas no encontró huérfanos ni enlaces muertos, la guarda nueva lleva 13 pruebas de las cuales 5 se demostraron primero en rojo, el conjunto de pruebas web terminó en 4703 en verde y la comprobación de contenido en 923 de 923. Sin demostrar: el efecto de todo esto en el posicionamiento, que se puede medir dentro de cuatro a seis semanas y no antes, contra la lista registrada de las 71 páginas que antes no recibían nada.
Del trabajo de plataforma en Provibr. Lo que se deben un título y los enlaces que apuntan a él está en tres fallos que ningún script podía ver, por qué el mismo artículo puede acabar con dos nombres está en dos nombres para el mismo artículo, y el caso en que un encabezado y un título de página tienen que diferir está en cuando el título no puede ser el encabezado.