среда, 16 февраля 2011 г.

Компьютерное понимание смысла текстов на естественном языке

Прочитал в свежем номере еженедельника Итоги статью о том, что удалось создать компьютерную программу, которая понимала бы смысл текстов, и, поскольку данная тема сильно интересует меня со времени обучения в ВУЗе, решил посвятить этой статье пост в блоге, чтобы обсудить её с вами.

Именно эта область искусственного интеллекта казалась (и кажется) мне наиболее интересной, поскольку при её реализации можно было бы взять за основу несложный алгоритм, используемый человеком, который в моём понимании заключается в сопоставлении каждому понятию (выражаемому подлежащими или дополнениями) из читаемого текста – соответствующего объекта из реального мира, после чего данные объекты связываются друг с другом с помощью отношений (выраженных в тексте с помощью сказуемых), создавая тем самым семантическую (смысловую) сеть предметной области (т.е. в нашем случае, читаемого текста). Мне казалось, что объектно-ориентированная парадигма программирования может прекрасно подойти для реализации данной задачи. Разумеется, она оказалась бы достаточно масштабной для выбранного способа реализации, поскольку потребовалось бы создать программную реализацию для нескольких десятков тысяч объектов из окружающего мира. Кроме этого, понадобилось бы также создание глобальной семантической сети, в которой все эти объекты уже были бы связаны  друг с другом, потому что семантическая сеть конкретного текста не может каждый раз создаваться на пустом месте, и программа должна иметь предварительно представление о том, как устроен мир, в полном соответствии с тем, как человек имеет какие-то предварительные представления об области, текст по которой он читает, в противном случае даже для него понимание прочитанного текста может стать невозможным. Очевидно, что при создании данной единой глобальной семантической сети, соответствующей представлению окружающего мира, мы неминуемо столкнёмся с неоднозначностью – как связывать объекты друг с другом – у разных специалистов будет совершенно разное мнение по многим вопросам, но это нормально и естественно, поскольку люди устроены так, что понимают мир по-разному, из-за того, что восприятие мира субъективно, и так или иначе у каждого из нас в сознании присутствует своя уникальная модель окружающей реальности, которые совпадают друг с другом лишь от части. Таким образом, проблема, связанная с неоднозначность восприятия, безусловно, существует, но мне кажется, что она преодолима, поскольку специалисты, редактирующие статьи в Википедии, всё-таки нашли надёжный способ справиться с ней, благодаря чему мы каждый раз видим только одну версию данной конкретной статьи на одном языке, а не несколько альтернативным вариантов.

В предыдущем абзаце я описал свои представления по теме понимания текстов, чтобы вам было понятно, с каким бэкграундом я подошёл к чтению статьи в Итогах. Теперь мне хотелось бы перейти непосредственно к её обсуждению. Сразу скажу, что статья не вызвала у меня однозначной реакции по нескольким причинам, и поэтому мне особенно хотелось бы услышать ваше мнение о ней. Вы сможете прочитать статью по ссылке, которая приводится в самом конце поста. А пока мне хотелось бы пройтись по ней с указанием тех ключевых слов, которые насторожили меня, и тех – которые обнадёжили мне в том, что данная задача действительно будет решена в ближайшее время.

Идущее одним из первых упоминание слова “Сколково” прозвучало как однозначно тревожный звоночек. Уж не идёт ли здесь речь о желании заполучить государственное финансирование под сомнительный проект с перспективным названием (к сожалению, в наше время в России таких случаев бесконечно много)?

Далее следует упоминание названия компании, которая заявила о своём прорыве в данной области. Конечно, компания ABBYY известна многим, но я почему-то ожидал увидеть название не российской, а какой-нибудь транснациональной компании вроде Google или IBM. С одной стороны приятно, что она наша, но с другой – не будем забывать о том, что задача крайне масштабная и может оказаться ей не по зубам.

После этого мы узнаём, что компания собирается положить свою разработку в основу автоматического машинного перевода с одного языка на другой. Что ж, это нормально и естественно – одной из областей, в которых программа, понимающая тексты, могла бы помочь добиться прорыва, действительно, является машинный перевод. Но компания ABBYY пока что отличилась в этой области лишь в создании электронных словарей и систем на базе Translation Memory, в которых автоматичностью перевода не пахнет по определению.

Далее, читая описание принципа работы, я увидел, что он в чём-то перекликается с моим видением данного вопроса и посчитал это добрым знаком :)

Удивил и насторожил ответ на следующий вопрос о причинах первенства компании ABBYY в этой области. Как выяснилось, оно объясняется возросшей в последнее время вычислительной мощностью компьютеров (видимо, оно обошло стороной остальные ведущие компании с мировым именем)…

На повторный вопрос о том, чем именно они опередили остальной научный мир даётся расплывчатый ответ с упоминанием изобретённого ими какого-то универсального инструмента, позволяющего находить в тексте связи. К сожалению, ничего конкретного на эту тему в статье не приводится. На сайте компании также нет никакой информации об этом ни в новостях, ни в пресс-релизах, что нельзя трактовать в их пользу.

Дальше следуют фантазии на тем, как эту замечательную программу можно распространить и на все остальные области, вплоть до распознавания устной речи и т.п., что только подтвердило мои нехорошие опасения на фоне отсутствия каких бы то ни было технических подробностей.

Хоть какая-то конкретика появляется только с упоминанием двух-трех лет, которые по мнению президента и генерального директора группы компаний ABBYY необходимы для появления коммерческого продукта.

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

В общем, после прочтения статьи мне с сожалением приходится констатировать тот факт, что товарищ Сергеей Андреев в своём интервью рассказал более подробно об особенностях реализации известной системы машинного перевода Google Translate (кстати, без упоминания её автора), нежели о системе, разработанной в его собственной компании.

Ссылка на статью: http://www.itogi.ru/hitech/2011/7/161939.html

P.S. Подробнее об упоминаемом в статье статистическом подходе к переводу можно узнать из видеоролика от Google:

 Update: Выяснилось, что у технологии есть название – ABBYY Compreno.