Язык, речь и компьютеры

22 декабрь, 1999 - 13:04Андрей Зубинский

Программных продуктов, попадающих в той или иной степени в категории, созвучные с названием статьи, существует немало. Могущественная IBM в свое время даже попыталась (и эту попытку нельзя назвать безуспешной) интегрировать речевой интерфейс в «настольную» операционную систему (речь идет об уходящей в прошлое OS/2), давно «оперились» и лидеры рынка речевых технологий (например, Dragon Systems).

Несмотря на все достижения, речевые технологии в массовых применениях не прижились: та же самая IBM уже «за бесплатно» раздает программистам библиотеки своей системы ViaVoice, Philips предоставляет опять же бесплатные «довески» для речевого управления броузерами, а уж устройства для распознавания слитной речи типа Executive Desktop 720/730 этой компании кажутся вообще исключительной экзотикой...

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

Язык, речь и компьютеры

Таково состояние «речевой» индустрии сегодня. А вот что нас ждет завтра? Естественно, эта статья не претендует на «лавры» серьезного аналитического исследования, а многие моменты покажутся читателям, склонным к «технооптимизму», субъективными.

ЧЕЛОВЕК И КОМПЬЮТЕР

«Седьмой, седьмой, отвечай, седьмой, Я тебя не слышу, почему молчишь?».
Аукцион

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

Этот симбиоз противоречий даже при работе с самой «речепродвинутой» системой OS/2 открывается пользователю не сразу. Сначала срабатывает готовность внутреннего подчинения «технооптимизму», затем выясняется, что командовать голосом довольно утомительно, и применение речевого интерфейса ограничивается до возможности запуска одной-другой программы, а впоследствии эта возможность используется только для ее демонстрации «непродвинутым» друзьям. Последняя стадия тривиальна — речевой интерфейс отключается навсегда. Особо рьяные (на первом, оптимистическом этапе) поклонники «киберпанкизации всего» (извините за дикий неологизм), успешно минуя промежуточные стадии, непосредственно переходят к финалу этого процесса «общения» благодаря еще не получившему названия быстро наступающему аналогу туннельного синдрома (симптомы: сведенные челюсти, одеревеневший язык и головная боль).

Но это все технико-физиологические «цветочки». «Ягодок» еще нужно дождаться или, что разумнее, до них следует додуматься. Упомянутая «инопланетность» стиля командного общения с «речеориентированным» ПО (по крайне мере, в существующем исполнении) — не плод фантазии автора. Даже самые уморительные персонажи из «Швейка» ужаснулись бы, послушав десяток минут интенсивное «командование» машиной. Почти идеальными способностями к уютному существованию в такой «дружелюбной» среде обладает, пожалуй, только знаменитый градоначальник Глупова Брудастый: его язык, ограниченный до двух, никак не связанных с обстоятельствами фраз «Разорю!» и «Не потерплю!», безукоризненно подходит для человеко-машинного интерфейса.

Итак, надводная сторона айсберга нам уже видна: с одной стороны, необходимы новые концепции интерфейсов, с другой — готовность человека к принятию этих концепций. Оптимальный вариант — видимое отсутствие интерфейса. Вы просто обращаетесь к компьютеру, спрятанному в элементы интерьера кабинета, в совершенно традиционной (в человеческом понимании) форме, например: «Голубчик, а подготовьте-ка мне сводку о... и напечатайте в трех экземплярах, пожалуйста».

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

Существует целый раздел компьютинга, объединяющий лингвистов, филологов, программистов, математиков и Бог знает кого еще, под названием NLP (Natural Language Processing, Обработка Естественных Языков). Не мудрствуя лукаво, автор «вооружился» огромным «Отчетом о состоянии исследований в технологии естественных человеческих языков» (Oregon Graduate Institute, USA) и после нескольких часов знакомства с достижениями формальных методов синтаксического разбора предложений языков разных групп добрался наконец до раздела «Семантика». Здесь (как и предполагалось) обнаружилась большая «черная дыра»: теории семантики натуральных (человеческих языков фактически не существует. Да это и понятно — семантическая основа языка изменчива и формируется как историей человечества на всем протяжении его существования, так и историей жизни каждого отдельного человека. Так что прорывов в «светлое будущее» говорящих и понимающих естественную речь компьютеров в ближайшем (а возможно, и в отдаленном) будущем ожидать не приходится.

ХЛИВКИЕ ШОРЬКИ...

Идиома на иностранном для всех языке заимствована для названия автором из бессмертного творения Л. Кэрролла не случайно: речь пойдет почти что о них, шорьках (если помните, это — помесь штопора и хорька). В нашем случае странному гибриду соответствует такое, не менее странное, явление культуры, как синтетические языки. Явление это назвать новым нельзя, и у многих при его упоминании сразу же возникают ассоциации с достаточно хорошо известными языковыми проектами Воляпюк (Volapuk, Шлейер, 1880 г.) и Эсперанто (Заменгоф, 1887 г.). Даже несмотря на реликтовую древность (по временным меркам сегодняшней информатики), пальма первенства этим языкам не принадлежит: в 1734 г. уже был изобретен навсегда забытый «интерязык» Карпорофилус (Carporophilus), и, наконец, в 1668 г. Дж. Уилкинз (J. Wilkins) придумал искусственный язык с многообещающим названием «Настоящие письмо и философский язык» («Real Character and Philosophical Language»). В «докомпьютерную» эпоху в синтетических языках видели потенциально мощный и необходимый инструмент межнационального общения. Количество проектов взрывоподобно возрастает с начала XIX столетия. Причины, вызвавшие этот «языковой взрыв», очевидны: во-первых, именно к этому времени в достаточной степени развились транспортные средства, во-вторых, человечество стояло на пороге Первой мировой войны...

С искусственными языками связано много исторических курьезов, которые из-за нашего упорного нежелания хоть иногда оглядываться назад повторяются и сейчас. Например, в свое время Эсперанто объявлялся «будущим всего человечества» с неменьшим азартом, чем сегодня Internet. И уж совсем трудно сказать, не покажется ли нашим потомкам идея создания синтетического языка для общения с компьютером такой же забавной историей. А идея эта сегодня, можно сказать, витает в воздухе. С одной стороны, кажется весьма логичным не заниматься семантической проблемой с использованием несовершенных «понимающих автоматов» (автор придерживается правила не применять термина «искусственный интеллект» по причине неопределенности последнего), а переложить ее «на плечи» куда более совершенного «устройства» — человеческого мозга. С другой — также кажется, что решения проблемы с помощью такой «уловки 22» не добиться. Итак, по порядку.

В 50-х годах нашего столетия доктор философии американец Джеймс Кук Браун (J. K. Brown) придумал, а в 1960 г. описал в журнальной статье («Scientific American», июнь 1960 г.) новый язык, названный им

Loglan. Название, образованное из двух слов «логика» и «язык» (logic и language), точно определяло свойства Loglan: в основе языка лежат формальные способы (алгоритмы) создания новых слов из изначально заложенных в базовый словарь. К слову, базовый словарь Loglan достаточно компактен: в нем всего чуть более тысячи слов, служащих для языкового представления самых общих и важных концепций.

Очень интересное свойство Loglan, эталонное в концепции языка, — максимальная нейтральность по отношению к существующим человеческим культурам, подкрепленная фонетикой, гарантирующей однозначное выделение слов в слитной речи. Тем, кому последнее предложение не кажется очевидным, поясню: естественные языки страдают этой «болезнью». Например, в быстром разговорном английском фразы «ice cream» («мороженое») и «I scream» («я кричу») звучат одинаково и в отрыве от контекста их различение не всегда под силу даже уникальным распознавательным способностям человеческого мозга.

Но, пожалуй, самое интересное в Loglan скрывается в причине его создания (в естественной жизни причины всегда интереснее следствий, «синтетический» случай с Loglan не является, на взгляд автора, исключением из этого правила). Оказывается, кроме автора статьи, в мире еще предостаточно скептиков, два из них — Уорф и Сепир (Whorf, Sapir) — выдвинули очень интересную гипотезу о том, что язык в некоторой степени определяет как сами мыслительные процессы, так и способность людей к ним. В соответствии с гипотезой Уорфа—Сепира (ГУС) можно так изменить язык, чтобы он выступал в роли стимулятора мышления, и именно для проверки этого утверждения и создавался Loglan. Трудно сказать, достигнуты ли на многолетнем пути развития языка существенные результаты в доказательстве ГУС, но проект, начатый одним человеком, привлек внимание сотен специалистов — лингвистов, филологов и, наконец, исследователей в области компьютинга. Для Loglan существует программа формального грамматического разбора (написание которой существенно облегчалось доказанной синтаксической недвусмысленностью языка), фонетическая структура языка облегчает распознавание слитной речи (весьма нетривиальной и в общем виде не решенной для естественных языков).

С такой серьезной «идеологической поддержкой» решение задачи построения программы, позволяющей общаться на Loglan с компьютером, кажется очевидным — раз относительно просто реализуется система распознавания речи, раз есть формальное программное представление механизма грамматического разбора, значит, остается добавить к этому «всего-лишь» какой-либо механизм представления и порождения понятий (знаний) и... Увы, «всего-лишь» в предыдущем предложении не случайно взято в кавычки — там, где начинается семантика (а начинается она именно после грамматического разбора), там заканчивается оптимизм. Хотя у настоящих logli (так по-логлански называются изучающие этот язык) оптимизма не занимать — логланское сообщество, несмотря на малочисленность, продолжает развивать язык (к слову, очень интересный, мелодичный и по-своему красивый), и более трети сообщества принадлежит к категории специалистов из компьютерной области. Один из витков развития Loglan привел к появлению нового языка, получившего название Lojban. В целом, все свойства Lojban унаследовал от своего предшественника, а основные различия между языками заключаются в их возрасте: 35 лет истории Loglan, третья редакция (или, по-компьютерному, — версия) языка против десятка лет развития Lojban. Заинтересовавшиеся этими языками (автору, например, очень понравился Loglan) могут получить исчерпывающую информацию, учебные пособия и программы грамматического разбора (ориентированные на пользователей ОС Unix поклонники массовых «настольных» ОС могут применять их только при наличии PCклонов программы yacc) на сайтах www.halcyon.com/loglan и www.animal.helsinki.fi/lojban/.

Несмотря на все «семантические» сложности, Loglan и Lojban представляют собой весьма перспективные проекты, способные пусть не материализоваться в работоспособный речевой интерфейс, но оказать существенное влияние на развитие технологии человеко-машинного взаимодействия. Семантической проблеме, в связи с ее высокой сложностью, можно посвятить отдельное объемное исследование, но есть один очевидный (по крайней мере, с точки зрения автора) момент, который нельзя оставить без внимания. Речь идет о смысловом содержании базового словаря. И Loglan, и Lojban основываются на человеческих (что естественно) концепциях, т. е. на множестве понятий, отражающих наш, человеческий мир. Эти понятия, несмотря на некоторую степень абстракции, все равно остаются «историческим усреднением» наших же, человеческих, особенностей — физиологических, психологических и пр. Нажим на слово «человеческий» в этих предложениях не случаен — семантическая проблема (или разрыв) возникает именно по причине попыток «отрыва» сформированного таким образом базового словаря от органов чувств, физиологических особенностей и, наконец, от понятия «я» (если хотите — эго). В соответствии с такой логикой «совсем синтетический» язык для общения с компьютером должен содержать в базовом словаре только понятия, не чуждые обеим сторонам — человеку и компьютеру. Решений у этой проблемы может быть два: или «расширить мировоззрение» программы (компьютера) до уровня базового словаря «человеческого синтетического» языка, или довести уровень «синтетичности» языка до уже совершенно нечеловеческого. Первое — задача далекого будущего, к успешности решения которой автор относится весьма скептически, потому как эта «игра» заканчивается патовой ситуацией: «для устранения разрыва необходимо устранить разрыв». Второе решение уже существует и именуется языками программирования.

РЕАЛИИ

«Внешне это проявляется в том, что жизнь становится все скучнее и скучнее, а люди — все расчетливее и суше».
В. Пелевин. Дух Че Гевары

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

Именно так случилось с языком клингонов — злобных врагов, нещадно уничтожавшихся лет этак 10–15 назад на зеленых экранах дисплеев ЕС-7920 в игре Star Trek. Когда кинокомпания Paramount ставила экранизацию «Звездного Пути», для большей достоверности «кино-клингонов» лингвистом Марком Окрэндом (Mark Okrand) был создан синтетический «инопланетный» язык, названный Klingon. Именно на нем говорят соответствующие персонажи фильма Star Trek: The Next Generation («Следующее поколение»), ему посвящены несколько книг, в том числе ставшая «клингонской» классикой «Путь клингона» (The Klingon Way). А в Сети даже есть Институт клингонского языка (www.kli.org), насчитывающий более тысячи зарегистрированных членов — представителей тридцати земных национальностей. Еще в 1996 г. на клингонский язык была переведена пьеса Шекспира «Гамлет», в настоящее время ведется интенсивная работа по переводу «Макбета». И, естественно, Библии. Так что в новых эпизодах «Звездного Пути» клингоны еще порадуют нас хорошей поэзией.

Несмотря на старательное отстранение Klingon от всех известных земных языков (что необходимо для убедительного «инопланетного» звучания), ему далеко до совсем экзотического и совершенно не пригодного для землян Fith. Это — язык существ с мышлением, основанным на принципах стека LIFO (Last In First Out, «первым вошел — последним вышел»), или, на программистском сленге, — для тех, у кого «FORTH в голове» (о языке программирования и виртуальной стековой машине FORTH автор рассказывал в одной из статей). И если вы любите FORTH, то стоит попробовать «на вкус» Fith — язык на первый взгляд элементарен, FORTH-реализация программы грамматического разбора для него примитивна, зато научиться понимать Fith — дело непростое. Полное описание языка находится на сайте www.langmaker.com/fith.htm и занимает всего... одну страничку.

Примеры Klingon и Fith, ожидающего своих экранных персонажей, подтверждают, по крайней мере, что в бизнесе главное — наличие товара. Покупатель же найдется даже и на инопланетный язык.

В еще более «приземленной», но приносящей и более ощутимые доходы сфере потребительских товаров и услуг, искусственным языкам пока делать нечего. Зато нашлись неплохие применения для фраз языков естественных. Разработчикам интерактивных игрушек и компьютерных аксессуаров могут пригодиться микросхемы компании Sensory (www.sensoryinc. com), обладающие более чем пристойными показателями: независящее от языка распознавание с обучением до 15 фраз длительностью не более 3 с и вероятностью правильного распознавания 0,99 (именно эти микросхемы используются в интерактивном мишке Koby — последователе Furby от MGA Entertainment). Низкая стоимость, малое энергопотребление, отсутствие привязки к конкретному языку и многофункциональность (распознавание/синтез речи) открывают очень интересные перспективы применения таких чипов в самой разнообразной бытовой технике, для проектирования и производства которой не нужны миллиардные инвестиции. А если от устройства требуется способность говорить много и вразумительно, есть отличный и сравнительно недорогой чипсет RC8650 компании RC Systems (www.rcsys.com), реализующий полнофункциональную систему преобразования «текст—голос» с неожиданной для состоящего всего из двух микросхем набора функциональностью — знакомство автора с этим чипсетом подтвердило как все заявленные производителем показатели, так и исключительное удобство построения даже говорящих не по-английски (правда, с акцентом) приборов.