如何在工作领域聚集技能?

数据挖掘 机器学习 Python 深度学习 聚类 数据挖掘
2022-02-12 21:59:43

我有一个与集群相关的问题,我需要从工作域中集群技能集。

比方说,在简历中,候选人可以提到他们熟悉亚马逊 s3 存储桶。但是每个人都可以以任何方式提及它。例如,

  1. 亚马逊s3
  2. s3
  3. aws s3

对于人类来说,我们可以很容易地理解这三个是完全等价的。我不能使用 kmeans 类型的集群,因为它在很多情况下都会失败。

例如,

  1. 春天
  2. 弹簧框架
  3. 春季MVC
  4. 弹簧靴

这些可能属于错误的同一个集群。了解spring框架的候选人可能不知道sprint boot等,

基于嵌入/弓模型的单词相似度在这里失败了。

我有哪些选择?目前,我手动收集了很多 dict 格式的单词变体,key 是 root word,value 是那个 root word 的变体数组。

非常感谢任何帮助。

1个回答

这通常称为实体链接,即为实体分配唯一身份的任务。您的问题尤其是名称变化,同一实体可能以不同的文本表示/表面形式出现。

聚类不是解决名称变化的最有用的方法,因为聚类是无监督的。

有很多方法可以解决名称变化。鉴于工作技能是一个相对常见的领域,您可以查找或支付现有的工作技能实体映射。如果你想构建自己的系统,大多数系统都是从手工编码的规则开始的(通常是正则表达式和哈希映射的组合)。在使用手动编码规则减少收益后,可以应用其他模型。知识库可用于消除文本实体的歧义。同样,由于工作技能是一个共同领域,因此存在许多现有的知识库。您可以创建自己的工作技能知识库,但这将是一个复杂、缓慢且容易出错的过程。