УДК 004.853

Извлечение знаний из требований предприятий в мультиагентной системе моделирования процесса подготовки студентов

Н.В. Мелещенко, О.И. Федяев

ФГБОУ ВО «Донецкий национальный технический университет» (г. Донецк) кафедра «Программная инженерия им. Л.П. Фельдмана»

e-mail: meleshenko.nikolay@gmail.com, fedyaev@donntu.ru

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

Ключевые слова: извлечение знаний из текста, учебный процесс, трудоустройство студентов, мультиагентная система.

Введение

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

Целью данной работы является разработка программной модели агента, отвечающего за поддержание актуальности изучаемых знаний в ряде дисциплин, с учётом требований от предприятий по трудоустройству студентов (рис.1).

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

Рисунок 1 -- Схема формирования рекомендации по дополнению учебных программ дисциплин в мультиагентной системе

Постановка задачи

Основными объектами предметной области в данной работе являются следующие текстовые документы:

  • требования от предприятий;
  • учебные программы дисциплин.

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

Целью системы является дополнение учебных программ дисциплин ранее не изучаемыми, но необходимыми знаниями, извлечёнными из требований предприятий.

Для этого были решены следующие задачи:

  • сопоставление требований предприятия с учебными дисциплинами;
  • извлечение и дополнение учебной программы новыми знаниями.

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

Сопоставление дисциплины и требований

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

Так как учебные программы дисциплин и требования от предприятий являются текстовыми документами, то для сопоставления дисциплины и требования были применены методы обработки естественного языка (Natural Language Processing, NLP). В NLP первым шагом является переход от слов к числам, так как компьютер не умеет работать с текстом в явном виде, поэтому анализируемые тексты должны быть оцифрованы. Для такого преобразования есть два основных вида моделей числового представления текста:

  • модели, основанные на подсчете слов (BOW, TF-IDF);
  • модели вложений слов (Word2Vec, Doc2Vec, FastText, Glove) [2,3].

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

Основу моделей вложений составляют нейронные сети и обучение на немаркированных данных. Модель Word2Vec предназначена для кодирования смысла слов в векторах фиксированной размерности при помощи нейронной сети, которая предсказывает вхождения слов в контексте целевых слов. Модель Doc2Vec является дальнейшим развитием идеи Word2Vec на целые документы. В этом случае при предсказании учитываются не только слова, но и вектор документа, который является дополнительным входным сигналом. Модель FastText является улучшением идеи Word2Vec за счет предсказания не только слов, но и n-символьных грамм (последовательностей из n символов), таким образом, появляется возможность работы с ранее неизвестными словами и орфографическими ошибками в тексте, однако размер такой модели и её вычислительная сложность кратно возрастает по сравнению с Word2Vec [2].

В ходе анализа различных подходов и алгоритмов из [2,3] был выбран алгоритм Doc2Vec, который позволяет создать векторное представление документа любой длины. После этапа обучения Doc2Vec позволяет генерировать векторы для неизвестных ранее документов. Следовательно, необходимо обучить модель на документах всех учебных дисциплин, а затем использовать обученную модель для создания векторов документов требований от предприятий. После этого можно использовать полученные векторы для поиска схожих документов, что и необходимо на этом этапе решения задачи. Для программной реализации данного подхода необходимо построить конвейер NLP (рис. 2).

Конвейер NLP для преобразования текстового документа в вектор вещественных чисел заданного размера n

Рисунок 2 -- Конвейер NLP для преобразования текстового документа в вектор вещественных чисел заданного размера n

В первую очередь необходимо разделить исходный текст документа на токены. Для этого использовались регулярные выражения. Затем необходимо отфильтровать стоп слова (предлоги, местоимения, междометия и т.п.), а также просто слишком короткие (менее 2 символов) и слишком длинные (более 25 символов) слова, чтобы уменьшить влияние очень частых и неинформативных слов. Далее проводилась лемматизация, то есть приведение словоформ к леммам -- их нормальным (словарным) формам. Лемматизация снижает вариативность одного и того же слова, чтобы уменьшить словарь и увеличить точность анализа текста. После этого полученные токены передавались в модель Doc2Vec для преобразования документа в его смысловой вектор с заранее заданным размером n.

Дополнение учебных программ новыми знаниями

Чтобы дополнить учебную программу дисциплины новыми знаниями необходимо, во-первых, выделить их из текста требований предприятия, во-вторых, определить, какие из них являются новыми для учебной программы. Знания в общем виде можно представить в виде сетевой модели -- графа знаний. В такой модели знания представляют собой множество троек (связей между двумя вершинами в графе): (pi, rk, pj) , где pi, pj -- понятия; rk -- связь между понятиями [3]. Для построения модели знаний в такой форме применяются следующие методы извлечения понятий и связей: на основе правил, статистические, на основе внешних баз знаний, на основе машинного обучения и гибридные модели [3,5]. Поскольку в данной задаче интеллектуальный анализ требований предполагается возложить на одного агента и число текстов дополняемых учебных программ ограниченно, то в данной работе авторы воспользовались методом на основе синтаксических правил.

Знания представлялись в виде следующих смысловых связей слов:

  • существительное с прилагательным;
  • существительное с существительным;
  • глагол с существительным.

Для решения данной задачи воспользуемся синтаксическим анализом текста, в результате которого будет сформировано дерево синтаксического анализа (рис. 3).

Древовидная структура синтаксического анализа предложения

Рисунок 3 -- Древовидная структура синтаксического анализа предложения

Такой подход позволяет извлекать структурированные знания из исходного текста. Например, можно получить прилагательные «кластерного» и «дискриминантного», которые описывают имя существительное «анализа» как показано на рисунке выше.

Таким образом, знания, выделенные из текста, будут представлять собой список из связей между двумя словами (табл. 1), который можно представить в виде графа знаний (рис.4).

Таблица 1. Таблица знаний
Токен Отношение/часть речи Токен
дискриминантный ADJ дискриминантный
кластерный ADJ кластерный
анализ NOUN анализ
данные NOUN данные
метод NOUN метод
знать VERB знать
анализ amod дискриминантный
анализ amod кластерный
анализ nmod данные
метод nmod анализ
знать obj метод
Граф знаний

Рисунок 4 -- Граф знаний

В таблице хранится информация о трёх существительных (анализ, данные и метод), двух прилагательных (дискриминантный и кластерный), одном глаголе (знать) и связях между ними. «Анализ» может быть «дискриминантным» и «кластерным». Анализируются «данные» и есть понятие «метода анализа», а «знать» можно «метод». Из этих связей можно сконструировать все знания, которые присутствуют в тексте и для выявления недостающих знаний необходимо сравнить знания из текста учебной программы и список знаний из текста требований. Новыми будут знания, которые содержаться только в тексте требований.

Эксперименты

В качестве примера были проведены эксперименты, в которых использовались учебные программы 4-х дисциплин учебного плана магистратуры по направлению 09.04.04 -- «Программная инженерия» и 4 требования от предприятий, отражающих необходимые для них компетенции. Учебные программы дисциплин, по которым учатся магистранты, представляют собой файлы в формате docx. Методом машинного обучения были определены схожесть дисциплин при помощи векторной модели документов Doc2Vec (см. числа на рёбрах графа, рис.5).

Косинусное подобие между векторами учебных дисциплин

Рисунок 5 -- Косинусное подобие между векторами учебных дисциплин

Из рисунка видно, что наибольшую схожесть имеют дисциплины «Нейросетевые и нечёткие системы» и «Распознавание образов». Поэтому система ошиблась при соотношении требования к специалисту по нейросетям и дисциплины «Распознавания образов» (табл. 2). Это произошло потому, что это похожие дисциплины, так как и в распознавании образов ключевым термин является «нейронные сети».

Таблица 2. Результаты соотношения требований от предприятий и дисциплин
Требование ИБ НС ИАД РО
Требования к специалистам в области нейросетей (НС) 0.58 0.72 0.61 0.83
Требования к специалистам по интеллектуальному анализу данных (ИАД) 0.51 0.29 0.98 0.36
Требования к специалистам по компьютерному зрению (РО) 0.64 0.68 0.49 0.87
Требования к специалистам по информационной безопасности (ИБ) 0.97 0.34 0.48 0.20

Подробнее разберём результат выделение недостающих знаний для дисциплины «Интеллектуальный анализ данных». Требование было такое: «Кандидат должен владеть технологиями анализа больших данных, уметь применять нейронные сети для анализа данных. Иметь представление о принципах обработки естественного языка, языковых моделях, методах поиска и генерации текстов. Знать возможности чат-бота ChatGPT. Знать методы извлечения знаний из разных источников знаний. Кандидат должен знать о возможностях пакетов DataMining и TextMining. Знать методы дискриминантного и кластерного анализа данных. Иметь представление о деревьях решений, критериях расщепления, знать алгоритм CART для построения деревьев решений. Знать смешанную модель авторегрессии».

Результат выделения знаний можно представить в виде графа знаний (рис. 6).

Граф знаний текста требований для дисциплины «Интеллектуальный анализ данных»

Рисунок 6 -- Граф знаний текста требований для дисциплины «Интеллектуальный анализ данных»

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

Смысловые фрагменты требований для дисциплины «Интеллектуальный анализ данных»

Рисунок 7 -- Смысловые фрагменты требований для дисциплины «Интеллектуальный анализ данных»

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

Выводы

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

Литература

  1. Федяев, О.И. Модель системы подготовки и трудоустройства специалистов на основe программных агентов с нейросетевой архитектурой // Пятнадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2016, Труды конференции. В 3-х томах. Т.2. -- Смоленск: Универсум, 2016.
  2. Лейн, Хобсон. Обработка естественного языка в действии / Х. Лейн, Х. Хапке, К. Ховард. --- СПб.: Питер, 2020. --- 576 с.: ил. --- (Серия «Для профессионалов»). ISBN 978-5-4461-1371-2.
  3. Логунова, Т. В. Анализ алгоритмов классификации текстов / Т.В. Логунова, Л.В. Щербакова, В.М. Васюков, В.В Шимкун // Universum: технические науки. 2023. №2-2 (107).
  4. Пимешков, В. К. Методы извлечения знаний из естественно-языковых текстов / В.К. Пимешков, М.Г. Шишаев // Труды Кольского научного центра РАН. Серия: Технические науки. 2022. №2.
  5. Николаев, И.Е. Метод извлечения знаний и навыков/компетенций из текстов требований вакансий // Онтология проектирования. 2023. №2 (48).

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

Ключевые слова: извлечение знаний из текста, учебный процесс, трудоустройство студентов, мультиагентная система.

Meleshchenko N.V., Fedyaev O.I. Extracting knowledge from the requirements of enterprises in a multi-agent system for modeling the student learning process. The article considers the development of a software agent model, the purpose of which is to supplement the curricula of disciplines with new knowledge from the requirements of enterprises for the employment of students. Experimental studies of the developed model have been carried out.

Keywords: knowledge extraction from the text, educational process, student employment, multi-agent system.