Предизвикателят с отворен код приема Google Translate

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

Open Source Neural Machine Translation (OpenNMT) обединява работата на изследователи от Харвард с принос на дългогодишния създател на софтуер за машинен превод Systran. Работи върху научната изчислителна рамка Torch, която също се използва от Facebook за своите проекти за машинно обучение.

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

Но алгоритмите не са най-трудната част; предлага добри източници на данни в подкрепа на процеса на превод - именно там Google и другите гиганти в облака, които предоставят машинен превод като услуга, имат предимство.

Говорейки на езици

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

Torch може да се възползва от ускорението на GPU, което означава, че процесът на обучение за OpenNMT модели може да се ускори много във всяка система, оборудвана с GPU. Въпреки това процесът на обучение може да отнеме много време - „понякога много седмици“. Но тренировъчният процес може да бъде моментален и да се възобнови при поискване, ако е необходимо. Ако искате да използвате обучения модел на CPU, а не на GPU, ще трябва да конвертирате модела, за да работи в CPU режим. OpenNMT предоставя инструмент за точно това.

Демонстрация на живо, предоставена от Systran, твърди, че използва OpenNMT заедно със собствената работа на Systran. За общите езикови двойки като английски / френски, преводите са доста точни. За двойки, при които има вероятност да има по-малък набор от текстове или където езиковите двойки не се съпоставят толкова точно помежду си - да речем, английски / японски - преводите са малко по-стилни и неточни. В едно примерно японско изречение демонстрацията на Systran погрешно прие думата „чайки“ на японски за „висящи свитъци;“ Google Translate го преведе правилно.

Думи, думи, думи

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

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

Много корпуси са свободно достъпни, но изискват калдъръм на ръка, за да са полезни за обикновения разработчик. Доставчици като Google - и IBM, със своята система за езиков преводач на Уотсън - имат предимството, че могат лесно да изграждат корпуси с другите си услуги. Google може автоматично да събира огромни количества постоянно обновявани езикови данни чрез своята търсачка.

И все пак OpenNMT е длъжен да бъде полезен за тези, които искат да изградят нова функционалност върху кода за моделиране и обучение на OpenNMT и не искат да бъдат зависими от алгоритъм зад API като Google, за да го направи.