【发布时间】:2020-07-14 08:21:37
【问题描述】:
对于我的论文,我必须分析候选人的技能。我必须对用户进行聚类并比较他们的技能。这些信息是分类的,所以我创建了一个具有相同结构的随机数据库,这样我就可以展示我的数据是如何构建的。
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, ..."
我得到的数据库也是这样。
技能列表是我在数据库中找到的一些技能。数据库中的用户也更多,他们也有更多的技能。
我对机器学习和使用 Word2Vec 模型非常陌生。我尝试了一些东西,但几乎所有时候我都没有得到可以给我额外信息的结果。有些技能的名称很长,可能会弄乱模型。或者我做错了什么。
我的目标之一是对用户进行聚类并找到每个技能集之间的相似之处。
我的最终目标是将技能集的向量与空缺职位进行匹配,以检查用户与空缺职位的匹配程度。但首先我需要知道我是否可以找到用户之间的相似之处。
所以我的问题是:
- 如何使用 Word2Vec 找到个人技能之间的相似之处?
- 如何使用 Word2Vec 对用户进行集群以找到相似的技能组合?
对不起,如果我的问题有点含糊,英语不是我的母语,Python 对我来说有点新。 如果需要,我愿意澄清事情。
【问题讨论】:
标签: python machine-learning nlp cluster-analysis word2vec