Применение рекурсивных рекуррентных нейронных сетей
Андросова Е.Е., МГТУ им. Н.Э. Баумана [email protected]
Аннотация
В статье рассматривается применение рекурсивных рекуррентных нейронных сетей (R2NN) для моделирования процесса декодирования и синтаксического разбора в статистическом машинном переводе. R2NN является комбинацией рекурсивной и рекуррентной нейронной сети и объединяет их возможности: (1) новая информация может быть использована для получения следующего состояния скрытых слоев, как это делается в рекуррентных нейронных сетях; (2) может быть построена древовидная структура разбора, как это делается в рекурсивных нейронных сетях. В статье приводятся ссылки на результаты экспериментов, заимствованные из работы [Shujie Liu et al., 2014], по переводу с китайского языка на английский язык, которые показывают, что метод R2NN повышает точность перевода в 1,5 раза по метрике BLUE.
Введение
Системы машинного перевода текстов с одних естественных языков на другие моделируют работу человека-переводчика. Их полезность зависит от того, в какой степени в них учитываются объективные законы языка и мышления. Законы эти пока еще изучены плохо. Поэтому, решая задачу машинного перевода, необходимо учитывать опыт межнационального общения и опыт переводческой деятельности, накопленный человечеством. В процессе перевода в качестве основных единиц смысла выступают не отдельные слова, а фразеологические словосочетания, выражающие понятия. Именно понятия являются элементарными мыслительными образами. Только используя их можно строить более сложные образы, соответствующие переводимому тексту.
В настоящее время выделяют три типа систем машинного перевода [Никитин, 2012]:
• полностью автоматический;
• автоматизированный машинный перевод при участии человека в той или иной мере (Machine Translation - MT-системы);
• перевод, осуществляемый человеком, с использованием компьютера (Translation Memory - TM-системы).
Далее будут рассматриваться только MT-системы.
Современные системы машинного перевода делят на следующие большие группы:
• основанные на правилах (Rule-Based Machine Translation - RBMT);
• основанные на примерах (Example-Based Machine Translation - EBMT);
• статистические (Statistical-Based Machine Translation - SBMT);
• гибридные.
Системы машинного перевода, основанные на правилах, - общий термин, который обозначает системы машинного перевода на основе лингвистической информации об исходном и переводном языках. Они состоят из двуязычных словарей и грамматик, охватывающих основные семантические, морфологические, синтаксические закономерности каждого языка. Эти системы делятся на три группы:
• системы пословного перевода (Dictionary Based Machine Translation - DBMT);
• трансферные системы (Transfer Based Machine Translation - TBMT);
• интерлингвистические (Interlingua). Системы пословного перевода - это самый
простой метод машинного перевода. Он используется очень ограниченно:
• для перевода длинных списков слов, например, каталогов;
• для составления «словаря-подстрочечника» для TM-систем.
Метод обладает низким качества перевода. Слова исходного текста преобразуются как есть в слова переводного текста. Часто такое преобразование происходит без лемматиза-ции и морфологического анализа.
Трансферные системы (как и интерлингвистические) требуют для перевода посредника, который в себе несет смысл переводимого выражения. В интерлингвистических системах посредник не зависит от пары языков, в то время как в трансферных - зависит.
Трансферные системы работают по очень простому принципу: к входному тексту применяются правила, которые ставят в соответствие структуры исходного и переводного языков. Начальный этап работы включает в себя морфологический, синтаксический, а иногда и семантический анализ текста для создания внутреннего представления. Перевод генерируется из этого представления с использованием двуязычных словарей и грамматических правил. Иногда на основе первичного представления, которое было получено из исходного текста, строят более «абстрактное» внутренне представление. Это делается для того, чтобы акцентировать места важные для перевода и отбросить несуще -ственные части текста. При построении текста перевода преобразование уровней внутренних представлений происходит в обратном порядке. При использовании этой страте -гии получается достаточно высокое качество переводов. Работа любой системы трансфер-ного перевода состоит как минимум из пяти частей:
• морфологический анализ;
• лексическая категоризация;
• лексический трансфер;
• структурный трансфер;
• морфологическая генерация.
Интерлингвистический машинный перевод
- один из классических подходов к машинному переводу. Исходный текст трансформируется в абстрактное представление, которое не зависит от языка (в отличие от трансфер-ного перевода). Переводной текст создается на основе этого представления. До сих пор не существует удовлетворительных реализаций такого типа систем, которые корректно работали хотя бы для двух языков.
Перевод, основанный на примерах, использует двуязычный корпус текста. Двуязычный (или параллельный) корпус (parallel corpora) представляет собой большие собрания параллельных текстов, где параллельный текст (би-текст) - текст на одном языке вместе с его переводом на другой язык. Этот корпус текста во время перевода используется как база знаний. Предполагается, что люди разлагают исходный текст на фразы, потом переводят эти фразы, а далее составляют переводной текст из фраз. Причем, перевод фраз обычно происходит по аналогии с предыдущими переводами. Перевод, основанный на примерах, лучше всего подходит для таких явлений как фразовые глаголы. Значения фразовых глаго-
лов сильно зависит от контекста. Фразовые глаголы очень часто встречаются в разговорном английском языке. Они состоят из глагола с предлогом или наречием. Смысл такого выражения невозможно получить из смыслов составляющих частей. Классические методы перевода в данном случае не применимы. Этот метод перевода можно использовать для определения контекста предложений.
Статистический машинный перевод использует сравнение больших объемов языковых пар, так же как и машинный перевод, основанный на примерах. Для работы этой системы необходимы большие (огромные) базы параллельных текстов, где попарно хранятся словосочетания (фразы из п слов) и их переводы, так называемые К-граммы. Концептуально К-грамма - это последовательность из п элементов. В контексте машинного перевода К-грамма - это последовательность из п слов. На практике чаще встречается К-грамма как ряд устойчивых словосочетаний, которые называют коллокацией. В области обработки естественного языка К-граммы используется в основном для предугадывания на основе вероятностных моделей. К-граммная модель рассчитывает вероятность последнего слова К-граммы, если известны все предыдущие. При использовании этого подхода для моделирования языка предполагается, что появление каждого слова зависит только от предыдущих слов. Возможны и другие применения К-грамм: категоризация текста и языка, создания функций, которые позволяют получать знания из текстовых данных.
Чем больше базы параллельных текстов, тем выше качество перевода. В процессе перевода также используется механизм анализа, но не лингвистический, а статистический. Система подбирает вариант перевода, основываясь на частоте совпадений, то есть в конечном итоге будет подставлен вариант, имеющий наиболее высокий процент совпадений. В результате при выполнении перевода компьютер не оперирует лингвистическими алгоритмами, а вычисляет вероятность применения того или иного слова или выражения. Слово или последовательность слов, имеющее оптимальную вероятность, считаются наиболее соответствующими переводу исходного текста и подставляются компьютером в получаемый в результате текст. В статистическом машинном переводе ставится задача не перевода текста, а задача его расшифровки. Статья, написанная на английском
языке, на самом деле является статьей написанной на русском, но текст зашифрован (или искажен шумом). При таком подходе становится понятно почему, чем «дальше» языки, тем лучше работает статистический метод, по сравнению с классическими подходами. Слабым местом статистических систем является отсутствие механизма анализа грамматических правил входного и выходного языков. Трудно представить, что система, которая не анализирует текст с точки зрения грамматики, способна выдать связный перевод. Помимо объема корпусных данных, важным фактором улучшения качества статистического машинного перевода является разработка статистических моделей перевода. В этом отношении большую роль сыграли модели IBM 15. Функциональной основой IBM 1 является выравнивание (alignment), модель IBM 2 дополняется параметром (distortion) и способна выполнить правильную перестановку слов после выравнивания, модель IBM 3 добавляет параметр фертильности, который позволяет определить, сколько слов на языке перевода будет соответствовать одному слову на языке источника. Модели IBM 4 и IBM 5 направлены на усовершенствование предыдущих моделей. Статистический машинный перевод обладает свойством «самообучения».
Гибридные системы сочетают в себе подходы, описанные ранее. Ожидается, что гибридные системы машинного перевода позволят объединить все преимущества, которыми обладают статистические системы и системы, основанные на правилах.
В настоящее время, наиболее распространены системы статистического машинного перевода, например, Google Translate и Яндекс.Перевод. Эти системы проще создать и поддерживать. Кроме того, для обучения этих систем доступно большое количество данных: в их распоряжении параллельные корпуса текстов, книги, переведенные на разные языки, веб-сайты, имеющие возможность выбора языка и многие другие источники данных. В противоположность им, системы, основанные на правилах трудоемки в разработке и поддержке. Над созданием правил трудятся десятки лингвистов в течение многих лет. Например, у компании Abbyy на создание Abby Compreno ушло около 15 лет. Однако, системы, основанные на правилах, имеют более высокое качество перевода, чем системы статистического машинного перевода. Поэтому перспективным вариантом является
построение гибридной системы машинного перевода. В этом направлении развивается система машинного перевода PROMT.
Проблемы, возникающие при использовании систем статистического машинного перевода
Использование систем статистического машинного перевода сталкивается с рядом фундаментальных проблем. Они касаются как внутренних (ухудшение качества и стабильности перевода), так и внешних факторов (поиск данных для обучения систем) [Старостин, 2014].
Внутренние факторы связаны с тем, что естественный язык принципиально контекстно-зависим. Люди говорят в контексте, слышат в контексте, и хорошо умеют использовать контекст для снятия неоднозначности. Выделяют два основных вида неоднозначности в языке: с одной стороны, это омонимия, с другой - синонимия. Омонимия - это когда разные вещи обозначаются одним и тем же языковым выражением (не обязательно на уровне слов, иногда и на уровне целых фраз). Синонимия - это когда один и тот же смысл выражается разными языковыми выражениями. Синонимия и омонимия окружают людей со всех сторон, и для методов автоматической обработки это очень серьезная проблема, потому что люди в любой момент должны рассматривать альтернативы. Еще одна проблема - это эллипсис, т.е. пропущенные слова. Естественный язык допускает пропуск слов. Так, например, в русском языке регулярно пропускаются какие-то местоимения. Рассмотрим фразу «Ты любишь музыку? - Люблю». Во фразе «Люблю» пропущено и «я», и «музыку», но они подразумеваются, и люди их спокойно восстанавливают. А если перевести эту фразу на английский: «Do you like music? — Yes, I do». Там будет местоимение «I», субъект не опускается в данном случае, а «музыка» пропустится. Эти пропущенные элементы как раз очень неприятны для статистического перевода. Машина не понимает, откуда и как их восстанавливать. А для перевода через метаязык они могут неплохо быть восстановлены, если алгоритмы достаточно умны для этого. Но главное, что эллипсис -это же тоже абсолютно контекстная вещь. Также как омонимия разрешается за счет контекста, так и эллипсис восстанавливается за счет контекста. Т.е. чем больше контекста
машина может понять и применить, тем лучше она будет работать. Если она видит только соседние слова - она будет ошибаться. Если она понимает предложение целиком - она будет ошибаться меньше. Если она понимает текст целиком - она будет ошибаться еще меньше. Если она понимает текст в контексте того мира, в котором этот текст был создан, то она наверное не будет ошибаться вообще, но таких систем пока еще не создано.
Для обучения статистической системы машинного перевода необходимы параллельные корпусы текстов достаточно большого объема (если для гибридной системы около одного миллиона словоупотреблений, то для статистической системы на порядок больше). И здесь разработчики сталкиваются с проблемой: где брать эти данные? Для неуниверсальных систем можно использовать параллельные тексты, накопленные в ходе экспертного перевода клиентских данных переводческими агентствами. Для настройки универсальных систем перевода можно использовать параллельные корпусы в открытом доступе. В качестве примера можно привести корпус протоколов заседаний Европарламен-та (доступен на двадцати языках, объем корпуса от десяти до пятидесяти миллионов словоупотреблений для каждого языка), корпус протоколов заседаний ООН (семь официальных языков ООН, объем корпуса в среднем от ста до двухсот миллионов словоупотреблений для каждого языка), корпус субтитров к различным кинофильмам (тридцать языков). Однако такие корпусы относятся к очень специфичной предметной области и подходят фактически только для перевода подобных текстов. Другими словами, среднестатистический посетитель онлайн-сервиса перевода вряд ли станет переводить протоколы заседаний какого-либо международного правового или законодательного органа. Другой источник параллельных данных - открытые многоязычные веб-ресурсы, например, новостные порталы. В этом случае мы имеем дело с условно-параллельными данными (к примеру, новость на английском языке может иметь вольный перевод на русский или вообще не иметь его). Такие данные необходимо выравнивать, т. е. выделять среди большого объема данных действительно параллельные предложения на разных языках.
Статистическая машина перевода вполне сносно справляется с переводом между достаточно близкими языками, например, ан-
глийским и голландским. Под «достаточно близкими» подразумеваются такие языковые пары, которые обладают большим пересечением словарных единиц (с точностью до их перевода на оба языка из данной пары), имеют схожий порядок слов, уровень морфологического разнообразия и другие грамматические особенности. Если рассмотреть пару дистантных языков, например, английский и русский, то результаты могут оказаться менее удовлетворительными. Дистантными будем называть пару языков, удалённых друг от друга в смысле перечисленных выше критериев: морфология и порядок слов. В качестве примера рассмотрим метод round-trip (один из методов проверки близости двух языков, по крайней мере «статистической близости») и воспользуемся им при переводе с помощью переводчика Google Translate:
Русский: Маска бывает правдивее и выразительнее лица.
Английский: The mask is truthful and expressive face. (должно было быть: The mask can be more truthful and expressive than face)
Обратно русский: Маска является правдивой и выразительное лицо.
Заметим, что год назад перевод был хуже, а именно: "Маска правдивым и выразительным лицом". Проблема заключается в том, что русский язык обладает довольно богатой морфологией и может, например, передать падеж или предложно-падежный тип окончанием слова. Такие тонкости языка довольно сложно распознать, накапливая только статистические данные по параллельным корпусам. Решение проблемы заключается в разработке методов по комбинированию лингвистики и статистики.
Предлагаемая модель
По результатам исследований, приведенным в работах [Hinton et al., 2012; Dahl et al., 2012], для повышения качества статистического машинного перевода предлагается использовать глубокую нейронную сеть (Deep Neural Network - DNN). Глубокая нейронная сеть это искусственная нейронная сеть с несколькими скрытыми слоями. Подобно обычным нейронным сетям, глубокие нейронные сети могут моделировать сложные нелинейные отношения между элементами. В процессе обучения глубокой нейронной сети получаемая модель пытается представить объект в виде комбинации простых примитивов. До-
полнительные слои позволяют строить абстракции всё более высоких уровней, что и позволяет строить модели для процесса декодирования «end-to-end» в статистических машинах перевода. Обучение глубоких нейронных сетей может быть осуществлено с помощью обычного алгоритма обратного распространения ошибки. Существует большое количество модификаций данного алгоритма, например, алгоритм стохастического градиентного спуска. Таким образом, может быть использовано несколько правил настройки весов. К двум главным проблемам глубоких нейронных сетей относят те же проблемы, возникающие и при обучении обычных нейронных сетей: время обучения и переобучения. Как правило, глубокие нейронные сети строятся как сети прямого распространения. Однако исследования [Mikolov et al., 2010; Socher et al., 2011] показали, что целесообразнее применить методы глубокого обучения для рекурсивных рекуррентных нейронных сетей (R2NN).
Рекуррентные нейронной сети
Важной особенностью машинного перевода является переменная длина входа X и выхода Y. Чтобы работать со входом и выходом переменной длины, необходимо использовать рекуррентную нейронную сеть (Recurrent neural network - RNN) [Mikolov et al., 2010; Kyunghyun Cho., 2015]. Рекуррентные нейронные сети (Recurrent neural network -RNN) - вид нейронных сетей, в которых имеется обратная связь. При этом под обратной связью подразумевается связь от логически более удалённого элемента к менее удалённому элементу. Наличие обратных связей позволяет запоминать и воспроизводить целые последовательности реакций на один стимул. С точки зрения программирования в таких сетях появляется аналог циклического выполнения, а с точки зрения систем - такая сеть эквивалентна конечному автомату. RNN, как правило, используется для обработки последовательности слов, которая принята при обработке естественного языка [Mikolov et al., 2010]. Обычно для обработки последовательности слов используется скрытая марковская модель (Hidden Markov Model - HMM) и N-граммная модель языка. Скрытая марковская модель - статистическая модель, имитирующая работу процесса, похожего на марковский процесс с неизвестными параметрами, и
задачей ставится разгадывание неизвестных параметров на основе наблюдаемых. Полученные параметры могут быть использованы в дальнейшем анализе. В обычной марковской модели состояние видимо наблюдателю, поэтому вероятности переходов - единственный параметр. В HMM можно следить лишь за переменными, на которые оказывает влияние данное состояние. Каждое состояние имеет вероятностное распределение среди всех возможных выходных значений. Поэтому последовательность слов, сгенерированная HMM, даёт информацию о последовательности состояний. HMM может быть рассмотрена как простейшая байесовская сеть доверия. Байесовская сеть доверия - это графическая вероятностная модель в виде направленного ациклического графа, каждой вершине которого соответствует случайная переменная, а дуги графа кодируют отношения условной независимости между этими переменными. Вершины могут представлять переменные любых типов, быть взвешенными параметрами, скрытыми переменными или гипотезами. Существуют эффективные методы, которые используются для вычислений и обучения байесовских сетей. Для проведения вероятностного вывода в байесовских сетях используются как точные, так и приближенные алгоритмы:
В скрытой марковской модели предыдущее состояние используется как история. Например, для N-граммной языковой модели, где N равно 3, история - это два предыдущих слова.
Широко применяемые нейронные сети прямого распространения (Fedforward Neural Network - FNN), такие как сверточные нейронные сети (Convolutional Neural Network - CNN), не хранят информацию о внутреннем состоянии, используя только собственные параметры сети. Каждый раз, когда элемент данных подается в нейронную сеть прямого распространения, внутреннее состояние сети (то есть функции активации скрытых нейронов) вычисляется заново. При этом на него не оказывает влияние состояние, вычисленное при обработке предыдущего элемента данных. В отличие от этого, RNN сохраняет свое внутренне состояние при чтении входной последовательности слов. Следовательно, RNN способна обрабатывать входные данные произвольной длины. Имеет смысл рассмотреть этот вопрос более подробно. Основная идея RNN заключается в том, чтобы с помощью рекурсии сформировать из входной последо-
вательности символов вектор фиксированной размерности. Предположим, что на шаге t мы имеем вектор ht-i, представляющий собой историю всех предыдущих слов. RNN вычислит новый вектор ht (то есть свое внутреннее состояние), который объединяет все предыдущие слова (xi, Х2, ..., xt-i), а также новый символ xt с помощью:
ht = 9e(xt, ht-i) где фе - функция, параметризованная посредством е, которая принимает на входе новое словол xt и историю ht-i до (t-l)-ro слова. Изначально мы можно предположить, что ho -нулевой вектор.
Рекуррентная функция активации ф обычно реализуется, например, как простое аффинное преобразование (affine transformation), за которым следует поэлементная нелинейная функция:
ht = tanh( Wx + Uht-i + b).
В этом выражении присутствуют следующие параметры: входная весовая матрица W, рекуррентная весовая матрица U и вектор смещения (bias vector) b. Следует отметить, что это не единственный вариант. Существует обширное пространство для разработки новых рекуррентных функций активации.
Этот простой тип RNN может быть легко реализован, например, с помощью библиотеки Theano, благодаря которой RNN может работать как на CPU, так и на GPU. В качестве справки можно обратиться к руководству под названием «Рекуррентные нейронные сети с векторным представлением слов» (Recurrent Neural Networks with Word Embeddings).
В ряде работ было показано, что можно повысить эффективность обучения RNN с помощью более сложных функций активации, например, используя нейроны с длительной кратковременной памятью (long short-term memory unit, LSTM) [Hochreiter and Schmid-huber, i997] и управляемые рекуррентные нейроны (gated recurrent unit).
Предполагается, что RNN могут использовать неограниченную информацию об истории, и она имеет текущие соединения на скрытых состояний, так что информация об истории может циркулировать внутри сети произвольно долгое время.
Как показано на рисунке i, сеть содержит три слоя, входной слой, скрытый слой и выходной слой.
Рис. 1. - Рекуррентная нейронная сеть
Входной слой представляет собой конкатенацию йц и Хг, где йц - вещественный вектор, который представляет собой информацию об истории от момента времени 0 до момента времени 1-1. Входное слово Хг является векторным представлением слова в момент времени Векторное представление слова хг интегрировано с предысторией йц, чтобы генерировать текущий скрыты слой, который является новым вектором история Основанный на хг, мы можем предсказать вероятность следующий слово, которое формирует выходной слой уг. Новая история используется для прогнозирования будущего и пополняется новой информацией из векторного представления слова Хг рекуррентно.
Рекурсивные нейронной сети
В дополнение к последовательной структуре, описанной выше, в различных задачах КЬР, таких как разбор и декодирование в 8МТ, обылчно строится древовидная структура. Для построения древовидной структуры, вводятся рекурсивные нейронные сети для представления результата синтаксического анализа естественного языка ^осЬег ег а1., 2011]. Как и рекурсивные нейронные
сети могут использовать неограниченную информацию об истории для любого поддерева. Обычно используется бинарные рекурсивные нейронные сети в виде родительского узла и двух дочерних узлов на входе.
Как показано на рисунке 2, 5[1, т] и "] являются представлением дочерних узлов, и они объединяются в одном векторе в качестве входа в сеть. п] является представлением родительского узла. у[1, п] доверительная оценка правдоподобия родительского узла. I, т, п - индексы строки.
- ii2 -
Рис. 2. Рекурсивная нейронная сеть
Рекурсивные рекуррентные нейронные сети
Объединение рекуррентной и рекурсивной сети (R2NN) приводит к гибридной модели, пригодной как для процесса декодирования, так и для синтаксического разбора [Shujie Liu et al., 2014]. Схема сети представлена на рисунке 3. Обозначения, принятые на рисунке, аналогичны тем, которые были представлены на рисунках 1 и 2.
Вход, скрытый и выходной слои рассчитывается следующим образом:
x '[l, n] = x[l, m] + s[l, m] + x[m, n] + ^[m ,n] s[l, j = y(Ex'[l, n]i j y[u] = S(s[l, n] + x[l, n])jVj
где + является оператором конкатенации и f является нелинейной функцией. Здесь можно используем функцию HTanh, которая определяется как:
HTanh(x) = if x < -1 then -1, else if x >= -1 and x >= 1 then x else if x > 1 then 1.
Рис. 3. Рекурсивная рекуррентная нейронная сеть Эксперименты и результаты
В работе [Shujie Liu et al., 2014] приводятся результаты экспериментов на примере задачи перевода для пары дистантных языков: китайского и английского. Основой системы обучения являются базовые алгоритмы моделей IBM 1 и IBM 2. Для оценки качества перевода использовалась формальная метрика BLEU (Bilingual Evaluation Understudy). Ре-
зультаты показали, что метод R2NN повышает точность перевода в 1,5 раза.
Заключение
В статье проведен анализ и классификация систем машинного перевода естественных языков.
Указаны достоинства и недостатки рассмотренных систем, и сделан акцент на системах статистического машинного перевода.
Вскрыты основные проблемы, которые возникают в системах статистического машинного перевода.
Предложена модель перевода, основанная на сети глубокого обучения, дополненная рекуррентной рекурсивной нейронной сетью.
Приводятся ссылки на результаты экспериментов, заимствованные из работы [Shujie Liu et al., 2014], по переводу с китайского языка на английский язык, которые показывают, что метод R2NN повышает точность перевода в 1,5 раза по метрике BLUE.
Список литературы
Geoffrey E Hinton, Simon Osindero, and Yee-Whye Teh. 2006. A fast learning algorithm for deep belief nets. Neural computation, 18(7):1527-1554.
George E Dahl, Dong Yu, Li Deng, and Alex Acero. 2012. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition. Audio, Speech, and Language Processing, IEEE Transactions on, 20(1):30-42.
Hochreiter Sepp, Schmidhuber J urgen. Long short-term memory. Neural Computation 9(8):1735-1780, 1997
Kyunghyun Cho. Introduction to Neural Machine Translation with GPUs (part 1). URL: https: //devblogs.nvidia.com/p arallelforall/introduction -neural-machine-translation-with-gpus/
Tomas Mikolov, Martin Karafiat, Lukas Burget, Jan Cernocky, and Sanjeev Khudanpur. 2010. Recurrent neural network based language model. In Proceedings of the Annual Conference of International Speech Communication Association, pages 10451048.
Richard Socher, Cliff C Lin, Andrew Y Ng, and Christopher D Manning. 2011. Parsing natural scenes and natural language with recursive neural networks. In Proceedings of the 26th International Conference on Machine Learning (ICML), volume 2, page 7.
Shujie Liu, Nan Yang, Mu Li and Ming Zhou. A Recursive Recurrent Neural Network for Statistical Machine Translation. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, pages 1491-1500, Baltimore, Maryland, USA, June 23-25 2014. Association for Computational Linguistics.
Никитин И.К. Отчет о дипломной работе по теме: "Распределенное программно-информационное обеспечение статистической модели перевода естественных языков". - М.: 20i2. - 69 c. URL: http://www.academia.edu/2506929/Статистическа я система машинного перевода Distributed sta tistical machine translation system .
Старостин А. Искусство перевода в эпоху Google Translate. URL:
http://archive 1. openufa.com/index.php/1/1223-google-translate.