Механизм извлечения семантики текста ест

advertisement
2Д
УДК 004.4’415:519.7
М.В. Дибривный
Донецкий государственный институт искусственного интеллекта, Украина




Рассматриваются нейронные сети в качестве механизма выделения смысла из текста. После
выделения смысла он кодируется в специально разработанный для этих целей код. Автор
предлагает этот механизм использовать в мультиязычных переводчиках текстов и в интерфейсах
прикладных программ для обеспечения автоматического перевода меню.

В рамках государственной научной программы «Образный компьютер» Министерства промышленной политики Украины Донецким государственным институтом
искусственного интеллекта был выигран тендер «Разработка научно-теоретических
основ создания высокоинтеллектуальных информационных систем, использующих
естественные языки для восприятия и переработки данных и знаний (информации)»,
номер государственной регистрации 01034001217. В рамках этого научно-теоретического задания автор ведет исследования новых способов построения языконезависимых интерфейсов пользователя, мультиязычных машинных переводчиков.

В предыдущей публикации [1] автор выдвинул гипотезу введения промежуточного элемента при переводе текста с одного естественного языка на другой.
Промежуточный элемент был назван семантическим кодом (СК), в отличие от
других публикаций [2], где рассматривается схожая технология и используется
термин ИНСЕМ (Единый международный цифровой код семантики информации).
Интересные идеи о формализации описания естественных языков на основе
нейронных сетей изложены в [3-5]. В [3] нейронные сети являются основой для
преобразования одного смысла в другой, т.е. для преобразования смыслов. В
рамках данной статьи речь пойдет о выделении смысла из текста и последующем
его кодировании в СК. Также внимание будет уделяться обратному процессу
преобразования. Нейронные сети [6] будут применяться как экспертные системы.

Целью данной статьи является описание способов кодирования и декодирования смыслов текстов естественных языков (ЕЯ) с помощью нейронных сетей, выделение смысла из текста ЕЯ и моделирование текста на ЕЯ из СК.
Нейронная сеть – это инструмент, который на данный момент более других
удовлетворяет условиям, предъявляемым к механизму извлечения смысла текста.
«Штучний інтелект» 2’2003
71
Дибривный М.В.
2Д
Нейронные сети обладают такими свойствами: способность оперировать нечеткой
и неполной информацией, способность оперировать связями между различными
понятиями, легкая адаптация к предметной среде материального мира, возможность распараллеливания вычислительных процессов.
Под термином «нейронная сеть» будем понимать сеть динамически связанных между собой объектов, параллельно или квазипараллельно обрабатывающих
информацию и обменивающихся информацией. В нашем случае отдельные нейроны в рассматриваемой нейронной сети представляют собой элементарные понятия обрабатываемого смысла, связи между нейронами представляют собой элементарные отношения между понятиями и вся сеть предназначена для извлечения
смысла из текста; такую сеть будем называть семантической нейронной сетью [4].
Нейронную сеть также можно рассматривать как некоторую алгебру [7]. Пусть
отдельный нейрон обозначен как ni. Областью определения такой алгебры будет
множество нейронов N = {n1, n2, ..., nk}, содержащееся в нейронной сети. Каждый
нейрон представлен набором ni = (S, R) из внутреннего состояния нейрона S и набора
его связей R. Набор связей нейрона R = (L1, L2, ... Lq) состоит из отдельных связей
нейрона Li = (a, n), где a – тип связи (например: вход, выход, синхронизирующие
связь), n – нейрон, с которым установлена эта связь. Входные связи называются
дендритом, выходные – аксоном. Внутреннее состояние нейрона S включает в себя
функцию, выполняемую нейроном. В процессе работы нейрон получает данные от
других нейронов по дендриту, обрабатывает некоторым образом и передает далее по
аксону в нейроны-приемники [4].
Для обмена данными в нейронной сети подходят два вида сигналов: аналоговые и цифровые. С помощью аналоговых сигналов нейроны обмениваются градиентными данными, а с помощью цифровых – логическими данными. Под градиентными
данными будем понимать целые числовые величины, находящиеся в заданном диапазоне, например, от 0 до 255. Одной границе этого диапазона будет соответствовать
полное подтверждение, другой – полное отрицание.
Удобно принять минимальное значение за ложь, а максимальное – за истину. В
процессе работы нейронной сети нейроны получают такие данные, обрабатывают их,
затем передают далее по аксону. Все нейроны работают параллельно. Результат,
выдаваемый нейроном, зависит от того, какую операцию он выполняет, а так же от
того, является он синхронизированным или несинхронизированным. Несинхронизированные нейроны постоянно выдают результат операции, непрерывно выполняемой над входными данными. Синхронизированные нейроны постоянно выдают
результат операции, выполненной над входными данными и данными в момент
прихода синхронизирующего сигнала.
Тексты на естественном языке, содержащие смысловые последовательности,
при обработке в нейронной сети будут вызывать различные последовательности
мгновенных состояний эффекторов слоя извлечения смысла. Для преобразования
смысла текста в некий смысловой код (СК) или обратно [1] достаточно преобразовать состояние одной группы нейронов в состояние другой группы нейронов.
Обработка смысла текста будет заключаться в обработке состояний нейронов,
характеризующихся набором их выходных градиентных значений. Для преобразования смысла в виде набора градиентных данных могут применяться экспертные системы (рис. 1) [3].
72
«Искусственный интеллект» 2’2003
Механизм извлечения семантики текста естественного языка…
2Д
БЗ
Текст 1
Язык 1
Смысловой
код
Интеллектуаль ная экспертная
с истема на основе
семантических нейросетей
Рис. 1.1 Структурная
схемасхема
в общем
виде; извлечения
смысла
из текста
Рисунок
– Структурная
извлечения
смысла
из текста
Использование СК обусловлено тем, что хранить и обрабатывать информацию в виде мгновенных состояний нейронной сети менее удобно, чем использование для этих же целей СК. СК – это некий формализованный язык, созданный
специально для хранения и обработки семантики в чистом виде.
Текст на естественном языке представляет собой упорядоченный поток
символов [5]. Понимание смысла текста – это процесс, развивающийся в реальном
времени. Символы попадают в обработку последовательно, один за другим, в
порядке, определенном их местоположением в тексте. По мере поступления новой информации смысл уже обработанных данных просто уточняется (рис. 1),
обычно без повторной обработки уже поступивших данных [4]. Нейронная сеть
не воспринимает и не обрабатывает непосредственно символы, следовательно,
необходимы способы формального представления символьной информации в нейронной сети, преобразования входной символьной последовательности в это
формальное представление и обработки символьной информации в уже формализованном виде. Необходим также способ вывода результатов обработки в виде,
полезном получателю этих результатов, например, в виде текста, представляющего собой упорядоченный поток символов или непосредственно в СК.
Преобразование входного потока символов в состояние нейронной сети может
быть выполнено рецепторами. Рецепторы преобразуют входное воздействие в сигнал,
подаваемый затем на дендриты нейронов. Рецепторы, распознающие однотипные
внешние воздействия, такие, как символы текста, организуются в специализированные
слои рецепторов. Входной поток символов подается на слой нейронов-рецепторов, при
этом каждый рецептор в слое распознает только один символ алфавита входной последовательности, игнорируя все остальные. В случае, если символ распознан, на выходе
рецептора устанавливается градиентное значение, соответствующее уровню успешного распознавания символа, например, значение логической истины. Узнавание отдельных символов будет происходить по мере поступления текста из входного потока.
Если в единицу времени рецепторам представить для распознавания только один символ, то только один нейрон будет иметь логическое значение «истина», а остальные
«Штучний інтелект» 2’2003
73
Дибривный М.В.
2Д
нейроны будут иметь логическое значение «ложь». Следовательно, за один такт рецепторами будет распознан только один символ из текста. В случае необходимости на
слой рецепторов могут быть одновременно поданы несколько различных символов,
тогда одновременно будет активировано несколько различных рецепторов [5].
Вывод результатов обработки текста из нейронной сети может быть выполнен эффекторами. Эффекторы преобразуют сигналы аксонов в СК. Эффекторы, реализующие
однотипные воздействия на окружающую среду, организуются в специализированные
слои эффекторов. Так, вывод последовательностей в виде СК может быть осуществлен
слоем эффекторов, в котором каждому нейрону будет соответствовать один смысловой
код, содержащий в себе сведения о смысле одного элементарного понятия. В этом случае
в единицу времени только один эффектор активируется градиентным уровнем, что соответствует одному смысловому коду.
Отметим, что в случае последовательного соединения двух нейронных подсетей одни и те же нейроны могут выполнять в одной подсети функции рецепторов, а в
другой подсети – функции эффекторов. Благодаря этому, процесс извлечения смысла
из текста может быть разбит на несколько сравнительно простых этапов. Каждый
этап реализуется отдельной подсетью, выполненной в виде слоя нейронов. Результат
работы одной подсети будет одновременно являться входными данными для другой
подсети.
В подсети извлечения смысла из текста отдельный нейрон обозначает элементарное понятие, соответствующее этапу обработки, к которому относится данный
подслой нейронной сети. Элементарными понятиями являются любые понятия естественного языка с законченным смыслом. Различным этапам обработки соответствуют различные уровни агрегации элементарных понятий, например, символ, слог,
слово, словосочетание. В случае наличия соответствующего понятия в анализируемом тексте нейрон принимает значение «истина», а в случае отсутствия – «ложь».
Так как процесс анализа текста развивается во времени, по мере поступления в
нейронную сеть новых данных в нейронной сети возникают волны активности,
распространяющиеся от рецепторов к эффекторам. Можно утверждать, что одному
фронту такой волны соответствует смысл текста, принятого сетью непосредственно
перед началом этого фронта. Тогда окончанием обработки текста можно считать
достижение слоя эффекторов фронтом волны, порожденным последним символом
обрабатываемого текста. Таким образом, на слое эффекторов будет получен результат извлечения смысла из текста в виде состояний эффекторов [5].
После анализа текста в слое обработки результат обработки динамически формируется в слое эффекторов как совокупное состояние всех нейронов слоя эффекторов. Каждый нейрон слоя эффекторов представляет собой какое-либо элементарное
понятие извлекаемого смысла. Например, нейрон, представляющий понятие «существительное женского рода», активизируется по достижении слоя эффекторов фронтом
волны, соответствующим окончанию ввода в сеть таких слов, как «мама», «рама».
Слой извлечения смысла можно построить различными способами. Рассмотрим линейное дерево как способ построения нейронной сети, извлекающей смысл
из текста. Для облегчения синхронизации параллельно протекающих процессов, а
так же для облегчения реализации на существующем аппаратном обеспечении
будем применять синхронизированные и несинхронизированные нейроны. Слой
обработки, построенный по принципу синхронизированного линейного дерева, будет содержать синхронизированные нейроны, выполняющие операцию конъюнк-
74
«Искусственный интеллект» 2’2003
Механизм извлечения семантики текста естественного языка…
2Д
ции, и несинхронизированные нейроны, выполняющие операции дизъюнкции и
отрицания. Нейроны соединяются в виде множества пересекающихся деревьев,
корни которых обращены в сторону рецепторов, а вершины – в сторону эффекторов. Слой обработки подразделяется на подслои. Каждому подслою соответствует
один фронт волны обработки.
В упрощённом синхронизированном линейном дереве, извлекающем отдельные слова из входного потока символов, все нейроны выполняют синхронизированную функцию конъюнкции. Линейное дерево состоит из подслоев. Каждому подслою соответствует фронт волны обработки. Нейроны первого подслоя соответствуют первой букве слова, второго – второй и так далее. Общее количество подслоев
равно максимальному количеству букв в одном слове. Первый подслой состоит из
нейронов, распознающих первую букву, второй слой состоит из нейронов, распознающих первые две буквы, третий – первые три буквы. Каждый нейрон имеет одну
входную связь с нейроном из предыдущего подслоя, соответствующим предыдущей
букве слова, и одну входную связь с нейроном из слоя рецепторов, соответствующим
текущей букве. Каждый нейрон может иметь выходную связь с неограниченным количеством нейронов из следующего подслоя обработки. Фрагмент простого синхронизированного линейного дерева, распознающего слова «мама», «мыла», «мыл»,
«рама», «раму», «рамы», представлен на рис. 2 [5].
А
МА
МЫ
МЫЛА
МЫЛА
РАМЫ
МЫЛ
РАМЫ
РА
РАМ
РАМА
РАМА
Слой 2
Слой 1
У
РАМУ
РАМУ
Слой 4
Р
Р
Слой
рецепторов
МАМА
МЫЛ
Ы
Л
МАМА
МАМ
Эффектор
Слой
Эффекторов
М
Слой 3
М
Конъюнктор
Рецептор
Рисунок 2 – Пример семантической нейросети
На синхронизирующие входы всех нейронов поступает один и тот же сигнал
«новый символ», который на рис. 2 не показан. Синхронизирующий сигнал «новый
символ» вырабатывается слоем рецепторов, когда рецепторы успешно распознали
вновь поступивший символ. В момент прихода синхронизирующего импульса все
нейроны простого линейного дерева производят обработку своих входных сигна-
«Штучний інтелект» 2’2003
75
Дибривный М.В.
2Д
лов. Так как эти входные сигналы вырабатываются по результатам предыдущего
такта другими синхронизированными нейронами, в дереве возникает эффект волны
обработки. Отметим, что для распознавания четырех слов с общим количеством
символов 4 + 4 + 3 + 4 + 4 + 4 = 23 потребовалось всего 13 нейронов-конъюнкторов,
выполняющих функцию конъюнкции, 6 рецепторов и 6 эффекторов.
В представленной сети не хватает функций определения типов или классов
объектов, таких как «существительное», «мужской род», «женский род» и других,
аналогичных. Функции определения типов объектов легко реализуются с помощью
агрегирующего подслоя, состоящего из несинхронизированных нейронов, выполняющих функции дизъюнкции и, при необходимости, инверсии (рис. 3) [5].
Слово (синхровыход)
МАМА
Женский род
Одушевленное
МЫЛА
Неодушевленное
РАМУ
Именительный падеж
РАМЫ
Винительный падеж
РАМА
Множественное число
Единственное число
МЫЛ
Существительное
Глагол
Рисунок 3
Для удобства работы объединим последовательно расположенные подслои с
общим синхронизирующим входом в группу нейронов. Эту группу и будем
называть синхронизированным линейным деревом, и обозначать условно, как
показано на рис. 4.
Рисунок 4
Группа будет иметь синхровход, входной пучок дендритов и выходной
пучок аксонов. Анализ более сложных конструкций, таких, как словосочетания
или предложения, будет осуществляться в несколько этапов, путем включения
линейных деревьев последовательно друг за другом (рис. 5).
76
«Искусственный интеллект» 2’2003
Механизм извлечения семантики текста естественного языка…
2Д
Рисунок 5
Синхровход каждого синхронизированного линейного дерева связан с синхровыходом предыдущего линейного дерева. Для текущего линейного дерева каждая предыдущая сеть является слоем рецепторов, а каждая последующая – слоем
эффекторов. Наличие несинхронизированных слоёв нейронов, выполняющих операции дизъюнкции, обусловливает возможность получения одновременно нескольких решений. Такая особенность является достоинством данной нейронной сети,
поскольку позволяет получать одновременно все возможные извлечения смысла из
входного потока символов. Этим обеспечивается последовательная обработка
понятий, уровень абстрагирования которых увеличивается с каждым линейным
деревом. Первое дерево обрабатывает символы, второе – морфемы, третье – слова,
четвертое – словосочетания и так далее.
Различным вариантам состояния входного потока символов в нейронной
сети будут соответствовать различные варианты состояния этой сети. Смыслом,
извлеченным из обработанной части текста в течение одного кванта времени,
является мгновенное состояние всех линейных деревьев. Мгновенное состояние
включает в себя мгновенный снимок множества нейронов, множества связей
между нейронами и множества внутренних состояний нейронов. Это мгновенное
состояние (смысл) запечатлевается эффекторами до следующего такта. С эффекторов снимается значение и записывается в СК. Таким образом, на вход нейросети мы подаем текст, а на выходе имеем СК.

Рассмотренные нейронные сети очень хорошо приспособлены для задач извлечения смысла из текста и для последующего кодирования смысла в специальном семантическом коде СК. Данная стратегия способна уменьшить трафик в сетях общего
пользования и уменьшить объемы хранимой информации, одновременно с доступностью этой информации для пользователей – носителей любого языка. Это
возможно благодаря хранению информации в СК и дальнейшему декодированию
этой информации в естественный язык конкретного пользователя. Интерфейсы
прикладных программ «заговорят» на родных языках разноязычных пользователей
без инсталляции дополнительных модулей адаптации программ к какому-то
естественному языку.
Автор планирует и в дальнейшем развивать исследования по данному
направлению, работая над вопросами, которые не раскрыты в данной статье.
«Штучний інтелект» 2’2003
77
Дибривный М.В.
2Д

1.
2.
3.
4.
5.
6.
7.
Дибривный М.В. Языконезависимый интерфейс // Искусственный интеллект. – 2002. – № 1. –
С. 21-27.
Чипашвили Ш.Ш. Некоторые вопросы создания единого кода семантики информации (проект
«Интерсемантика») // Искусственный интеллект. – 2000. – № 3. – С. 578-583.
Шуклин Д.Е. Применение семантической нейронной сети в экспертной системе, преобразующей смысл текста на естественном языке // Радиоэлектроника и информатика. – 2001. – № 2. –
С. 61-65.
Дударь З.В, Шуклин Д.Е. Семантическая нейронная сеть как формальный язык описания и
обработки смысла текстов на естественном языке // Радиоэлектроника и информатика. –
2000. – № 3. – С. 72-76.
Шуклин Д.Е. Структура семантической нейронной сети, извлекающей в реальном времени
смысл из текста // Кибернетика и системный анализ. – 2001. – № 2. – С. 43-48.
Васильев В.И., Шевченко А.И. Формирование и опознавание образов. – Донецк: ДонГИИИ,
2000. – 360 с.
Шабанов-Кушнаренко Ю.П. Теория интеллекта. Математические средства. – Харьков: Вища
школа; Изд-во при Харьк. ун-те, 1984. – 144 с.
М.В. Дібрівний
Механізм вилучення семантики тексту природної мови стосовно мовнонезалежних інтерфейсів і мультимовних машинних перекладачів
Розглядаються нейронні мережі як механізм вилучення змісту з тексту. Після вилучення змісту він
підлягає кодуванню в навмисно розробленому для цих цілей коді. Цей механізм запропоновано
використовувати в багатомовних автоматичних перекладачах текстів і в інтерфейсах прикладних
програм для забезпечення автоматичного перекладу меню.
M.V. Dibrivny
Mechanism of Natural Language Text Semantics Extraction for Language Independent Interfaces
and Multilingual Machine Translators
Neural networks are the mechanism of selection of sense from the text. After selection of sense it is
encoded in code specially developed for these purposes. This mechanism is offered for using in
multilingual text translators and in interfaces of application for support automatic translate menu.
Статья поступила в редакцию 30.05.03
78
«Искусственный интеллект» 2’2003
Download