У машыннага перакладу ёсць старая праверка. Перакладаеш тэкст, потым перакладаеш вынік назад. Калі вярнуўся зыходнік, сярэдзіне можна верыць. Я ў гэтую праверку верыў і ні разу не лічыў, колькі яна прапускае. Каб гэта палічыць, патрэбна пара, у якой я сам магу прачытаць сярэдзіну і сказаць, ці правільная яна. Для мяне гэта пара з англійскай на рускую і назад.
Сумнеў не новы. Гаральд Сомерс яшчэ ў 2005 годзе пісаў, што зваротны пераклад дрэнна падыходзіць для ацэнкі сістэмы перакладу. Дрэнная сярэдзіна можа вярнуцца так, быццам усё ў парадку. Я хацеў паглядзець на гэта на сваіх сказах, адразу на некалькіх відах сэнсу і з асобнай праверкай сярэдзіны.
Стэнд
Мадэлі opus-mt-en-ru і opus-mt-ru-en ад Helsinki-NLP, гэта MarianMT, рэвізіі верасня 2022 года са сваім канфігам, гэта значыць beam search на 4 прамяні. Python 3.9, torch 1.13, transformers 4.25.1, толькі CPU, 4 ядры віртуальнай машыны на AMD EPYC. Адзін круг з 600 сказаў туды і 600 назад займае каля 4 хвілін.
Скрыпт з seed 2022 напісаў 600 кароткіх англійскіх сказаў, па 100 кожнага з 6 відаў. У кожным ёсць тое, што рэгулярка можа праверыць пасля круга:
- лік з валютай або датай, напрыклад
The invoice for 1,028,211 zlotys is due on 26 December.; - слова адмаўлення накшталт
notабоneverу 50 сказах і тыя ж 50 без яго; - мадальны дзеяслоў
must,mayабоshould; - мяжа
at least,at most,more thanабоless thanз лікам; - роля і займеннік,
The doctor called because she needs the invoice.; - імёны людзей і назвы кампаній, у асноўным польскія і беларускія, частка з дыякрытыкай.
Потым я прагнаў 5 кругоў. Кожны круг перакладае англійскую, што вярнулася з папярэдняга.
Першы круг
Лікі вярнуліся 100 з 100. Слова адмаўлення вярнулася 50 з 50. У 50 сказах без адмаўлення яно не з’явілася ні разу. Займеннікі вярнуліся 100 з 100. Межы вярнуліся 92 разы. 7 разоў at least або at most проста зніклі. The office is at most 80 kilometers from the station вярнулася як The office is 80 kilometres from the station. Адзін раз 3631 долар ператварыўся ў 631.
Від мадальнасці вярнуўся 67 разоў. should 32 разы з 33 стаў должен па-руску і must або has to па-англійску. У рускай ёсць мякчэйшае слова, следует, але мадэль узяла яго толькі адзін раз.
Горш за ўсё выйшла з імёнамі. З 300 імёнаў дакладна вярнуліся 113. З 65 з польскімі літарамі толькі 7. Piotr стаў Peter, Paweł Wiśniewski стаў Pavel Vignevsky. Сетка крам Żabka па-руску стала Абка, па-англійску Abka, кампанія Mleczna Dolina стала Melena Valley.
Да гэтага месца чаканне спраўдзілася напалову. Што знікне дыякрытыка, я чакаў, а што Piotr стане Peter, не. А займеннікі, за якія я хваляваўся больш за ўсё, вярнуліся ўсе.
Дзе памылілася мая праверка
Скрыпт сказаў, што з адмаўленнем усё ідэальна. Потым я вачыма прачытаў усе 600 рускіх сказаў першага круга і знайшоў 3 рэчы, якіх скрыпт не ўбачыў.
Арандатар стаў арандадаўцам ва ўсіх 21 сказе. The tenant has not paid the rent for 30 months пайшло на рускую як Арендодатель не платил арендную плату. Гэта значыць, не плаціў арандадавец. Вярнулася The lessor did not pay rent for 30 months. not на месцы, праверка адмаўлення прайшла, толькі грошы цяпер вінен іншы чалавек.
Другая памылка ў адваротны бок. The fee is not refundable after 3 days стала не подлежит возмещению. Па-руску гэта правільна. Вярнулася This fee is not payable. У 9 з 10 такіх сказаў руская была правільнай, а англійская, што вярнулася, не. Значыць, у гэтых 9 памылка здарылася на зваротным шляху.
Трэцяя рэч гэта invoice. Часам мадэль перакладае яго як счёт-фактура, фармальны дакумент. Часам проста як счёт. счёт-фактура вярнулася як invoice 46 разоў з 46. Просты счёт вярнуўся як invoice 0 разоў з 20, часцей за ўсё як account. Па-руску счёт гэта яшчэ і банкаўскі рахунак.
У другі бок
З займеннікамі, дзе праверка паказала 100 з 100, знайшлася свая бяда.
У рускай у дзеяслова ў прошлым часе ёсць род. У 16 з 60 сказаў з такім дзеясловам род дзеяслова ідзе за звыклым родам прафесіі, а не за займеннікам. The accountant called because she needs the invoice стала Бухгалтер позвонил, потому что ей нужен счет. Рускі чытач хутчэй за ўсё ўбачыць тут 2 чалавекі. Пазваніў мужчына, а рахунак патрэбны нейкай жанчыне. Мужчынскі род дзеяслова пасля “бухгалтер” магчымы і пра жанчыну, таму гэта не доказ, што людзей 2, але чытача туды штурхае. У 13 выпадках з 16 гэта мужчынскі дзеяслоў побач з she. З медсястрой 3 разы было наадварот: жаночы дзеяслоў побач з he.
Вярнулася The accountant called because she needs an account. Праверку займенніка прайшлі ўсе 16 сказаў. У англійскага дзеяслова роду няма, таму памылцы з сярэдзіны ў англійскай, што вярнулася, проста няма дзе праявіцца. Англійская фраза і сама крыху двухсэнсоўная, she можа быць кімсьці іншым, але я чытаю яе як фразу пра 1 чалавека.
Яшчэ кругі
Я чакаў, што тэкст перастане мяняцца пасля 2 або 3 кругоў. Амаль так і выйшла. У параўнанні з папярэднім кругам у 1-м змяніліся 540 сказаў, потым 172, 63, 31 і 25. Слова ў слова зыходнік вярнуўся толькі ў 60 выпадках з 600.
Пасля першага круга нешта страцілі 138 сказаў, пасля 5 кругоў 142. Я ўжо збіраўся напісаць, што кругі з 2-га па 5-ы дадаюць 4 новыя страты. Потым паглядзеў на іх. 1 гэта мая ўласная рэгулярка: at most 1817 вярнулася як does not require more than 1,817, а гэта тое ж самае. Мой шаблон ведаў толькі not more than, напісанае запар. Яшчэ 1 гэта проста сумесь раздзяляльнікаў у 1,028 211. 2 мяняюць сэнс. Our rent went up to 54,466 zlotys у 2-м крузе стала 54 466 человек, гэта 54 466 чалавек. У 5-м крузе арэнда была ўжо $54,466. У 2-м крузе распрацоўшчык, які быў she, стаў Застройщик, гэта забудоўшчык. Руская страціла займеннік, а англійская вярнулася з he.
З 25 сказаў, якія яшчэ мяняюцца ў 5-м крузе, 17 хістаюцца паміж 2 варыянтамі, часцей за ўсё she needs the bill і she needs an account. Толькі 8 яшчэ мяняюцца неяк інакш.
Чаго я не правяраў
Гэта адна пара мадэляў. Другой я планаваў NLLB-200 на 600M параметраў, якую Meta выпусціла ў ліпені гэтага года. Яна не змясцілася на дыску машыны. Праверкі гэта рэгуляркі па словах, на якіх трымаецца сэнс. Сэнсу яны не разумеюць: замена refundable на payable прайшла праверку адмаўлення. Першы круг я прачытаў вачыма. Кругі з 2-га па 5-ы не чытаў, таму там можа быць нешта яшчэ. Сказы кароткія, каля 9 слоў, з шаблонаў. Розных сказаў з адмаўленнем усяго 36, таму 100 сказаў там важаць менш, чым здаецца. Руская была толькі сярэдзінай. Польскую або беларускую ў сярэдзіне я не спрабаваў.
З лікамі зваротны пераклад справіўся. Бухгалтара ён прапусціў ва ўсіх 16 сказах, а правільны рускі пераклад пра збор, які не вяртаецца, забракаваў 9 разоў з 10. Наступным разам, калі мне спатрэбіцца такая праверка, я прачытаю сярэдзіну сам або папрашу таго, хто ведае гэту мову.