Salta al contenuto

Blog ·

Due nomi per lo stesso articolo

Un testo di collegamento che accorcia un titolo è stile di casa. Uno che sostituisce una parola è un difetto. Distinguerli richiede una misura, non un’opinione.

Di Provibr

Un lettore ha trovato nei nostri articoli tradotti qualcosa che nessun controllo automatico poteva vedere: un collegamento che prometteva una cosa e atterrava su una pagina la cui intestazione ne affermava un’altra. L’abbiamo annotato come regola e poi ci siamo messi a farne una protezione.

La protezione ovvia è «il testo del collegamento deve essere il titolo». Quella protezione è sbagliata, e scoprire perché ha richiesto l’intera misurazione.

La regola ovvia non è lo stile di casa

Abbiamo misurato ogni collegamento interno fra articoli nelle nove lingue: 1153, senza destinazioni mancanti. Poi abbiamo dato un punteggio a ogni testo di collegamento rispetto al titolo della pagina a cui punta, come sovrapposizione di parole, e abbiamo guardato tutto ciò che stava sotto una soglia di 0.55.

Erano 418. Quarantanove erano in inglese, che è la lingua di partenza e quindi per definizione non una deriva di traduzione. Quei quarantanove hanno questo aspetto:

> un collegamento che recita only ever connects outbound, che punta a un articolo intitolato The case against port forwarding your panel

Non è uno sbaglio. Un testo di collegamento breve e descrittivo scorre dentro la frase che lo circonda, e deve farlo. Una protezione sulla fascia bassa scatterebbe quattrocento volte e nominerebbe zero difetti, e una protezione che grida al lupo viene saltata, il che è peggio del non averla.

La fascia bassa è dunque stile di casa, e la cosa che cercavamo sta in tutt’altro posto.

Il difetto sta nella fascia alta, ed è una sostituzione

Il caso segnalato nel rapporto ha una sovrapposizione di 0.78. Sta ben sopra la soglia, ed è per questo che guardare sotto la soglia non avrebbe mai potuto trovarlo.

> collegamento: ein Ablauf ist ein Graph, und ein Graph muss endlich sein > titolo: Ein Flow ist ein Graph, und er muss endlich sein

Il testo del collegamento non è più corto del titolo e non è una parafrasi. Cita il titolo e ne scambia una parola. È questa la forma vera del difetto: compare una parola che il titolo non contiene e nello stesso tempo manca una parola del titolo.

Accorciare un titolo va bene, perché un collegamento dentro una frase spesso non può portarlo tutto. Aggiungere una parola di chiarimento va bene. Fare entrambe le cose insieme significa che per un solo articolo circolano due nomi, e un lettore che ha visto prima il collegamento e poi l’intestazione deve decidere se si trovi sulla pagina giusta.

Enunciata così la regola è una sola frase e sopravvive al contatto con il testo vero. Sopra la soglia di sovrapposizione, un testo di collegamento può accorciare il titolo oppure allungarlo, ma non entrambe le cose.

Due cose che sembrano un nome diverso e non lo sono

Due generi di variazione andavano filtrati via prima che la regola fosse utilizzabile, ed entrambi sono stati trovati eseguendola e leggendo il rumore.

Il primo sono le parole funzionali: articoli, congiunzioni, preposizioni. Sono strutturali e non portano alcun nome. Ogni parola di al massimo due caratteri viene tolta da entrambi i lati.

La soglia di due, invece che di tre, è misurata e non scelta. Il caso italiano dello stesso rapporto è deve essere contro un titolo che recita dev'essere: le stesse due parole, scritte con un’elisione. Con un limite di tre caratteri, dev cade fuori dal lato del titolo, non manca più nulla e il rilevamento sparisce. Una protezione tarata un carattere troppo in là sarebbe andata verde su uno dei due casi per cui era stata costruita.

Il secondo è la flessione. sell e selling, says e saying sono la stessa parola in forme diverse, e in otto lingue questo è costante. Due parole che condividono una radice di quattro caratteri contano come la stessa parola.

La controparte inglese è la cernita

Restava un insieme di rilevamenti che chiedevano un giudizio, e il giudizio doveva venire da qualcosa di diverso dal gusto.

La regola che abbiamo usato: si guardi lo stesso collegamento nella fonte inglese. Se lì l’inglese cita il proprio titolo, allora la traduzione si è allontanata da qualcosa ed è un difetto. Se in quel punto l’inglese è a sua volta descrittivo, la traduzione sta seguendo la fonte ed è stile di casa.

È una buona prova perché si può rispondere guardando, non richiede di conoscere la lingua e colloca la decisione dove sta già la fonte di verità. Ha prodotto diciotto eccezioni volute, ciascuna registrata con la sua ragione, che è sempre una frase su che cosa fa l’inglese in quel punto invece di una nota che dice «controllato».

La riparazione in sé è stata di 76 testi di collegamento su 66 file, in otto lingue: quindici in olandese, tredici in italiano, dodici in francese, otto ciascuno in rumeno e ucraino, sette ciascuno in tedesco e spagnolo, sei in portoghese e nessuno in inglese. Il diff è venuto fuori di esattamente 66 righe messe e 66 righe tolte, che è la conferma più economica che esista del fatto che nient’altro si sia mosso. Il conteggio della fascia alta è passato da 94 a 18, e i 18 sono le eccezioni.

Un elenco delle eccezioni ha bisogno di una prova che sia vivo

La protezione ha undici test: uno per lingua, uno che pretende che ogni eccezione porti una ragione e uno che pretende che ogni eccezione venga davvero colpita.

Il terzo è quello importante, e viene da una lezione costosa in un’altra parte di questa base di codice. Una voce di un elenco delle eccezioni con dentro un refuso non corrisponde a nulla. E per di più sembra completa, resta nel file per un anno e in silenzio non protegge niente. In un’altra protezione avevamo un elenco di trenta voci in cui quattro erano morte esattamente per quella ragione.

L’elenco viene quindi controllato dall’altro lato: se una sua riga non scatta mai, il test fallisce e la riga deve andarsene. Questo chiude il cerchio, perché significa che un’eccezione che è stata riparata non può più restare lì come decorazione.

La protezione è stata dimostrata rossa prima di essere creduta verde, sullo stato dell’albero precedente alla riparazione: otto test su undici sono falliti, riportando esattamente i 76 rilevamenti che sono poi stati corretti.

Due cose che questo turno ha trovato e non ha corretto

Due rilevamenti stavano fuori dal perimetro e sono stati annotati invece che riparati in silenzio.

Cinque traduzioni di un articolo avevano perso dal titolo una parola che altre quattro lingue portavano, quindi lo stesso articolo aveva un soggetto diverso in lingue diverse. È un problema di titolo più che un problema di collegamenti, ed è stato trattato a parte.

Gli articoli ucraini scrivono un termine del settore in due modi, diciassette file contro sei. È una decisione terminologica su tutto il catalogo e non un difetto in diciassette file, e prenderla di passaggio mentre si ripara qualcos’altro è il modo in cui un catalogo finisce con tre grafie invece di due.

Che cosa annoteremmo

  1. La regola che si scriverebbe partendo dal rapporto è di solito sbagliata. Misuri l’intero corpus prima di metterla in codice.
  2. Un testo di collegamento breve e descrittivo è stile di casa, e una protezione che lo colpisce nomina centinaia di non difetti.
  3. Il difetto è una sostituzione, non un accorciamento. Una parola aggiunta e una parola mancante nello stesso tempo.
  4. Guardi sopra la soglia, non sotto. Il caso vero ha totalizzato 0.78 contro una soglia di 0.55.
  5. Tari i limiti sui casi che ha, e controlli che la taratura non ne faccia sparire uno.
  6. La flessione non è un nome diverso. Una radice condivisa basta.
  7. La lingua di partenza è la cernita. Se anche lì l’inglese è descrittivo, la traduzione non sta andando alla deriva.
  8. Ogni eccezione porta una ragione, e la ragione dice che cosa fa la fonte, non che qualcuno ha guardato.
  9. Provi che il suo elenco delle eccezioni sia vivo. Una voce morta non protegge nulla e sembra completa.
  10. Dimostri rossa la protezione sullo stato vecchio, con il conteggio dei rilevamenti che dovrebbe produrre.

Per chiarezza su che cosa sia: 1153 collegamenti interni fra articoli misurati nelle nove lingue senza destinazioni mancanti, 76 riparati in 66 file, un diff di esattamente 66 righe messe e 66 tolte, la fascia alta ridotta da 94 rilevamenti alle 18 eccezioni registrate, la nuova protezione 11 test e dimostrata rossa con 8 fallimenti sull’albero vecchio, il controllo dei contenuti 851 file generati su 851 identici byte per byte, la suite web 4594 verdi dove era 4583, il controllo dei tipi pulito, il linter senza errori e una scansione dei byte sui 66 file toccati con i due conteggi di tipografia spiegati invece che supposti. Non dimostrato: c’è ancora un lettore per lingua, nessuno di loro è madrelingua, e le ragioni delle eccezioni non sono state lette da una seconda persona.

Dal lavoro di piattaforma su Provibr. La revisione del lettore che ha fatto emergere tutto questo si trova in tre difetti che nessuno script poteva vedere, e che cosa fanno nove cataloghi a un insieme di controlli fissi si trova in sedicimila chiavi, nove lingue.

Inizi con un host e un agente

Crei un account, installi l’agente con un solo comando e colleghi il suo primo host Proxmox. Il periodo di prova dura 14 giorni e non chiede alcun dato di pagamento.