УДК 004

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

Некрасова Эвелина Владимировна – студент магистратуры Воронежского государственного технического университета.

Гусев Павел Юрьевич – кандидат технических наук, доцент Воронежского государственного технического университета.

Аннотация: Объективная оценка знаний студентов – одни из наиболее актуальных задач образования во все времени. В данной работе предлагается использование методов машинного обучения при оценке результатов курсового проектирования. В качестве набора исходных данных рассмотрен набор курсовых работ по дисциплине «Основы CAD-систем». Для разработки моделей машинного обучения собран набор исходных данных, представляющий собой таблицу, в одном столбце которой хранится текст пояснительной записка, а во втором столбце хранится оценка, полученная студентом. Набор исходных данных подготовлен для загрузки в модель машинного обучения. Проведена векторизация текста двумя способами – с использованием мешка слов и TF-IDF. В результате проведения оценки модели машинного обучения определены наиболее и наименее значимые слова при классификации курсовых проектов. Обученные модели машинного обучения оценены с использованием основных метрик.

Ключевые слова: машинное обучение, обучение модели машинного обучения.

Введение

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

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

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

Цель и задачи

Анализ отечественной литературы по разработке систем оценивания знаний показал высокий интерес научного сообщества к данной проблеме. В работах отражены различные подходы к оцениванию [1-3]. Зарубежные авторы также неоднократно затрагивали тему анализа текстовых данных для принятия решений [4-5].

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

Методы исследования

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

Прямое кодирование (one-hot encoding) - самый простой способ преобразования токенов в тензоры и применяется в частности для векторизации малых текстов. Недостатком такого метода является бинарное кодирование каждого токена, то есть единица ставится тому элементу, который соответствует номеру токена в тексте, в противном случае ноль, и так для каждого токена. Из-за этого получается огромная размерность даже при наличии небольшого количества слов. Для этого нужны большие объемы памяти, что неэффективно с вычислительной точки зрения. Другим недостатком является невозможность метода понять различие (схожесть) слов по смыслу, то есть каждый отдельный токен находится изолированно от другого. [6] 

Bag of Words или мешок слов — это модель, часто используемая при обработке текстов, представляющая собой неупорядоченный набор слов, входящих в обрабатываемый текст. Часто модель представляют в виде матрицы, в которой строки соответствуют отдельному тексту, а столбцы — входящие в него слова. Ячейки на пересечении являются числом вхождения данного слова в соответствующий документ. Однако данная модель не учитывает частотность токенов. [7]

Чтобы помочь модели сфокусироваться на значимых словах, можно использовать скоринг TF-IDF (Term Frequency, Inverse Document Frequency) поверх модели «мешка слов». TF–IDF — статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса. TF-IDF взвешивает на основании того, насколько слова редки в датасете, понижая в приоритете те, которые встречаются слишком часто и просто добавляют шум. [8]

Word2vec наиболее распространенный метод векторного представления слов в настоящее время. Объединяет в себе Skip-gram и Continuous Bag of Words (CBOW). Работа данного алгоритма заключается в нахождении связей между контекстами слов согласно предположению, что слова, находящиеся в схожих контекстах, имеют тенденцию значить похожие вещи, то есть быть семантически близкими. Более формально задача стоит так: максимизация косинусной близости между векторами слов (скалярное произведение векторов), которые появляются рядом друг с другом, и минимизация косинусной близости между векторами слов, которые не появляются друг рядом с другом. Рядом друг с другом в данном случае значит в близких контекстах[9].

Анализ исходных данных показал, что оптимальным вариантом для данной работы является метод мешка слов, с дополнением в виде TF-IDF.

Анализ и подготовка текста

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

Для сбора информации реализован парсер, который обходит папки и выбирает нужные файлы. Для этого из модуля pdfminer подключается конвертер текста TextConverter, PDF интерпретатор страниц PDFPageInterpreter, менеджер управления ресурсами PDFResourceManager и средство работы со страницами PDFPage.

Далее циклом обходится заранее сформированная директория, в которой хранятся файлы с курсовыми работами. Внутри каждой папки выполняется поиск файла kurs.pdf. При нахождении необходимого файла определяется точный путь к файлу и директория, которая назначается рабочей. Вслед за этим вызывается метод для извлечения текста из PDF, который формирует набор данных, содержащий текстовые данные об одном отчете. Следующим этапом вызывается метод, собирающий оценку из текстового файла соответствующую курсовой работе. Ввиду того, что использован ограниченный по объему набор данных, шкалу оценивания решено оставить только в виде «зачет» (1) и «не зачет» (0). В дальнейшем, при расширении набора данных, можно использовать 5 бальную шкалу оценивания. В результате проведения работ по сбору текстовой информации и оценок получен набор данных, представленный на рис. 1.

image1

Рисунок 1. Сбор данных.

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

image2

Рисунок 2. Код для обработки текста.

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

image3

Рисунок 3. Результат обработки данных.

Обучение модели машинного обучения

Обработанный текст позволяет приступить к этапу разработки моделей машинного обучения. В качестве метода обучения выбрана логистическая регрессия, так как основная задача - классификация данных. Набор исходных данных разделен на обучающую выборку (80% данных), которая применяется для обучения, и тестовую (20% данных), на которой будет происходить обучение на новых данных. К обучаемой модели были применены следующие параметры: C (инверсия силы регуляризации) = 30; class_weight='balanced' - веса классов, «balanced» режим использует значения для автоматической регулировки весов, обратно пропорциональных частотам классов во входных данных; n_jobs (количество ядер процессора) = -1 - означает использование всех ядер процессора. [10]

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

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

image4

Рисунок 4. Анализ мешка слов.

Для повышения значимости слов использована статистическая мера TF-IDF. Теперь модель выделила больше значимых ключевых слов, но, в свою очередь, сохранилась проблема переобучения модели. Переобучение модели на словах, которые не являются ключевыми для рассматриваемой области, является следствием небольшого набора данных использованных для обучения. На рис. 5 представлены токены, наиболее показательные при использовании TF-IDF.

image5

Рисунок 5. Повторный анализ.

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

На рис. 6 представлен фрагмент программного кода и результат вывода метрик при использовании мешка слов.

image6

Рисунок 6. Вывод метрик.

Как можно заметить, доля правильных ответов алгоритма равна 83%, а точность равна 91%. Полнота равна доле правильных ответов – таким образом, были найдены все положительные ответы. Среднее гармоническое равно 85%. В условиях существующих исходных данных это хороший показатель.

После использования статистической меры TF-IDF при токенизации текста также проведен анализ метрик обучения. В результате показания метрик оказались идентичны использованию мешка слов. Такой результат объясняется малым количеством исходных данных.

Выводы

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

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

Список литературы

  1. Бобиенко B. О. М. Курсовая работа (проект) как инструмент оценки деятельностных результатов образования //Профессиональное образование в России и за рубежом. – 2015. – №. 3. – С. 90-93.
  2. Коган Б. И. О создании оценочных средств для аттестации выпускников //Вестник Кузбасского государственного технического университета. – 2003. – №. 1.
  3. Шамсутдинова Т. М. Оценка качества курсовых работ: компетентностный подход //Образование и наука. – 2018. – Т. 20. – №.
  4. Martí‐Parreño J., Méndez‐Ibáñez E., Alonso‐Arroyo A. The use of gamification in education: a bibliometric and text mining analysis //Journal of computer assisted learning. – 2016. – Т. 32. – №. 6. – С. 663-676.
  5. Saarinen T. Position of text and discourse analysis in higher education policy research //Studies in Higher Education. – 2008. – Т. 33. – №. 6. – С. 719-728.
  6. Rodríguez P. et al. Beyond one-hot encoding: Lower dimensional target embedding //Image and Vision Computing. – 2018. – Т. 75. – С. 21-31.
  7. Wallach H. M. Topic modeling: beyond bag-of-words //Proceedings of the 23rd international conference on Machine learning. – 2006. – С. 977-984.
  8. Yun-tao Z., Ling G., Yong-cheng W. An improved TF-IDF approach for text classification //Journal of Zhejiang University-Science A. – 2005. – Т. 6. – №. 1. – С. 49-55.
  9. Church K. W. Word2Vec //Natural Language Engineering. – 2017. – Т. 23. – №. 1. – С. 155-162.
  10. Hosmer Jr D. W., Lemeshow S., Sturdivant R. X. Applied logistic regression. – John Wiley & Sons, 2013. – Т. 398.