我正在尝试对我们公司的简历(CV)进行分类(分类)。总共约有100个简历。这个想法是根据他们的简历内容找到相似的人。我已经将单词docs转换为文本文件,并将所有候选词读入python字典,其格式为:
cvdict = { 'name1' : "cv text", 'name2', : 'cv text', ... }
我还删除了大多数标点符号,将其小写,删除了数字等,并删除了长度小于x的单词(4)
我的问题:
集群是正确的方法吗?如果不是,那么哪种机器学习算法将是此任务的合适初始关注点。
我可以使用任何指向某些python代码的指针来横穿此字典并“聚类”内容。根据内容的聚类,应将“ keys” =候选名称作为聚类组输出。
最佳答案
因此,据我了解,您希望看到CV集中的潜在群体/群体。
cvdict的想法很棒,但是您还需要将所有文本转换为数字!您已经完成了一半。所以想想矩阵/ Excel表/表。您在每行中都有每个员工的个人资料。
名称1,cv_text1
name2,cv_text2
name3,cv_text3 ...
是的,您可以猜测,cv_text的长度可以变化。有些人的简历很长,有些则没有!哪些词可以对公司员工进行分类。我们需要一些使它们大小相等的方法。同样,并非所有的单词都具有参考价值,您需要考虑哪些单词可以捕捉您的想法;在机器学习中,他们称其为“特征”向量或矩阵。因此,我的建议是打出一组单词,并在该人以其技能提及该单词时加以标记。
managment marketing customers statistics programming
name1 1 1 0 0 0
name2 0 0 0 1 1
name3 0 0 1 1 0
或代替0/1矩阵,您可以在简历中输入该单词被提及的次数。
同样,您可以从所有简历中提取所有可能的单词。 NLTK是执行文本分析的出色模块,它具有一些内置功能供您抛光文本。看看this slide的前半部分。
然后,您可以使用任何种类的聚类方法,例如分层https://code.activestate.com/recipes/578834-hierarchical-clustering-heatmap-python/
已经有用于进行此类分析的软件包;无论是scipy还是scikit,我都可以肯定,您可以找到很多例子。关键步骤是您已经在进行的步骤;将您的数据表示为矩阵。