Практика использования алгоритмов машинного обучения для нормализации данных НСИ в корпоративных системах

в 11:30, , рубрики: ML алгоритмы, нормализация НСИ, НСИ, справочники

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

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

Обособленно от задач перехода на российское ПО стоят задачи синхронизации информационных систем при слиянии/объединении компаний в единый холдинг. Если эти две задачи (переход на российское ПО и объединение компаний в холдинг) решаются одновременно, то сложность проекта увеличивается экспоненциально. На практике постоянно встречаются холдинги, в которых эксплуатируется 3-5 разнообразных информационных систем по функционалу дублирующие друг друга – «исторически сложилось», говорит служба внутренней автоматизации, работает – не трогай. При этом данные системы крайне тяжело поддаются традиционному анализу на предмет выявления обобщающих критериев. Но, даже если удается найти критерии, по которым можно полуавтоматически объединить системы, то остается проблема обновления исторических (ранее накопленных) данных, которые могут иметь как большой объем данных, так и сложную структуру связностей с несколькими объединяемыми системами.

Вопросы синхронизации и нормализации данных НСИ должны рассматриваться как первоочередные в следующих случаях:

  • переход на системы российского производства при замене иностранных учетных систем (ERP, MRP, EAM FRM и других);

  • внедрение новых модулей/подсистем/отдельных сервисов, которые предусматривают переиспользование данных из уже существующих систем;

  • объединение компаний в единую систему управления;

  • формирование общих маркет-плейсов для группы компаний, имеющих единые технологические процессы;

  • формирование единых правил обновления кластера ране накопленных данных при внедрении единой системы аналитики.

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

Наиболее простым и неправильным решением в данной ситуации для руководителя – оплатить покупку «шины» НСИ (MDM-системы не важно, какого производителя/вендора), поручить службе ИТ ее внедрить и считать, что поставленное ПО автоматически решит все существующие проблемы. Именно поэтому, в открытых источниках не так много случаев, когда есть описание удавшихся проектов по нормализации справочников. Либо данные проекты пестрят «заплатками» с повторной сверкой данных сотрудниками компании, либо руководство вынуждено смириться с нестыковками или слепкой в ручном режиме отчетности компании. В другом случае полный переход на общую MDM систему потребует колоссального человеческого ресурса по «переносу» справочных данных в ручном режиме, во время которого необходимо будет позаботиться об использовании сразу двух источников справочных данных (вновь создаваемого и старого), что, в конечном итоге, приведет к росту числа ошибок.

Задача нормализации НСИ всегда лежит на перекрестье технических, методологических и управленческих задач/проблем и требует к себе повышенного внимания всех интересантов и участников проекта.

Применяемые методы синхронизации данных НСИ

На практике существует весьма ограниченный ряд технических решений, как синхронизировать данные НСИ в нескольких системах *. Все они предусматривают в идеале одностороннюю синхронизацию, когда среди используемых систем определяется одна мастер-система (для разных справочников она может быть разная), и остальные системы – потребляют информацию из мастер-системы.

Методы доведения до потребителей могут быть различными:

  • смотрим в базу мастер-системы или MDM системы из приложения;

  • регламентируемые выгрузки/загрузки в файлах;

  • сервисы запроса обновлений;

  • сервисы публикации сообщений.

Встречаются и случаи, когда для функционала разных систем одна и та же информация, хранимая в НСИ, может быть классифицирована по-разному. Поэтому в MDM системе важно учитывать наличие различных деревьев классификации для различных систем-потребителей.

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

Совершенно естественно, у пользователей НСИ возникает желание – снизить трудозатраты на ведение справочников, а у разработчиков – непреодолимое желание попробовать использовать для решения указанных задач возможности машинного обучения (ML) и искусственного интеллекта (ИИ).

* В данной статье осознанно не затрагиваются вопросы темпоральности данных НСИ (изменения данных во времени). Обозначим только, что типичным примером темпоральности для федеральных информационных систем является справочник регионов, в котором за последние 20 лет произошли как слияния/удаления, так и появление новых записей, что коренным образом влияет, например, на статистическую отчетность по численности населения страны за период с 2004 по 2024 год. Задача изменения справочника во времени – требует повышенного внимания как на стадии проектирования справочника, так и при формировании любого вида отчетности, его использующего.

Текущее положение дел на рынке разработки (по открытым источникам)

(Выводы автора не претендуют на полноту охвата рынка и описывают лишь личностный опыт)

Анализ открытых источников показывает, что все успешные кейсы применения алгоритмов машинного обучения и/или генерационного ИИ сугубо индивидуальны.

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

Примеры задач (кейсы), решаемые в НСИ с применением алгоритмизации

Обобщая перечень типовых функциональных задач по синхронизации и нормализации справочников выделим следующие типовые кейсы:

1.       Синхронизация исторических данных справочников из 2-х или более систем (с последующим выделением мастер-системы и полным запретом что-то менять в остальных)

 Для решения создается матрица соответствия. Ее предварительное наполнение можно поручить алгоритму нечеткого поиска Ливенштейна для поиска и объединения дублей, сопоставления слов. Если можем обойтись без ML, обходимся без ML. Если не можем – семантический разбор дорогими моделями ML, специально обученными находить синонимы. Данная операция практически разовая и не удивлюсь, если появятся компании, оказывающие данную услугу на рынке «под ключ». Но, как и при найме любых консалтинговых компаний, полностью переложить данный процесс на внешних исполнителей – равно загубить процесс, нужна вовлеченность методологов со стороны Заказчика.

 2.       Имеем 2 подмножества таблиц, атомарные единицы которых должны быть синхронизированы, при этом классификация по дереву вхождения элементов (вид, тип, подвид, модель) должна оставаться для каждой из систем своя.

Первичное наполнение в данной задаче сводится к задаче 1, однако ключевой проблемой является постоянная потребность классификации атомарной записи по разным классификаторам различных систем. Здесь можно попробовать обучить классическую ML типа «классификация». Чем больше датасет, с расширенными характеристиками записи и правильно распределенной классификацией, тем больше шансов на успешные показатели обучения.

3.       Задача донасыщения данных справочников на стадии их заполнения.

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

Вероятность точной подсказки, естественно достигается значимым объемом дата-сетов для обучения. Выше 80 %, в понимании автора, слабо достижимая цель.

 Также к этой задаче относим «дозаполнение характеристик» элемента справочника, найденного путем семантического разбора внешних источников. Авторский пример удачной реализации: для модели оборудования находится соответствие в архиве технической документации и из документов вытаскивается показатель «срок эксплуатации», установленный производителем для данного оборудования, так как бухгалтерия всегда по умолчанию ставит 10 лет.

Выводы

  1. Ведение НСИ требует постоянного ответственного подхода на интервальной основе и периодического внимания высшего руководства компании (с периодичностью не реже 1 раз в год).

  2. Качество информации в системе и ее работа – напрямую зависит от качества данных в НСИ.

  3. Задачи применения «искусственного интеллекта» при нормализации НСИ – интересны, практичны и многие компании-разработчики, имеющие долгосрочные отношения с Заказчиками и ответственно подходящие к качеству НСИ, применяют методы Data Science для упорядочивания справочников.

  4. Универсальных решений (меч Кладенец для Змея Горыныча) для применения ИИ в НСИ на практике автору не встречалось. Везде это трудоемкий подход, требующий предварительного анализа поставленной задачи, источников данных и их качества. Но, обладая опытом и инструментарием – можно «натворить» больше, чем ими не обладая.

  5. Если на момент старта проекта по нормализации НСИ у Заказчика нет предельно четкой сформулированной целевой задачи (для каких прикладных задач требуется информация) и/или отсутствует методология ведения справочников, то никакие средства малой механизации (в том числе, искусственные интеллекты) не решает этой проблемы. Если же есть осознание вопроса, то «достаточно только спросить».

Автор: Union_8

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js