Смекни!
smekni.com

Анализ машиночитаемых документов компьютерными средствами (стр. 1 из 2)

Е.В. Злобин, И.В. Попенков

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

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

Весьма часто при изучении исторических явлений или процессов приходится иметь дело с задачами классификации объектов по одному количественному признаку - числовому - (измеренному в шкале отношений), который является выходным, и по нескольким признакам, измеренным в шкале наименований (входным).

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

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

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

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

Авторами доработана система[2], позволяющая в масштабе реального времени решать задачи классификации для 5 и более (опробована модель на 15) тыс. обьектов. Программа реализована на 32-битном FORTRANe, в соответствии со стандартом FORTRAN 90 [3]. При использовании ее процессор переводится в защищенный режим работы, тем самым позволяя использовать реально всю физическую память, установленную на машине. Имеется возможность компиляции программы специально для использования под Windows в расширенном режиме, которая снимает все ограничения на объемы используемых массивов.

Состав системы приведен в приложении 1. Входными для программы являются файлы типа ASCII, которые реализуются исходя из имеющихся баз данных, и один рассчитываемый файл прямого доступа, а также задаваемый исследователем критерий изменения дисперсии в группе (от 0,01 до 0,5). Выходным - обычный текстовый файл с подробный распечаткой результатов расчета.

Структурная схема работы программы представлена на Рис. 1. Она тривиальна и подчеркивает особенность системы - ввод наименований нечисловых признаков (т.н. словарей значений).

Рис. 1

Подсистема ведения архива также решает стандартные для любой СУБД задачи. Особенностью ее является наличие дружественного интерфейса и ориентированность на подготовку данных для собственно расчетных задач (см. Рис. 2).

Рис. 2.

Специально выделенная подсистема работы со словарями также выполняет тривиальные задачи СУБД с одним ограничением - ориентированностью на ввод наименований признаков, ограниченных одной строкой не более 40 символов. Данное ограничение вызвано реальными размерами экрана машины и большим расходом оперативной памяти на массив наименований значений. Функции ее раскрыты на Рис. 3.

Рис. 3

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

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

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

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

Описываемая программа предъявляет жесткие требования к "железу" компьютера и предназначена для использования на IBM-совместимых ПЭВМ, имеющих процессор с разрядностью не ниже 32 (то есть, 386 и выше) и требует для работы не менее 4 мБ общей ОЗУ и не менее 600 кБ в нижней памяти (conventional). Данное ограничение на память введено ввиду огромной размерности просчитываемых массивов (в данной версии число объектов 5000).

Для получения максимально возможного обьема памяти рекомендуется использовать операционную систему версии 6.2 и выше. Для освобождения "нижней" памяти необходимо драйверы устройств загружать в "верхнюю" память и в блоки UMB, туда же помещать и операционную систему. Точно также требуется и максимально возможное количество резидентных программ грузить "наверх". Все это достигается использованием драйверов HIMEM.SYS и EMM386.EXE, команд DEVICEHIGH и LH, реализуемых стандартным образом.

Драйвер EMM386 запускается с ключом NOEMS. В случае выдачи сообщения о нехватке памяти при запуске базы возможны следующие пути преодоления этой проблемы: - включение ключа NOVCPI в командную строку драйвера EMM386; - включение строки SET CLIPPER=E в файл AUTOEXEC.BAT.

В приложении N 2 предлагаются варианты конфигурации операционной системы, применительно к высказанным рекомендациям на компьютера с ОЗУ 4 мБ, включенной звуковой картой, CD-диском и прозрачным архиватором винчестера STACKER. В случае потребности в другой конфигурации ОС на ПЭВМ, имеет смысл реализовать данные файлы с меню выбора при загрузке.

Опишем кратко расчетные программы. Программа VVPR формирует вектор-запись в файл прямого доступа OBPR. Содержательно эта запись представляет собой значения очередного признака для всех выбранных объектов.

Обращение к программе VVPR происходит в цикле (по числу признаков) из базовой программы при обработке выбранных признаков

Вход:

имя файла размер содержимое
PARAM.TXT 1 запись-4 поля nob - число выбранных объектовi1 - номер текущего признакаnnopr - название выходного признакаeps - точность
PROB.TXT 1 запись - nob полей значения текущего признака для всех выбранных объектов

Выход:

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

Программа VVPR за один проход формирует одну запись типа строка - признак и готовит данные для работы программы RASH - собственно расчетную программу. У этой программы:

Вход:

Файлы OBPR, PARAM.TXT, NAPR, NAZPR.