Фантастика и реальность
«…Робот остановился.
— В чем дело, Джон, прошу вас? — спросил Аллан Керн.
Особенно жестко и холодно прозвучал скрипучий голос робота:
— Скорость прибывания потока превосходит два дюйма в минуту. Уровень огненной жидкости достиг нижнего сустава ног. Скорость передвижения замедлена. Дальнейшее передвижение с грузом опасно для моих механизмов.
— Скорее! Надо выключить его систему самосохранения, иначе он сбросит нас в лаву! — закричал Керн.
— Я вынужден освободиться от груза, джентльмены, — очень вежливо проскрипел робот.»…
Печально заканчивается этот драматический диалог между героями повести А. Казанцева «Внуки Марса».
Робот, которого в повести называют железным Джоном, имел неиссякаемые ядерные источники энергии, могучую электрическую мускулатуру. Память его электронного мозга содержала пять миллионов ячеек (цифра, пять лет назад казавшаяся фантастической). Джон, с фантастической скоростью перебирая многочисленные варианты, быстро находил оптимальные решения в различной обстановке и, конечно же, умел говорить.
Собратья железного Джона встречаются во многих книгах. Некоторые немногословны, знают две-три фразы: «Здравствуйте. Шляпу, пожалуйста! Уходя, гасите свет. До свидания». Другие болтливы. Слушают, что говорят люди, задают вопросы, рассказывают придуманные ими анекдоты, над которыми сами же и хохочут.
Голоса у роботов обычно двух сортов: либо тонкий, дрожащий, как у Буратино, либо скрипучий бас. Говорящие и слушающие автоматы помогают героям фантастических романов водить автомобили, переводят устную речь с одного языка на другие, безошибочно и молниеносно печатают текст речи оратора.
…Щелкнула кнопка включателя, и в притихшем зале послышалось негромкое шипение и затем гортанный мужской голос произнес: «Внимание, говорит Машина. Прослушайте отрывок из пьесы Симонова «Фронт».
…«— Товарищ генерал! К вам посыльный из штаба армии!
— Зовите!
— Вам пакет, товарищ командующий»…
Затем машина, желая показать свое умение произносить трудные звукосочетания, произнесла: «Жирные сазаны ушли под палубу, испуганная ворона взлетела на крышу». И в конце под одобрительный гул аудитории запела: «Широка страна моя родная»…
Это уже не фантастика. Искусственная речь звучала летом 1965 года у нас, в конференцзале Института математики в Новосибирске, где собрались представители почти всех организаций Советского Союза, которые работают над созданием слушающих и говорящих автоматов. Среди присутствующих были инженеры, математики, физики, физиологи, психологи и лингвисты.
Что же заставило ученых различных специальностей во всех концах страны в течение многих лет упорно работать над этой проблемой? Не есть ли это работа над заказом далекого фантастического будущего? Нет, автоматы, умеющие понимать речь и говорить, нужны уже сейчас и с каждым годом становятся все более необходимыми. Нужны они в устройствах связи. Если бы на входном конце линии связи стояла машина, распознающая речь, то по линии можно было бы передавать не речевой сигнал, а лишь условные коды различных звуков, что-нибудь вроде азбуки Морзе. На выходном конце говорящая машина, получая кодовые обозначения звуков, воссоздавала бы речь. При этом линия загружалась бы гораздо меньше, чем при передаче по ней естественного речевого сигнала. По одной паре проводов можно было бы передавать в сотни раз больше телефонных разговоров, чем сейчас.
Пульты управления многих автоматизированных систем буквально забиты сотнями кнопок, тумблеров, приборов, сигнальных лампочек и экранов. Глаза оператора не успевают следить за миганием лампочек, показаниями стрелок и картинками на экранах. Частичная замена этой зрительной информации на слуховую резко разгрузила бы внимание оператора. Самые важные сигналы, преобразованные машиной в устные команды или сообщения, оператор не пропустил бы, даже отвернувшись от пульта управления. Вместо того чтобы щелкать включателями и нажимать кнопки, человек смог бы отдавать приказы машине устно.
А там, где пульт управления не сильно перегружен? Может быть, проще и дешевле в случае надобности добавить на этот пульт десяток кнопок, чем машину, распознающую десять слов?
Оказалось, что и это не всегда лучше. Ленинградский ученый Г. М. Зараковский установил, что человек, отдавая распоряжение машине кнопками, делает ошибок намного больше, чем отдавая команду голосом: язык работает быстрее и точнее, чем руки.
Сейчас проектируются вычислительные машины, которые будут выполнять миллиарды операций в секунду. Общаться с такой машиной с помощью перфокарт и перфолент, как это делается сейчас, — это все равно, что управлять сверхзвуковым самолетом с помощью вожжей и кнута. Человек должен иметь возможность руководить машиной легко и быстро, привычным для себя путем, в частности, формулировать задачу устно и получать от машины устные ответы.
Говорить и слушать-чего проще?
В чем же трудности распознавания машиной речи? Ведь для человека слушать, понимать и говорить на родном языке — занятие, проще которого, кажется, не придумаешь.
Но это действительно только кажется. Если бы мы умели, замедлив бег времени, читать сигналы в нервной системе человека и следить одновременно за состоянием многих мышц, то увидели бы примерно такую картину.
Человек говорит. В это время из коры головного мозга к органам речи по нервным волокнам устремляются импульсы-команды: «Включить голос! Губы сначала вместе, потом открыть!» Тотчас мышцы грудной клетки стали вытеснять из легких воздух. Натянулись голосовые связки, прерывая этот поток воздуха: родился звук. Резонируя во рту под куполом верхнего неба, завихряясь под языком, звучащий воздушный поток упирается в сжатые губы, которые в следующее мгновение откроются, и мы поймем, что человек произнес «ма». Повторил еще раз — получалось «ма-ма». Этот человек еще мал. Позже Он научился управлять не только губами и голосом, но и языком и перегородкой между носовой полостью и ртом («небной занавеской»). И тогда мозг будет посылать более сложные команды:
— «Включить голос. Губы округлить. Кончиком языка коснуться передней части неба».
— Ро…
— «Голос включен. Небная занавеска поднята. Губы вначале вместе, потом открыть и округлить».
— …бо…
— «Голос выключить. Кончиком языка коротко коснуться верхних зубов»…
— т…
Колеблются частицы воздуха около рта, образуя звуковые волны. Эти колебания достигли наших ушей, и мы услышали:
— Робот…
Ленинградским ученым Л. А. Чистович и В. А. Кожевникову, которые приоткрыли завесу над таинствами образования и восприятия речи, пришлось столкнуться с многочисленными загадками природы. На помощь ученым пришла сложная экспериментальная установка, которая позволяет знать, в каком положении в данный момент находятся губы, язык и небная занавеска, включен или выключен голос, какое давление воздуха обеспечивают легкие, сколько миллисекунд проходит с момента прихода звука до того момента, когда человек начинает повторять этот звук, какую форму имеют звуковые волны, и многое другое. Тонко поставленные опыты и тщательная обработка полученных результатов позволили ответить на многие интересные вопросы: отдает ли мозг приказы о каждом звуке, о слоге или целом слове; какими единицами человек воспринимает речь — словами, слогами или отдельными звуками. В том и другом случаях чаша весов сильно склоняется в пользу слогов. Причем слогов открытых. Говоря, например, слово «банка», человек произносит слитно два таких элемента: «ба-нка, а не «бан-ка», а слово «робот» расчленяется мозгом именно на «ро-бо-т», а не «ро-бот».
Очень не просто научить машину говорить. Но еще труднее научить ее воспринимать речь. Взгляните на рис. 1. Извилистая линия (осциллограмма) показывает форму звуковых волн. Все три кривые сняты при произнесении слова «два». Первый диктор говорит четко: вначале идет участок 1, соответствующий звуку «д», потом участок (2) звука «в» и, наконец, участок (3) громкого звука «а».
Второй диктор произнес это слово более лениво. Медленнее, чем следовало бы, нижняя губа двигалась навстречу верхним зубам для произнесения звука «в». В результате между «д» и «в» появился короткий гласный звук, похожий на «э»: «дэва».
Неточное движение нижней губы третьего диктора привело к тому, что звука «в» так и не получилось. Кривая между «д» и «а» скорее похожа на звук «у». Если бы мы более внимательно слушали его, то услышали бы не «два», а «дуа». Но мы знали, что дикторы должны были сказать «два», а не «дэва» и не «дуа», поэтому эти неточности произнесения оставили без внимания и во всех трех случаях услышали «два». Мы можем пренебречь и еще большими искажениями речи, так как знаем словарный состав языка, грамматические правила, тему разговора, особенности говорящего человека, особенности помещения, в котором идет беседа, и многое, многое другое.
В этом и лежит главная сложность обучения машины пониманию речи. Чтобы поставить ее в равные с человеком условия, нужно вложить в ее память те же знания о языке и об окружающем мире, которые помогают человеку воспринимать устную речь. Такая задача современной науке не по плечу. Пока приходится рассчитывать на то, что машина будет понимать слова, не зная ни языка, ни жизни— только по виду осциллограмм.
А осциллограммы одного и того же слова сильно меняются в зависимости от того, кто говорит— мужчина, женщина или ребенок, Иванов, Петросян или Сидоренко, от того, как говорит— быстро или медленно, громко или шепотом, спокойно или нервничая, в каких условиях говорит— в попе или в шумном цехе, в концертном зале или в кабинете космического корабля. Одинаковую осциллограмму одного и того же слова можно встретить не чаще, чем двух тигров с одинаковым рисунком полос на шкуре…
Вот в таких трудных условиях предстоит работать машине.
С чего начинать?
Такой вопрос сразу же встал и перед нами. К сожалению, все исследователи проблемы были вынуждены начинать с укрощения своих желаний. Очень скоро становилось ясным, что пытаться научить машину распознавать речь без словарных ограничений пока рано, возможности современных машин для этого еще недостаточны. Многие лаборатории стали разрабатывать автоматы, узнающие лишь небольшое количество слов. Другие пытаются распознавать не слова целиком, а отдельные звуки, из которых состоит речь— фонемы. Третьи берут за основу элемент крупнее, чем фонема, и меньше, чем слово — слог. Трудно сказать, кто выбрал более короткий путь к цели. Фонемы привлекают количеством — их мало. В русском языке обычно различают 40— 50 фонем. Но они очень неустойчивы: в обычной речи мы произносим их с большими искажениями: «Здрасте, Ван Ваныч…» Кроме того, трудно научить машину определять, где кончается одна фонема и начинается другая.
Слова искажаются не так сильно. Но их — огромное количество. Обычно мы используем в разговоре на общие темы 2— 3 тысячи слов.
Слогов значительно меньше, чем слов. Кстати, сколько их в русском языке до последнего времени было неизвестно. Сотрудники Института математики в Новосибирске В. Н. Елкина и Л. С. Юдина с помощью электронной вычислительной машины установили, что разных русских слогов всего около 5 тысяч. Но обычно мы пользуемся гораздо меньшим их числом.
Но слоги все же не так устойчивы, как слова. Да и отделять один слог от другого в тексте тоже не так просто. Поэтому слогами занимаются главным образом японские конструктора машин, тем более, что в японском языке насчитывается всего несколько сотен слогов.
Те, кто взял за основу фонемы, понимают трудность задачи, но заведомо идут на это. Ведь если машина будет надежно распознавать все фонемы, то проблема распознавания речи будет в основном решена. И они считают, что их путь к цели короче, пусть даже он лежит через пустыню, лишенную оазисов. Те же, кто занимается целыми словами, полагают, что их путь лучше: среди песчаных холмов-гипотез они надеются встретить желанные оазисы — промежуточные результаты. Ведь машины, распознающие даже 10— 20 слов, нужны уже сейчас.
Что же дальше?
Итак, что распознавать: слово, слог или фонему — выбор сделан. Хотя у каждой группы ученых этот выбор свой. Но пока неясно— как распознавать. На что нужно обращать внимание? Что должна измерять аппаратура в речевом сигнале? Громкость? Длительность? Частоту? И с какой точностью? Можно, конечно, попробовать использовать и то, и другое, и третье, причем каждую величину мерить с разной точностью. Но тут нас ждет тупик. Чтобы перепробовать вслепую все возможные варианты даже с помощью быстродействующих электронных машин, сотен лет будет мало. Значит, нужно сократить поле поиска.
На помощь пришла бионика. Нужно изучать слуховой анализатор человека, узнать, как человек воспринимает речевые сигналы. Если окажется, например, что ухо измеряет громкость неточно, то не нужно будет строить и аппаратуру для точного измерения громкости. Психоакустика даст ответ на вопрос о том, на что реагирует ухо — на частоту звука или на разность частот, на длительность или на разность длительности и т. д.
Создавая автомат, понимающий речь, мы пытаемся моделировать одну из сторон деятельности мозга. Ясно, что мозг сложен. Но, может быть, для распознавания речи используется незначительная доля мощности мозга. Насколько сложна та система, которую мы хотим моделировать?
Бионика должна дать ответ на эти и «а многие другие важные вопросы. Опыты ленинградских ученых Л. А. Чистович, В. А. Кожевникова, Б. В. Богданова, москвича Н. А. Дубровского и других дали интересные результаты. Оказалось, например, что ухо — инструмент очень тонкий — при распознавании сигналов речи свои возможности использует далеко не полностью.
Точно так же мозг, эта супермашина, несбыточная мечта современных кибернетиков, ведет себя в некоторых случаях как очень примитивный автомат. Например, человеку дают прослушать и запомнить несколько разных по тембру звуков. Если этих звуков немного (до 5), человек узнает их безошибочно. Если же количество звуков увеличить до 7, слушатель начинает делать ошибки. И не потому, что разница между звуками уменьшилась. Нет. Берутся те же прежние 5 звуков и добавляют к ним еще 2 совершенно непохожих. Просто эта задача, совсем нетрудная для автомата, для мозга оказывается не по плечу. Однако рано радоваться. Будь мозг действительно так примитивно устроенным, он не справился бы с задачей восприятия огромного многообразия звуковых образов речи, музыки, шумов и т. д.
Может быть, мозгу удается в этом море звуков выделять какие-то группы, близкие по определенным признакам? Эти группы он объединяет в группы второго уровня и так далее. Различение же небольшого числа групп на каждом этаже звуковой иерархии — задача уже несложная.
Деля звуки на группы и на иерархические уровни, мозг действует по принципу римских императоров: «разделяй и властвуй». Но работа его изучена еще очень слабо. И по поводу таких гипотез физиологи пока философски изрекают: «Все может быть».
Опираясь на психоакустические опыты, старейшина советских речевиков Л. А. Варшавский и его сотрудники предложили свой «полосный» метод распознавания звуков речи. Речевой сигнал, который содержит звуки разные по частоте (т. е. по высоте тона), как бы процеживается через гребенку электрических фильтров. Каждый фильтр пропускает через себя не все частоты, а только те, на которые он настроен: один фильтр хорошо «слышит» бас, другой — сопрано.
Человеческое ухо — это тоже целая гребенка фильтров, только в этой гребенке не 4— 5 зубцов, а около 30 тысяч. Поэтому устройство Л. А. Варшавского моделирует ухо с очень сильно ухудшенной чувствительностью к частотам. Но для различения речи даже такая простая модель вполне пригодна. Кроме разделения по частотам, используются еще и другие признаки звуков, например, их громкость и длительность.
У тех, кто распознает слова, имеется больший выбор признаков. Они могут использовать все, что используется для фонем, и, кроме того, очень ценные данные о том, как изменяется речевой сигнал на протяжении слова. Для того чтобы отличить друг от друга некоторые слова, вовсе не нужно точно улавливать каждый звук в них — достаточно знать общую структуру слова: его длину, число слогов, место ударения и т. д. Вы можете просто «просвистеть» или «прогудеть», например, слово «че-ты-ре» и слово «один» — и все равно слушатель поймет, где было «четыре» и где «один». Информация об отдельных фонемах и информация о структуре слова в целом, о динамике его развития дополняют друг друга и облегчают распознавание слов. Динамику слова изучают у нас в Институте математики в Новосибирске, в Киевском институте кибернетики и в других местах Советского Союза.
Поиск продолжается
Итак, теперь уже ясно, что распознавать, и ясно, какие признаки нужно использовать. Но пока неясно, что с этими признаками делать. Теория вероятности, теория статистических решений, теория множеств и другие новейшие направления математики дадут ответ на этот вопрос. Разработаны разные процедуры распознавания. Вот одна из них. Представьте себе, что вы плохо знаете учеников своего класса, но вас выбрали физоргом и нужно выяснить, кто в какой секции хочет заниматься.
Есть секции — футбольная, волейбольная, плавания и художественной гимнастики.
Берете список и читаете первую фамилию. Мальчик или девочка? Если мальчик, то спрашиваете: футбол, волейбол или плавание? — Футбол. Следующий. Девочка. Тут выбор между волейболом, художественной гимнастикой и плаванием. Плавание! И так до конца предложенного списка.
Так же поступают и со звуками, только «секций» здесь больше — столько же, сколько и звуков: 40— 50.
На вход устройства поступает неизвестный звук. Первый блок определяет: гласный он или согласный. Пусть это был согласный. Второй блок дает ответ на вопрос: звонкий или глухой? Предположим — глухой. Следующий блок определит — шипящий или нешипящий, потом — взрывной или невзрывной. Если звук согласный, глухой, шипящий и невзрывной, то остается сделать выбор между «секциями» «С», «Ш», «Щ» и «Ф». Такая расфасовка на все более мелкие группы делается до тех пор, пока не будет получен определенный ответ: это был звук «Ш». Такая процедура называется последовательной. Есть и параллельные процедуры: заранее в «памяти» устройства запасаются эталоны, т. е. перечень самых характерных признаков каждого звука. Пришедший неизвестный звук досконально обследуется (измеряются признаки) и затем делается сравнение его качеств со всеми эталонами. Среди эталонов находится такой, на который гость похож больше всего. Тогда принимается решение: это был звук такой-то.
Однако и у этого способа много еще неясных мест. Какие признаки звука и сколько признаков использовать для построения эталонов? Как быть, если разные эталоны оказываются очень похожими друг на друга? Как уменьшить в этом случае ошибку, не очень усложняя аппаратуру? Над всем этим работают наши математики и инженеры.
Электронные собеседники
Ответы, пусть пока еще неполные, на вопрос: что, по каким признакам и как распознавать, уже есть. Что уже сделано? Есть ли машинки, понимающие речь, и как они работают? Есть такие машинки. Правда, часто это уменьшительное слово не совсем точно определяет предмет. Трудно называть «машинкой » шкафы, набитые электронной аппаратурой. Это настоящие машины, вид которых производит внушительное впечатление. Можно ли подойти и потолковать с одной из них? Давайте попытаемся. Подходим к микрофону и говорим: «Испуганная ворона взлетела на крышу». Бодро стучит пишущая машинка, подключенная к выходу распознающего устройства. На бумаге одна за другой появляются буквы: «и— и— е— ф— б— у щ— у— г— а— а— н— м— а— й— а— э— в— s— о— а— р — о— у— о— м— а— а»… Нет, пожалуй, с таким собеседником не поговоришь: обычную слитную речь лучшие из них распознают с надежностью 50— 60 процентов. Хорошо это или плохо? Не спешите говорить «плохо»: если бы человек не знал языка и смысла слов и фраз, то есть работал в тех же условиях, что и машина, то неизвестно, намного ли лучше бы он распознал поток фонем. Нельзя сказать, что все на этом пути исчерпано. Сторонники фонем не теряют надежд.
Электрические генераторы создают колебания различных частот. Смесь этих колебаний, поданная на громкоговоритель, звучит по-разному в зависимости от того, как скомбинированы звуки от различных генераторов. Задавая «программу» каждому генератору, можно заставить синтезатор речи произносить отдельные звуки, слова и даже фразы. Голос, правда, не очень радует слух, но то, что говорит машина, уже можно легко понять. Устройство, сделанное С. В. Голубцовым и В. И. Битюцким, может говорить и даже петь песни. Однако предварительное программирование такого «концерта» пока еще процедура очень трудоемкая.
А нельзя ли пойти другим путем? Сделать механическую модель речеобразующего тракта— легких, языка, губ, ротовой и носовой полостей, голосовых связок — и управлять ими по тому же принципу, что и мозг: «включить голос, губы открыть, язык приблизить к верхним зубам»:
— з— з…
Можно. Просто не нашлось еще у мельца, который бы взялся смастерить такую машинку. Нелегко это — сделать язык и губы. Зато управление таким синтезатором было бы гораздо проще, чем его электронным коллегой.
Будем надеяться, что найдется «Левша» и для этой «подковы».
Пройдет немного времени — может быть 10, а может и 5 лет, и вы сможете по телефону продиктовать задачу электронной вычислительной машине и услышать в трубке ее ответ, заказать автоматическому библиографу справку по интересующим вас книге, вопросу, продиктовать статью, заявив, что текст вам нужен в трех экземплярах, напечатанный через два интервала…
Железные Джоны перестанут быть фантастикой.