УДК 004.89
О.И. Федяев, Н.В. Мелещенко
ФГБОУ ВО «Донецкий национальный технический университет»
В статье рассматривается анализ требований предприятий с целью выявления из них новых знаний для дополнения и корректировки учебных программ подготовки специалистов. Эта задача решена путём компьютерной обработки текстов требований на естественном языке методами машинного обучения. В качестве метрики сопоставления текстов рабочих программ дисциплин и требований предприятий использовалась модель, учитывающая контекст слов и их смысл. Модель реализована на нейронной сети, обученной на немаркированных данных. Новые знания для конкретной рабочей программы дисциплины извлекаются путём сопоставления графов знаний, построенных по текстам требований и учебных программ дисциплин.
Введение
В работе рассматривается расширение функций многоагентной системы имитационного моделирования процесса трудоустройства студентов вуза [1]. Такая система создаётся для оценивания (прогнозирования) методами моделирования уровня профессиональной подготовки студентов по критерию, определяемому работодателем, а также для определения востребованности на рынке труда выпускников конкретного вуза (рисунок 1).
Успешное трудоустройство выпускников вуза во многом зависит от объёма и новизны компетенций, получаемых студентом на кафедрах университета. Если студент не знает хотя бы основ необходимых знаний по профилю предприятия, то вероятность его трудоустройства крайне мала. Поэтому необходимо отслеживать изменение потребностей рынка труда, чтобы университету своевременно корректировать программы учебных дисциплин на основе методов интеллектуального анализа текстовых данных, отражающих спрос и предложения рынка труда. В этой связи возникает актуальная задача автоматизации смыслового анализа такого типа текстовых данных, чтобы вуз мог быстро менять учебные программы с ориентацией на выработку у выпускников нужных компетенций.
Целью данной работы является разработка программной модели агента методиста кафедры (рисунок 1), отвечающего за поддержание актуальности изучаемых знаний в ряде дисциплин, с учётом требований профильных предприятий.
Постановка задачи интеллектуального анализа текстовых данных
Основными объектами анализа являются следующие текстовые документы в формате docx:
Требования представляют собой русскоязычный текст, содержащий необходимые компетенции, технологии, инструменты и др. для успешного решения профессиональных задач по профилю предприятия, владение которыми является необходимым условием приёма на работу. Учебные программы для каждой дисциплины содержат перечень получаемых знаний, умений и навыков, а также содержание тем лекций и самостоятельно выполняемых работ (по стандарту рабочей программы дисциплины).
Задача заключается в определении учебных дисциплин и дополнении их ранее не изучаемыми, но необходимыми знаниями, извлечёнными из требований предприятий. Для этого должны быть автоматически реализованы следующие функции:
Таким образом, программное обеспечение агента Методист должно на входе принимать множество текстовых документов с учебными программами дисциплин и множество текстовых документов с требованиями от предприятий, а на выходе должно сформировать дополнения к тем учебным программам дисциплин, к которым относятся новые знания в виде названий навыков, технологий, инструментов и методик, извлечённых из требований предприятий.
Сопоставление учебной дисциплины и требований предприятий
Чтобы сопоставить требование и дисциплину необходимо воспользоваться определённой метрикой, которая будет показывать степень отношения требования к каждой из дисциплин, и выбрать отношение с максимальным значением данной метрики.
Так как рабочие программы дисциплин и требования от предприятий являются текстовыми документами, то для сопоставления дисциплины и требования были применены методы обработки естественного языка (Natural Language Processing, NLP) [2]. В методе NLP первый шаг заключается в переходе от слов к числам, т. к. компьютер не умеет работать с текстом в явном виде, поэтому анализируемые тексты были оцифрованы. Для такого преобразования использовались два основных вида моделей числового представления текста:
Для выбора конкретного векторного представления необходимо учитывать смысл метрики, по которой определяется отношение требования к дисциплине. Модели, основанные на подсчёте слов, не учитывают их порядок и смысл использования, а модели вложения слов как раз основываются на контексте слов и их смысле. В данной задаче в качестве метрики целесообразно использовать схожесть документов по смыслу, поэтому была выбрана модель вложений слов. Для расчёта метрики в этом случае достаточно оценить косинусное расстояние между векторами документов требований и учебной программы дисциплины.
Основу моделей вложений составляют нейронные сети и их обучение на немаркированных данных. Были рассмотрены ряд моделей этого класса. Модель Word2Vec предназначена для кодирования смысла слов в векторах фиксированной размерности при помощи нейронной сети, которая предсказывает вхождения слов в контексте целевых слов. Она является дальнейшим развитием идеи Word2Vec на целые документы. В этом случае при предсказании учитываются не только слова, но и вектор документа, который является дополнительным входным сигналом. Модель FastText является улучшением идеи Word2Vec за счёт предсказания не только слов, но и n-символьных грамм (последовательностей из n символов), таким образом, появляется возможность работы с ранее неизвестными словами и орфографическими ошибками в тексте, однако размер такой модели и её вычислительная сложность кратно возрастает по сравнению с Word2Vec [2].
В ходе анализа различных подходов и алгоритмов был выбран алгоритм Doc2Vec, который позволяет создать векторное представление документа любой длины [2]. После этапа обучения данный алгоритм позволяет генерировать векторы для неизвестных ранее документов. Следовательно, необходимо обучить модель на документах всех учебных дисциплин, а затем использовать обученную модель для создания векторов документов требований от предприятий. После этого можно использовать полученные векторы для поиска схожих документов, что и необходимо на этом этапе решения задачи. Программная реализация данного подхода выполнена в виде конвейера NLP (рисунок 2).
В первую очередь разделяется исходный текст документа на токены. Для этого использовались регулярные выражения. Затем отфильтровываются стоп-слова (предлоги, местоимения, междометия и т. п.), а также просто слишком короткие (менее 2 символов) и слишком длинные (более 25 символов) слова, чтобы уменьшить влияние очень частых и неинформативных слов. Далее проводилась лемматизация, т. е. приведение словоформы к леммам – их нормальным (словарным) формам.
Лемматизация снижает вариативность одного и того же слова, что уменьшает словарь и увеличивает точность анализа текста. После этого полученные токены передавались в модель Doc2Vec для преобразования документа в его смысловой вектор с заранее заданным размером n.
Дополнение учебных программ новыми знаниями (технологиями, навыками и методиками)
Чтобы дополнить учебную программу дисциплины новыми знаниями необходимо, во-первых, выделить их из текста требований предприятия, во-вторых, определить, какие из них являются новыми для учебной программы. Знания в общем виде представлялись в виде сетевой модели – графа знаний. В такой модели знания представляют собой множество троек (связей между двумя вершинами в графе): (𝑝𝑖, 𝑟𝑘, 𝑝𝑗), где 𝑝𝑖, 𝑝𝑗 – понятия; 𝑟𝑘 – связь между понятиями. Для построения модели знаний в такой форме применяются следующие методы извлечения понятий и связей: на основе правил, статистические, на основе внешних баз знаний, на основе машинного обучения и гибридные модели [3],[4].
Поскольку в данной задаче интеллектуальный анализ требований предполагается возложить на одного агента и число текстов дополняемых учебных программ ограниченно, то в данной работе авторы воспользовались методом на основе синтаксических правил. Знания представлялись в виде следующих смысловых связей слов:
Для решения данной задачи применялся синтаксический анализ текста, в результате которого формируется дерево синтаксического анализа. Например, результат синтаксического анализа требования в виде предложения «Знать методы кластерного и дискриминантного анализа данных» показан на рисунке 3.
Такой подход позволяет извлекать структурированные знания из исходного текста. С его помощью можно получить прилагательные «кластерного» и «дискриминантного», которые описывают имя существительное «анализа» как показано на данном рисунке.
Таким образом, знания, выделенные из текста, будут представлять собой список из связей между двумя словами, который можно представить в виде графа знаний (рисунок 4).
В таблице хранится информация о трёх существительных (анализ, данные и метод), двух прилагательных (дискриминантный и кластерный), одном глаголе (знать) и связях между ними. «Анализ» может быть «дискриминантным» и «кластерным». «анализируются данные» и есть понятие «метод анализа», а «знать» можно «метод» (таблица 1).
| Токен | Отношение/часть речи | Токен |
|---|---|---|
| дискриминантный | ADJ | дискриминантный |
| кластерный | ADJ | кластерный |
| анализ | NOUN | анализ |
| данные | NOUN | данные |
| метод | NOUN | метод |
| знать | VERB | знать |
| анализ | amod | дискриминантный |
| анализ | amod | кластерный |
| анализ | nmod | данные |
| метод | nmod | анализ |
| знать | obj | метод |
Из этих связей можно сконструировать все знания, которые присутствуют в тексте, а для выявления недостающих знаний необходимо сравнить список знаний в тексте учебной программы дисциплины со списком знаний в тексте требований предприятия. Новыми будут те знания, которые содержатся только в тексте требований.
Модельные эксперименты
В качестве примера были проведены эксперименты, в которых использовались учебные программы 4-х дисциплин учебного плана магистратуры по направлению 09.04.04 – «Программная инженерия» и 4 требования от предприятий, отражающих необходимые для них компетенции. Учебные программы дисциплин, по которым реально учатся магистранты, представляют собой файлы в формате docx. Интересно было определить реализованным методом машинного обучения схожесть рассмотренных рабочих программ дисциплин при помощи векторной модели документов Doc2Vec (см. числа на рёбрах графа, рисунок 5).
Из рисунка видно, что наибольшую схожесть имеют дисциплины «Нейросетевые и нечёткие системы» и «Распознавание образов». Поэтому система ошиблась при соотношении требования к специалисту по нейросетям и к дисциплине «Распознавания образов» (таблица 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. Знать методы извлечения знаний из разных источников знаний. Кандидат должен знать о возможностях пакетов Data Mining и Text Mining. Знать методы дискриминантного и кластерного анализа данных. Иметь представление о деревьях решений, критериях расщепления, знать алгоритм CART для построения деревьев решений. Знать смешанную модель авторегрессии». Результат выделения знаний представлен графом знаний (см. рисунок 6).
Зелёным выделены токены, которые уже известны в дисциплине «Интеллектуальный анализ данных», а оранжевым выделены неизвестные токены. Зелёные связи между токенами являются уже известными, а оранжевые – неизвестными. Чтобы выделить неизвестные знания в приближенном текстовом виде необходимо из исходного текста требования от предприятия сформировать смысловые фрагменты и проверить возможность построения этих фрагментов при помощи имеющихся знаний дисциплины. Смысловые фрагменты можно формировать путём объединения подряд идущих и связанных между собой слов или всех модифицирующих слов и модифицируемое слово, например, все прилагательные и существительное, которое они описывают. В данном случае, исходя из специфики учебных программ дисциплин, в основе смысловых фрагментов и новых знаний будут существительные и все слова, которые их описывают (см. рисунок 7).
Оранжевым цветом выделены новые знания (фразы, термины), извлечённые системой: разных источников знаний, технологиями анализа больших данных, языковых моделях, методы извлечения знаний, принципах обработки естественного языка, кандидат, text mining, генерации текстов, нейронные сети, методах поиска, иметь, возможностях пакетов, возможности чат-бота ChatGPT. Видно, что многие знания уже имеются в учебной программе (зелёные круги).
Выводы
В работе построена ролевая модель программного агента Методист, выполняющего анализ требований предприятий с целью выявления из них новых знаний для дополнения и корректировки учебных программ дисциплин подготовки специалистов. Анализ требований и синтез новых знаний решаются путём компьютерной обработки текстов на естественном языке методами машинного обучения. В работе рассмотрено сопоставление текстов требования предприятия и учебных программ на основе векторного представления текста Doc2Vec и косинусного подобия.
Для извлечения знаний из текста предложено использовать синтаксические правила, а для выявления недостающих знаний – формирование смысловых фрагментов на основе существительных. Рассмотрено представление извлечённых знаний в виде графа знаний.
Экспериментальные исследования разработанного алгоритмического и программного обеспечения для агента Методист показали возможность его применения в составе мультиагентной имитационной модели с целью улучшения адаптации учебного процесса к условиям реального рынка труда.
Перечень ссылок