11.02.2011 Сергей Андреев (президент и генеральный директор группы компаний ABBYY) о NLC |
Ученым удалось создать программу, которая позволит понимать сказанное и написанное на любом языке и наречииhttp://www.itogi.ru/hitech/2011/7/161939.html
Статус научного резидента инновационного центра «Сколково» в числе первых получила российская компания ABBYY, занимающаяся системами оптического распознавания текстов и машинного перевода. В Сколкове она намерена разрабатывать компьютерные системы, способные «понимать» тексты на различных языках и, следовательно, точно их переводить. О том, что российские ученые собираются противопоставить божьему наказанию, «Итогам» рассказал Сергей Андреев, президент и генеральный директор группы компаний ABBYY. |
— Сергей Геннадьевич, неужели можно научить компьютер понимать, о чем говорится в текстах, которые он обрабатывает? — Решить эту задачу научному миру хотелось уже давно, наша компания работает в этом направлении 15 лет. Речь идет о том, чтобы компьютерная система могла анализировать тексты, в частности, извлекать из них всяческие данные, факты, сведения, которые были бы полезны при решении разных практических задач. Например, для быстрого и точного перевода текстов с одного языка на другой. Системы такого типа появляются постоянно, правда, специализированные, «заточенные» на узкие задачи, а мы решили создать универсальную систему, способную работать с самыми разными текстами на разных языках. — За счет чего? — Дело в том, что, хотя люди разговаривают на разных языках и употребляют разные слова, они используют очень похожие системы понятий. Люди едят, спят, ходят. Вокруг них — здания, предметы мебели, животные, растения. Словесный аппарат, который нужен для выражения мыслей, чувств, эмоций, — разный, а система понятий, которые человек осознает, когда слышит определенные слова, едина. Человек кушает вне зависимости от используемого языка, понятно, о какой ситуации идет речь: есть еда, которую кладут в рот, а не в ухо, потому что если что-то положить в ухо — это другая ситуация, возможно, связанная с лечением. В принципе можно построить универсальную систему понятий, например, в виде математической структуры — дерева. Самые толстые ветви этого дерева соответствуют более универсальным понятиям, а тонкие ветви их уточняют и конкретизируют. Например, «движение» — это пласт понятий, который распадается на множество групп, детализирующих движение, скажем, по направлению, например вверх или вниз, или по цели движения, или по скорости и т. д. Самая тонкая веточка заканчивается листочком — конкретным словом на конкретном языке. Продвигаясь по дереву от толстых ветвей к листьям, мы получаем все более и более детализированные понятия. Возникает такое универсальное семантическое (связанное со смыслом) дерево понятий. — Конкретные понятия, например, «человек» и «стул» могут сочетаться друг с другом по-разному: человек может сидеть на стуле, а может переносить стул… — В результате анализа мы получаем структуру, которая связывает уже не слова определенного языка, а такие вот универсальные понятия. Она учитывает, что между «человеком» и «стулом» могут быть разные отношения. — Как это работает при переводе? — С помощью предложенной классификации любое слово из предложения на любом языке можно соотнести с определенной группой понятий. Возьмем, например, слово table. Дерево показывает, что это слово попадает на несколько веточек дерева понятий: table как предмет мебели, table как таблица, table как вид коммуникации. Поскольку это все разные веточки нашего семантического дерева, необходимо снять неоднозначность, то есть понять, какой именно table имеется в виду. Для этого проводится полный синтаксический разбор предложения. Это довольно сложная штука, если предложение длинное. Но с его помощью можно определить, каким образом связаны между собой отдельные слова в предложении, скажем, является ли одно по отношению к другому субъектом или объектом и вообще что с чем связано. Тогда мы понимаем, что table синтаксически сочетается со словом «сидеть», и делаем вывод, что в данном предложении table — это предмет мебели, а не таблица. А если бы оно сочеталось со словом «дискутировать», возникло бы предположение, что речь идет об обсуждении за круглым столом. Обработав таким образом все предложение, мы можем точно перевести его на другой язык, поскольку знаем, каким ветвям дерева принадлежат исходные слова, какие отношения их связывают в предложении и какие грамматические конструкции применяются в том, другом языке для того, чтобы выразить эти отношения. — Похожие исследования в сфере компьютерной лингвистики ведут разные компании в мире. Почему никто из ваших коллег не добрался до практической реализации такой идеи? — Сама идея полного семантического анализа существует очень давно. Но одно дело — идея, и совсем другое — ее инженерная реализация. Лишь сравнительно недавно компьютеры обрели современную вычислительную мощность, которая позволяет проводить полный синтаксический разбор целого сложного предложения. Раньше это делалось для отдельных кусочков предложений, которые затем «склеивались» в единое целое. Естественно, с потерей качества перевода, потому что, скажем, подлежащее и сказуемое могут оказаться далеко друг от друга, в разных кусочках, и потому при переводе могла потеряться их связь. Поэтому такой «кусочный» метод работает, но на простых предложениях. Если же предложение приходится делить на много частей, система правил синтаксического разбора таких конструкций быстро оказывается предельно запутанной и неработоспособной. Кстати сказать, рост вычислительной мощности и нарастание объемов информации, циркулирующей, например, в Интернете, вызвали к жизни еще один очень популярный подход к переводу — статистический. Действительно, когда у тебя под руками такое обилие информации, возникает соблазн опереться на образцы похожих текстов, уже переведенных ранее людьми. Эти так называемые параллельные тексты и составляют базу данных многих популярных систем машинного перевода. То, что оказывается максимально близко к заданному тексту, извлекается из базы и предлагается в качестве перевода. Главная проблема здесь в том, что качественных параллельных текстов существует не так уж много, несмотря на впечатляющую емкость Интернета. И хорошо покрывают они разве что сферу бытовой лексики и простых текстов. Над универсальной системой понятий и полного синтаксического разбора задумывались многие, но отступали перед колоссальной инженерной и лингвистической сложностью задачи. — В чем именно вы опередили остальной научный мир? — Мы придумали инструмент, который позволяет находить в тексте связи. Эта система действительно универсальна в отношении как языков, так и самих понятий. Фактически она будет работать как профессиональный аналитик, который улавливает взаимосвязи даже там, где они с первого взгляда не очевидны. — Если компьютер научился, условно говоря, понимать текст, эту его способность можно применять не только для перевода? — Верно. Этот подход позволит качественно улучшить распознавание устной речи. Сейчас ведь эту задачу решают главным образом с помощью распознавания сигнала, который приходит на микрофон: его пытаются разложить на компоненты, выделить слова, буквы и затем преобразовать в текст. С разной степенью успешности. Качество становится тем лучше, чем меньше словарь используемых слов, и наиболее устойчивое распознавание получается на ограниченном наборе конкретных слов, по сути, команд. Как только автоматическая система оказывается один на один с обычной устной речью, она начинает работать нестабильно, просит, например, сделать настройку на голос определенного человека. Но почему же мы, приехав в другую страну, даже если не знаем ее языка в совершенстве, можем, тем не менее, добраться в нужную точку, поселиться в отеле? Помогает знание контекста ситуации: если вы подошли к стойке регистрации с вещами, скорее всего, вы постоялец, для которого забронирован номер, и ваше корявое произношение не окажется непреодолимой проблемой. Нынешние системы распознавания речи не знакомы с контекстом ситуации и потому сбиваются на каждом нечетко произнесенном слове устной речи. Здесь как раз и поможет наша система анализа содержания сказанного — она найдет то слово, которое, скорее всего, произнес человек в данной ситуации. — В области корпоративных информационных систем используются технологии класса data mining, они позволяют в больших информационных базах находить значимые факты, данные, связи. Это не ваши технологические конкуренты? — Такие системы есть. Но они работают в рамках определенных ограниченных моделей. Под каждую задачу создается своя простая логическая схема. Обычно она включает ключевые слова, их сочетания, удаленность друг от друга, грамматические падежи/склонения, позволяющие определять типы отношений между ключевыми словами. Да, такие нехитрые системы неплохо работают на простых задачах, если вам, скажем, надо быстро выяснить, когда в СМИ упоминалось название вашей компании и в связи с чем. Надо понимать, что все зависит от заданной логики: если информация, которая ищется, сформулирована по-другому, она не будет выявлена. Кроме того, для каждого нового типа запросов приходится заново вручную строить логику отбора информации. — Тут в голову приходит идея умного поиска информации в Интернете. Как было бы здорово, если бы удалось избавиться от изучения десятков ненужных ссылок, которые в совершенно ином контексте используют указанные ключевые слова! Когда-то шли активные разговоры о таком умном семантическом вебе, который сам понимает, что человек хочет найти. Вы готовы стать поставщиком такого решения? — Действительно, сегодня поисковики работают на базе статистических алгоритмов: система пытается понять, что чаще всего искали люди, которые задавали похожие вопросы. Анализирует эти частные случаи и делает заключение: когда другие люди использовали вот такие слова, на самом деле они искали вот это. И это выдается в качестве ответа на персональный запрос. Конечно, гораздо приятнее была бы другая ситуация: запрос задается на естественном языке, а программа способна обнаружить не только ключевые слова, но и увидеть отношения между ними, а затем искать именно отношения между выявленными понятиями, может быть, даже выраженные другими словами. Теоретически наша модель способна делать это. — А практически? — На практике есть ряд серьезных ограничений. В частности, наша модель требует большой вычислительной мощности компьютеров, и проиндексировать весь веб вряд ли возможно. Если это и будет происходить в Интернете, то скорее секторами, например, вначале такой умный поиск будет связан со СМИ. Кстати, наша модель подходит для задач автоматического реферирования текстов: как из большого текста сделать сжатый реферат и не потерять при этом главного содержания. Еще одна интересная вещь, которую можно делать с помощью этой технологии, — определять авторство текста, ведь у каждого писателя есть своя специфическая структура языка. Кроме того, как говорят специалисты, в Интернете сейчас больше спамерской, паразитной информации, чем полезных данных. Значит, прежде чем удастся запустить умный семантический веб, придется учиться строить фильтры против спама, быстро обегать Интернет, чтобы актуализировать все содержимое и проиндексировать все блоги. Но это не наши задачи. Понятно, что технологии ABBYY в умном поиске будут востребованы. Но не мы будем основным его разработчиком, в данном случае целесообразнее передать нашу функциональность партнеру, чтобы он встроил ее, например, в свою поисковую машину. — На что вы более настроены: входить на рынок через сильных партнеров, например «Яндекс» или Google, или покорять мир под флагом собственного бренда? — Коммерческие продукты появятся через два-три года, но уже сегодня примерно понятны основные маркетинговые стратегии. Основной наш потребитель — корпоративный рынок, и уже идут переговоры о пилотных внедрениях. Кроме того, готовим еще один наш продукт — библиотеку функций, доступную для других разработчиков. Речь идет о том, что любой разработчик сможет лицензировать ядро системы, чтобы встроить эти функции в свои программные продукты. Он будет их продавать и выплачивать нам лицензионные отчисления. Самостоятельно завоевать мир, конечно, заманчиво, но такой подход сильно ограничит нас, в первую очередь по скорости продвижения на рынок. Можно достичь большего результата, если идти в связке с кем-то. И не с одним партнером, а с двумя, тремя, десятью. Особенно это важно для работы на глобальных рынках, ведь сильные местные партнеры уже прошли большую часть пути к потребителям. Конечно, всегда приходится взвешивать: насколько быстро ты сам сможешь захватить рынок и что у тебя успеет отъесть конкурент, если ты ему дашь свои средства? Скажем, в мире весьма популярны системы корпоративного поиска, но они содержат в себе множество интерфейсов с различными информационными системами. Терять ли время на то, чтобы самим написать все эти интерфейсы или передать свои библиотеки партнеру? Когда ты встраиваешься в чужой канал распространения, возникаешь, грубо говоря, как некая новая кнопка в его продукте, экономишь время. Между прочим, такая схема бизнеса на порядок прибыльнее, чем продажа коробок. Головной боли минимум, только роялти успевай подсчитывать. — Но обидно! Договоритесь, скажем, с Google, и никто не будет знать, что это наша разработка! — Все зависит от того, как договоришься. Во всем есть свои плюсы и минусы. Когда ты пытаешься добиться брендинга при лицензировании технологий, скажем, чтобы на сайте Google красовалась надпись, чей семантический движок работает, партнер пытается снизить денежные отчисления. Попытаешься повысить роялти, будут давить твой бренд. Брендинг и деньги взаимосвязаны.
|