Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Смысл из текста Печать

Структура семантической нейронной сети извлекающей в реальном времени смысл из текста

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

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

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

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

Если в единицу времени рецепторам представить для распознавания только один символ, то только один нейрон будет иметь логическое значение "истина", а остальные нейроны будут иметь логическое значение "ложь". Следовательно, за один такт рецепторами будет распознан только один символ из текста. В случае необходимости, на слой рецепторов могут быть одновременно поданы несколько различных символов, тогда, одновременно будет активировано несколько различных рецепторов.

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

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

В подсети извлечения смысла из текста, отдельный нейрон обозначает элементарное понятие, соответствующее этапу обработки, к которому относится данный подслой нейронной сети. Элементарными понятиями являются любые понятия естественного языка с законченным смыслом, такие как символ, слог, слово, словосочетание, предложение, абзац, весь текст. Различным этапам обработки соответствуют различные уровни агрегации элементарных понятий, например: символ, слог, слово, словосочетание, … В случае наличия соответствующего понятия в анализируемом тексте нейрон принимает значение "истина", а в случае отсутствия - "ложь".

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

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

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

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

На синхронизирующие входы всех нейронов поступает один и тот же сигнал: "новый символ", который на рисунке не показан. Синхронизирующий сигнал "новый символ" вырабатывается слоем рецепторов, когда рецепторы успешно распознали вновь поступивший символ. В момент прихода синхронизирующего импульса все нейроны простого линейного дерева производят обработку своих входных сигналов. Так как эти входные сигналы, вырабатываются по результатам предыдущего такта, другими синхронизированными нейронами, в дереве возникает эффект волны обработки. Отметим, что для распознавания четырех слов с общим количеством символов 4+4+6+6=20 потребовалось всего 10 нейронов, выполняющих функцию конъюнкции, 6 рецепторов и 4 эффектора.

В представленной сети не хватает функций определения типов или классов объектов, таких как "существительное", "мужской род", "женский род" и других, аналогичных. Функции определения типов объектов легко реализуются с помощью агрегирующего подслоя, состоящего из несинхронизированных нейронов, выполняющих функции дизъюнкции и, при необходимости, инверсии.

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

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

Синхровход каждого синхронизированного линейного дерева связан с синхровыходом предыдущего линейного дерева. Для текущего линейного дерева, каждая предыдущая сеть является слоем рецепторов, а каждая последующая - слоем эффекторов. Отметим, что типы объектов, формируемые слоем распознавания типов, обрабатываются следующим деревом так же, как и обычные слова. Линейные деревья обрабатывают устойчивые сочетания типов, так же, как и устойчивые сочетания слов. Например: "прилагательное-существительное" или "горькая-правда". Наличие не синхронизированных слоёв нейронов, выполняющих операции дизъюнкции, обусловливает возможность получения одновременно нескольких решений.

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

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

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