Введение. Работая в группе из трех человек, мы попытались определить, нужно ли упростить предложения, чтобы их было легче понять. Цель этого проекта — предоставить бинарную классификацию предложений: да, ее нужно упростить (1) или нет, ее не нужно упрощать (0). Для того чтобы информация была доступна для всех, может потребоваться упростить предложения. Существует широкая аудитория читателей, которым может быть трудно: дети, те, для кого английский является вторым языком, и взрослые с дислексией. Используя обработку естественного языка и машинное обучение, проблема будет решена.

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

Когда эти данные подвергались предварительной обработке, первым шагом был подсчет вхождений запятых для каждого предложения и возврат счетчика в новый столбец. Следующим шагом было удаление знаков препинания из предложений и их разделение на слова. Затем слова переводились в нижний регистр и определялись части речи. Для каждой части речи число также было разделено на количество слов в предложении в целом, чтобы получить долю предложения, которое было этой частью речи. Как только это было сделано, данные затем были разделены на два разных способа: 80/20 и 50/50. Затем каждый из этих наборов данных для тренировочных испытаний был масштабирован двумя способами с помощью стандартного скейлера и мин-макс скейлера, всего 4 разных набора данных.

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

Модели. Чтобы обучить модели (логистическая регрессия, K-ближайшие соседи, классификатор случайного леса), начальным шагом было определение значений X и y для трех представлений признаков набора данных. Для первого запуска были включены все функции. Во втором прогоне использовались только текстовые функции и, наконец, в третьем прогоне использовались только статистические функции. Для каждого прогона набор обучающих данных был разделен на обучающий и проверочный набор с использованием «train_test_split» с размером теста 20% и последовательным случайным состоянием 670. Затем были применены MinMaxScaler и StandardScaler и сохранены как отдельные значения. чтобы определить, какой скейлер дает лучшие результаты. Будет использоваться масштабатор с лучшими результатами, а другой масштабатор будет удален. GridSearchCV использовался для определения наилучших параметров ключевых функций в моделях, однако он использовался экономно из-за времени, необходимого для завершения. Используя лучший оценщик, модели были определены и приспособлены к обучающим данным. Затем, используя пятикратную перекрестную проверку, получают средние оценки точности прогнозов. С этого момента были созданы и проанализированы матрицы путаницы вместе с ROC-кривыми. Как только этот процесс был завершен для каждого из трех представлений признаков, процесс повторялся для меньшей обучающей выборки, где теперь размер теста был увеличен до 50%. Этот процесс применялся для логистической регрессии, K-ближайших соседей и моделей классификатора случайного леса, которые использовались в проекте.

Логистическая регрессия-

K-Ближайшие соседи-

Классификатор случайного леса-

Вывод/Анализ. Для целей данного исследования средняя точность для всех моделей в целом колебалась около 64 %. Модель работает лучше, чем случайное угадывание, но не дает впечатляющих результатов. Также интересно видеть, что все модели находятся в одном и том же диапазоне и работают примерно одинаково. Различные способы представления данных, по-видимому, не оказывают большого влияния на точность, то же самое касается уменьшения размера набора обучающих данных для модели. Модели не кажутся чувствительными к такого рода изменениям.