我应该为 Jobs 推荐系统选择什么模型?

数据挖掘 Python nlp 深度学习
2022-03-03 10:10:50

现在,我有大量寻找下一份工作的人的简历。有关于他们的年龄,他们毕业于什么学校,他们经历过什么工作等信息......

我想使用这些数据制作推荐系统。在系统中,如果我有新的简历,我想为他推荐一些工作。

我知道我将使用什么模型,例如协同过滤、循环神经网络、word2vec 等...

但我找不到解决这个问题的最佳方法。如果有人知道好主意,请告诉我。

这是一个数据的示例,

[age,education,skills,past_job1,job1's occupational category, past_job2,job2's occupational category,
...,]

所有数据都存储在字符串中。

1个回答

一种方法是使用局部敏感散列(LSH),这是一种近似最近邻搜索方法。

每个文档,包括简历和职位描述,都被散列到同一个空间中。有几种方法可以执行散列。一种较旧的方法是shingling第 3 章概述了整个过程:在海量数据集挖掘中寻找相似项目一种较新的方法是doc2vec

一旦所有文档都在同一个空间中,LSH 就会以高概率将相似的项目映射到同一个“桶”。这是一种散列,其中冲突是特征,而不是错误。碰撞是聚类的一种变体。给定一个新文档,所有相似的文档也会被检索出来。给定一份简历,检索相似的职位描述。给定职位描述,检索类似的简历。(检索后,过滤掉同一文档类中的文档)

由于 LSH 是一种近似算法,它可以很好地扩展到数百万个文档并处理嘈杂的数据。简历和工作描述是嘈杂的描述,因此有一个可以处理噪声的算法是合适的。