Программирование языка

Когда компьютер сможет нас понимать?

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


Речь – это язык в действии. Язык – это набор лексем, тем или иным способом соотносящихся с предметами и явлениями окружающего мира, плюс синтаксис – набор правил, по которым из этих лексем будут строиться предложения. Вот, вроде бы, и все. Что за проблема для современных вычислительных машин: «выучить» словарь да запомнить свод правил? А проблема, в сущности, не в этом. Она в том, что «словарик» любого языка гораздо обширнее, чем нам кажется, а в синтаксическом и грамматическом регламенте столько исключений, что сложнее найти правила. Особенно если речь идет (заранее простите за повтор) об автоматическом распознавании спонтанной устной речи. Впрочем, без паники! По утверждению специалистов, системы, которые позволят компьютеру понимать человека, уже «земной свой путь прошли до середины».


Четыре способа распознавания речи базируются на разных технологиях и имеют различное применение:

•    Распознавание отдельных команд
Система знает только слова или словосочетания из заранее заданного небольшого словаря.
Применение: навигация по интернет-сайтам.

•    Распознавание по грамматике
В памяти системы заложены определенные правила построения фразы. Если сказанное им соответствует, система вас поймет и отреагирует.
Применение: голосовое самообслуживание контакт-центров, маршрутизация телефонных вызовов.

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

•    Распознавание слитной речи на большом словаре
Оно же – LVCSR (large vocabulary continuous speech recognition). Без участия искусственного интеллекта сводится к технологии перевода речи в текст (STT – speech to text).
Применение: автоматический ввод данных, расшифровка фонограмм.

Михаил Хитров, основатель и директор «Центра речевых технологий» – ЦРТ (Санкт-Петербург):
– Развитие систем распознавания происходит так же, как у растущего ребенка. Сначала он может ответить на простой вопрос, потом способен поддержать легкую беседу или бездумно записывать чужую речь, а через некоторое время участвует в витиеватых дискуссиях о смысле жизни. В начале 1980-х годов распознавание было на первом этапе простых вопросов, сегодня оно уже на втором. Для обывателя, желающего осведомиться у компьютера или мобильного устройства: «Где бы перекусить?» и «Сколько стоит зимняя резина?» – технология близка к совершенству, достаточно попробовать GoogleVoice или SIRI от Apple.
Действительно, сегодня ПК или смартфон, вернее, системы, к которым они имеют доступ посредством Интернета, вполне способны «ответить» на ваш устный вопрос списком ссылок или адресов, «провести» вас по сайту без помощи мыши и клавиатуры (такая навигация, например, действует на сайте Сбербанка), «записать» простое SMS под диктовку или принять озвученную команду к действию. Однако «голубой» и далекой остается мечта журналистов (в этом месте вся редакция, просиживающая штаны за расшифровками интервью, горестно вздыхает) о полностью самостоятельном машинном переводе аудиозаписи в текст. Не говоря уже о ставшем предметом научного культа диалоге между компьютером и человеком. Давайте-ка поэтапно разберемся, почему. Ведь этим грезам столько же лет, сколько самим ЭВМ.


Наверняка ваша мама прекрасно помнит, каким было первое сказанное вами слово. Ему предшествовали сказочки, песенки и долгие уговоры: «Скажи: «МА-МА»!». А вот каким было первое понятое? И как вообще можно научиться понимать?
Этап первый – в принципе вычленить человеческую речь из общего звукового потока окружающего мира. Человеку до какой-то степени в этом помогает зрительная информация: мы, по крайней мере, видим артикуляцию собеседника. А вот компьютер в этом смысле «слеп». Ему приходится ориентироваться совсем по другим «вешкам».
Михаил Хитров:
– Речь человека уникальна, поскольку речевой тракт имеет ограниченные характеристики: размер, масса, объем, определенные энергетические показатели (максимальные усилия и скорости, развиваемые мышцами речевого аппарата). Из этого следует и достаточно узкий диапазон воспроизводимых частот и скоростей перехода от одного звука к другому. Особой характеристикой, не только отличающей человека от других источников звука, но и выделяющей каждого говорящего среди прочих, являются так называемые форманты – энергетические максимумы на определенных частотах. Соотношение этих максимумов неповторимо, как отпечатки пальцев.
Чтобы осознать всю сложность задачи, вспомните: пытались ли вы когда-нибудь отделаться от унылой перепечатки текста при помощи сканирования с распознаванием? Каков был результат? Всякий изгиб листа в текстовом редакторе становился неведомым графическим элементом, наползающим на буквы. Дефекты бумаги и пятнышки превращались в серию знаков препинания посреди слова. А русский мягкий знак трансформировался в английскую «би». Все потому, что для компьютерного «недоразума» нет никакой разницы между знаком, осмысленным для человека, и любой кляксой. Теперь представьте, что подобным образом нужно распознать рукописный текст… Примерно так обстоит дело и с устной речью.


Знакомый до слез голос второй половины с дистанции в метр и третьего раза абсолютно «отчетливо» произносит: «Бубу-бубу-бубубу тапки!». Типичная бытовая ситуация, извечный повод для смеха или раздражения, указывает на второй барьер для системы распознавания речи. Разложив по разным «корзинкам» речь и посторонние шумы, она теперь должна понять, что именно было сказано. Наступает этап сопоставления речевого потока с акустическими и языковыми моделями, заложенными в память системы.
Акустическая модель – по сути, шаблон каждого звука (фонемы), существующего в языке. Ключевое слово здесь – каждого. Звуки – не буквы, их всегда больше (например, «а» ударная – не то же, что «а» безударная). По мнению лингвистов, в любом языке насчитывается от 40 до 50 фонем. Не ахти какая астрономическая цифра. Беда в другом.
Это для привычного к речи человеческого уха «стол» он и есть «стол». А для компьютерного декодера (преобразователя) это два совершенно разных набора звуков, если слово было произнесено разными людьми (ведь голосовые характеристики уникальны). Добавьте сюда интонирование, особенности территориального говора, скорость произнесения, просто «сглатывание» окончаний… Получите «букет» ни на что не похожих звуков, который нужно свести к искомым 40–50, чтобы затем «восстановить» из них слова со вполне конкретным значением (для «понимания») и графическим выражением (для преобразования в текст).
Чтобы модель-шаблон была эффективной, а система не делала четыре ошибки в слове «хлеб», ей необходимо предоставить как можно больше информации о том, какими бывают звуки в различных «исполнениях» (иногда общий объем материала может достигать 1500 часов записи). На основе этих данных она сможет выделить ключевые характеристики фонемы и отмести весь индивидуальный «сор». Это процесс называется обучением модели. Кроме того, акустические модели должны не только идентифицировать звуки, но и определить статистическую вероятность их последовательности в слове. Здесь они тесно сотрудничают с языковыми моделями.


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


Примеры из разряда тривиальных, от того, впрочем, не теряющие своей иллюстративности. Сравните: задело – за дело, и дико мне – иди ко мне, покалечишься –пока лечишься, ты жеребенок – ты же ребенок, несуразные вещи – несу разные вещи. А еще: порог – порок – парок, луг – лук, плод – плот… Подобными выражениями-двойниками и, тем более, словами-омофонами изобилует практически любой язык. Чтобы верно их воспринять, нужно не просто «узнать» звуки, из которых они состоят, но и учесть контекст. То есть, в зависимости о того, какие слова их окружают, определить вероятность употребления той или иной лексической единицы. Этим-то и занимаются языковые модели. По крайней мере, статистические.
Дело в том, что языковая модель у каждого языка своя собственная. И она, как и грамматика, может быть проще или сложнее. В этом смысле, например, английский язык весьма незамысловат. Строгий порядок слов в предложении, обязательное глагольное сказуемое. Никаких вам падежей существительных или уменьшительно-ласкательных суффиксов! Такой язык довольно легко поддается анализу при помощи статистических моделей, проще говоря, он предсказуем.
Другое дело – великий и могучий. Все славянские языки относятся к категории высокорефлективных, словарь которых включает огромное количество словоформ. Взять хоть тот же «стол»: стола, столу, столом, столе, плюс столик, столище, даже столюсик – в конце концов, спонтанной речи часто свойственно столь же спонтанное словотворчество.
Чтобы оценить масштаб «трагедии», вернемся ненадолго к упомянутым статистическим моделям, которые еще носят название N-граммы. N здесь – это количество слов, которое учитывается при расчете вероятности каждого очередного слова. Наиболее распространенный вариант их использования – триграммы. Однако упростим. Предположим, что ориентируемся на пары слов. Если в нашем гипотетическом словаре число слов равно X, то число пар – X в квадрате. И пусть реально употребляются из них только 0,1 процента, все равно система распознавания должна будет овладеть корпусом в 125 миллиардов слов. А представьте, что у каждого слова найдется с десяток форм?.. В общем, могучая статистика перед русским языком в одиночку бессильна.
Ситуация осложняется еще и тем, что язык Пушкина и Достоевского допускает свободный порядок слов: и «мама мыла раму», и «раму мама мыла». Так что формальный подход к живой русской речи фактически обречен на провал (были, к примеру, попытки построить модель, описывая язык не статистически, а с помощью системы правил).
Михаил Хитров:
– Методы формальной грамматики отлично работают, когда от системы хотят получить ответ на определенный вопрос: количество возможных вариантов ответа небольшое, и их можно задать заранее. Такие грамматики применяются в ЦРТ при создании простых диалоговых систем, например, для распознавания в автоматических телефонных контакт-центрах (IVR – interactive voice response).
Для распознавания спонтанной речи (например, диалога) формальные грамматики не применимы. Мы используем гибридные классовые языковые модели, в которых слова объединяются сначала по некоторым признакам (часть речи, например, или объектная принадлежность – название городов, имена людей), а затем среди выделенных классов определяются статистические зависимости.
Описанный Хитровым «смешанный» подход к построению языковых моделей до некоторой степени сближает компьютерное восприятие языка с человеческим. Ведь нам для того, чтобы «считать», по крайней мере, часть смысла слова, не обязательно знать его – мы во многом ориентируемся на его морфологию, то есть строение. Для иллюстрации этого явления один из титанов отечественного языкознания, академик Лев Щерба, еще в 1930-х годах предложил фразу, как будто взятую из произведений Льюиса Кэрролла: «Глокая куздра штеко будланула бокра и кудрячит бокрёнка». Здесь корни всех слов заменены на абсолютно бессмысленные сочетания букв. Однако это не мешает нам пребывать в уверенности, что куздра – это, как минимум, она, а бокр и бокренок находятся в родстве.
Позднее, правда, нашлись желающие «подловить» академика: «Закусочная турка нагло обманула казака и дурачит казачонка» – с тем, кто здесь «она», все уже не так очевидно. Чтобы это понимала и языковая модель, ей, как и акустической, приходится обучаться – на текстовых корпусах, содержащих более миллиарда словоформ. Все приходит с опытом. Даже к машине.


Бородатые лингвистические анекдоты призваны не только повеселить читателя, но и еще раз продемонстрировать, какая пропасть лежит между всем объемом языка как живой системы, отражающей сознание его носителей, и возможностями современной вычислительной техники. Так, тестовая версия системы распознавания речи, разработанной в ЦРТ, сейчас способна оперировать словарем в несколько сотен тысяч слов.
Впрочем, мост через эту пропасть можно строить с двух сторон: увеличивать число слов, которые «знает» система, и уменьшать количество тех, что могут быть использованы. В коммерческих целях речевые технологии сейчас идут именно таким путем. Например, в США вовсю применяются системы распознавания для введения данных в медицинские карты. Понятно, что такой «распознавалке» не нужно осваивать весь Оксфордский словарь, да и идиомы во врачебных диагнозах встречаются нечасто.
«Центр речевых технологий», хоть и «метит» в универсальное распознавание речи, для ускорения процесса и повышения его эффективности тоже использует специализацию словаря, но не действующую «по умолчанию», а адаптивную. Для этого в систему включен блок определения темы разговора.
Михаил Хитров:
– Если тема меняется во времени (например, распознаются записи радио или телевидения), то применяются классификаторы, построенные с использованием так называемой теории data mining (дословно с англ. «добыча данных» – прим. автора) – автоматического понимания. Для каждого слова оценивается вероятность принадлежности к определенной теме. Получив результат распознавания речи на обобщенной языковой модели, мы определяем наиболее вероятную тему, и затем, с уточненной языковой моделью, повторяем распознавание.
Кроме того, словари систем распознавания ограничивают не только тематически, но и, если можно так выразиться, жанрово. Сегодня с компьютером, вне зависимости от цели, лучше общаться на языке деловой прозы. Ей, в отличие от прозы художественной, свойственна конкретность, детальность и логичность, а также развернутые синтаксические конструкции и точное употребление слов. Как ни крути, но пока, заговорив с техникой о «слезах первыя любви» или «смазанной карте будня», вы рискуете быть непонятым.


Попытки выведать у специалистов, каков же технический ключ к распознаванию речи, почти закончились «разжижением» гуманитарного мозга автора этого текста. Собственно, по словам Михаила Хитрова, универсальной «отмычки» здесь нет и быть не может:
– Распознавание речи объединяет в себе два подхода: стремление скопировать человека и применение формальных математических методов. Нельзя сказать, что распознавание работает на двух-трех ключевых технологиях. Лучшие комплексы объединяют в себе десятки больших и малых методов, позаимствованных из разных областей знания. Это искусственные нейронные сети, теория распознавания образов, математическая лингвистика, теория графов, методы интеллектуального анализа данных, математическая статистика, теория вероятностей, фонетика, цифровая обработка сигналов и т.д. Именно поэтому, хотя любой студент технического вуза способен за пару недель сделать простую «распознавалку», действительно качественные системы распознавания речи можно пересчитать по пальцам.
Кстати, ни о чем вам не напоминает этот синтез высоких технологий и человекообразности? Речь представляет собой один из механизмов человеческого мышления, выражение деятельности сознания, которое современная философия полагает практически равным по «емкости» с внешним миром. То есть полноценно понимать человеческий язык со всей его изменчивостью и разнообразием способен лишь тот, кто в свою очередь обладает сознанием. Проще говоря, развитие технологий распознавания речи напрямую ведет нас к созданию искусственного интеллекта. Хотя это уже совсем другая история, целая эпопея, конец которой теряется в туманных далях научного будущего. Ведь пока мы с трудом пытаемся заставить компьютеры освоить языковую реальность, а искусственный разум еще придется наградить и знаниями о мире, человеке и самом себе. Если быть терминологически точными, помимо языковых моделей понадобятся модели мира, пользователя и системы. Впрочем, есть вероятность, что прорыв в этой области не за такими уж высокими горами.
Хотя отечественную науку в последнее время принято больше ругать, чем хвалить, за решение проблемы общения между компьютером и человеком в России взялись всерьез. Так, в 2012 году в петербургском Университете информационных технологий, механики и оптики (СПбГУ ИТМО) при поддержке ЦРТ открылась кафедра «Речевые информационные системы», которая будет готовить уникальных для нашей страны специалистов в сфере речевых технологий. Потому кажется обоснованным оптимизм Михаила Хитрова:
– Тем, кто ждет от компьютера собственных суждений, придется повременить. Но постепенно количество удовлетворенных цифровым интеллектом будет расти. Кончится это тем же, чем и противостояние в шахматах между человеком и компьютером – когда-нибудь компьютер переспорит лучшего мастера риторики.


Хроника диалога
1952 – появилось первое устройство для распознавания речи, оно могло распознавать произнесенные человеком цифры.
1964 – на ярмарке компьютерных технологий в Нью-Йорке было представлено устройство IBM Shoebox, «понимавшее» 16 слов и цифры от 0 до 9.
Начало 1990-х – появились коммерческие программы по распознаванию речи: DragonNaturallySpeaking (детище компании Nuance, на сегодняшний день являющейся мировым лидером в этой сфере), VoiceNavigator.
1997 – создана русская версия DragonNaturallySpeaking под названием «Горыныч», поначалу ставшая сенсацией, но получившая дурную репутацию из-за низкой эффективности распознавания (около 30–40 процентов при условии тщательного проговаривания слов).


Опробовать речевые технологии бесплатно, не выходя из дома:
http://www.google.com/chat/voice/ – бесплатный интернет-сервис компании Google, поддерживает расшифровку голосовой почты и управление SMS.
http://voicefabric.ru/ – популярно о речевых технологиях, плюс тест компьютерного синтеза речи и создание голосовых открыток
http://rssradio.ru/ – виртуальный радиоприемник, при помощи синтеза речи озвучивает свежие новости с российских информационных порталов


Это новость от журнала ММ «Машины и механизмы». Не знаете такого? Приглашаем прямо сейчас познакомиться с этим удивительным журналом.

Наш журнал ММ