Разделы
Счетчики
Применение семантической нейронной сети как формального языка описания смысла текста естественного языка
Для обеспечения работы человека с вычислительной системой на естественном языке необходимо реализовать автоматическое понимание смысла текста. Электронные вычислительные машины в состоянии обрабатывать только формализованные языки. Так как естественный язык не формализован, то вычислительная система не в состоянии его обрабатывать. Автоматическая обработка смысла текста естественного языка возможна только при наличии его формализованного представления.
Успех в формализации понимания смысла естественных языков достигнут на пути использования аналогии между математическими и естественными языками. Алгебрологический подход к пониманию смыслов текстов на естественном языке разработан в теории интеллекта [1,2,3]. В этой теории выделяется объективная реальность, в которой находится субъект. На органы чувств субъекта поступают некоторые сигналы, которые несут информацию о фрагменте реальности, воспринимаемой субъектом. Эти сигналы представляют собой множество значений. Например, в случае, когда субъект наблюдает стол и лежащую на нем книгу, в качестве этих значений будут выступать "стол", "книга" и "лежит". Также в сигналы будут включены все параметры фрагмента реальности, воспринимаемой субъектом, такие как освещенность, сила гравитации, звуки…
Внутреннее представление фрагмента реальности представляет собой ситуацию. Ситуация выступает в роли имитационной модели фрагмента реальности, и является субъективной. Множеству всевозможных фрагментов реальности соответствует множество внутренних представлений - ситуаций. Поэтому можно говорить о существовании некоторой функции преобразующей фрагмент реальности в ситуацию. Преобразование фрагмента реальности в ситуацию называется восприятием. Входные аргументы этой функции имеют область определения в виде множества фрагментов реальности и называются ситуационными переменными. В качестве значений этих переменных выступает информация, извлекаемая из фрагмента реальности. Выходные значения функции восприятия имеют область определения в виде множества всевозможных ситуаций.
Процесс понимания смысла текста на естественном языке также можно рассматривать как вычисление некоторой функции по преобразованию фрагмента реальности - текста во внутреннюю модель - ситуацию и далее в смысл текста. В алгебраической логике выдвигается гипотеза о том, что предложения естественного языка представляют собой формулы некоторой алгебры. Математические тексты тоже пишутся в виде отдельных предложений и называются высказываниями. Если эта гипотеза подтвердится, то станет возможным обрабатывать естественный язык так же, как и математические выражения. В математике абсолютно точно установлено, что такое смысл высказывания. Смысл высказывания - это предикат выражаемый этим высказыванием. Аргументами этого предиката являются переменные, которые присутствуют в этом высказывании.
По аналогии с математикой предполагаем, что и в естественном языке смыслом также является некоторый предикат. В математическом высказывании есть свободные переменные и связанные переменные. Значением математического выражения является истина или ложь, например выражение P(X,Y,Z)=(X+Y=Z) ставит в соответствии трем переменным X,Y,Z значение истина или ложь предиката P. В этом случае, для переменной Z областью определения, в которой предикат P имеет значение истина, будет множество значений X+Y.
Рассмотрим предложения естественного языка. Все предложения бывают либо истинными, либо ложными. Они получают свое значение только в зависимости от внешних факторов. Например: значение предложения "идет дождь" зависит от состояния погоды в данный момент. Ситуация - внешний фактор, от которого зависит значение предиката. Если указать ситуацию, к которой применено высказывание "идет дождь", то можно получить результат этого высказывания в виде логического значения. Ситуация представляет собой набор переменных ситуации и их значений. Как уже было отмечено ранее, ситуация фактически является имитационной (виртуальной) моделью реального мира. То, что происходит в реальном мире - фрагмент реальности. Фрагмент реальности является источником ситуации. Реальность может быть объективной и субъективной. Для ситуации указывается фрагмент реальности, к которому эта ситуация относится. Человек разделяет фрагмент реальности на признаки и находит их значения. Из фрагмента реальности извлекается ситуация - набор ситуационных переменных, и набор значений ситуационных переменных - постоянные ситуации. Это еще не понимание, это узнавание или восприятие. На входе процесса восприятия - фрагмент реальности, а на выходе - постоянные ситуации для набора переменных ситуации. На данный момент является загадкой, как человек производит выбор переменных ситуации.
Если допустить, что текст на естественном языке – это математическая формула, записанная по правилам, которые нам пока не известны, то смыслом предложения на естественном языке является некоторый предикат. Тогда в математике, к которой принадлежит эта формула, должны присутствовать такие элементы, как переменные, операции над переменными, операции над операциями. Последовательность операций над переменными и операциями будет записана в виде формул. Пусть областью определения этой математики является множество всех мыслей возникающих у человека в течении всей его жизни. Как не велико это множество, оно всё же конечно[1]. Мы должны будем выбрать набор аксиоматических понятий для такой математики. Если на основе выбранных аксиом мы сможем получить любую мысль из области определения, то можно говорить, что математика, описанная этим набором аксиом, является полной. Возникает кажущаяся трудность в отсутствии переменных в предложениях естественного языка. Например, в предложении «на столе лежит книга» такие переменные отсутствуют. На самом деле переменные присутствуют в неявном виде. Они подразумеваются нами при разговоре, но не употребляются для краткости. Если записать это предложение в другом виде то трудность исчезнет: «на столе X лежит книга Y».
За основу предлагаемой математики возьмём логику предикатов[1]. Областью определения предикатов будет множество всех мыслей возникающих у человека. Каждой мысли, которая может возникнуть у человека, будет соответствовать предикат. Под предикатом мы будем понимать функцию узнавания сущности, имеющую логическое значение истина или ложь. Под сущностью мы будем понимать реально существующий либо существующий только в нашем воображении предмет, идею, объект…
Будем обозначать предикат как
p(X1,X2,X3, … ,XN)
Где
X1 - XN – ситуационные переменные;
p – имя предиката.
В случае, когда ситуационные переменные соответствуют ситуации, узнаваемой предикатом, он принимает значение «Правда» иначе – «Ложь».
Ситуационные переменные могут принимать как значения из внешнего мира, так и значения из внутреннего мира – предикаты. В случае, когда значением ситуационной переменной является предикат, то предикат, в который входит эта переменная, является операцией над предикатом, являющемся значением этой переменной: p(q(X))=p_q(X). Предикат p_q является значением действия предиката p на предикат q: p_q=p(q).
Например, в предикатной записи предложение «на столе X лежит книга Y» будет записано в виде :
На столе X лежит книга Y = На столе лежит книга (X,Y) =
= лежит_на_столе_книга(X, Y) = На(X,Y) Щ Стол(X) Щ Книга(Y) Щ Лежит(Y).
Высказывание «очень большая книга X» будет записано как:
Очень большая книга X = очень_большая_книга(X).
Высказывание «ножка стула» будет записано как:
Ножка(У) стула(Х)=ножка(Х) Щ стул(У) Щ Деталь(Х,У)
Для построения описанных формул алгебры логики применяется лингвистический эксперимент[3,стр.95]. При проведении лингвистического эксперимента выбирается "подопытный", который будет играть роль "оракула". Экспериментатор предъявляет ситуацию оракулу и задает ему вопрос касающейся представленной ситуации. Оракул дает ответ на поставленный вопрос. Ту же ситуацию и тот же вопрос предъявляются разрабатываемой системе. По совпадению ответов на предъявленный вопрос судят о правильности реализации разрабатываемой формальной системы. Таким образом предъявляя испытуемой системе различные ситуации мы можем узнать соответствует ли предъявленная ситуация описанию ситуации, находящемуся в памяти системы.
Структура предложения выражается структурой формулы предиката. Смысл предложения выражается функцией, реализуемой предикатом. Два текста разной структуры обычно имеют формулы предикатов разной структуры. Однако если эти предикаты выражают тождественно равные функции, то и тексты выражают одинаковый смысл. Тождественность функций двух разных предикатов означает, что при любой ситуации эти два предикаты имеют равные значения. Предложения состоят из слов. Слова тоже выражаются через предикаты, узнающие эти слова. Слова состоят из букв. Буквы обрабатываются предикатами узнавания букв. Поэтому появляется возможность оперировать данными с различных лингвистических уровней, используя один математический аппарат. С помощью алгебры конечных предикатов произвольного порядка были построены модели словообразования и словоизменения русского языка и синтаксические модели построения предложений русского языка.
Таким образом, восприятие - это функция, заключающаяся в преобразовании фрагмента реальности в ситуационный предикат, понимание - это функция, заключающаяся в преобразовании текста в смысловой предикат, мышление - это функция, заключающаяся в вычислении значения смыслового предиката на основании его аргумента - ситуационного предиката. Входным аргументом функции мышления является субъективная модель внешнего мира - ситуация и смысловой предикат - смысл текста, результатом - значение смыслового предиката в данной ситуации. Синтаксис предложения - структура формулы предиката, а функция реализуемая предикатом - смысл этого предложения.
Согласно [1] смысл текста - это функция, выражаемая некоторым предикатом. Входным аргументом этой функции выступает ситуация. Смысловой предикат структурно представляет собой набор предметных переменных и операций над ними. Значением предиката является логическое значение "Истина" или "Ложь". Это значение показывает истинность смысла выражаемого предикатом в данной ситуации. Например, предложение "на полу стоит стул" истинно в ситуации, когда присутствуют пол, стул, и стул стоит на полу. Это предложение можно записать в виде: "пол(Х) и стол(У) и стоит(Х,У)".
Рассмотрим структуру смыслового предиката. Предикат представляет собой предметные переменные, операции узнавания и операции над значениями, возвращаемыми операциями узнавания. Предметные переменные содержат в себе постоянные ситуации - некоторые значения, извлеченные из фрагмента реальности. Например: "объект-стул", "объект-стол", "отношение-стоять". Операции узнавания возвращают логические значения в зависимости от того успешно, или нет прошло распознание значения, поступившего на их вход. Например, операция узнавания, распознающая "стул", вернет значение "истина", если на её входе будет "объект-синий-стул" и "ложь", если на ее входе окажется "объект-стол". Логические операции над значениями выполняются в порядке, заданном структурой предиката. При этом результатом каждой логической операции является логическое значение, подаваемое на вход других логических операций.
Нетрудно заметить, что операции над логическими значениями внутри предиката организованны в виде направленного графа, у которого узлы являются логическими операциями, а ребра указывают порядок обработки логических значений. Граф, описывающий смысловой предикат, будем называть смысловым графом. Смысловой граф представляет собой дерево. Листья этого дерева являются операциями узнавания. Ребра указывают направление передачи логических значений между отдельными операциями. Узлы этого дерева получают логические значения от других узлов через входящие ребра, и возвращают результат выполненной операции через исходящие ребра. Значение предиката возвращается как значение корневого узла этого дерева. Таким образом, смысловой предикат однозначно отображается в смысловой граф, в виде дерева, у которого ребра направлены от листьев к корню. Количество предметных переменных равно количеству листьев. Количество логических операций в предикате равно количеству узлов дерева. Порядок логических операций в предикате над предметными переменными соответствует направлению ребер между узлами дерева, выполняющими логические операции. Следует добавить, что функции с внутренним состоянием, такие как триггер, представляются в виде графа с циклическими связями.
Математическая модель смыслового предиката в виде смыслового графа с направленными связями может быть реализована в виде имитационной модели на основе семантической нейронной сети[4]. В этом случае операции узнавания значений предметных переменных моделируются в семантической нейронной сети в виде нейронов-рецепторов. Результаты вычисления смысловых функций возвращаются нейронной сетью через специализированные нейроны-эффекторы. Ребра графа преобразуются в дендриты и аксоны нейронов. Логическое значение "истина", обрабатываемое смысловым графом, представляется в виде максимального градиентного значения, обрабатываемого нейроном, а логическое значение "ложь" - в виде минимального градиентного значения. Логические операции, выполняемые узлом смыслового графа, моделируются в семантической нейронной сети операциями нечеткой логики, выполняемой нейронами.
Смысловой граф обрабатывает результаты распознавания ситуации, как имеющие всего два логических значения: "истина" и "ложь". Однако в реальной ситуации часто приходится сталкиваться с различными неточностями, вероятностями и недостаточностью информации для принятия четкого решения. Оставляя в стороне философский вопрос о бесконечной делимости величин, можно утверждать, что в обыденной практике мы работаем чаще с вещественными числами, чем с целыми. Например, массы тел, освещенность, положение представляют собой вещественные значения. Градиентные значения в семантической нейронной сети выражают степень уверенности или вероятность распознавания постоянной ситуации, поступившей на вход нейронной сети. Чем выше градиентное значение, тем ближе оценка ситуации к логической истине. Чем ниже градиентное значение, тем ближе оценка ситуации к логической лжи. Максимальное и минимальное градиентные значения эквивалентны логическим значениям "истина" и "ложь" соответственно. Следовательно, логические значения, обрабатываемые в смысловом графе, являются частным случаем градиентных значений, обрабатываемых нейронами.
В семантической нейронной сети каждый нейрон представляет собой некоторое элементарное понятие обрабатываемого смысла. Элементарное понятие - это совокупность некоторых понятий и отношений между понятиями, которую возможно свести к одному понятию. Так элементарными понятиями могут являться все буквы и все формы всех слов, составленных из этих букв. Например, при необходимости, в качестве элементарного понятия, соответствующего одному нейрону, может быть представлено даже следующее сложное понятие: "стул и стол стоят в одной комнате".
Нейронные сети можно делить на подсети, выполняющие различные функции. Будем считать, что обмен данными между подсетями производится через пару нейрон-эффектор и нейрон-рецептор. Поэтому рецепторами и эффекторами будем называть любые нейроны, соответственно возвращающие или принимающие градиентные значения из/в данной подсети. Нейрон-рецептор распознаёт только одну постоянную ситуации. Рецептор возвращает градиентное значение пропорциональное степени уверенности в том, что данная постоянная встречается в предъявленной ситуации. Максимальное значение соответствует полной уверенности в присутствии распознаваемой постоянной в ситуации, минимальное значение соответствует полной уверенности в отсутствии данной постоянной в ситуации, а среднее значение соответствует полной неуверенности или неизвестности. Так рецептор, распознающий букву "А" возвращает значение "истина" только в случае, если на его вход поступила буква "А" и - значение "ложь" во всех остальных случаях. Постоянная ситуации может обозначать не только отдельный объект, а и некоторый класс объектов. Тогда рецептор, распознающий эту постоянную, будет распознавать целый класс объектов. Например, возможен рецептор, возвращающий значение "истина" в случае подачи на его вход любого знака препинания.
Нейроны, как физические объекты выполняют операции за некоторое время. При моделировании нейронной сети на последовательных вычислительных системах нейроны выполняют операции не параллельно, а в порядке очереди, определяемой планировщиком системы выполнения. Поэтому, в отличие от смыслового графа, вычисление значения смысловой функции в семантической нейронной сети выполняется не мгновенно, а представляет собой процесс развивающийся в течение некоторого времени. Несмотря на первое впечатление, развитие процесса вычисления смысловой функции во времени является достоинством нейронных сетей. Благодаря эффекту задержки вычислений в нейронных сетях появляется возможность строить системы, в которых информация будет кодироваться не только изменениями пространственно-энергетических характеристик среды, а также и с помощью изменения времени жизни пространственно-энергетических аномалий в этой среде. Возможно такое построение нейронной сети, в которой градиентные данные, обрабатываемые одними и теми же нейронами, но в разное время будут соответствовать не только различным ситуациям, но и различным смыслам. Таким образом, смысловой граф как математическая абстракция может быть полностью смоделирован семантической нейронной сетью.
Список литературы
- Шабанов-Кушнаренко Ю.П. Теория интеллекта. Математические средства. - Х.: Вища шк. Изд-во при Харьк. Ун-те, 1984. - 144 с.
- Шабанов-Кушнаренко Ю.П. Теория интеллекта. Технические средства. - Х.: Вища шк. Изд-во при Харьк. Ун-те, 1986. - 134 с.
- Шабанов-Кушнаренко Ю.П. Теория интеллекта. Проблемы и перспективы. - Х.: Вища шк. Изд-во при Харьк. Ун-те, 1987. - 160 с.
- Семантическая нейронная сеть, как формальный язык описания и обработки смысла текстов на естественном языке / З.В.Дударь, Д.Е.Шуклин // Радиоэлектроника и информатика. Х.: Изд-во ХТУРЭ, 2000. - №. 3. С. 72-76.
Источник:
Применение семантической нейронной сети как формального языка описания смысла текста естественного языка / Д.Е.Шуклин // 5-й Международный молодежный форум "Радиоэлектоника и молодежь в XXI веке": Сб. научных трудов. Ч. 1. - Харьков: ХТУРЭ. 2001. с.83-84
Дополнительно
Научный руководитель Шабанов-Кушнаренко С.Ю.
Харьковский Государственный Технический Университет Радиоэлектроники