Показаны сообщения с ярлыком voice recognition. Показать все сообщения
Показаны сообщения с ярлыком voice recognition. Показать все сообщения

вторник, 10 августа 2010 г.

РАСПОЗНАВАНИЕ РЕЧИ – ЧАСТЬ 3

4. Области применения систем распознавания речи

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

4.1 Использование систем распознавание речи в компьютерных приложениях

Для многих людей, мало использующих компьютер, процесс общения с ним не является интуитивным. При каждом новом использовании компьютера им приходится прилагать большое количество усилий и затрачивать много времени для выполнения несложных операций. Это происходит из-за того, что в большинстве программ интерфейс перегружен бесполезными возможностями настолько, что с ним почти невозможно работать человеку, не привыкшему к подобным программам (например, с более-менее серьезными графическими редакторами невозможно начать работать без предварительной подготовки). Пользователи не могут просто сформулировать, чего они хотят, им приходится заучивать устаревшие команды или далеко не интуитивные процедуры. Также современные устройства управления компьютером – мышь и клавиатура – по большому счету не являются удобными, так как принуждают оператора находиться в одной и той же позе в течение долгого времени. Современные системы распознавания речи заставляют компьютер адаптироваться к человеку, а не наоборот. Преимущество систем распознавания речи еще и в том, что они намного быстрее любых других типов интерфейсов. Например, голосовая программа электронной почты позволяет включить компьютер, продиктовать и послать сообщения, даже не прикасаясь к мыши или клавиатуре. А что еще более важно, так это то, что люди с физическими недостатками смогут более эффективно взаимодействовать с компьютером. С системой распознавания голоса слепые или те, кто по каким-либо причинам не может пользоваться клавиатурой, могут общаться с компьютером не хуже остальных в случае, если компьютер будет выдавать реакцию на запросы также в звуковой форме, что может быть легко организовано.
Хорошим примером использования распознавания речи в компьютерных программах является оказание оперативных информационных услуг. В наше время компьютеры, подключенные к Интернету, могут выдать фактически любую необходимую пользователю информацию, однако зачастую для этого требуются весьма утомительные поиски информации в сети. Однако если компьютер может адекватно воспринимать речь человека, то процесс извлечения необходимой информации упрощается в разы. Пользователь путем диалога с компьютером может давать все новые и новые команды, которые шаг за шагом будут вести его к цели. Наиболее типичным примером является работа с базами данных, которая в общем случае является весьма утомительным процессом, но с использованием системы распознавания речи существенно упрощается, процесс показан на рис.4.
clip_image001
Рис.4. Обращение к базе данных
Пользователь с помощью микрофона посылает запрос на получение из базы данных с расписанием всех авиа-перелетов о том, что ему требуются все доступные рейсы из одного города в другой. В компьютере в режиме фоновой работы действует встроенный распознаватель речи, обрабатывающий запрос с точки зрения некоторого специального словаря команд, заранее известного машине. Голосовой запрос преобразуется в обычный запрос к базе данных, далее результаты запроса отображаются на дисплее. В рамках данного примера необходимо еще раз отметить, что пользователю не требуется никаких специальных знаний ни по обращению к базе данных, ни по составлению голосового запроса – программа-распознаватель речи сама вычленит из его речи существенную информацию.
Особенно подобные системы облегчили бы работу с публичными базами данных, например, с базой данных доступных билетов на железнодорожных вокзалах, где в нынешнее время используется ввод с клавиатуры.

4.2 Использование встроенных систем распознавания речи.

Уже многие годы голосовые диктофонные системы, предназначенные для представителей определенных профессий, например врачей и юристов, можно найти на рынке программных продуктов. Многие представители этих профессий используют системы распознавания речи в повседневной работе. Технология распознавания голоса быстро изменила рынок телефонных услуг, она фактически превращает телефон в удаленное периферийное устройство, обеспечивающее доступ к компьютерной системе. Стали популярны активируемые голосом приборы и приспособления. Например, на одной из последних выставок достижений компьютерной техники был представлен автомобиль со встроенной голосовой системой управления.
clip_image003
Рис.5. Встроенное устройство голосового управления автомобилем
Небольшая светло-серая панель в центре рис.5 является устройством, принимающим голосовые команды водителя. В автомобиле есть встроенная операционная система, анализирующая и обрабатывающая запросы. Подобная конструкция вносит существенные улучшения в процесс управления автомобилем и в то же время повышает безопасность ведения автомобиля. В критической ситуации человек, управляющий обыкновенным автомобилем, может растеряться и не выполнить действий, необходимых для того, чтобы избежать аварии. В машине, оснащенной голосовым управлением, ему достаточно сказать, что делать, и все действия будут выполнены автоматически. В данном случае критична быстрота реагирования и точность работы системы распознания речи.
Существует тенденция к созданию комбинированных систем распознавания голоса и изображения. Подобные системы позволяют идентифицировать человека и, таким образом, повысить безопасность выполнения, например, банковских операций. Если банкомат оснащен базой данных с фотографиями и образцами голоса, то человек не сможет воспользоваться чужой кредитной карточкой, таким образом, отпадет необходимость в различного рода паролях, которые получили широчайшее распространение в наше время.
5. Структура рынка систем распознавания речи
Рынок речевого распознавания, с точки зрения сферы применения, распадается на несколько сегментов: телекоммуникационный рынок (IVR, Сall Сentre),рынок мультимедийных программ (системы диктовки, автоматические транскрипторы для медицины и судебного дела), рынок систем автомобильной навигации и оборудования со встроенным распознаванием (электронные переводчики, КПК и смартфоны). Клиентами в телекоммуникационном сегменте являются операторы связи, банки, страховые компании, ритейл, транспортные компании. На рынке мультимедийных программ – судебные и медицинские учреждения, производители ноутбуков и операционных систем; на рынке бортовых устройств управления автомобилем – автомобильные концерны; на рынке оборудования – производители мобильных телефонов, КПК и электронных переводчиков. Каждое из этих направлений предъявляет свои требования к технологии распознавания. Например, в системах диктовки распознавание не обязательно должно быть шумоустойчивым, допустима также ситуация, при которой отдельные слова распознаются неверно, ведь существует возможность подправить текст в дальнейшем. Системы распознавания речи в телефонных каналах связи в первую очередь должны отвечать требованиям надежности, справляться с искажениями и обладать высокой производительностью с целью обработки нескольких запросов в режиме реального времени. Структура рынка технологии распознавания речи достаточно прозрачна. Небольшое количество компаний занимаются созданием базовой технологии: записывают звуковые базы данных, программируют математические модели, изучают особенности речи на конкретном языке, взаимодействуют со специализированными образовательными учреждениями, содержат штат научных сотрудников. На западном рынке к таким компаниям можно отнести Nuance, Acapela, Loquendo, LumenVox, Telisma. На российском телекоммуникационном рынке, насколько нам известно, представлено предложение только от компании Nuance. Вторая группа игроков – производители так называемых платформ. Эти компании создают программно-аппаратные комплексы, на основе которых возможна реализация различных телекоммуникационных сервисов (ЦОВ, IVR-услуги). Данная группа игроков взаимодействует с производителями технологии распознавания речи и встраивает ее в свои продукты. В качестве примера таких компаний можно помянуть Nortel, Genesys, FrontRange и Lucent. Третья группа игроков – системные интеграторы. Эти компании предлагают рынку полный комплекс услуг по инсталляции и сопровождению программно-аппаратных комплексов, которые построены на базе платформ и компонентов, предоставляемых второй группой игроков. К компаниям этой группы, работающим на территории России, можно отнести CompTek. Среди западных игроков упомянем ActiveVoice Seven, Fluency, Intervoice, VoiceObjects. [Смирнов]
На рис.6 представлено мнение специалиста, которое подтверждает наши слова.
clip_image005
Рис.6. Мнение специалиста Юношевй Ирины.

6. Развитие систем распознавания речи

Три основных проблемы стоят на пути доведения систем распознавание речи до идеального качества работы:
1. Большие объемы словарей;
2. Восприятие непрерывной речи;
3. Различные акценты и произношения.
Видно, что наличествующие сейчас проблемы фактически ничем неотлиаются от проблем, которые существовали десять лет назад. Современные системы в состоянии частично решить их, но при этом потребляя существенные ресурсы. Фактически качество современных методов пропорционально количеству потребляемых ресурсов – например, если требуется, чтобы адаптивная система распознавала слова с более высоким качеством и точностью, она должна иметь более объемную базу данных, содержащую образцы слов или фонем. Это основные препятствия для идеальной работы автоматизированных систем распознавания речи, но есть еще и другие проблемы – например, понимание семантики речи. Объемы словарей определяют степень сложности, требования к вычислительной мощности и надежность систем распознавания голоса. Можно приспособиться к непрерывному потоку речи, но есть еще и строгие семантические правила, которым необходимо следовать, чтобы система смогла понять семантику комбинаций слов в предложениях. Фактически сейчас является невозможным сделать систему, которая будет воспринимать и даже исправлять речь человека, неправильно строящего предложения. Необходимо продолжать основательные исследования, только это позволит «справиться» с такими характеристиками речи, как морфология, акценты, высота звука, скорость, громкость, сливающиеся слова, контекст, артикуляция, лингвистическая информация, синонимы и так далее. Ожидается, что основным направлением развития станет моделирование языков для использования в системах распознавания речи.
Не решена окончательно и проблема отделения речевого сигнала от шумового фона. В настоящее время пользователи систем распознавания голоса вынуждены либо работать в условиях минимального шумового фона, либо носить шлем с микрофоном у самого рта. Кроме того, пользователям приходится «информировать» компьютер о том, что они к нему обращаются. Для этого обычно надо нажать кнопку или сделать что-то в этом роде. Конечно, это весьма неудачный вариант пользовательского интерфейса. Решение этих проблем началось, и уже получены многообещающие результаты. Одна из долгожданных разработок в области распознавания голоса – это человеко-машинные диалоговые системы; такими системами занимаются во многих университетских исследовательских лабораториях. Подобные системы способны работать с непрерывным речевым потоком и с неизвестными дикторами, понимать значения фрагментов речи (в узких областях) и предпринимать адекватные ответные действия. Эти системы работают в реальном времени и способны выполнять пять функций по телефону:
1. Опознание речи – преобразование речи в текст, состоящий из отдельных слов;
2. Понимание – грамматический разбор предложений и распознавание смыслового значения;
3. Восстановление информации – получение данных из оперативных источников на основании полученного смыслового значения;
4. Генерация лингвистической информации – построение предложений, представляющих полученные данные, на выбранном пользователем языке;
5. Синтез речи – преобразование предложений или текста в синтезированную компьютером речь.
Диалоговый интерфейс в таких системах позволяет человеку разговаривать с компьютером, создавать и получать информацию, решать любые задачи, которые ему необходимы. Системы с диалоговым интерфейсом различаются по уровню инициативности человека или компьютера. Исследования фокусировались на «смешанно инициативных» системах, в которых и человек, и компьютер играют одинаково активную роль в достижении цели посредством диалога.
Другая область, в которой идет активное использование технологий распознавания речи – робототехника. Создание человекоподобного робота в обязательном порядке требует от него возможность свободно воспринимать человеческую речь. Для этого потребуется создание системы распознавания речи, которая сможет свободно воспринимать речь произвольного человека с любым тембром и темпом. Подобная система потребует решения всех вышеперечисленных проблем на самом высоком уровне. Современные роботы обладают встроенными системами распознавания речи, позволяющими им воспринимать отдельные слова и даже фразы, однако эти системы пока что ничем не лучше тех, которые встраиваются в различные другие устройства. На рис.6 показано, как девушка разговаривает с роботом, и в этом уже нет ничего удивительного.
clip_image007
Рис.6. Расположение микрофонов в одном из современных роботов
Дополнительные трудности для распознавания создает наличие, например, нескольких говорящих людей. Данный робот для опознания говорящего использует не только систему микрофонов, но и камеры.
С появлением и последующим развитим, которое получили системы распознавания речи, идея «говорящего» компьютера перестала быть фантастикой. Однако не следует забывать, что речь - это одно из проявлений высшей нервной деятельности человека, и поэтому вряд ли в ближайшие несколько лет стоит ожидать появления систем распознавания речи, по эффективности и удобству сравнимых с секретарем-машинисткой, печатающей "со слов".

понедельник, 9 августа 2010 г.

РАСПОЗНАВАНИЕ РЕЧИ – ЧАСТЬ 2

3. Основные методы распознавания речи

Одним из основных подходов, используемых при построении речевых распознавателей, является подход, основанный на обработке акустических сигналов, который опирается на следующее положение: поскольку речевой сигнал является особой формой сигнала (или вектором чисел), то к нему применимы общие методы обработки сигналов (например, анализ частотного спектра Фурье, анализ основных составляющих, процедуры статистических решений и другие математические методы). Эти методы используются для того, чтобы установить идентичность входного сигнала одному из шаблонов.
Многие методы математической обработки сигналов (кепстральный анализ, скрытое марковское моделирование) для получения описательных признаков речи используют в основе частотный анализ Фурье или вейвлет-преобразование

3.1. Преобразования Фурье

Речевой сигнал представляется в виде двумерного спектрального временного образа (СВО), получаемого с помощью быстрого преобразования Фурье – рис.1а.
clip_image002

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

3.2. Вейвлет-преобразование

Вейвлет-преобразование сигналов является обобщением спектрального анализа. Вейвлет-преобразование сигналов является обобщением спектрального анализа. Вейвлет-анализ можно охарактеризовать как спектральный анализ локальных возмущений. Результатом непрерывного вейвлет-анализа некоторого сигнала, заданного функцией f(t), будет функция Wf(a,b), которая зависит уже от двух переменных – от координаты b и от масштаба a.
Строгое определение находиться по формуле (3.1):
clip_image004
(3.1)
Распределение значений коэффициентов Wf(a,b) в пространстве (a,b) дает информацию об эволюции относительного вклада компонент во времени и называется вейвлет-спектром. Спектр Wf(a,b) часто представляют в виде проекции на плоскость (a,b) с изолиниями или изоуровнями, позволяющими проследить изменения интенсивности амплитуд вейвлет-преобразования на разных масштабах и во времени, а также картины линий локальных экстремумов этих поверхностей (так называемый «skeleton»), четко выявляющие структуру анализируемого процесса (рис. 2).
clip_image006
Рис.2. Пример вейвлет-преобразования речевого сигнала фонемы «к»: (а) анализируемый сигнал,
(б) картина коэффициентов Wf(a,b)
На основе этого была строится система распознавания речи. Исходный речевой сигнал сегментируется на фонемы и для каждого сегмента находится скелетон при помощи вейвлета Морле. Полученные признаки сохраняются в базу данных эталонов. Сравнение с эталоном производится при помощи алгоритма динамического программирования, с одновременным временным выравниванием. Совпадение считается по порогу выбранному экспериментально. Средний коэффициент распознавания составляет 73%.[ Леонович]

3.3. Метод нечёткого сопоставления речевых образов

clip_image007clip_image008Для распознавания изолированных слов, нормализованных по времени, часто применяется метод нечёткого сопоставления с эталоном [Бондаренко]. Эталонные образы для каждого слова словаря формируются как среднее арифметическое ДСВО различных вариантов произношения данного слова. В результате формируется бинарное нечёткое отношение между множеством F (номеров частот f) и множеством T (номеров интервалов времени t) в виде F R T, где R – нечёткое отношение, которое ставит каждой паре элементов величину функции принадлежности . .
clip_image009Обозначим число записанных слов через n, множество слов через I = {i1, i2, ..., in}, а множество нечётких отношений, характерных для каждого слова, через R = {r1, r2, ..., rn}. Входной неизвестный образ y рассматривается как обычное (чёткое) отношение между множеством частот и множеством интервалов времени. Для него вычисляются степени сходства Sj с каждым нечётким отношением rj . Результатом распознавания является слово j, такое, что выполнено равенство (3.2):
. (3.2)
Степень подобия вычисляется по формуле (3.3):
clip_image010. (3.3)
В формуле (3.6) числитель и знаменатель вычисляются по формулам (3.4) и (3.5) соответственно:
clip_image011
. (3.4)
clip_image012
. (3.5)

3.4. Использование скрытой Марковской модели

Для распознавания фонем, групп фонем и слов используются такие методы, как скрытая Марковская модель или НММ (hidden Markov modelling), искусственные нейронные сети (ИНС) или их комбинации. Наиболее распространенной и успешно используемой при распознавании фонем и слов является скрытая Марковская модель (НММ). НММ определяется как множество состояний и переходов из одного состояния в другое, то есть конечный автомат. С каждым переходом из состояния i в состояние j связано распределение результирующих (выходных) вероятностей b, которое определяет вероятность того, что при переходе произойдет событие х из пространства наблюдений. То есть если происходит переход, то с определенной вероятностью будут наблюдаться некие выходные данные. Кроме того, с каждым переходом связана вероятность а, представляющая собой вероятность перехода из состояния i в состояние j. Существует множество начальных и множество конечных состояний. Любая последовательность наблюдений является результатом перехода из одного из начальных состояний в одно из конечных. Так как НММ хорошо описывает временные ряды со стохастическими воздействиями, то эта модель обеспечивает близкое к естественному представление речи. НММ можно использовать для представления любой составляющей речевого сигнала – фонем или слов [Зу].
Каждому слову из словаря должна соответствовать своя модель Маркова . В качестве модели мы будем используется left-to-right модель, в которой допускаются переходы только в текущее или в следующее состояние. Такая модель представлена на рис.3.
clip_image014
Рис.3. Модель Маркова
Поскольку каждое слово содержит свое уникальное сочетание звуков, то длина цепочки (количество состояний) у всех моделей, вообще говоря, различно. После назначения параметрам модели начальных значений проводится переоценка всех параметров с целью их улучшения. Для переоценки используют алгоритм, основанный на методе Баума-Уэлша. Переоценка параметров проводится до тех пор, пока параметры не перестанут изменяться.
На тестах было доказано, что основанные на этом подходе системы распознавания речи оказались весьма надежными и эффективными. Гибридные ИНС/НММ распознаватели речи повышают точность традиционных НММ за счет моделирования корреляций между одновременными параметрами речевого сигнала и между текущими и последующими параметрами. Последние работы в рамках этих исследований посвящены моделированию долговременных корреляций и разработке адаптационных подходов, в процессе работы которых происходит адаптация к голосу диктора.

3.5. Использование нейросетевого анализа речевого сигнала

Принципиальная новизна данного метода состоит в использовании островного нейросетевого анализа речевого сигнала в корреляции с выделением устойчивых признаков и применении фонологических и других знаний, основанных на содержательном исследовании процесса произнесения, о структуре речевого сигнала.
Одним из основных свойств данного подхода является использование инженерии знаний «внутри» непрерывных методов. Специально разработанные методы кластеризации элементов позволяют вписывать содержательные оценки в непрерывные схемы.
Любой речевой сигнал можно представить как вектор в каком-либо параметрическом пространстве, затем этот вектор может быть запомнен в нейросети. Одна из моделей нейросети, обучающаяся без учителя – это самоорганизующаяся карта признаков Кохонена. В ней для множества входных сигналов формируется нейронные ансамбли, представляющие эти сигналы. Этот алгоритм обладает способностью к статистическому усреднению, т.е. решается проблема с вариативностью речи. Как и многие другие нейросетевые алгоритмы, он осуществляет параллельную обработку информации, т.е. одновременно работают все нейроны. Тем самым решается проблема со скоростью распознавания – обычно время работы нейросети составляет несколько итераций.
Далее, на основе нейросетей легко строятся иерархические многоуровневые структуры, при этом сохраняется их прозрачность (возможность их раздельного анализа). Так как фактически речь является составной, т.е. разбивается на фразы, слова, буквы, звуки, то и систему распознавания речи логично строить иерархическую.
Наконец, ещё одним важным свойством нейросетей (а на мой взгляд, это самое перспективное их свойство) является гибкость архитектуры. Под этим может быть не совсем точным термином я имею в виду то, что фактически алгоритм работы нейросети определяется её архитектурой. Автоматическое создание алгоритмов – это мечта уже нескольких десятилетий. Но создание алгоритмов на языках программирования пока под силу только человеку. Конечно, созданы специальные языки, позволяющие выполнять автоматическую генерацию алгоритмов, но и они не намного упрощают эту задачу. А в нейросетях генерация нового алгоритма достигается простым изменением её архитектуры. При этом возможно получить совершенно новое решение задачи. Введя корректное правило отбора, определяющее, лучше или хуже новая нейросеть решает задачу, и правила модификации нейросети, можно в конце концов получить нейросеть, которая решит задачу верно. Все нейросетевые модели, объединенные такой парадигмой, образуют множество генетических алгоритмов. При этом очень четко прослеживается связь генетических алгоритмов и эволюционной теории (отсюда и характерные термины: популяция, гены, родители-потомки, скрещивание, мутация). Таким образом, существует возможность создания таких нейросетей, которые не были изучены исследователями или не поддаются аналитическому изучению, но тем не менее успешно решают задачу.
Разработанные методы позволяют идентифицировать слова из ограниченного словаря, произнесенные произвольным диктором. Независимость от диктора дает возможность на основе разработанных методов строить системы речевого управления прикладными программами. Ошибка распознавания при словаре в 200 слов не превышает 2 % [Арлазаров].

воскресенье, 8 августа 2010 г.

РАСПОЗНАВАНИЕ РЕЧИ – ЧАСТЬ 1

Введение

Задача технологии автоматического распознавания речи – предоставить пользователю естественный интерфейс взаимодействия с компьютером или механическим устройством. Первыми о такой возможности задумались писатели-фантасты, которые наделили роботов будущего способностью понимать людей. Начиная с середины прошлого столетия ученые приложили немало усилий для того, чтобы это будущее стало реальностью. И пусть машины по-прежнему не наделены полноценным искусственным интеллектом, технология распознавания речи уже сегодня способна решать повседневные задачи не менее эффективно, чем человек.
Речь - это самое прямое и интуитивно понятное средство общения между людьми, которое могло бы быть мостом между человеком и машиной. Диалог с компьютерами, роботами, автоматизированными системами управления с помощью речевых сообщений открывает большие перспективы:
· Простота общения с системой (использование речевого интерфейса не требует специальной подготовки);
· Доступность речевого интерфейса людям с нарушениями опорно-двигательного и зрительного аппарата;
· Возможность работы пользователей в условиях перегруженности зрительного канала.
В связи с увеличением интенсивности обмена информацией в системе «человек-компьютер» особое значение имеет снижение нагрузки на зрительный канал человека. Например, в системах управления востребованной является идея голосового контроля и управления состоянием системы (речевое общение для контроля состояния работы самолета, телефон без кнопок, речевое управление производственными процессами). Внедрение голосового интерфейса оставит глаза и руки оператора (водителя, пилота, рабочего) свободными от перегрузки, что повысит надёжность и качество управления. Использование речевого диалога в системах массового обслуживания также актуально – такие системы повышают коммерческую выгоду, как за счёт привлечения дополнительной клиентуры, так и путём замены человека-оператора компьютерными системами с голосовым интерфейсом [Жожикашвили].
Распознавание голоса происходит следующим образом: при помощи воспринимающих и оцифровывающих устройств, а затем машинной обработки снимается речевой сигнал и преобразуется в цифровую форму. Далее сигнал разбивается на неделимые интервалы, называемые фонемами. Фонемы – это фактически неделимые единицы звука, их последовательность составляет слоги, которые, в свою очередь, образуют слова, те агрегируются в предложения, а из предложений состоят сообщения и команды, которые требуется передать от пользователя к компьютеру. Можно утверждать, что фонема – это звук, образованный некоторым сочетанием букв. После получения набора слов и предложений начинается обработка естественного языка, слова разбивается на логические единицы – фразы. Это делается на основе лингвистической информации, шаблонов речи и иногда – на основе априорных знаний о предмете разговора. Далее полученные фразы анализируются и переводятся в действительные команды, адресованные компьютерной системе либо целевому приложению.
Уже многие годы голосовые команды являются одной из опций программного обеспечения персональных компьютеров – это типичный пример использования техники распознавания голоса. Стандартная программа принятия и распознания голосовых команд включена во все последние версии операционной системы Windows. Многие коммерческие программы распознавания голоса успешно функционируют в системах, разнящихся от справочных столов до записи медицинских процедур. Эта технология повысила эффективность работы телефонных центров обработки заказов и позволила многим компаниям увеличить объемы получаемых доходов. Рынок коммерческих систем распознавания голоса в последнее время продолжает увеличиваться с впечатляющей скоростью. Одна из причин такого роста – потребность обычных пользователей современных компьютеров. Также росту способствует многократное увеличение мощности процессора и объема памяти среднего компьютера. Увеличение количества фирм, работающих в данной отрасли, снизило среднюю стоимость систем распознавания речи для приемлемого обычному пользователю уровня.

1. История распознавания речи

Процесс разработки технологии распознавания речи ученые начали с освоения методики выделения информативных признаков, описывающих речевой сигнал (спектральный анализ Фурье, метод линейного предсказания). Затем приступили к решению задачи распознавания фиксированного набора голосовых команд путем попарного сравнения входящего звукового сигнала с базой данных эталонов, хранящихся в памяти компьютера. (Кстати, именно такая технология сейчас применяется в большом количестве «бюджетных» мобильных телефонов: вы заранее записываете в память телефона команды, а затем, повторяя их, можете вызвать ту или иную функцию.) В силу своей простоты описанный метод хорошо подходил только для распознавания команд, произнесенных голосами ученых, ее создававших, т. е. был дикторозависимым. К тому же большое количество сравнений существенно повышало ресурсоемкость данного подхода.
Решение проблемы зависимости от диктора, конечно, было найдено. На первый план вышли статистические алгоритмы, основанные на обработке большого количества звуковых данных – записей голосов десятков и сотен
дикторов. Ученые предложили несколько подходов, среди которых широкое распространение получили нейронные сети и скрытые марковские модели. Нейронные сети обладают большой статистической силой, поскольку позволяют автоматически настроить систему для эффективного различения набора распознаваемых слов, однако цепочки слов, а также слова, произносимые с разным темпом, нейронные сети идентифицируют плохо. Скрытые марковские модели, напротив, успешно моделируют последовательность из нескольких слов и практически не зависят от темпа произнесения. Другой плюс марковских моделей – высокое быстродействие. Кроме того, они позволили ученым подойти к решению более сложной задачи – распознавание произвольной слитной речи. Из науки о языке известно, что наша речь строится из ограниченного набора минимальных звуковых составляющих – фонем (фонов, трифонов), а значит, каждое слово можно представить в виде последовательности из нескольких фонем. Таким образом, не нужно хранить записи каждого слова – достаточно создать значительный корпус записей речи немалого количества дикторов, который бы позволил получить статистически достоверное описание всех звуков, встречающихся в речи. В 1980-х – 1990-х гг. были накоплены огромные речевые корпусы, однако в основном для английского языка. Были разработаны мощные программы, которые могли идентифицировать сказанное с приемлемой точностью – порядка 80%. Эти программы позволяли преобразовать произнесенные предложения в текст или использовать их в качестве команд, набор которых хранился в памяти компьютера. Сложности распознавания, связанные с разницей в произношении, манерой говорить и шаблонами речи, остались, однако увеличение мощности компьютеров на несколько порядков помогло существенно приблизиться к идеальному решению этих проблем.
На сегодняшний день большинство коммерческих систем распознавания речи опираются именно на описанную выше технологию. Есть также удачные примеры объединения марковских моделей с нейронными сетями.

2. Особенности систем распознавания речи

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

2.1. Независимость от диктора

Сегодня существуют два основных вида технологий распознавания голоса. Один из них – это распознавание речи, зависящее от диктора. Чаще всего системы, зависящие от диктора (их иногда называют голосозависимыми), предназначены для одного конкретного пользователя, например, для человека, постоянно использующего свой компьютер. Такие системы обычно проще разрабатывать, они дешевле и работают более точно, но они не столь гибки, как голосонезависимые программы, к тому же их переконфигурирование на другого пользователя является весьма сложным, а иногда и невозможным процессом. Второй тип технологий – это распознавание речи, не зависящее от диктора, то есть система способна распознать любую речь, независимо от того, кто говорит. Голосонезависимые системы разрабатываются для любого пользователя, использующего определенный диалект (например, американский английский). Это самые сложные в разработке и самые дорогие системы, к тому же точность распознавания у них ниже. Однако подобные системы более гибки. Существуют также адаптивные системы – они каждый раз приспосабливаются к характеристикам нового диктора. Уровень сложности их разработки лежит где-то посередине между голосонезависимыми и голосозависимыми системами. Каждый новый пользователь системы должен сначала научить ее распознавать именно его голос, только после этого возможно нормальное функционирование. Для этого новому пользователю чаще всего предлагается прочесть какой-нибудь заранее известный системе отрывок текста, повторяя некоторые слова в случае, если они не были сразу распознаны. После некоторой «тренировки» система в состоянии идентифицировать любые слова данного пользователя [Зу].

2.2. Непрерывность речи

Системы распознавания изолированных слов работают с дискретными словами – в этом случае требуется пауза между словами. Это самая простая форма распознавания, так как в этом случае легко определяется конец речевого сигнала, а произношение слова не затрагивает другие слова. Поскольку в этих системах количество слов постоянно, то их значительно легче разрабатывать. Системы распознавания непрерывного речевого сигнала работают с речевым потоком, в котором слова не разделены паузой фиксированной длительности. Непрерывную речь обрабатывать гораздо сложней по целому ряду причин. Во-первых, трудно определить начало и конец слова. Вторая проблема – это коартикуляция. На звучание каждой фонемы влияет звучание соседних фонем, а на начало и конец слов влияют предыдущие и последующие слова. Распознавание непрерывной речи зависит также от скорости речи – с быстрой речью работать сложнее, чем с медленной [Зу].

2.3. Размер словаря

Размер словаря системы распознавания голоса влияет на степень сложности, требования к процедурам обработки и точность системы. Одним системам для работы необходимо всего несколько слов (например, только числа для голосового набора номера), а другие работают с очень большими словарями (например, программы, преобразующие речь в текст). Четких градаций объемов словарей нет. Но обычно словари классифицируются следующим образом:
1. Маленькие словари – количество слов порядка нескольких десятков;
2. Средние словари – порядка сотни слов;
3. Большие словари – несколько тысяч слов;
4. Очень большие словари – десятки тысяч слов.
Существуют еще две проблемы, связанные с объемом словарей. Одна из них касается разработки и обеспечения доступа к специальным базам данных – необходимо обеспечить удобное хранение подобной базы и возможность обновления данных для специальных групп пользователей различных профессий, например в медицинской или правовой сфере. Вторая проблема – проверка грамматики, ведь программы разрабатываются не только для записи продиктованных слов, но и зачастую имеют встроенные функции проверки и исправления структур предложений.
Таким образом, можно сделать вывод, что современные системы распознавания голоса требуют существенных даже по нынешним меркам компьютерных ресурсов. С распознаванием голоса тесно связаны две технологии:
1. Цифровая обработка сигналов;
2. Распознавание образов.
С помощью цифровой обработки сигналов чаще всего осуществляется преобразование считанного с микрофона акустического сигнала в цифровой формат и любые другие представления, непосредственно обрабатываемые системой распознавания речи. Методы распознавания образов используются при выделении и распознавании отдельных слов или предложений речевого потока, а в некоторых случаях и для идентификации говорящего. Кроме этого, понадобится лингвистическая теория – в ней заложены фундаментальные концепции и принципы распознавания речи и понимания языка. В следующем параграфе будут рассмотрены некоторые методы, используемые в процессах распознавания голоса.

понедельник, 28 июня 2010 г.

Модуль Анализ естественного языка при разработке интерфейсов автоматизированных систем – Часть 2

Основные составные части ЕЯ-интерфейсов к СИД

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

Проблемы общения с ЭВМ на ЕЯ, связанные с особенностями естественного языка.

Под технологией анализа ЕЯ подразумевается перевод некоторого выражения на ЕЯ во внутреннее представление. Фактически все системы анализа ЕЯ могут быть распределены на следующие категории: подбор шаблона (Pattern Matching), синтаксический анализ, семантические грамматики, анализ с помощью падежных фреймов, “жди и смотри” (Wait And See), словарный экспертный (Word Expert), коннекционистский, “скользящий” (Skimming) анализ.
Проблемы понимания естественного языка, будь то текст или речь, во многом зависят от знания предметной области. Понимание языка требует знаний о целях говорящего и о контексте. Необходимо также учитывать недосказанность или иносказательность. Например, даже в таком простом предложении «Ваня встретил Машу на поляне с цветами» нам не понятно, кто же был с цветами: Ваня, Маша или поляна? Еще один пример «Врач бегло говорила по-английски». Разбирая это предложение, необходимо в результате разбора зафиксировать, что врач была женщина. Основные проблемы понимания естественного языка:
  1. Проблема СМЫСЛ-ТЕКСТ. В предложении «Какой завод заказал оборудование для конвертерного цеха в Бельгии?» неясен смысл: был ли сделан заказ в Бельгии или цех находится в Бельгии.
  2. Проблема планирования возникает при необходимости вести диалог, например, на тему «Куда Вы хотите лететь?». В этом случае нужно глубокое знание предметной области (номера рейсов, время прилета-отлета, цены и т.д.).
  3. Проблема равнозначности. Будут ли равнозначны два предложения «У дома стоит слон» и «У дома стоит существо с хоботом и бивнями»? На первый взгляд нет сомнений в равнозначности этих предложений. А если в базе знаний существо с хоботом и бивнями определено двумя значениями: слон и мамонт, то такие сомнения, наверное, появятся.
  4. Проблемы моделей участников общения. У участников общения должны быть сопоставимые модели представления знаний, необходимая глубина понимания, возможность логического вывода, возможность действия.
  5. Проблема эллиптических конструкций, то есть опущенных элементов диалога. Например, в пословице «Береги платье снову, а честь - смолоду» вторая часть предложения будет синтаксическим эллипсисом (опущен глагол береги).
  6. Проблема временных противоречий. Например, в предложении «Я хотел завтра пойти в кино» глагол «хотел» в прошедшей форме сочетается с обстоятельством будущего времени «завтра», что противоречит общепринятой логике.
Прикладные системы NLP имеют преимущество перед общими, т.к. работают в узких предметных областях. Тем не менее, создание систем, имеющих возможность общения на ЕЯ в широких областях, возможно, хотя пока результаты далеки от удовлетворительных.
Под технологией анализа ЕЯ подразумевается перевод некоторого выражения на ЕЯ во внутреннее представление. Фактически все системы анализа ЕЯ могут быть распределены на следующие категории: подбор шаблона (Pattern Matching), синтаксический анализ, семантические грамматики, анализ с помощью падежных фреймов, “жди и смотри” (Wait And See), словарный экспертный (Word Expert), коннекционистский, “скользящий” (Skimming) анализ.
Синтаксический анализ. При использовании синтаксического анализа происходит интерпретация отдельных частей высказывания, а не всего высказывания в целом. Обычно сначала производится полный синтаксический анализ, а затем строится внутренне представление введенного текста, либо производится интерпретация.
Деревья анализа и свободно-контекстные грамматики. Большинство способов синтаксического анализа реализовано в виде деревьев. Одна из простейших разновидностей - свободно-контекстная грамматика, состоящая из правил типа S=NP+VP или VP=V+NP и полагающая, что левая часть правила может быть заменена на правую без учета контекста. Свободно-контекстная грамматика широко используется в машинных языках, и с ее помощью созданы высокоэффективные методы анализа. Недостаток этого метода - отсутствие запрета на грамматически неправильные фразы, где, например, подлежащее не согласовано со сказуемым в числе. Для решения этой проблемы необходимо наличие двух отдельных, параллельно работающих грамматик: одной - для единственного, другой - для множественного числа. Кроме того, необходима своя грамматика для пассивных предложений и т.д. Семантически неправильное предложение может породить огромное количество вариантов разбора, из которых один будет превращен в семантическую запись. Всё это делает количество правил огромным и, в свою очередь, свободно-контекстные грамматики непригодными для NLP.
Трансформационная грамматика. Трансформационная грамматика была создана с учетом упомянутых выше недостатков и более рационального использования правил ЕЯ, но оказалась непригодной для NLP. Трансформационная грамматика создавалась Хомским как порождающая, что, следовательно, делало очень затруднительным обратное действие, т.е. анализ.
Расширенная сеть переходов. Расширенная сеть переходов была разработана Бобровым (Bobrow), Фрейзером (Fraser) и во многом Вудсом (Woods) как продолжение идей синтаксического анализа и свободно-контекстных грамматик в частности. Она представляет собой узлы и направленные стрелки, “расширенные” (т.е. дополненные) рядом тестов (правил), на основании которых выбирается путь для дальнейшего анализа. Промежуточные результаты записываются в ячейки (регистры). Ниже приводится пример такой сети, позволяющей анализировать простые предложения всех типов (включая пассив), состоящие из подлежащего, сказуемого и прямого дополнения, таких, как The rabbit nibbles the carrot (Кролик грызет морковь). Обозначения у стрелок означают номер теста, а также либо признаки, аналогичные применяемым в свободно-контекстных грамматиках (NP), либо конкретные слова (by). Тесты написаны на языке LISP и представляют собой правила типа если условие=истина, то присвоить анализируемому слову признак Х и записать его в соответствующую ячейку.
clip_image004
Разберем алгоритм работы сети на вышеприведенном примере. Анализ начинается слева, т. е. с первого слова в предложении. Словосочетание the rabbit проходит тест, который выясняет, что оно не является вспомогательным глаголом (Aux, стрелка 1), но является именной группой (NP, стрелка 2). Поэтому the rabbit кладется в ячейку Subj, и предложение получает признак TypeDeclarative, т.е. повествовательное, и система переходит ко второму узлу. Здесь дополнительный тест не требуется, поскольку он отсутствует в списке тестов, записанных на LISP. Следовательно, слово, стоящее после the rabbit - т. е. nibbles - глагол-сказуемое (обозначение V на стрелке), и nibbles записывается в ячейку с именем V. Перечеркнутый узел означает, что в нем анализ предложения может в принципе закончиться. Но в нашем примере имеется еще и дополнение the carrot, так что анализ продолжается по стрелке 6 (выбор между стрелками 5 и 6 осуществляется снова с помощью специального теста), и словосочетание the carrot кладется в ячейку с именем Obj. На этом анализ заканчивается (последний узел был бы использован в случае анализа такого пассивного предложения, как The carrot was nibbled by the rabbit). Таким образом, в результате заполнены регистры (ячейки) Subj, Type, V и Obj, используя которые, можно получить какое-либо представление (например, дерево).
Расширенная сеть переходов имеет свои недостатки:
немодульность;
сложность при модификации, вызывающая непредвиденные побочные эффекты;
хрупкость (когда единственная неграмматичность в предложении делает невозможным дальнейший правильный анализ);
неэффективность при переборе с возвратами, т.к. ошибки на промежуточных стадиях анализа не сохраняются;
неэффективность с точки зрения смысла, когда с помощью полученного синтаксического представления оказывается невозможным создать правильное семантическое представление.

Семантически-ориентированный анализ ЕЯ, ориентированный на распознавание смысла предложения.

Системы, в которых используется естественный язык (ЕЯ) можно разделить на классы, как показано на рисунке.
clip_image006
Существуют два основных подхода к реализации систем, моделирующих понимание естественного языка (ЕЯ) – синтаксически- и семантически-ориентированный.
В синтаксически-ориентированном подходе строго выдерживается следующая последовательность этапов анализа:
  1. Морфологический анализ – анализ структуры слов, т.е. распознавание корня и аффиксов (приставок, суффиксов, окончаний), с использованием словарей корней и аффиксов;
  2. Синтаксический анализ – анализ структуры предложения, т.е. частей предложения (или ролей слов в нем) с использованием грамматики языка;
  3. Семантический анализ – анализ смысла предложения, т.е. интерпретация его в терминах представления смысла, с использованием базы знаний о предметной области знаний о синтаксисе представления смысла;
  4. Прагматический анализ – анализ целей предложения или ожиданий и желаний его источника с целью планирования реакции на анализируемое предложение.
В семантически-ориентированном анализе главным и первым этапом анализа является анализ семантики (смысла), иногда, предварительный, т.к. далее смысл может уточняться с использованием уже синтаксического и морфологического анализа. В этом случае можно говорить не об анализе, а о распознавании смысла предложения.
Анализ ЕЯ, основанный на использовании семантических грамматик, очень похож на синтаксический, с той разницей, что вместо синтаксических категорий используются семантические.
Естественно, семантические грамматики работают в узких предметных областях. Примером Примером служит система Ladder, встроенная в базу данных американских судов. Ее грамматика содержит записи типа: S -> <present> the <attribute> of <ship> <present> -> what is|[can you] tell me <ship> -> the <shipname>|<classname> class ship.
Такая грамматика позволяет анализировать такие запросы, как Can you tell me the class of the Enterprise? (Enterprise – название корабля). В данной системе анализатор составляет на основе запроса пользователя запрос на языке базы данных.
Недостатки семантических грамматик состоят в том, что, во-первых, необходима разработка отдельной грамматики для каждой предметной области, а во-вторых, они очень быстро увеличиваются в размерах. Способы исправления этих недостатков – использование синтаксического анализа перед семантическим, применение семантических грамматик только в рамках реляционных баз данных с абстрагированием от общеязыковых проблем и комбинация нескольких методов (включая собственно семантическую грамматику).

среда, 23 июня 2010 г.

Анализ естественного языка при разработке интерфейсов автоматизированных систем – Часть 1

Основные характеристики и составляющие части ЕЯ-интерфейсов

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

Сравнительный анализ ЕЯ-интерфейсов и традиционных интерфейсов к СИД

В противоположность ЕЯ-интерфейсам, нетрадиционным с точки зрения распространенности, существуют другие виды пользовательских интерфейсов к СИД, которые можно назвать традиционными. Среди них:
· Интерфейсы с формальным языком запросов
· Интерфейсы с графическим построением запросов
· Интерфейсы, основанные на заполнении форм запросов
Предполагается, что рассматриваемые здесь виды интерфейсов по своему предназначению ограничены только получением информации из базы данных, это предположение сделано в силу ограничения на ЕЯ-интерфейсы областью запросов, поскольку область занесения данных и их модификации с помощью естественно-языковых оболочек является отдельной большой темой для рассмотрения.
В интерфейсах с формальным языком запросов пользователь, для того, чтобы правильно задать запрос, должен, во-первых, знать синтаксис языка запросов (например, SQL), а во-вторых, представлять устройство конкретного структурированного источника данных (например, реляционную схему базы данных). При работе с этим типом интерфейсов пользователь должен обладать достаточно высокой квалификацией. Опыт показывает, что такой необходимой квалификацией обладают лишь специалисты, проектирующие и создающие информационные системы, и сам термин "пользователь" с учетом современных тенденций здесь не совсем адекватен. Очевидно, ЕЯ-интерфейсы обладают большей гибкостью - один и тот же запрос обычно можно формулировать различными способами. Что немаловажно, ЕЯ-интерфейсы, как правило, обладают системой понятий - описанием предметной области, которая находится выше логического уровня хранения данных. Это позволяет абстрагироваться от деталей устройства той или иной базы данных как на уровне структуры, так и на уровне содержимого.
Средства графического построения запросов, которыми снабжаются многие "настольные" СУБД (например, MS Access, MS FoxPro), безусловно, обладают большим удобством - по крайней мере пользователь не должен держать в голове названия таблиц, полей и конструкции языка. Однако для работы с такими средствами необходим опыт и представление некоторых понятий, относящихся скорее к математике (например, термин связывания таблиц в реляционной алгебре), а не к предметной области, и иногда достаточно утомительные действия по заполнению форм. Так, в базе данных Microsoft Access для того, чтобы сформулировать выражение AVG(PERSONNEL.SALARY), эквивалентный ЕЯ-фразе "средняя зарплата", требуется около 15 нажатий мышью. Неподготовленный пользователь обычно пасует перед системами, требующими сложных действий. Как и в случае интерфейсов с формальным языком, пользователь должен представлять устройство базы данных. По сути, эти средства позволяют графически создавать формальные запросы, и не случайно они обычно позволяют редактировать пользователя полученный формальный запрос.
Интерфейсы, основанные на заполнении форм запросов, являются более дружественными, по сравнению с формальными языками. Сама метафора формы и ее заполнения подразумевает, что пользователь сразу видит набор критериев и параметров поиска, а иногда и список возможных значений полей формы, это сводит к минимуму ошибки при вводе запроса. От предыдущего метода построения пользовательских интерфейсов данный отличается тем, что как правило, все необходимые запросы уже написаны разработчиком интерфейса, и пользователь, чтобы получить ответ, должен просто вставить недостающие значения. Отличие заключается также в том, что задавая значения формы, пользователь обычно не выбирает, какие атрибуты данного класса объектов будут в результате, а сам список доступных классов (в реляционной базе - таблиц) ограничен множеством построенных форм. Так работают многие современные коммерческие приложения, работающие с базами данных - пользователю информация в системе доступна в виде нескольких типовых "срезов" информационного пространства. К недостатку систем, основанных на таком подходе, как и в предыдущем, также следует отнести необходимость наличия у пользователя опыта работы с подобными системами, а также необходимость создания форм, что требует дополнительных усилий программиста для создания интерфейса.
Преимущества ЕЯ-интерфейсов
Преимущества ЕЯ-интерфейсов достаточно очевидны:
· Минимальная предварительная подготовка пользователя. Естественный язык является наиболее привычным и удобным средством коммуникации, и именно в силу этого с ростом эффективности ЕЯ-систем, он, безусловно, будет вытеснять другие виды интерфейсов к СИД, традиционные в данный момент.
· Простота задания запросов на ЕЯ. Во многих случаях запрос на ЕЯ получается гораздо короче языка на формальном языке, поскольку ЕЯ-представление более емко, ведь в самой структуре языка содержится понятийная база, которую отражает структура источника данных. Зачастую сложность этой структуры отражается на сложности запроса на формальном языке.
· Большая скорость создания произвольного запроса (отсутствует стадия формального задания запроса). Как правило, пользователь сразу может сформулировать корректное ЕЯ-представление запроса, поскольку такое представление является самым естественным для человека, тогда как построение запроса на формальном языке, даже с помощью вспомогательных средств, таит множество ошибок, зачастую исправить которые можно, только проанализировав результат запроса.
· Более высокий уровень модели предметной области. Традиционные интерфейсы обычно не обладают моделью предметной области как таковой, и в лучшем случае скрывают от пользователя искусственные средства и особенности структуры, присущие конкретному типу СИД (такие, как связи по идентификаторам между таблицами в реляционных базах данных или синтаксис XML).
Более подробно рассмотрим недостатки ЕИЯ по сравнению с другими типами интерфейсов.
Недостатки:
· Неоднозначность естественного языка приводит к множественности смыслов. Специфика естественного языка такова, что часто запрос может иметь несколько смыслов, о которых пользователь в момент задания запроса не предполагает. Формальные же языки лишены проблемы неоднозначности. Это свойство ЕЯ приводит к усложнению ЕЯ-интерфейсов и методов анализа, в противном случае ЕЯ-интерфейс получается слишком примитивным для реального использования.
· Недостаточная надежность анализаторов ЕЯ-запросов может привести к неправильному пониманию. Современные ЕЯ-интерфейсы далеко не всегда позволяют диагностировать причины неудач понимания. Причины этих неудач могут быть как в лингвистической сфере, так и в концептуальной. Например, запрос к кадровой базе данных "Кто получает больше Иванова" может привести к непониманию, если ЕЯ-интерфейс не умеет распознавать вложенные запросы (а в данном случае надо сначала получить значение зарплаты Иванова, а затем сравнить с ней зарплату сотрудников). Это случай лингвистической проблемы. Второй пример - "Как зовут жен сотрудников?" может привести к неудаче понимания, если ЕЯ-интерфейс не поймет, что имя супруга/супруги - это реальный атрибут сотрудника, но отсутствующий в данной базе данных. В данном случае налицо будет концептуальная проблема - ЕЯ-интерфейс должен уметь отличать реальную предметную область, которую имеет в виду пользователь, задавая ЕЯ-запрос, от той ее части или трансформации, которая представлена в данном источнике данных.
· Пользователь может иметь завышенные или заниженные ожидания от ЕЯ-интерфейса. Сравнительный анализ типов пользовательских интерфейсов (основанных на формах, с формальным языком запросов, графические) показывает, что в целях построения ЕЯ-интерфейсов превалирует желание максимально приблизить интерфейс к потребностям неподготовленного пользователя. Это несколько поднимает планку требований к дружественности и надежности ЕЯ-интерфейсов, поскольку пользователь, впервые столкнувшись с системой, понимающей естественный язык, слабо представляет, насколько интеллектуальна система. При этом ожидания к степени понимания ЕЯ может отличаться от реальных способностей системы в обе стороны - т.е. пользователь может спрашивать систему о том, чего она "не знает", а может "по привычке" использовать простейшие шаблонные формулировки запросов. В других же типах интерфейсов к СИД рамки того, что пользователь может делать с помощью интерфейса, видны, как правило, сразу.
Поскольку характеристики ЕЯ-интерфейсов и систем для их построения могут существенно различаться, то преимущества и недостатки ЕЯ-интерфейсов по сравнению с другими типами интерфейсов к СИД можно выделить довольно схематично, только на качественном уровне. Для сравнения подходов к построению ЕЯ-интерфейсов введем метрику показателей, характеризующих качество ЕЯ-интерфейсов к структурированным источникам данных.

Критерии качества ЕЯ-интерфейсов

Для сравнительного анализа подходов к созданию ЕЯ-интерфейсов рассмотрим такую качественную интегральную характеристику, как надежность. Под надежностью здесь понимается способность ЕЯ-интерфейса правильно понимать намерения пользователя по получению информации из источника, при условии, что пользователь корректно выразил потребности в виде ЕЯ-запроса. Надежность отражает правильность принципов, лежащих в методе ЕЯ-анализа, а также правильность (корректность) построения ЕЯ-интерфейса к конкретному СИД.
Любой ЕЯ-интерфейс имеет некоторое пространство правильно понимаемых запросов. Чем больше это пространство, тем большей полнотой обладает ЕЯ-интерфейс. Полнота - характеристика, тесно связанная с гибкостью интерфейса. Поскольку пространство ЕЯ-запросов весьма неоднородно, следует говорить о различных типах запросов, т.е. групп запросов, имеющих сходное строение. Гибкость - показатель того, насколько разнообразные типы запросов может понимать ЕЯ-интерфейс. Речь в основном идет о так называемых "трудных" типах запросов, в числе которых - вложенные, эллипсис, анафорические.
Другой важной характеристикой является дружественность интерфейса, которую можно определить как меру того, насколько ЕЯ-интерфейс удобен в работе, насколько корректно он может сообщать о проблемах понимания, может ли он помогать в переформулировке неберущихся запросов и т.д.
Все эти критерии можно объединить в схему, отражающую составляющие качества ЕЯИ (Рис. 1).
clip_image002
Рис. 1. Иерархия качественных характеристик ЕЯ-интерфейса

Критерии стоимости построения и сопровождения ЕЯ-интерфейса

Вышеперечисленные характеристики входят в оценки качества ЕЯ-интерфейса. Важным критерием при сравнении ЕЯ-интерфейсов является также трудоемкость его создания, то есть необходимое количество усилий (времени), требуемых для его построения. Ранние ЕЯ-интерфейсы создавались для каждой базы данных отдельно, и, разумеется, их стоимость была очень большой. Все эти системы были экспериментальными. Усугубляло проблему также то, что до конца 70-х годов не было единого универсального формального языка запросов к базам данных. Ранние системы понимания ЕЯ-запросов к СУБД были непортируемыми на другие базы данных, и зачастую лингвистическое ядро не отделялось от предметно-ориентированных настроек.
Современные промышленные системы построения ЕЯ-интерфейсов обладают достаточно высокой степенью портируемости, что, безусловно, снижает стоимость построения ЕЯ-интерфейса. Лингвистическое ядро является универсальным элементом, словарь содержит универсальную лексику, используемую во многих ЕЯ-интерфейсах, модели предметной области могут содержать шаблоны, общие для нескольких предметных областей и т.д. Зачастую используется метафора "фабрики и изделия", изделием выступает ЕЯ-интерфейс, который собирается из готовых компонентов, которые настраиваются под конкретную базу данных.
Следует отметить, однако, что вопрос портирования на другие языки является открытым. Подавляющее большинство исследований проведено для английского языка, некоторые особенности которого изначально заложили в пути исследований мину замедленного действия - первоначально огромное количество усилий были потрачены на анализ синтаксиса. Сейчас можно сказать, что эти усилия не оправдали себя.
На трудоемкость создания ЕЯИ влияет также необходимая квалификация настройщика ЕЯ-интерфейса. Для систем, требующих навыков лингвиста, трудоемкость построения ЕЯИ больше, чем для систем, где для построения интерфейса требуется просто описать предметную область по некоторым предопределенным шаблонам и отобразить ее на схему базы данных, и дело здесь не только в стоимости труда лингвиста и инженера знаний или специалиста в области баз данных. Системы, требующие подстроек на уровне лингвистического ядра, являются более гибкими, поскольку позволяют разрешать проблемы понимания ЕЯ-запросов написанием соответствующих "заплаток", однако работы по написанию таких "заплаток" являются настолько сложными, требуют такого уровня понимания принципов машинного анализа ЕЯ в целом, что настройка ЕЯИ на уровне лингвистического процессора зачастую возможна только авторами системы построения ЕЯИ. Впрочем, сложность подстройки ядра очень сильно зависит от принципов анализа, используемого при написании инструментария, открытости ядра и т.д.