Горощенко Александр ЕвгеньевичПрограммное обеспечение автоматизированных систем ПО-00вТема выпускной работы: Исследование возможностей программных средств на примере написания электронного голосового переводчика для карманного ПК.Научный руководитель: Шелепов Владислав ЮрьевичМой E-Mail goroschenko_alex@ukr.net |
ОТЧЕТ О ПОИСКЕ | БИОГРАФИЯ | БИБЛИОТЕКА |
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ | ССЫЛКИ |
Не вызывает сомнения целесообразность разработки компьютерных программ, создающих для человека возможность устного общения на языке, которым он владеет в недостаточной степени (или даже не владеет вообще). При сегодняшнем уровне машинного перевода единственной реально выполнимой задачей является создание программы, которая могла бы переводить достаточно большой набор готовых фраз. Книги, предназначенные для такой цели, называют «Разговорниками». Авторы проекта видят свою задачу в создании удобной компьютерной программы русско-английского разговорника. Важнейшим ее преимуществом по сравнению с книжным вариантом является возможность озвучивания перевода с помощью синтезатора речи. Схема работы такой программы: поиск нужной фразы, замена ее соответствующим переводом и озвучивание этого перевода. Поиск естественно реализовать как многоуровневый с использованием ключевых слов. В виду того, что окончательная реализация результата мыслится на базе портативного электронного устройства, весьма важной становится возможность голосового ввода ключевых слов с использованием распознавания речи. Подчеркнем, что, поскольку нужно лишь найти нужную русскую фразу и это можно сделать с помощью набора ключевых слов, отпадает необходимость произносить фразу целиком в виде отрезка слитной речи. Настоящий раздел содержит описание системы голосового разговорника и используемых в ней алгоритмов.
В мире уже существует голосовой переводчик на базе карманного компьютера Phraselator 100+. Первый прототип аппарата был разработан и прошел испытание еще в 2002 году в Афганистане. В данный момент усовершенствованная версия переводчика используется англо-американскими интервентами в Ираке. Phraselator имеет противоударный защищенный корпус, программное обеспечение VoxTec Pocket Speaker. Новинка, о чем можно догадаться по названию переводит не только отдельные слова, но целы фразы. Фразу можно надиктовать в микрофон либо выбрать из списка. Стандартный языковой модуль Phraselator это от 100 до 1000 фраз на двух языках, по словам производителя Marine Acoustics уже готово более 40 языковых модулей, дополнительные модули можно загружать с флеш-карт. Например, англо-иракские интервенты снабжены Phraselator с курдским и арабским модулем. Разработчиком является Агентством перспективных разработок МО США (DARPA) совместно со Small Business Innovative Research (SBIR). Область применения для этого переводчика обширны - туризм, сфера образования, использование эмиграционными службами, таможней, правоохранительными органами и т.д.
Технический анализ: cравнение Windows CE и Palm OS
Ядро Palm OS
Устройства, работающие под управлением Palm OS и Windows CE, предназначены для совершенно разных целей, подтверждением чему служат ядра этих операционных систем. Основная разница заключается в том, что Palm OS (на базе ядра AMX от производителя внедряемых систем Kadak) оптимизирована для определенной платформы, полностью разработанной Palm Computing. Поэтому между устройствами, производимыми на базе платформы Palm, нет значительной разницы. Компании Symbol, IBM и Qualcomm берут ядро и добавляют свои разработки поверх операционной системы, но они не могут поменять процессор, экран или платы контроллеров - такие изменения требуют значительной переделки ОС.
Ядро Windows CE
Microsoft Windows CE изначально предназначалась для широкого круга аппаратных средств. Существуют четыре различные версии Windows CE для различных процессоров (NEC MIPS и его вариации, Intel/AMD X86, Hitachi SH3 и SH4, Intel StrongARM) для управления различными типами экранов, клавиатур, модемов и периферийных устройств. Проще говоря, существует только одна версия Palm OS, а Windows CE компилируется специально для тех машин, на которых она будет использоваться.
Различия
Фундаментальная разница между этими системами состоит в разработке ядра, которое является и слабостью и силой каждой рассматриваемой операционной системы. Palm OS оптимизирована и скомпилирована для очень специфичного типа машины, и поэтому ее быстродействие чрезвычайно высоко. Хотя, нужно признать, что Palm OS ограничена в своих возможностях. С другой стороны, Windows CE - это операционная система общего назначения, предназначенная для поддержки многих устройств, имеет модульный дизайн и возможности расширения. В отличие от Palm OS, она больше похожа на систему, которая работает на вашем настольном компьютере.
Windows CE используется не только в PDA - она адаптирована для автомобильных компьютеров (например, Clarion AutoPC), Интернет-терминалов и ультра-легких ноутбуков. И вновь, эта сила является и слабостью системы, потому что она разработана по принципу "мастер на все руки" и по-настоящему не оптимизирована для определенной аппаратной платформы.
Теоретически обе ОС могут адресовать до 4 Гб памяти. Однако, реальность не всегда совпадает с желанием. Хотя Microsoft и Palm Computing держат в секрете свои разработки, Windows CE более устойчива с точки зрения распределения памяти. Несмотря на то, что для Palm OS нет ограничений на размер файлов, эта система не может адресовать больше 12 Mб ОЗУ. Это стало известно во время разработки 16-мегабайтной платы памяти SuperPilot. В новых машинах Windows CE HPC Pro ("Jupiter") существует возможность расширения оперативной памяти до 32 Mб (например, Vadem Clio и HP Jornada 820), а также хранение данных на 32-магабайтных CompactFlash-картах, которые можно вставлять прямо во время работы.
Многозадачность. Тогда как ядро Palm ОС может работать в режиме реального времени и выполнять одновременно несколько задач, сама Palm OS не имеет такой возможности. Выдержка из официального документа Palm's Developer FAQ: "Palm OS строится поверх небольшого ядра, которое Palm Computing лицензировала у компании Kadak. Условия соглашения не позволяют Palm раскрывать API для создания/обработки задач внутри самой OS.
Оперативная память Palm OS может поддерживать выполнение одной-двух задач - ячеек достаточно только для нужд ОЗУ. Чтобы выполнять большее количество задач, нужно переделывать ПЗУ. Windows CE предназначена для одновременного выполнения множества программ и задач. Насколько это полезно для Palm-Size PC типа Nino, вопрос спорный. Несомненно другое, многозадачность полезна для более крупных устройств, на которых можно запустить web-брузер в одном окне, а текстовый процессор - в другом. Многозадачность хороша для беспроводных приложений, когда можно загружать электронную почту и веб-страницы через беспроводное соединение, а пользователь одновременно делает что-то еще (чтение почты, поиск в базе данных и т.д.). Многозадачность важна в приложениях для беспроводного сбора данных вне офиса, когда карманный компьютер может передать информацию в удаленную базу данных, а пользователь одновременно отслеживает эту информацию (например, биржевые сводки или диагностика в медицине). Для таких приложений Windows CE является более предпочтительной платформой.
Мультимедийность. Windows CE может показывать цветную графику с высоким разрешением, а некоторые новые устройства типа Compaq Aero воспроизводят анимацию в формате MPEG и оцифрованную стерео-музыку. Palm OS же может показать 2 градации серого цвета и воспроизвести звук из крошечного пьезоэлектрического динамика.
Что в будущем
Windows CE - это сложная операционная система, адресующая большие объемы памяти, допускает расширяемость и возможность работы на разных платформах. Маленькая Palm OS в высшей степени оптимизирована для выполнения небольших, эффективных персональных программ, но почти не расширяется и слишком проста, чтобы управлять громоздкими приложениями. Вероятно, обеим сторонам нужно учиться друг у друга - Windows CE, которая использует 8 Mб для ядра и встроенных приложений, нужно садиться на диету, а интерфейс на Palm-Size PC слишком сложен для выполнения ежедневных задач по планированию встреч, контактов и т.д. Эта система лучше подходит для устройств с большим экраном, где интерфейс Windows выделяется по-настоящему.
Так как Windows может адресовать много памяти и не имеет ограничений на размер программ, программисты не стремятся писать более эффективный код, получая в результате раздутые приложения. Программисты, пишущие для Palm OS, знают об ограниченных возможностях операционной системы и составляют программы небольшого объема. Если Windows CE нужно садиться на диету, то Palm OS нужно улучшить аппаратную поддержку, увеличить основную адресуемую память и добавить многозадачность, если она хочет двигаться в будущее беспроводных технологий и серьезных вертикальных рынков. 4Mб памяти и однозадачность не смогут добиться успеха среди следующего поколения беспроводных персональных коммуникационных устройств (Personal Communications Devices, PCD), в которых сольются функции сотового телефона, органайзера и Интернет-терминала.
Теоретический анализ: Пофонемное распознавание и условная сегментация на основании распознавания пары соседних фонем
Термин «Условная сегментация» означает, что компьютер последовательно сопоставляет записанный речевой сигнал с каждым словом словаря,
сегментируя сигнал в соответствии с транскрипцией рассматриваемого слова. При работе с очередным словом компьютер идет вдоль записанного сигнала с окном в 368 отсчетов, смещая вправо на половину длины, и последовательно пытается найти фонемы, представленные в транскрипции. При этом на каждом шаге машина «видит» лишь эталоны соседней пары фонем. Итак, работа производится с каждым словом распознаваемого словаря отдельно. Пусть, например, это слово
ЛЫЖА (1.1)
В данном случае транскрипция совпадает с самим этим словом. При начале работы компьютер «видит» только эталоны фонем «Л», «Ы». Он идет вдоль записанного сигнала с окном в 368 отсчетов, на каждом из них вычисляет вектор признаков и находит ближайший к нему эталон фонем «Л», «Ы». Первые две фонемы принудительно интерпретируются как «Л» (в буфер, куда заносится результат, записываются 2 фонемы «Л»). Затем компьютер распознает следующие 3 вектора и далее к числу распознанных векторов последовательно на каждом шаге распознавания добавляется по одному. Результаты распознавания анализируются тройка за тройкой. Каждая следующая тройка сдвигается вправо на одну позицию. Если в тройке нет двух идущих подряд «ы», то в позиции, соответствующей началу тройки проставляется «л». В противном случае в этой позиции проставляется последнее «л», затем метка о смене фонемы. Начиная с этого места, распознаватель начинает «видеть» только эталоны фонем «ы», «ж». При этом в первых двух позициях после метки принудительно проставляется «ы» и так далее.
В итоге компьютер формирует строчку вида
ллллллллллллллллыыыыжжжжжаааааа (1.2)
Отметим, что при распознавании каждой пары фонем, благодаря принудительной простановке двух первых букв, порядок следования букв в этой строке строго отвечает транскрипции (1.1). Отметим также, что описанная процедура автоматически исправляет случайные ошибки распознавания. Далее машина заменяет каждую группу повторяющихся фонем одной и полученную последовательность
ЛЫЖА
сравнивает с транскрипцией (1.1). В случае совпадения, слово включается в список кандидатов на распознавание. Эта процедура реализуется для каждого слова распознаваемого словаря. В результате в сокращенный список кандидатов попадает не более трети слов. Если произнесенное слово короче очередной транскрипции, то полученная после распознавния последовательность букв также будет короче, и эта транскрипция не породит кандидата на распознавание. Если очередная транскрипция слишком коротка для произнесенного слова, то участок последней фонемы будет черезчур длинным и соответствующая транскрипция будет отсеяна за счет естественного ограничения на длину фонемы.
Наконец, подсчитывается расстояние произнесенного до всех слов из списка кандидатов и производится сортировка этих кандидатов по расстояниям. Она и определяет окончательный результат распознавания.
Укороченный (и менее наглядный) вариант описанной процедуры распознавания не предполагает расстановки меток и формирования строчки (1.2). В момент, который описан как простановка метки, машина просто начинает «видеть» следующую пару фонем. При последовательном распознавании векторов реализации их расстояния до распознанных эталонов фонем накапливаются и в сумме дают расстояние реализации до транскрипции обрабатываемого слова. Все такие расстояния сортируются по возрастанию и наименьшее из них определяет результат распознавания слова.
Результаты
Таким образом, в работе были рассмотрены различные операционные системы на предмет наулучшего удовлетворения потребностей будущей программы. Автор остановил свой выбор на ОС WIndows CE, которая обладает всеми необходимыми качествами, в частности является мультимедийной, многозадачной и более гибкой, чем Palm OS. Также были рассмотрены различные алгоритмы для работы и обработки звука.
В настоящее время проводится изучение языка программирования Pocket C++ и более глубокое изучение алгоритмов работы со звуком для получения в конце разработки наилучшего результата.
ЛИТЕРАТУРА
1. Федоров Е.Е., Шелепов В.Ю. Автоматическое определение начала и конца записи речи// Искусственный интеллект. – 2002. - №4. - c. 295-298. .
2. Федоров Е.Е., Шелепов В.Ю. Защита речевых распознавателей от шума и посторонней речи // Искусственный интеллект. – 2001. - №3. - c. 584-587.
3.Винцюк Т.К. Анализ, распознавание и интерпретация речевых сигналов. - Киев: Наук.думка. - 1987. - 262 с.
4. L.Rfbiner, B.-H. Juang. Fundamentals of Speehc Recognition. Prentice Hall PTR, 1993, 507 p.
5. Панов М.В. Современный русский язык, фонетика.– Москва.-Высшая школа.-1979, 256 с.
6. Старушко Д.Г., Шелепов В.Ю. Новая система признаков для распознавания речевых единиц. Искусственный интеллект. – 2002.- №4.- С.286-288
7. Дорохин О.А., Старушко Д.Г., Федоров Е.Е., Шелепов В.Ю. Сегментация речевого сигнала // Искусственный интеллект. – 2000. - №3. – С.450-458.
8. Шелепов В.Ю., Ниценко А.В. Амплитудная сегментация речевого сигнала, использующая фильтрацию и известный фонетический состав.
9. Куссуль. М. Ассоциативные нейроподобные структуры. Киев: Наукова думка.-1992.-144 с.
ОТЧЕТ О ПОИСКЕ БИОГРАФИЯ БИБЛИОТЕКА ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ ССЫЛКИ