Naar de inhoud

Blog ·

Twee namen voor hetzelfde artikel

Een linktekst die een titel inkort is huisstijl. Een die een woord vervangt is een defect. Ze uit elkaar houden vroeg een meting en geen mening.

Door Provibr

Een lezer vond in onze vertaalde artikelen iets wat geen enkele geautomatiseerde controle kon zien: een link die het ene beloofde en landde op een pagina waarvan de kop iets anders beweerde. We schreven het op als een regel en gingen er daarna een bewaking van maken.

De voor de hand liggende bewaking is "de linktekst moet de titel zijn". Die bewaking is fout, en uitzoeken waarom kostte de hele meting.

De voor de hand liggende regel is niet de huisstijl

We hebben elke interne artikellink over negen talen gemeten: 1153 stuks, zonder ontbrekende doelen. Daarna hebben we elke linktekst gescoord tegen de titel van de pagina waar hij naar wijst, als een woordoverlap, en gekeken naar alles onder een drempel van 0.55.

Dat waren er 418. Negenenveertig stonden in het Engels, de brontaal, en dus per definitie geen vertaalafdrijving. Die negenenveertig zien er zo uit:

> een link met de tekst only ever connects outbound, wijzend naar een artikel met de titel The case against port forwarding your panel

Dat is geen fout. Een korte beschrijvende linktekst loopt mee in de zin eromheen en hoort dat te doen. Een bewaking op de lage band zou vierhonderd keer afgaan en nul defecten noemen, en een bewaking die vals alarm slaat wordt overgeslagen, wat erger is dan er geen hebben.

De lage band is dus huisstijl, en wat we zochten zit ergens heel anders.

Het defect zit in de hoge band, en het is een vervanging

Het geval uit het verslag heeft een overlap van 0.78. Het zit ruim boven de drempel, en daarom had onder de drempel kijken het nooit kunnen vinden.

> link: ein Ablauf ist ein Graph, und ein Graph muss endlich sein > titel: Ein Flow ist ein Graph, und er muss endlich sein

De linktekst is niet korter dan de titel en hij is geen parafrase. Hij citeert de titel en verwisselt een woord. Dat is de werkelijke vorm van het defect: er staat een woord in dat de titel niet kent en er ontbreekt tegelijk een woord uit de titel.

Een titel inkorten mag, want een link binnen een zin kan het geheel vaak niet dragen. Een verduidelijkend woord toevoegen mag. Allebei tegelijk doen betekent dat er twee namen in omloop zijn voor één artikel, en een lezer die de link zag en daarna de kop, moet beslissen of hij op de goede pagina zit.

Zo geformuleerd is de regel één zin en overleeft hij contact met echte tekst. Boven de overlapdrempel mag een linktekst de titel inkorten of hem uitbreiden, maar niet allebei.

Twee dingen die op een andere naam lijken en het niet zijn

Twee soorten variatie moesten eruit gefilterd worden voordat de regel bruikbaar was, en allebei zijn ze gevonden door hem te draaien en de ruis te lezen.

De eerste zijn functiewoorden: lidwoorden, voegwoorden, voorzetsels. Ze zijn structureel en ze dragen geen naam. Elk woord van hoogstens twee tekens valt aan beide kanten weg.

De grens van twee, en niet van drie, is gemeten en niet gekozen. Het Italiaanse geval uit hetzelfde verslag is deve essere tegen een titel waarin dev'essere staat: dezelfde twee woorden, geschreven met een elisie. Met een grens van drie tekens valt dev aan de titelkant weg, ontbreekt er niets meer, en verdwijnt de bevinding. Een bewaking die één teken te agressief afgesteld is, was groen geworden op een van de twee gevallen waarvoor ze gebouwd was.

De tweede is verbuiging. sell en selling, says en saying zijn hetzelfde woord in verschillende vormen, en in acht talen is dat een constante. Twee woorden die een stam van vier tekens delen tellen als hetzelfde woord.

De Engelse tegenhanger is de triage

Daarmee bleef een reeks bevindingen over waar een oordeel voor nodig was, en dat oordeel moest ergens anders vandaan komen dan uit smaak.

De regel die we gebruikten: kijk naar dezelfde link in de Engelse bron. Citeert het Engels daar zijn eigen titel, dan is de vertaling van iets weggedreven en is het een defect. Is het Engels daar zelf beschrijvend, dan volgt de vertaling de bron en is het huisstijl.

Dat is een goede toets omdat hij door kijken te beantwoorden is, omdat hij geen kennis van de taal vraagt, en omdat hij de beslissing legt waar de bron van waarheid al ligt. Hij leverde achttien bewuste uitzonderingen op, elk vastgelegd met de reden, en die reden is altijd een zin over wat het Engels daar doet in plaats van een notitie die "nagekeken" zegt.

De reparatie zelf was 76 linkteksten over 66 bestanden, in acht talen: vijftien in het Nederlands, dertien in het Italiaans, twaalf in het Frans, acht in zowel het Roemeens als het Oekraïens, zeven in zowel het Duits als het Spaans, zes in het Portugees, en geen in het Engels. De diff kwam uit op precies 66 regels erin en 66 regels eruit, en dat is de goedkoopste bevestiging die er is dat er verder niets bewogen heeft. De telling in de hoge band ging van 94 naar 18, en die 18 zijn de uitzonderingen.

Een allowlist heeft een test nodig die bewijst dat ze leeft

De bewaking heeft elf tests: één per taal, één die eist dat elke uitzondering een reden draagt, en één die eist dat elke uitzondering ook werkelijk geraakt wordt.

Die derde is de belangrijke, en hij komt uit een dure les elders in deze codebase. Een regel in een allowlist met een tikfout erin matcht niets. Hij ziet er bovendien compleet uit, blijft een jaar in het bestand staan, en beschermt stilletjes niets. We hadden in een andere bewaking een lijst van dertig regels waarvan er vier om precies die reden dood waren.

De lijst wordt daarom van de andere kant gecontroleerd: gaat een regel erin nooit af, dan faalt de test en moet de regel weg. Dat sluit de kring, want het betekent dat een uitzondering die gerepareerd is niet langer als versiering kan blijven hangen.

De bewaking is rood bewezen voordat ze groen geloofd werd, op de staat van de boom vóór de reparatie: acht van de elf tests faalden, met precies de 76 bevindingen die daarna gerepareerd zijn.

Twee dingen die deze ronde vond en niet repareerde

Twee bevindingen vielen buiten het bestek en zijn opgeschreven in plaats van stilletjes gerepareerd.

Vijf vertalingen van één artikel waren een woord uit de titel kwijt dat vier andere talen wel droegen, dus had hetzelfde artikel in verschillende talen een ander onderwerp. Dat is een titelprobleem en geen linkprobleem, en het is apart afgehandeld.

De Oekraïense artikelen spellen één vakterm op twee manieren, zeventien bestanden tegen zes. Dat is een terminologiebeslissing over de hele catalogus en geen defect in zeventien bestanden, en hem terloops nemen terwijl je iets anders repareert is hoe een catalogus aan drie spellingen komt in plaats van twee.

Wat we zouden opschrijven

  1. De regel die je uit het verslag zou schrijven is meestal fout. Meet het hele corpus voordat je hem vastlegt.
  2. Een korte beschrijvende linktekst is huisstijl, en een bewaking erop noemt honderden niet-defecten.
  3. Het defect is een vervanging en geen inkorting. Een woord erbij en tegelijk een woord dat ontbreekt.
  4. Kijk boven de drempel en niet eronder. Het echte geval scoorde 0.78 tegen een drempel van 0.55.
  5. Stel grenzen af op de gevallen die je hebt, en controleer dat het afstellen er niet één van laat verdwijnen.
  6. Verbuiging is geen andere naam. Een gedeelde stam is genoeg.
  7. De brontaal is de triage. Is het Engels daar ook beschrijvend, dan drijft de vertaling niet af.
  8. Elke uitzondering draagt een reden, en die reden zegt wat de bron doet, niet dat iemand gekeken heeft.
  9. Toets dat je allowlist leeft. Een dode regel beschermt niets en ziet er compleet uit.
  10. Bewijs de bewaking rood op de oude staat, met het aantal bevindingen dat ze hoort op te leveren.

Voor de duidelijkheid over wat dit is: 1153 interne artikellinks gemeten over negen talen zonder ontbrekende doelen, 76 gerepareerd in 66 bestanden, een diff van precies 66 erin en 66 eruit, de hoge band teruggebracht van 94 bevindingen naar de 18 vastgelegde uitzonderingen, de nieuwe bewaking 11 tests en rood bewezen op 8 falende tests op de oude boom, de contentcontrole 851 van de 851 gegenereerde bestanden byte-identiek, de websuite 4594 groen waar hij 4583 was, de typecontrole schoon, de linter zonder fouten, en een byteveeg over de 66 aangeraakte bestanden met de twee typografietellingen uitgelegd in plaats van aangenomen. Onbewezen: er is nog steeds één lezer per taal, geen van hen is moedertaalspreker, en de redenen bij de uitzonderingen zijn niet door een tweede persoon gelezen.

Uit het platformwerk aan Provibr. De lezersreview die dit boven water bracht staat in drie fouten die geen script kon zien, en wat negen catalogi met een verzameling vaste knoppen doen staat in zestienduizend sleutels, negen talen.

Begin met één host en één agent

Maak een account aan, installeer de agent met één commando en koppel je eerste Proxmox-host. De proefperiode loopt 14 dagen en vraagt geen betaalgegevens.