О ПРОГРАММЕ ГОЛОСОВОГО РАЗГОВОРНИКА

         

               Не вызывает сомнения целесообразность разработки компьютерных программ, создающих для человека возможность устного общения на  языке, которым он владеет в недостаточной степени (или даже не владеет вообще). При сегодняшнем уровне машинного перевода единственной реально выполнимой задачей является создание программы, которая могла бы переводить достаточно большой набор готовых фраз. Книги, предназначенные для  такой цели, называют «Разговорниками». Авторы проекта видят свою задачу в создании удобной компьютерной программы русско-английского разговорника. Важнейшим ее преимуществом по сравнению с книжным вариантом является возможность озвучивания перевода с помощью синтезатора речи. Схема работы такой программы: поиск нужной фразы, замена ее соответствующим переводом и озвучивание этого перевода. Поиск естественно реализовать как многоуровневый с использованием ключевых слов. В виду того, что окончательная реализация результата мыслится на базе портативного электронного устройства, весьма важной становится возможность голосового ввода ключевых слов с использованием распознавания речи. Подчеркнем, что, поскольку нужно лишь найти нужную русскую фразу и это можно сделать с помощью набора ключевых слов, отпадает необходимость произносить фразу целиком в виде отрезка слитной речи. Настоящий раздел содержит описание системы голосового разговорника и используемых в ней алгоритмов.

                Предлагаемый пользователю набор фраз разбит по темам и разделам.

                                              

                                                               СПИСОК РАЗДЕЛОВ И ТЕМ

ЗНАНИЕ ЯЗЫКОВ

Язык, Слово, Говорить, Произношение, Читать, Писать, Понимать, Переводчик, Пословица.

ПОРТ - ВОКЗАЛ – АЭРОПОРТ

Пароход, Каюта, Палуба-салон, Стюард, Порт, Вокзал, Расписание, Касса, Платформа, Носильщик, Поезд, Вагон, Проводник, Станция, Пересадка, Аэропорт, Рейс, Билет, Багаж, Самолет, Вертолет, Стюардесса.   

ПАСПОРТ-ТАМОЖНЯ

Граница, Паспорт, Виза, Посольство, Таможня, Декларация, Карантин.

ПРИЕЗД – ОТЪЕЗД

Приезд, Встреча, Знакомство, Имя, Фамилия, Отъезд, Прощание.

ОБРАЩЕНИЕ – ПРИВЕТСТВИЕ

Обращение, Приветствие, Поздравление, Тост.

ПРОСЬБА - БЛАГОДАРНОСТЬ

Просьба, Благодарность, Сочувствие, Приглашение, Пожелание.

СОГЛАСИЕ - ОТКАЗ – ИЗВИНЕНИЕ

Согласие, Отказ, Извинение.

ГОРОД – ТРАНСПОРТ

Город, Население, Район, Квартал, Улицa, Переход, Здание, Церковь - священник, Дворец, Площадь, Сад, Парк, Фонтан, Памятник, Набережная, Мост, Кладбище, Рынок, Помощь, Автобус, Метро, Такси, Шофер, Речной трамвай.

ГОСТИНИЦА - РЕСТОРАН

Гостиница, Администратор, Номер, Холл, Этаж, Лифт, Горничная, Чемодан, Дверь, Окно, Стол, Стул, Шкаф, Постель, Камин, Туалет, Душ, Сон, Гости, Отъезд, Бар, Кафе, Ресторан, Официант, Меню, Прибор, Завтрак, Закуска, Обед, Суп, Рыба, Жаркое, Соус, Специи, Хлеб, Вода, Напитки, Десерт, Ужин. 

БЫТОВОЕ ОБСЛУЖИВАНИЕ

Парикмахерская, Починка, Чистка, Стирка, Утюжка, Фотография. 

ПОЧТА - ТЕЛЕГРАФ – ТЕЛЕФОН

Почта, Письмо, Открытка, Адрес, Марка, Бандероль, Бланк, Телеграмма, Телефон.

ГАЗЕТЫ - ЖУРНАЛЫ – КНИГИ

Газета, Журнал, Корреспондент, Редакция, Издательство, Писатель, Книги, Словарь, Букинист.

РАДИО – ТЕЛЕВИДЕНИЕ

Радио, Радиопередача, Радиолюбитель, Телевизор, Телевиденье.

ВРАЧ-АПТЕКА

Здоровье, Болезнь, Врач, Больница, Зубной врач, Аптека, Лекарство, Очки.

УНИВЕРСАЛЬНЫЙ МАГАЗИН

Магазин, Сувенир, Игрушки, Филателия, Сигареты, Авторучка, Карандаш,  Парфюмерия, Драгоценности, Моды,  Галантерея, Ноты, Пластинки, Магнитофон,  Фотоаппарат, Часы, Спорттовары, Посуда,  Электроприборы, Меха,

Ткани, Обувь, Пальто, Шляпа, Костюм, Платье. Белье,

ГАСТРОНОМИЯ - БАКАЛЕЯ

Гастрономия, Вина, Фрукты, Конфеты, Овощи, Рыба, Мясо,

РОДИНА - НАЦИОНАЛЬНОСТЬ

Родина, Национальность, Народ.

ОБЩЕСТВЕННАЯ ДЕЯТЕЛЬНОСТЬ

Организация, Общество, Федерация, Комитет, Партия, Парламент, Совет, Собрание, Выборы, Юстиция, Налог, Делегация,  Молодежь, Конференция, Юбилей, Визит,

                МИР И ДРУЖБА

Мир, Дружба, Разоружение, Демократия, Социализм, Колониализм, Война,

СЕМЬЯ - ДОМ

Семья, Жена, Муж, Дети, Женщина, Мужчина, Квартира,

РАБОТА - ПРОФЕСИЯ

Профессия, Работа, Дело, Рабочий, Служащий.

НАУКА - ОБРАЗОВАНИЕ

Науки, Академия, Институт , Библиотека, Образование, Школа, Курсы, Колледж, Консерватория, Университет, Факультет, Лекции, Преподаватель, Студент, Стипендия.

ТЕХНИКА - ЭКОНОМИКА

Спутник, Космос, Ракета, Планета, Планетарий.

ПРОМЫШЛЕННОСТЬ

Промышленность, Строительство, Энергетика, Реактор, Изотоп, Нефть, Уголь, Газ, Патент, Цех, Машина,  Двигатель, Автоматика, Инструмент, Сырье, Металл, Стекло,  Пластмассы, Синтетика.

СУДОХОДСТВО - РЫБОЛОВСТВО

Судоходство,  Флот, Верфь, Доки, Груз, Рыболовство, Рыбак, Траулер, Улов, Холодильник.

СЕЛЬСКОЕ ХОЗЯЙСТВО

Ферма, Земля, Трактор, Урожай, Зерно, Скот, Фруктовый сад, Огород, Лесоводство, Кооперация.

ВНЕШНЯЯ ТОРГОВЛЯ

Торговля, Монополия, Торговая палата, Торгпредство,  Биржа,  Фирма, Товар, Аукцион, Ввоз,  Вывоз,  Лицензия, Пошлина, Банк.

ВЫСТАВКИ - ЯРМАРКИ

Выставка, Павильон, Салон, Ярмарка.

ПУТЕШЕСТВИЕ -ТУРИЗМ

Агентство, Турист, Путешествие, Путеводитель, Карта, Дорога, Река, Море, Остров, Погода.

АВТОМОБИЛЬНЫЙ ТУРИЗМ

Автотуризм, Автоклуб,  Автомобиль, Автострада,  Бензоколонка, Авторемонт, Кемпинг.

ЗНАКОМСТВО С ЛОНДОНОМ

Экскурсия, Лондон.

ТЕАТР - КИНО

Театр, Гардероб, Партер, Антракт, Артист, Режиссер, Дирижер, Опера, Балет, Оперетта, Концерт, Фестиваль, Кино, Фильм.

МУЗЕИ - ГАЛЕРЕИ

Музей, Галерея, Архитектура, Скульптура, Живопись, Картина, Художник.

БОТАНИЧЕСКИЙ САД - ЗООЛОГИЧЕСКИЙ САД

Ботанический сад, Деревья., Растения , Цветы, Зоологический сад, Птицы, Аквариум. , Животные.

РАЗВЛЕЧЕНИЕ -ОТДЫХ

Клуб, Цирк, Мюзик-холл, Музыка, Танцы, Песня, Карнавал, Ипподром, Курорт, Пляж.

СПОРТ - ИГРЫ

Спорт, Стадион, Команда, Тяжелая атлетика, Борьба, Бокс, Легкая атлетика, Гимнастика, Кросс, Велосипед, Фехтование, Стрельба,  Альпинизм, Коньки, Лыжи, Конный спорт, Плавание, Гребля, Яхта, Игры, Футбол, Баскетбол, Волейбол, Теннис, Хоккей, Водное поло, Шахматы, Планер, Парашютизм,

СВОЙСТВА - КАЧЕСТВА

Цвет, Краски.

СЧЕТ – ЧИСЛА

Сколько, Числа, Дроби, Проценты.

ВРЕМЯ

Час, Утро, День, Вечер, Ночь, Число, Неделя, Месяц, Год, Время года.

ДЕНЬГИ - ВАЛЮТА

Деньги, Валюта, Банк.

ТАБЛИЦА МЕР И ВЕСОВ

Меры длины, Меры веса, Меры жидкости, Меры объема, Меры площади.

ФРАГМЕНТ ТЕКСТОВОЙ БАЗЫ ПРОГРАММЫ РАЗГОВОРНИКА:

{ЗНАНИЕ ЯЗЫКОВ}

[Язык]

/Я/ не знаю английского языка.= I don't know English.

Я не знаю /друг\ого/ языка, кроме родного.=I know no other language except my native tongue.

/М\ой/ родной язык (русский, белорусский, казахский, грузинский).=(Russian, Byelorussian, Kazakh, Georgian) is my native tongue.

Я знаю (немецкий, французский) /язык/.=I know (German, French).

Я /изучаю/ (английский, арабский) язык.=I am studying (English, Arabian).

/Какими/ языками вы владеете?=What languages do you know?

Знаете ли /вы/ (русский, украинский) язык?=Do you know (Russian, Ukrainian)?

В /нашей/ стране широко изучаются иностранные языки.=The study of foreign languages is greatly developed in our country.

Назад

[Сл\ово]

Что означает это слово?= What does this word mean?

Я знаю отдельные английские слова.=I know some English words.

Как это будет по-английски?=What is the English for...?

Напишите, пожалуйста, это слово по-английски.=Write down this word in English, please.

Назад

[Назад]

{ПОРТ - /ВОКЗАЛ/ - АЭРОПОРТ}

[Пароход]

Какие пароходы курсируют на этой линии ? = What ships service this line?

Как называется это судно?=What is the name of this ship?

Когда отходит пароход?=When will the ship weigh anchor?

Проводите меня к капитану парохода=Take me to the Captain's cabin.

Назад

Дадим необходимые пояснения. Для удобства организации автоматического поиска названия разделов заключены в фигурные скобки, названия тем заключены в квадратные скобки. Ключевые слова выделены с двух сторон знаком /. Знак \ означает ударение. Оно проставляется в словах, подлежащих распознаванию, причем только в тех случаях, когда оно влияет на результат при автоматическом создании транскрипции. Вслед за русской фразой идет ее английский перевод. Соответствие между ними обозначается знаком =. Наличие круглых скобок означает возможность выбора любого из нескольких предлагаемых вариантов. В таком случае мы будем использовать термин «Обобщенная фраза».

ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА

При запуске программы в основное окно выводится список разделов. Ключевые слова  выделяются цветом.

После того, как с помощью ключевого слова выбирается раздел, например, «Знание языков», в окно загружается список тем этого раздела.

При этом в среднем окне выведено ключевое слово, распознанное в списке названий разделов.

 Аналогично производится выбор темы и результатом этого выбора является вывод на экран списка фраз (и «обобщенных» фраз с вариантами), включенных в данную тему. Наконец, при выборе фразы в нижнем окне появляется ее перевод, который озвучивается синтезатором:

Если с помощью ключевого слова выбрана обобщенная фраза (с вариантами), то на экран выводится просьба «Выберете вариант». После того, как с помощью одного из ключевых слов в скобках вариант выбран, из обобщенной фразы строится конкретная фраза, которая затем переводится.Слово «назад» всегда включается в число ключевых и предназначено в поиске для возвращения на шаг назад.

При любом содержании экрана нужная строка может быть выбрана либо путем выделения ее с помощью курсора, либо с помощью ключевого слова, введенного с клавиатуры, либо путем ввода ключевого слова голосом. Последнее делается на основе алгоритмов пофонемного распознавания, разработанных в отделе Последующая часть отчета посвящена их описанию.

 

ПОФОНЕМНОЕ РАСПОЗНАВАНИЕ  И УСЛОВНАЯ СЕГМЕНТАЦИЯ НА ОСНОВАНИИ РАСПОЗНАВАНИЯ ПАРЫ СОСЕДНИХ ФОНЕМ

Формальное описание соответствующего алгоритма приведено в следующем разделе. Из него несколько затруднительно понять суть предлагаемого метода и в частности процедуру условной сегментации, составляющую его главную идею.  Поэтому мы сочли целесообразным предварительно пояснить в настоящем разделе суть реализованной нами процедуры распознавания.

ОПИСАНИЕ ПОДХОДА

Термин «Условная сегментация», как и ранее,  означает, что компьютер последовательно сопоставляет записанный речевой сигнал с каждым  словом словаря, сегментируя сигнал в соответствии с транскрипцией рассматриваемого слова.  При работе с очередным словом компьютер идет вдоль записанного сигнала с окном  в 368 отсчетов, смещая вправо на половину длины, и последовательно пытается найти фонемы, представленные в транскрипции. При этом на каждом шаге машина «видит»  лишь эталоны соседней пары  фонем.

Итак, работа производится с каждым словом распознаваемого словаря отдельно. Пусть, например, это слово

ЛЫЖА                                                                    

В данном случае транскрипция совпадает с самим этим словом. При начале работы компьютер «видит» только эталоны фонем «Л», «Ы». Он идет вдоль записанного сигнала с окном  в 368 отсчетов, на каждом из них вычисляет вектор признаков и находит ближайший к нему эталон фонем «Л», «Ы». Первые две фонемы принудительно интерпретируются как «Л» (в буфер, куда заносится результат, записываются  2 фонемы «Л»). Затем компьютер распознает следующие 3 вектора и далее к числу распознанных векторов последовательно на каждом шаге распознавания добавляется  по одному. Результаты распознавания анализируются тройка за тройкой. Каждая следующая тройка сдвигается вправо на одну позицию. Если в тройке нет двух идущих подряд «ы», то в позиции, соответствующей началу тройки проставляется «л». В противном случае в этой позиции проставляется последнее «л», затем  метка о смене фонемы. Начиная с этого места, распознаватель начинает «видеть» только эталоны фонем «ы», «ж». При этом в первых двух позициях после метки принудительно проставляется «ы» и так далее.

В итоге компьютер формирует строчку вида

                                                ллллллллллллллллыыыыжжжжжаааааа                          

Отметим, что при распознавании каждой пары фонем, благодаря принудительной простановке двух первых букв, порядок следования букв в этой строке строго отвечает транскрипции. Отметим также,  что описанная процедура автоматически исправляет случайные ошибки распознавания. Далее машина заменяет каждую группу повторяющихся фонем одной и полученную последовательность

                                                                       ЛЫЖА

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

Эта процедура реализуется для каждого слова распознаваемого словаря. В результате в сокращенный список кандидатов попадает не более трети слов. Если произнесенное слово короче очередной транскрипции, то полученная после распознавния последовательность букв также будет короче, и эта транскрипция не породит кандидата на распознавание. Если очередная транскрипция слишком коротка для произнесенного слова, то участок последней фонемы будет черезчур длинным и соответствующая транскрипция будет отсеяна за счет естественного ограничения на длину фонемы.

Наконец, подсчитывается расстояние произнесенного до всех слов из списка кандидатов и производится сортировка этих кандидатов по расстояниям. Она и определяет окончательный результат распознавания.

Укороченный (и менее наглядный) вариант описанной процедуры распознавания не предполагает расстановки меток и формирования строчки. В момент, который описан как простановка метки, машина просто начинает «видеть» следующую пару фонем. При последовательном распознавании  векторов реализации их расстояния до распознанных эталонов фонем накапливаются и в сумме дают расстояние реализации до транскрипции обрабатываемого слова. Все такие расстояния сортируются по возрастанию и наименьшее из них определяет результат распознавания слова. Формализация именно этой версии алгоритма приведена в следующем разделе.

АЛГОРИТМ УСЛОВНОЙ СЕГМЕНТАЦИИ И ПОФОНЕМНОГО РАСПОЗНАВАНИЯ НА ОСНОВАНИИ РАСПОЗНАВАНИЯ ПАРЫ СОСЕДНИХ ФОНЕМ

По данному речевому сигналу на основе использования кумулятивного отношения формируется последовательность векторов признаков, соответствующих последовательным участкам речи, длиной 18 мс. Каждый следующий участок сдвинут относительно предыдущего на половину его длины. Последовательность векторов признаков, соответствующих записанному слову, которое нужно распознать, будем далее называть реализацией.

Процесс распознавания производится в результате сопоставления реализации с транскрипциями слов. Транскрипция слова представляет собой последовательность символов, соответствующих наименованиям классов “фонем”. Эта транскрипция формируется по графическому представлению слова (правильному орфографическому написанию) с указанием в случае необходимости ударения, путем последовательности замен, выполняемых по определенным правилам (см. предыдущий раздел отчета). Под термином “фонема” в данном контексте понимается стационарная часть фонемы (московская фонетическая школа). В рассмотрение принимаются только те фонемы, чья стационарная часть имеет длительность не менее 36 мс. Используемый нами алфавит фонем может быть легко извлечен из раздела, посвященного формированию транскрипции.

Обучение состоит в предъявлении системе стационарных частей фонем и указании того, к какому классу эта фонема относится. Вектора признаков, полученные по данным обучения, запоминаются в качестве эталонов фонем. Для каждой фонемы, как правило, создается несколько эталонов.

Опишем процесс сопоставления реализации  и транскрипции слова. Результат сопоставления – мера близости реализации и транскрипции (D). Нижеприведенная процедура сопоставления выполняется для каждой транскрипции.

D = 0; // расстояние от реализации до эталона

если эталон слова состоит из одной фонемы

то  

e = название эталона фонемы слова

для(i = 1, i<=числа векторов реализации, i++)

            s = i-й вектор реализации

            v = вектор из класса e, ближайший к вектору s

            D += декартово расстояние между векторами v и s

конец цикла

конец.

иначе

L =1 // номер рассматриваемой фонемы

e = название эталона L-й фонемы слова

s = 1-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D += декартово расстояние между векторами v и s

s = 2-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D += декартово расстояние между векторами v и s

en = название эталона (L+1)-й фонемы слова

для(i = 3, i<=числа векторов реализации-2, i++)

            s = i-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D += декартово расстояние между векторами v и s

            s1 = (i+1)-й вектор реализации

            s2 = (i+2)-й вектор реализации

v1 = вектор из класса e, ближайший к вектору s

v2 = вектор из класса e, ближайший к вектору s

vn1 = вектор из класса en, ближайший к вектору s

vn2 = вектор из класса en, ближайший к вектору s

d1 = декартово расстояние между векторами v1 и s1

d2 = декартово расстояние между векторами v2 и s2

dn1 = декартово расстояние между векторами vn1 и s1

dn2 = декартово расстояние между векторами vn2 и s2

если (dn1< d1 && dn2< d2)

то

L++;

e = en;

i ++;

            s = i-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D += декартово расстояние между векторами v и s

i ++;

            s = i-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D + = декартово расстояние между векторами v и s

если L = = число фонем эталона

то

i ++;

для ( i< = числа векторов реализации, i++)

                        s = i-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D + = декартово расстояние между векторами v и s

конец цикла

конец.

                        иначе

en = название эталона (L+1)-й фонемы слова

конец цикла

для ( i< = числа векторов реализации, i++)

s = i-й вектор реализации

v = вектор из класса e, ближайший к вектору s

D + = декартово расстояние между векторами v и s

конец цикла

      конец.

Повторим еще раз, что только что описанная процедура последовательно применяется к транскрипциям всех слов словаря. Все найденные расстояния сортируются по возрастанию. Результатом распознавания считается слово, расстояние до транскрипции которого оказывается минимальным.

Выдержка из руководства пользователя к программе разработанной Отделом фундаментальных проблем распознавания звуковых образов Донецкого ИПИИ под руководством Шелепова В.Ю.

 

Back