Для моей диссертации я должен проанализировать навыки кандидатов. Я должен объединить пользователей и сравнить их навыки. Информация засекречена, поэтому я создал случайную базу данных, которая имеет такую же структуру, чтобы я мог показать, как создаются мои данные.
import random
listOfSkills = ["Dutch","Java OSGI","XML Transformation Query","Java Enterprise Edition","Functional Design","Scrum","Python","JavaScript","Ruby","Java","SQL","Data Analytics","Machine Learning","Deep Learning","English"]
rand_item = random.choice(listOfSkills)
n = 5
rand_items = random.sample(listOfSkills, n)
test_skillset = []
for i in range(5):
result = random.sample(listOfSkills, n)
string = ", ".join(result)
test_skillset.append(string)
test_id_ = np.arange(0, len(test_skillset)).tolist()
test_dict = {'id' : test_id_,
'skillset' : test_skillset
}
test_df = pd.DataFrame(test_dict)
После запуска этого кода я получаю DataFrame, который выглядит следующим образом:
id, skillset
0, "Java, ruby, ..."
1, "Java, ruby, ..."
2, "Java, ruby, ..."
Это то же самое для базы данных, которую я получил.
Список навыки - это некоторые из навыков, которые я нашел в базе данных. Также в базе данных есть больше пользователей, у которых также больше навыков.
Я совершенно новичок в машинном обучении и использовании моделей Word2Ve c. Я пробовал кое-что, но почти все время не получаю результат, который дает мне дополнительную информацию. Некоторые из навыков имеют длинное имя, которое может испортить модель. Или я сделал что-то не так.
Одна из моих целей - объединить пользователей и найти сходства между каждым набором навыков.
Моя конечная цель - сопоставить векторы набора навыков с вакансиями, чтобы проверьте, насколько удачным может быть совпадение пользователя с открытой вакансией. Но сначала мне нужно узнать, могу ли я найти сходство между пользователями.
Итак, мой вопрос:
- Как я могу использовать Word2Ve c, чтобы найти индивидуальные сходства между навыками?
- Как я могу использовать Word2Ve c кластеризовать пользователей, чтобы найти похожие наборы навыков?
Извините, если мой вопрос немного расплывчат, Engli sh не мой родной язык и Python немного ново для меня. Я открыт, чтобы уточнить вещи, если это необходимо.