diploma-2 (1015782), страница 5
Текст из файла (страница 5)
ПРЕДЛАГАЕМЫЙ ПОДХОДК РАЗРАБОТКЕ ССМПОсновными задачами разрабатываемой системы являются:а) обработка входного параллельного корпуса с опорой на особенностинаучного текста;б) создание моделей языка и перевода на основании входного параллельного корпуса;в) декодирование исходного текста на основании моделей языка и перевода (с опорой на особенности научного текста);г) иметь возможность выполнять описанные выше операции распределено.В соответствии с перечисленными задачами весь код системы можно разбить на 3 класса приложений, каждый из которых соответствует своей задаче..Корпус.En, Ru..Читатель...База данных..Декодер..ОбработчикРис.
1.3. Упрощенная схема системы.Кроме того, для взаимодействия с системой пользователя необходимопредусмотреть интерфейс взаимодействия с пользователем и с внешнимиприложениями. C учетом этого и условия распределенности общая схема может иметь вид как представлено ниже.31..Корпус En,Ru x. Ru . . ..Корпус En,..Корпус En,Ru 2..Корпус En,Ru 1..Читательx..Читатель.....Читатель2..Читатель1..Декодер1.Web. . .
....База данных..Декодер....Rest. . . ...Консоль.....Обработчик1..Декодерz..Обработчик2..Обработчик.....ОбработчикyРис. 1.4. Полная схема системы.Для эффективной работы системы предполагается, что x < y. Все тритипа модуля могут быть удалены географически (однако, при этом можетупасть скорость взаимодействия). База данных может быть распределена.Использование (возможно, удаленной) базы данных является скорее чистотехническим моментом реализации системы. Намного естественнее и прощебыло бы проводить все вычисления в локальной памяти машины, а для распределения вычислений осуществлять пересылку сообщений от одного узла32к другому. Однако, память компьютера может быть не в состоянии вместитьвсе необходимые для вычисления данные даже при очень большом объеме.А пересылка сообщений приведет к переполнению очередей сообщений дляпроцессов, которые медленно осуществляют обработку информации.
На единицу времени они будут принимать больше, чем смогут обработать. Потому самым оптимальным решением стало использование базы данных класса«ключ-значение» для каждой вычислительной операции, которая потребуетдлительного хранения. При создании систем машинного перевода текстов содних естественных языков на другие возникает вопрос о том, какими минимальными единицами смысла следует оперировать в таких системах [60].Система ориентирована на перевод исключительно научно-техническойлитературы.
Тексты научной литературы на русском и английском языкахсходны по своей структуре. Стиль научно-технической прозы отличается:а) устойчивыми формальными выражениями;б) прямым порядком слов;в) стереотипной структурой предложений;г) важностью локального порядка слов.Для перевода научного текста, на основании принципов изложенных в теоретической части, мы предлагаем следующие приемы:а) вместо слов использовать их группы или n-граммы;б) использовать выравнивание по крупным группам n-грамм;в) использовать модели низких порядков (IBM 3-5 могут сильно исказитьлокальный порядок слов).Как показывают статистические исследования, словосочетания длиной более10 слов повторяются в текстах очень редко и в совокупности покрывают ихменее чем на 1% [60].33Предлагаются следующие ограничения:а) максимальный размер n-грамм положить равным 5 слов;б) максимальный размер считываемой строки ограничить 256 символами;в) максимальный размер предложения ограничить 40 словами;Все эти ограничения являются настраиваемыми, однако именно с такими настройками проводилась реализация и тестирование системы.
Ниже рассмотрим каждое приложение в отдельности.1.4.1. ЧИТАТЕЛЬРис. 1.5. Диаграмма активности приложения «читатель».34Приложение считывает параллельный корпус строка за строкой из двухфайлов корпуса одновременно. После прочтения каждая строка разбиваетсяна слова, по синтаксическим признакам конца слова (пробелы, знаки препинания). Из списков слов формируются группы n-грамм начиная с максимального n, заканчивая слова.
Одним из принципиальных моментов системыявляется метод выделения списков n-грамм. Имея список n-грамм верхнегоуровня, скажем пятого, составить список более низкого уровня можно безобращения к исходной строке. Таким образом, выделения списка занимаетвремя строго меньшее чем O(l2 ) по длине строки. Формирование списковn-грамм и отправка полученных n-грамм в базу может происходить параллельно.
Сама по себе отправка представляет собой пару операций: инкрементсчетчика заданной n-граммы в базе и добавление слова множество n-грамм.Обе эти операции также можно проводить параллельно, более того отправкув базу данных может быть осуществлена асинхронно, так как для нас не важен возврат результата выполнения команды. n-граммы в списке n-граммыотсортированы по убыванию их длин, n-граммы одинаковой длинны, отсортированы по возрастанию позиции первого слова n-граммы в исходном предложении.
Добавление в базу списков n-грамм представляет собой асинхронную запись каждого списка в базу данных подобно добавлению элемента встек. Общая схема приложения представлена ниже. Стрелками показаны потоки данных. Прерывистыми линиями изображены косвенные связи..Корпус.En, RuОбработчик.. файлов(потоков).Модуль работы.со словами...Диспетчер..Пул соединений.Модуль.работы с БДРис. 1.6.
Схема модулей приложения «читатель».35В одной из модификаций этого приложения мы сразу в приложении читателя составляли список сопоставления n-грамм разных языков. Это позволяло несколько разгрузить приложение обработчика кроме того давало возможность гибко настраивать сопоставление n-грамм разного размера.Полный список сопоставления n-грамм представляет собой декартовопроизведения списков n-грамм на разных языках. Но использование полного списка для n-грамм большого размера является не экономичным с точкизрения хранения информации.
Тем более, учитывая, стилистические особенности научного текста, крупные группы слов отражающие сходные понятияв научных текстах находятся примерно на одинаковом удалении от началапредложения.Для этого случая нами был разработан следующий подход:а) строить полный список сопоставлений (декартово произведение) для1-грамм, то есть слов;б) строить m-диагональную матрицу для всех остальных n-грамм.m выбирается экспериментально, по умолчанию полагается равным 3.
Такой подход позволяет снизить количество сопоставляемых n-грамм, но повышает вероятность ошибки обучения системы. Как показала практика, не всенаучные тексты удовлетворяют ограничению представленному выше. Кроме того, это предположение является ошибочным для текстов иных стилей.В текущей реализации мы отказались от такого подхода.361.4.2.
ОБРАБОТЧИКОбработчик нужен для обучения модели перевода на основании данныхполученных у читателя.Рис. 1.7. Диаграмма активности приложения «обработчик».37Принцип работы обработчика во многом определяется алгоритмом обучения описанным в выше. Условие сходимости предлагается не вычислятькак математическое неравенство. Как показала практика на текстах ограниченного объема это условие может никогда не выполниться, тем более намне столь важен сам факт сходимости, сколько относительные отношения вероятностей парных соответствий n-грамм.Важными архитектурными моментами работы приложения являются методы доступа к данным.
Предполагается что все операции на запись данныхбуду асинхронными. Операция инкремента величины подсчетов (см. алгоритмы в приложении), должны быть атомарными и асинхронными. В противном случае, если мы используем распределенные вычисления, то данныерискуют быть или неверно прочитаны или перезаписаны в неподходящий момент (оптимистическая блокировка). Использование пессимистической блокировки может привести к значительному замедлению при большой конкуренции запросов.Lset0 — пары списков n-грамм перемещенные туда читателем. На моментначала работы обработчика предполагается что это множество не пусто.
Накаждом проходе по множеству элемент этого множества считывается в обработчик и перемещается в Lset1 (это выполняется как атомарная операцияrpoplpush). При каждой i-й итерации алгоритма обработчик считывает парусписков n-грамм из Lset0 и кладет их в множество Lseti+1 . Ситуация с вычислением вероятности по всем n-граммам корпуса аналогична, за исключениемтого, что считывание и перемещение ведется сразу по двум множествам. Туттак же предполагается, что используемая база данных поддерживает атомарные операции такого вида.
В противном случае могут возникнуть конфликтызаписи данных и есть возможность, что алгоритм будет многократно отрабатывать с ограниченным объемом одних и тех же данных.Использование множеств в данном контексте может показаться странным.















