ПРИМЕНЕНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА СЛАБОСТРУКТУРИРОВАННЫХ ДАННЫХ ДЛЯ ПОИСКА ОНЛАЙН-КУРСОВ

УДК 004.85

Косарева Eкатерина Владимировна, Kosarava Katsiaryna Uladzimirauna,

к.ф.-м.н., доцент PhD, associate professor Буйницкая Елизавета Викторовна Bujnitskaya Elizaveta Viktarauna

студентка

Гродненский государственный университет имени Янки Купалы

Yanka Kupala State University of Grodno

ПРИМЕНЕНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА СЛАБОСТРУКТУРИРОВАННЫХ ДАННЫХ ДЛЯ ПОИСКА

ОНЛАЙН-КУРСОВ

APPLICATION OF METHODS OF INTELLECTUAL ANALYSIS OF WEAKLY STRUCTURED DATA FOR SEARCHING ONLINE COURSES

Аннотация: В статье исследована проблема эффективного поиска онлайн-курсов по заданным критериям с использованием методов анализа слабоструктурированных данных и обработки естественного языка (NLP). Рассматриваются этапы предобработки текстовых данных и их векторного представления для моделей машинного обучения. Приведен пример применения методов NLP для поиска наиболее схожих онлайн-курсов по их описанию. В работе также описаны программные средства для автоматизации сбора и анализа данных и их систематизации.

Abstract: An article is devoted to investigation of the problem of effictive search of online courses by given criteria using methods of analysis of weakly structured data and natural language processing (NLP). The stages of text data preprocessing and their vector representation for machine learning models are considered. An example of applying NLP methods to find the most similar online courses by their description is given. The paper also describes software tools for automating the collection and analysis of data and their systematization.

Ключевые слова: обработка естественного языка, машинное обучение, анализ данных, doc2vec, слабоструктурированные данные, онлайн-курсы.

Key words: natural language processing, machine learning, data analysis, doc2vec, weakly structured data, online courses.

Предобработка и анализ слабоструктурированных данных. Быстрый прогресс в вычислительной технике и технологиях, в особенности, касающихся хранения информации, позволил пользователям собирать и хранить данные с беспрецедентным уровнем эффективности. Большая часть этих данных состоит из информации, генерируемой веб-источниками, такими как социальные сети, сайты обмена видео и т.п. На языке больших данных это также называется неструктурированными данными, а именно данными, которые не имеют фиксированного формата, такого как электронная таблица или данные, которые могут быть легко сохранены в традиционной системе баз данных. Слабоструктурированные данные относятся к данным, содержащим как элементы организационной схемы, так и произвольные аспекты. К такому типу данных относятся описания курсов на обучающих Интернет-площадках.

Актуальность темы заключается в постоянно растущем количестве разнообразных онлайн-курсов, описание которых представляет собой слабоструктурированные данные в виде текстов, содержащих основные теоретические и практические аспекты этих курсов. Описание курса может содержать некоторую структуру этого курса (разделы, темы в рамках раздела), в то время как знания и навыки, на развитие которых направлены эти разделы, могут быть четко не выделены. При этом возрастает необходимость эффективного поиска курсов, направленных на развитие конкретных навыков.

Обработка естественного языка (Natural Language Processing, NLP) - это область искусственного интеллекта, которая позволяет машинам читать, понимать и извлекать смысл из человеческих языков. NLP представляет собой автоматическую обработку естественного человеческого языка, такого как речь или текст. NLP позволяет распознавать и предсказывать заболевания на основе электронных медицинских карт и собственной речи пациента, фильтровать спам и классифицировать электронные письма, анализируя их текст, идентифицировать поддельные новости, разрабатывать интеллектуальных голосовых помощников и т. п.

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

1) токенизация это процесс сегментации текста на предложения и слова. По сути, это задача разделения текста на части, называемые лексемами, и в то же время исключения определенных символов (знаков препинания).

2) удаление "стоп-слов". Включает в себя избавление от общеязыковых формулировок, местоимений и предлогов, таких как "and", "the" или "to" в английском языке. В этом процессе отфильтровываются и исключаются из обрабатываемого текста некоторые очень распространенные слова, которые не представляют никакой ценности для модели.

3) стемминг и лематизация. Стемминг относится к процессу удаления конца или начала слова с намерением удаления аффиксов (лексических дополнений к корню слова), т.е. имеет цель найти основу исходного слова. Лемматизация позволяет привести слово к его базовой форме и сгруппировать вместе различные формы одного и того же слова. В отличии от стемминга, лемматизация зависит от правильного определения того, какую часть речи представляет собой слово и его значение в конкретном предложении и во всем тексте.

Модель doc2vec распределенного векторного представления текстовых документов. Модели машинного обучения принимают векторы (массивы чисел) в качестве входных данных. Поэтому, для работы с текстом, первое, что необходимо провести векторизацию корпуса текстов. В данной работе была использована модель doc2vec, представленная Микиловым и Ле в статье [1]. Doc2vec в значительной степени основана на модели word2vec, которая используется для генерации векторов представления основываясь на словах. Word2vec, представленная в 2013 году в статье [2], позволяет при построении векторов слов учитывать их смысл.

Целью doc2vec является создание числового представления документа, независимо от его длины. Концепция, которую предложили Микилов и Ле, была простой и ясной: они использовали модель word2vec, в которую был добавлен еще один вектор (идентификатор абзаца). Но вместо того, чтобы использовать одни только слова для предсказания следующего слова, используется еще один вектор признаков, который является уникальным для документа. Таким образом, при обучении векторов слов W обучается также вектор документа D, и в конце обучения он содержит числовое представление документа. Описанная модель называется PV-DM (Distributed Memory version of Paragraph Vector).

Модели doc2vec могут быть использованы следующим образом: для обучения требуется совокупность документов. Для каждого слова создается вектор слов W, а для каждого документа - вектор документов D. На этапе вывода может быть представлен новый документ, и все веса векторов предыдущего документа фиксируются для вычисления вектора следующего документа.

Однако такие неконтролируемые модели не выполняют изначальную задачу, для которой они предназначены. Например, word2vec обучена предугадывать слова в определенном контексте, хотя используется для оценки сходства между словами или отношений между ними. Таким образом, измерение производительности этих алгоритмов может быть сложным. Поэтому при обучении этим алгоритмам мы должны иметь в виду соответствующие метрики. Одна из возможных метрик для word2vec, является обобщением приведенного выше примера, и называется аналогическим рассуждением. Успех в этой задаче заключается в получении очень близких результатов при вычислении расстояний между совпадающими парами. Примером таких пар может быть "медленный медленно - спящий заснувший".

Таким образом, используя модели doc2vec и word2vec возможно представить необходимую единицу текстовой информации (документ, параграф, предложение, слово) в виде вектора и, затем использовать полученные числовые значения в качестве входных данных для модели машинного обучения.

Применение NLP для эффективного поиска онлайн-курсов. Рассмотрим пример применения методов NLP для поиска онлайн-курсов по заданным критериям (навыкам) или ключевым словам. Целью является определить наиболее подходящий онлайн-курс от образовательных Интернет-платформ, а также определять степень схожести курсов межу собой.

Данные об онлайн-курсах были собраны с веб-сайтов образовательных платформ Coursera, edX и FutureLearn с помощью веб-скрапера, который представляет собой программное обеспечение для автоматической загрузки и извлечения данных с заданных страниц веб-сайтов.

Набор данных представляет собой текстовые описания 1000 онлайн-курсов на английском языке от образовательных Интернет-площадок edX, Coursera и FutureLearn.

Для собранного набора данных была проведена предварительная обработка с использованием библиотеки NLTK [3], которая позволяет работать с естественным языком и осуществлять препроцессинг текстов (токенизацию, лемматизацию, стемминг и многое другое). После предобработки текста можно

сделать анализ наиболее часто встречающихся слов в корпусе документов. На рис.1. представлена гистограмма, отражающая количество слов наиболее часто встречающихся в описании курса «Executive Data Science Johns Hopkins University».

Illlllll

rsr ^ v <r O0 ^ ^ *

r

Рис. 1. Число слов, наиболее часто встречающихся в документе

После обработки корпуса документов можно строить их векторное представление. В данной работе использовалась модель doc2vec со следующими параметрами: размер векторного представления слов - 50 измерений (значений), количество итераций обучения модели - 40. Минимальный счетчик слов составляет 2 для того, чтобы исключить слова, которые имеют минимальное количество вхождений. Модель doc2vec реализована в библиотеке Gensim [4] (сокращение от «generate similar»). Это бесплатная библиотека для анализа естественного языка и тематического моделирования в Python. Обученную модель можно использовать для нахождения схожих по содержанию курсов, а также поиска курсов по заданным ключевым словам. Так как модель doc2vec использует векторное представление документов, то для определения их схожести используется косинусная мера близости векторов. Косинусная мера близости векторов измеряет значение косинуса угла между двумя векторами. Чем ближе один вектор к другому по координатам, тем меньше угол будет между ними и соответственно косинус угла будет ближе к единице. На рис. 2 представлены результаты эксперимента - два курса из обучающей выборки, которые, согласно модели, совпадают по семантическому содержанию более чем на 85%. Из содержания курсов видно, что действительно оба курса разработаны одной организацией и посвящены родственным дисциплинам Data Science и Artificial Intelligence.

3

Random document (328): "Showcase the knowledge and skills you've acquired during the Microsoft Professional Program for Data Science, and solve a real-world data science

problem in this program capstone project. The project takes the form of a challenge in which you will explore a dataset and develop a machine learning solution that is tested and scored to determine your grade."

Similar document (2,21, 0.853 6[) : "Showcase the knowledge and skills you've acquired during the Microsoft Professional Program for Artificial Intelligence , and

solve a real-world AI problem in this program capstone project. The project takes the form of a challenge in which you will develop a deep learning solution that is tested and scored to determine your grade."

Рис. 2. Два наиболее схожих по контексту курса

Полученные результаты позволяют сделать вывод о том, что применение моделей и методов NLP могут быть использованы для эффективного поиска онлайн-курсов по заданным критериям и анализа результатов поисковых запросов, например, в мультиагентных системах поиска. Очевидно, что качество разработанной модели может быть улучшено за счет обучения на более объемных и разнородных выборках данных, а также применения предобученой на большом корпусе документов модели. К ограничениям модели можно отнести ее применение только к англоязычным описаниям курсов, так как модель doc2vec не позволяет строить единое векторное представление для мультиязыковых документов.

Библиографический список:

1. Quoc Le, Tomas Mikolov. Distributed Representations of Sentences and Documents // Proceedings of the 31st International Conference on Machine Learning, PMLR 32(2), 2014. P. 1188-1196.

2. Mikolov Tomas, Chen Kai, Corrado G.s., Dean Jeffrey. Efficient Estimation of Word Representations in Vector Space // Proceedings of Workshop at ICLR. 2013.

3. Natural Language Toolkit/ NLTK 3.4.5 documentation [Электронный ресурс]. - Режим доступа: https://www.nltk.org/ (дата обращения 28.06.2020).

4. Gensim documentation [Электронный ресурс]. - Режим доступа: https://buildmedia.readthedocs.org/media/pdf/gensim/stable/gensim.pdf (дата обращения 28.06.2020).