Научная статья на тему 'ПРИМЕНЕНИЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА АНАЛИЗА СОДЕРЖАНИЯ ТЕКСТА'

ПРИМЕНЕНИЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА АНАЛИЗА СОДЕРЖАНИЯ ТЕКСТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
395
73
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТЕММИНГ / ЛЕММАТИЗАЦИЯ / ПРЕДОБРАБОТКА ТЕКСТА / TF-IDF / КОСИНУСНОЕ СХОДСТВО

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Валиев А. И., Лысенкова С. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Валиев А. И., Лысенкова С. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

APPLICATION OF MACHINE LEARNING METHODS FOR AUTOMATION OF THE PROCESS OF THE TEXT CONTENTS ANALYSIS

The results of automatic verification of applicant's curriculum vitae for compliance with a job vacancy using the algorithm based on natural language processing techniques are presented. The algorithm makes it possible to transform text information into the numerical features.

Текст научной работы на тему «ПРИМЕНЕНИЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА АНАЛИЗА СОДЕРЖАНИЯ ТЕКСТА»

УДК 004.91

DOI 10.34822/1999-7604-2021-4-12-15

ПРИМЕНЕНИЕ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА АНАЛИЗА СОДЕРЖАНИЯ ТЕКСТА

А. И. Валиев, С. А. Лысенкова н

Сургутский государственный университет, Сургут, Россия в E-mail: lsa1108@mail.ru

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

Ключевые слова: стемминг, лемматизация, предобработка текста, TF-IDF, косинусное сходство.

APPLICATION OF MACHINE LEARNING METHODS FOR AUTOMATION OF THE PROCESS OF THE TEXT CONTENTS ANALYSIS

A. I. Valiev, S. A. Lysenkova H

Surgut State University, Surgut, Russia M E-mail: lsa1108@mail.ru

The results of automatic verification of applicant's curriculum vitae for compliance with a job vacancy using the algorithm based on natural language processing techniques are presented. The algorithm makes it possible to transform text information into the numerical features.

Keywords: stemming, lemmatization, text preprocessing, TF-IDF, cosine similarity.

Введение

Рекрутер - сотрудник по подбору персонала - сталкивается со многими рутинными процедурами: описание вакансии, оценка резюме на соответствие вакансии, первичное тестирование и проверка тестового задания, отправка ответа по результатам тестирования, формирование рекомендаций по выбору вакансии в зависимости от навыков кандидата.

Согласно онлайн-мониторингу компании HeadHunter [1] на одну позицию в списке вакансий поступает в среднем от 4 до 12 резюме, часть из которых отклоняется после просмотра и первоначального тестирования. Эта часть работы занимает до 50 %, или около 4 ч, рабочего времени специалиста по подбору персонала ежедневно, поэтому оптимизация процесса поиска и предварительного отбора резюме необходима для перераспределения времени рекрутера на работу с релевантными кандидатами, а также для сокращения временных и финансовых издержек компании при поиске новых сотрудников.

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

Предварительная обработка текста

Основная сложность при работе с текстом связана с количеством слов, часть из которых не относится к полезной информации либо имеет равное значение; их исключение значительно сокращает время анализа. Например, к ним относятся стоп-слова, которые являются вспомогательными (предлоги, союзы, частицы и др.); разные грамматические формы слов. Эта проблема решается методами морфологического анализа: лемматизацией (приведением слова к его первоначальной форме - табл. 1) и стеммингом (нахождением основы слова -табл. 2) [2, 3].

Таблица 1

Пример использования лемматизации

Исходный текст Лемматизация

У нас амбициозная цель - стать самым инновационным Банком России, и мы быстро движемся в этом направлении у мы амбициозный цель стать самый инновационный банк россия и мы быстро двигаться в это направление

Примечание: составлено авторами по [2].

Таблица 2 Пример использования стемминга

Исходный текст Стемминг

У нас амбициозная цель - стать самым инновационным Банком России, и мы быстро движемся в этом направлении у нас амбициозн цел стат сам инновацион банк росс и мы быстр движ в эт направлен

Примечание: составлено авторами по [2].

Оценка информативности

Для оценки информативности существуют различные статистические меры, самая распространенная из которых - TF-IDF (term frequency-inverse document frequency).

TF измеряет, насколько часто слово встречается в тексте [4]. Так как частота появления слов в длинных текстах может быть значительно выше, чем в малых, применяют относительное значение - количество нужных слов (терминов), деленное на общее количество слов в тексте. Слово, которое встречается в документе чаще, чем в других, важно для этого документа:

TF( а) = f, (1)

где N a - количество раз, когда термин «а» встретился в тексте;

N - общее число слов в данном документе.

IDF - инверсия частоты, с которой определенное слово встречается [6]. Учет IDF уменьшает вес широкоупотребительных слов. Для каждого уникального слова в пределах рассматриваемого набора текстов существует только одно значение IDF. Значение инверсии частоты слова считается как логарифм частного от общего количества текстов и количества текстов, в которых встречается слово:

ID F( а) = 1 о g(^), (2)

где - число документов в наборе текстов (коллекции);

Da - число документов в коллекции, когда слово «а» встретилось в тексте.

Найденные значения TF и IDF перемножаются для определения «веса» слова в текущем тексте (документе):

TF - IDF = TF* IDF. (3)

Слова, которые не важны для всех документов коллекции, получат низкий вес TF-IDF, а важные - высокий.

Мера TF-IDF используется для представления документов коллекции в виде числовых векторов, которые отражают важность использования каждого слова из некоторого набора слов (количество слов набора определяет размерность вектора) в каждом документе. Получаемая векторная модель позволяет сравнивать тексты, сравнивая представляющие их векторы в какой-либо метрике [5, 6].

Коэффициент сходства

Одна из метрик для сравнения текстов - косинусное сходство. Это мера сходства между двумя векторами, которая использует для измерения косинус угла [6]. В случае информационного поиска косинусное сходство двух текстов изменяется в диапазоне от 0 до 1 [5]:

СО5(0) (4)

^ 7 1И111В11' (4)

где А - векторное представление текста А; В - векторное представление текста В.

Если значение равно 0, то векторы текстов являются ортогональными и не сходятся между собой. Векторы текстов полностью совпадают, если значение равно 1. Преимущество косинусного сходства - его низкая сложность, так как данный метод исследует только ненулевые значения [7, 8].

Результаты

Для реализации описанных методов использовался язык программирования Python (библиотека docx - для чтения файлов с расширением docx; библиотека scikit-learn - для решения задач классического машинного обучения; pymorphy2 - инструмент для морфологического анализа русского языка; NaturalLanguageToolkit - пакет библиотек и программ для символьной и статистической обработки естественного языка (stopwords, word_tokenize, Rus-sianStemmer, EnglishStemmer)).

На примере текстов вакансий с сайта HeadHunter проведена предварительная обработка по удалению стоп-слов и спецсимволов, в первом случае - по алгоритму стемминга, во втором - лемматизации. С помощью TF-IDF произведен подсчет для обоих случаев и получены числовые векторы (табл. 3, 4).

Таблица 3

Веса при использовании стемминга

Терм Вес

работ 1,011696

оп 1,066090

дмс 1,130215

требован 1,191667

разработк 1,227514

Примечание: составлено авторами.

Таблица 4

Веса при использовании лемматизации

Терм Вес

работы 1,035507

опыт 1,066090

по 1,117057

дмс 1,130215

на 1,163888

Примечание: составлено авторами.

Для дальнейшего исследования проведена предварительная обработка резюме Python-разработчика (с сайта HeadHunter), содержащего информацию о возрасте, месте рождения, желаемой должности и зарплате, опыте работы, образовании и ключевых навыках (Python, SQL, RabbitMQ, Redis, DjangoFramework, Flask, Node.js, Celery, DesignPatterns, Docker, DevOps, CI/CD, ML), удалены стоп-слова и спецсимволы, произведен стемминг и лемматиза-ция, рассчитан TF-IDF для обоих случаев и получены числовые векторы.

С помощью косинусного сходства проведено сравнение вектора резюме с векторами вакансий и получен список вакансий и значения схожести. В табл. 5, 6 представлены пять самых «схожих» вакансий.

Таблица 5

Список вакансий при использовании стемминга

Название вакансии Схожесть, %

DevOpsEngineer 13

Backend разработчик 13,8

Ведущий DevOps инженер 15,8

Разработчик моделей машинного обучение (ML Engineer) 16,4

Backend программист (Python) 21,9

Примечание: составлено авторами.

Таблица 6

Список вакансий при использовании лемматизации

Название вакансии Схожесть, %

Разработчик (Support) 10

DevOpsEngineer 11,3

Ведущий DevOps инженер 12,6

Разработчик моделей машинного обучение (ML Engineer) 14

Backend программист (Python) 16,9

Примечание: составлено авторами.

Заключение

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

Литература

1. Hh-индекс : статистика по России. URL: https://stats.hh.ru/ (дата обращения: 20.11.2021).

2. Машинное обучение с использованием библиотек Python. URL: https://slemeshevsky. github.io/python-course/ml/html/._ml-flatly003.html (дата обращения: 20.03.21).

3. Вершинин Е. В., Тимченко Д. К. Исследование применения стемминга и лемматизации при разработке систем адаптивного перевода текста // Наука. Исследования. Практика : сб. изб. ст. по материалам Междунар. науч. конф. СПб., 2020. С. 77-79.

4. TF-IDF. URL: https://coolshell.cn/articles/8422.html (дата обращения: 20.11.2021).

5. Белова К. М., Судаков В. А. Исследование эффективности методов оценки релевантности текстов // Препринты ИПМ им. М. В. Келдыша. 2020. № 68. 16 с. DOI: http://doi.org/10.20948/prepr-2020-68.

6. Векторная модель текста. URL: https://habr.com/ru/sandbox/18635/ (дата обращения: 20.11.2021).

7. Сторожук Н. О., Коломойцева И. А. Анализ методов определения текстовой близости документов // Информатика, управляющие системы, математическое и компьютерное моделирование : материалы студ. секции IX Междунар. науч.-технич. конф. (ИУСМКМ-2018). Донецк : ДонНТУ, 2018. С. 43-47.

8. Власенко А. В., Тарасов Е. С., Корх И. А., Мухтаров И. И. Разработка архитектуры блоков фильтрации и нормализации в системе классификации текстовой информации // Научные труды КубГТУ. 2021. № 1. С. 55-65.

i Надоели баннеры? Вы всегда можете отключить рекламу.