Ярушкина Н.Г., Наместников А.М., Селяев А.Г., Островский А.А

advertisement
УДК 681.3
Интеллектуальный проектный репозитарий
Ярушкина Н.Г., Наместников А.М., Селяев А.Г., Островский А.А., Корунова Н.В.,
Родионова Ю.А., Чекина А.В.
Введение
В настоящее время, в связи с геометрическим ростом информации, решение задач
информационного поиска (ИП) электронных информационных ресурсов является
актуальной задачей, имеющей существенную научную и практическую ценность. Для
решения задач ИП электронных информационных ресурсов (ЭИР) применяют
специальный класс автоматизированных систем: информационно-поисковые системы
(ИПС).
Существующие ИПС предлагают различную функциональность и технологичность
для повышения качества и скорости поиска. К сожалению, большинство ИПС направлено
на решение определенных задач: систематизация данных, поиск веб-ресурсов,
классификация электронных ресурсов, управление электронными документами,
управление потоками работ и т.п. Для управления любыми ЭИР и информацией об ЭИР,
используется отдельный вид ИПС: системы управления знаниями. Данный вид систем
позволяет значительно расширить возможности коллективной работы, работ по
управлению проектами и предлагает интеллектуальные средства для работы с
информацией (анализу, хранению, поиску и представлению).
Анализ программного обеспечения, позволяет утверждать, что отсутствуют
универсальные автоматизированные средства и классификаторы, позволяющие
систематизировать информационные ресурсы по любому основанию. Вместе с тем
существуют отдельные отрасли человеческой деятельности, призванные решать задачи
информационного поиска, например архивная и библиотечно-библиографическая
деятельности. В данных областях накоплен богатый опыт хранения, индексации и поиска
информации. Объединение опыта и современных технологий может существенно
повысить качество информационного поиска.
В ФНПЦ ОАО «НПО «МАРС» находится в эксплуатации программное средство
автоматизации деятельности архивной службы ЭИР. Была поставлена задача расширить
функционал данного программного средства с целью автоматизации части функций
архиваторов и интеллектуализации части процессов по управлению информацией.
1. Постановка задачи
Для построения интеллектуального проектного репозитария (ИПР) существующую
систему
управления
базами
данных
необходимо
дополнить
следующими
функциональными модулями:
- модуль индексации;
- модуль кластеризации и классификации.
На модуль индексации возложены задачи предобработки текстовых документов или
аннотаций к ЭИР и построение частотных словарей встречающихся терминов.
Сохранение частотных таблиц необходимо производить в СУБД MS SQL 2000. Далее, в
рамках модуля кластеризации и классификации, на основе значений относительных
частот должны создаваться предметно-ориентированные кластеры, которые организуются
в виде иерархии. В процессе классификации выполняется задача соотнесения вновь
заносимого ЭИР с определенным кластером.
Информационная система предполагает три группы пользователей: архивариус,
проектировщик и администратор. Архивариус занимается систематизацией проектов,
проектировщик производит занесение информационных ресурсов в базу данных и
осуществляет их поиск. Администратор - человек, который осуществляет настройку
функциональности ИПР.
Функция систематизации проектов, которую выполняет архивариус, включает в себя
проверку пользователя, модификацию дерева классификации и модификацию кластеров.
Проекты сохраняются в БД проектов. Функция занесения и поиска проектов, которая
закреплена за проектировщиком, включает в себя проверку пользователя, занесение
новых проектов, удаление проектов и поиск проектов. Задача настройки
функциональности, выполняемая администратором, включает настройку частотных
словарей, настройку работы классификатора и настройку работы кластеризатора.
2. Реализация интеллектуального сетевого архива
2.1. Описание модуля индексации
Модуль индексации представляет собой отдельный модуль программы, предназначенный
для предварительного анализа электронных информационных ресурсов (форматы: MS
Word, RTF, простой текстовый формат и пр.) с целью формирования данных для
проведения процессов кластеризации и информационного поиска.
Индексатор позволяет пользователю:
- интерактивно указать группу документов для анализа,
- запустить процесс индексирования.
В процессе работы индексатор ведет журнал контрольных событий (выводит на экран и
записывает в log-файл).
Словари
Словари в БД представлены двумя таблицами:
- словари терминов английского языка,
- словари терминов русского языка.
Временные таблицы
В процессе индексирования используются таблицы промежуточных данных:
- хранение промежуточных данных при занесении данных в БД;
- хранение неопознанных при эксперименте терминов.
Результирующие таблицы
Результирующие таблицы содержат данные необходимые для проведения экспериментов
по кластеризации и информационному поиску:
- частотный словарь проиндексированных документов,
- справочник проиндексированных текстов,
- полный частотный словарь (содержащий также и нулевые частоты),
- словарь терминов, определенных на наборе документов.
Процесс формирования списка слов документа:
Индексатор для получения простого текста (в формате ANSI) электронного документа
использует средства объекта Word.Application. Для этого на рабочей станции должен быть
установлен Microsoft Word.
Индексатор вычленяет из текста слова, используя для этого правило: «каждое слово
отделяется от другого пробелом». При формировании списка слов удаляются символы не
входящие в набор символов русского и английского языков.
Процесс занесения данных в базу данных
После формирования списка слов документа полученные слова в том случае если они
встретились в словарях базы данных (словари основ терминов русского и английского
языков) заносятся в промежуточную таблицу. В противном случае неопознанные слова
переносятся в таблицу неопознанных при эксперименте термов.
После переноса слов во временную таблицу данные группируются и заносятся в
частотный словарь проиндексированных документов. Также на данном этапе
индексирования формируются данные в справочнике проиндексированных текстов, в
полном частотном словаре и в словаре терминов, определенных на наборе документов.
Формирование частотных словарей
Для оценки значимости слов в индексаторе используется методы определения частот слов
каждого документа и частот, рассчитанных по формуле Шеннона (сигнал-шум):
Sk
wi = k ,
N
k
N - шум термина,
где
n
fik
Fk
k
N =  k log k ,
fi
i=1 F
где
f i k - частота k - го термина в i - м документе,
F k - частота k - го термина по всем документам,
S k - сигнал термина
S k = log F k  N k .
Данные показатели хранятся вместе со словами в результирующей таблице частот
терминов.
2.2. Описание модуля кластеризации на основе самоорганизующихся карт Кохонена
и классификации
Модуль кластеризации и классификации представляет собой отдельный модуль
программы, предназначенный для разбивки массива текстовых документов на классы на
основе частотных портретов, полученных при проведении процесса индексирования.
Для кластеризации применяется нейронная сеть, использующая метод обучения без
учителя (unsupervised learning) - самоорганизующие карты Кохонена (Self-Organizing Map
– SOM). Другая подсистема кластеризации построена на основе fuzzy-c-means метода и
рассмотрена далее.
Кластеризатор позволяет пользователю выполнить следующие действия:
- интерактивно настроить параметры подключения и подключиться к базе данных,
- интерактивно изменить параметры нейронной сети,
- запустить процесс кластеризации,
- сохранить полученный результат в базе данных.
Входные данные для кластеризации хранятся в следующих таблицах:
- таблица метаданных,
- справочник проиндексированных текстов,
- полный частотный словарь (включая нулевые термины).
Результирующие таблицы содержат данные необходимые для проведения
экспериментов по информационному поиску. Таблицы, хранящие результат
кластеризации – полученные кластеры:
- таблица кластеров,
- таблица связей между кластерами и терминами,
- таблица связей между кластерами и информационными ресурсами.
Таблицы, хранящие настроенную нейронную сеть:
- список нейронных сетей,
- список выходных сигналов нейронов,
- список весов нейронов.
Особенности реализации нейронной сети
К классическому представлению нейронной сети в виде двухмерной матрицы N*N
нейрона добавлено третье измерение – веса каждого нейрона в виде динамического
массива.
В качестве параметров нейронной сети используются:
- норма обучения
- множитель для нормы обучения
- радиус активности области нейрона-победителя
- число производимых итераций
- шаг модификации
Процедуры работы с нейросетью
В системе используются две основные процедуры настройки нейронной сети:
инициализации весов нейронов случайным образом и самообучение сети Кохонена
(алгоритм SOM)
Алгоритм SOM (повторяется для каждого входного вектора):
Шаг 1. Инициализация параметров сети
Шаг 2. Цикл по числу итераций в сети
Шаг 2.1 Определение расстояний между входным вектором X и вектором
весов W каждого нейрона по формуле: D j 
(x  w )
i
2
i j
.
i
Шаг 2.2 Определение нейрона-победителя, с минимальным расстоянием
Шаг 2.3 Определение области активации нейрона-победителя
Шаг 2.4 Определение весов нейронов внутри области активации по
формуле: W j (t  1)  W j (t )   [ X  W j (t )] .
Шаг 3. Запись документа в массив кластеров
Выходной поток кластеров представляется в виде динамического двухмерного массива:
Кластер 1
Кластер 2
…
Документ 1
1
Документ 2
Документ 3
1
1
…
При попадании документа в кластер на пересечении ставится единица. Данная
таблица является результирующей и, преобразованная в дерево результатов (где корневые
директории – кластеры, содержащие каждый свои документы), выводится на экран.
Сеть SOM имеет набор входных элементов (частотные портреты текстовых
документов, которые необходимо инициализировать из базы данных), и набор выходных
элементов (иерархию кластеров), отображающихся в виде дерева результатов. Обучение
нейронной сети происходит на каждом документе.
2.3. Алгоритм кластеризации fuzzy c-means.
Метод основан на минимизации целевой функции:
N
C
J =  uijm xi  c j ,
i=1 j=1
где N- количество документов,
С-количество кластеров,
uij
- степень принадлежности ресурса i кластеру j,
m – любое действительное число, большее 1,
xi - i-ый ресурс набора документов,
c j - j-ый кластер набора кластеров,
xi  c j - норма, характеризующая расстояние от центра кластера j до ресурса i.
Алгоритм кластеризации состоит из следующих этапов.
1. Инициализация.
На этом этапе задаются параметры кластеризации и инициализируется
первоначальная матрица принадлежности ресурсов кластерам. Выбираются значения
следующих параметров:
параметр m. От выбора этого параметра зависит значение функции принадлежности
ресурса кластеру. Обычно ~1.5..2. Чем больше значение, тем более «нечеткая»
кластеризация;
мера расстояний - xi  c j . Мера расстояний характеризует степень близости ресурса
кластеру (Евклидово расстояние, квадрат Евклидова расстояния, расстояние городских
кварталов, расстояние Чебышева, степенное расстояние и др.) Как правило, выбирается
евклидова норма:
1

2 2
xi  c j =   x ij  v kj  ,
 j=1

где q – количество уникальных термов набора ресурсов,
x ij - количество терма j в i-ом ресурсе,

q

v kj - значение, соответствующее терму j в k-ом кластере;
уровень точности ε (параметр сходимости алгоритма). Когда разность значений
целевых функций текущей и предыдущей итераций достигнет этого уровня, считается, что
кластеризация завершена;
количество итераций алгоритма. Параметр задается во избежание зависания
алгоритма при невозможности достижения уровня точности.
После выбора параметров генерируется случайным образом первоначальная матрица
принадлежности ресурсов кластерам.
- Вычисление центров кластеров.
Каждый кластер, как и ресурс, характеризуется набором термов, но уже набором
термов из всех ресурсов. Каждому j-ому терму из уникального набора термов всех
ресурсов ставиться в соответствии действительное число, вычисляемое следующим
образом:
N
u
cj =
m
ij
 xi
i=1
,
N
u
m
ij
i=1
где c j - значение j-ого параметра кластера,
N – количество ресурсов,
xi - значение терма j i-го ресурса,
uij - степень принадлежности ресурса i кластеру j.
- Формирование новой матрицы принадлежности.
На этом этапе формируется новая матрица принадлежности с учетом вычисленных
на предыдущем шаге центров кластеров:
1
u ij =




l=1

c
2
xi  c j  m  1

xi  cl 

, где
u ij - степень принадлежности ресурса i кластеру j,
c j - вектор центра j – го кластера,
c l - вектор центра l – го кластера.
При этом, если для некоторого кластера j и некоторого ресурса i, xi  c j =0, тогда
полагаем, что степень принадлежности uij равна 1, а для всех остальных кластеров
степень принадлежности этого ресурса равна нулю.
- Вычисление целевой функции.
На этом этапе вычисляется значение целевой функции, и полученное значение
сравнивается со значением на предыдущей итерации. Если разность не превышает
заданного в параметрах кластеризации значения ε, считаем, что кластеризация завершена.
В противном случае переходим ко второму шагу алгоритма.
Download