Структура интеллектуальных игр / Игры будущего / Формализация СИ

Jan 22, 2008 17:57

Структура интеллектуальных игр. Вопросы и поле знаний.
Игры будущего. Информация и факты.
Формализация СИ. Классификация вопросов СИ.

Часть 2. Описание фактов

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

На самом деле, это не совсем так. Будем считать, что любой факт может быть выражен предложением на естественном языке и содержит следующие компоненты:
  1. Субъект - то, что осуществляет действие или является источником процесса или явления. Возможны стихийные процессы - без субъекта.
  2. Объект - то, на что направлено действие субъета. Может отсутствовать.
  3. Процесс - форма отношения между субъектом и объектом, характеризует вид факта. Примерами процессов могут служить процесс существования, отношение владения, любви, разновидности.
  4. Контекст - те условия, в которых факт имеет место быть. Как правило, факты не бывают истинными вообще. Их истинность утверждается лишь при выполнении определённых условий.
  5. Атрибут - характеристика субъекта или объекта, дающая нам дополнительную информацию о нём.


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

Можно утверждать и обратное: любое предложение содержит по крайней мере одну мысль :). Сложносочинённое предложение может содержать и несколько мыслей, но это не принципиально: при желании его всегда можно разбить на серию простых.

Итак, мы установили соответствие между множеством фактов и множеством предложений на русском языке (речь идёт о нём, естественно). Тут-то мы наталкиваемся на проблему: один и тот же факт может быть выражен разными предложениями. Тем самым, два человека или две программы, говорящие об одном и том же факте, но описывая его по-разному, могут не понять друг друга.

Например, тот факт, что данный обзор посвящён информации и фактам можно описать как "Данный обзор освещает основы формализации информации и фактов", а можно как "Формализация информации и фактов описывается в этой статье".

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

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

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

Если выработать правила по переводу описаний с естественного языка на язык описания фактов (ЯОФ), то можно будет проделывать достаточно интересные операции. Можно преобразовать два предложения с русского языка на ЯОФ. Если они после этого совпадут, значит, оба эти предложения описывают по сути одно и то же. Тем самым, с информативной точки зрения они идентичны. Разница присутствует лишь в их художественной выразительности.

Поэтому главное требование к этому языку - он должен быть максимально простой. Помимо этого, в нём необходимо следующее:
  1. Строгий порядок слов в предложении в соответствии с их ролями.
  2. Отсутствие слов, лишённых смысла (служебных).
  3. Отсутствие синонимов (все они представлены единым словом в начальной форме, а художественные особенности можно передать в виде дополнительных параметров) и словоформ (они нужны лишь для связи слов в естественном языке).
  4. Использование только действительного залога глаголов.

Если предложение на каком-либо естественном языке перевести на ЯОФ, а оттуда - на другой язык, то смысл высказывания сохранится. Поэтому перевод с использованием этого подхода должен получиться весьма качественным.

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

Текст: "Каждый день Вася Иванов ходит в школу".
Его представление на языке описания фактов может быть записано примерно так:

obj:Вася_Иванов день>proc:посещать(obj:школа)

или так:

(obj:Вася_Иванов, proc:посещать(time:день(kind:каждый), obj:школа))

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

У Маши было 5 яблок, а у Пети 4. Сколько яблок было у них вместе?

($x1=obj:Маша, proc:иметь(time:прошлое, obj:{$x2=яблоко}(count:5))),

($x3=obj:Петя, proc:иметь(time:прошлое, obj:{$x2}(count:4))),

({$x1, $x3}, proc:иметь(time:прошлое, obj:{яблоко}(count:?$y1)))

Ели перевести с ЯОФ обратно на русский, то получится:

Маша имела 5 яблок. Петя имел 4. Сколько яблок имеют они вместе?

Запись подобного вида будем называть стандартизованной записью факта. Все факты должны описываться именно в стандартизованном варианте.

При переводе на английский язык может получиться примерно следующее:

Masha has 5 apples. Petya has 4 apples. How many apples do they have together?

Как видите, если реализовать данную концепцию, выйдет довольно неплохой перевод (по смыслу). Кроме того, возможен перевод этих данных на некоторый машинный язык для того, чтобы создать картину мира и у машины. После построения такой модели машина могла бы отвечать на вопросы по ней и в примере выше выдала бы ответ 9.

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

Продолжение следует...

Интеллектуальные игры, СИ, Игры будущего

Previous post Next post
Up