Альтернативы TF-IDF и Cosine Similarity (сравнение документов в разных форматах)

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

1) Обработайте текст каждого списка вакансий, чтобы извлечь навыки, указанные в списке.

2) Для каждой карьеры (например, «Аналитик данных») объедините обработанный текст списков вакансий для этой карьеры в один документ.

3) Рассчитайте TF-IDF для каждого навыка в карьерных документах.

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

Мне это не кажется идеальным решением, поскольку косинусное сходство лучше всего использовать при сравнении двух документов одного и того же формата. В этом отношении TF-IDF вообще не кажется подходящей метрикой для применения к списку навыков пользователя. Например, если пользователь добавляет дополнительные навыки в свой список, TF для каждого навыка упадет. На самом деле меня не волнует, какая частота навыков находится в списке навыков пользователя - меня просто волнует, есть ли у них эти навыки (и, возможно, насколько хорошо они эти навыки).

Похоже, что лучшим показателем было бы следующее:

1) Для каждого навыка, которым обладает пользователь, рассчитайте TF-IDF этого навыка в карьерных документах.

2) Для каждой карьеры просуммируйте результаты TF-IDF по всем навыкам пользователя.

3) Ранжируйте карьеру на основе вышеуказанной суммы

Правильно ли я думаю здесь? Если да, то есть ли какие-либо алгоритмы, работающие в этом направлении, но более сложные, чем простая сумма? Спасибо за помощь!


person Richard Knoche    schedule 02.01.2017    source источник


Ответы (2)


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

person Alikbar    schedule 03.01.2017
comment
Большое спасибо за ссылки - бегло просматривая их, кажется, что я искал. Я поддержал ваше решение, но у меня недостаточно репутации, чтобы оно появилось. Спасибо еще раз! - person Richard Knoche; 03.01.2017

Я бы использовал подход SSRM [1] для расширения запросов (рабочих документов) с использованием WordNet (извлеченная база данных [2]) в качестве семантического лексикона - так что вы не ограничены только прямым сопоставлением слов и слов. SSRM имеет свою собственную меру подобия (я считаю, что статья имеет открытый доступ, если нет, проверьте это: http://blog.veles.rs/document-similarity-computation-models-literature-review/, перечислено множество моделей вычисления подобия). В качестве альтернативы, и если ваш корпус достаточно велик, вы можете попробовать LSA / LSI [3,4] (также описано на странице) - без использования внешней лексики. Но, если он на английском, семантический граф WordNet действительно богат во всех направлениях (гипонимы, синонимы, гипернимы ... концепты / SinSet).

Итог: я бы избегал простого SVM / TF-IDF для такого конкретного домена. Я измерил действительно серьезный запас SSRM, по сравнению с TF-IDF / VSM (измеренный как среднее макроэкономическое значение F1, 5-классная однокомпонентная классификация, узкая область).

[1] A. Hliaoutakis, G. Varelas, E. Voutsakis, E.G.M. Петракис, Э. Милиос, Поиск информации по семантическому сходству, Int. J. Semant. Web Inf. Syst. 2 (2006) 55–73. DOI: 10.4018 / jswis.2006070104.

[2] J.E. Petralba, Извлеченный контент базы данных из WordNet для обработки естественного языка и игр со словами, в: 2014 Int. Конф. Азиатский язык. Процесс., 2014: с. 199–202. DOI: 10.1109 / IALP.2014.6973502.

[3] П.В. Фольц, Скрытый семантический анализ для текстовых исследований, Поведение. Res. Методы, приборы, вычисл. 28 (1996) 197–202. DOI: 10.3758 / BF03204765.

[4] А. Кашьяп, Л. Хан, Р. Юс, Дж. Слиман, Т. Сатьяпанич, С. Ганди, Т. Финин, Устойчивое семантическое сходство текста с использованием LSA, машинного обучения и лингвистических ресурсов, Springer, Нидерланды, 2016. DOI: 10.1007 / s10579-015-9319-2.

person hardyVeles    schedule 20.05.2018