Аналіз машиночитаних документів комп'ютерними
засобами h2>
Е.В. Злобін, І.В. Попенко p>
Розширення
комп'ютерного інструментарію істориків - завдання не лише важлива, але й досить
складна в силу своєї специфічності, труднощі напрацювання програмного
забезпечення для "чистого" суспільствознавця. Система KLEIO, програми
проф. Яна Олдерволла вважати швидше винятком, що підтверджує загальне
правило. Пропонована робота претендує на спробу розробки власного
програмного забезпечення, в чомусь доповнює наявні пакети математичної
статистики, в той же час, зважаючи на специфіку своєї розробки, орієнтованого
на введення і аналіз якісних ознак, виміряних в шкалі найменувань,
яка в абсолютній більшості випадків використовується істориками. p>
Іншим
спонукальним мотивом для даного дослідження з'явився криза історичної
інформатики, про який пише П. Доорн у своїх відомих тезах. Він в якійсь
мірою має стимулювати інтерес до методичної осторонь процесу, а саме,
до методів дослідження отриманих в ході грандіозних "набивок" баз
даних. Нами описується одна з систем для аналізу великих масивів
структурованих даних змішаною - числовий і нечислової - природи. p>
Вельми
часто при вивченні історичних явищ або процесів доводиться мати справу з
завданнями класифікації об'єктів по одному кількісною ознакою - числовому
- (Вимірювання в шкалі відносин), який є вихідним, і по декількох
ознаками, вимірюються в шкалі найменувань (вхідним). p>
Завдання
класифікації - мінімізувати дисперсію вихідного ознаки по кожному
вхідного. Вирішується вона в ряд етапів. На першому етапі початкова матриця
даних розбивається на групи. При цьому за вихідною ознакою і одному з
вхідних вибирається таке розбиття, при якому сума внутрішньо-групових дисперсій
мінімальна. Об'єкти можуть потрапляти в різні групи з одним і тим же значенням
вхідного ознаки. Потім іде аналіз розподілу всередині кожної з груп. Тим
самим число вхідних ознак зменшується на одиницю. Процес цей триває до тих
пір, поки зміна суми всередині групового ознаки стає мінімальним
(менше заданого порогу). У результаті виходять однорідні по всій
сукупності вхідних ознак і по їхньому відношенню до вихідного ознакою групи. p>
Типово
дослідницької завданням такого роду є вивчення впливу віку на
формування тих чи інших групових якісних характеристик історичних
особистостей. Подібного роду аналіз проводився одним з авторів при виявленні
внутрішньої структури вищого виборного органу КПРС - її Центрального Комітету і
Політбюро останнього, "передсмертного" складу. Вже тоді було ясно,
що реальний математичний і програмний апарат для такого роду завдань не
напрацьований. p>
Особливо
цінним є використання даного підходу при аналізі
просопографіческіх баз даних, які найчастіше важко піддаються формалізації
і кількісної оцінки, але в яких вікова графа в наявності
обов'язково. Крім чисто вікової графи в просопографіческіх базах
присутні різні поля типу дати (часу) отримання різних посад
(освіти, нагород тощо), які дозволяють обчислити термін перебування в тій
чи іншої категорії. Дані кількісні показники вже дозволяють застосувати
описані вище підходи. p>
Пропонований
підхід до класифікації об'єктів, описаних якісними ознаками, може бути
корисний і тому, що найбільш часто застосовуються методи кластерного аналізу, в
загальному випадку, придатні тільки для шкал відносин. Для інших шкал можливо
використання т.зв. інформаційного підходу, але це не завжди є зручним,
і призводить, по видимому, до деякого огрублення полученнного результату [1]. p>
Авторами
доопрацьована система [2], що дозволяє в масштабі реального часу вирішувати завдання
класифікації для 5 і більше (випробувана модель на 15) тис. об'єктів. Програма
реалізована на 32-бітному FORTRANe, відповідно до стандарту FORTRAN 90 [3].
При використанні її процесор переводиться в захищений режим роботи, тим самим
дозволяючи використовувати реально всю фізичну пам'ять, встановлену на машині.
Є можливість компіляції програми спеціально для використання під
Windows в розширеному режимі, яка знімає всі обмеження на обсяги
використовуваних масивів. p>
Склад
системи наведено у додатку 1. Вхідними для програми є файли типу
ASCII, які реалізуються виходячи з наявних баз даних, і один
розраховується файл прямого доступу, а також задається дослідником критерій
зміни дисперсії в групі (від 0,01 до 0,5). Вихідним - звичайний текстовий
файл із докладний роздруківкою результатів розрахунку. p>
Структурна
схема роботи програми представлена на Рис. 1. Вона тривіальна і підкреслює
особливість системи - введення найменувань нечислових ознак (т.зв. словників
значень). p>
p>
Рис.
1 p>
Підсистема
ведення архіву також вирішує стандартні для будь-якої СУБД завдання. Особливістю її
є наявність дружнього інтерфейсу і орієнтованість на підготовку
даних для власне розрахункових завдань (див. Рис. 2). p>
p>
Рис.
2. P>
Спеціально
виділена підсистема роботи зі словниками також виконує тривіальні завдання
СУБД з одним обмеженням - орієнтованістю на введення найменувань ознак,
обмежених одним рядком не більше 40 символів. Дане обмеження викликано
реальними розмірами екрану машини і великою витратою оперативної пам'яті на
масив найменувань значень. Опції її розкриті на Рис. 3. P>
p>
Рис.
3 p>
Підсистема
класифікації проводить класифікацію на основі інформації, що міститься в
записах і словниках бази даних. Класифікація складається в розбитті заданого
безлічі записів на непересічні за вхідними ознаками класи так, щоб
сумарна по всіх класах дисперсія вихідного ознаки була мінімальна. p>
Вихідний
і вхідні ознаки, що характеризують об'єкти дослідження, беруться із записів
бази (загальні для всієї сукупності), причому вихідний ознака обов'язково
числовий (наприклад, вік, обсяг доходів, чисельність працюючих, населення і
тощо), а вхідні ознаки можуть бути і якісними, але задаються символьними
кодами (до 15 символів). p>
Діалог
користувача з системою будується з введенням такої інформації: - назва бази
даних; - визначення сукупності записів з архіву для проведення
класифікації; - вихідний (числовий) ознака, за якою проводиться
класифікація; - набір вхідних ознак, за допомогою яких описуються групи;
- Параметр розбиття, що визначає кількість груп. P>
Експлуатація
даного програмного продукту максимально проста. При роботі з програмою для
вибору в системі меню використовуються клавіші додаткової клавіатури, а для
підтвердження вибору клавіша. Для виходу і продовження дії в більшості
пунктів використовується клавіша. Перелік використовуваних клавіш постійно
наводиться в нижній строчці екрану. p>
Описувана
програма пред'являє жорсткі вимоги до "заліза" комп'ютера і
призначена для використання на IBM-сумісних ПЕОМ, які мають процесор з
розрядністю не нижче 32 (тобто, 386 і вище) і вимагає для роботи не менше 4
мБ загальної ОЗУ і не менше 600 кБ в нижній пам'яті (conventional). Дане
обмеження на пам'ять введено з огляду на величезній розмірності прораховувані
масивів (у даній версії число об'єктів 5000). p>
Для
одержання максимально можливого обсягу пам'яті рекомендується використовувати
операційну систему версії 6.2 і вище. Для звільнення "нижньої"
пам'яті необхідно драйвери пристроїв завантажувати в "верхню" пам'ять і в
UMB блоки, туди ж поміщати і операційну систему. Точно також потрібно і
максимально можливу кількість резидентних програм вантажити
"вгору". Все це досягається використанням драйверів HIMEM.SYS і
EMM386.EXE, команд DEVICEHIGH і LH, реалізованих стандартним чином. P>
Драйвер
EMM386 запускається з ключем NOEMS. У разі видачі повідомлення про нестачу пам'яті
при запуску бази можливі наступні шляхи подолання цієї проблеми: - включення
ключа NOVCPI в командний рядок драйвера EMM386; - включення рядка SET
CLIPPER = E в файл AUTOEXEC.BAT. P>
В
додатку N 2 пропонуються варіанти конфігурації операційної системи,
стосовно до висловлених рекомендацій на комп'ютера з ОЗУ 4 мБ, включеної
звуковою картою, CD-диском і прозорим архіватором вінчестера STACKER. У
разі потреби в іншій конфігурації ОС на ПЕОМ, має сенс реалізувати
дані файли з меню вибору при завантаженні. p>
Опишемо
коротко розрахункові програми. Програма VVPR формує вектор-запис в файл
прямого доступу OBPR. Змістовно цей запис являє собою значення
чергового ознаки для всіх обраних об'єктів. p>
Звернення
до програми VVPR відбувається в циклі (по числу ознак) з базової програми
при обробці обраних ознак p>
Вхід: p>
назва файлу p>
розмір p>
вміст p>
PARAM.TXT p>
1 запис-4 поля p>
nob - число обраних об'єктів p>
i1 - номер поточного ознаки p>
nnopr - назва вихідного
ознаки p>
eps - точність p>
PROB.TXT p>
1 запис - nob полів p>
значення поточного ознаки для
всіх обраних об'єктів p>
Вихід: p>
Файл
прямого доступу OBPR (матриця об'єкт-ознака) рядок - ознака, стовпець --
об'єкт, розмірність - число обраних об'єктів, помножене на число обраних
ознак, перший рядок - значення вихідного ознаки для всіх об'єктів,
інші рядки - значення відповідних вхідних ознак для всіх
вибраних об'єктів (в ході подальшої роботи стирається). p>
Програма
VVPR за один прохід формує один запис типу рядок - ознака і готує
дані для роботи програми RASH - власне розрахункову програму. У цій
програми: p>
Вхід: p>
Файли
OBPR, PARAM.TXT, NAPR, NAZPR. P>
Файли
NAPR і NAZPR формуються в програмі бази на основі інформації, що міститься в
словниках. p>
Вихід: p>
Файл
FCSG.DAT Файл є один запис, що складається з наступних
елементів: p>
1 p>
Номер групи p>
2 p>
Число об `єктів в цiй
групі = nobg p>
3-2 + nobg p>
Номери об'єктів у групі p>
2 + nobg 1 p>
Номер рівня, на якому
відбулося розбиття за цією ознакою p>
2 + nobg 2 p>
Номер ознаки p>
2 + nobg 3 p>
Число значень даної ознаки p>
наступні jpr елементів p>
Номери значень ознаки p>
Потім
номер наступної групи, далі все аналогічно. Номери рівнів йдуть за спаданням,
як тільки номер рівня = 1, починається наступна група. p>
На
вході в RASH також: p>
Файли: p>
napr.txt
- Імена ознак, які ми вибрали з словника словників p>
nazpr.txt
- Назва значень ознак з відповідного словника, код словника по
кожною ознакою p>
Беруться
підряд всі ознаки, спочатку числовий код, потім назви ознаки поспіль всі
перераховуються. p>
Файл
PARAM.TXT - 500_3_ "вихідний ознака" _0, 200. Включає: Число записів
(500), кількість вхідних ознак (3), назва вихідного ознаки, необхідну
точність обчислень (0.2). p>
Файл
BNAPR.DBF - наступні поля: p>
NSLOV,
LSLOV - кількість записів у словнику, NAPRIZ - назва словника, NSL - ім'я словника. p>
STRA.DBF
- Файл dbf, в який записуються вибрані параметри порядково. p>
На
виході системи формується текстовий файл підсумкових розрахунків. Приклад його
наведено в Додатку 3. У даній версії цей файл затирається, але може бути
легко відновлений стандартними засобами (типу UNDELETE та ін.) Надалі
він може редагувати будь-яким текстовим редактором. p>
Описана
система буде використана при обрахунку великих масивів інформації,
нарабативаемх у ході реалізації спільних проектів з Державним архівом
РФ. P>
Додаток
1. Склад системи. P>
Система
розміщується на 1 дискеті 5,25 '(1,2 мБ) або 3,5' (1,44 мБ) і включає наступні
файли: p>
VVPR.EXE p>
DOS4GW.EXE p>
RASCH.EXE p>
Розрахункові програми для класифікації. p>
ITOG.DBF p>
KAT_A.DBF p>
KAT_S.DBF p>
PROSM.DBF p>
SHAB_A.DB_ p>
SHAB_S.DBF p>
ITG_D.DBF p>
SHAB_AD.DBF p>
Файли баз даних необхідних для нормального функціонування системи. p>
DIAG_DEM.EXE
- Демонстраційна програма p>
RECLAMA.EXE
- Рекламний ролик з музикою p>
ITG_D.SYS
- Текстовий файл - приклад результату отриманого в ході класифікації
(необхідний для нормального функціонування демонстраційної програми) p>
BRED.BAT
- Специфічність файл, що не вимагає запуску користувачем. Необхідний для
нормальної роботи системи. p>
Додаток
2. Варіанти написання файлів config.sys і autoexec.bat: p>
Вміст
файлу config.sys p>
DEVICE = C: DOSHIMEM.SYS p>
DEVICEHIGH = C: DOSEMM386.EXE NOEMS
NOVCPI/V p>
DEVICE = C: STACKERDPMS.EXE p>
DEVICEHIGH = C: STACKERSTACHIGH.SYS p>
LASTDRIVE = H DOS = HIGH, UMB p>
rem Завантаження DOS наверх p>
FILES = 100 p>
DEVICEHIGH = C: DOSSETFNT.SYS p>
COUNTRY = 07,, C: DOSCOUNTRY.SYS p>
DEVICEHIGH = C: MOUSEMOUSE.SYS/1 p>
SHELL = C: COMMAND.COM/P/E: 4096
STACKS = 9,256 p>
Вміст
файлу autoexec.bat (в машині використовується пакет STACKER) p>
@ REM THE CHECK LINE BELOW PROVIDES
ADDITIONAL SAFETY p>
@ REM PLEASE DO NOT REMOVE IT. p>
@ C: STACKERCHECK/WP p>
SET COMSPEC = C: COMMAND.COM p>
LH C: DOSSMARTDRV.EXE 512 256/V p>
PATH С: SIDIAK; C:; C: DOS; .. C: STACKER; E: LEXICON p>
SET BLASTER = A220 I10 D1 T4 p>
SET CLIPPER = F100 p>
REM БЕЗ NOVCPI - SET CLIPPER = E0 p>
SET TEMP = C: WINDOWSTEMP p>
SET LEX = D: TEXTKAF p>
LH C: UTILRUSUNISCR p>
LH C: UTILRUSUNIKBD LH C: VCVC p>
Додаток
3. Приклад файлу itog.txt з результатами розрахунків p>
Вихідна сукупність об'єктів розбита p>
на 1 групу. p>
Всього обрахувало p>
500 об'єктів p>
Вихідний ознака p>
ВІК ДЕПУТАТІВ ДЕРЖАВНОЇ ДУМИ p>
Параметр класифікації p>
0.50 p>
Число вхідних ознак p>
3 p>
Вхідний ознака p>
ОСНОВНА ПРОФЕСІЯ p>
Вхідний ознака p>
НАЦІОНАЛЬНІСТЬ p>
Вхідний ознака p>
ПАРТІЙНОГО p>
N груп p>
Число об `єктів p>
Середнє значення вихідн.
ознаки p>
Ст. откл. вих.прізн. p>
N 1 p>
500 p>
42.56 p>
9.84 p>
ГРУПА
N 1 p>
В
Ця група входить 500 об'єктів з наступними номерами: p>
102 p>
254 p>
154 p>
157 p>
166 p>
177 p>
321 p>
150 p>
158 p>
160 p>
161 p>
162 p>
167 p>
169 p>
174 p>
175 p>
195 p>
201 p>
239 p>
240 p>
241 p>
242 p>
245 p>
250 p>
256 p>
260 p>
263 p>
264 p>
265 p>
267 p>
і
так далі ... p>
Вихідний
ознака - ВІК ДЕПУТАТІВ ДЕРЖАВНОЇ ДУМИ p>
Середнє
значення вихідної ознаки - 42.56 p>
Стандартне
відхилення - 9.84 p>
Група
визначається наступними значеннями вхідних ознак: p>
Ознака
N 1 - ОСНОВНА ПРОФЕСІЯ і так далі .... p>
Список літератури h2>
1.
Устинов В.А., Фелінгер А.Ф. Історико-соціальні дослідження, ЕОМ і
математіка.-М., 1973. p>
2.
Первісна версія програми була реалізована на FORTRAN 77 А. Кардаш і А.
Бігуном під керівництвом В. Саакяна. P>
3.
Самохін А.Б., Самохіна А.С. Фортран та обчислювальні методи для користувача
IBM PC. М., Русина, 1994. P>