Tag Archives: проект mtengine

Новая фича MTEngine: задания

Прошли отпуска, и мы начали работу над новой фичей для проекта машинного онлайн переводчика MTEngine, которую сегодня добавили в тестовую версию сайта (http://www.semanticanalyzer.info/mtengine_test).

До этой фичи пользователям было необходимо рыскать на просторах Сети и искать предложения на русском языке для перевода. Теперь это делать совсем необязательно. Чтобы перейти к заданиям, нужно выбрать вкладку “Выполнить задание”. По клику “Следующее” с сервера подгружается следующее предложение из корпуса. Переводим как обычно и пополняем / корректируем переводной словарь.

2013-07-27_2149

Фича в разработке, но уже сейчас её можно потестировать. Комментарии, отзывы и предложения приветствуются!

Команда MTEngine

Лингвистика и статистический машинный перевод

Данный пост — кросспост с нового блога проекта MTEngine: http://semanticanalyzer.info/mtengine/mtblog/

В этом иллюстративном посте мы рассмотрим на примере нескольких языковых направлений перевода те грамматические сложности, с которыми сталкиваются системы статистического машинного перевода (впрочем, системы основанные на правилах сталкиваются с теми же задачами). Языки: русский, японский, финский и английский.

Для иллюстрации, я использовал переводчик Google Translate (кратко GT). Этот переводчик вполне сносно справляется с переводом между достаточно близкими языками. Под «достаточно близкими» я подразумеваю такие языковые пары, которые обладают большим пересечением словарных единиц (с точностью до их перевода на оба языка из данной пары), имеют схожий порядок слов, уровень морфологического разнообразия и другие грамматические особенности.

Давайте рассмотрим пример языковой пары, на которой GT особенно хорош. Метод round-trip — один из методов проверки близости двух языков, по крайней мере «статистической близости». Им и воспользуемся:

(все примеры перевода ниже получены только при помощи переводчика)

Английский: I am in a shop.
Голландский: Ik ben in een winkel.
Обратно на английский: I’m in a store. (достаточно хорошо)

Английский: I danced into the room.
Голландский: Ik danste in de kamer.
Обратно на английский: I danced in the room. (проблема с предлогом)

Теперь рассмотрим пару языков, удалённых друг от друга в смысле перечисленных выше критериев: морфология и порядок слов (заметим в скобках: когда мы утверждаем, что языки грамматически удалены, они могут быть удалены и семантически и даже прагматически: различные языки создавались людьми для конкретных целей в те или иные исторические моменты). Одна из таких пар — английский и финский:

Финский: Hän on kaupassa.
Английский: He is in the shop.
Обратно на финский: Hän on myymälä. (практически оригинальное предложение на финском по-смыслу)

В этом примере присутствует местоимение hän, не имеющее пола. Данная (анафорическая либо катафорическая) ссылка должна разрешаться с вовлечением большего, чем одно предложение, контекста: где-то в тексте перед или после этого предложения есть упоминание её объекта. Перевод на уровне предложений в данном случае есть ограничение само по себе. Местоимения могут быть полезны, если мы хотим разобраться, как взаимодействуют объекты в тексте на иностранном языке.

Давайте возьмём ещё одну пару дистантных языков: английский и русский.

Русский: Маска бывает правдивее и выразительнее лица.
Английский: The mask is truthful and expressive face. (должно было быть: The mask can be more truthful and expressive than face)
Обратно на русский: Маска правдивым и выразительным лицом.

Русский язык обладает довольно богатой морфологией и может, например, передать падеж или предложно-падежный тип окончанием слова. Такие тонкости языка довольно сложно распознать накапливая только статистические данные по параллельным корпусам. Существуют методы по комбинированию лингвистики и статистики.

Напоследок рассмотрим ещё одну пару довольно дистантных языков: английский и японский.

Английский: Reporters said that IBM has bought Lotus. (Репортёры сообщили, что IBM купила Lotus)
Японский: 記者は、IBMがロータスを買っていると述べた。
обратно на английский: The reporter said that IBM Lotus are buying.

Японский имеет «рекурсивный синтаксис», который исходное английское предложение представляет таким образом:

Reporters (IBM Lotus has bought) that said. = Репортёры (IBM Lotus купила) что сообщили.

Т.е. имеется связка S-O-V (Субъект-Объект-Глагол) на уровне всего предложения и его отдельных компонент (например, придаточных предложений).

Таким образом, чтобы корректно переводить между английским и японским, в статистический переводчик нужно встроить метод соотнесения синтаксических структур (шаблонов) и вести перевод по более строгим правилам, чем позволяют статистические методы, применяемые на данный момент.

Доклад о проекте MTEngine на NLP семинаре

В конце марта Дмитрий Кан выступил на NLP семинаре, проходившем в петербургском офисе Яндекса, с докладом о проекте машинного переводчика MTEngine. Ознакомиться со слайдами и посмотреть долгожданное видео с семинара можно ниже. Приятного просмотра!

P.S.: и как всегда – мы рады любым вопросам по теме!

Слайды:

Видео:

О докладе на NLP семинаре в Яндексе

В марте, 29 числа, я сделал первый публичный доклад про MTEngine по приглашению Лиды Пивоваровой, одной из устроительниц NLP семинара (http://www.nlpseminar.ru). Доклад проходил в офисе Яндекса в Санкт-Петербурге. В аудитории было порядка 15 человек и велась видео-запись.

С самого начала я задумал сделать доклад без излишних научно-лингвистических подробностей проекта. Желающие и специалисты всегда могут почитать мою кандидатскую диссертацию (или автореферат). Напротив, хотелось рассказать о проекте в целом и попытаться заинтересовать самых разных людей. Было понятно, что далеко не всем будет интересно пытаться отличить семантику от синтаксиса и распознать предложно-падежные типы по визуальному представлению дерева разбора предложения.

В начале было демо. К нему я заготовил одно простое предложение на русском языке для перевода на английский:


Я пишу письмо другу.

Почему оно интересно с точки зрения машинного перевода? Потому что здесь нет предлога, который появляется (to) в английской версии этого предложения:


I write letter to a friend.

Мой изначальный план перейти сразу к слайдам провалился. Аудитория попросила ещё примеров. Ещё один интересный пример связан с семантикой. Или на английский манер: word sense disambiguation (WSD).

Вот он:


Я читаю предложение о работе.

Перевод:


I read proposal on work.

И его семантический сосед:


Я читаю предложение на русском языке.

И его перевод:


I read sentence in Russian language.

(все эти предложения и их переводы вы можете увидеть, войдя в систему).

Были ещё примеры, которые аудитория просила меня показать. Пожалуй, не стану их всех раскрывать в этом посте. Надеюсь, скоро будет видео-запись.

В слайдах я рассказал немного об истории машинного перевода. На мой взгляд, разбираться в таких, казалось бы “сугубо гуманитарных” вещах математикам и компьютерным лингвистам совсем не нужно, но это не совсем так. Или даже совсем не так. История вопроса позволяет понять, что уже было предпринято до нас. А история машинного перевода началась лет 60 назад. И сделано уже довольно много.

Потом я перешёл к некоторым проблемам (или подзадачам) машинного перевода на примерах переводов систем-участниц РОМИПа (www.romip.ru). В этом году на РОМИПе была впервые дорожка по машинному переводу, в которой я поучаствовал как переводчик и асессор. Собственно, делал это с той целью, чтобы лучше разобраться в задаче машинного перевода в контексте профессии переводчика. Не секрет, что профессионалы перевода сегодня используют помимо систем memory map (база переводов данного переводчика) и системы машинного перевода. Одна из возможностей ускорить процесс перевода — воспользоваться системой МП и сделать так называемый post-editing. Проще говоря, отредактировать результат машинного перевода. А вот переводить всё совсем с нуля — довольно утомительно. Собственно это я испытал, переведя пару десятков предложений на РОМИПе в системеhttp://translatedby.com/you/test-data-f … ru/trans/. Работа асессора оказалась не менее утомительной и сложной, но интересной лично мне тем, что можно было зафиксировать характерные проблемы машинного перевода. Часть из них (в анонимном режиме) я представил на докладе. Не стану их все пересказывать, а приведу лишь один, перекликающийся с примером о семантических соседях выше по тексту. Было две системы машинного перевода, которые перевели исходное предложение на английском языке так:

1-я система: Гарантии были даны, что грузовик, сцена, музыка и выступления – не говоря уже о барабанах, танцы и протест – не будет предотвращено от идти вперед, как планировалось на площади прямо напротив таможни в Circular Quay, веб-сайт сказал.

2-я система: Гарантиям дали тот грузовик, стадию, музыку и речи – чтобы не упомянуть, что барабанили, танцуя, и протесту – не будут препятствовать идти вперед как запланировано в квадрате непосредственно вне Таможни в Круглом Причале, веб-сайт сказал.

Оригинал:

“Assurances have been given that truck, stage, music and speeches – not to mention drumming, dancing and protest – will not be prevented from going ahead as planned in the square directly outside Customs House at Circular Quay,” the website said.

Таким образом, как и планировалось, я рассказал скорее о проблемах машинного перевода, чем о их решениях. Некоторые из них мы решаем в проекте MTEngine. Например, WSD :)

Пробовать перевод можно, зарегистрировавшись прямо на сайте. Пока готовится видео, слайды можно посмотреть здесь: http://www.slideshare.net/dmitrykan/mt- … lp-semniar

Проекты SemanticAnalyzer Group

За последний год в свободное время наша команда начала работать над проектом MTEngine. Мы решили выделить для этого отдельную страничку на сайте: https://semanticanalyzer.info/blog/projects/

Суть проекта заключается в том, что пользователи, переводя предложения при помощи онлайн переводчика, могут улучшить перевод сами, подставляя более подходящие переводные альтернативы. Проект “держится” на волонтёрах, а разработкой движка переводчика и пользовательского интерфейса занимается Дмитрий Кан (в твиттере: @DmitryKan).

Если вам интересно узнать подробнее или у вас есть вопросы, пишите нам на info(at)semanticanalyzer.info.

Открытый волонтёрский проект по улучшению машинного перевода

За 6 часов мы запустили новый проект MTEngine по оценке и улучшению машинного перевода. Проекту нужны волонтёры, смело пишите мне письма (все адреса на сайте проекта). Записывайтесь в группу Вконтакте.