В отличие от полярников я, конечно, в любой момент волен покинуть затвор — пойти в гости, напиться, наесться и наболтаться всласть, но после гостевания я долго прихожу в себя, мучительно восстанавливаю состояние погруженности, состояние, когда из-под клавиатуры рождаются живые люди или чудовища, непослушные, малопредсказуемые, зато интересные. Потому томлюсь взаперти. Тем желаннее получить хорошее, умное и доброе письмо: общение на бумаге дается мне гораздо легче устного. Есть время подумать, а главное — помолчать.
В мой почтовый ящик, как и в любой другой, чего только не бросают. Фильтры стараются корреспонденцию рассортировать, бросить чепуху в особую корзинку, но с живым секретарем сравниться пока не могут.
На днях я собрался с духом и просмотрел несколько сот писем из папки «spam». Уведомления о крупных лотерейных призах, просьбы разместить в стране миллиарды Мобуты Сесе Секо, Саддама Хусейна и Германа Геринга, предложения купить дачку на Лосином острове или в Майами… Но не было на сей раз, как, впрочем, и на протяжении десятилетия пользования электронной почтой, писем вольнодумных, бунтарских и подстрекательских.
Странно. Очень странно.
Русский человек, стоит ему очутиться вдали от спасительного надзора власти, нет-нет да и начнет обличать, возмущать и звать на баррикады. Князь Курбский, князь Долгорукий, Герцен, Бурцев, Ульянов, Бронштейн и иже с ними, упиваясь действительной или мнимой безнаказанностью, строчили памфлеты на отцов-благодетелей, избывая таким способом мучительную боль за бесцельно прожитые годы. Затем верные люди несли злокачественные письма в Россию, порой расплачиваясь головой, в лучшем случае — пронзенной посохом стопой. Десятки курьеров пересекали границы с печатной продукцией, упакованной в фальшивые бюсты, чемоданы с двойным дном, выдолбленные табуретные ножки… В Отечестве же ушлые гимназисты, студенты, курсистки и сочувствующая интеллигенция гуртом расклеивали гнусную клевету на заборах, продавали сознательным рабочим по двугривенному за номерочек (средство пополнить партийную кассу) или разбрасывали с галерки Большого Театра во время представления «Жизни за царя».
Жандармы сбивались с ног, пытаясь пресечь и вразумить, но больно хлопотное выходило дело. С появлением радио хлопоты возросли многажды, а толку-то, глуши не глуши — все едино. «Есть обычай на Руси ночью слушать Би-Би-Си». Британская радиокорпорация приплетена для рифмы, слушали всё. Но не все: требовались определенные усилия — настроить приемник на нужную частоту, настроить сознание на очернительский лад, потом ворочаться, думать, негодовать…
Сегодня в почтовый ящик послания летят мегабайтами, но никакого подрыва устоев в них не содержится. Оно и глупо, наверное, подрывать, когда кругом довольство и процветание, да человеческая натура злонравна, ищет затей во вред себе и окружающим. Но почему-то современные карбонарии пренебрегают спамом как инструментом пропаганды.
Вспоминается диалог из рассказа «Серебряный»:
— Обратите внимание на странное поведение собаки в ночь преступления, Ватсон.
— Собаки? Но она никак себя не вела!
— Это-то и странно, — сказал Холмс.
Подражая Великому Сыщику, я купил пачку «Беломора» — ну нет у меня трубки! — и закурил, надеясь на дедуктивный метод плюс систему Станиславского
Дело оказалось на три папиросы.
Версия первая: политическая оппозиция не додумалась до спам-пропаганды. Или брезгает ею. Не верю! Уж если я додумался… А брезгливых в политике не бывает по определению. Денег нет? Какие там деньги, снял в какой-нибудь Патагонии или Сьерра-Леоне квартирку, посадил идейного спаммейкера, выделил толику долларов и все. Да она, оппозиция, на водку тратит больше! Следовательно, не в оппозиции дело.
Версия вторая: прокламации рассылают всем, кроме меня и моих хороших знакомых. Опять не верю! Откуда карбонариям знать, что я больше всех люблю господина Пэжэ? А хоть и знают, все равно должны пытаться распропагандировать. Или хоть позлить.
Версия третья: и додумались, и деньги есть, и специалисты-спамеры высокого полета задействованы, и рассылают мегабайтами по всей зоне ru, но охранительные органы, заботясь о чистоте нравов и покое обывателей, научились отделять зерна от плевел, и научились так хорошо, что никакая интернационалка просочиться в мой ящик не может. Сомнительно? Но Великий Сыщик учит: отбросьте невозможное, и тогда оставшееся, сколь бы маловероятным оно не казалось, и будет ответом.
ТЕМА НОМЕРА: О пользе разговоров
Честно говоря, я нахожусь в некотором затруднении, потому что тема, которая несколько месяцев назад виделась мне самой простой из всей серии про интерфейсы, неожиданно оказалась самой сложной. И, в общем-то, получилась совсем о другом.
Дело в том, что третью тему мы планировали посвятить диалоговым (conversational) или даже мультимодальным (поскольку использование новых подходов вовсе не исключает полезность старых) интерфейсам. Переход от GUI к свободному общению с компьютером представляется вполне естественным: во-первых, большинству из нас проще высказать свою мысль вслух, чем записать ее. Во-вторых, современные компьютерные интерфейсы (GUI и командная строка) задают пользователю жесткие ограничения, которых можно было бы избежать, научив компьютер понимать нас «с полуслова».
Так, к примеру, можно было бы, валяясь на диване, приказать компьютеру запустить MP3-проигрыватель с нужной песней. Или попросить найти в сетевой библиотеке интересные книжки — «выбери, мол, на мой вкус» (на основании анализа загруженных ранее книг). Или, чуть продрав глаза, уточнить у Outlook список встреч на сегодня.
Мы, конечно, понимали, что многие из этих задач решить непросто, но в последние лет пять о диалоговых интерфейсах писали так уверенно, что, казалось, будто они появятся не сегодня-завтра. Смущало лишь то, что никаких принципиальных прорывов в базовых технологиях, которые необходимы для построения такого рода интерфейсов (синтез и распознавание речи, понимание компьютером естественного языка, умение поддерживать диалог) за те пять лет не произошло. Но если все действительно так, зачем тратить силы и время на разработку интерфейсов, которые невозможно воплотить во всей полноте? Разумно ли обсуждать интерьер, если еще и фундамент не достроен?
Как выяснилось, многие из разработчиков не склонны отвлекаться на такие мелочи, как отсутствие или отставание ключевых технологий. Может, они и правы. В конце концов, в таком деле, как проектирование интерфейсов, есть масса тонких моментов, никоим образом не привязанных к конкретной реализации. В общем, проектировщикам диалоговых интерфейсов есть чем заняться. Но нас больше интересует, в каком состоянии находятся сегодня технологии, без которых построить диалоговый интерфейс не удастся.
Или — когда компьютер, наконец, научится слушать, говорить и понимать.
Ничего никому не скажу?
Первым нагнулся к уху головы сам дон Антоньо; он спросил ее тихо,
но так, однако же, что все его услышали:
— Заклинаю тебя, голова, волшебною силою, в тебе заключенною:
скажи мне, какие у меня сейчас мысли?
И голова, не разжимая губ, ясно и отчетливо,
так, что все ее расслышали, ответила ему:
— Мыслей я не читаю.
При этих словах все обмерли, особливо когда удостоверились,
что во всей комнате, а равно и возле самого столика с волшебною головою,
нет живой души, которая могла бы за нее ответить.
Мигель де Сервантес Сааведра, «Хитроумный идальго Дон Кихот Ламанчский»
Прежде чем описывать состояние технологий, важных для построения диалоговых интерфейсов, отметим, что все интересующие нас направления разработок — «невезучие». На каждое из них в свое время возлагались большие надежды, которым не суждено было сбыться. У каждого есть своя собственная сверхзадача, которая до сих пор не решена (и неизвестно, будет ли решена в обозримом будущем). Тем не менее исследования в этих областях нельзя считать тупиковыми или бессмысленными. Они не только дали множество полезных побочных результатов. Ключевые технологии тоже вполне работоспособны и востребованы — просто не так широко, как предполагалось вначале.
Впрочем, синтез речи в нашей защите не нуждается. Это, пожалуй, самая состоявшаяся и распространенная из речевых технологий. Возможно, потому, что у нее самая долгая история.
Первые «говорящие машины» пытались делать еще в XII—XIII веках, однако в Европе тех времен подобная деятельность рассматривалась как еретическая, все опытные образцы безжалостно уничтожались, и ни одно достоверное описание подобной машины до наших дней не дожило. Тем не менее молва широко разнесла слухи об успешных экспериментах Альберта Великого и Роджера Бэкона, спровоцировав шутников всех мастей на создание фальшивых «говорящих голов». Чудесные устройства представляли собой хитроумные механизмы, «отвечающие» на вопросы слушателей (на самом деле, отвечал на вопросы человек, который был либо спрятан в самом устройстве, либо находился в соседней комнате, вещая с помощью сложной системы труб). С одной из таких конструкций и встретился герой знаменитого романа Сервантеса.
В конце XVIII века конструкторы научились делать настоящие «говорящие машины», механически имитируя человеческий голосовой аппарат. Правда, считать издаваемые ими звуки «речью» можно с натяжкой. Так, представленные в 1770 году Санкт-Петербургской Академии резонаторы Кратценштайна могли произнести лишь пять гласных звуков. В арсенале построенной спустя двадцать лет машины фон Кемпелена было уже двадцать согласных, что теоретически позволяло оператору «произносить» целые фразы. Но вот понимал ли их кто-то, кроме изобретателя, — вопрос. По чертежам это не определишь, но достаточно сказать, что даже электронный синтезатор Voder, показанный на Нью-Йоркской торговой выставке 1939 года, «говорил» крайне невнятно (звуковые примеры можно послушать в сети: www.cs.indiana.edu/rhythmsp/aSa/parta.html.
Если оператор Voder’а должен был управлять устройством в реальном времени (что совсем не просто — на обучение операторов уходило несколько месяцев), то сегодняшние электронные системы синтеза речи в операторе не нуждаются, поскольку заняты чтением заранее подготовленных текстов. Их так и называют — системы TTS (text-to-speech).
В силу вышесказанного любая современная электронная система синтеза речи состоит из двух основных блоков. Первый отвечает за преобразование орфографического представления в фонетическое — ведь, как правило, слова пишутся не так, как слышатся, и больше того: зачастую прочтение того или иного слова регулируется не правилами языка, а сформировалось исторически (почти как в анекдоте про «вильку» и «тарельку», которые пишутся без мягкого знака и понять это невозможно, нужно запомнить). Кроме того, система осуществляет синтаксический (а иногда и семантический) анализ предложения для того, чтобы верно расставить интонационные акценты (просодическое оформление). В результате на выходе мы имеем подробнейшую инструкцию, как нужно читать предложение.
Описанное преобразование зависит в большей степени от языка и во всех системах реализуется примерно по одним и тем же принципам. А вот когда дело доходит непосредственно до синтеза речи, возможностей для маневра у разработчиков гораздо больше.
Как правило, современные системы синтеза не пытаются в духе ранних экспериментов воспроизвести работу голосового тракта человека. Выяснилось, что проще (и результат получается лучше) «собирать» речевые сообщения из предварительно записанных диктором фрагментов. Для некоторых применений нужен совсем небольшой (в несколько десятков слов) словарь, поэтому в качестве «кирпичиков» в таких системах используются отдельные слова и даже фразы (даже создание фонетического представления орфографического текста для таких систем необязательно — список фраз, которые они могут прочесть, невелик и зачастую достаточно однозначного сопоставления орфографического написания сохраненному в библиотеке сэмплу). Такие синтезаторы называются целостными. Системы, способные читать произвольные тексты, обычно являются компилятивными синтезаторами, то есть составляют из отдельных фрагментов нужные слова и собирают их в предложения.
Библиотека звуковых фрагментов составляется с помощью приглашенных дикторов, которые зачитывают специальным образом составленные тексты (главная задача при составлении таких текстов — охватить все возможные фонемы, которые встречаются в языке). Потом записи разбиваются на элементарные составляющие (иногда вручную, иногда автоматически — в этом случае необходим модуль распознавания речи), и каждому из фрагментов ставится в соответствие фонема.
Сложность реализации компилятивных синтезаторов заключается в том, что фонема — как любая абстракция — недостаточно полно описывает звуки, которые мы можем услышать в естественной речи. Одна и та же фонема может звучать немного по-разному, в зависимости от того, какие звуки ее предваряют и какие следуют за ней (коартикуляционный эффект), кроме того, необходимо учитывать интонационную составляющую (просодические эффекты).
Поэтому, строго говоря, записанные диктором сообщения обычно разбиваются не на фонемы, а на составляющие более низкого уровня (дифоны, аллофоны и т. д.), а помимо сопоставления отдельно взятого фрагмента фонеме в библиотеку записывается информация о сопутствующих коартикуляционных и просодических эффектах. Разработчиков интересует не только вхождение звука в ту или иную фонему, но и его громкость, длительность и высота, из-за чего количество помещенных в библиотеку «кирпичиков» намного превышает количество фонем (их в любом языке не больше нескольких десятков, а вхождений в хорошей библиотеке может быть несколько тысяч). Иногда, чтобы упростить разбиение и не раздувать библиотеку, реализацию просодических эффектов возлагают на DSP, но синтезированная таким способом речь звучит ненатурально, тогда как хорошие системы синтеза речи говорят «почти как люди».
В ранних системах синтеза нужные сэмплы выбирались с помощью предварительно описанных правил, но уже в 70-х гг. прошлого века повсеместно стали применяться более эффективные методы, позволяющие быстро отыскать нужный фрагмент. Но просто сложить вместе найденные сэмплы — мало. На месте склейки будут слышны явные артефакты, «бульканье». Поэтому перед тем, как выдать слушателю результат, система синтеза сглаживает переходы между различными фрагментами.
Если все сделано правильно, на выходе мы услышим слегка монотонную, но вполне внятную и интонационно размеченную речь. К сожалению, полностью избавиться от эффектов склейки удается не всегда, а машинные интонации — хотя формально придраться вроде бы и не к чему — отличаются от человеческих (наверное, слишком уж они правильные). Делают ли системы синтеза ошибки? Конечно, особенно на незнакомых словах (см. табл. 1). Но у людей довольно гибкая система восприятия, и в большинстве случаев мы способны сразу же догадаться, какое слово машина прочитала неправильно, так что подобные ошибки нельзя считать критичными.
Сверхзадачей систем синтеза речи является, конечно, речь, не отличимая на слух от человеческой. Возможно ли это в рамках используемых сегодня моделей? Справедливости ради, признаем, что единого мнения на этот счет нет, к тому же с каждым годом появляется все больше сомнений, что эта задача имеет какое-то практическое значение. Потребители хотят знать, когда они говорят с компьютером, а когда — с человеком. И легкий «нечеловеческий» акцент как безошибочный маркер их, по большому счету, вполне устраивает.
— Тихо — сказал Форд. — Послушай, это может быть важно.
— Ва… важно?
— Это вогонский капитан делает объявление с корабельного узла.
— Ты хочешь сказать, что так вогоны разговаривают?
— Слушай же!
— Но я не понимаю по-вогонски!
— Тебе и не надо. Просто засунь рыбку в ухо.
Дуглас Адамс, «Путеводитель вольного путешественника по галактике»