Извлечение информации и рекомендации по профилям с использованием векторных вложений документов и косинусного сходства
Введение
- Одной из ключевых проблем двадцать первого века является безработица, многоаспектное социальное и экономическое явление.
- Ежемесячно на рынок труда выходит около миллиона человек.
- Поиск наиболее подходящего человека с соответствующими навыками никогда не был легким делом для
- организации. Это требует, чтобы рекрутеры просмотрели тысячи резюме.
- Возможность как можно скорее удалить нерелевантные профили может значительно помочь сэкономить средства, время и усилия.
Фон
В этом документе предлагается система AI / ML, которая могла бы подключиться к этому процессу проверки профиля, извлекая информацию из полуструктурированных резюме, такую как наборы навыков, опыт и похвалы, то есть эффективное использование метаданных для рекомендаций профиля для данного описания работы.
Архитектура
Методология исследования
Основная цель этой исследовательской работы — найти наиболее подходящее резюме кандидата из пула миллионов профилей на основе конкретного описания работы. Предлагаемая нами модель работает на трех различных слабо связанных этапах.
- Во-первых, он извлекает информацию из неструктурированного резюме, преобразует ее в структурированный формат.
- Во-вторых, он вычисляет сходство между обработанным текстом резюме и очищенным JD.
- В-третьих, он дает рекомендацию рекрутерам.
мы провели сравнительное исследование трех различных методов машинного обучения без учителя с использованием векторных вложений и алгоритмов дистанционных вычислений.
- Вектор TF-IDF с косинусным сходством
- K- Ближайшие соседи с расстоянием Минковского
- Doc2Vec с косинусным сходством
Иерархическая структура резюме
Резюме в основном представляет собой полуструктурированные данные. Обычно оно имеет упорядоченные иерархические разделы на уровне документа. На рисунке ниже показана иерархическая структура резюме.
Обработка текста и извлечение информации
Простыми словами, предварительная обработка текста заключается в приведении необработанного текста к его машиночитаемой, предсказуемой и анализируемой форме.
- Токенизация
- Нижний регистр
- Удаление стоп-слов
- лемматизация
- Удаление шума
- Маркировка POS
Конвейеры извлечения информации (IE) начинаются с обычных шагов предварительной обработки текста — сегментации предложений, токенизации слов и тегов POS. Мы думали о резюме как о композиции из четырех разделов: квалификация, навыки, опыт и компетенции. С помощью тегов POS, NLTK и Spacy. Мы извлекли все упомянутые разделы из каждого резюме и экспортировали их в очищенный CSV-файл.
Разработка модели и рекомендации
Рекомендации на основе содержания с использованием TF-IDF и косинусного сходства
- TF-IDF — наиболее распространенный метод взвешивания, используемый для описания документов в модели векторного пространства. Tf-Idf — это мера, которая часто используется при работе с текстовыми данными для поиска информации, в частности, для интеллектуального анализа текста и для вычисления сходства документов или для поиска соответствующих документов из пула документов.
- 𝑑𝑓(𝑡): количество документов, содержащих термин 𝑡, который равен ∥{𝑑𝑖,𝑡∈𝑑𝑖}
- 𝑐(𝑡,𝑑): сколько раз термин 𝑡 появляется в документе 𝑑.
- 𝑁(𝑡) : общее количество терминов в документе.
- 𝑀 : общее количество документов
Вес tf-idf — это массив векторов, часто используемый при поиске информации и анализе текста. Этот вес является статистической мерой, используемой для оценки того, насколько важно слово для документа в коллекции или корпусе.
Косинусное сходство. Он рассматривает набор признаков как вектор и вычисляет их сходство, взяв косинус угла, образованного этими векторами. Это дается следующей формулой, где ‹ ., . › является скалярным произведением и ||.|| это норма.
K-ближайшие соседи с расстоянием Минковского
- Концепция ближайших соседей заключается в том, чтобы найти предопределенное количество (k) обучающих выборок, ближайших по расстоянию до новой точки. Расстояние может быть любой метрикой, такой как расстояние Минковского. Это расстояние или сходство, измеренное между двумя точками в нормированном векторном пространстве (N-мерное реальное пространство), которое является обобщением евклидова расстояния и манхэттенского расстояния.
Рекомендации по использованию Doc2Vec и косинусного сходства
- Целью алгоритма Doc2vec является создание массива векторов для представления абзаца или документа. В большинстве случаев мы обнаруживали, что абзацы не имеют своей логической структуры, в отличие от слов. Концепция проста, но очень интуитивно понятна: они использовали только модель word2vec, а поверх нее добавили дополнительный вектор, то есть вектор идентификатора абзаца.
Приведенная выше модель называется «Версия Paragraph Vector с распределенной памятью»(PV-DM). Он хранит недостающую информацию из текущего контекста или создает тему из каждого абзаца. С помощью этого вектора идентификатора абзаца была представлена концепция документа. Doc2Vec потребляет меньше памяти по сравнению с word2vec, следовательно, он быстрее, чем word2vec.
- Наша проблема состоит в том, чтобы найти сходство текста, поэтому в нашей статье мы использовали рекомендацию на основе контента, где JD, заданный работодателем, и он сопоставляется с содержанием резюме в векторном пространстве и топ N (в нашем исследовании N = 10) тесно соответствующие профили рекомендуются работодателю. Наша модель разработана с помощью версии вектора абзаца с распределенной памятью (PV-DM). Затем она вычисляет косинусное сходство между каждым вектором документа резюме и конкретным вектором документа описания работы, и, таким образом, наша Предлагаемая модель рекомендует топ-10 наиболее похожих профилей на рекрутера.
Оценка модели
- Чтобы оценить нашу модель рекомендаций doc2vec, мы сначала выведем новые векторы для каждого документа обучающего корпуса, сравним полученные векторы с обучающим корпусом, а затем вернем ранг документа на основе самоподобия.
- По сути, более 91% предполагаемых документов оказываются наиболее похожими на него самого, и примерно в 9% случаев он ошибочно наиболее похож на другой документ.
- Сравнение предполагаемого вектора с обучающим вектором является своего рода «проверкой работоспособности» относительно того, ведет ли себя модель полезным образом, но не является реальным значением «точности».
Ссылка на Github: https://github.com/soulix/Profile-Screening-and-Recommendation-System