Журнал «Компьютерра» №36 от 04 октября 2005 года - Компьютерра (хорошие книги бесплатные полностью TXT) 📗
Если разработчики, занимающиеся синтезом речи, начинали с копирования человеческого голосового аппарата и только потом разработали систему компилятивного синтеза, «собирающую» нужные слова из обрывков фонем, то системы распознавания речи имеют мало общего с тем, как распознает речь человеческий мозг. Скрытые модели Маркова, которые стали применять для распознавания в 1970-е гг., оказались эффективным средством для поиска нужных фонем, но они не являются панацеей и не способны решить все проблемы распознавания речи. Собственно говоря, у современной науки весьма смутные представления о глубинных процессах, отвечающих за распознавание речи в нашем мозге, так что делать какие-то выводы о качестве систем распознавания мы можем лишь потому, что есть задачи, которые им совсем не под силу. А не под силу им вот что:
Они не умеют автоматически распознавать язык диктора. Любой человек, хоть раз слышавший итальянскую речь, скорее всего, узнает ее, услышав снова (при этом он может не иметь ни малейшего представления о самом языке). Машина так не умеет, она применяет заложенную в нее языковую модель, независимо от того, на каком языке с ней говорит человек.
Они не умеют выделять речь по-настоящему. Качество распознавания в шумном окружении падает чуть ли не вдвое, но дело даже не в этом. Главным средством борьбы с шумами являются механизмы подавления, которые эффективны далеко не всегда. Сосредоточиться на речи собеседника, отсеяв все остальные звуки, как необязательные для распознавания, и уж тем более выделить речь одного человека из диалога система не может;
И даже распознают они не очень хорошо. Мы с вами легко поймем общий смысл сказанного и большинство слов, даже если у нашего собеседника очень сильный акцент. В то же время систему распознавания, заточенную под сравнение элементов фонем, наш гипотетический иностранец вполне может довести до виртуального самоубийства.
И, наконец, самое главное. Хотя при распознавании используются элементы синтаксического и семантического анализа, нужно признать, что машины из того, что мы им говорим, ничегошеньки не понимают.
— Ты говорил с ним? — переспросил Форд. — Что значит — ты говорил с ним?
— Ничего особенного. Мне было очень скучно и грустно, поэтому я подошел и подключился к выходному порту его компьютера. Я разговаривал с его компьютером довольно долго. Я открыл ему свой взгляд на мир, — сказал Марвин.
— А он что? — спросил Форд.
— Он покончил с собой, — ответил Марвин и зашагал к «Золотому Сердцу».
— Вавилонская рыбка, — тихо заговорил «Путеводитель вольного путешественника по Галактике», — маленькая и похожая на плотву, является, вероятно, самым причудливым созданием во Вселенной.
Даже если отвлечься от задачи построения разумных интерфейсов, то машинному пониманию нетрудно найти практическое применение. Собственно говоря, качество машинного перевода сегодня таково, что буквально вопиет о потребности в технологии, которая позволит компьютеру переводить текст, понимая его смысл. Публикаций о качестве современного машинного перевода в «КТ» было более чем достаточно, поэтому на забавных аберрациях, возникающих при переводах туда-сюда-обратно, мы останавливаться не будем.
Хотя нет, на одной все-таки остановимся. В 50-х гг. прошлого века область машинного перевода считалась весьма многообещающей. Казалось, еще чуть-чуть — и машины не то что прозу, поэзию будут переводить. Американское правительство не жалело денег на исследования и не жалело бы, наверное, до сих пор, если б не удосужилось в середине 60-х проверить, что же все-таки получилось у ученых. Результаты оказались обескураживающими: комиссия, состоящая из лингвистов, теоретиков ИИ, психологов и исследователей, непосредственно занятых разработкой систем машинного перевода, пришла к очень неприятному для всей индустрии выводу, полностью исключив возможность полезного применения существующих или дальнейших разработок в обозримом будущем. Справедливости ради, упомянем, что еще в 1959 году один из основоположников теории машинного перевода Бар-Хиллел опубликовал «Отчет о современном состоянии машинного перевода в США и Великобритании», в котором признавался, что поставленная цель (возможность перевода произвольных текстов без участия человека) представляется ему недостижимой не только в ближайшей перспективе, но и вообще. В качестве примера беспомощности систем перевода Бар-Хиллель приводил небольшой отрывок, с которым не справилась ни одна разработка:
Little John was looking for his toy box. Finally, he found it. The box was in the pen. John was very happy.
Камнем преткновения, конечно, было слово pen. Все «переводчики» наивно перевели, что коробка Джона нашлась в «ручке». В данном случае «pen» уместнее переводить как сарай (или — раз уж Джон был маленьким — возможно, это детский манеж), но, чтобы выбрать верное значение из словаря, машина должна иметь представление о контексте. И о том, чем сарай отличается от ручки, а ручка — от коробки. Другими словами, для качественного перевода компьютер должен быть оснащен не только лингвистической информацией о языках, с которыми он работает, но и колоссальным массивом данных, не имеющих никакого отношения к лингвистике.
Несмотря на резко урезанное финансирование, работы над системами машинного перевода не сошли на нет, хотя романтики, конечно, поубавилось. Стало понятно, что алгеброй поверить гармонию удается далеко не всегда. А пионеры МП всерьез рассчитывали загнать всю необходимую для перевода информацию в прокрустово ложе математической модели — исторически теория МП выросла из криптографии, так что лингвисты подключились к разработкам позже математиков (и, надо сказать, порой доводили их до белого каления).
За последние сорок лет в теории и практике МП произошли значительные изменения. Во-первых, на смену системам типа direct пришли системы типа transfer. Если первые переводили в лоб (и качество получалось во многих случаях соответствующее), то вторые действуют хитрее. Они сначала воссоздают нужную структуру предложения для языка, на который осуществляется перевод, и только после этого начинают собственно переводить. Сейчас в моду вошли системы типа interlingua, когда для «переноса» используется промежуточное звено — то есть при переводе, допустим, с английского на французский сначала осуществляется перевод на внутренний язык (К) и только потом — перевод уже на французский. Изменение это не качественное, а структурное. Такой подход повышает вероятность возникновения ошибок в не самой безошибочной технологии (по сути, система делает два перевода там, где мог быть один). Однако создавать системы interlingua гораздо проще — достаточно единожды разработать универсальный внутренний язык, а потом просто-напросто описывать правила перевода для языковых пар (английский — универсальный, французский — универсальный и т. д.). Непосредственные языковые пары (английский — французский) нам уже не нужны, так что благодаря interlingua мы имеем абсолютно всеядный переводной движок, к которому нужно лишь подключать разработанные модули.
Впрочем, в моду interlingua вошли пока только в лабораториях. Ни одной коммерческой системы, построенной по этому принципу, до сих пор нет.
Развитие шло и в другом направлении. От систем перевода «по правилам» начали переходить к статистическим моделям, потом — к самообучающимся система перевода, которые «тренируются» на внушительных корпусах параллельных текстов. Сейчас идут эксперименты с системами перевода, чьи лингвистические способности усилены базой знаний об окружающем мире.