22 августа 2011 г.

О понимании компьютерами текста


Одна девушка-переводчица, задумчиво глядя в потолок, спросила меня: «А смогут когда-нибудь компьютеры понимать текст так же, как человек?» Тогда я не смог ответить на этот вопрос, но сейчас, обладая некоторыми знаниями в области семиотики текста, я уверен, что так же как человек компьютеры не смогут понимать текст никогда.

В этой статье я рассмотрю несколько примеров сложностей, которые для человека вовсе и не являются таковыми, но для компьютера практически неразрешимы.

(Под компьютером я подразумеваю не абстрактный искусственный интеллект, а именно вычислительное устройство, выполняющее некий вычислительный процесс. Это важно.)



Для начала разберемся, что же такое смысл текста. Раньше считалось, и многими считается до сих пор, что у текста есть единственный внутренне присущий ему смысл. Это кажется очевидным, но это не так. Cмысл — это изменение внутреннего состояние интерпретатора при воздействии на него сообщения. Таким образом смысл — это функция интерпретатора и сообщения, а не только сообщения. Если изменить интерпретатора или его начальное состояние, изменится и смысл. [1]

Рассмотрим фразу: «Первым Николай распечатал письмо от Сони». Как в этом случае понимать слово «распечатал»? Если знать, что это отрывок из романа «Война и мир», значение должно быть «открыл», «снял печать», но почему? Потому что действие происходит в XIX веке, и тогда не было принтеров, а письма передавались в конвертах, которые чтобы открыть, нужно было снять печать. Однако это же слово, в этой же фразе, в современном тексте вполне могло бы иметь смысл «послать на печать». Таким образом, интерпретатор, знающий происхождение текста и обладающий некоторыми знаниями истории технологий, поймет этот текст иначе, нежели тот, кто всеми этими знаниями не обладает.

(Забавно, Google Translator в приведенной выше фразе слово «распечатал» переводит правильно, но только потому, что в сочетании со словом «письмо» слово «распечатать» всегда переводит «to open». Поэтому фразу «Он распечатал письмо, и принтер сломался» Google переводит неправильно.)

Если речь идет о художественном тексте, то чаще всего автор рассчитывает на некий определенный набор знаний читателя — культурный контекст, — однако современные постмодернистские тексты вполне могут быть рассчитаны на различное, но эквивалентно правильное, понимание носителями различных культурных контекстов. [1]

Для человека, обращаться к культурному контексту (или к базе знаний) настолько естественно, что он чаще всего этого не замечает. Однако иногда удивительно, сколь сложные логические построения требуются, чтобы доказать то, что любому человеку кажется очевидным, и компьютеру придется иметь дело именно с этими логическими построениями; от количества и сложности этих построений будет зависеть скорость понимания компьютера. Конечно можно придумать облегченный язык, для понимания которого будет требоваться не более чем знание слов, использованных в тексте. Однако такой язык будет лишен многих свойств естественного языка. Чего не должен требовать от интерпретатора такой язык?

Понимание умолчаний


Однажды, некая японская делегация прилетела в США. Руководитель делегации отправил принимающей стороне письмо с просьбой прислать автобус к отелю в 7:00 утра. На следующий день, в 7:00 утра у гостиницы стоял автобус, но без водителя. В данном случае японцы ожидали от американцев понимания умолчаний. На самом деле просьба прислать автобус может иметь или не иметь умолчаний в зависимости от ситуации, и интерпретатор должен учитывать это, анализируя обстоятельства с использованием базы знаний.

Понимание метафор


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

Понимание юмора


Юмор — вещь сложная, — настолько сложная, что если используется в тесте Тьюринга, не каждый человек его пройдет. Можно найти строгие критерии смешному, но чтобы проверить высказывание по этим критериям, требуются часто нетривиальные выводы с использованием культурного контекста. Поэтому не все понимают юмор.

Чтение «между строк»


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

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

Если мы говорим, что ИИ понимает текст, мы должны ожидать от него решения задач анализа текста, с которыми человек худо-бедно справляется. Например, таких как:

  • По тексту определить идеологию автора (правая/левая).
  • Проанализировав текст, вывести ':)', если текст велелый и ':(', если текст грусный.
  • По первому предложению этой статьи определить, в каких отношениях находится автор с девушкой.
  • Расшифровать смысл новой незнакомой поговорки.
  • Перевести художественный текст с одного языка на другой.
  • Написать сочинение на заданную тему.
  • И т.д.


ИИ не просто должен быть способен решить эти задачи, он должен решать их так же быстро или быстрее, чем человек. Кроме того, для обучения ИИ должно требоваться столько же или меньше времени, чем требуется для обучения человека. В противном случае, использование ИИ будет нецелесообразным.

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

Определенно, человеческий мозг не использует для представления знаний ни один из известных способов. Более того, существует немало оснований полагать, что мозг работает принципиально не алгоритмически, и значит не может быть смоделирован вычислительным процессом.[2] Выдающийся английский математик Роджер Пенроуз считает даже, что в работе мозга не обходится без квантовых эффектов. В любом случае, как работает мозг, до конца никто не знает, и в этой области еще возможно множество открытий. Что же касается компьютеров в современном смысле этого слова, то можно с уверенностью утверждать, что понимать текст они не будут никогда.

Комментариев нет:

Отправить комментарий