【问题标题】:Approach for classifying job description sentences职位描述句子的分类方法
【发布时间】:2020-03-06 16:19:09
【问题描述】:

我需要对 n=630 个职位描述的 job_experience 部分中的各种句子进行分类/分类。我对提取工作经验和能力相关的句子特别感兴趣,但我需要能够将它们附加到与之关联的job_title

这些职位描述的当前状态:许多不同的表达方式(例如,“需要 Microsoft Office 技能。”“使用 Microsoft Word、PowerPoint 的经验。”“至少 3 年相关工作经验领域。”“至少三年的类似职位经验。”)。

未来,我们将需要压缩这些职位描述语句,以便例如将同一语句应用于多个职位,并且经理从下拉列表中选择工作经验陈述。

所以我想对这些单独的句子进行分类,以便我们可以开始浓缩它们并决定未来将使用哪些语句。

我一直在研究我应该做什么,如果我能提供任何关于哪种方法最有效的建议,我将不胜感激。我熟悉 R,但主要将它用于数据整理和可视化。 LDA、kmeans 文本聚类、特征识别……这些是我在我的研究 (scikit-learn.org) 中发现的东西,主要是在 Python 中的应用。

  • Python 最适合这种事情吗?我可以使用 R 吗?
  • 哪种算法方法最适合初学者?
  • 我知道这不是魔法 - 只是寻找完成这项任务的最佳方法。

我的数据如下:

df <- data.frame(job_title = c("Recruiter","Recruiter","Recruiter","Recruiter",
                         "File Clerk","File Clerk",
                         "Learning & Org. Development Specialist","Learning & Org. Development Specialist","Learning & Org. Development Specialist","Learning & Org. Development Specialist",
                         "CNA","CNA","CNA"),
           job_experience = c("Minimum 1 year experience in recruitment or related human resources function.",
                              "Proficient in Microsoft Office Applications.",
                              "High school diploma required.",
                              "Bachelors Degree in Human Resources or related field preferred.",
                              "High School diploma preferred.",
                              "Ability to use relevant computer systems.",
                              "Bachelors Degree in related field (e.g., Human Resources, Education, Organizational Development).",
                              "Minimum 2 years experience applying L&OD principles and practices in an organizational setting.",
                              "Previous work experience in Human Resources preferred.",
                              "Experience with a learning management system (LMS).",
                              "High school diploma or GED equivalent.",
                              "Certified Nursing Assistant, certified by the Virginia Board of Health Professions.",
                              "CPR certification required at date of hire."))

我的目标是拥有这样的数据集(新列 = job_exp_category):

job_title  job_experience                               job_exp_category
"Recruiter"  "Minimum 1 year experience in recruitment..."  "Work experience"
"Recruiter"  "Proficient in Microsoft Office Applicati..."  "Skill/Ability"
"Recruiter"  "High school diploma required."                "Degree"
...          ...                                            ...   
"CNA"        "Certified Nursing Assistant, certificati..."  "Certification/License"
"CNA"        "CPR certification required at date of hire."  "Certification/License"

感谢您对 SO 社区的任何见解。

【问题讨论】:

    标签: python r nlp text-classification topic-modeling


    【解决方案1】:

    如果有人看到这篇文章并有类似的需求,我 (OP) 最终会这样做:

    按照the content in this link,我结合使用监督学习(随机森林)将职位描述陈述分为四类(学位、工作经验、证书/执照和 ksa)和无监督学习(kmeans 聚类分析)来使用相似词的桶工作经验陈述(例如,集群 1 = 引用 Microsoft Office 产品的陈述)。

    一般流程包括:

    第 1 阶段(确定与工作经验相关的职位描述声明):

    • 将职位描述语句的样本手工编码到适当的类别中
    • 将我的数据集转换为 tidytext 数据框,以便为分析做好准备
    • 使用手动编码的职位描述语句及其相关类别创建一个训练数据集,然后创建一个包含待分类职位描述语句的测试数据集
    • 使用caret 包估计随机森林模型(监督学习)[详细信息:method="ranger",开箱即用重采样方法,树数 = 200]。我的 OOB 预测误差为 2.96%。
    • 使用predict() 预测剩余数据(即测试数据集)上的职位描述类别

    第 2 阶段(将工作经验陈述分类到相关的类别中):

    • 对我对这项任务的预测错误感到满意,我过滤以仅包含属于“工作经验”的职位描述陈述

    • 在清理数据集以避免对不重要的词(例如,首选)进行聚类后,我使用kmeans() 聚类分析(k = 200)将工作经验陈述放入基于使用的单词进行聚类。

    目前,我们仍在最终决定最终的工作经历描述/分类是什么,但这个过程现在更加高效,因为没有了修饰,并且在如何适当分类方面有了一点领先优势。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2022-06-11
      相关资源
      最近更新 更多