Чому перекладачам не треба боятися нейромереж гугла. Штучний інтелект в Яндекс.Браузері Нейронна мережа переклад

Ця нотатка - великий коментар до новини про Google Translate підключила російську мову до перекладу з глибинним навчанням. На перший погляд, звучить і виглядає дуже круто. Однак поясню, чому не варто поспішати з висновками про «перекладачі більше не потрібні».


Трюк у тому, що на сьогоднішній день технологія здатна замінити… та нікого вона не здатна замінити.
Перекладач – це не той, хто знає іноземну мову, так само як фотограф – це не той, хто купив велику чорну дзеркалку. Це необхідна умоваале далеко не достатнє.

Перекладач - це той, хто добре знає свою мову, добре розуміє чужу і може точно передати відтінки сенсу.

Усі три умови важливі.

Поки що ми не бачимо навіть першу частину (у плані «знає свою мову»). Ну, принаймні для російської, поки що все дуже і дуже погано. Ось уже щось, а розміщення ком відмінно ефективно алгоритмізується (Word впорався року так в 1994, ліцензувавши алгоритм у місцевих), та й для нейромережі наявного корпусу текстів ООН просто вище даху.

Хто не в курсі, всі офіційні документи ООН випускаються п'ятьма мовами постійних членів Радбезу, включаючи російську, і це найбільша база дуже якісних перекладів тих самих текстів для цих п'яти мов. На відміну від перекладів художніх творів, де «перекладача Остапа може понести», база ООН відрізняється найточнішою передачею найтонших відтінків сенсу та ідеальною відповідністю літературним нормам.

Цей факт, плюс абсолютна безкоштовність, робить її ідеальним набором текстів (корпусом) для тренувань штучних перекладачів, хоча вона й покриває лише суто офіційно-бюрократичні підмножини мов.


Повернемося до наших баранів перекладачів. За законом Парето, 80% професійних перекладачів – погані. Це люди, які закінчили курси іноземної мови або, у найкращому разі, якийсь регіональний педінститут за спеціальністю «вчитель іноземної мови молодших класів для сільської місцевості». І жодних інших знань вони не мають. Інакше не сиділи б на одній із найнижчих робіт.

Знаєте, на чому вони заробляють? Ні, не на перекладах. Як правило, замовники цих перекладів розуміють текст іноземною мовою краще за перекладача.

Вони сидять на вимогах законодавства та/або місцевих звичаїв.

Ну ось у нас належить, щоб інструкція до товару була російською. Тому імпортер знаходить людину, яка трошки знає «імпортну» мову, і ту цю інструкцію перекладає. Ця людина не знає товару, не має жодних знань у цій галузі, у нього було «три з мінусом» російською, але – перекладає. Результат усім відомий.

Ще гірше, якщо він перекладає «в зворотний бік», тобто. на чужу мову (привіт китайцям). Тоді його праця з великою ймовірністю потрапляє до «банізмів» Екслера або їхнього місцевого аналога.

Або ось вам важчий випадок. При зверненні до держ. органи з іноземними документами необхідно подати переклад цих документів. Причому переклад має бути не від дядька Васі, а від юридично шанованої контори, з «мокрими» печатками тощо. Ну от скажіть, наскільки складно «перевести» посвідчення водія або там свідоцтво про народження? Усі поля стандартизовані та пронумеровані. «Перекладачеві» потрібно, в гіршому випадку, просто транслітерувати власні імена з одного алфавіту на інший. Але ні, «дядько Вася» відпочиває, причому найчастіше завдяки навіть не закону, а просто внутрішнім інструкціям місцевих чиновних начальничків.

Зверніть увагу, 80% перекладацьких контор живуть за нотаріусів. Вгадайте з трьох разів, Чому?

Як на цих перекладачів вплине поява хорошого машинного перекладу? Та ніяк. Ну, тобто. є надія, що якість їхніх перекладів таки покращиться в якихось дрібних аспектах, де є що перекладати. Ось і все. Робочий частут суттєво не зменшиться, тому що вони і зараз більшу частину часу копіюють текст із графи до графи. «У цьому сирі стільки білків, стільки вуглеводів...» Національні форми в різних країнахрізні, тож роботи їм менше не стане. Особливо якщо не докладати зусиль.

Проміжний висновок: для нижніх 80% нічого не зміниться. Вони й так заробляють не тому, що перекладачі, а тому, що бюрократи найнижчого рівня.

Тепер подивимося на протилежну частину спектра, ну, нехай це будуть верхні 3%.

Найвідповідальніший, хоча й не найтехнічніший складний 1%: синхронний переклад дуже важливихпереговорів. Зазвичай між великими корпораціями, але у межі - в ООН чи схожих верхах. Одна помилка перекладача під час передачі навіть сенсу - емоцій, може призвести, у найгіршому разі, до атомної війни. При цьому, як ви розумієте, емоційне забарвлення навіть фраз, що збігаються буквально в різних мовахможе дуже відрізнятись. Тобто. перекладач повинен ідеально знати обидва культурні контексти своїх робочих мов. Банальні приклади – слова «негр» та «інвалід». Вони майже нейтральні в російській та яскраво емоційно забарвлені, аж до обцінності, в сучасній англійській.

Такі перекладачі можуть не боятися ШІ: ніхто ніколи не довірить таку відповідальність машині.

Наступний 1% – це художні перекладачі. Ну от у мене, наприклад, ціла полиця виділена під оригінальні англомовні видання Конана Дойля, Льюїса Керолла, Х'ю Лорі - в оригіналі, без жодних там адаптацій і наших місцевих передруків. Читання цих книг чудово розвиває словниковий запас, чи знаєте, ну крім величезного естетичного насолоди. Я, дипломований перекладач, можу переказати дуже близько до тексту будь-яку пропозицію з цих книг. Але взятися за переклад? На жаль немає.

Я навіть не заїкаюся про переклади поезії.

Зрештою, найтехнічніший складний (для нейромережі – взагалі неможливий) 1% це науково-технічний переклад. Зазвичай, якщо якась команда в якійсь країні вирвалася вперед у своїй галузі, вони називають свої відкриття та винаходи своєю мовою. Може виявитися, що в іншій країні інша команда незалежно винайшла/відкрила те саме. Так з'явилися, наприклад, закони Бойля-Маріотта, Менделєєва-Пуассона та суперечки на тему Попов/Марконі, Можайський/брати Райт/Сантос-Дюмон.

Але якщо іноземна команда «зовсім поскакала» вперед, у «наздоганяючих» вчених є два варіанти в лінгвістичному сенсі: калькувати або перекладати.

Калькувати назви нових технологій, звісно, ​​простіше. Саме так у російській з'явилися алгебра, медицинаі комп'ютер, у французькій - bistro, datchaі vodka; в англійській - sputnik, tokamakі perestroika.

Але іноді таки переводять. Голос гуманітарію у моїй голові дико преться від терміна тачсотадля позначення аргументу перетворення Фур'є від перетворення Фур'є, як переклад для querquency. Жартів убік, таких термінів немає в угле - але я маю паперовий підручник з цифрової обробки сигналів, схвалений і освячений мінобром, в якому ці терміни є.

І так, аналіз тачсоти – це єдиний (відомий мені) спосіб відрізнити чоловічий голосвід жіночого. Варіанти?

Я чого хилю: цим людям нема чого боятися, тому що вони самі формують мову, вводять у неї нові слова та терміни. Нейросети лише навчаються на їх рішеннях. Ну, не забуваючи про те, що ці вчені та інженери не на перекладах заробляють.

Ну і, нарешті, « середній клас», хороші професійні перекладачіале не топи. З одного боку, вони ще захищені бюрократією - перекладають, наприклад, інструкції, але вже не до гомеопатичних бадів, а, припустимо, до нормальних ліків чи верстатів. З іншого боку – це вже сьогодні сучасні працівники із високою автоматизацією праці. Їхня робота вже зараз починається зі складання «словника» термінів, щоб переклад був одноманітний, а далі, по суті, полягає у редагуванні тексту у спеціалізованому софті типу trados. Нейросети зменшать кількість необхідних правок і збільшать продуктивність праці, але нічого не змінять.

Отже, чутки про швидку смерть професії звичайного перекладача трохи перебільшені. На всіх рівнях трохи прискориться робота і трохи збільшиться конкуренція, але нічого незвичайного.

А ось кому дістанеться – так це перекладачам-журналістам. Ще 10 років тому вони могли спокійно послатися на англомовну статтю, з якої нічого не зрозуміли, і написати повне марення. Сьогодні теж намагаються, але знаючі англійський читачі їх щоразу мачають у… ну ви зрозуміли.

Загалом, їхній час минув. З універсальним машинним перекладачем середнього рівня, нехай і трохи кострубатим, «журналісти» типу

Яндекс.Перекладач навчився дружити з нейромережею та віддавати користувачам якісніші тексти. В Яндексі почали використовувати гібридну систему перекладу: спочатку працювала статистична, а тепер її доповнює технологія машинного навчання CatBoost. Щоправда є одне але. Поки що лише для перекладу з англійської на російську.

В Яндексі стверджують, що це найпопулярніший напрямок перекладів, який займає 80% від загальної кількості.

CatBoost - розумна штука, яка, отримавши дві версії перекладу, порівнює їх, вибираючи найбільш людиноподібну.

У статистичній версії зазвичай переклад розбивається окремі фрази і слова. Нейроесть цього робить, аналізую пропозицію загалом, враховуючи наскільки можна контекст. Звідси більша схожість на людський переклад, адже нейромережа може врахувати узгодження слів. Проте, статистичний підхід теж має свої переваги, коли він не фантазує, якщо бачить рідкісне або незрозуміле слово. нейромережа може проявити спробу креативу.

Після сьогоднішнього анонсу має скоротити кількість граматичних помилок в автоматичних перекладах. Тепер вони проходять крізь модель мови. Тепер не повинні траплятися моменти на кшталт «тато пішла» чи «сильний біль».

У веб-версії в Наразікористувачі можуть вибрати ту версію перекладу, яка їм здається найбільш правильною та вдало, для цього є окремий тригер.

Якщо вам цікаві новини світу ІТ також сильно, як нам, підписуйтесь на наш Telegram-канал. Там усі матеріали з'являються максимально оперативно. Або, можливо, вам зручніше? Ми є навіть у .

Сподобалася стаття?

Або хоча б залишити задоволений коментар, щоб ми знали, які теми найцікавіші для читачів. Крім того, нас це надихає. Форма коментарів нижче.

Що таке з нею? Своє обурення ви можете висловити на [email protected]. Ми намагатимемося врахувати ваше побажання в майбутньому, щоб покращити якість матеріалів сайту. А зараз проведемо виховну роботуз автором.

або Чи переростає кількість на якість

Стаття з мотивів виступу на конференції РІФ+КІБ 2017 року.

Neural Machine Translation: чому тільки зараз?

Про нейронні мережі говорять уже давно, і, здавалося б, що одна з класичних завданьштучного інтелекту – машинний переклад – просто напрошується те що, щоб вирішуватися з урахуванням цієї технології.

Тим не менш, ось динаміка популярності в пошуку запитів про нейронні мережі взагалі і про нейронний машинний переклад.

Прекрасно видно, що на радарах аж донедавна немає нічого про нейронний машинний переклад – і ось наприкінці 2016 року свої нові технології та системи машинного перекладу, побудовані на базі нейронних мереж, продемонстрували одразу кілька компаній, серед яких Google, Microsoft та SYSTRAN. Вони з'явилися майже одночасно, з різницею кілька тижнів або навіть днів. Чому так?

Для того, щоб відповісти на це питання, необхідно зрозуміти, що таке машинний переклад на базі нейронних мереж і в чому його ключова відмінність від класичних статистичних систем аналітичних системякі використовуються сьогодні для машинного перекладу.

В основі нейронного перекладача механізм двонаправлених рекурентних нейронних мереж (Bidirectional Recurrent Neural Networks), побудований на матричних обчисленнях, що дозволяє будувати значно складніші ймовірнісні моделі, ніж статистичні машинні перекладачі.


Як і статистичний переклад, нейронний перекладвимагає для навчання паралельні корпуси, дозволяють порівняти автоматичний переклад із еталонним «людським», лише процесі навчання оперує не окремими фразами і словосполученнями, а цілими пропозиціями. Основна проблема в тому, що для тренування такої системи потрібно значно більше обчислювальних потужностей.

Для прискорення процесу розробники використовують GPU від NVIDIA, а також Google і Tensor Processing Unit (TPU) – чіпи власної розробки, адаптовані спеціально для технологій машинного навчання. Графічні чіпи спочатку оптимізовані під алгоритми матричних обчислень і тому виграш у продуктивності становить 7-15 разів у порівнянні з CPU.

Навіть при цьому тренування однієї нейронної моделі вимагає від 1 до 3 тижнів, тоді як статистична модель приблизно того ж розміру налаштовується за 1-3 дні, і зі збільшенням розміру ця різниця збільшується.

Однак не тільки технологічні проблемибули гальмом у розвиток нейронних мереж у тих завдання машинного перекладу. Зрештою, навчати мовні моделі можна було й раніше, хай і повільніше, але принципових перешкод не було.

Свою роль зіграла навіть мода на нейронні мережі. Розробки в собі вели багато, але заявляти про це не поспішали, побоюючись, можливо, що не отримають того приросту якості, яке суспільство очікує від словосполучення Neural Networks. Цим можна пояснити той факт, що відразу кілька нейронних перекладачів було анонсовано один за одним.

Якість перекладу: чий BLEU score товщі?

Спробуємо зрозуміти, чи відповідає зростання якості перекладу накопиченим очікуванням і тому зростанню витрат, що супроводжують розробку та підтримку нейронних мереж для перекладу.
Google у своєму дослідженні демонструє, що нейронний машинний переклад дає Relative Improvement від 58% до 87%, залежно від мовної пари порівняно з класичним статистичним підходом (або Phrase Based Machine Translation, PBMT, як його ще називають).


SYSTRAN проводить дослідження, в якому якість перекладу оцінюється шляхом вибору кількох представлених варіантів, зроблених різними системами, і навіть «людського» перекладу. І заявляє, що його нейронний переклад надають перевагу 46% випадків перекладу, зробленому людиною.

Якість перекладу: чи є прорив?

Незважаючи на те, що Google заявляє про поліпшення на 60% і навіть вище, у цьому показнику є невелика каверза. Представники компанії говорять про Relative Improvement, тобто наскільки їм вдалося з нейронним підходом наблизиться до якості Human Translation по відношенню до того, що було в класичному статистичному перекладачі.


Експерти галузі, що аналізують результати, представлені Google у статті «Google"s Neural Machine Translation System: Bridging the Gap між Human and Machine Translation», досить скептично ставляться до представлених результатів і кажуть, що фактично BLEU score вдалося покращити лише на 10%, а суттєвий прогрес помітний саме на досить простих тестахз Wikipedia, які, найімовірніше, були використані і в процесі навчання мережі.

Усередині PROMT ми регулярно проводимо порівняння перекладу на різних текстах наших систем із конкурентами, і тому під рукою завжди є приклади, на яких ми можемо перевірити, чи справді нейронний переклад так перевершує попереднє покоління, як заявляють виробники.

Вихідний текст (EN): Worrying never did anyone any good.
Google PBMT: Не турбуючись не робив нікому нічого хорошого.
Переклад Google NMT: Занепокоєння ніколи нікому не допомагало.

До речі, переклад тієї ж фрази на Translate.Ru: "Хвилювання ніколи не приносило нікому користі", можна помітити, що він був і залишився таким же і без використання нейронних мереж.

Microsoft Translator у цьому питанні також не відстає. На відміну від колег з Google вони навіть зробили сайт, на якому можна зробити переклад і порівняти два результати: нейронний та донейронний, щоб переконатися, що твердження про зростання як не голослівні.


На цьому прикладі ми бачимо, що прогрес є, і він справді помітний. На перший погляд, схоже, що заява розробників про те, що машинний переклад практично наздогнав «людський» – правда. Але чи це так насправді, і що це означає з погляду практичного застосуваннятехнології для бізнесу?

У загальному випадку переклад із застосуванням нейронних мереж перевершує переклад статистичний, і ця технологія має величезний потенціал для розвитку. Але якщо уважно підійти до питання, ми зможемо переконатися, що прогрес не у всьому, і не для всіх завдань можна застосовувати нейронні мережі без огляду на завдання.

Машинний переклад: у чому завдання

Від автоматичного перекладача всю історію його існування – а це вже понад 60 років! - Чекали якоїсь магії, представляючи його як машинку з фантастичних фільмів, яка миттєво переводить будь-яку мову в інопланетний свист і назад.

Насправді завдання бувають різного рівня, один із яких має на увазі «універсальний» або, якщо можна так висловитися, «побутовий» переклад для повсякденних завдань та полегшення розуміння. Із завданнями цього рівня чудово справляються онлайн-сервіси з перекладу та безліч мобільних продуктів.

До таких завдань можна віднести:

Швидкий переклад слів та коротких текстівдля різних цілей;
автоматичний переклад у процесі спілкування на форумах, соціальних мережах, месенджерах;
автоматичний переклад під час читання новин, статей Wikipedia;
перекладач у мандрівках (mobile).

Всі ті приклади зростання якості перекладу з використанням нейронних мереж, які ми розглядали вище, якраз і належать до цих завдань.

Однак з цілями і завданнями бізнесу щодо машинного перекладу все трохи інакше. Ось, наприклад, деякі вимоги до корпоративних систем машинного перекладу:

Переклад ділового листування із клієнтами, партнерами, інвесторами, іноземними співробітниками;
локалізація сайтів, інтернет-магазинів, описи продуктів, інструкцій;
переклад контенту користувача (обговрення, форуми, блоги);
можливість інтеграції переведення в бізнес-процеси та програмні продукти та сервіси;
точність перекладу з дотриманням термінології, конфіденційність та безпека.

Спробуємо зрозуміти на прикладах, чи вирішуються будь-які завдання бізнесу з перекладу за допомогою нейронних мереж і як саме.

Кейс: Amadeus

Amadeus - одна з найбільших у світі глобальних систем дистрибуції авіаквитків. З одного боку до неї підключені авіаперевізники, з іншого – агентства, які мають отримувати всю інформацію про зміни в режимі реального часу та доносити до своїх клієнтів.

Завдання – локалізація умов застосування тарифів (Fare Rules), що формуються у системі бронювання автоматично з різних джерел. Ці правила формуються завжди англійською. Ручний переклад тут практично неможливий, через те, що інформації багато і вона часто змінюється. Агент з продажу авіаквитка хотів би читати Fare Rules російською мовою, щоб оперативно та кваліфіковано консультувати своїх клієнтів.

Потрібний зрозумілий переклад, що передає зміст тарифних правил, з урахуванням типових термінів та абревіатур. І потрібно, щоб автоматичний переклад інтегрувався безпосередньо в систему бронювання Amadeus.

→ Докладно завдання та реалізація проекту розписані у документі.

Спробуємо порівняти переклад, зроблений через PROMT Cloud API, інтегрований в Amadeus Fare Rules Translator, та «нейронний» переклад від Google.

Оригінал: ROUND TRIP INSTANT PURCHASE FARES

PROMT (Аналітичний підхід): ТАРИФИ Миттєвого покупки рейсу ТУДИ І ЗВОРОТНО

GNMT: КРУГІ ПОКУПКИ

Очевидно, що тут нейронний перекладач не справляється, і далі стане зрозуміло, чому.

Кейс: TripAdvisor

TripAdvisor один з найбільших у світі туристичних сервісів, який не потребує представлення. За даними статті, опублікованої The Telegraph, щодня на сайті з'являється 165,600 нових відгуків про різні туристичні об'єкти різними мовами.

Завдання перекладу відгуків туристів з англійської на російську мову з якістю перекладу, достатнім для того, щоб зрозуміти зміст цього відгуку. Основна складність: типові особливості user generated content (тексти з помилками, друкарськими помилками, пропусками слів).

Також частиною завдання була автоматична оцінка якості перекладу на сайті TripAdvisor. Так як ручна оцінка всього перекладеного контенту неможлива, рішення щодо машинного перекладу має надати автоматичний механізм оцінки якості перекладених текстів - confidence score, щоб дати можливість TripAdvisor публікувати перекладені відгуки тільки високої якості.

Для рішення була використана технологія PROMT DeepHybrid, що дозволяє отримати більш якісний та зрозумілий кінцевому читачеві переклад у тому числі за рахунок статистичного постредагування результатів перекладу.

Подивимося на приклади:

Оригінал: We ate there last night on a whim and it was a lovely meal. Service був attentive безперервно.

PROMT (Гібридний переклад): Ми їли там в останній вечір випадково, та це була красива їжа. Персонал був уважним, але не владним.

GNMT: Ми їли там минулої ночі по забаганню, та це була чудова їжа. Обслуговування було уважним, не будучи більше підшипників.

Тут все не так гнітюче з точки зору якості, як у попередньому прикладі. І взагалі, за своїми параметрами це завдання потенційно може бути вирішене із застосуванням нейронних мереж, і це може підвищити якість перекладу.

Проблеми використання NMT для бізнесу

Як мовилося раніше, «універсальний» перекладач який завжди дає прийнятне якість і може підтримувати специфічну термінологію. Щоб інтегрувати у свої процеси та застосовувати нейронні мережі для перекладу, потрібно виконати основні вимоги:

Наявність достатніх обсягів паралельних текстів для того, щоб мати можливість навчати нейронну мережу. Часто у замовника їх просто мало або взагалі текстів на цю тематику не існує в природі. Вони можуть бути засекречені або перебувають у стані не дуже придатному для автоматичної обробки.

Для створення моделі потрібна база, де міститься щонайменше 100 млн. токенів (слововживання), а щоб отримати переклад більш-менш прийнятної якості – 500 млн. токенів. Далеко не кожна компанія має такий обсяг матеріалів.

Наявність механізму чи алгоритмів автоматичної оцінки якості одержуваного результату.

Достатні обчислювальні потужності.
«Універсальний» нейронний перекладач найчастіше не підходить за якістю, а щоб розгорнути свою приватну нейронну мережу, здатну забезпечити прийнятну якість та швидкість роботи, потрібна «маленька хмара».

Незрозуміло, що робити з конфіденційністю.
Не кожен замовник готовий віддавати свій контент для переведення в хмару з міркувань безпеки, а NMT – це історія насамперед хмарна.

Висновки

У загальному випадку нейронний автоматичний переклад дає результат вищої якості, ніж чисто статистичний підхід;
Автоматичний переклад через нейронну мережу – найкраще підходить для вирішення завдання «універсального перекладу»;
Жоден з підходів до МП сам собою не є ідеальним універсальним інструментом на вирішення будь-якої завдання перекладу;
Для вирішення завдань перекладу в бізнесі тільки спеціалізовані рішення можуть гарантувати відповідність усім вимогам.

Ми приходимо до абсолютно очевидного і логічного рішення, що для своїх завдань з перекладу потрібно використовувати перекладач, який максимально для цього підходить. Не важливо, чи є всередині нейронна мережа чи ні. Розуміння самого завдання – важливіше.

Теги: Додати теги

У сучасному інтернетібільше 630 мільйонів сайтів, але лише 6% містять російськомовний контент. Мовний бар'єрГоловна проблемапоширення знань між користувачами мережі, і ми віримо, що вирішувати її потрібно не тільки навчанням іноземних мов, але й за допомогою автоматичного перекладу в браузері.

Сьогодні ми розповімо читачам Хабра про дві важливі технологічні зміни у перекладачі Яндекс.Браузера. По-перше, переклад виділених слів і фраз тепер використовує гібридну модель, і ми нагадаємо, чим цей підхід відрізняється від застосування виключно нейромереж. По-друге, нейронні мережі перекладача тепер враховують структуру веб-сторінок, про особливості якої ми також розповімо під катом.

Гібридний перекладач слів та фраз

В основі перших систем машинного перекладу лежали словники та правила(по суті, написані вручну регулярки), які й визначали якість перекладу. Професійні лінгвісти роками працювали над тим, щоб вивести докладніші ручні правила. Робота ця була настільки трудомісткою, що серйозна увага приділялася лише найпопулярнішим парам мов, але навіть у межах них машини справлялися погано. Жива мова – дуже складна система, яка погано підкоряється правилам Ще складніше описати правила відповідності двох мов.

Єдиний спосіб машині постійно адаптуватися до умов, що змінюються - це вчитися самостійно на великій кількості паралельних текстів (однакові за змістом, але написані різними мовами). У цьому полягає статистичний підхід до машинного перекладу. Комп'ютер порівнює паралельні тексти та самостійно виявляє закономірності.

У статистичного перекладачає як переваги, і недоліки. З одного боку, він добре запам'ятовує рідкісні та складні слова та фрази. Якщо вони зустрічалися в паралельних текстах, перекладач запам'ятає їх і надалі перекладатиме правильно. З іншого боку, результат перекладу схожий на зібраний пазл: загальна картина начебто зрозуміла, але якщо придивитися, то видно, що вона складена з окремих шматочків. Причина в тому, що перекладач представляє окремі слова у вигляді ідентифікаторів, які не відображають взаємозв'язку між ними. Це не відповідає тому, як люди сприймають мову, коли слова визначаються тим, як вони використовуються, як співвідносяться з іншими словами і чим відрізняються від них.

Вирішити цю проблему допомагає нейронні мережі. Векторне уявлення слів (word embedding), застосовуване в нейронному машинному перекладі, зазвичай, зіставляє кожному слову вектор довжиною кілька сотень чисел. Вектори, на відміну від простих ідентифікаторів зі статистичного підходу, формуються під час навчання нейронної мережі та враховують взаємозв'язки між словами. Наприклад, модель може розпізнати, що оскільки «чай» і «кава» часто з'являються в подібних контекстах, обидва ці слова повинні бути можливі в контексті нового слова «розлив», з яким, припустимо, в навчальних даних зустрілося лише одне з них.

Однак процес навчання векторним уявленням явно більш статистично вимогливий, ніж механічне запам'ятовування прикладів. Крім того, незрозуміло, що робити з тими рідкісними вхідними словами, які досить часто зустрічалися, щоб мережа могла побудувати для них прийнятну векторну виставу. У цій ситуації логічно поєднати обидва методи.

З минулого року Яндекс.Перекладач використовує гібридну модель. Коли Перекладач отримує від користувача текст, він віддає його на переклад обох систем - і нейронної мережі, і статистичного перекладача. Потім алгоритм, заснований на методі навчання, оцінює, який переклад краще. При виставленні оцінки враховуються десятки факторів – від довжини речення (короткі фрази краще перекладає статистична модель) до синтаксису. Переклад, визнаний найкращим, показується користувачеві.

Саме гібридна модель тепер використовується в Яндекс.Браузері, коли користувач виділяє для перекладу конкретні слова та фрази на сторінці.

Цей режим особливо зручний для тих, хто загалом володіє іноземною мовоюі хотів би перекладати лише невідомі слова. Але якщо, наприклад, замість звичної англійської ви зустрінете китайську, то тут без посторичного перекладача обійтися буде важко. Здавалося б, відмінність лише в обсязі тексту, що перекладається, але не все так просто.

Нейросетьовий перекладач веб-сторінок

З часів Джорджтаунського експерименту і до наших днів всі системи машинного перекладу навчалися перекладати кожну пропозицію вихідного тексту окремо. У той час як веб-сторінка – це не просто набір речень, а структурований текст, в якому є різні елементи. Розглянемо основні елементи більшості сторінок.

Заголовок. Зазвичай яскравий та великий текст, який ми бачимо відразу при заході на сторінку. Заголовок часто містить суть новини, тому важливо перекласти його правильно. Але зробити це складно, тому що тексту в заголовку мало і без розуміння контексту можна припуститися помилки. У випадку з англійською мовоювсе ще складніше, тому що англомовні заголовки часто містять фрази з нетрадиційною граматикою, інфінітиви чи навіть пропускають дієслова. Наприклад, Game of Thrones prequel announced.

Навігація. Слова та фрази, які допомагають нам орієнтуватися на сайті. Наприклад, Home, Backі My accountнавряд чи варто перекладати як «Будинок», «Спіна» та «Мій рахунок», якщо вони розташовані в меню сайту, а не в тексті публікації.

Основний текст. З ним все простіше, він мало відрізняється від звичайних текстів та пропозицій, які ми можемо знайти у книгах. Але навіть тут важливо забезпечувати консистентність перекладів, тобто добиватися того, щоб в рамках однієї веб-сторінки одні й ті ж терміни та поняття перекладалися однаково.

Для якісного перекладу веб-сторінок недостатньо використовувати нейромережну чи гібридну модель – необхідно враховувати ще структуру сторінок. А для цього нам потрібно було розібратися з багатьма технологічними труднощами.

Класифікація сегментів тексту. Для цього ми знову ж таки використовуємо CatBoost і фактори, що базуються як на самому тексті, так і на HTML-розмітці документів (тег, розмір тексту, числа посилань на одиницю тексту, ...). Фактори досить різноманітні, тому саме CatBoost (заснований на градієнтному бустингу) показує найкращі результати (точність класифікації вище 95%). Але однієї класифікації сегментів недостатньо.

Перекіс даних. Традиційно алгоритми Яндекс.Перекладача навчаються на текстах з Інтернету. Здавалося б, це ідеальне рішення для навчання перекладача веб-сторінок (іншими словами, мережа навчається на текстах тієї ж природи, що й у тих текстів, на яких ми збираємося застосовувати її). Але як тільки ми навчилися відокремлювати один від одного різні сегменти, ми виявили цікаву особливість. У середньому на сайтах контент займає приблизно 85% всього тексту, а на заголовки та навігацію припадає лише по 7.5%. Згадаймо також, що самі заголовки та елементи навігації за стилем та граматикою помітно відрізняються від решти тексту. Ці два чинники разом призводять до проблеми перекосу даних. Нейронній мережі вигідніше просто ігнорувати особливості цих дуже бідно представлених у навчальній вибірці сегментів. Мережа навчається добре перекладати лише основний текст, через що страждає якість перекладу заголовків та навігації. Щоб нівелювати цей неприємний ефект, ми зробили дві речі: до кожної пари паралельних пропозицій ми приписали як метаінформацію одну з трьох типівсегментів (контент, заголовок або навігація) і штучно підняли концентрацію двох останніх у тренувальному корпусі до 33% за рахунок того, що стали частіше показувати нейромережі, що навчається, подібні приклади.

Multi-task learning. Оскільки тепер ми вміємо розділяти тексти на веб-сторінках на три класи сегментів, може здатися природною ідеєю навчати три окремі моделі, кожна з яких справлятиметься з перекладом свого типу текстів – заголовків, навігації чи контенту. Це дійсно працює непогано, проте ще краще працює схема, за якої ми навчаємо одну нейромережу перекладати відразу всі типи текстів. Ключ до розуміння лежить в ідеї mutli-task learning (MTL): якщо між кількома завданнями машинного навчання є внутрішній зв'язок, то модель, яка вчиться вирішувати ці завдання одночасно, може навчитися вирішувати кожне із завдань краще, ніж вузькопрофільна спеціалізована модель!

Fine-tuning. У нас вже був дуже непоганий машинний переклад, тому було б нерозумно навчати новий перекладач для Яндекс.Браузера з нуля. Логічніше взяти базову системудля перекладу звичайних текстів та донавчити її для роботи з веб-сторінками. У контексті нейромереж часто називають терміном fine-tuning. Але якщо підійти до цього завдання у лоб, тобто. просто ініціалізувати ваги нейронної мережі значеннями з готової моделі і почати вчити на нових даних, то можна зіткнутися з ефектом доменного зсуву: у міру навчання якість перекладу веб-сторінок (in-domain) зростатиме, але якість перекладу звичайних (out-of-domain ) текстів буде падати. Щоб позбавитися цієї неприємної особливості, при донавченні ми накладаємо на нейромережу додаткове обмеження, забороняючи їй занадто сильно змінювати ваги в порівнянні з початковим станом.

Математично це виражається додаванням доданку до функції втрат (loss function), що представляє собою відстань Кульбака-Лейблера (KL-divergence) між розподілами ймовірностей породження чергового слова, що видаються вихідною і доучной мережами. Як бачимо на ілюстрації, це призводить до того, що зростання якості перекладу веб-сторінок більше не призводить до деградації перекладу звичайного тексту.

Полірування частотних фраз із навігації. У процесі роботи над новим перекладачем ми зібрали статистику за текстами різних сегментів веб-сторінок та побачили цікаве. Тексти, які відносяться до елементів навігації, досить сильно стандартизовані, тому часто являють собою одні й самі шаблонні фрази. Це настільки потужний ефект, що більше половини всіх навігаційних фраз, що зустрічаються в інтернеті, припадає на всього лише 2 тисячі найчастіших з них.

Ми, звичайно ж, скористалися цим і віддали кілька тисяч найчастіших фраз та їхніх перекладів на верифікацію нашим перекладачам, аби бути абсолютно впевненими у їхній якості.

Зовнішні випадки. До перекладача веб-сторінок у Браузері була ще одна важлива вимога – він не повинен спотворювати розмітку. Коли HTML-теги розташовуються поза пропозиціями або на їх межах, жодних проблем не виникає. Але якщо всередині пропозиції є, наприклад, two underlined words, то в перекладі ми хочемо бачити “два підкресленихслова”. Тобто. внаслідок перекладу повинні виконуватися дві умови:

  1. Підкреслений фрагмент у перекладі має відповідати саме підкресленому фрагменту у вихідному тексті.
  2. Узгодженість переведення на межах підкресленого фрагмента не повинна порушуватись.
Щоб забезпечити таку поведінку, ми спочатку перекладаємо текст як завжди, а потім за допомогою статистичних моделей послівного вирівнювання визначаємо відповідності між фрагментами вихідного та перекладеного текстів. Це допомагає зрозуміти, що саме потрібно наголосити (виділити курсивом, оформити як гіперпосилання, ...).

Intersection observer. Потужні нейромережні моделі перекладу, які ми натренували, вимагають значно більше обчислювальних ресурсів на наших серверах (як CPU, так і GPU), ніж статистичні моделі попередніх поколінь. При цьому користувачі далеко не завжди дочитують сторінки до кінця, тому надсилання всього тексту веб-сторінок у хмару виглядає зайвим. Щоб заощадити серверні ресурси та користувальницький трафік, ми навчили Перекладач використовувати

Проіндексовані пошуковими системами веб-сайти налічують понад півмільярда копій, а загальна кількість веб-сторінок у десятки тисяч разів більша. Російськомовний контент займає 6% всього інтернету.

Як перевести потрібний текстшвидко й те щоб зберігся закладений зміст автором. Старі способи статистичних модулів перекладу контенту працюють дуже сумнівно, т.к. неможливо точно визначити відмінювання слів, час та інше. Природа слів та зв'язків між ними складна, через що результат іноді виглядав дуже неприродним.

Тепер в Яндексі застосовують автоматичний машинний переклад, що дозволить підвищити зростання якості підсумкового тексту. Завантажити останню офіційну версіюбраузера з новим вбудованим перекладом можна.

Гібридний переклад фраз та слів

Браузер від Яндекса єдиний, хто здатний перекласти сторінку в цілому, а також слова та фрази окремо. Функція буде дуже корисною і тим користувачам, хто більш-менш володіє іноземною мовою, але іноді стикається з труднощами перекладу.

Вбудований у механізм перекладу слів нейромережа який завжди справлялася з поставленими завданнями, т.к. рідкісні словабуло вкрай важко вбудувати текст і зробити його читаним. Тепер у додаток вбудували гібридний метод із використанням старих технологій та нових.

Механізм такий: програма приймає виділені речення чи слова, потім віддає їх обом модулям нейронної мережі та статистичного перекладача, а вбудований алгоритм визначає який результат краще і потім віддає його користувачеві.

Нейросітевий перекладач

Іноземний контент оформляється дуже специфічно:

  • перші букви слів у заголовках пишуться великими;
  • речення будуються зі спрощеною граматикою, деякі слова опускаються.

Навігаційні меню на сайтах аналізуються з урахуванням їхнього розташування, наприклад слово Back, правильно переводити назад (повернутись назад), а не спина.

Щоб врахувати всі вище зазначені особливості, розробники додатково навчили нейронну мережу, яка використовує величезний масив текстових даних. Тепер на якість перекладу впливає розташування контенту та його оформлення.

Підсумки перекладу

Якість перекладу можна виміряти алгоритмом BLEU*, який порівнює машинний та переклад від професійного. Шкала якості від 0 до 100%.

Чим кращий нейронний переклад, тим вищий відсоток. Відповідно до цього алгоритму Яндекс браузер став перекладати в 1,7 разів краще.