К ленте · Россия

РоссияСтатьяИсследования

СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ АЛГОРИТМА КЛАССИФИКАЦИИ ДАННЫХ

[144] Заявленное решение относится к способу и системе автоматического построения алгоритма классификации данных. Технический результат заключается в повышении эффективности автоматического построения алгоритма классификации данных. Способ автоматического построения алгоритма классификации данных, содержит этапы, на которых: получают набор размеченных данных, содержащий списки текстовых данных с соответствующими классами данных; формируют, на основе текстовых данных, набор характеристик состава текста, описывающий количественное представление, частоту встречаемости символов и распределение символов по группам в текстовых данных; определяют значение каждой характеристики состава текста из набора характеристик состава текста; обучают модель машинного обучения на основе значений характеристик; определяют для каждой характеристики показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения; извлекают наиболее значимые характеристики, влияющие на классификацию текстовых данных моделью машинного обучения, на основе показателей важности характеристик; извлекают из модели машинного обучения, пороговые значения для наиболее значимых характеристик; определяют логические связи между наиболее значимыми характеристиками состава текста; осуществляют построение алгоритма классификации текстовых данных на основе наиболее значимых характеристик состава текста, логических связей между ними, и пороговых значений. 2 н. и 7 з.п. ф-лы, 4 ил.

СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ АЛГОРИТМА КЛАССИФИКАЦИИ ДАННЫХ

Выданный патент: RU2870881C1 Дата публикации: 2026-09-28 Заявитель / патентообладатель: Публичное акционерное общество "Сбербанк России" (ПАО Сбербанк) (RU) Классификация: G06F18/24 G06F16/35 G06N20/00 G06F18/24 G06F16/34 G06N20/00

Реферат [144] Заявленное решение относится к способу и системе автоматического построения алгоритма классификации данных. Технический результат заключается в повышении эффективности автоматического построения алгоритма классификации данных. Способ автоматического построения алгоритма классификации данных, содержит этапы, на которых: получают набор размеченных данных, содержащий списки текстовых данных с соответствующими классами данных; формируют, на основе текстовых данных, набор характеристик состава текста, описывающий количественное представление, частоту встречаемости символов и распределение символов по группам в текстовых данных; определяют значение каждой характеристики состава текста из набора характеристик состава текста; обучают модель машинного обучения на основе значений характеристик; определяют для каждой характеристики показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения; извлекают наиболее значимые характеристики, влияющие на классификацию текстовых данных моделью машинного обучения, на основе показателей важности характеристик; извлекают из модели машинного обучения, пороговые значения для наиболее значимых характеристик; определяют логические связи между наиболее значимыми характеристиками состава текста; осуществляют построение алгоритма классификации текстовых данных на основе наиболее значимых характеристик состава текста, логических связей между ними, и пороговых значений. 2 н. и 7 з.п. ф-лы, 4 ил.

Описание [1] ОБЛАСТЬ ТЕХНИКИ [2] [1] Настоящее техническое решение, в общем, относится к области информационных технологий, а более конкретно - к способу и системе автоматического построения алгоритма классификации данных. [3] УРОВЕНЬ ТЕХНИКИ [4] [2] В настоящее время задачи классификации данных широко распространены в различных областях информационных технологий, включая интеллектуальную обработку данных, построение систем поддержки принятия решений, автоматизацию процессов контроля качества данных, а также разработку программных продуктов, использующих методы анализа текстовых и структурированных данных. С развитием ИТ сервисов и ростом объема данных также повышаются и требования к скорости и энергоэффективности обработки данных, в том числе классификации данных. [5] [3] Традиционные подходы к созданию алгоритмов классификации данных предполагают ручное выделение зависимостей между характеристиками данных и формализацию таких зависимостей в виде правил, условий или эвристик. Однако, процесс разработки эвристических алгоритмов является трудоемким, требует глубокого знания предметной области и, как правило, занимает значительное время. Для категорий данных, где классификация является относительно простой (например, классификация значения в поле таблицы как структурированного, неструктурированного или токенизированного), построение ручных правил может оказаться неоправданно длительным. В то же время применение моделей искусственного интеллекта общего назначения, например, глубоких нейронных сетей, зачастую является избыточным для такого рода задач и требует значительных вычислительных ресурсов как на обучение, так и на выполнение алгоритма классификации. [6] [4] Так, из уровня техники известны решения, основанные на построении классификаторов данных на базе нейронных сетей, методы использования статистических моделей, а также способы построения деревьев решений вручную или с использованием стандартных библиотек машинного обучения. Например, известны решения, в которых текстовые данные преобразуются в векторные представления, после чего классификация осуществляется при помощи нейросетевых моделей. Такие решения обеспечивают высокую точность, однако требуют больших объемов вычислений, специализированного оборудования и значительных затрат времени на подбор гиперпараметров и обучение моделей. [7] [5] Например, из уровня техники известно решение, раскрытое в заявке на патент США №2020/0134363 Al (SALESFORCE COM INC [US]), опубл. 30.04.2020. Указанное решение направлено на автоматизацию процесса подбора оптимального набора признаков для построения линейных моделей классификации на базе нейронных сетей. [8] [6] Недостатками указанного решения являются высокое количество потребляемых вычислительных ресурсов для выполнения моделей классификации, зависимость скорости выполнения классификации от модели машинного обучения, которая осуществляет процесс классификации, недетерминированность алгоритма классификации. Кроме того, такие решения не предполагают возможность работы с большими данными, ввиду сложности исполнения, и, как следствие, требовательны к исполняемой среде. [9] [7] Таким образом, общими недостатками известных решений являются высокая трудоемкость ручного формирования эвристических алгоритмов классификации; избыточность и высокая ресурсоемкость применения нейросетевых моделей в задачах, не требующих сложного анализа; отсутствие механизмов формирования детерминированных алгоритмов классификации, ввиду непрозрачности процесса классификации моделями машинного обучения. Также, существующие решения ориентированы именно на построение самой модели машинного обучения и не решают задачу автоматического формирования итогового алгоритма классификации в виде набора правил или программного кода, пригодного для выполнения без использования тяжелых ML-библиотек. [10] [8] Соответственно, заявленное решение направлено на устранение указанных недостатков и призвано обеспечить создание нового и эффективного подхода в создании алгоритмов классификации данных, обладающего низким потреблением вычислительных ресурсов и обеспечивающим возможность построения детерминированных алгоритмов, что, также, обеспечивает возможность программной реализации таких алгоритмов без использования моделей машинного обучения. [11] РАСКРЫТИЕ ИЗОБРЕТЕНИЯ [12] [9] Данное техническое решение направлено на устранение недостатков, присущих существующим решениям, известным из уровня техники. [13] [10] Решаемой технической проблемой в данном техническом решении является создание нового и эффективного способа автоматического построения алгоритма классификации данных. [14] [11] Техническим результатом, проявляющимся при решении вышеуказанной проблемы, является сокращение вычислительных ресурсов, требуемых на выполнение алгоритма классификации данных. [15] [12] Еще одним техническим результатом, проявляющимся при решении вышеуказанной проблемы, является повышение эффективности построения алгоритма классификации данных. [16] [13] Указанные технические результаты достигаются благодаря осуществлению способа автоматического построения алгоритма классификации данных, выполняющегося по меньшей мере одним вычислительным устройством, и содержащего этапы, на которых: [17] a) получают набор размеченных данных, содержащий списки текстовых данных с соответствующими классами данных; [18] b) формируют, на основе текстовых данных, полученных на этапе а), набор характеристик состава текста, описывающий количественное представление, частоту встречаемости символов и распределение символов по группам в текстовых данных; [19] c) определяют значение каждой характеристики состава текста из набора характеристик состава текста для текстовых данных, полученных на этапе а); [20] d) обучают по меньшей мере одну модель машинного обучения на основе значений характеристик, полученных на этапе с); [21] e) определяют для каждой характеристики состава текста показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения; [22] f) извлекают наиболее значимые характеристики состава текста, влияющие на классификацию текстовых данных моделью машинного обучения, на основе показателей важности характеристик, полученных на этапе е); [23] g) извлекают из модели машинного обучения пороговые значения для наиболее значимых характеристик, полученных на этапе f); [24] h) определяют логические связи между наиболее значимыми характеристиками состава текста, полученными на этапах f); [25] i) осуществляют построение алгоритма классификации текстовых данных на основе наиболее значимых характеристик состава текста, полученных на этапе f), логических связей между ними, полученными на этапе h), и пороговых значений, полученных на этапе g). [26] [14] В одном из частных примеров осуществления способа алгоритм классификации данных представляет собой, по меньшей мере алгоритм классификации конфиденциальных данных. [27] [15] В другом частном примере осуществления способа класс текстовых данных представляет собой по меньшей мере одно из: неструктурированные данные, структурированные данные, зашифрованные данные, конфиденциальные данные, токенизированные данные, хешированные данные. [28] [16] В другом частном примере осуществления способа набор характеристик состава текста содержит по меньшей мере две из следующих характеристик: количество русских букв отдельно в верхнем и нижнем регистре; количество английских букв отдельно в верхнем и нижнем регистре; количество цифр; количество пробелов и других пробельных символов; количество знаков препинания; количество слешей; количество разделителей; количество служебных символов; количество иероглифов; количество прочих символов. [29] [17] В другом частном примере осуществления способа определение значения каждой характеристики состава текста для текстовых данных представляет собой по меньшей мере одно из: определение перцентилей, среднего, медианного, минимального и максимального значения характеристики, стандартного отклонения из всего набора текстовых данных. [30] [18] В другом частном примере осуществления способа показатель важности характеристики представляет собой по меньшей мере одно из: подсчет количества использований характеристики, определение улучшения точности модели машинного обучения при использовании характеристики, подсчет влияния характеристики на предсказание модели машинного обучения. [31] [19] В другом частном примере осуществления способа дополнительно выполняют оценку качества сформированного алгоритма классификации текстовых данных на полученном наборе данных. [32] [20] В другом частном примере осуществления способа дополнительно осуществляют генерацию программного кода построенного алгоритма классификации текстовых данных. [33] [21] Кроме того, заявленные технические результаты достигаются за счет системы автоматического построения алгоритма классификации данных, содержащей: [34] • по меньшей мере один процессор; [35] • по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа автоматического построения алгоритма классификации. [36] КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ [37] [22] Признаки и преимущества настоящего технического решения станут очевидными из [38] приводимого ниже подробного описания и прилагаемых чертежей, на которых: [39] [23] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа. [40] [24] Фиг. 2 иллюстрирует пример вычислительной системы для реализации заявленного способа. [41] [25] Фиг. 3 иллюстрирует пример сортировки характеристик состава текста по показателю важности характеристики. [42] [26] Фиг. 4 иллюстрирует пример путей в деревьях решений из которых извлекаются логические условия. [43] ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ [44] [27] Заявленное техническое решение предлагает новый подход, обеспечивающий новый и эффективный способ автоматического построения алгоритма классификации данных. Аспекты заявленного технического решения обеспечивают возможность автоматического получения набора характеристик данных, извлечение зависимостей между ними, определение значимости характеристик, выделение наиболее значимых признаков, выявление логических взаимосвязей между признаками и формирование итогового классификационного алгоритма, что, в свою очередь позволяет получить детерминированный алгоритм, реализуемый в виде программного кода и исключить использование моделей машинного обучения на базе нейронных сетей. Т.е. преимущества заявленного технического решения заключатся в снижении объема вычислительных ресурсов, требуемых на создание и исполнение такого алгоритма, ввиду построения алгоритма без использования нейронных сетей. Кроме того, заявленное техническое решение снижает трудозатраты на разработку алгоритмов классификации за счет полной автоматизации процесса и обеспечивает интерпретируемость и прозрачность получаемого алгоритма классификации, что позволяет формировать программный код классификатора на основе автоматически выявленных зависимостей без участия человека. [45] [28] Заявленное техническое решение может выполняться, например, системой, машиночитаемым носителем, сервером и т.д. В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций). [46] [29] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). [47] [30] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например, таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, включая, но не ограничиваясь, жесткие диски (HDD), флеш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др. [48] [31] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [49] [32] Термин «инструкции», используемый в этой заявке, может относиться, в общем, к программным инструкциям или программным командам, которые написаны на заданном языке программирования для осуществления конкретной функции, такой как, например, обработка текстовых данных, создание программного кода алгоритма классификации данных и т.п. Инструкции могут быть осуществлены множеством способов, включающих в себя, например, объектно-ориентированные методы. Например, инструкции могут быть реализованы, посредством языка программирования С++, Java, Python, различных библиотек (например, "MFC"; Microsoft Foundation Classes) и т.д. Инструкции, осуществляющие процессы, описанные в этом решении, могут передаваться как по проводным, так и по беспроводным каналам передачи данных, например, Wi-Fi, Bluetooth, USB, WLAN, LAN и т.п. [50] [33] На Фиг. 1 представлена блок схема способа 100 автоматического построения алгоритма классификации данных, выполняемого по меньшей мере одним вычислительным устройством. Указанный способ 100 раскрыт поэтапно более подробно ниже. Способ 100 заключается в выполнении этапов, направленных на обработку различных данных, таких как показатели характеристики извлекаемого текста и т.д. Обработка, как правило, выполняется с помощью системы, такой как система 200 которая может представлять, например, сервер, компьютер, мобильное устройство, вычислительное устройство и т.д, дополненное аппаратными и/или программно-аппаратными блоками, реализующими настоящий способ 100. Более подробно элементы системы раскрыты на Фиг. 2. [51] [34] Под классификацией данных следует понимать процесс автоматического отнесения данных, таких как текстовые данные к одной или нескольким заранее заданным категориям на основе анализа их содержимого, структуры и характеристик. При классификации используются подходы, основанные на извлечении признаков из входящего текста (таких как слова, фразы, морфологические признаки, синтаксические конструкции и другие лингвистические особенности), после чего выполняется присвоение категории исходя из установленной модели классификации. [52] [35] Задачи, решаемые с помощью алгоритмов классификации текстовых данных, включают фильтрацию спама, распознавание тематик сообщений, автоматическое выделение эмоций, распознавание конфиденциальных данных, и многие другие задачи прикладного характера в области защиты информации, аналитики больших данных и контент-менеджмента. [53] [36] Детерминированный алгоритм - это алгоритм, результат работы которого однозначно определяется набором исходных данных и последовательностью выполняемых шагов. Если дважды запустить один и тот же детерминированный алгоритм с одними и теми же входными параметрами, он гарантированно выдаст одинаковый результат. [54] [37] Характеристики текста - это совокупность формальных и содержательных свойств, позволяющих описать текстовые данные и выделить важные аспекты для последующего анализа, сравнения, обработки или интерпретации. Характеристики текста помогают исследовать структурные, стилистические, семантические и частотные свойства письменного материала. [55] [38] Так, заявленный способ 100 может применяться в системах информационной защиты данных, которые могут включать в себя систему 200. Так, способ 100 может являться частью системы защиты данных, например, узлом фильтрации данных, и/или обособленной системой построения алгоритмов классификации данных. В еще одном частном варианте осуществления, способ 100 может быть интегрирован в систему классификации конфиденциальных данных. Посредством алгоритмов классификации, построенных с помощью реализации заявленного способа 100, обеспечивается возможность классификации данных с высокой скоростью. [56] [39] Так, как указывалось выше, для сокращения потребляемых вычислительных ресурсов и достижения высокой скорости построения алгоритма классификации данных, заявленное техническое решение основывается на подходе, исключающем применение нейросетевых моделей машинного обучения. Для реализации заявленного технического решения, способ 100 включает следующие этапы. [57] [40] На этапе 110 получают набор размеченных данных, содержащий списки текстовых данных с соответствующими классами данных. [58] [41] Так, на указанном этапе 110 система, такая как система 200, получает от внешнего устройства и/или посредством сети связи, такой как Интернет, размеченные текстовые данные. [59] [42] Под размеченными данными следует понимать набор текстов, снабженный дополнительными аннотациями (разметкой), указывающими класс, к которому относится каждый конкретный фрагмент текста или документ. [60] [43] Так, в одном частном варианте осуществления, данные могут быть загружены в виде файла данных. Формат файла данных может представлять собой любой существующий формат. Пользователь и/или автоматизированная система загружает набор данных, который может представлять собой набор пар: список текстов - соответствующий ему класс. [61] [44] Так, например, набор размеченных данных может содержать список текстов с указанием класса, к которому указанный текст относится, например, неструктурированные и структурированные данные: [62] [63] [45] В еще одном частном варианте осуществления, классы могут содержать такие классы, как: зашифрованные данные, конфиденциальные данные, токенизированные данные, хешированные данные и т.д. Стоит отметить, что количество классов и тип класса (структурированные данные, хешированные данные), получаемые от внешней системы или пользователя зависят от решаемой задачи, для которой требуется построить алгоритм классификации. [64] [46] Таким образом, на этапе 110 получают набор размеченных данных, содержащий списки текстов с указанием класса, к которому относится каждый список. [65] [47] Далее, указанный набор данных, полученный на этапе 110 обрабатывается на этапе 120. [66] [48] На этапе 120 формируют набор характеристик состава текста, описывающий количественное представление, частоту встречаемости символов и распределение символов по группам в текстовых данных. [67] [49] Как указывалось выше, набор характеристик текстовых данных позволяет получить дополнительные сведения о структуре текста и его особенностях. Например, соотношение буквенных символов к числовым и пунктуационным знакам поможет оценить сложность или информативность текста. [68] [50] Так, в одном частном варианте осуществления набор характеристик состава текста состоит из таких характеристик, как количественное представление, частота встречаемости символов и распределение символов по группам в текстовых данных. [69] [51] Количественное представление показывает объем или размер текста. Сюда могут входить такие параметры, как общее число символов, количество уникальных символов, длина строки, общее число строк и т.п. [70] [52] Частота встречаемости символов показывает сколько раз каждый символ встречается в тексте. Так, частоту встречаемости можно представить в виде гистограммы или таблицы, где каждой букве соответствует частота ее появления в тексте. [71] [53] Распределение символов по группам представляет собой разделение всех символов текста на отдельные группы или классы. Обычно символы делятся на несколько типов, например, буквы алфавита, цифры, знаки препинания, специальные символы и т.д. [72] [54] Так, в одном частном варианте осуществления набор характеристик состава текста содержит следующие характеристики: [73] [74] [55] Указанный набор характеристик состава текста предназначен для анализа структуры текста и выявления наиболее частых элементов текста. [75] [56] Очевидно, что в зависимости от используемого языка, набор характеристик состава текста может варьироваться в зависимости от особенностей языка. [76] [57] Так, продолжая пример, описанный выше, для списка текстов формируется следующий набор характеристик: [77] [78] [79] [58] Далее, на этапе 130 определяют значение каждой характеристики состава текста из набора характеристик состава текста; [80] [59] На указанном этапе 130 выполняется подсчет значений для каждой характеристики из набора характеристик состава текста. [81] [60] Так, для подсчета значений характеристик, могут применяться различные методы и средства, например, специализированные инструменты автоматизации и библиотеки программирования. Так, например, для подсчета количественной характеристики могут применяться такие средства, как библиотеки Python (len(), set()), регулярные выражения (re модуль), функции Excel (LEN(), COUNTA()) и т.д. Для частоты встречаемости символов словари (diet) в Python, библиотеки pandas (value counts), функция COUNTIF в Excel и т.д. Для распределения символов по группам: регулярные выражения (re.findall), библиотека string в Python, модули pandas, NumPy и т.д. [82] [61] Соответственно, для каждой характеристики, сформированной на этапе 120, вычисляют значение указанной характеристики для списка текстов, полученного на этапе 110, в каждом классе. [83] [62] В одном частном варианте осуществления, для каждой характеристики состава текста вычисляются следующие значения: среднее, медианное, минимальное и максимальное значение. Также, для каждого списка текстов могут вычисляться различные перцентили и стандартное отклонение в разрезе всего списка текстов. [84] [63] Так, продолжая пример, по первому списку, который относится к неструктурированным данным, получатся следующие характеристики: «среднее количество русских букв в нижнем регистре»: 25.3, «максимальное количество русских букв в нижнем регистре»: 35 и т.д. [85] [64] Далее, на этапе 140, указанные значения передаются в модель машинного обучения, например, алгоритм ансамблевого обучения градиентный бустинг над решающими деревьями (Gradient Boosting on Decision Trees, GBDT). [86] [65] Алгоритмы ансамблевого обучения, такие как градиентный бустинг над деревьями решений (Gradient Boosting Decision Trees, GBDT), Random Forest (случайный лес), Adaboost и т.д. - это класс методов машинного обучения, в которых несколько отдельных моделей (базовых алгоритмов) объединяются в единый ансамбль, чтобы повысить точность, устойчивость и способность к обобщению по сравнению с одной моделью. [87] [66] Так, например, градиентный бустинг над деревьями решений (Gradient Boosting Decision Trees, GBDT) - это метод ансамблевого обучения, в котором множество последовательных решающих деревьев обучаются так, что каждое следующее дерево минимизирует ошибки предыдущего путем движения в направлении градиента функции потерь. Основные характеристики: модель состоит из N небольших деревьев; каждое дерево - «слабый» классификатор; деревья обучаются последовательно; итоговый прогноз - сумма прогнозов деревьев. [88] [67] Так, модели машинного обучения, такие как градиентный бустинг обладают следующими преимуществами: интерпретируемость (можно извлечь: пороги разбиений, признаки, по которым делаются решения, важность признаков), нелинейность (могут моделировать сложные зависимости за счет комбинации деревьев), высокая точность на табличных данных (часто превосходят нейросети на структурированных данных), обладают возможностью прямого извлечения логики (из деревьев можно получить: явные правила, пороги, условия), компактность и малое время выполнения. [89] [68] Соответственно, методы ансамблевого обучения, за счет своей архитектуры, не требуют наличия миллионов параметров и весов, которые обрабатываются в ходе обучения нейронной сети. [90] [69] Использование ансамблевых алгоритмов, такого как градиентный бустинг над решающими деревьями делает систему достаточно универсальной с точки зрения данных, на основе которых может быть построен алгоритм классификации. GBDT позволяет обнаруживать зависимости между различными характеристиками данных и выделять наиболее значимые характеристики с точки зрения классификации. [91] [70] При этом, как указывалось выше, модель не используется для непосредственной классификации текста, т.е. GBDT обучается для анализа признаков, но не для дальнейшего использования при классификации, что, соответственно, не задействует вычислительные ресурсы при исполнении алгоритма классификации. Алгоритм классификации затем работает без ML-модели, то есть не требует хранения деревьев, весов или выполнения операций градиентного бустинга. [92] [71] Соответственно, на этапе 140 выполняется обучения модели, такой как градиентный бустинг, на значениях характеристик состава текста, результатом которого является модель классификации текста, состоящая из набора деревьев с их топологией; пороговых значений признаков в узлах; весов деревьев (коэффициенты бустинга); значений смещения модели (baseline). Т.е. выходом градиентного бустинга при обучении на наборе характеристик состава текста является ансамбль решающих деревьев и формируемая на его основе итоговая классификационная функция, содержащая структуру деревьев, пороговые значения признаков и веса моделей. [93] [72] На основе указанных параметров также, в дальнейшем, извлекается набор пороговых условий вида «если признак А > порога В, то...»; решающие правила; пути принятия решения в деревьях, которые и интерпретируются в детерминированный алгоритм классификации. [94] [73] Т.е. указанный этап 140 обеспечивает исключение ручного выделения различных характеристик данных, поиска между ними зависимостей, объединения коррелирующих данных и удаления мало значимых характеристик, что является довольно сложной задачей в виду объема данных. При этом, использование моделей машинного обучения на базе нейронных сетей, также не представляется возможным ввиду проблем с интерпретацией и высокой вычислительной сложностью. [95] [74] Таким образом, на этапе 140 обучают по меньшей мере одну модель машинного обучения на основе значений характеристик состава текста, полученных на этапе 130. [96] [75] Далее, на этапе 150 определяют для каждой характеристики состава текста показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения. [97] [76] Как указывалось выше, из алгоритма машинного обучения, такого как градиентный бустинг, в том числе можно извлечь: признаки, по которым принимаются решения, важность признаков. [98] [77] Важность признака - это численная (или относительная) мера того, насколько сильно данный признак (характеристика, переменная) влияет на итоговое предсказание модели машинного обучения. Т.е. важность признака показывает насколько «важен» конкретный признак для правильной классификации. Так, если признак имеет высокую важность - значит, изменения этого признака существенно меняют выход модели. Если важность низкая - признак почти не влияет, и можно, возможно, его исключить без заметного ухудшения качества. [99] [78] Так, в одном частном варианте осуществления, важность признака может быть определена с помощью функций оценки важности, таких как подсчет количества использований признака. Чем чаще признак используется в модели градиентного бустинга, тем он более значим. Определение насколько улучшилась точность модели за счет использования конкретного признака, считается на основе того, насколько уменьшилась ошибка модели. Расчет и сравнение SHAP-значений, которые показывают на сколько сильно признак влияет на предсказание всей модели. [100] [79] В еще одном частном варианте осуществления могут использоваться и другие функции, такие как Mean Decrease in Impurity и Permutation Importance. [101] [80] Указанный этап 150 позволяет отсечь лишние признаки, и выделить ключевые характеристики текста, что обеспечивает возможность построения простой, интерпретируемой классификации, без лишних признаков и без потери качества классификации, что, соответственно, также влияет на затрачиваемые вычислительные ресурсы при исполнении алгоритма классификации. [102] [81] Так, например, в одном частном варианте осуществления, для оценки важности признаков используются следующие функции: подсчет количества использований признака, Mean Decrease in Impurity (Важность на основе уменьшения примеси), Permutation Importance (Важность на основе перестановки). [103] [82] Таким образом, на указанном этапе 150, определяют для каждой характеристики состава текста показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения. [104] [83] Далее, на этапе 160, на основе показателя важности характеристик извлекают наиболее значимые характеристики состава текста, влияющие на классификацию текстовых данных моделью машинного обучения. [105] [84] Так, на этапе 160 характеристики состава текста, имеющие наибольшие значения показателя важности извлекаются в качестве параметров для построения алгоритма классификации данных. [106] [85] Так характеристики, используемые в модели GBDT, обученной на этапе 140, сортируются на основе функций оценки важности признаков, например, такой как функция подсчета количества использований признака, и среди них выбирается несколько наиболее важных характеристик. Например, в одном частном варианте осуществления выбирается 4 наиболее важные характеристики, больше всего повышающие точность модели. На Фиг. 3 представлен пример сортировки характеристик по их важности в зависимости от количества использований характеристики и ее влияния на качество классификации данных. Как видно на указанной Фиг. 3, у каждого признака может определяться значение количества использований, по которому определяется его важность относительно других признаков. Соответственно, в качестве наиболее важных признаков могут извлекаться признаки, чьи значения существенно отличаются в разрезе всех признаков. В еще одном частном варианте осуществления важность признака может основываться на пороговом значении, которое может определяться как, например, отношение значения использования признака к значениям других признаков. Кроме того, в еще одном частном варианте осуществления может выбираться фиксированное количество признаков, например, первые три признака, характеризующие третий уровень дерева, первые два признака и т.д. [107] [86] Таким образом, на этапе 160 извлекают наиболее значимые характеристики состава текста, влияющие на классификацию текстовых данных моделью машинного обучения, на основе показателей важности характеристик. [108] [87] Далее, на этапе 170 извлекают из модели машинного обучения, пороговые значения для наиболее значимых характеристик, полученных на этапе 160. [109] [88] Так, пороговое значение (threshold) - это число, с которым сравнивается значение признака (характеристики текста) в узле дерева решений. Каждый узел дерева содержит условие вида: если признак<порога - идти в левую сторону; если признак>порога - идти в правую сторону. [110] [89] Т.е. порог - это «точка разделения» данных по признаку, выбранная моделью автоматически при обучении. Порог определяется таким образом, чтобы лучше всего разделить примеры разных классов моделью на стадии обучения. [111] [90] Так, например, для характеристики текста «доля цифр в тексте» при пороговом значении, например, 0.35 - вероятность структурированного текста увеличивается, иначе -проверять другие деревья. [112] [91] Для характеристики «средняя длина слова» низкое пороговое значения указывается на то, что текст токенизирован, т.к. токенизированные тексты часто состоят из псевдослов/токенов, которые короче обычных слов. [113] [92] Соответственно, на этапе 170 осуществляют извлечение пороговых значений для наиболее значимых характеристик состава текста. [114] [93] Далее, на этапе 180 определяют логические связи между наиболее значимыми характеристиками состава текста, полученными на этапе 170. А именно, извлекают логические условия, соответствующие путям в деревьях решений, где условия внутри одного пути объединяются конъюнкцией (логическим «И»), а альтернативные пути, ведущие к одному классу, объединяются дизъюнкцией (логическим «ИЛИ»). Например, логическая конструкция, представленная на Фиг. 4, будет иметь вид: Если стандартное отклонение количества пробелов больше порогового значения, то текст относится к неструктурированному. Если стандартное отклонение количества пробелов не больше порогового значения и среднее количество служебных символов меньше порогового значения, то текст относится к структурированному. Так в еще одном частном варианте реализации, логические связи могут формироваться в виде программного кода, например: [115] [116] [117] [94] Как указывалось выше, на выходе градиентного бустинга получаются следующие параметры: 1. Ансамбль деревьев решений, где каждое дерево содержит: признаки (какие были использованы), пороги в узлах, структуру переходов (левая/правая ветвь), предсказание в листьях. 2. Важность признаков, где отображается какие признаки модель использует чаще и эффективнее для разделения данных. 3. Пороговые условия. 4. Последовательность применения этих правил - порядок, в котором модель проверяет признаки и выбирает ветви. [118] [95] Так, на основе последовательности применения правил можно восстановить логические связи между признаками (характеристиками). [119] [96] Для этого, можно использовать такие методы, как анализ путей в деревьях, определение совместной встречаемости признаков, анализ порядка использования признаков и т.д. [120] [97] Так, для метода анализа путей в деревьях, каждое дерево -это набор путей от корня к листу, а каждый путь - это логическая формула, то, соответственно, посредством метода анализа путей в деревьях можно определить какие признаки проверяются вместе, в каком порядке, при каких сочетаниях признаков образуется конкретный класс и т.д. [121] [98] Так, например, при низкой энтропии текста и высокой доли цифр - класс текста - структурированный текст и т.д. [122] [99] При определении совместной встречаемости признаков, определяется как часто два признака появляются в одном пути дерева. Если признаки часто стоят «рядом», то между ними есть логическая связь в классификации. Если признаки появляются в разных ветвях, они описывают разные аспекты текста. [123] [100] Соответственно, на этапе 180, посредством применения одного из методов, такого как анализ путей в деревьях или совместной встречаемости признаков, выявляются и извлекаются логические связи между наиболее значимыми характеристиками состава текста. [124] [101] Далее, на этапе 190 осуществляют построение алгоритма классификации текстовых данных на основе наиболее значимых характеристик состава текста, логических связей между ними, и пороговых значений указанных характеристик. [125] [102] Так, на основе данных, полученных на этапах 160-180 строится детерминированный алгоритм классификации текстовых данных. [126] [103] Этап 190 построения алгоритма классификации текстовых данных включает автоматическое преобразование структуры ансамбля решающих деревьев в логическую систему правил. На основе информации о пороговых значениях признаков, важности признаков и последовательности их применения в узлах деревьев выполняется анализ всех путей от корневых узлов к листовым. Каждый путь интерпретируется как логическая цепочка условий, определяющая конкретное решение (класс). Далее выполняется агрегация и оптимизация полученных логических цепочек с выделением признаков, имеющих наибольшее влияние на результат. На основе агрегированных логических связей формируется итоговый алгоритм классификации, представляющий собой совокупность условий, упорядоченных по важности и пороговым значениям признаков. [127] [104] Так, после обучения модели градиентного бустинга на сформированном наборе характеристик текстовых данных выполняется этап построения алгоритма классификации, в ходе которого формируется итоговый классификационный алгоритм в виде структурированной совокупности условий, объединяющих наиболее значимые признаки, их пороговые значения и логические связи, выявленные на предыдущих шагах. [128] [105] В одном частном варианте осуществления настоящего технического решения, на основе алгоритма также автоматически генерируется исходный программный код классификатора, который может функционировать без применения модели машинного обучения. Генерация исходного программного кода представляет собой автоматизированный процесс преобразования характеристик, пороговых значений и логических связей, полученных на этапах 160,170 и 180, в исполняемый программный код на заданном языке программирования. [129] [106] Так, например, каждая логическая связь преобразуется в соответствующую конструкцию целевого языка программирования с операторами and, or, if, elif, else, switch, case и т.д. Тогда условие вида среднее количество цифр меньше 12 и стандартное отклонение количества пробельных символов не меньше 2 преобразуется в конструкцию вида: if averagenumberofdigits<12 and standard deviation of spaces>=2. [130] [107] Таким образом, представленный подход автоматического построения алгоритма классификации данных обладает высокой эффективностью и обеспечивает сокращение вычислительных ресурсов, требуемых на выполнение алгоритма классификации данных, за счет автоматической генерации детерминированного алгоритма классификации данных. [131] [108] Так, в одном частном варианте осуществления, дополнительно выполняют оценку качества сформированного алгоритма классификации текстовых данных на полученном наборе данных. [132] [109] Указанный шаг обеспечивает проверку того, что построенный алгоритм классификации достаточно качественно классифицирует данные. Оценка качества может осуществляться различными методами, известными из практики оценки задач классификации, в частности может использоваться сравнение Fl-меры, полноты (recall) и точности (precision) с пороговыми значениями, например, со значением 0,9. [133] [110] Например, данные размечены на 2 класса: «структурированные» - 500 текстов и «неструктурированные» - 500 текстов. 400 случайных текстов используются для обучения модели GBDT, а 100 - для тестирования и оценки качества. Построенный алгоритм классификации относит 90 неструктурированных данных к классу «неструктурированные», а 10 неструктурированных - к классу «структурированные». И относит 95 структурированных данных к классу «структурированные», а 5 структурированных - к классу «неструктурированные». Предположим, что класс «неструктурированные» - это positive предсказание, тогда получим следующие соотношения: TP (true positive) - 90, FP (false positive) - 5, TN (true negative) - 95, FN (false negative) - 10. был сгенерирован алгоритм. Тогда метрики качества будут следующими: Fl-мера - 0,905; Recall - 0,9; Precision - 0,909. При сравнении с моделью GBDT, имеющей Fl-меру, например, 0,95, и пороговым значением 0,9 получаем, что построенный алгоритм классифицирует данные с высоким качеством, но немного хуже модели. Поскольку построенный алгоритм имеет качество выше порогового и работает быстрее модели GBDT, то считаем его приемлемым для решения поставленной задачи. [134] [111] На Фиг. 2 представлена система 200, реализующая этапы заявленного способа 100. [135] [112] В общем случае система 200 содержит такие компоненты, как: один или более процессоров 201, по меньшей мере одну память 202, средство хранения данных 203, интерфейсы ввода/вывода 204, средство В/В 205, средство сетевого взаимодействия 206, которые объединяются посредством универсальной шины. [136] [113] Процессор 201 выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа 100. Процессор 201 исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти 202. [137] [114] Память 202, как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. [138] [115] Средство хранения данных 203 может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства 203 позволяют выполнять долгосрочное хранение различного вида информации, например, размеченного набора текстовых данных, набора характеристик состава текста и т.п. [139] [116] Для организации работы компонентов системы 200 и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В 204. Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, Fire Wire, LPT, COM, SAT A, 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 и т.п. [140] [117] Выбор интерфейсов 204 зависит от конкретного исполнения системы 200, которая может быть реализована на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п. [141] [118] В качестве средств В/В данных 205 могут использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тач-пад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [142] [119] Средства сетевого взаимодействия 206 выбираются из устройств, обеспечивающих сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п.С помощью средств 206 обеспечивается организация обмена данными между, например, системой 200, представленной в виде сервера, и вычислительным устройством пользователя, на котором могут отображаться полученные данные (обезличенный текстовый документ) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM. [143] [120] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области.

Формула 1. Способ автоматического построения алгоритма классификации данных, выполняющийся по меньшей мере одним вычислительным устройством, и содержащий этапы, на которых: a) получают набор размеченных данных, содержащий списки текстовых данных с соответствующими классами данных; b) формируют, на основе текстовых данных, полученных на этапе а), набор характеристик состава текста, описывающий количественное представление, частоту встречаемости символов и распределение символов по группам в текстовых данных; c) определяют значение каждой характеристики состава текста из набора характеристик состава текста, для текстовых данных, полученных на этапе а); d) обучают по меньшей мере одну модель машинного обучения на основе значений характеристик, полученных на этапе с); e) определяют для каждой характеристики состава текста показатель важности характеристики при классификации набора текстовых данных моделью машинного обучения; f) извлекают наиболее значимые характеристики состава текста, влияющие на классификацию текстовых данных моделью машинного обучения, на основе показателей важности характеристик, полученных на этапе е); g) извлекают из модели машинного обучения, пороговые значения для наиболее значимых характеристик, полученных на этапе f); h) определяют логические связи между наиболее значимыми характеристиками состава текста, полученными на этапах f); i) осуществляют построение алгоритма классификации текстовых данных на основе наиболее значимых характеристик состава текста, полученных на этапе f), логических связей между ними, полученными на этапе h), и пороговых значений, полученных на этапе g). 2. Способ по п. 1, характеризующийся тем, что алгоритм классификации данных представляет собой, по меньшей мере алгоритм классификации конфиденциальных данных. 3. Способ по п. 1, характеризующийся тем, что класс текстовых данных представляет собой по меньшей мере одно из: неструктурированные данные, структурированные данные, зашифрованные данные, конфиденциальные данные, токенизированные данные, хешированные данные. 4. Способ по п. 1, характеризующийся тем, что набор характеристик состава текста содержит по меньшей мере две из следующих характеристик: количество русских букв отдельно в верхнем и нижнем регистре; количество английских букв отдельно в верхнем и нижнем регистре; количество цифр; количество пробелов и других пробельных символов; количество знаков препинания; количество слешей; количество разделителей; количество служебных символов; количество иероглифов; количество прочих символов. 5. Способ по п. 1, характеризующийся тем, что определение значения каждой характеристики состава текста для текстовых данных представляет собой по меньшей мере одно из: определение перцентилей, среднего, медианного, минимального и максимального значения характеристики, стандартного отклонения из всего набора текстовых данных. 6. Способ по п. 1, характеризующийся тем, что показатель важности характеристики представляет собой по меньшей мере одно из: подсчет количества использований характеристики, определение улучшения точности модели машинного обучения при использовании характеристики, подсчет влияния характеристики на предсказание модели машинного обучения. 7. Способ по п. 1, характеризующийся тем, что дополнительно выполняют оценку качества сформированного алгоритма классификации текстовых данных на полученном наборе данных. 8. Способ по п. 1, характеризующийся тем, что дополнительно осуществляют генерацию программного кода построенного алгоритма классификации текстовых данных. 9. Система автоматического построения алгоритма классификации данных, содержащая: • по меньшей мере один процессор; • по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из пп. 1-8.

Источник: Роспатент / ФИПСПубликуется с разрешения правообладателя, подтверждённого редакцией.Оригинал: СПОСОБ И СИСТЕМА АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ АЛГОРИТМА КЛАССИФИКАЦИИ ДАННЫХ ↗

Есть кому отправить?

Скопируется постоянная ссылка на этот материал.

Комментарии

Обсуждайте статью, отвечайте и оценивайте комментарии. Вход — через ваш Яндекс ID.

Загружаем обсуждение…