Săriți la conținut

Blog ·

Un plural vag nu este un număr

O gardă care compară numere în nouă limbi a raportat două defecte care nu erau defecte și a trecut două limbi din motive fără nicio legătură cu numerele.

De Provibr

Fiecare articol pe care îl publicăm există în nouă limbi, iar lucrul cu cele mai multe șanse să meargă prost într-o traducere nu este un cuvânt. Este un număr. O numărătoare care spune 200 într-o limbă și 20 în alta este nevăzută pentru un cititor care o vede doar pe una dintre ele, și nu există niciun corector ortografic pentru așa ceva.

Așa că există o gardă. Ia sursa engleză, scoate numerele și cere ca fiecare traducere să cuprindă cel puțin tot atâtea apariții ale aceleiași valori. Runda aceasta a produs două rapoarte roșii despre două traduceri care erau în întregime corecte, iar motivul merită consemnat.

Garda trebuie să citească cuvinte, nu cifre

Varianta evidentă a verificării acesteia compară cifre, și pe aceea am avut-o prima. Aici este aproape nefolositoare, fiindcă stilul casei în engleză scrie numerele în litere. Nu 38 de teste, ci treizeci și opt de teste; nu 1440, ci o mie patru sute patruzeci.

Așa că există o a doua gardă, cu un tabel în ea: pentru fiecare valoare care merită verificată, felul în care o scrie fiecare dintre cele nouă limbi. Numeri aparițiile din engleză, le numeri în fiecare traducere și raportezi tot ce iese în minus.

Valorile mici sunt lăsate dinadins pe dinafară. În fiecare dintre limbile acestea, cuvintele pentru unu, doi și trei sunt totodată articole, prepoziții sau bucăți din cuvinte mai lungi, iar numărarea lor ar produce sute de constatări care nu înseamnă nimic. O gardă care strigă degeaba că vine lupul ajunge să fie sărită, iar o gardă sărită este mai rea decât nicio gardă.

Numărare prin subșir și numărare de sus în jos

Două mecanisme fac cu putință restul, și amândouă nasc eșecul despre care este articolul acesta.

Primul este că potrivirea trebuie să fie una prin subșir. Neerlandeza scrie șaisprezece mii ca pe un singur cuvânt, iar singurul fel de a vedea șaisprezecele dinăuntru este să te uiți înăuntru. Câteva dintre limbile acestea compun fără oprire, așa că ancorarea pe granițele cuvintelor ar pierde cele mai multe dintre potrivirile adevărate.

Al doilea este că valorile sunt numărate de la cea mai mare la cea mai mică, iar fiecare potrivire este decupată din text înainte ca următoarea valoare să fie numărată. Fără asta, patruzeci și unu este numărat o dată ca patruzeci și unu și o dată ca patruzeci, iar apoi o limbă care scrie același număr ca pe un singur cuvânt nedespărțit pare că are unul lipsă. Șapte dintre primele treizeci și șapte de constatări pe care le-a produs vreodată garda erau exact asta, și niciuna nu era un defect.

Potrivirea prin subșir plus decuparea este proiectarea corectă. Înseamnă totodată că garda caută litere, iar literele nu sunt numere.

Cuvântul care nu este un număr

Propoziția din engleză care a stricat-o sună astfel: a guard on it names hundreds of non defects.

În propoziția aceea nu există niciun număr. Hundreds of este un cuvânt de cantitate, de același soi cu several sau plenty, și nu susține că s-ar fi întâmplat ceva de o sută de ori. Dar cuprinde literele numeralului, așa că garda a numărat o apariție a lui o sută în engleză și apoi a plecat să caute o sută în opt traduceri.

Ce a venit înapoi a fost următorul lucru. Italiana spune centinaia, româna spune sute de, iar niciunul dintre acestea nu cuprinde numeralul limbii respective pentru o sută. Două rapoarte roșii, pe două propoziții pe care un vorbitor nativ le-ar numi perfecte.

Celelalte șase au trecut, iar numai patru dintre ele au trecut dintr-un motiv. Neerlandezul honderden cuprinde honderd, germanul Hunderte cuprinde hundert, spaniolul cientos cuprinde ciento, francezul centaines cuprinde cent. Acelea patru sunt același nedefect ca italianul și ca românul; garda pur și simplu nu l-a putut vedea, fiindcă se întâmplă ca acolo cuvântul vag să fie clădit din numeral.

Ultimele două sunt cele incomode. Portugheza a trecut fiindcă cuvântul portughez pentru o sută, cem, apare înăuntrul lui parecem, într-un titlu despre două lucruri care seamănă. Ucraineana a trecut cu 39 de potriviri într-un singur articol, fiindcă literele chirilice pentru o sută stau înăuntrul cuvintelor obișnuite pentru pagină și pentru gardă.

Așadar, din opt limbi: două au căzut pe un nedefect, patru au ascuns același nedefect în spatele unei potriviri întâmplătoare de scriere, iar două au ieșit verzi pe cuvinte care nu au nicio legătură cu numerele. O gardă este vrednică de încredere doar cât motivele din spatele rezultatelor ei verzi, iar aici numai două dintre cele opt rezultate verzi erau despre numărare.

Unde trebuie să stea curățarea și de ce nu poate sta prima

Reparația este un al doilea tabel: pluralele vagi, pe limbi. Hundreds, honderden, Hunderte, cientos și centenares, centaines, centinaia, centenas, sute de și formele ucrainene. Scoateți-le înainte de numărare, fiindcă nu sunt valori.

Partea interesantă este când. Instinctul este să le scoateți la început, ca pe o trecere de curățare peste text, iar asta ar strica garda într-un fel mult mai greu de observat decât lucrul pe care îl repară.

În română, de patru sute de ori se scrie patru sute de ori. Cuprinde literal sute de. Scoateți pluralele vagi de la bun început și ați nimicit un patru sute adevărat în timp ce ștergeați o sută falsă, iar acum garda raportează româna ca fiindu-i lipsă un număr pe care îl are limpede.

Așa că scoaterea se petrece înăuntrul buclei, în clipa în care bucla ajunge la valoarea o sută. Până atunci, trecerea pentru patru sute a consumat deja patru sute, iar ce a rămas din sute de este cu adevărat cuvântul vag. Ordinea care exista dintr-un cu totul alt motiv se dovedește a fi lucrul care face asta sigur, ceea ce este un argument bun pentru a ține motivul scris lângă cod.

Cu pluralele vagi scoase, comparația a trecut de la 224 de numărători și două constatări la 216 numărători și niciuna. Numărul scade fiindcă o valoare care apare de zero ori în engleză nu mai este comparată deloc, ceea ce este exact bine: nu a fost niciodată vreo sută acolo.

Șase valori care lipseau pur și simplu

În timp ce dovedeam toate acestea, s-a văzut că tabelului îi lipseau șase dintre valorile folosite de articolele noi, așa că numerele acelea erau neverificate în câte opt limbi fiecare.

Acesta este eșecul mai obișnuit și este cel care se va mai întâmpla. Un tabel de valori este scris pentru articolele rundei care l-a creat, iar runda următoare scrie alte numere. Un rând lipsă nu eșuează; în tăcere, nu verifică nimic, ceea ce are aceeași formă ca un rând dintr-o listă de excepții cu o greșeală de tipar în el, și lucrul acesta ne-a mușcat deja.

Descrierea sinceră a gărzii acesteia este așadar: este o plasă cu ochiuri cunoscute, prinde clasa de eroare pentru care a fost construită, iar fiecare rundă trebuie să își adauge propriile valori sau nu primește nimic. Ceea ce este în regulă, atâta vreme cât nimeni nu citește un rezultat verde drept acoperire.

Ce am consemna

  1. Un cuvânt de cantitate nu este o valoare. Hundreds of este mai aproape de several decât de 100.
  2. Potrivirea prin subșir este corectă aici și este izvorul problemei. Limbile care compun au nevoie de ea.
  3. Întrebați de ce este verde fiecare rezultat verde. Patru dintre ale noastre erau întâmplare și două erau zgomot.
  4. O rădăcină scurtă de numeral se ascunde înăuntrul cuvintelor obișnuite, iar 100 chirilic stă înăuntrul cuvântului pentru pagină.
  5. Ordonați trecerile de la mare la mic și decupați fiecare potrivire, altfel compusele se numără de două ori.
  6. Unde se petrece o curățare contează la fel de mult ca ce scoate ea. Scoaterea pluralelor vagi la început nimicește un patru sute adevărat.
  7. Țineți motivul lângă ordonare, fiindcă ordonarea este de rezistență și nu pare.
  8. Un tabel de valori acoperă doar runda care l-a scris. Șase lipseau aici.
  9. Un rând lipsă este tăcut, exact ca un rând greșit tastat dintr-o listă de excepții.
  10. Spuneți ce nu acoperă o gardă, ca nimeni să nu citească verdele drept acoperire.

Ca să fie limpede ce este aceasta: comparația a rulat peste patru articole în opt limbi, 224 de numărători cu două constatări înainte ca pluralele vagi să fie tratate și 216 cu niciuna după aceea, șase valori adăugate în tabel, iar scoaterea pluralelor vagi așezată înăuntrul buclei și nu înaintea ei, ca să supraviețuiască românescul pentru patru sute. Alături de asta, runda aceea a produs 886 de articole generate fără nicio avertizare, o verificare de conținut cu 887 din 887 de fișiere identice octet cu octet, suita web la 4594 verde cu celelalte suite la 7287, comparația de fapte la 1144 de numărători fără niciun eșec, jetoanele la 64 și numele legăturilor la 72, șapte scripturi și patru reguli de tipografie dovedite roșii înainte să fie crezute verzi, și un baleiaj de așezare în pagină cu 108 verificări la 390 de pixeli față de o construcție de producție. Nedovedite: zgomotul de subșir din ucraineană și portugheză este înțeles, dar nu înlăturat, ceea ce cere un cititor morfologic și nu un tabel, iar fiecare traducere are în continuare un singur cititor.

Din munca de platformă la Provibr. Ce fac nouă cataloage unui set de comenzi fixe se află în șaisprezece mii de chei, nouă limbi, garda care deosebește un text de legătură scurtat de unul înlocuit se află în două nume pentru același articol, iar recenzia de cititor care a pornit toată seria aceasta se află în trei defecte pe care niciun script nu le vedea.

Începeți cu o gazdă și un agent

Creați un cont, instalați agentul cu o singură comandă și conectați primul dumneavoastră host Proxmox. Perioada de probă durează 14 zile și nu cere date de plată.