УДК 004.522

ВЫБОР ОПТИМАЛЬНОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ РЕЧИ В ЗАДАЧЕ АНАЛИЗА НОВОСТНОЙ ИНФОРМАЦИИ

Кошкарева Юлия Игоревна1, Терехов Валерий Игоревич2
1Московский государственный технический университет имени Н. Э. Баумана, студент
2Московский государственный технический университет имени Н. Э. Баумана, кандидат технических наук, доцент кафедры «Системы обработки информации и управления»

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

Ключевые слова: алгоритм распознавания речи, системы распознавания речи, словарь эталонов, шумоочистка


OPTIMAL SELECTION OF SPEECH RECOGNITION SYSTEM FOR NEWS ANALYSIS

Koshkareva Julia Igorevna1, Terekhov Valerii Igorevich2
1Bauman Moscow State University, student
2Bauman Moscow State University, PhD in Engineering Science, Associate professor of Information Processing and Control Systems

Abstract
The article considers the principles of speech recognition systems, provides a classification in accordance with various features. It makes a gradual analysis of the most common speech recognition algorithm. The main advantages and disadvantages of recognition systems based on open source systems and closed-source, with an open API are considered. On the basis of the classification the most important criteria for the selection of speech recognition systems are chosen. A variety of analytical and computational methods are applied, by which is determined the most suitable system for news information analysis tasks is determined.

Keywords: algorithm of speech recognition, noise cancellation, pronunciation dictionary, speech recognition systems


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кошкарева Ю.И., Терехов В.И. Выбор оптимальной системы распознавания речи в задаче анализа новостной информации // Современные научные исследования и инновации. 2016. № 5 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2016/05/67547 (дата обращения: 19.11.2016).

I. Актуальность.

С переходом глобализации на новый уровень развития технологии массовых коммуникаций проникли во все сферы жизни современного общества. Они оказывают огромное влияние (открытое и скрытое) как на общество в целом, так и на отдельно взятого человека. Распространению большого потока новостной информации, который с каждым годом только увеличивается, в свою очередь, способствует быстрое распространение электронных СМИ. На фоне последних политических событий, потоки новостного материала ежедневно увеличиваются. Поэтому перед современным человеком приоритетным стал вопрос не поиска информации, а ее отбора. Средства массовой информации, корпорации и простые пользователи стремятся передавать и получать необходимую информацию в максимально короткие сроки. Чтобы иметь возможность своевременно, продуктивно и адекватно анализировать все поступающие данные, необходимо внедрение автоматизированных систем обработки информации. Одной из главных составляющих таких систем являются системы распознавания речи. На сегодняшний день существует множество их реализаций, который предназначены для решения определенного спектра задач.

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

II. Системы распознавания речи. Классификация систем.

Задачей распознавания речи является восстановление слова естественного языка по произнесенному звуковому сигналу, причем восстановление возможно лишь в пределах ограниченного словаря. До начала процедуры распознавания речи необходимо задать эталоны слов, позже путем сравнения звукового сигнала с эталонами происходит распознавание слова [1, c.6].

Современные системы распознавания речи классифицируют следующим образом:

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

2)        По потребительским качествам. Системы распознавания речи могут быть разделены на дикторозависимые и дикторонезависимые. Дикторонезависимые системы позволяют пользоваться ими, не тратя время на предварительную настройку. Это достигается за счет того, что в словаре хранятся звуковые эталоны всех наиболее типичных голосов носителей данного языка. При эксплуатации такие системы обучаются, совершенствуются, за счет чего повышается надежность распознавания. Существенной особенностью таких систем является то, что для их функционирования оборудованию пользователя необходим больший объем памяти и более высокая производительность. При использовании диктрозависимых систем пользователю необходимо потратить от тридцати минут до нескольких часов на предварительную настройку системы, что создает неудобства для пользователей [2, c.2-7].

3)        По типу структурной единицы. В данном случае системы распознавания речи можно разделить на алгоритмы, использующие в качестве эталонов слова целиком или лишь части слов. Сравнение слов может гарантировать большую надежность, точность и скорость распознавания, однако ведет к увеличению объема занимаемой памяти и времени обучения, так как словарь должен включать в себя все необходимые слова. В качестве эталонов можно использовать части слов: фонемы, слога, аллофоны, дифоны или трифоны. Использование подобных алгоритмов снижает объем, занимаемый словарем в памяти компьютера, однако точность и надежность тоже снижаются.

4)        По размеру словаря. В системах распознавания речи могут использоваться как большие, так и маленькие словари. Системы распознавания речи с маленькими словарями (до 500 слов) необходимы для распознавания команд, получаемых от пользователя. Очевидно, что для систем распознавания слитной речи необходимы большие словари порядком несколько десятков тысяч слов. Существуют также словари среднего размера (около 1500 слов), они используются для составления контекстного активного словаря. То есть после распознавания какого-либо слова такие системы создают подсловарь, в котором, вероятнее всего, будет находиться следующее произнесенное пользователем слово.

Графическое изображение описанной классификации представлено на рис. 1.

Рис. 1. Классификация систем распознавания речи

I. Основные этапы распознавания речи

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

Рассмотрим алгоритм распознавания речи как приведенную последовательность шагов [3, c.2-7].

1. Шумоочистка и отделение полезного сигнала

Для того чтобы выполнить этот этап в распознавании речи, необходимо воспользоваться одним из четырех распространенных методов:

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

2. Преобразование входного речевого сигнала в набор акустических параметров

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

3. Приведение акустической формы сигнала к внутреннему алфавиту эталонных элементов

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

4. Распознавание последовательности фонем и преобразование ее к тексту слова

На этом этапе сначала необходимо получить последовательность фонем. Если после выполнения предыдущего шага была получена вероятная последовательность эталонных элементов, то на текущем шаге необходимо восстановить истинную последовательность фонем, которая будет являться одним из слов словаря. Существует два варианта преобразования последовательностей фонем:

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

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

Графическое отображение алгоритма распознавания речи представлено на рисунке 2.

Рис. 2. Процесс распознавания речи

II. Выбор оптимальной современной системы распознавания речи на базе открытого исходного кода [4, c. 5]

CMU Sphinx – система распознавания речи, созданная разработчиками университета Карнеги – Меллон. Данная система представляет собой серию программ, а также тестировщик акустической системы Sphinx train. Рассмотрим подробнее каждую из четырех версий программы:

  • Sphinx запущена в 1986 году, является дикторонезависимой системой, поддерживает распознавание длительной непрерывной речи, использует скрытую Марковскую модель и n-граммную статистическую языковую модель, имеет огромный словарь распознавания. Для своего времени Sphinx имел очень большую производительность и затмил все предыдущие системы распознавания речи.
  • Sphinx 2 была представлена в 2000 году. Данная система ориентирована в основном на распознавание речи в режиме реального времени, основной сферой использования стали мобильные приложения. Sphinx 2 имеет возможность использования динамического словаря, то есть на основе уже распознанных слов выдвигается гипотеза о словах, которые будут произнесены далее и создается возможный подсловарь. В настоящее время Sphinx 2 закончил свое развитие и был интегрирован в программное средство PocketSphinx.
  • Sphinx 3 запущен в 2001 году и является продолжением версии Sphinx. Эта система представляет собой полунепрерывную акустическую модель распознавания речи, в ней используются методы и алгоритмы для распознавания речи высокой речи, но в режиме постфактум.
  • Sphinx 4 – новейшая система Sphinx, написана на языке программирования Java, обеспечивает гибкие возможности для исследования распознавания речи.

В настоящее время основными задачами разработчиков Sphinx являются:

  • создание новых акустических моделей для обучения системы
  • создание системы речевой адаптации

Julius – система, созданная в рамках консорциума систем распознавания речи, предназначена для распознавания непрерывной речи в режиме реального времени, имеет словарь размером около 60000 слов. Julius в основном используется для работы на платформах Linux и UNIX, позднее была включена поддержка Windows. Со временем Julius был перепроектирован в Julian, систему, которая в результате модификации получила в качестве языковой модели форму грамматики конечного автомата, что позволяет создавать различные системы распознавания речи от систем управления с малыми и средними словарями до систем обработки диалогов и текстов. Таким образом, получается, что для того, чтобы запустить Julian, разработчику необходимо правильно подобрать языковую и акустическую модели для каждого конкретного языка.

III. Системы распознавания речи с закрытым исходным кодом, имеющие открытые API, для возможности интеграции [5, c. 4-9].

Dragon Mobile SDK– система распознавания речи, которая включает в себя множество примеров и шаблонов проектов, а также специальную платформу (фреймворк), которая необходима для упрощения встраивания речевых функций в любую программу или приложение. Рассмотрим подробнее принцип работы фреймворка Dragon Mobile SDK. Данная программная надстройка не только помогает просто и быстро добавить функции распознавания речи в разрабатываемые приложения, но и обеспечивает доступ к компонентам системы, находящимся на удаленных серверах. Доступ к данным осуществляется с помощью сетевых API, что помогает снизить накладные расходы и потребляемые ресурсы. Таким образом, получается, что данный фреймворк осуществляет следующие функции:

  • управление записью и воспроизведением аудиофайлов;
  • управление подключениями к серверу;
  • восстановление соединения в случае, если для запроса истекло время ожидания;
  • определение конца речи пользователя и остановка записи аудиофайла;
  • кодирование и декодирование аудиозаписи при передаче для минимизации времени ожидания.

При использовании Dragon Mobile SDK весь процесс обработки и распознавания речи происходит на удаленном сервере, поэтому для каждого разработчика выделяется ограниченное (не более 10000) количество запросов в сутки, за больший объем необходимо платить.

Google Speech Recognition – система распознавания речи, впервые добавленная в программное обеспечение мобильных телефонов и компьютеров в 2011 году [6, c. 1-8]. Изначально основной задачей данной системы было распознавание коротких запросов и команд (длинной не более 35-40 слов), которые использовались в основном для управления устройством. Для того чтобы воспользоваться новыми функциями, пользователю было необходимо включить микрофон, такая особенность являлась слабым местом системы, так как требовала лишних действий. В таком виде система осталась только в браузере Google Chrome, здесь, чтобы отправить речевой запрос по-прежнему нужно нажимать на значок микрофона в поисковой строке. На данный момент сервис претерпел множество изменений, теперь это современная система распознавания речи с большим словарем и дикторонезависимой технологией распознавания непрерывной речи. Также как и у Dragon Mobile SDK весь процесс распознавания проходит на удаленных серверах, доступ к которым могут получить только разработчики, зарегистрированные в системе Google Developers и получившие API. Для того чтобы воспользоваться технологией необходимо отправить POST запрос, примеры запросов доступны в документации к системе, далее сервер обработает информацию и пришлет ответ в заранее известной форме. У Google Speech Recognition существует несколько основных ограничений:

  • передаваемая звуковая дорожка может иметь только формат FLAC;
  • количество запросов в сутки от пользователя не может превышать 50, что существо ограничивает пользователей системы.

Yandex SpeechKit Cloud – система распознавания речи, запущенная в 2013 году российской компанией Yandex. Данная система обладает большим словарем, и технологией распознавания непрерывной речи. Как и в Google Speech Recognition языковые и акустические модели системы построены на основе нейронных сетей, обучение которых происходит на больших объемах данных. Взаимодействие с Yandex SpeechKit Cloud возможно с помощью POST запросов, которые отправляются на удаленные серверы. Для получения доступа к серверам необходимо зарегистрироваться в системе Yandex и получить API ключ. При использовании этой системы разработчикам следует учитывать следующие ограничения:

  • система умеет распознавать только следующие типы данных: короткие запросы — фразы (3—5 слов) на различные темы, адреса, имена, даты, числа, заказы и короткие тексты длинной не более 2-3 предложений;
  • разрешено не более 10000 запросов сутки;
  • система распознает только русский и турецкий языки.

Разработчики Yandex SpeechKit Cloud гарантируют высокую точность распознавания, например, 85% для запросов, 95% для адресов, 82% для коротких текстов.

Microsoft Speech API. Данная система распознавания речи очень схожа с Yandex SpeechKit Cloud и Google Speech Recognition и мало чем отличается от них. Основной особенностью является то, что ее можно полноценно использовать только на Windows Server. Таким образом, возможна разработка и поддержка на Windows 2003 Server или позднее. Достоинством Microsoft Speech API является наличие огромного количества подробно разобранных примеров и шаблонов, технология легко внедряется и поддерживается Microsoft.

IV. Выбор оптимального варианта системы для распознавания текстов

Определим список критериев оценки систем распознавания речи: дикторозависимость, размер словаря, количество запросов в сутки, поддержка русского языка, возможность разработки под Windows, наличие доступного API, распознавание непрерывной речи. Для каждого из приведенных выше критериев определим набор возможных значений, данные представлены в таблице 1.

Таблица 1 – Описание значений критериев

Балл

K1

Диктороза­висимость

K2

Размер словаря, кол-во слов

K3

Количество запросов в сутки

K4

Под­держка русского языка

K5

Возмож­ность раз­работки под Windows

K6

Нали­чие API

K7

Распозна­вание не­прерыв­ной речи

1

зависим

<5000

нет

нет

Нет

2

>=5000

3

>=56000

>=7000

нет

есть с ограничениями

4

>=61000

>=10000

5

не зависим

>=70000

не ограничено

есть

есть

есть

Есть

Установим значения критериев в баллах для каждой рассматриваемой системы распознавания речи: CMU Sphinx, Julius, Dragon Mobile SDK, Google Speech Recognition, Yandex Speech Kit Cloud, Microsoft Speech API. Подробные данные приведены в таблице 2.

Таблица 2 – Значения критериев в баллах для аналогов

Название системы

К1

К2

К3

К4

К5

К6

К7

В1, CMU Sphinx

5

4

5

5

5

1

5

В2, Julius

5

3

5

1

5

1

5

В3, Dragon Mobile SDK

5

3

4

1

5

5

5

В4, Google Speech Recognition

5

5

1

5

5

5

5

В5, Yandex Speech Kit Cloud

5

4

4

5

5

5

3

В6, Microsoft Speech API

5

4

2

5

3

5

5

Разобьем все множество локальных критериев на группы важности: K7, K1, K4 – наиболее важные критерии. K3, K2 – менее значимые. K5, K6 – наименее значимые критерии. Нормализуем значения критериев для того, чтобы их можно было оценивать, результаты приведены в таблице 3.

Таблица 3 – Нормализованные значения критериев для каждого из аналогов

Локальный критерий

Локальный критерий

Коэффициент важности критерия (αi)

Нормированное значение локального критерия

CMU Sphinx

Julius

Dragon Mobile SDK

Google Speech Recognition

Yandex Speech Kit Cloud

Microsoft Speech API

К1

0,2

1

1

1

1

1

1

К2

0,134

0,8

0,6

0,6

1

0,8

0,8

К3

0,134

1

1

0,8

0,2

0,8

0,4

К4

0,2

1

0,2

0,2

1

1

1

К5

0,067

1

1

1

1

1

0,6

К6

0,067

0,2

0,2

1

1

1

1

К7

0,2

1

1

1

1

0,6

1

Получим ранжирование вариантов систем распознавания речи, полученные различными методами:

1)        Метод взвешенного произведения показателей. Ранжирование В4>В5>В6>В1>В3>В2.

2)        Метод Борда. Ранжирование В4>В1>В5>В6>В3>В2.

3)        Метод близости показателей сравниваемых вариантов к идеальному варианту: Ранжирование В4>В5>В1>В6>В3>В2.

Очевидно, что вариант 4 «Google Speech Recognition» является наилучшим, за ним следует вариант «Yandex SpeechKit Cloud».

V. Заключение

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

В статье рассмотрены современные системы распознавания речи, а также поэтапно разобран наиболее распространенный алгоритм работы таких систем. Из рассмотренных систем распознавания речи на базе открытого исходного кода и систем с открытым API подобран вариант системы распознавания речи – Google Speech Recognition, являющийся оптимальным решением задачи анализа новостной информации на основе выбранных критериев.


Библиографический список
  1. Ле Н. В., Панченко Д. П. Распознавание речи на основе искусственных нейронных сетей // Технические науки в России и за рубежом: материалы междунар. науч. конф. (г. Москва, май 2011 г.). — М.: Ваш полиграфический партнер, 2011. — С. 8-11.
  2. Cedric G., Guillermo A. Speech Recognition Based On Template Matching And Phone Posterior Probabilities//Idiap Publications. Martigny, Switzerland, 2007
  3. Гапочкин А. В. Нейронные сети в системах распознавания речи // Science Time . 2014. №1 (1). URL: http://cyberleninka.ru/article/n/neyronnye-seti-v-sistemah-raspoznavaniya-rechi (дата обращения: 10.04.2016).
  4. Кипяткова Ирина Сергеевна Комплекс программных средств обработки и распознавания разговорной русской речи // Информационно-управляющие системы. 2011. №4. URL: http://cyberleninka.ru/article/n/kompleks-programmnyh-sredstv-obrabotki-i-raspoznavaniya-razgovornoy-russkoy-rechi (дата обращения: 10.04.2016).
  5. Титов Ю. Н. Современные технологии распознавания речи // Вестник Тамбовского университета. Серия: Естественные и технические науки . 2006. №4. URL: http://cyberleninka.ru/article/n/sovremennye-tehnologii-raspoznavaniya-rechi (дата обращения: 10.04.2016).
  6. Груздев О. В. Исследование сервиса Google Voice как средство распознавания речи с применением программных технологий.//Молодежный научно-технический вестник. М., 2013.


Все статьи автора «Юля Кошкарева»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация