Нормализация структур данных
Автор: Шустов Д.А.
Журнал: Экономика и социум @ekonomika-socium
Рубрика: Информационные и коммуникативные технологии
Статья в выпуске: 5-2 (36), 2017 года.
Бесплатный доступ
В статье рассматриваются подходы к решению проблемы автоматизированной обработки данных с нерегулярной структурой. Для получения возможности формальной обработки данных необходимо их преобразование в регулярную структуру (в простейшем случае - таблицу). Предлагается на основе семантического анализа определение символов, пригодных для логического исчисление элементов регулярной структуры. Приведены примеры из области контроля качества.
Семантический анализ, формальные системы, структуры данных
Короткий адрес: https://sciup.org/140124028
IDR: 140124028
Текст научной статьи Нормализация структур данных
Достаточно распространенной проблемой исследования и анализа данных является необходимость использования наборов, первоначально не предназначенных для целей исследования. Как правило, структура хранения информационных признаков не соответствует регулярной, используемой при обработке и анализе данных. Классическим примеров является форма выгрузки данных по операциям по складу, формируемых системой 1С. Пример подобной структуры приведен в таблице 1, откуда явно следует, что в одной колонке могут находиться разные по смыслу и типу данные, причем порядок строк с одинаковыми данными (атрибутами) не является регулярным (чередующимся), например, название товара через каждые 4 строки.
Таблица 1.
Номенклатура\Серия\Контрагент\ДатаДок\ ДокументПоставки\ |
Ед. Изм. |
Кол-во |
Цена |
Сумма |
5-Фторурацил-Эбеве конц. д/инф. 50мг/мл фл. 5мл №1 |
шт |
60 |
4140.00 |
|
Серия № 409310 ( Эбеве Фарма ГмбХ Нфг.КГ А ) |
60 |
69.00 |
4140.00 |
|
Филиал ЗАО фирмы ЦВ |
60 |
4140.00 |
||
12.07.05 |
60 |
4140.00 |
||
Поступление ТМЦ (купля-продажа) вх. № 1420690/6 от 12.07.05 |
60 |
69.00 |
4140.00 |
|
Актовегин р-р д/ин. 40мг/мл амп. 2мл №25 |
шт |
85 |
63903.85 |
|
Серия № 10243032 ( Никомед Австрия ГмбХ Авст ) |
85 |
751.81 |
63903.85 |
|
Филиал ЗАО фирмы ЦВ "Протек" "Протек-3" |
85 |
63903.85 |
||
12.07.05 |
85 |
63903.85 |
||
Поступление ТМЦ (купля-продажа) вх. № 1414112/8 от 12.07.05 |
67 |
751.81 |
50371.27 |
|
Поступление ТМЦ (купля-продажа) вх. № 1415372/8 от 12.07.05 |
18 |
751.81 |
13532.58 |
|
Актрапид НМ Пенфилл р-р д/ин. 100МЕ/мл картриджи 3мл №5 |
шт |
50 |
65435.50 |
|
Серия № PT60739 ( Ново Нордиск А/С Дания ) |
30 |
1308.71 |
39261.30 |
|
Филиал ЗАО фирмы ЦВ |
30 |
39261.30 |
||
12.07.05 |
30 |
39261.30 |
||
Поступление ТМЦ (купля-продажа) вх. № 1420690/5 от 12.07.05 |
30 |
1308.71 |
39261.30 |
|
Серия № RT60120 (Ново Нордиск А/С Дания) |
20 |
1308.71 |
26174.20 |
|
Филиал ЗАО фирмы ЦВ |
20 |
26174.20 |
12.07.05 |
20 |
26174.20 |
||
Поступление ТМЦ (купля-продажа) вх. № 1420690/5 от 12.07.05 |
20 |
1308.71 |
26174.20 |
|
Амоксициллин таб. 500мг №20 |
шт. |
63 |
2027.97 |
|
Серия № 070205 () |
63 |
32.19 |
2027.97 |
В приведенном фрагменте видно, что группа строк по каждому товару (названию лекарственного средства) различна.
Результатом нормализации структуры должны быть данные, приведенные в таблице 2.
Таблица 2
Товар |
Ед. изм. |
Колюч |
Серия |
Сумма |
5-Фторурацил-Эбеве конц. д/инф. 50мг/мл фл. 5мл №1 |
шт |
60 |
409310 |
4140 |
Актовегин р-р д/ин. 40мг/мл амп. 2мл №25 |
шт |
67 |
10243032 |
50371.27 |
Актовегин р-р д/ин. 40мг/мл амп. 5мл №5 |
шт |
18 |
10243032 |
13532.58 |
Актрапид НМ Пенфилл р-р д/ин. 100МЕ/мл картриджи 3мл №5 |
шт |
30 |
PT60739 |
39261.30 |
Очевидно, что для заполнения второй таблицы необходимо пользоваться определенным набором правил, позволяющим в исходных данных определять те фрагменты, которые позволяют однозначно отнести содержание анализируемой ячейка к названию, серии, количеству, цене.
Создание необходимого набора правил, позволяющих на основе анализа смысла (трактовки) символов, входящих в слова и фразы, относится к вопросам семантического анализа, а формализация этих правил требует привлечения теорий формализации мышления, формальных систем, а также методов инженерии знаний, используемых в экспертных системах.
Формализацию человеческого мышления и представление знаний рассматривают математическая логика и теория формальных систем, основывающиеся на аксиоматических методах [59]. Наиболее известным является развитие аксиоматических методов в работах Д. Гильберта и его школ, называемое формализмом – научной программы по обоснованию непротиворечивости математики точным математическим способом. В рамках этого направления возникло понятие формальной системы и представления не полностью формализованные математические теории как точные математические объекты, и строить теорию таких объектов (например, теория нечеткой логики).
К сожалению, работы А. Тарковского (начало ХХ века) по математической логике показали, что грамматика естественных языков не обладает необходимой степенью однозначности для обеспечения необходимой строгости доказательств, однако анализ семантических конструкций, используемых в ограниченных предметных областях знаний и экономики, позволяет, в принципе, описать формальную систему и определить для нее правила вывода. Именно по этой причине на сегодняшний день не представляется возможным создание универсальной экспертной системы, позволяющей на основе накопления фактов и правил формальной интерпретации этих фактов получать новые факты и выводить новые правила.
Любая формальная теория строится как определенный класс выражений, формул, в котором некоторым точным способом выделяется подкласс теорем данной формальной системы, причем формулы формальной системы не несут в себе никакого содержательного смыла. Общая схема построения формальной системы (теории) T содержит 3 основных понятия:
-
• Язык системы: T
-
■ Алфавит как перечень элементарных символов системы
-
■ Синтаксис как набор правил для построения формул из алфавита
-
• Аксиомы системы T
Выделяется конечное или перечислимое множество формул, которые называются аксиомами системы
-
• Правила вывода системы T
Задание языка, аксиом и правил вывода исчерпывает задание формальной системы как точного математического объекта. Формула системы называется теоремой этой системы, если существует вывод R i этой формулой.
Исчисления высказываний на естественном языке может быть сведено к формальной теории. При этом следует ограничиться высказываниями, являющимися фактической истиной (в отличие от истины языка, например, «тигр - хищник» и «после дождя асфальт мокрый», значит, если асфальт мокрый- то обязательно был дождь, но хищник - не обязательно тигр).
Таки образом, исходная задача может быть сведена к формальной теории с высказывании, являющимися фактической истиной (наименования товаров, поставщиков, значения серий, количеств, цен), для которой можно создать набор аксиом и правил вывода.
Следует отметить, что в случае изменения аксиом (например, появления нового признака, игнорирование которого может привести к ошибочному выводу).
Для рассматриваемого примера аксиомами является потенциальный набор (список) возможных наименований товара, слова или символы, используемые в обозначении серии, отделения в строке символов серии от символов - наименования производителя.
В правилах вывода содержится проверка нахождения в содержании первой колонки последовательности символов ‘г_’ или ‘л_’ с обязательным содержанием для этой строки во второй колонке любых символов , например, ‘шт’. Символом ‘_’ обозначен пробел после указания в названии дозировки в граммах или миллилитрах).
На формальном языке описания правил (для среды реализации VFoxPro) запись аксиомы ( наименование 1 колонки NAZW, 2 колонки ED_IZM) будет выглядеть : (‘г_’$ NAZW .OR. ‘л_’$ NAZW) .AND .NOT. EMPTY(ED_IZM)
На естественном языке это выражение трактуется как «в поле NAZW содержатся символы “г пробел” или” м пробел” и одновременно поле ED_IZM не пустое .
Использование этой аксиомы в выводе «ЕСЛИ ИНДИКАТОР ВЫРАЖЕНИЯ ЯВЛЯЕТСЯ ИСТИНОЙ, ТО ЭТО СТРОКА С НАИМЕНОВАНИЕМ ТОВАРА, В ПРОТИВНОМ СЛУЧАЕ ЭТО СТРОКА С СЕРИЕЙ ИЛИ ДАТОЙ ИЛИ НОМЕРОМ НАКЛАДНОЙ».
Формальной применение этого правила при переборе всех строк исходных данных позволит сформировать новую таблицу, в которую попадут только наименования товара.
По аналогии можно сформулировать аксиомы и правила вывода для определения серий, изготовителей и цен для формирования нормализованных данных.
Изложенный подход позволяет, с использованием Булевой алгебры, увеличивать количество признаков.
Так, например, в рассматриваемом примере в указании дозировки может использоваться общепринятое сокращение ‘г._’, тогда условия на формальном языке будут выглядеть:
(‘г_’$ NAZW . OR. ‘г._’$ NAZW .OR. ‘л_’$ NAZW) .AND .NOT. EMPTY(ED_IZM) – жирным шрифтом выделено дополнительное условие
Возможным направление реализации такого подхода является создание «библиотеки признаков», позволяющей автоматизировать формирование необходимых правил.
Список литературы Нормализация структур данных
- Нильсон Н. Искусственный интеллект. Методы поиска решений. -М.: Мир, 1973
- Новиков П. С. Элементы математической логики. М.: Наука, 1973
- Построение экспертных систем. -Под ред. Ф. Хейес-Рота, Д. Уотермана, Д. Лената. -М.: Мир, 1987.