Ги проверивме сите машински преводи. Проверките беа делот што беше погрешен.

Јазици

Пред да го објавиме нашиот комплет за превод, го пуштивме на мала примерна апликација: 70 низи во шест формати (JSON, Flutter ARB, Android, Apple .strings, gettext и Markdown) на германски, руски, јапонски, арапски и шпански, со отворен модел со 27 милијарди параметри на нашата сопствена машина. Секоја преведена низа поминува низ проверки пред да биде запишана. Четири од 350 беа отфрлени. Сите четири отфрлања беа погрешни.

Што бараат проверките

Превод што ја расипува апликацијата е полош од никаков, па затоа секоја низа мора да ги задржи своите резервирани места (%1$s, {name}, {{count}}), своите ознаки, преломи на редови и URL-адреси; мора да биде во писмото на целниот јазик; не смее да биде празна, да излезе од контрола или да остане на англиски; и множинските форми мора да ги покријат точно категориите што јазикот ги има. Ниса што не поминува се бара повторно со наведен проблем, а онаа што повторно не поминува се остава надвор, па апликацијата за таа низа прикажува англиски.

Четирите отфрлања

Откако проверките беа поправени, второто пуштање го праша моделот само за тие четири низи, бидејќи сè друго беше во меморијата за превод, и ги запиша сите 350 за 45 секунди.

Делот за кој очекувавме да не успее, а не успеа

Множинските форми се местото каде што наивниот превод се крши: англискиот има една и друга форма, рускиот има една, малку, многу и друга, арапскиот има шест категории, а јапонскиот има единствена форма. Побаравме точно категориите на целниот јазик и ги проверивме резервираните места во секоја форма. Моделот напиша „1 день, 2 дня, 5 дней“ за рускиот и сите шест форми за арапскиот. Секоја Android множина помина при првиот обид на сите пет јазици, како и секоја множина порака освен јапонската, која нашата проверка погрешно ја прочита.

Она што ниту една проверка не може да го фати

Потоа ги преведовме 22-те веб-стрингови од примерот на сите 42 јазици што Polyglot ги познава: 924 од 924 стрингови поминаа. При читањето, еден се истакна. На кмерски, „You are offline“ се врати како реченица што вели „вие сте онлајн“. Тоа е правилно формирана кмерска реченица во точниот писмен систем, без ништо недостасувачко, па сите проверки ја прифатија. Проверките го фаќаат она што го крши апликацијата; погрешното значење бара човек кој го чита јазикот.

Заклучокот

Автоматските проверки на машински излез бараат реален излез против кој ќе се тестираат. Единичните тестови со измислени преводи поминаа; реален модел што пишува реален јапонски ги најде празнините за неколку минути. Polyglot доаѓа со овие проверки, поправени, и со тестовите за секој од четирите случаи.

Ажурирано: