Yandex преводач невронна мрежа. В Yandex.Translate е вградена фантастична невронна мрежа. Какво е Yandex.Translate

Услугата Yandex.Translate започна да използва технологии за невронни мрежи при превод на текстове, което подобрява качеството на превода, съобщи сайтът на Yandex.

Към отметки

Услугата работи на хибридна система, обясни Yandex: технологията за превод, използваща невронна мрежа, беше добавена към статистическия модел, който работи в Translator от стартирането.

„За разлика от статистическия преводач, невронната мрежа не разделя текстовете на отделни думи и фрази. Получава цялото изречение като вход и издава неговия превод “, обясни представител на компанията. Според него този подход позволява отчитане на контекста и по-добро предаване на смисъла на преведения текст.

Статистическият модел от своя страна се справя по-добре с редки думи и фрази, подчертават в Yandex. „Ако значението на изречението не е ясно, тя не си представя как една невронна мрежа може да направи това“, отбелязва компанията.

При превод услугата използва и двата модела, след което алгоритъмът за машинно обучение сравнява резултатите и предлага най-добрия вариант според него. „Хибридната система ви позволява да вземете най-доброто от всеки метод и да подобрите качеството на превода“, казват в Yandex.

През деня на 14 септември трябва да се появи превключвател в уеб версията на преводача, с който можете да сравнявате преводите, направени от хибридния и статистическия модел. В същото време понякога услугата може да не променя текстовете, отбелязва компанията: „Това означава, че хибридният модел е решил, че статистическият превод е по-добър.“

В съвременния интернет има повече от 630 милиона сайта, но само 6% от тях съдържат рускоезично съдържание. Езиковата бариера е основният проблем при разпространението на знания сред потребителите на мрежата и ние вярваме, че трябва да се реши не само чрез преподаване на чужди езици, но и чрез използване на автоматичен машинен превод в браузъра.

Днес ще разкажем на читателите на Habr за две важни технологични промени в преводача Yandex.Browser. Първо, преводът на избрани думи и фрази вече използва хибриден модел и ще припомним как този подход се различава от използването само на невронни мрежи. Второ, невронните мрежи на преводача вече отчитат структурата на уеб страниците, за чиито характеристики също ще говорим под разреза.

Хибриден преводач на думи и фрази

Първите системи за машинен превод са базирани на речници и правила(всъщност ръкописни регулярни изрази), което определяше качеството на превода. Професионалните лингвисти работят от години, за да разработят все по-подробни ръчни правила. Работата беше толкова трудоемка, че беше обърнато сериозно внимание само на най-популярните двойки езици, но дори и в тях машините се представиха зле. Живият език е много сложна система, която не се подчинява добре на правилата. Още по-трудно е да се опишат правилата за съвпадение на два езика.

Единственият начин една машина постоянно да се адаптира към променящите се условия е да се учи сама от голям брой паралелни текстове (еднакви по смисъл, но написани на различни езици). Това е статистическият подход към машинния превод. Компютърът сравнява паралелни текстове и независимо идентифицира модели.

При статистически преводачима както предимства, така и недостатъци. От една страна, той помни добре редки и сложни думи и фрази. Ако се срещнат в паралелни текстове, преводачът ще ги запомни и ще продължи да превежда правилно. От друга страна, резултатът от превода може да бъде подобен на завършен пъзел: цялостната картина изглежда ясна, но ако се вгледате внимателно, можете да видите, че е съставена от отделни части. Причината е, че преводачът представя отделни думи като идентификатори, които по никакъв начин не отразяват връзката между тях. Това не се вписва в начина, по който хората възприемат езика, където думите се определят от това как се използват, как се свързват и различават от другите думи.

Помага за решаването на този проблем невронни мрежи. Вграждането на думи, използвано в невронния машинен превод, обикновено преобразува всяка дума във вектор с дължина няколкостотин числа. Векторите, за разлика от простите идентификатори от статистическия подход, се формират при обучение на невронна мрежа и отчитат връзките между думите. Например, моделът може да разпознае, че тъй като "чай" и "кафе" често се появяват в подобен контекст, и двете думи трябва да са възможни в контекста на новата дума "разливане", която, да кажем, само една от тях среща в данните за обучението.

Въпреки това процесът на изучаване на векторни представяния очевидно е по-взискателен от статистическа гледна точка от запаметяването на примери. Освен това не е ясно какво да се прави с тези редки входни думи, които не са достатъчно чести, за да може мрежата да изгради приемливо векторно представяне за тях. В тази ситуация е логично да се комбинират и двата метода.

От миналата година Yandex.Translate използва хибриден модел. Когато преводачът получи текст от потребителя, той го изпраща и на двете системи за превод – и на невронната мрежа, и на статистическия преводач. След това алгоритъм, базиран на метода на обучение, оценява кой превод е по-добър. При класирането се вземат предвид десетки фактори – от дължината на изречението (кратките фрази се превеждат по-добре чрез статистически модел) до синтаксиса. Преводът, признат за най-добър, се показва на потребителя.

Това е хибридният модел, който сега се използва в Yandex.Browser, когато потребителят избира конкретни думи и фрази на страницата за превод.

Този режим е особено удобен за тези, които владеят общо чужд език и искат да превеждат само непознати думи. Но ако, например, вместо обичайния английски, срещнете китайски, тогава ще бъде трудно да се направи без преводач на страници. Изглежда, че разликата е само в обема на преведения текст, но не всичко е толкова просто.

Преводач на уеб страници на невронна мрежа

От времето на Джорджтаунския експеримент почти до наши дни всички системи за машинен превод са обучени да превеждат всяко изречение от изходния текст поотделно. Докато уеб страницата не е просто набор от изречения, а структуриран текст, който съдържа фундаментално различни елементи. Помислете за основните елементи на повечето страници.

заглавка. Обикновено ярък и голям текст, който виждаме веднага при влизане в страницата. Заглавието често съдържа същността на новината, така че е важно да го преведете правилно. Но е трудно да се направи това, тъй като текстът в заглавието е малък и без да разбирате контекста, можете да направите грешка. В случая с английския език нещата са още по-сложни, тъй като англоезичните заглавия често съдържат фрази с нетрадиционна граматика, инфинитиви или дори пропускащи глаголи. Например, Обявена предистория на Game of Thrones.

Навигация. Думи и фрази, които ни помагат да навигираме в сайта. Например, У дома, обратнои Моята сметкаедва ли си струва да се превежда като "Начало", "Назад" и "Моят акаунт", ако се намират в менюто на сайта, а не в текста на публикацията.

Основен текст. С него всичко е по-лесно, той малко се различава от обичайните текстове и изречения, които можем да намерим в книгите. Но дори и тук е важно да се гарантира последователността на преводите, тоест да се гарантира, че едни и същи термини и понятия се превеждат по един и същи начин в рамките на една и съща уеб страница.

За висококачествен превод на уеб страници не е достатъчно да се използва невронна мрежа или хибриден модел - необходимо е също така да се вземе предвид структурата на страниците. И за това трябваше да се справим с много технологични трудности.

Класификация на текстови сегменти. За да направим това, ние отново използваме CatBoost и фактори, базирани както на самия текст, така и на HTML маркирането на документите (таг, размер на текста, брой връзки на единица текст, ...). Факторите са доста разнородни, така че CatBoost (базиран на усилване на градиента) показва най-добри резултати (точността на класификацията е над 95%). Но само класифицирането на сегменти не е достатъчно.

Изкривяване на данните. Традиционно алгоритмите на Yandex.Translate се обучават върху текстове от Интернет. Изглежда, че това е идеално решение за обучение на преводач на уеб страници (с други думи, мрежата се учи от текстове от същото естество като онези текстове, върху които ще я приложим). Но веднага щом се научихме да разделяме различните сегменти един от друг, открихме интересна функция. Средно съдържанието представлява около 85% от целия текст на уебсайтовете, като заглавията и навигацията представляват само 7,5% всеки. Спомнете си също, че самите заглавия и навигационни елементи се различават значително по стил и граматика от останалата част от текста. Тези два фактора заедно водят до проблема с изкривяването на данните. За невронната мрежа е по-изгодно просто да игнорира характеристиките на тези много слабо представени сегменти в обучителната извадка. Мрежата се научава да превежда добре само основния текст, който страда от качеството на превода на заглавията и навигацията. За да неутрализираме този неприятен ефект, направихме две неща: присвоихме един от трите типа сегменти (съдържание, заглавие или навигация) като метаинформация на всяка двойка паралелни изречения и изкуствено повишихме концентрацията на последните два в учебния корпус до 33% поради факта, че започнаха да показват подобни примери на обучаващата се невронна мрежа по-често.

Многозадачно обучение. Тъй като сега можем да разделяме текстовете на уеб страниците на три класа сегменти, може да изглежда като естествена идея да обучим три отделни модела, всеки от които ще се справи с превода на различен тип текст - заглавия, навигация или съдържание. Това наистина работи добре, но схемата работи още по-добре, при която обучаваме една невронна мрежа да превежда всички видове текстове наведнъж. Ключът към разбирането се крие в идеята за многозадачно обучение (MTL): ако има вътрешна връзка между няколко задачи за машинно обучение, тогава модел, който се учи да решава тези задачи едновременно, може да се научи да решава всяка от задачите по-добре отколкото тяснопрофилен специализиран модел!

фина настройка. Вече имахме много добър машинен превод, така че би било неразумно да обучаваме нов преводач за Yandex.Browser от нулата. По-логично е да вземете базова система за превод на обикновени текстове и да я обучите да работи с уеб страници. В контекста на невронните мрежи това често се нарича фина настройка. Но ако подходим челно към този проблем, т.е. просто инициализирайте теглата на невронната мрежа със стойности от готовия модел и започнете да се учите от нови данни, може да срещнете ефекта на изместване на домейна: докато научавате, качеството на превод на уеб страници (в домейна) ще се повиши, но качеството на превода на обикновени текстове (извън домейна) ще падне. За да се отървем от тази неприятна характеристика, по време на допълнително обучение ние налагаме допълнително ограничение на невронната мрежа, забранявайки й да променя теглата твърде много в сравнение с първоначалното състояние.

Математически това се изразява чрез добавяне на член към функцията на загуба (функция на загуба), която е разстоянието Kullback-Leibler (KL-дивергенция) между вероятностните разпределения за генериране на следващата дума, издадени от оригиналната и преквалифицираната мрежа. Както може да се види на илюстрацията, това води до факта, че подобряването на качеството на превода на уеб страници вече не води до влошаване на превода на обикновен текст.

Полиране на честотни фрази от навигацията. В процеса на работа върху нов преводач събрахме статистически данни за текстовете на различни сегменти от уеб страници и видяхме нещо интересно. Текстовете, които са свързани с навигационните елементи, са доста стандартизирани, така че често представляват едни и същи шаблонни фрази. Това е толкова мощен ефект, че повече от половината от всички навигационни фрази, намерени в интернет, са само в 2000 от най-често срещаните.

Разбира се, ние се възползвахме от това и дадохме няколко хиляди от най-честите фрази и техните преводи за проверка на нашите преводачи, за да сме абсолютно сигурни в тяхното качество.

Външни подравнявания. Имаше още едно важно изискване за преводача на уеб страници в браузъра - той не трябва да изкривява маркирането. Когато HTML таговете са поставени извън изреченията или в техните граници, не възниква проблем. Но ако вътре в изречението има, например, две подчертанодуми, тогава в превод искаме да видим „две подчертанодумите". Тези. В резултат на прехвърлянето трябва да бъдат изпълнени две условия:

  1. Подчертаният фрагмент в превода трябва да съответства точно на подчертания фрагмент в изходния текст.
  2. Не трябва да се нарушава последователността на превода в границите на подчертания фрагмент.
За да гарантираме това поведение, първо превеждаме текста както обикновено и след това, използвайки статистически модели за подравняване дума по дума, определяме съответствието между фрагменти от изходния и преведения текст. Това помага да се разбере какво трябва да се подчертае (курсив, хипервръзка, ...).

Наблюдател на кръстовището. Мощните модели за превод на невронни мрежи, които сме обучили, изискват значително повече изчислителни ресурси на нашите сървъри (както CPU, така и GPU) в сравнение с предишните поколения статистически модели. В същото време потребителите не винаги четат страниците до края, така че изпращането на целия текст на уеб страниците в облака изглежда излишно. За да спестим сървърни ресурси и потребителски трафик, ние научихме Translator да използва

Индексираните от търсачките уебсайтове имат повече от половин милиард копия, а общият брой на уеб страниците е десетки хиляди пъти по-голям. Рускоезичното съдържание заема 6% от целия интернет.

Как да преведем желания текст бързо и по такъв начин, че да се запази предвиденото от автора значение. Старите методи на модулите за превод на статистическо съдържание работят много съмнително, т.к невъзможно е точно да се определи склонението на думите, времето и др. Природата на думите и връзките между тях е сложна, което понякога правеше резултата да изглежда много неестествен.

Сега Yandex използва автоматичен машинен превод, което ще повиши качеството на крайния текст. Можете да изтеглите най-новата официална версия на браузъра с нов вграден превод.

Хибриден превод на фрази и думи

Браузърът Yandex е единственият, който може да превежда страницата като цяло, както и отделни думи и фрази. Функцията ще бъде много полезна за онези потребители, които повече или по-малко говорят чужд език, но понякога срещат затруднения при превода.

Невронната мрежа, вградена в механизма за превод на думата, не винаги се справяше с поставените задачи, т.к редки думи бяха изключително трудни за вмъкване в текста и за четене. Сега в приложението е вграден хибриден метод, използващ стари и нови технологии.

Механизмът е следният: програмата приема избраните изречения или думи, след което ги предава на двата модула на невронната мрежа и на статистическия преводач, а вграденият алгоритъм определя кой резултат е по-добър и след това го предава на потребителя.

Преводач на невронни мрежи

Чуждестранното съдържание е проектирано по много специфичен начин:

  • първите букви на думите в заглавията са главни;
  • изреченията са построени с опростена граматика, някои думи са пропуснати.

Навигационните менюта на уебсайтовете се анализират въз основа на тяхното местоположение, като например думата Назад, правилно преведена назад (връщане назад), а не назад.

За да вземат предвид всички горепосочени функции, разработчиците допълнително обучиха невронна мрежа, която вече използва огромен масив от текстови данни. Сега качеството на превода се влияе от местоположението на съдържанието и неговия дизайн.

Резултати от приложен превод

Качеството на превода може да бъде измерено чрез алгоритъма BLEU*, който сравнява машинния и професионалния превод. Скала за качество от 0 до 100%.

Колкото по-добър е невронният превод, толкова по-висок е процентът. Според този алгоритъм браузърът Yandex започна да превежда 1,7 пъти по-добре.

Yandex пусна нова версия на преводача. Сега върху превода ще работи хибридна система: в допълнение към статистическия модел, използван по-рано, преводачът ще използва и невронна мрежа. Това се съобщава в блога на компанията.

Има няколко подхода към машинния превод. Първият, най-разпространеният подход е статистическият. Такъв машинен превод се основава на запомняне на огромно количество информация, получена от паралелни корпуси (едни и същи текстове на различни езици): това могат да бъдат или отделни думи, или граматически правила. Този подход обаче има много важен недостатък: статистическият машинен превод запомня информация, но не я разбира, така че такъв превод често изглежда като много различни правилно преведени парчета, събрани в един текст, който не е много правилен от гледна точка на граматиката и семантично натоварване.

Вторият подход е невронна мрежа. Базира се не на превод на отделни думи и изрази, а на цели изречения, като основната му цел е да запази смисъла, като същевременно постигне най-добро качество на превода от гледна точка на граматиката. Такава технология за превод може също така да съхранява знанията за езика, които е научила в процеса на обучение - това й позволява да се справи, например, с грешки в съгласуването на падежите. Невронният машинен превод е сравнително нов подход, но вече се е доказал: с помощта на невронната мрежа Google Translate той успя да постигне рекордно качество на превода.

От днес Yandex.Translate се базира на хибридна система. Такава система включва статистическия превод, използван от услугата по-рано, и превода, базиран на работата на невронната мрежа. Специален алгоритъм за класификатор, базиран на CatBoost (система за машинно обучение, разработена от Yandex), избира най-добрата от двете опции за превод (статистически и невронни) и я предоставя на потребителя.

Можете да прочетете повече за работата на новата версия на Yandex.Translate в нашата среща с ръководителя на услугата, британския компютърен лингвист Дейвид Талбот.

В момента новата технология за превод е достъпна само при превод от английски на руски (според компанията това е най-популярната посока за превод). Докато работи със системата, потребителят може да превключва между два модела на превод (стар статистически и нов хибриден) и да сравнява превода на старата и новата версия. През следващите месеци разработчиците на преводача обещават да включат и други области на превод.


Примери за превод на различни модели, използвани в новата версия на Yandex.Translate



Машинният превод с помощта на невронни мрежи измина дълъг път от първите научни изследвания по тази тема и до момента, в който Google обяви пълното прехвърляне на услугата Google Translate към дълбоко обучение.

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

Както се оказа сега, невронните мрежи са в състояние да овладеят нов език за превод дори без паралелен корпус от текстове! Сайтът за предпечат arXiv.org публикува две статии по тази тема наведнъж.

„Представете си, че давате на човек много китайски книги и много арабски книги – нито една от тях не е една и съща – и този човек е обучен да превежда от китайски на арабски. Изглежда невъзможно, нали? Но ние показахме, че един компютър може да направи това“, казва Микел Артече, компютърен учен в Университета на Страната на баските в Сан Себастиан (Испания).

Повечето невронни мрежи за машинен превод се обучават „с учител“, чиято роля е просто паралелен корпус от текстове, преведени от човек. В процеса на обучение, грубо казано, невронната мрежа прави предположение, проверява със стандарта и прави необходимите корекции на своите системи, след което учи допълнително. Проблемът е, че за някои езици в света няма голям брой паралелни текстове, така че те не са достъпни за традиционните невронни мрежи за машинен превод.


„Универсалният език“ на невронната мрежа на Google Neural Machine Translation (GNMT). В лявата илюстрация клъстери от значения на всяка дума са показани в различни цветове, в долния десен - значенията на думата, получени за нея от различни човешки езици: английски, корейски и японски

След съставянето на гигантски "атлас" за всеки език, системата след това се опитва да насложи един такъв атлас върху друг - и ето ви, имате готови някакви паралелни текстови корпуси!

Възможно е да се сравнят схемите на двете предложени архитектури за неконтролирано обучение.


Архитектурата на предложената система. За всяко изречение на езика L1 системата научава редуването на две стъпки: 1) потискане на шума(denoising), което оптимизира вероятността за кодиране на шумна версия на изречение с общ енкодер и реконструкцията му от L1 декодера; 2) обратен превод(обратен превод), когато едно изречение е преведено в изходен режим (т.е. кодирано от общ енкодер и декодирано от L2 декодер), и след това вероятността за кодиране на това преведено изречение с общ енкодер и възстановяване на оригиналното изречение от L1 декодер е оптимизиран. Илюстрация: Michela Artetxe et al.


Предложената архитектура и учебни цели на системата (от втората научна работа). Архитектурата е модел за превод изречение по изречение, при който и енкодерът, и декодерът работят на два езика, в зависимост от идентификатора на входния език, който разменя справочните таблици. Отгоре (автоматично кодиране): Моделът е обучен да извършва премахване на шум във всеки домейн. Отдолу (превод): както преди, плюс ние кодираме от друг език, използвайки като вход превода, произведен от модела в предишната итерация (синя кутия). Зелените елипси показват термини във функцията на загубите. Илюстрация: Guillaume Lampl et al.

И двата документа използват забележително сходна методология с малки разлики. Но и в двата случая преводът се осъществява чрез някакъв междинен „език“ или по-добре казано междинно измерение или пространство. Досега невронните мрежи без учител не показват много високо качество на превода, но авторите казват, че е лесно да се подобри, ако използвате малко помощ от учител, точно сега, в името на чистотата на експеримент, това не е направено.

Доклади, представени за Международната конференция за представяне на обучението през 2018 г. Нито една от статиите все още не е публикувана в научната преса.