- Электронные архивы позволяют предприятиям в
структурированном виде накапливать информацию, содержащуюся в
документах. Занесение документов осуществляется по схеме, описанной
в статье [1], при этом документ проходит через этапы сканирования,
распознавания, верификации и собственно занесения в архив. В статье
[2] описаны методы решения задачи поиска ассоциаций в электронном
архиве. Это помогает ускорить процесс верификации документов,
соответственно, уменьшить время занесения в архив. Накопленные же
документы можно использовать не только в повседневной работе
организации, но и для выявления некоторых тенденций и составления
прогнозов развития. В данной статье рассмотрим методы решения задачи
прогнозирования, используя некоторую кластеризацию архива.
- Итак, в архиве накоплено некоторое количество документов, атрибуты которых принимают значения разных типов: число, дата/время, строка и др. Необходимо предсказать значения атрибутов для будущих документов. Например, имеются данные о суммах в договорах, необходимо выявить тенденцию и предположить значения сумм последующих договоров. Для этого можно использовать методы аппроксимации и экстраполяции. Но сначала необходимо разбить исходное множество документов на группы, то есть произвести кластеризацию. Рассмотрим этот момент подробнее.
- Во-первых, первоначальное разбиение на группы уже выполнено в архиве делением документов на типы. Однако к одному типу может относиться довольно большое количество документов, поэтому необходим дополнительный признак. В статье [2] описаны методы создания справочника значений – таблицы наиболее часто встречающихся пар значений атрибутов. Строго говоря, справочник – это некоторый набор экземпляров правил вида «Если , то с вероятностью ». Здесь и - некоторые атрибуты, и - значения атрибутов, - численное значение вероятности. Для получения справочника можно использовать следующие методы:
- Итак, в архиве накоплено некоторое количество документов, атрибуты которых принимают значения разных типов: число, дата/время, строка и др. Необходимо предсказать значения атрибутов для будущих документов. Например, имеются данные о суммах в договорах, необходимо выявить тенденцию и предположить значения сумм последующих договоров. Для этого можно использовать методы аппроксимации и экстраполяции. Но сначала необходимо разбить исходное множество документов на группы, то есть произвести кластеризацию. Рассмотрим этот момент подробнее.
- метод полного вероятностного справочника, описывающий вероятности всех встречающихся пар значений;
- метод складывающихся столбцов, являющийся более быстрым, но менее точным за счет использования некоторых средних значений;
- метод ограничивающей выборки, комбинирующий два предыдущих.
- Рассмотрим пример. Пусть в некотором документе
имеются поля «Организация» и «Адрес организации».
Часто бывает, что одна и та же организация в разных документах
обозначается по-разному, например, в результате сокращений и
аббревиатур (ОАО «ЭЦМ» и ОАО «Электроцентромонтаж»).
В таком случае, если адрес записан одинаково (не считая разных
регистров букв и знаков препинания), он может однозначно
идентифицировать организацию.
- Итак, выберем некий атрибут как основной и применим один из предложенных методов для создания справочника. На его основе начнем создавать кластер. Выберем некоторое значение атрибута , еще не использованное в каких-либо кластерах, и включим его в множество (англ. consequence - следствие). Следующее действие назовем шагом кластеризации:
- Для всех элементов множества найдем в наборе все экземпляры правил, в которых значение атрибута равно , то есть правила вида «Если , то с вероятностью », где – некоторый номер значения. Все значения включим в множество (англ. premise - посылка). Далее для всех элементов из множества найдем все экземпляры правил, в которых значение атрибута равно , то есть правила вида «Если , то с вероятностью ». Все значения включим в множество . Это и есть шаг кластеризации. Будем проводить его до тех пор, пока на каком-либо шаге множество не останется неизменным, то есть новых элементов добавлено не было. Соответственно в кластер объединяются те документы, для которых выполняется равенство , где - элемент множества . При составлении следующего кластера элементы множества в рассмотрении не участвуют. Кластеры составляются до тех пор, пока есть значения атрибута, не вошедшие ни в один кластер.
- Возвращаясь к примеру, поясним. Справочник представляет собой некоторую таблицу пар «Наименование организации – Адрес организации». Начинаем работу с некоторого конкретного адреса. Найдем все наименования организации, соответствующие этому адресу. Затем всем этим наименованиям найдем соответствующие адреса, которые могут не совпадать по написанию с ранее учтенными. Если был найден новый вариант адреса, то повторим процедуру. В результате в кластер отбираются все варианты наименований и адресов одной и той же организации.
- Таким образом, исходное множество документов типа оказывается разбитым на подмножества согласно значениям некоторого атрибута . Далее расположим документы по возрастанию даты, минимальную дату примем за начало отсчета. Затем на оси времени, обозначим ее , будем откладывать некоторый период, принимаемый за единицу. В качестве такого периода можно взять, например, 1 день, 1 месяц, 1 год или другое значение. Далее выберем числовой атрибут, значения которого необходимо предсказать. Таким образом, каждое подобное подмножество представляет некоторую функцию, которую следует аппроксимировать. Формально каждую такую функцию можно записать в виде таблицы значений . Необходимо найти значение функции при некотором . Для этого можно использовать методы экстраполяции, например, следующие:
- Итак, выберем некий атрибут как основной и применим один из предложенных методов для создания справочника. На его основе начнем создавать кластер. Выберем некоторое значение атрибута , еще не использованное в каких-либо кластерах, и включим его в множество (англ. consequence - следствие). Следующее действие назовем шагом кластеризации:
- Формула Ньютона для экстраполяции вперед [3]. Эта формула используется, когда значения функции известны в узлах сетки с постоянным шагом. Этот шаг обозначим через . Тогда верна следующая формула
- Интерполяционный многочлен Лагранжа [4]. При применении этого метода узлы интерполяционной сетки не обязательно должны быть равноотстоящими, а могут быть произвольно заданными. Многочлен Лагранжа – это многочлен степени не выше , принимающий в заданных узлах значения, совпадающие со значениями функции . Такой многочлен определяется следующей формулой
- Этот многочлен является единственным, и его затем можно использовать для вычисления значений в других точках.
- Методы рациональной интерполяции [5]. Интерполяция рациональными функциями заключается в представлении искомой функции в виде отношения двух многочленов:
- Достоинствами такой интерполяции являются высокая точность и неподверженность проблемам, свойственным полиномиальной интерполяции. Однако одним из недостатков является то, что не для каждого набора точек можно построить рациональную функцию. Одним из алгоритмов для построения функции является алгоритм Флоатера-Хорманна. Итак, пусть даны точки и даны значения функции в них: . Пусть - порядок интерполяционной схемы Флоатера-Хорманна и пусть обозначает полином, интерполирующий функцию в точках . Тогда рациональный интерполянт Флоатера-Хорманна можно найти, используя формулы:
- Интерполяция сплайнами [6]. Одним из недостатков интерполирования многочленом Лагранжа или Ньютона на некотором отрезке с использованием большого количества узлов интерполяции является плохое приближение, вызванное сильным накоплением погрешностей в процессе вычислений. Кроме того, не всегда увеличение числа приводит к повышению точности вследствие расходимости процесса. Чтобы избежать больших погрешностей весь отрезок следует разбить на частичные отрезки и на каждом отрезке заменить функцию многочленом невысокой степени. Одним из способов интерполирования на всем отрезке является интерполирование с помощью сплайн-функций. Рассмотрим подробнее построение кубического сплайна.
- Итак, на отрезке задана непрерывная функция , некоторые точки сетки и значения функции . Интерполяционный кубический сплайн, соответствующий данной функции и данным узлам , - это функция , удовлетворяющая следующим условиям:
- на каждом сегменте , функция является многочленом третьей степени;
- функция и ее первая и вторая производные непрерывны на ;
- Такой сплайн существует и является единственным [6]. Рассмотрим способ построения кубического сплайна. На каждом из отрезков будем искать функцию в виде многочлена третьей степени:
- Здесь - это коэффициенты, которые необходимо найти. Отметим, что . Из условий интерполирования получаем:
-
В результате получим кубический сплайн, удовлетворяющий
условиям интерполяции. Этот сплайн является единственным [6].
- Разумеется, в данной статье приведены не все методы и способы интерполяции, например, тригонометрическая интерполяция, дробно-линейная интерполяция. Их описание можно найти в [6]. Однако, для решения задачи прогнозирования на архиве достаточно этих методов. Также можно произвести экстраполяцию несколькими разными методами и найти усредненное значение.
- Таким образом, применяя данные методы при использовании документов электронного архива, можно предсказать значения нужных аналитику атрибутов. Графическая реализация экстраполяции позволит наглядно понять имеющиеся тенденции развития организации.
- Разумеется, в данной статье приведены не все методы и способы интерполяции, например, тригонометрическая интерполяция, дробно-линейная интерполяция. Их описание можно найти в [6]. Однако, для решения задачи прогнозирования на архиве достаточно этих методов. Также можно произвести экстраполяцию несколькими разными методами и найти усредненное значение.
Литература:
- Кроль Т.Я. Схема наполнения электронного архива документами / Т.Я.Кроль, М.А.Харин, П.В.Евдокимов // Материалы первой международной конференции «Автоматизация управления и интеллектуальные системы и среды». Терскол, 20-27 дек. 2010. Т. IV. С. 53-56.
- Кроль Т.Я. Методы создания справочника на основе электронного архива / Т.Я. Кроль, М.А.Харин, П.В.Евдокимов // Известия КБНЦ РАН. – 2011. – №1.
- Сальвадори М.Дж. Численные методы в технике / М.Дж.Сальвадори. – М.: Издательство иностранной литературы, 1955. – 251с.
- Ващенко Г.В. Вычислительная математика: основы алгебраической и тригонометрической интерполяции / Г.В. Ващенко.- Красноярск: СибГТУ, 2008. – 64с.
- Бочканов С. Рациональная интерполяция [Электронный ресурс] / С. Бочканов, В.Быстрицкий. – Режим доступа: http://alglib.sources.ru/interpolation/rational.php, свободный.
- Самарский А.А. Численные методы: Учеб. пособие для вузов / А.А.Самарский, А.В.Гулин. – М.: Наука. Гл. ред. физ-мат. лит., 1989. – 432с.
- Кроль Т.Я. Схема наполнения электронного архива документами / Т.Я.Кроль, М.А.Харин, П.В.Евдокимов // Материалы первой международной конференции «Автоматизация управления и интеллектуальные системы и среды». Терскол, 20-27 дек. 2010. Т. IV. С. 53-56.