Техника - молодёжи 1984-12, страница 30•ч » СЕЗАМ, АНАТОЛИЙ ВАЙСМАН, инженер «...А что будет, если я тоже скажу: «Сезам, отворись!» — подумал он. Откроется дверь или нет? Попробую! Он набрался храбрости, вдохнул побольше воздуха и во весь голос крикнул: «Сезам, отворись!» И тотчас же дверь распахнулась...» «Тысяча и одна ночь» ОТВОРИСЬ! Не правда ли, заманчиво, подобно герою старой сказки, одной фразой открыть заветную дверь? А представим себе, что нашему слову повинуются роботы, наши команды понимают автомобили, экскаваторы, электровозы, многочисленные станки! Мы что-то диктуем в микрофон, а печатающее устройство выдает готовый текст... Нас понимает и слушается любое устройство! Но, увы, все это пока лишь игра воображения. А вместе с тем проблема автоматического распознавания человеческой речи с каждым днем становится все насущнее. Мы живем в эпоху НТР, когда ЭВМ проникают буквально повсюду — с их помощью перерабатываются огромные массивы информации. Вычислительная техника в самых разных видах тесно сопрягается с машинами и механизмами. Станки с ЧПУ, роботы и роботизированные системы не могут уже обойтись без вычислительных блоков. Вся эта армия счетно-решающих устройств требует общения с нею, иначе она не сможет работать. Да, но на каком языке отдавать команды? С самого начала развития вычислительной техники встал вопрос создания емкого, экономичного и в то же время простого языка, на котором человек смог бы общаться с порожденными им электронными бы стросчетчиками. Первое решение было простым: с ЭВМ надо говорить на языке цифр, отдавая ей команды в специфическом цифровом коде. И все, казалось бы, шло хорошо, да возникло небольшое осложнение: на составление про граммы, работающей в течение, допустим, десяти минут реального времени, уходили десятки, а то и больше человеко-дней. Одна небольшая ЭВМ типа «Минск-22» требовала для обслуживания усилий множества шифровальщиков-про граммистов, которые переводили программы, составленные на обычном, человеческом, а вернее, понимаемом человеком языке, в машинные коды. Стало ясно, что при такой постановке дела ЭВМ не высвобождает людей, а, наоборот, привлекает к себе ®се новые и новые, столь дефицитные умы. К тому же написанную на бумаге программу нужно было еще перевести яа машинный носитель — перфокарту, перфоленту, магнитную ленту, чем опять-таки занимались люди. Все это напоминало ситуацию, когда вокруг одного капризного дитяти суетятся десятки нянек, поскольку этот ребенок — вундеркинд. Как же быть? Появились специальные языки программирования: «Алгол», «Фортран», «Кобол», а впоследствии ПЛ-1М, в которых вместо цифровых кодов использовались уже самые обычные «человеческие» слова и арифметические знаки: «начало», «конец», «вычислить», «писать», «если», «идти», которые опять-таки предварительно писались на бумаге, а затем перфорировались. А как было бы удобно: тот же самый человек, который по сути своей работы связан с тем или иным устройством или отчетными цифрами, набирает номер телефона вычислительного центра, диктует в трубку необходимые сведения, а машина, распознавая их, складывает информацию «в память», да еще и переспрашивает, если не поняла чего-то... Итак, ввод информации «с голоса» — тот путь, который кардинально приблизит к нам пока еще очень отдаленную ЭВМ. Так почему же до сих пор нет «слышащих» и «понимающих» машин? Неужели уж так трудно научить ЭВМ различать такие простые слова, как «вперед», «назад», ♦ один», «два», «три», «четыре». К сожалению, мы до сих пор не знаем, за счет чего {как это ни парадоксально звучит!) люди, говорящие на одном языке, прекрасно понимают друг друга, несмотря на различия в дикции, произношении, интонации. Попробуйте сформулировать (то есть формализовать), как вы выделяете нужную информацию из, казалось бы, хаотического набора звуков, какими «формулами» при этом пользуетесь! Очевидно, распознавание осуществляется за счет того, что в речевом сигнале есть какие-то постоянные составляющие — определенные физические параметры и их соотношения (мы не берем в расчет дефекты речи), не зависящие от интонации при произношении одного и того же текста. Ученые называют это «фонетическим жодом». Наш мозг — 10 миллиардов нервных клеток с многочисленными связями между собой — с легкостью «нащупывает» этот код и дешифрует его; для него безразлично, говорит ли собеседник быстро или медленно, проглатывает ли окончания слов или растягивает их, произносит слова неправильно или неправильно ставит ударения... Но как научить машины понимать нашу речь? IB принципе при анализе любых сигналов всегда возникает вопрос о количестве информации. Если ее много, она труднее поддается обработке, хотя может содержать больше точных «сведений» об объекте; если мало — то может оказаться недостоверной. Самое лучшее — когда информация содержит минимум элементов, позволяющих выделить нужный сигнал. В этом смысле можно говорить, что фонетический код — это тот минимум информации, который необходим для распознавания речевого сигнала машиной, в какой бы форме ни производилась эта 28 |