dimhold.by
← Артыкулы

Арандатар вярнуўся арандадаўцам пасля круга праз рускую

У машыннага перакладу ёсць старая праверка. Перакладаеш тэкст, потым перакладаеш вынік назад. Калі вярнуўся зыходнік, сярэдзіне можна верыць. Я ў гэтую праверку верыў і ні разу не лічыў, колькі яна прапускае. Каб гэта палічыць, патрэбна пара, у якой я сам магу прачытаць сярэдзіну і сказаць, ці правільная яна. Для мяне гэта пара з англійскай на рускую і назад.

Сумнеў не новы. Гаральд Сомерс яшчэ ў 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, не. А займеннікі, за якія я хваляваўся больш за ўсё, вярнуліся ўсе.

вярнулася пасля круга, з усіх сказаў гэтага віду 1-ы круг 5-ы круг правярала рэгулярка лік, валюта, дата 100/100 98/100 слова адмаўлення 100/100 100/100 займеннік she/he 100/100 99/100 at least / at most ... 92/100 91/100 must / may / should 67/100 67/100 імёны 113/300 106/300 знайшлося пры чытанні 1-га круга tenant 0/21 refundable 0/10 invoice 46/66
Рэгулярка правярае толькі слова, на якім трымаецца сэнс. На 3 ніжнія словы яна не глядзела.

Дзе памылілася мая праверка

Скрыпт сказаў, што з адмаўленнем усё ідэальна. Потым я вачыма прачытаў усе 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 чалавека.

ці правільная руская і ці выглядае правільнай англійская, што вярнулася вярнулася правільна вярнулася няправільна руская правільная руская няправільная праверка працуе лікі 100 з 100 ілжывая трывога not refundable → не подлежит возмещению → not payable 9 з 10 праверка не бачыць the accountant ... she → Бухгалтер позвонил ... ей → the accountant ... she 16 з 16 праверка працуе the tenant → Арендодатель → the lessor 21 з 21
Небяспечная тут ніжняя левая клетка: памылка была ў сярэдзіне, а ў англійскай ёй няма на чым вярнуцца.

Яшчэ кругі

Я чакаў, што тэкст перастане мяняцца пасля 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 яшчэ мяняюцца неяк інакш.

600 сказаў, 5 кругоў змянілася з папярэдняга круга страціла нешта да гэтага круга 540 138 круг 1 172 142 круг 2 63 142 круг 3 31 142 круг 4 25 142 круг 5
У 1-м крузе змена лічыцца ад зыходнага сказа. З 25 сказаў, якія яшчэ мяняюцца ў 5-м крузе, 17 хістаюцца паміж 2 варыянтамі.

Чаго я не правяраў

Гэта адна пара мадэляў. Другой я планаваў NLLB-200 на 600M параметраў, якую Meta выпусціла ў ліпені гэтага года. Яна не змясцілася на дыску машыны. Праверкі гэта рэгуляркі па словах, на якіх трымаецца сэнс. Сэнсу яны не разумеюць: замена refundable на payable прайшла праверку адмаўлення. Першы круг я прачытаў вачыма. Кругі з 2-га па 5-ы не чытаў, таму там можа быць нешта яшчэ. Сказы кароткія, каля 9 слоў, з шаблонаў. Розных сказаў з адмаўленнем усяго 36, таму 100 сказаў там важаць менш, чым здаецца. Руская была толькі сярэдзінай. Польскую або беларускую ў сярэдзіне я не спрабаваў.

З лікамі зваротны пераклад справіўся. Бухгалтара ён прапусціў ва ўсіх 16 сказах, а правільны рускі пераклад пра збор, які не вяртаецца, забракаваў 9 разоў з 10. Наступным разам, калі мне спатрэбіцца такая праверка, я прачытаю сярэдзіну сам або папрашу таго, хто ведае гэту мову.