在给定工作描述的情况下提取工作所需的技能
数据挖掘
机器学习
数据挖掘
nlp
2022-03-02 17:05:13
3个回答
假设您已经拥有原始文本,您可以执行以下操作。
创建火车数据:
您需要创建标记为技能的集合单词和二元组。可能有一些可用的列表可以帮助您。否则,请使用 wordnet 和同义词库等资源生成您的列表。您还可以从基于您拥有的数据的简短列表开始,然后使用 word2vec 或类似的词嵌入技术对其进行扩展。例如,我们从一个包含编码作为技能之一的列表开始。然后,我们在 word2vec 预训练模型中查询最接近的词/二元组。您很有可能最终会从事编程、软件编码和计算机编程。
另一种方法是使用词嵌入技术对数据集中的词和二元组进行聚类。然后,查看您的集群以查看哪些集群包含该技能集。
请注意,任何不在您列表中的单词/表达方式都不会被视为必需技能。因此,经过几次试验后,您可能需要扩展您的列表。
检测技能
- 将原始文本标记为单词和表达式
- 删除停用词
- 使用嵌入(Word2Vec、FastText 等)对令牌进行编码
- 使用上一步中的列表为您的数据添加标签(列表中的任何内容为 True,其他为 False)
- 训练一个二元分类器(朴素贝叶斯分类器应该足够好)
- 评估您的模型、功能集和标签。如果需要,改进并重复。
您将需要进行一些网络抓取。这个资源可能对你有用,它解释了如何使用 Beautiful Soup 进行网页抓取,这是一个非常常见的 python 包。然而,网页抓取从来都不是一件容易的事,因为网页很少以友好的方式格式化。
您的输入文本以什么格式提供?
- 如果它是HTML,则使用从文档对象模型 DOM 中选择(例如)“要求”之后的所有段落的库。在 javascript 中,您可以使用 jQuery,或者在 linux 命令行中,您可以使用 xmllint 二进制文件(在内部使用 xml2)。许多其他库可用。
- 如果是PDF,那么这样做就更困难了。
之后,您可以按照用户“Borhan Kazimipour”在另一个答案中的建议进行一些词袋建模。
或者你可以对它们进行主题建模。概率主题建模是一种更难的技术,我至少需要一周的时间来重新学习其原理,并熟悉可用的命令行工具和库。
