CN116776879A - 一种挖掘招聘领域技能实体的方法、系统及设备 - Google Patents
一种挖掘招聘领域技能实体的方法、系统及设备 Download PDFInfo
- Publication number
- CN116776879A CN116776879A CN202310305594.6A CN202310305594A CN116776879A CN 116776879 A CN116776879 A CN 116776879A CN 202310305594 A CN202310305594 A CN 202310305594A CN 116776879 A CN116776879 A CN 116776879A
- Authority
- CN
- China
- Prior art keywords
- skill
- words
- recruitment
- word
- entity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007115 recruitment Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000000605 extraction Methods 0.000 claims abstract description 30
- 238000002372 labelling Methods 0.000 claims abstract description 23
- 238000005065 mining Methods 0.000 claims abstract description 19
- 238000013135 deep learning Methods 0.000 claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims description 46
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请涉自然语言处理技术领域,尤其涉及一种挖掘招聘领域技能实体的方法、系统及设备。包括:获取招聘文本数据;利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;基于所述实体抽取的结果,制作训练语料;利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。本申请有助于高效获取标注语料,降低人工标注成本,提高实体识别的准确率。
Description
技术领域
本申请涉自然语言处理技术领域,尤其涉及一种挖掘招聘领域技能实体的方法、系统及设备。
背景技术
随着信息技术的快速发展,人工智能技术在招聘和人才管理等领域的应用越来越广泛。在招聘领域,分析候选人的技能以确定其是否符合特定职位的要求是必不可少的。目前,现有技术主要通过基于深度学习的命名实体识别方法来识别职位技能实体。然而,这种技术存在诸多问题,如需要耗费大量人力和物力进行人工标注、技能实体提取准确率不高等问题。
即现有技术中,存在人工标注成本高、职位技能实体提取准确率低等问题。
发明内容
为至少在一定程度上克服相关技术中人工标注成本高、职位技能实体提取准确率低的问题,本申请提供一种挖掘招聘领域技能实体的方法、系统及设备。
本申请的方案如下:
第一方面,本申请提供一种挖掘招聘领域技能实体的方法,所述方法包括:
获取招聘文本数据;
利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
基于所述实体抽取的结果,制作训练语料;
利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
进一步地,所述利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库,包括:
将所述招聘文本数据按照职位类型进行分类,得到第一分类数据;
基于第一分类数据,按照预先设定的第一匹配规则识别不同分类数据下的种子技能词;
基于所述第一分类数据和每一分类数据对应的种子技能词,对每一分类数据进行分词处理;
利用分词处理的结果,进行关键词提取,生成不同职位类型下的技能词库。
进一步地,所述利用分词处理的结果,进行关键词提取,生成不同职位类型下的技能词库,包括:
利用分词处理的结果,使用N-Gram算法统计高频字节片段;
利用分词处理的结果,按照频率高低使用TF-IDF算法提取关键词;
利用所述高频字节片段及关键词,基于预先设定的第二匹配规则进行匹配,生成不同职位类型下的技能词库。
进一步地,所述利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取前,还包括:
搜索所述技能词库,若所述技能词库中的技能词符合预设的替换规则,则将所述技能词进行替换,并按照键和值的形式存储到预先构建的技能词典中,其中,所述替换规则为所述技能词中包含空格和/或符号,键和值中存储的分别是替换后的技能词和替换前的技能词;
否则,所述技能词不进行替换,并按照键和值的形式存储到预先构建的技能词典中,键和值中存储的均为替换前的技能词。
进一步地,所述基于所述实体抽取的结果,制作训练语料,包括:
基于所述实体抽取的结果,采用BIO标注制作训练语料。
进一步地,所述基于深度学习的命名实体识别模型包括:
采用BERT-BILSTM-CRF作为实体识别模型,其中BERT-BILSTM作为底层的文本特征编码器,CRF用于实体标签预测。
第二方面,本申请提供一种挖掘招聘领域技能实体的系统,所述系统包括:
获取模块,用于获取招聘文本数据;
数据处理模块,用于利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
实体抽取模块,用于利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
标注模块,用于基于所述实体抽取的结果,制作训练语料;
识别模块,用于利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
第三方面,本申请提供一种挖掘招聘领域技能实体的设备,所述设备包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现上述中任一项所述方法的步骤。
本申请提供的技术方案可以包括以下有益效果:
本申请通过获取招聘文本数据;利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;基于所述实体抽取的结果,制作训练语料;利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。本申请有助于高效获取标注语料,降低人工标注成本,提高实体识别的准确率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个实施例提供的一种挖掘招聘领域技能实体的方法流程示意图;
图2是本申请另一个实施例提供的一种挖掘招聘领域技能实体的流程示意图;
图3是本申请又一个实施例提供的一种规则挖掘算法流程图;
图4是本申请又一个实施例提供的一种挖掘招聘领域技能实体的系统组成示意图;
图5是本申请又一个实施例提供的一种挖掘招聘领域技能实体的设备组成示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着互联网的发展,网络招聘市场越来越大,求职者和招聘者使用线上招聘渠道,如知名招聘网站,以获取招聘信息和人才。然而,招聘过程中的简历筛选和招聘信息解读存在挑战,因此,越来越多人开始关注招聘信息和简历文本的双边匹配问题。实体识别是构建招聘领域的知识图谱系统和简历匹配系统的核心任务之一,其中技能实体是最重要的实体。
常用的实体识别方法包括基于规则、机器学习和深度学习,其中基于深度学习的方法最为流行。然而,深度学习方法需要大量标注语料,而招聘领域的文本数据往往是非结构化的,导致标注成本高且标注质量不易保证,从而导致实体识别准确率低。
针对上述问题,本申请提供一种挖掘招聘领域技能实体的方法、系统及设备,以减少人工标注的任务量,并提高职位技能实体提取的准确率。通过获取招聘文本数据;利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;基于所述实体抽取的结果,制作训练语料;利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。本申请有助于高效获取标注语料,降低人工标注成本,提高实体识别的准确率。
实施例一
请参阅图1,图1是本申请一个实施例提供的一种挖掘招聘领域技能实体的方法流程示意图,所述方法包括:
S1.获取招聘文本数据;
S2.利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
S3.利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
S4.基于所述实体抽取的结果,制作训练语料;
S5.利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
在一个实施例中,如步骤S1所述,所述获取招聘文本数据,包括:利用编写的爬虫程序,从BOSS直聘、猎聘网、拉勾网这三家招聘网站里获取招聘文本信息,一并存储到MySQL数据库的all_job数据表中,数据表有职位名、给定薪资、要求工作经验、要求学历、职位描述、工作地址、职位来源、福利、公司全称、职位类型等字段。
在一个实施例中,如步骤S2所述,所述利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库,包括:
将所述招聘文本数据按照职位类型进行分类,得到第一分类数据;
基于第一分类数据,按照预先设定的第一匹配规则识别不同分类数据下的种子技能词;
基于所述第一分类数据和每一分类数据对应的种子技能词,对每一分类数据进行分词处理。
利用分词处理的结果,进行关键词提取,生成不同职位类型下的技能词库。
在具体实施时,所述将所述招聘文本数据按照职位类型进行分类,得到第一分类数据,是利用编写的python脚本连接mysql数据库,获取不同职位类型下所有的招聘信息记录,把同一职位类型下的所有招聘文本字符串连接起来,这些分类数据作为第一分类数据;所述基于第一分类数据,按照预先设定的第一匹配规则识别不同分类数据下的种子技能词,是通过设置一些高置信度的匹配规则即第一匹配规则,例如:“运用x技术”、“熟悉x算法”、“有x经验”等去识别出一些不同职位类型下的种子技能词,例如,识别出的种子技能词可以有“python、pytorch、文本分类、bert”等。所述基于所述第一分类数据和每一分类数据对应的种子技能词,对每一分类数据进行分词处理,是先对每一分类下的招聘文本数据集中做分句处理,接着只保留包含种子技能词的技能句,接着把所有技能句连接成一个大的字符串,对此字符串做分词处理,并过滤掉停用词、标点符号和特殊符号等信息。
具体的,所述利用分词处理的结果,进行关键词提取,生成不同职位类型下的的技能词库,包括:
利用分词处理的结果,使用N-Gram算法统计高频字节片段;
利用分词处理的结果,按照频率高低使用TF-IDF算法提取关键词;
利用所述高频字节片段及关键词,基于预先设定的第二匹配规则进行匹配,生成不同职位类型下的技能词库。
在具体实施时,是利用python jieba库的extract_tags()函数实现基于TF-IDF算法的提取关键词操作,按频率从高到低排序,筛选出合适的技能词扩充技能词库。重复此步骤,直至获取到“自然语言处理”此职位类型下丰富的技能词库。针对其他职位类型,也重复此操作,直至获取到与所有职位类型一一对应的技能词库。其中,所述第二匹配规则进行匹配,是利用所述高频字节片段及关键词,通过人工筛选的方式进行获取。
在一个实施例中,所述利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取前,还包括:
搜索所述技能词库,若所述技能词库中的技能词符合预设的替换规则,则将所述技能词进行替换,并按照键和值的形式存储到预先构建的技能词典中,其中,所述替换规则为所述技能词中包含空格和/或符号,键和值中存储的分别是替换后的技能词和替换前的技能词;
否则,所述技能词不进行替换,并按照键和值的形式存储到预先构建的技能词典中,键和值中存储的均为替换前的技能词。
在具体实施时,首先,构建替换词词典:由于结巴分词对带有空格和符号的技能词切分效果不好,因此在结巴分词前,需要对一些词做一些替换。例如,“spring boot”替换为“springboot”、“node.js”替换为“nodejs”、“uni-app”替换为“uniapp”。
之后,构建适用于结巴分词的用户自定义词典:技能词库中,没有经过替换操作的技能词原样放入自定义词典,例如:“云计算”;经过替换操作的技能词把替换词放入自定义词典,例如:“springboot”;从词典中移除一些会影响分词效果的词,比如当前词是其他技能词的一部分,例如“mq”,此时不把他们放入自定义词典中,目的是防止结巴分词只能识别当前词,而识别不出含有这些词的其他技能词,例如“rabbitmq”。
之后,构建技能词典:技能词库中,没有经过替换操作的技能词,以键和值都是原始技能词的样式存入技能词典,例如:“云计算@云计算”;经过替换操作的技能词以键是替换值、值是原始技能词的样式存入自定义词典,例如:“springboot@spring boot”;
最后加载词典:使用结巴分词导入用户自定义词典,使用Python字典结构加载替换词词典和技能词典。
具体的,在运用自定义规则对所述招聘文本数据进行技能实体抽取时,是对输入的文本先做替换操作,再做分句与分词,如果分词在技能词典的键中,就能得到该词映射出的标准技能词。
在本申请实施例中,如步骤S4所述,基于所述实体抽取的结果,制作训练语料,基于提取出的技能实体,对上一步分句得到的招聘文本行进行BIO标注,从而得到一批标注语料。
在本申请实施例中,如步骤S5所述,利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
最后把训练语料处理成适合预训练模型BERT输入的形式,通过训练BERT-BILSTM-CRF模型,能召回到更多未被收录进技能词库的技能词,把这些技能词存入技能库,重复上述步骤,最终能获取到更高质量也更丰富的技能实体。
在本申请实施例中,在具体实施时,如图2所示,S10.获取招聘文本数据:编写爬虫程序获取招聘网站上发布的招聘信息,存入招聘信息数据库。
S20.发现种子技能词:针对不同职位类型下的招聘信息,分别识别出对应的种子技能词并添加进技能词库。
S30.生成技能词库:针对不同职位类型下的招聘文本,分别做如下操作:聚合当前职位类型下所有的招聘文本,过滤出包含技能词的句子,聚合这些句子,做关键词提取操作,选取其中的技能词添加到各自的技能词库。重复此步骤,直至生成与职位类型一一对应的技能词库。
S40.利用规则挖掘算法抽取技能实体:基于技能词库,使用自定义规则挖掘算法对招聘文本做技能实体的抽取。
S50.制作训练语料:利用S40的抽取结果,对招聘文本行进行序列标注。
S60.利用深度学习模型抽取技能实体:把通过S50得到的标注语料处理成模型需要的输入格式,训练基于深度学习的命名实体识别模型,实现技能实体的高精度识别。
S70.扩充技能词库:经过S60召回到的不在技能词库中的技能词,存入至技能词库,重复S40-S70,直至没有高质量的召回技能词。
优选地,所述S10中的招聘网站,可以是BOSS直聘、猎聘网、拉勾网等主流招聘网站。
所述S10之后,所述S20之前还包括,把招聘信息数据库里的招聘信息按职位类型分类。
优选地,所述S20中的发现种子技能词的方式,可以是人为地设定一些高置信度的匹配规则,在海量招聘文本中匹配获取,也可以是肉眼观察一些招聘文本寻找高频出现的技能词。
优选地,所述S30中的关键词在提取前先对聚合技能句得到的字符串进行分词处理,得到分词列表。
优选地,所述分词处理,可利用结巴分词实现。
优选地,所述S30中的关键词提取操作,可以使用N-Gram算法统计高频字节片段,按频率从高到低观察哪些字节片段可作为技能词。也可以使用TF-IDF算法提取关键词,按频率从高到低观察哪些关键词可以作为技能词。
优选地,所述S40中的规则挖掘算法,步骤如下:
如图3所示,S401构建替换词词典:由于结巴分词对带有空格和符号的技能词切分效果不好,因此在结巴分词前,需要对一些词做一些替换。例如,“spring boot”替换为“springboot”、“node.js”替换为“nodejs”、“uni-app”替换为“uniapp”。
S402构建适用于结巴分词的用户自定义词典:技能词库中,没有经过替换操作的技能词原样放入自定义词典,例如:“云计算”;经过替换操作的技能词把替换词放入自定义词典,例如:“springboot”;从词典中移除一些会影响分词效果的词,比如当前词是其他技能词的一部分,例如“mq”,此时不把他们放入自定义词典中,目的是防止结巴分词只能识别当前词,而识别不出含有这些词的其他技能词,例如“rabbitmq”。
S403构建技能词典:技能词库中,没有经过替换操作的技能词,以键和值都是原始技能词的样式存入技能词典,例如:“云计算@云计算”;经过替换操作的技能词以键是替换值、值是原始技能词的样式存入自定义词典,例如:“springboot@spring boot”;
S404加载词典:使用结巴分词导入用户自定义词典,使用Python字典结构加载替换词词典和技能词典。
S405对输入的文本先做替换操作,再做分句与分词,如果分词在技能词典的键中,就能得到该词映射出的标准技能词。
优选地,所述S50中的序列标注方式,可采用BIO标注。
优选地,所述S50中的标注类型,可分为硬技能、软技能和项目技能。
优选地,所述S60中的命名实体识别模型,可采用BERT-BILSTM-CRF作为实体识别模型,其中BERT-BILSTM作为底层的文本特征编码器,CRF用于实体标签预测。
本发明的实操实例:
利用编写的爬虫程序,从BOSS直聘、猎聘网、拉勾网这三家招聘网站里获取招聘文本信息,一并存储到MySQL数据库的all_job数据表中,数据表有职位名、给定薪资、要求工作经验、要求学历、职位描述、工作地址、职位来源、福利、公司全称、职位类型等字段。
利用编写的python脚本连接mysql数据库,获取某一职位类型下所有的招聘信息记录,比如这里选定“自然语言处理”职位类型,先观察此类型下的一批招聘文本,发现可以利用一些高置信度的匹配规则,例如:“运用x技术”、“熟悉x算法”、“有x经验”等去识别出一些种子技能词,例如,识别出的种子技能词可以有“python、pytorch、文本分类、bert”等。
把当前职位类型下的所有招聘文本做分句处理,只保留包含种子技能词的技能句,接着把所有技能句连接成一个大的字符串,对此字符串做分词处理,并过滤掉停用词、标点符号和特殊符号等信息。利用python jieba库的extract_tags()函数实现基于TF-IDF算法的提取关键词操作,按频率从高到低排序,筛选出合适的技能词扩充技能词库。重复此步骤,直至获取到“自然语言处理”此职位类型下丰富的技能词库。针对其他职位类型,也重复此操作,直至获取到与所有职位类型一一对应的技能词库。
有了技能词库,接着利用规则挖掘算法提取技能实体:
构建替换词词典:由于结巴分词对带有空格和符号的技能词切分效果不好,因此在结巴分词前,需要对一些词做一些替换。例如,“spring boot”替换为”springboot”、“node.js”替换为“nodejs”、“uni-app”替换为“uniapp”。在替换词词典skills_replace.txt里,每一行是“原词@替换词”的形式,例如:“ci/cd@cicd”。
构建适用于结巴分词的用户自定义词典:技能词库中,没有经过替换操作的技能词原样放入自定义词典,例如:“云计算”;经过替换操作的技能词把替换词放入自定义词典,例如:“springboot”;从词典中移除一些会影响分词效果的词,比如当前词是其他技能词的一部分,例如“mq”,此时不把他们放入自定义词典中,目的是防止结巴分词只能识别当前词,而识别不出含有这些词的其他技能词,例如“rabbitmq”。在结巴自定义词典skills_jieba_userdict.txt里,每一行是一个技能词,如“springcloud"、“springboot”、“springbeans”。
构建技能词典:技能词库中,没有经过替换操作的技能词,以键和值都是原始技能词的样式存入技能词典,例如:“云计算@云计算”;经过替换操作的技能词以键是替换值、值是原始技能词的样式存入自定义词典,例如:“springboot@spring boot”。在技能词典skills.txt里,每一行是“原始技能词/替换词@原始技能词”的形式,例如:“nodejs@node.js”,其中“@”是与所有技能词无关的分割符。
接着编写python程序,先加载三种词典,其中使用结巴分词导入用户自定义词典,使用Python字典结构加载替换词词典和技能词典。接着对输入的文本先做替换操作,再做分句与分词,如果分词在技能词典的键中,就能得到该词映射出的标准技能词。
然后基于提取出的技能实体,对上一步分句得到的招聘文本行进行BIO标注,从而得到一批标注语料。例如:招聘文本行为“1、熟悉sping boot、springmvc、mybatis等框架和协议的使用并了解部分原理;”,提取出的技能实体为['spring boot','springmvc','mybatis'],经过处理,对此文本的序列标注为['O','O','O','O','B-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','O','B-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','O','B-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','I-SKILL','O','O','O','O','O','O','O','O','O','O','O','O','O','O','O','O','O']。
最后把训练语料处理成适合预训练模型BERT输入的形式,通过训练BERT-BILSTM-CRF模型,能召回到更多未被收录进技能词库的技能词,把这些技能词存入技能库,重复上述步骤,最终能获取到更高质量也更丰富的技能实体。
实施例二
请参阅图4,图4是本申请又一个实施例提供的一种挖掘招聘领域技能实体的系统组成示意图,所述系统包括:
获取模块101,用于获取招聘文本数据;
数据处理模块102,用于利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
实体抽取模块103,用于利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
标注模块104,用于基于所述实体抽取的结果,制作训练语料;
识别模块105,用于利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
实施例三
请参阅图5,图5是本申请又一个实施例提供的一种挖掘招聘领域技能实体的设备组成示意图,所述设备包括:
存储器31,其上存储有可执行程序;
处理器32,用于执行所述存储器31中的所述可执行程序,以实现上述中任一项所述方法的步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种挖掘招聘领域技能实体的方法,其特征在于,所述方法包括:
获取招聘文本数据;
利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
基于所述实体抽取的结果,制作训练语料;
利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
2.根据权利要求1所述的方法,其特征在于,所述利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库,包括:
将所述招聘文本数据按照职位类型进行分类,得到第一分类数据;
基于第一分类数据,按照预先设定的第一匹配规则识别不同分类数据下的种子技能词;
基于所述第一分类数据和每一分类数据对应的种子技能词,对每一分类数据进行分词处理;
利用分词处理的结果,进行关键词提取,生成不同职位类型下的技能词库。
3.根据权利要求1所述的方法,其特征在于,所述利用分词处理的结果,进行关键词提取,生成不同职位类型下的技能词库,包括:
利用分词处理的结果,使用N-Gram算法统计高频字节片段;
利用分词处理的结果,按照频率高低使用TF-IDF算法提取关键词;
利用所述高频字节片段及关键词,基于预先设定的第二匹配规则进行匹配,生成不同职位类型下的技能词库。
4.根据权利要求1所述的方法,其特征在于,所述利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取前,还包括:
搜索所述技能词库,若所述技能词库中的技能词符合预设的替换规则,则将所述技能词进行替换,并按照键和值的形式存储到预先构建的技能词典中,其中,所述替换规则为所述技能词中包含空格和/或符号,键和值中存储的分别是替换后的技能词和替换前的技能词;
否则,所述技能词不进行替换,并按照键和值的形式存储到预先构建的技能词典中,键和值中存储的均为替换前的技能词。
5.根据权利要求1所述的方法,其特征在于,所述基于所述实体抽取的结果,制作训练语料,包括:
基于所述实体抽取的结果,采用BIO标注制作训练语料。
6.根据权利要求1所述的方法,其特征在于,所述基于深度学习的命名实体识别模型包括:
采用BERT-BILSTM-CRF作为实体识别模型,其中BERT-BILSTM作为底层的文本特征编码器,CRF用于实体标签预测。
7.一种挖掘招聘领域技能实体的系统,其特征在于,所述系统包括:
获取模块,用于获取招聘文本数据;
数据处理模块,用于利用所述招聘文本数据,识别出种子技能词,基于所述种子技能词,生成技能词库;
实体抽取模块,用于利用所述技能词库,运用自定义规则对所述招聘文本数据进行技能实体抽取;
标注模块,用于基于所述实体抽取的结果,制作训练语料;
识别模块,用于利用所述训练语料,输入到基于深度学习的命名实体识别模型中去,得到高精度的技能实体识别结果。
8.一种挖掘招聘领域技能实体的设备,其特征在于,所述设备包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310305594.6A CN116776879A (zh) | 2023-03-27 | 2023-03-27 | 一种挖掘招聘领域技能实体的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310305594.6A CN116776879A (zh) | 2023-03-27 | 2023-03-27 | 一种挖掘招聘领域技能实体的方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116776879A true CN116776879A (zh) | 2023-09-19 |
Family
ID=87984892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310305594.6A Pending CN116776879A (zh) | 2023-03-27 | 2023-03-27 | 一种挖掘招聘领域技能实体的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116776879A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574159A (zh) * | 2024-01-12 | 2024-02-20 | 北京华品博睿网络技术有限公司 | 一种预训练模型的训练方法及系统 |
CN118037250A (zh) * | 2024-04-11 | 2024-05-14 | 成都鱼泡科技有限公司 | 应用文字信息化系统的数据挖掘方法及系统 |
-
2023
- 2023-03-27 CN CN202310305594.6A patent/CN116776879A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574159A (zh) * | 2024-01-12 | 2024-02-20 | 北京华品博睿网络技术有限公司 | 一种预训练模型的训练方法及系统 |
CN117574159B (zh) * | 2024-01-12 | 2024-05-10 | 北京华品博睿网络技术有限公司 | 一种预训练模型的训练方法及系统 |
CN118037250A (zh) * | 2024-04-11 | 2024-05-14 | 成都鱼泡科技有限公司 | 应用文字信息化系统的数据挖掘方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472033B (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
US10417350B1 (en) | Artificial intelligence system for automated adaptation of text-based classification models for multiple languages | |
CN113807098A (zh) | 模型训练方法和装置、电子设备以及存储介质 | |
CN110532353A (zh) | 基于深度学习的文本实体匹配方法、系统、装置 | |
CN116776879A (zh) | 一种挖掘招聘领域技能实体的方法、系统及设备 | |
CN111159414B (zh) | 文本分类方法及系统、电子设备、计算机可读存储介质 | |
CN113678118A (zh) | 数据提取系统 | |
CN111552766B (zh) | 使用机器学习来表征在引用图形上应用的参考关系 | |
CN111222336B (zh) | 一种识别未知实体的方法及装置 | |
US20240012809A1 (en) | Artificial intelligence system for translation-less similarity analysis in multi-language contexts | |
CN110008473B (zh) | 一种基于迭代方法的医疗文本命名实体识别标注方法 | |
CN115309910B (zh) | 语篇要素和要素关系联合抽取方法、知识图谱构建方法 | |
US11416682B2 (en) | Evaluating chatbots for knowledge gaps | |
CN105786971B (zh) | 一种面向国际汉语教学的语法点识别方法 | |
CN115146062A (zh) | 融合专家推荐与文本聚类的智能事件分析方法和系统 | |
US8165987B2 (en) | System and method of machine-aided information extraction rule development | |
CN110956271A (zh) | 一种海量数据的多级分类方法及装置 | |
CN114298048A (zh) | 命名实体识别方法及装置 | |
CN116432125B (zh) | 基于哈希算法的代码分类方法 | |
CN116049376B (zh) | 一种信创知识检索回复的方法、装置和系统 | |
CN114842982B (zh) | 一种面向医疗信息系统的知识表达方法、装置及系统 | |
CN113722421B (zh) | 一种合同审计方法和系统,及计算机可读存储介质 | |
Markus et al. | Leveraging Researcher Domain Expertise to Annotate Concepts Within Imbalanced Data | |
CN112257416A (zh) | 一种稽查新词发现方法及系统 | |
Rawat et al. | A Systematic Literature Review (SLR) On The Beginning of Resume Parsing in HR Recruitment Process & SMART Advancements in Chronological Order |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |