СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ ДЛЯ НАПОЛНЕНИЯ БИБЛИОТЕКИ МОДЕЛЕЙ ДАННЫХ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ
INFORMATION PROCESSING METHOD FOR FILLING DATA MODEL LIBRARY AND DEVICE FOR ITS IMPLEMENTATION

ОБЛАСТЬ ТЕХНИКИ
[001] Данное техническое решение в общем относится к области вычислительной техники, а в частности к способу и устройству обработки информации для наполнения библиотеки моделей данных.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время в существующих системах, предназначенных для обработки данных для разработки моделей, имеются недостатки, связанные с качеством разрабатываемых моделей, вследствие чего снижается точность сформированных моделей и скорость их разработки, а также полученные модели не обладают требуемыми параметрами оптимизации. Наиболее близким решением к заявленному решению является система, которая позволяет разрабатывать и выполнять прогнозные модели, раскрытая в заявке US 2017249556 (А1), опубл. 31.08.2017. Известная система включает: сервер управления данными, к которому можно получить доступ через веб-браузер; инструмент извлечения данных; инструмент валидации модели для валидации модели путем оценки набора данных аналитической среды и набора данных производственной среды; и инструмент выполнения модели, позволяющий пользователю выбирать, когда и как часто модель будет валидироваться.
[003] Недостатком известного решения является низкая точность сформированных моделей и низкие показатели качества их оптимизации. Также известное решение не обладает набором функциональных свойств, позволяющих в составе продукта более высокого уровня, например, Sberbank Data Science, осуществлять оркестрацию жизненного цикла моделей, разрабатываемых в компании от стадии «Инициативы» до стадии внедрения модели в промышленную эксплуатацию и непрерывного периодического мониторинга качества модели на соответствующих выборках данных.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[004] Технической проблемой или задачей, поставленной в данном техническом решении, является создание простого и надежного способа и устройства обработки информации для наполнения библиотеки моделей данных. Также представленное решение обеспечивает оркестрацию единого жизненного цикла модели от инициации идеи до внедрения модели в промышленную среду исполнения и периодического мониторинга качества моделей.
[005] Техническим результатом, достигаемым при решении вышеуказанной технической задачи, является повышение эффективности формирования моделей за счет повышения их точности.
[006] Указанный технический результат достигается благодаря осуществлению способа обработки информации для наполнения библиотеки моделей данных, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:
- получают информацию для формирования по меньшей мере одной модели данных;
- определяют на основе полученной информации тип, метод моделирования и структуру модели данных;
- определяют выборку данных для формирования модели данных;
- на основе выборки данных определяют метрики для формирования модели данных;
- формируют модель данных с учетом информации о типе, методе моделирования, структуре модели данных и определенных на предыдущем этапе метрик;
- валидируют по меньшей мере одну сформированную модель данных;
- сохраняют модель данных в библиотеку моделей данных.
[007] В одном из частных примеров осуществления способа этап сохранения модели данных в библиотеку моделей данных включает этапы, на которых:
- формируют в упомянутой библиотеке блок хранения атрибутов модели и сохраняют в данный блок информацию о типах модели и результаты ее валидации;
- формируют в упомянутой библиотеке блок хранения параметров и сохраняют в данный блок информацию о параметрах модели данных, которые могут иметь сущности;
- формируют блок хранения данных о пользователях и сохраняют в данный блок информацию о пользователях;
- формируют блок хранения сущностей и создают экземпляр сущности для каждого атрибута в блоке хранения сущностей;
- формируют блок хранения параметров сущностей и сохраняют в данный блок идентификаторы сущностей, идентификаторы параметров и значения параметров для сущности;
- формируют блок хранения исторических данных сущностей и сохраняют идентификаторы сущностей, идентификаторы параметров и историю изменения параметров.
[008] В другом частном примере осуществления способа дополнительно получают выходные данные модели данных; сравнивают полученные выходные данные с сохраненными выходными данными и определяют, что модель данных изменена в случае отклонения по меньшей мере одного значения полученных выходные данные от значения сохраненных выходных данных.
[009] В другом частном примере осуществления способа дополнительно отслеживают жизненный цикл по меньшей мере одной модели данных и прогнозируют время нахождения модели данных на каждом этапе ее формирования.
[0010] В другом частном примере осуществления способа дополнительно подписывают сформированную модель данных по меньшей мере одной электронной подписью.
[0011] В другом предпочтительном варианте осуществления заявленного решения представлена система обработки информации для наполнения библиотеки моделей данных, содержащая по меньшей мере одно вычислительное устройство и по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
На Фиг. 1 - представлен пример реализации системы обработки информации.
На Фиг. 2 - представлен пример реализации библиотеки моделей данных.
На Фиг. 3 - представлен пример общего вида вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0013] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[0014] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[0015] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[0016] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0017] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0018] В соответствии со схемой, приведенной на фиг. 1, система обработки информации содержит соединенные между собой устройство 10 обработки информации для наполнения библиотеки моделей данных, устройство 20 хранения данных и библиотека 30 моделей данных.
[0019] Устройство 10 обработки информации для наполнения библиотеки 30 моделей данных может быть реализовано на базе по меньшей мере одного вычислительного устройства и может включать соединенные между собой: модуль 11 сбора данных; модуль 12 первичной обработки данных; модуль 13 определения выборки данных и метрик; модуль 14 формирования модели данных; модуль 15 валидация модели данных. Представленные модули могут быть выполнены на базе программно-аппаратной средств устройства 10 обработки информации, выполненные в программной части таким образом, чтобы выполнять приписанные в настоящей заявке им функции.
[0020] На первом этапе работы устройства 10 обработки информации на модуль 11 сбора данных поступает информация для формирования по меньшей мере одной модели данных, которая в упомянутый модуль 11 может поступать от по меньшей мере одного источника 1 данных. Источником 1 данных может быть по меньшей мере одна база данных (БД), в которой информация для формирования по меньшей мере одной модели данных содержится, либо источником 1 данных может быть устройство пользователя, например, портативный или стационарный компьютер, мобильный телефон или смартфон, планшет и пр., соединенное с модулем 11 сбора данных. Например, посредством устройства пользователя на устройство 10 обработки информации может быть направлен запрос, в соответствии с которым пользователю будет представлен интерфейс для ввода информации о модели данных, которая в дальнейшем будет сформирована на выходе упомянутого устройства 10.
[0021] В представленном интерфейсе пользователь, в зависимости от параметров доступа, может также посмотреть карточки моделей, которые сохранены в устройстве 20 хранения данных и в которых содержится информация о статусах моделей, в частности, находятся ли они в разработке, на валидации или в эксплуатации, о их атрибутах, метриках, наборах сущностей и жизненном цикле модели. Методы формирования атрибутов, метрик и набора сущностей моделей данных широко известны из уровня техники и более подробно не будут описаны в настоящей заявке (см., например, Орлов Сергей Александрович, «Программная инженерия. Учебник для вузов. 5-е издание обновленное и дополненное. Стандарт третьего поколения», СПб.: Питер, 2016, 640 с.).
[0022] Также пользователь может направить запрос на формирование новой модели данных. Для направления упомянутого запроса пользователь посредством интерфейса для ввода информации может создать новую карточку модели, в которой пользователь указывает, в частности, разработчика модели и тип модели данных. Дополнительно пользователь может указать инициатора, в частности идентификатор подразделения заказчика или контактного лица заказчика. Информация о типе модели данных характеризует область ее применения, например, указывает на то, что модель данных будет применяться для определения рисков по кредитным задолженностям и пр. Дополнительно пользователь может выбрать конкретные атрибуты модели и сущности для формирования набора сущностей, а также указать параметры жизненного цикла модели, т.е. выбрать срок (задать параметры времени), на который сформированная в будущем модель данных будет актуальна.
[0023] Соответственно, после ввода информации для формирования по меньшей мере одной модели данных, т.е. после заполнения карточки модели, и ввода соответствующей команды упомянутая информация направляется в устройство 10 обработки информации и поступает в модуль 11 сбора данных. Модуль 11 заносит полученную информацию в устройстве 20 хранения данных, в которой хранятся все карточки моделей, после чего любой пользователь устройства пользователя, обладающий необходимыми правами доступа, может ознакомиться со сведениями данной карточки. В карточку модели также может быть занесена информация о пользователе, направившем упомянутый запрос, например, его идентификатор, а также информация о статусе модели данных, в частности информация о том, что модель находится в разработке.
[0024] В альтернативном варианте реализации заявленного решения упомянутая информация для формирования по меньшей мере одной модели данных извлекается модулем 11 из БД источника 1 данных согласно заложенному в него программному алгоритму и в автоматическом режиме формирует упомянутую карточку модели в устройстве 20 хранения данных.
[0025] Также модуль 11 сбора данных направляет полученную информацию для формирования модели данных в модуль 12 первичной обработки данных модели, который на основе данных о разработчике модели и типе модели данных определяет код модели, а также метод моделирования и структуру модели данных. Для определения метода моделирования и структуры модели данных упомянутый модуль 12 извлекает из полученной информации данные о типе модели данных, указанных пользователем, и для упомянутого типа и кода модели данных определяет идентификаторы типа модели, метода моделирования и структуры модели данных. Данные о типах моделей данных, их виды кодов и соответствующие им идентификаторы типа модели, метода моделирования и структуры модели данных могут быть заранее заданы в памяти упомянутого модуля 12 по меньшей мере одним пользователем этого модуля 12 посредством специализированного вычислительного устройства 2.
[0026] Если в памяти модуля 12 первичной обработки данных модели отсутствует информация об идентификаторах типа модели, метода моделирования и структуры модели данных для полученных данных о типе модели данных, указанных пользователем, то модуль 12 может направить соответствующий запрос на вычислительное устройство 2, после чего пользователь вычислительного устройства 2 сможет найти карточку модели и внести информацию в память модуля 12 о идентификаторах типа модели, метода моделирования и структуры модели данных согласно типу модели данных указанного пользователем.
[0027] После определения типа модели, метода моделирования, структуры модели данных модуль 12 первичной обработки данных модели направляет идентификаторы типа модели, метода моделирования и структуры модели данных в модуль 13 определения выборки данных и метрик, который определяет выборку данных для формирования модели данных. Для определения выборки данных модуль 13 направляет в вычислительное устройство 2 данные о идентификаторах типа модели, метода моделирования и структуры модели данных, в ответ на которые пользователь вычислительного устройства 2 направляет идентификаторы выборки данных для данного типа модели, метода моделирования и структуры модели данных согласно установленным целям, определенным бизнес-задачей и стратегией компании. При получении упомянутого идентификатора выборки модуль 13 обращается к БД, которой он может быть оснащен, для определения метрик данных в соответствии с полученным идентификатором. Информация о идентификаторах выборок и соответствующих им метрик данных может быть заранее занесена в БД модуля 13 пользователем устройства 10. Более подробно методы определения выборок и метрик для модели данных раскрыты, например, в статье «Структуры данных со свойствами программы», размещенной в Интернет по адресу: https://habr.com/ru/post/347856/.
[0028] Полученные метрики, идентификаторы типа модели, метода моделирования и структуры модели данных далее направляются модулем 13 в модуль 14 формирования модели данных, который на основе полученных данных широко известными из уровня техники методами осуществляет формирование модели данных. Также модуль 14 может быть выполнен с возможностью корректировки информации о статусе модели данных в упомянутой карточке модели. Например, модуль 14 может указать статус - модель разработана.
[0029] Сформированная модель данные передается упомянутым модулем 14 в модуль 15 валидация модели данных, который направляет сформированную модель в устройство 3 валидации данных. Пользователь устройства 3 проверяет показатели метрик, результативные показатели модели данных и прочие данные модели на соответствие заданным требованиям бизнес-задачи и стратегии компании и направляет в модуль 15 данные о успешном прохождении валидации или о том, что модель данных валидацию не прошла. Упомянутый модуль 15 также может быть выполнен с возможностью корректировки статуса модели данных в упомянутой карточке модели. Например, модуль 15 может установить статус, указывающий на то, что модель данных находится на валидации, либо прошла или не прошла валидацию. В альтернативном варианте реализации заявленного решения валидация может осущесвтляться методами, раскрытыми в наиболее близком аналоге US2017249556 (А1).
[0030] В случае успешного прохождения валидации сформированная модель данных упомянутым модулем 15 направляется в библиотеку 30 моделей для ее хранения, а ссылку на сформированную модель данных модуль 15 заносит в карточку модели данных, сохраненной в устройстве 20 хранения данных. Если модель не проходит валидацию, то модуль 15 направляет в вычислительное устройство 2 уведомление о необходимости корректировки модели данных в той ее части, которая не соответствует заданным требованиям. В соответствии с полученным уведомлением пользователь устройство 2 может внести правки в сформированную модель и направить ее повторно на валидацию.
[0031] Таким образом, за счет того, что модель данных формируют с учетом информации о типе, методе моделирования, структуре модели данных и метриках, обеспечивается достижение указанного технического результата, заключающегося в повышении эффективности формирования моделей за счет повышения их точности.
[0032] Соответственно, сформированная модель данных, согласно схеме, приведенной на фиг. 2, поступает в модуль 31 обработки данных, который также может быть реализован на базе по меньшей мере одного вычислительного устройства и который извлекает из полученной модели данных информацию о типе модели и результатах ее валидации и формирует в упомянутой библиотеке, в частности в модуле 32 хранения данных, блок 33 хранения атрибутов модели, в который сохраняется информация о типах модели и результаты ее валидации.
[0033] Далее модуль 31 обработки данных аналогичным образом извлекает из сформированной модели данных информацию о: параметрах модели данных, которые могут иметь сущности; пользователях; атрибутах; идентификаторах сущностей, идентификаторах параметров и значениях параметров для сущности. Соответственно, упомянутый модуль 31 формирует в модуле 32:
- блок 34 хранения параметров, в который модулем 31 сохраняется информация о параметрах модели данных, которые могут иметь сущности;
- блок 35 хранения данных о пользователях, в который модулем 31 сохраняется информация о пользователях;
- блок 36 хранения сущностей, в котором модуль 31 создает экземпляр сущности для каждого атрибута;
- блок 37 хранения параметров сущностей, в который модуль 31 сохраняет идентификаторы сущностей, идентификаторы параметров и значения параметров для сущности
[0034] Также модуль 31 формирует в модуле 32 хранения данных блок 38 хранения исторических данных сущностей, в котором модуль 31 также формирует новую запись с информацией о идентификаторах сущностей, идентификаторах параметров и их значения. Дополнительно в новую запись может быть добавлен идентификатор пользователя, который определил ранее этот параметр, и дату создания записи. После этого модуль 31 обработки данных обращается к карточке модели данных, сохраненной в устройстве 20 хранения данных, и корректирует статус модели на «разработана» и модель данных может быть известными из уровня техники методами введена в эксплуатацию. Помимо этого, сформированная в библиотеке модель данных может быть подписана по меньшей мере одной электронной подписью, например, подписью пользователя устройства 1 или пользователя библиотеки 30 моделей данных.
[0035] Соответственно, при получении запроса на эксплуатацию модели данных модуль 31 корректирует статус модели в устройстве 20 хранения данных на «модель в эксплуатации». Под эксплуатацией модели данных понимается передача ее широко известными из уровня техники методами в автоматизированную систему, которая в дальнейшем осуществляет сбор и обработку данных согласно полученной модели данных.
[0036] В процессе эксплуатации модели данных может потребоваться корректировка ее параметров. Для корректировки параметров в модуль 31 обработки данных пользователем системы направляется соответствующий запрос, содержащий идентификатор пользователя, которым запрос был инициирован, по меньшей мере один идентификатор сущности, по меньшей один идентификатор параметра этой сущности и новое значение этого параметра. Упомянутый запрос в модуль 31 может быть направлен администратором библиотеки 30 моделей или любым другим пользователем устройства пользователя, обладающим соответствующими правами доступа.
[0037] Модуль 31 обработки данных на основе данных об идентификаторе сущности и идентификатора параметра находит в блоке 37 хранения параметров сущностей значение этого параметра и меняет на новое значение параметра. Также модуль 31 формирует в блоке 38 хранения исторических данных сущностей новую запись, в которую сохраняется идентификатор сущности, идентификатор параметра и историю изменения параметра, в частности предыдущее значение параметра и новое значение параметра. Дополнительно в запись может быть включен идентификатор пользователя, который инициировал изменение параметра, и дата создания новой записи. Таким образом, для корректировки параметров модели модулю 31 обработки данных не нужно анализировать все данные в библиотеке 30 моделей, а достаточно обратиться к блоку 37 хранения параметров сущностей, в котором эти параметры сохранены, тем самым обеспечивается повышение скорости корректировки моделей данных.
[0038] Дополнительно в устройстве 20 хранения данных также могут быть сохранены выходные данные модели данных, полученные в результате ее валидации от модуля 15 валидация модели данных, а модуль 31 обработки данных может быть выполнен с возможностью определения изменения модели данных, находящейся в эксплуатации. Для этого модуль 31 обработки данных запрашивает выходные данные модели из автоматизированной системы и сравнивает полученные выходные данные с сохраненными выходными данными. Если модуль 31 обработки данных определил наличие отклонения по меньшей мере одного значения полученных выходные данные от значения сохраненных выходных данных, то модель данных считается измененной. Информацию о том, что модель данных изменена, модуль 31 направляет в устройство 20 хранения данных для ее отображения в карточке модели данных.
[0039] Также дополнительно модуль 31 обработки данных может быть выполнен с возможностью отслеживания жизненного цикла модели. Для этого модуль 31 сконфигурирован с возможностью доступа к общедоступным данных, в которых размещена информация о параметрах и их актуальных значениях. Модуль 31 фиксирует изменение актуальных значений параметров, сравнивает их со значениями, сохраненными в библиотеке 30 моделей, и для моделей данных, значения параметров которых отличаются, модуль 31 устанавливает в карточке модели данных, сохраненной в устройстве 20 хранения данных, статус «модель устарела».
[0040] Кроме того, устройство 10 обработки информации может быть выполнено с возможностью прогнозирования времени нахождения модели данных на каждом этапе ее формирования. Для этого модуль 12 первичной обработки данных может быть оснащено специализированной БД, в которой хранится информация о среднем времени формирования модели данных на каждом этапе ее формирования в зависимости от ее типа, метода моделирования и структуры. Соответственно, после того, как модуль 12 определил тип модели, метод моделирования, структуру модели данных, он обращается к упомянутой БД для определения времени ее формирования на каждом этапе на основе среднего времени формирования модели данных. Полученное время нахождения модели данных на каждом этапе ее формирования направляется модулем 12 в устройство 20 хранения данных для отображения в карточке модели данных.
[0041] Таким образом, представленное решение обеспечивает унификацию бизнес-процессов управления моделями для подразделений компании, в следствии чего также повышается управляемость и качество моделей, своевременность принятия решений на основе регулярных мероприятий и работы системы, снижаются издержки, связанные с контрольными и валидационными функциями, а также модельный риск.
[0042] В общем виде (см. фиг. 3) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), устройства ввода/вывода (205), и устройство для сетевого взаимодействия (206).
[0043] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (200) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0044] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора.
[0045] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0046] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0047] Для обеспечения взаимодействия пользователя с устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0048] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п.В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0049] Дополнительно могут применяться также средства спутниковой навигации в составе системы (200), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[0050] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.