Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОНС / РГР / Нейро-семант преобразование

.doc
Скачиваний:
16
Добавлен:
27.04.2015
Размер:
87.04 Кб
Скачать

СТРУКТУРНЫЕ ПРЕОБРАЗОВАНИЯ

ТЕКСТОВОЙ ФОРМЫ

Задание

Осуществить иерархически-сетевое преобразование двух текстовых последовательностей, заданных преподавателем.

Последовательность выполнения

1. Преобразовать текстовые последовательности к двоичному виду, используя таблицу кодов ASCII.

2. Выполнить иерархически-сетевое преобразование первой текстовой последовательности I1(a) при k=2. В отчете отразить все шаги алгоритма.

3. Построить многодольный граф полученной нейросемантической структуры (НСС).

4. Вычислить коэффициент выигрыша ресурса (1.1) для полученной НСС.

5. Рассчитать частоты dij и значения порога dp (1.2) для каждого слоя НСС.

6. Построить графики распределения частот для каждого слоя (словаря) НСС.

7. Выполнить иерархически-сетевое преобразование второй текстовой последовательности I1(a) при k=2, используя уже составленные словари НСС. В отчете отразить все шаги алгоритма.

8. Скорректировать многодольный граф НСС. Вычислить коэффициент выигрыша ресурса (1.1) для полученной НСС. Сравнить данные коэффициенты для 1-й и 2-й НСС. Сделать выводы.

9. Рассчитать частоты dij и значения порога dp для каждого слоя новой НСС.

10. Построить графики распределения частот для каждого слоя (словаря) НСС, сравнить их с предыдущими. Сделать выводы.

Теоретическая часть

Иерархически-сетевое преобразование текстовой формы (иерархически-сетевая рекурсия)

Чтобы понять идею иерархически-сетевого преобразования, рассмотрим формирование нейро-семантической структуры (НСС) на произвольной текстовой последовательности I(a) длины l, начиная с t0

Разделим последовательность I(a) на отрезки s (слова) длиной по k символов.

t0

================================= l

| k | k | k | . . . | k |

На отрезках s построим словарь S(s). Вместо отрезков s в текстовой последовательности I(a) поставим их номера (индексы, ссылки) в словаре S. В результате исходная последовательность I(a) перейдет в последовательность ссылок, аналогичную I(a), но более короткую (m1 = l/k) и словарь S1.

1 2 n1

1 1 2 . . . m1 + |=====||=====|...|=====| S1

Проводя такую же процедуру, но уже с последовательностью ссылок, мы получаем новую последовательность ссылок но уже в k2 раз более короткую (m2 = l/ k2), чем исходная I(a) и иерархическую структуру словарей S1 и S2.

1 1 2 1 3 4 5 6 7 . . . m1

| k | k | . . . | k |

1 2 n2

|=====||=====|...|=====| S2

1 2 3 1 . . . m2 + |=====||=====|...|=====| S1

Многократно, а точнее, N=[logk(l)] раз повторяя эту процедуру мы получаем N-уровневую иерархическую структуру словарей и преобразованную исходную текстовую последовательность I(a) длиной в один символ-код, который всегда равен единице и соответственно его можно опустить. Т.е. вся исходная текстовая последовательность I(a) перешла в иерархическую структуру словарей (многодольный граф).

1

|=====| SN

. . .

1 2 n2

|=====||=====|...|=====| S2

1 + |=====||=====|...|=====| S1

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

Как пример рассмотрим формирование НСС уже на конкретной последовательности, приведенной к двоичному виду:

l0={01100101011011011010001101101001}.

На первом шаге выберем некоторую длину, например k1=2, и разделим исходную последовательность длиной l0 на подпоследовательности (цепочки) по k1 символов.

Каждую уникальную цепочку по k1 символов занесем в словарь в порядке ее появления в l0 (L1 - 1-й слой НСС), а вместо нее поставим ссылку на эту цепочку символов в словаре.

1-й шаг k1=2

l0 01100101011011011010001101101001

Номера цепочек

в словаре

Последовательность ссылок 1 2 3 4

l1 1 2 1 1 1 2 3 1 2 2 4 3 1 2 2 1 + "01"10"11"00" L1

В результате исходная последовательность символов превратится в последовательность ссылок (l1) и словарь (L1), причем, число элементов в последовательности ссылок l1 в k1 раз меньше, чем число символов в исходном тексте l0.

Повторим эту процедуру. Разделим последовательность ссылок l1 по k2 (k2=2) ссылок и сформируем новый иерархический словарь, представляющий совокупность словарей L1 и L2.

2-й шаг k2=2

l1 1211123122431221 Номера цепочек в словарях

1 2 3 4 5 6

12 11 31 22 43 21 L2

l2 1 2 1 3 4 5 1 6 + "01"10"11"00" L1

В результате получим последовательность ссылок l2 на словарь L2 и два словаря L1 и L2, причем, число элементов в этой последовательности (l2) в k2 раз меньше, чем число число элементов в последовательности l1.

Многократно (а точнее [logk(l)], где k - параметр системы) раз применяя эту процедуру, получим рекурсивно-ссылочную НСС вместо исходного текста l0.

3-й шаг k3=2

l2 12134516 Номера цепочек в словарях

1 2 3 4 5 6

12 13 45 16 L3

12 11 31 22 43 21 L2

l3 1 2 3 4 + "01"10"11"00" L1

4-й шаг k4=2

Номера цепочек в словарях

l3 1234 1 2 3 4 5 6

12 34 L4

12 13 45 16 L3

12 11 31 22 43 21 L2

l4 1 2 + "01"10"11"00" L1

5-й шаг k5=2

Имена

l4 12 словарей

12 L5

12 34 L4

12 13 45 16 L3

12 11 31 22 43 21 L2

l5 1 + "01"10"11"00" L1

Таким образом, исходная последовательность символов полностью переходит в НСС (рис 1.1). Следует отметить, что если на каком-либо шаге построения НСС длина последней цепочки символов в li последовательности меньше параметра ki, то эту цепочку следует дополнить символами “0”.

П олученную НСС можно преобразовать до более привычного вида, добавив новый словарь с "привычными" терминальными элементами "0" и "1" (алфавит - А) и заменив терминальные элементы словаря L1, ссылками на новые терминальные элементы. В результате НСС приобретет следующий вид (рис. 1.2).

Все словари (слои) этой НСС строятся по одному принципу, кроме А (или 1-го) словаря. Этот словарь является "терминальным" и служит для интерфейса между НСС и исходным текстом l0, который кодируется в двоичном виде.

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

Данное структурное описание НСС можно представить в виде многодольного графа (рис. 1.3).

Д ля большинства предметных областей при данном преобразовании текстовой формы (I(a)) в иерархически-сетевую нейросемантическую структуру (НСС) происходит выигрыш в ресурсе (R>1). Для этого определяют коэффициент выигрыша ресурса

R=R(I(a)) / R(НСС), (1.1)

где R(I(a)) – ресурс исходной текстовой последовательности, определяемый в битах; R(HCC) - ресурс НСС, определяемый как размер памяти, необходимый для хранения НСС (без учета кодирования номеров словарей).

Для рассмотренного примера коэффициент выигрыша ресурса составляет

R=32/95=0,337.

Очевидно, что если разделять текстовую форму в процессе ее преобразования на адаптирующиеся отрезки длиной в k=f(ИП,I(a)), то можно существенно улучшить соотношение (1.1). Для этого выполняют нейро-лингвистическое преобразование.

Нейро-лингвистическое преобразование

Механизм адаптации длины отрезков иерархически-сетевого преобразования текстовой формы с целью повышения эффективности соотношение (1.1) называется нейро-лингвистическим преобразованием.

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

Затем в каждом словаре (S1, S2, ... , SN) вычисляется значение порога dpj

,

, (1.2)

где dpj – пороговое значение для j–го словаря; dij - частота встречаемости i–го элемента j–го словаря.

З атем помечаются все элементы словарей (*), частота активации которых превышает dp (рис. 1.4).

Далее, осуществляется итеративный прогон уже обработанной текстовой последовательности (или же берется следующая порция) I(a) и закрашиваются участки, соответствующие "активным" элементам словаря S1.

======*****==******======******====******====== I(a)

. . . |///////| |/////////| >k |/////////| |////////| . . .

k k

Со всеми незакрашенными участками I(a) между закрашенными осуществляется вышеописанное иерархически-сетевое преобразование. Для всех остатков меньших k (k) формируются неполные элементы словаря S1. Аналогичная процедура повторяется для словарей S2, S3, ... , SN.

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

-10-

Курс “Нейрокомпьютерные системы”