Тема: Автоматическое выявление полезной обратной связи из комментариев к обучающим материалам платформы "JetBrains Academy"
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Глава 1. Обработка естественного языка 7
1.1 Язык как данные 7
1.2 Машинное обучение как метод обработки данных 14
1.3 Классификация в текстовом анализе 18
1.4 Обзор классификаторов на основе машинного обучения 24
1.4.1 Логистическая регрессия 24
1.4.2 Метод k-ближайших соседей 30
1.4.3 Обучение на основе деревьев решений 34
1.4.4 XGBoost 40
Глава 2. Программа для классификации комментариев на 44
платформе "JetBrains Academy" 44
Комментарии на платформе "JetBrains Academy" 44
Предварительная обработка текстовых комментариев 45
Векторизация текстовых комментариев 49
Решеточный поиск 51
Оценка работы моделей 52
Словарь n-грамм 55
Окончательный вариант алгоритма 56
Заключение 59
Список источников 61
Приложение 1 65
Приложение 2 66
Приложение 3 66
Приложение 4 67
Приложение 5 67
Приложение 6 68
📖 Введение
Просматривать сообщения, оставленные пользователями необходимо, так как на их основе можно сделать вывод о качестве теоретического материала или понятности практических заданий. Проделывать эту операцию вручную затратно по ресурсам, поэтому и появляется необходимость автоматическим образом осуществить сортировку комментариев так, чтобы с высокой точностью отбрасывать тексты, не несущие полезной информации для создателей обучающего контента, и сохранять большую часть актуальной обратной связи, которая поможет усовершенствовать качество подаваемого материала.
Целью данной выпускной квалификационной работы является разработка алгоритма для автоматического выявления полезной обратной связи из комментариев к обучающим материалам платформы "JetBrains Academy".
Для достижения поставленной цели необходимо решить следующие задачи:
1. Изучить современные алгоритмы машинного обучения, выполняющие классификацию данных.
2. Выполнить предобработку корпуса комментариев,
предоставленного компанией.
3. Преобразовать комментарии в векторный формат.
4. Провести сравнительный анализ качества работы разных алгоритмов машинного обучения и способов трансформации текстовых данных в вектора.
5. На основе проведенного эксперимента выявить лучший алгоритм и оформить его в API, которым в дальнейшем смогут пользоваться сотрудники "JetBrains Academy".
Данная исследовательская работа имеет высокую практическую значимость, поскольку она поможет улучшить качество работы платформы, на которой обучается большое количество людей со всего мира.
Актуальность работы определяется тем, что на сегодняшний день не существует универсального подхода к решению такой проблемы как классификации текстов: данные из разных источников всегда различны и необходимо проводить глубокий анализ для достижения хороших результатов. Таким образом, проведенный эксперимент поможет выявить наиболее подходящий вариант работы с такими типами текстовых данных, какие могут встретиться в сфере обучения программированию
✅ Заключение
В первой главе освещалась тема естественного языка и как тексты на нем можно обрабатывать и классифицировать для различных задач. Также были подробно рассмотрены четыре алгоритма классификации: логистическая регрессия, метод k-ближайших соседей, случайный лес и XGBoost. Некоторые из них являются достаточно простыми и базовыми инструментами в машинном обучении, другие применяют более сложные и современные технологии. Во второй главе было рассказано о сравнительных результатах каждого из них.
Кроме того, в данной работе рассказывается о проблеме сочетания в одном тексте естественного языка и формального, которым является любые языки программирования. Были предложены способы очистки и подготовки данных для обучения классификатора : в практической части работы были рассмотрены три способа векторизации текстов (tf-idf, предобученные эмбеддинги GloVe и эмбеддинги предложений LaBSE), также были показаны примеры, как удалить из комментариев фрагменты кода с помощью регулярных выражений, и провести дополнительную фильтрация по метаинформации, указанной в исходном наборе данных.
Финальный алгоритм показал хорошие результаты на неразмеченных данных, поскольку он использует не только автоматический классификатор, но и словарь с n-граммами.
На примере проведенного эксперимента было доказано, что при работе с такими сложными данными и достаточно субъективной разметкой, проведенной сотрудниками компании, необходимо основательно изучить и подготовить датасет с текстами, чтобы избежать переобучения алгоритма машинного обучения, и, возможно, дополнить работу другими лексическими ресурсами.



