Ir para o conteúdo

Blogue ·

Uma etiqueta que metade do corpus tem

Uma etiqueta estava em 75 de 127 artigos, por isso o bloco de leitura recuava para a data de publicação e 71 páginas não recebiam mosaico nenhum.

Por Provibr

Por baixo de cada artigo deste site há um bloco de quatro mosaicos com o cabeçalho continuar a ler. É a única ligação interna automática que temos; tudo o resto é uma ligação que alguém escreveu dentro de uma frase.

O bloco estava no lugar havia meses e ninguém tinha perguntado o que era que ele escolhia. Quando o medimos, sobre as páginas geradas de uma compilação de produção e não sobre a função que as preenche, a resposta foi que não escolhia quase nada. Dos 127 artigos ingleses, 71 receberam zero mosaicos de entrada. O artigo mediano não era ligado por ninguém. Quatro artigos receberam 304 dos 508 mosaicos que existem, com 88, 76, 72 e 68 cada um.

Um bloco que nunca nomeia 71 páginas não é ligação interna. É uma lista dos quatro primeiros com um cabeçalho por cima.

A etiqueta não estava a fazer trabalho nenhum

A seleção antiga funcionava em três camadas de família: mesma família com uma etiqueta partilhada, outra família com uma etiqueta partilhada, mesma família sem nenhuma. Dentro de cada camada ordenava por data de publicação e ficava com quatro.

Isso lê-se como uma ordenação sensata e, neste corpus, era uma máquina de produzir órfãs, por uma razão que nada tem a ver com a ordenação: proxmox está em 75 dos 127 artigos ingleses, ou seja 59 por cento. Quase todas as notas técnicas que este projeto escreve acontecem sobre Proxmox, por isso quase todas as notas ficaram com a etiqueta.

Uma etiqueta que metade do corpus tem não distingue nada. A camada um estava portanto quase sempre cheia e, dentro de uma camada cheia, por data quer dizer os quatro artigos mais recentes. 300 dos 508 pares de vizinhos partilhavam essa única etiqueta e mais nada, e em 75 artigos isso era verdade para os quatro vizinhos ao mesmo tempo. O sintoma mais claro estava nas páginas de comparação: os quatro artigos de alternativas sobre produtos concorrentes punham em mosaico as mesmas quatro notas recentes, e portanto nunca uns aos outros e nunca a sua própria comparação direta.

Uma segunda medição diz o mesmo pelo outro lado, e foi ela que decidiu como etiquetámos os artigos que está a ler agora. Dos 75 artigos ingleses com proxmox, 43 não contêm a palavra Proxmox em parte nenhuma do corpo. A etiqueta tinha deixado de significar isto é sobre Proxmox e passado a significar isto é um dos nossos.

Uma pontuação, três géneros de termo, nenhum bónus manual

O substituto é uma pontuação única. Dois artigos são vizinhos na medida em que partilham termos, e um termo vale ln(N / df): a clássica frequência inversa de documentos, com N o número de artigos nessa língua e df o número que traz o termo.

Três géneros de termo vivem num só espaço, com prefixo para não poderem colidir: tag: do frontmatter, vorm: da forma do artigo lida a partir do seu slug e da sua família, e over: das palavras de assunto do slug.

A ponderação sai por si em vez de ser fixada. No corpus que medimos, tag:proxmox vale 0,53 e tag:dedicated 2,45. Ninguém escreveu nenhum destes números, e ninguém tem de se lembrar de baixar o primeiro quando aterrar a décima sexta nota sobre Proxmox.

O vocabulário de assunto é derivado em vez de escrito. É a união dos slugs de integração que o site já guarda e dos valores about dos blocos de afirmação sobre concorrentes, que é de onde vêm nomes como solusvm, tenantos, virtfusion e virtualizor: exatamente as palavras que são o assunto de uma página e não são uma integração. Uma terceira lista escrita à mão seria o quarto sítio onde vive o mesmo nome, e o primeiro a ficar desatualizado.

Ponderar só as etiquetas é pior, não meio melhor

A pequena alteração tentadora é manter a etiqueta como único sinal e limitar-se a ponderá-la. Medimos essa variante antes de escolher, porque é o que alguém vai propor da próxima vez que isto vier à baila.

Produz 74 órfãs em vez de 71, e das 22 páginas de alternativas e de comparação exatamente uma ficou com dois vizinhos da sua própria forma, contra nove antes. Ponderar um sinal que não discrimina não o faz discriminar. A discriminação vem de vorm: e de over:; a frequência inversa de documentos só decide como o peso é repartido.

Se uma característica quase não tem variância, nenhum esquema de ponderação a salva, e uma fórmula engenhosa sobre uma má característica parece progresso porque os números mexem.

O critério de desempate é metade da reparação

Eis a parte que não teríamos previsto. Em 75 artigos que não partilham nada além da forma de nota e da etiqueta comum, a pontuação é idêntica. Cada um desses pares é um empate, por isso é o critério de desempate que decide tudo, e não os casos limite.

Ordenar os empates por data é o comportamento antigo com um casaco novo: outra vez os quatro mais recentes. O critério de desempate é agora o artigo menos posto em mosaico primeiro, com a data e o slug atrás dele como fecho estável.

Foi essa única alteração que levou a contagem de órfãs a zero, e custa alguma coisa real na forma: não pode ser calculada por artigo. É preciso percorrer a língua inteira uma vez, numa ordem fixa, a contar o que já foi distribuído.

Em inglês: a mediana 0 passa a 4, o máximo 88 passa a 12, as 71 órfãs passam a 0. Todas as outras línguas chegam à mesma mediana e ao mesmo zero, com um máximo de 13. Dos 46 pares de vizinhos que não partilham etiqueta nenhuma, os 46 partilham agora a forma, onde antes 37 pares não partilhavam absolutamente nada.

Medimos também uma penalização dentro da própria pontuação, a subtrair um quarto da contagem de mosaicos que um artigo já tem. Achata ligeiramente mais, mínimo dois em vez de um, e compra isso com relevância: a proporção de vizinhos sem nada em comum passa de 9,1 para 12,2 por cento. Um critério de desempate só pode, por construção, reordenar candidatos que já pontuaram igual, por isso nunca consegue empurrar um vizinho melhor para fora. Uma penalização consegue.

O que uma guarda pode afirmar honestamente aqui

O teste existente para este bloco verificava que o bloco estava cheio. Passou sempre, e tinha razão: eram gerados quatro mosaicos em todas as páginas. Não tinha opinião nenhuma sobre se eles eram sobre alguma coisa.

A regra estrita óbvia para o substituto está errada. Toda a página de alternativas e de comparação tem de ter pelo menos dois vizinhos da sua própria forma soa à propriedade que queremos, e forçaria vizinhos piores: uma dessas páginas é sobre alternativas ao cPanel, e os seus quatro melhores vizinhos são quatro artigos sobre cPanel com zero concordância de forma. Isso está certo, e uma regra que exigisse o contrário iria estragá-lo. Por isso a guarda nomeia as nove páginas de que a ronda tratava realmente.

E a propriedade que quer pode simplesmente não existir sobre os seus dados. Nenhum par pode partilhar apenas a etiqueta mais comum é insatisfazível aqui. A forma honesta é comparativa: nenhum candidato não escolhido pontua mais alto do que o vizinho escolhido mais fraco. Isso é verificável, é a definição verdadeira de correto, e não finge que o corpus é uma coisa que não é.

O que registaríamos

  1. Meça as páginas geradas, não a função. O defeito é a distribuição; a função parecia bem.
  2. Uma etiqueta em 59 por cento de um corpus não é um sinal. É uma marca de estilo da casa.
  3. Verifique se a sua etiqueta ainda quer dizer o que o nome dela diz. 43 de 75 já não queriam dizer.
  4. Uma seleção por camadas com uma ordenação dentro de cada camada é uma ordenação. A primeira camada quase sempre chegava.
  5. Ordenar os empates por data reintroduz o enviesamento para o recente onde os empates são frequentes, e num corpus uniforme o empate é o caso normal.
  6. O critério de desempate pode ser a reparação inteira. O nosso levou as órfãs de 71 a zero.
  7. Ponderar uma característica sem variância não muda nada. Meça a meia reparação tentadora antes de a rejeitar por argumento.
  8. Prefira um critério de desempate a uma penalização. Um desempate não consegue afastar um candidato melhor; o nosso teria custado 3,1 pontos de relevância se conseguisse.
  9. Derive o seu vocabulário de um registo que já mantém. Uma quarta cópia do nome de um produto é a primeira a ficar desatualizada.
  10. Se a propriedade que quer é insatisfazível, escreva a comparativa. Nada do que não foi escolhido bate o mais fraco dos escolhidos é verificável e verdadeiro.

Para que fique claro o que isto é: as distribuições de antes e depois foram lidas do DOM de duas compilações de produção, 20 de 20 páginas concordaram diretamente com a função de seleção, duas compilações separadas do mesmo commit ficaram idênticas byte a byte ao longo de 18 secções de mosaicos, um rastreio de 1758 páginas não encontrou órfãs nem ligações mortas, a guarda nova tem 13 testes dos quais 5 foram provados vermelhos primeiro, a bateria de testes da web terminou em 4703 verdes e a verificação de conteúdo em 923 de 923. Por provar: o efeito de tudo isto na classificação, que é mensurável dentro de quatro a seis semanas e não antes, contra a lista registada das 71 páginas que não recebiam nada.

Do trabalho de plataforma na Provibr. O que um título e as ligações que apontam para ele devem um ao outro está em três falhas que nenhum script conseguia ver, porque é que o mesmo artigo pode acabar com dois nomes está em dois nomes para o mesmo artigo, e o caso em que um cabeçalho e um título de página têm de diferir está em quando o título não pode ser o cabeçalho.

Comece com um host e um agente

Crie uma conta, instale o agente com um único comando e ligue o seu primeiro host Proxmox. O período experimental dura 14 dias e não pede quaisquer dados de pagamento.