DEVELOPMENT OF A MODEL FOR PRODUCT CATEGORY PREDICTION USING NATURAL LANGUAGE PROCESSING METHODS
DEVELOPMENT OF A MODEL FOR PRODUCT CATEGORY PREDICTION USING NATURAL LANGUAGE PROCESSING METHODS
Berdali Sanzharsultan
PhD candidate, Satbayev University,
Kazakhstan, Almaty
Turdalyulty Mussa
Phd, Satbayev University,
Kazakhstan, Almaty
РАЗРАБОТКА МОДЕЛИ ПРЕДСКАЗАНИЯ КАТЕГОРИИ ПРОДУКТОВ МЕТОДАМИ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА
Бердали Санжарсултан
докторант, Satbayev University,
Республика Казахстан, г. Алматы
Турдалыулы Муса
PhD, Satbayev University,
Республика Казахстан, г. Алматы
ABSTRACT
The purpose of this work is to empirically test the approaches used in machine learning and deep learning technologies to determine the category of products using features containing text, also categorical features.
In this paper, the method of lemmatization and tokenization of texts with further transfer to the bag of words Bag of words is considered, then the Random Forest machine-learning model and the Long Short Term Memory deep learning model are used. Both all features and only textual features used as definition options.
The result of this work are ready-made models of machine and deep learning. The results are comparable, the models are slightly overfitted, but with more data, the quality can be better. The accuracy of the machine-learning model is over 90%, as is the deep learning model.
Conclusion: Using the Bag of Words approach showed excellent results for category definition following both textual and categorical features. The results differ slightly. Using both machine learning and deep learning approaches are equally suitable for this kind of problem.
АННОТАЦИЯ
Целью данной работы является эмпирическое испытание подходов, применяемых в технологиях машинного обучения и глубокого обучения для определения категории продуктов, используя признаки, содержащие текст, также категориальные признаки.
В данной работе рассмотрен метод лемматизации и токенизации текстов с дальнейшей передачей в мешок слов Bag of words, далее использована модель машинного обучения Random Forest и модель глубокого обучения Long Short Term Memory. В качестве вариантов определения использовались как все признаки, так и только текстовые признаки.
Результатом данной работы являются готовые модели машинного и глубокого обучения. Результаты сопоставимы, модели незначительно переобучены, однако с использованием большего количества данных качество может быть выше. Точность работы модели машинного обучения превышает 90%, как и модель глубокого обучения.
Вывод: использование подхода Bag of Words показало отличные результаты для определения категории следуя как текстовым признакам, так и категориальным. Результаты разнятся незначительно. Использование как подходов машинного обучения, так и глубокого обучения подходят одинаково для задач такого рода.
Keywords: nlp, machine learning, deep learning.
Ключевые слова: nlp, машинное обучение, глубокое обучение.
Введение
Одним из достижений в мире машинного обучения является развитие способностей научить машину понимать человеческое общение. Эта часть машинного обучения называется обработкой естественного языка. В данной работе предлагается ознакомиться с вариантом использования технологий NLP на не синтезированном примере. В качестве объекта исследования используется выгрузка информации о приобретенных цифровых продуктах. Данные собирались в три итерации. В первой итерации было собрано 7132 строк, 18 колонок, во второй итерации было собрано 8531 строк, 14 колонок, в третьей итерации было собрано 4110 строк и 17 колонок. Методы и технологии сбора этих данных не описывается в данной статье. Целью данной работы является использование отличающихся между собой концептуально подходов к глубокому обучению методов, и их сравнение на реальных данных. Важнейшим этапом для любого проекта по машинному обучению является предобработка, Необработанные данные могут запутать создаваемую нейронную сеть, понижая качество ее работы.
Предобработка
Как было указано ранее – данные были собраны в разное время, используя разные технологии. В качестве результата получено различное количество входных колонок – признаков, так же известных, как features. Так же в некоторых колонках отсутствовало более 50% значений. Эти данные сложнее предсказать, точность не гарантирована, по этой причине на этапе предобработки данных были удалены. Так как данные технические, и до этого обработки не проходили, были удалены колонки, использующие повторяющиеся или нерелевантные данные.
Исследовательский анализ данных
В данных наборах данных встречалось четыре категории целевых признаков. Распределение данных выглядит следующим образом:
Рисунок 1. Распределение категорий целевого признака
Выборка не сбалансирована. В качестве потенциальных мер устранения данной проблемы обычно используют аугментацию. Однако, использование аугментации в подходах NLP не так распространено, и рассматривается в отдельном исследовании. В наборе данных помимо целевого признака есть 6 текстовых (три типа name и три типа description) и 10 категориальных признаков. Текстовые признаки так же относятся к категориальным, однако количество уникальных значений по каждому из типа name следующее: 420, 461 и 1587. На данном этапе исследования определена стратегия использования подхода Bag of Words. Использование подходов BERT , и других, основанных на семантическом анализе неприменимо, так как описание объектов совпадают и векторное произведение словосочетаний недостаточно «естественное» для обработки таким подходом. Мешок слов — это представление текста, описывающее вхождение слов в документ. Это включает в себя две вещи: это словарь известных слов и мера присутствия известных слов. До этапа создания мешка слов использовалась лемматизация с использованием библиотеки Porter Stemmer.
Обучение моделей – Машиное обучение
Для обучения выбрано 5705 случайных строк, для теста 1427 случайных строк. Ширина массива вышла 4309 колонок. Использована модель Random Forest, широко используемая в данного рода классификациях [1] с параметрами n_estimators = 400, criterion = "entropy", random_state = 0. Модель обучена с учетом кросс-валидации, результат - 0.97% точности модели. Добавление категориальных закодированных признаков улучшили качество модели на 0.5%, что в данном случае не является ключевым моментом. С учетом увеличения количества признаков, модель может переобучиться, в связи с чем было принято решение не использовать нетекстовые признаки.
Обучение моделей – Глубокое обучение
В качестве базовой модели для глубинного обучения использовалась LSTM-модель. Её параметры проиллюстрированы на Рисунке 2.
Рисунок 2. Параметры нейронной сети
Модель широко распространена и используется во многих схожих задачах [2]. Модель обучалась в 5 эпох. Результатом работы данной нейронной сети была точность модели в 95%. С применением кросс-валидации модель показала следующие результаты:
Рисунок 3. Результаты оценки модели LSTM
Модель в незначительной степени переобучена – результаты тестовой выборки существенно хуже, чем на тренировочной. Это может быть компенсировано с помощью увеличения количества данных.
Вывод и заключение
Использование для относительно коротких и повторяющихся текстов оптимально применение модели Random Forest. Так как текстовые представления не уникальны, в данном случае работа частично похоже на обычное обучение с категориальными признаками. Применение технологии глубокого обучения не дало желаемого лучшего результата.
Список литературы:
- Sarker, I.H. Machine Learning: Algorithms, Real-World Applications and Research Directions. SN COMPUT. SCI. 2, 160 (2021). https://doi.org/10.1007/s42979-021-00592-x
- Wu S, Roberts K, Datta S, et al. Deep learning in clinical natural language processing: a methodical review. J Am Med Inform Assoc. 2020;27(3):457-470. doi:10.1093/jamia/ocz200
- Devlin J, Chang M, Lee K, Toutanova K, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding NAACL 2019 https://doi.org/10.48550/arXiv.1810.04805