Шрифт:
Интервал:
Закладка:
Принцип целенаправленности говорит о том, что мы не пытаемся исходить из того, что видим или анализируем. Мы поступаем ровно наоборот - априори высказываем гипотезу и пытаемся ее проверить. Наша система изначально является активным субъектом данного акта взаимодействия. Она не просто воспринимает данные на входе, но, получив объект для восприятия, пытается угадать, что это такое, или опровергнуть выдвинутую гипотезу. Причем это система с обратной связью - позитивные или негативные результаты запоминаются, система адаптируется и самообучается.
Представьте, что вы вошли в чулан. Темнота. Света практически нет, только какой-то слабый лучик пробивается. Вы почти ничего не видите, но чувствуете, что слева от вас что-то прошмыгнуло, проскочил движущийся объект. Через доли секунды вы уже знаете точно, что это была кошка. Как это произошло? Как вы догадались, ведь вы ее не видели?
Традиционная система распознавания взяла бы ту явно недостаточную графическую информацию, попыталась бы сделать на ее основании какие-то выводы - и у нее, конечно, ничего не получилось бы, потому что кошки не было, вы не видели ее. Но человек действует иначе. Сам не осознавая этого, он выдвигает гипотезы (как ограничивается круг возможных гипотез, это отдельный большой вопрос). Возможно, это собака, думает человек. Но если это собака, то тень должна была быть крупнее. Кроме того, собака должна издавать соответствующие звуки. Значит, эта гипотеза неверна. Переходим к следующей. Возможно, это мышь? Тоже нет, не подходит по размерам. А если это кошка? Кошка подходит. Это кошка!
Но для выдвижения последней гипотезы у человека должны быть определенные знания о кошке. Он должен знать, что у кошки четыре ноги, хвост. Он должен знать, что кошка мяукает. И он начинает спрашивать себя, был ли у этой предположительной кошки хвост? Ног человек не видел, но хвост видел. Звук она издавала такой, какой издает кошка? Да, такой. Значит, из всех гипотез наибольший вес имела гипотеза, связанная с кошкой, и теперь мы убеждены, что эта гипотеза верна. И когда мы в следующий раз столкнемся с подобной ситуацией, первой нашей догадкой будет «кошка».
Именно этот подход используют живые системы в процессе восприятия: дети, животные, люди и так далее. Мы его достаточно успешно применили в FineReader, но он имеет настолько общий характер, что мы применяем его для анализа естественных языковых предложений, в процессе извлечения смысла. Мы проводим (начинает загибать пальцы) лексический, морфологический, синтаксический, семантический, то есть полную цепочку анализа естественного языкового массива.
А каким образом достраивается внутренняя модель знаний о мире? Все эти знания вводятся…
- …экспертами. Да, у нас большой объем ручной работы. Правда, часть нам удалось автоматизировать; к счастью, есть методы, позволяющие снизить нагрузку на экспертов. Но рассказывать об этом я пока не могу.
Конечные пользователи и сами смогут дообучать систему. Продукты такого рода должны быть модифицируемы и самообучаемы - иначе они теряют смысл. Как конкретно это реализовано - тоже говорить еще рано.
Не может ли случиться так, что в результате ошибочно заложенных знаний стандартом станет какое-нибудь неверное представление?
- Ну, это общая проблема человечества. Это и сейчас происходит. Возьмите Википедию, один человек ошибся, тысяча человек поставила ссылку. Это жизнь. В словаре Ожегова упоминается, что правильно говорить «фо,льга». А все говорят «фольга,». Это, конечно, проблема, но она общего характера и к нашей системе прямого отношения не имеет.
А для написания программ вашу систему можно применять? Это ведь во многом более простая задача, чем обработка естественного языка.
- В каком-то смысле, да. Есть определенная грамматика, есть смысл и нужно синтезировать этот смысл в правилах заданной грамматики. Сходство имеется, но до конкретной реализации, думаю, еще далеко. Это все равно что сравнить распознавание букв и распознавание отпечатков пальцев. Базовые принципы и там и там одни и те же, но конкретика совершенно разная, разные модели знаний о предмете и т. д. Наш подход может быть применен для построения подобных систем, но это будет совершенно независимый продукт.
Слушаю и понимаюОтчаявшись получить хоть какой-то намек, на что будет похож первый продукт на базе NLC, мы пробуем подойти к вопросу с другой стороны.
Какие задачи подтолкнули к созданию этой системы?
- Падение Вавилонской башни.
То есть все же лингвистические?
- Дело не только в языках. Дело в знаниях. Количество информации, порождающейся ежедневно, ежесекундно, растет в геометрической прогрессии, и очень скоро нас ожидает если не комбинаторный взрыв, то, по меньшей мере, значительные проблемы с доступом к этой информации. Но это только иллюстрация. То, что человечеству необходимы системы, позволяющие накапливать знания и обеспечивать к ним формальный доступ, совершенно очевидно. Возьмем, например, проблему распознавания слитной речи без настройки на голос диктора. В ее практической необходимости никто не сомневается. Можно ли сделать это с помощью компьютера? Ответ очень простой. Если проанализировать звуковой сигнал, записанный на этом диктофоне, то обнаружится, что семьдесят процентов изначальной информации было утеряно в процессе записи. А при этом уровне шума - все восемьдесят, а то и девяносто, местами. Тем не менее расшифровать наш разговор можно будет на 99 процентов, если не больше. Почему? Как вы можете достичь такого результата, если этих данных физически нет в сигнале?
Потому что вы не распознаете, а домысливаете. Точно так же во время нашего разговора ухо, как любой микрофон, теряет часть информации на входе. Собственно, мозг распознает только тридцать процентов информации, все остальное ему приходится додумывать на основе априорных знаний о языке, смысле и знании предмета (прагматических знаний). Проверить это довольно просто. Если бы я сейчас продиктовал вам предложение по-армянски, вы бы смогли правильно записать только тридцать процентов букв, хотя армянские буквы в целом похожи на русские (здесь имеется в виду не схожесть алфавитов, а фонетическая схожесть. - Прим. ред.). И мы понимаем, что задача распознавания слитной речи - в меньшей степени задача распознавания, а в большей - задача понимания.
И сколько времени пройдет между выпуском NLC и выходом первой системы распознавания слитной речи?
- Много. К сожалению, устная речь сильно неформализована, в ней зачастую не соблюдаются законы семантики, так что один этап анализа практически выпадает. Также сложно применять синтаксический анализ: неполные, оборванные предложения, где заканчивается одно предложение и начинается другое - непонятно. Плюс интонационные нюансы. Тонкостей здесь масса. Так что о работающей системе распознавания слитной речи говорить пока рано. Но довольно быстро появятся системы, которые распознают речь не так хорошо, как люди, но во много раз точнее, чем сейчас. Они будут успешно работать в ситуации, когда озвучивается письменная речь - например, при чтении доклада. Наш с вами разговор или, скажем, телефонный разговор или непринужденная беседа на бытовые темы людей, которые хорошо друг друга знают и понимают, что называется, с полуслова - здесь уже сложнее, конечно.
А эксперименты «Яндекса» и Google в области семантического анализа близки к тому, что делает ABBYY в проекте NLC?
- Google и «Яндекс», конечно, понимают важность таких технологий, и я абсолютно убежден, что к моменту появления NLC на рынке появится некоторое количество технологий, заявляющих примерно то же направление. Но у меня внутреннее ощущение, что подход ABBYY, которая потратила на разработки десять лет, существенно глубже. Я вполне могу допустить даже то, что в первые годы технологии Google, «Яндекс» и других фирм могут оказаться даже эффективнее наших, потому что они настраиваются на решение конкретной задачи, четко поставленной, с понятным результатом. Они не пытаются решить проблему в принципе. Но в дальней перспективе нам неизвестны чужие разработки, которые настолько глубоко и последовательно пытаются решить задачу понимания в общей постановке.
Я могу сказать, что еще пару лет назад весь этот проект для нас оставался очень рискованным вложением. У нас не было уверенности, что это вообще будет работать. Но сейчас есть основания надеяться на лучшее.
На самом деле, Давид рассказал нам немного больше, однако он сам был не уверен, чем стоит делиться, а чем - нет. В результате довольно значительная (и самая, пожалуй, интересная) часть разговора в этот материал не вошла.
Задачки и задачи- Я не являюсь менеджером компании, я не контролирую ни одного человека напрямую. У этого проекта есть научные консультанты, руководитель разработки, огромная команда, целый этаж сидит. Как и когда мы будем объявлять об этом - во многом зависит от их готовности. Я же в компании появляюсь раз в неделю. Да и то хожу на занятия китайского, которые проводит мой отец, поэтому не всегда обладаю всей необходимой информацией для принятия такого решения.
- Журнал «Компьютерра» №34 от 20 сентября 2005 года - Журнал Компьютерра - Прочая околокомпьтерная литература
- Журнал «Компьютерра» №41 от 08 ноября 2005 года - Журнал Компьютерра - Прочая околокомпьтерная литература
- Журнал «Компьютерра» №43 от 22 ноября 2005 года - Журнал Компьютерра - Прочая околокомпьтерная литература
- Журнал «Компьютерра» N 6 от 13 февраля 2007 года (674) - Журнал Компьютерра - Прочая околокомпьтерная литература
- Цифровой журнал «Компьютерра» № 10 - Журнал «Компьютерра» - Прочая околокомпьтерная литература