发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的第一个目的在于提出一种简历解析方法,用于解决现有技术中收集信息过程中信息的安全性和公开度难以同时满足的问题。
本公开的第二个目的在于提出一种简历解析装置。
本公开的第三个目的在于提出一种电子设备。
本公开的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本公开第一方面实施例提出了一种简历解析方法,包括:
获取待解析的简历文本;
从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;
对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;
根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。
在本公开的一个实施例中,所述对所述目标内容的各个实体进行分析,生成每个类目的标准模板包括:
确定所述目标内容中各个实体在所述简历文本中的行号;
按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述目标内容对应的第一字符串;
根据所述目标内容中各个实体归属的实体类型,将所述第一字符串中对应的实体替换为对应的实体类型标识,生成每个类目的标准字符串模板,其中所述实体类型标识指示对应实体归属的实体类型。
在本公开的一个实施例中,所述对所述目标内容的各个实体进行分析,生成每个类目的标准模板包括:
将所述目标内容的各个实体划分为锚点实体和非锚点实体;
确定所述目标内容中非锚点实体相对于锚点实体的行偏移信息,并将所述目标内容中非锚点实体相对于锚点实体的行偏移信息设置为每个类目中与非锚点实体对应的实体类型的目标行偏移。
在本公开的一个实施例中,所述根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理包括:
针对每个类目的每条待解析内容,确定所述待解析内容中锚点实体的行号,并根据所述待解析内容中锚点实体的行号、每个类目中与非锚点实体对应的实体类型的目标行偏移,确定所述待解析内容中非锚点实体在所述简历文本中的行号;
按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述待解析内容对应的第二字符串;
对所述第二字符串中已识别出实体类型的实体,将所述第二字符串中对应的实体替换为对应的实体类型标识,以及对所述第二字符串中未识别出实体类型的实体,将所述第二字符串中对应的实体替换为预设标识符,并将替换后的第二字符串作为所述待解析内容的字符串模板;
将所述待解析内容的字符串模板与所述标准字符串模板进行匹配,根据匹配结果确定所述待解析内容的各个实体的目标实体类型;
根据所述待解析内容的各个实体的目标实体类型解析所述待解析内容。
本公开实施例的简历解析方法,通过获取待解析的简历文本;从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。由此,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
为达上述目的,本公开第二方面实施例提出了一种简历解析装置,包括:
获取模块,用于获取待解析的简历文本;
抽取模块,用于从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;
生成模块,用于对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;
解析模块,用于根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。
在本公开的一个实施例中,所述生成模块具体用于:
确定所述目标内容中各个实体在所述简历文本中的行号;
按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述目标内容对应的第一字符串;
根据所述目标内容中各个实体归属的实体类型,将所述第一字符串中对应的实体替换为对应的实体类型标识,生成每个类目的标准字符串模板,其中所述实体类型标识指示对应实体归属的实体类型。
在本公开的一个实施例中,所述生成模块还具体用于:将所述目标内容的各个实体划分为锚点实体和非锚点实体;
确定所述目标内容中非锚点实体相对于锚点实体的行偏移信息,并将所述目标内容中非锚点实体相对于锚点实体的行偏移信息设置为每个类目中与非锚点实体对应的实体类型的目标行偏移。
在本公开的一个实施例中,所述解析模块包括处理单元、拼接单元、替换单元、匹配单元、解析单元;
所述处理单元,用于针对每个类目的每条待解析内容,确定所述待解析内容中锚点实体的行号,并根据所述待解析内容中锚点实体的行号、每个类目中与非锚点实体对应的实体类型的目标行偏移,确定所述待解析内容中非锚点实体在所述简历文本中的行号;
所述拼接单元,用于按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述待解析内容对应的第二字符串;
所述替换单元,用于对所述第二字符串中已识别出实体类型的实体,将所述第二字符串中对应的实体替换为对应的实体类型标识,以及对所述第二字符串中未识别出实体类型的实体,将所述第二字符串中对应的实体替换为预设标识符,并将替换后的第二字符串作为所述待解析内容的字符串模板;
所述匹配单元,用于将所述待解析内容的字符串模板与所述标准字符串模板进行匹配,根据匹配结果确定所述待解析内容的各个实体的目标实体类型;
所述解析单元,用于根据所述待解析内容的各个实体的目标实体类型解析所述待解析内容。
本公开实施例的简历解析装置,通过获取待解析的简历文本;从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。由此,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的简历解析方法。
为了实现上述目的,本公开第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的简历解析方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的简历解析方法及装置。
图1为本公开实施例提供的一种简历解析方法的流程示意图。如图1所示,该简历解析方法包括以下步骤:
步骤101、获取待解析的简历文本。
步骤102、从所述简历文本中抽取每个类目的一条目标内容,所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体。
本公开提供的简历解析方法的执行主体为简历解析装置,简历解析装置具体可以为硬件设备,或者硬件设备中安装的软件。其中,硬件设备例如可以为终端设备、服务器等。
在不同的应用场景中,简历文本所包含的类目不同,例如待解析的简历文本所包含的类目包括工作经历、教育简历、项目经历等。
具体的,可以先基于机器学习模型或基于规则等识别出简历文本中各类目所包括的全部实体的实体类型,再从简历文本中抽取各类目的一条目标内容。
其中,机器学习模型可以为利用海量样本训练深度神经网络(DNN,Deep NeuralNetwork)、卷积神经网络(CNN,Convolutional Neural Network)、递归神经网络(RNN,Recursive Neural Network)等任一神经网络得到的,但并不限于此。
其中,在训练时,将每个简历样本作为输入,将每个简历样本对应的各类目所包括的全部实体的实体类型作为期望输出,训练深度神经网络(DNN,Deep Neural Network)、卷积神经网络(CNN,Convolutional Neural Network)、递归神经网络(RNN,RecursiveNeural Network)等任一神经网络。具体的模型训练方法的更多介绍详见相关技术,此处不再赘述。
其中,根据应用场景的不同构建不同的规则,将简历文本与规则进行匹配,识别出中各类目所包括的全部实体的实体类型。关于基于规则进行命名实体识别的更多介绍详见相关技术,此处不再赘述。
例如,对工作经历这一类目,该类目包括的全部实体的实体类型包括公司名、时间、职位等。对教育经历这一类目,该类目包括的全部实体的实体类型包括学校名、时间、专业等。对项目经历这一类目,该类目包括的全部实体的实体类型包括项目名、时间、项目描述等。
其中,对每个类目可能包括一条或多条内容,从一条或多条内容中找出目标内容,该目标内容中的实体已确定其所属的实体类型,且目标内容包括归属于所述每个类目的全部实体类型的实体。
表1为待解析的简历文本中的工作经历。
表1
2010.03-2016.08 |
头条 |
研发工程师 |
2016.08-2018.08 |
360 |
高级研发工程师 |
以表1为例,工作经历这一类目包括实体类型有公司名、时间、职位,从工作经历中选择各个字段完整的经历,如头条的工作经历,将头条的工作经历作为工作经历这类目的目标内容,基于工作经历的目标内容推导该工作经历这一类目的标准模板。
其中,在从工作经历中抽取头条的工作经历时,可以先判断公司实体“头条”所在行是否有两个时间实体、以及是否有职位实体,如果有的话,将两个时间实体中更早的时间实体作为工作经历起始时间,另一个时间实体作为工作经历结束时间,将职位实体作为工作经历的职位,抽取的头条的工作经历如下:
步骤103、对所述目标内容的各个实体进行分析,生成每个类目的标准模板。
具体地,对目标内容的各个实体进行分析,确定每个类目的标准模板,其中标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移。
其中,标准字符串模板用于与待解析内容对应的字符串模板进行匹配,确定待解析内容中各个实体的正确的实体类型。
其中,根据实际情形确定各个类目的锚点实体的实体类型,且同一类目的各个内容的锚点实体对应的实体类型相同,各类目中与锚点实体对应的实体类型不同的实体为非锚点实体。由于时间实体的识别准确率很高,可以将时间实体作为锚点实体,进而提升整个简历解析的召回率。
以表1所示的工作经历这一类目为例,将时间实体作为锚点实体,公司名实体、职位实体均为非锚点实体。
继续以表1为例,工作经历这一类目对应的标准模板包括标准字符串模板和与非锚点实体对应的实体类型的目标行偏移,具体如下:
其中,字段template的值@@DATE@@~@@DATE@@@@COMPANY@@@@POSITION@@为工作经历这一类目标准字符串模板。
其中,字段company_offset的值为公司实体的行偏移;
其中,字段position_offset的值为职位实体的行偏移。
在本公开的一个实施例中,每个类目的所述标准字符串模板的确定方式为:确定所述目标内容中各个实体在所述简历文本中的行号;按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述目标内容对应的第一字符串;根据所述目标内容中各个实体归属的实体类型,将所述第一字符串中对应的实体替换为对应的实体类型标识,生成每个类目的标准字符串模板,其中所述实体类型标识指示对应实体归属的实体类型。
继续以头条的工作经历为例,找到头条的工作经历中各个实体所在简历文本中的行号,将最小行号和最大行号之间的所有行以换行符’\n’为连接符拼接成一个字符串,由于头条的工作经历只有一行,拼接成的字符串为“2010.03~2016.08头条研发工程师”。
接着,将字符串中的实体替换为对应的实体类型标识,如时间实体替换为“@@DATE@@”,公司实体替换为“@@COMPANY@@”,职位实体替换为“@@POSITION@@”,并去掉其中的空白字符,即推导出了标准字符串模板为:“@@DATE@@~@@DATE@@@@COMPANY@@@@POSITION@@”
在本公开的一个实施例中,确定每个类目中与非锚点实体对应的实体类型的目标行偏移的方式为包括:将所述目标内容的各个实体划分为锚点实体和非锚点实体;确定所述目标内容中非锚点实体相对于锚点实体的行偏移信息,并将所述目标内容中非锚点实体相对于锚点实体的行偏移信息设置为每个类目中与非锚点实体对应的实体类型的目标行偏移。
继续以头条的工作经历为例,因为时间实体的识别准确率很高,因此以时间实体(如起始时间)为锚点计算头条工作经历中公司实体和职位实体的行偏移,即用公司实体、职位实体所在的行号减去时间实体的行号,公司的行偏移定义为company_offset,职位的行偏移定义为position_offset,由于头条的工作经历只有一行,则company_offset=0,position_offset=0。
步骤104、根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。
具体的,在得到每个类目的标准模板之后,针对每条待解析内容,首先,根据待解析内容中锚点实体的行号、每个类目中与非锚点实体对应的实体类型的目标行偏移、待解析内容的实体识别结果确定待解析内容的字符串模板;其次,根据待解析内容的字符串模板和标准字符串模板确定出待解析内容中的实体所属的正确实体类型;最后,根据待解析内容的各个实体的正确实体类型解析待解析内容。
一般来说,由于同一类目的各个内容的排版和风格等都是统一的,自动化生成的标准模板对待解析的简历的适用性很好,极大提升了简历解析的准确率。
本公开实施例提供的简历解析方法,通过获取待解析的简历文本;从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。由此,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
图2为本公开实施例提供的又一种简历解析方法的流程示意图。如图2所示,在图1所示的实施例的基础上,步骤104具体包括以下步骤:
步骤201、针对每个类目的每条待解析内容,确定所述待解析内容中锚点实体的行号,并根据所述待解析内容中锚点实体的行号、所述标准模板中每个类目中与非锚点实体对应的实体类型的目标行偏移,确定所述待解析内容中非锚点实体在所述简历文本中的行号。
其中,同一类目的各个内容的锚点实体的实体类型相同。各类目的锚点实体的实体类型根据实际情形进行设定,以表1为例,设定工作经历这一类目的锚点实体的实体类型为时间实体。
具体的,在基于各类目的标准模板进行简历解析时,首先,定位出待解析内容中锚点实体的行号,接着根据待解析内容中锚点实体的行号、标准模板中每个类目中与非锚点实体对应的实体类型的目标行偏移,便可确定出待解析内容中非锚点实体在简历文本中的行号。
接着以表1为例,待解析的内容为360这条工作经历,首先,定位出360这条工作经历的锚点实体即时间实体2010.03~2016.08在简历文本中的行号为第10行,接着,由工作经历的标准模板可知,公司实体的行偏移company_offset为0,职位实体的行偏移position_offset为0,即公司实体的行号为第10行,职位实体的行号为第10行。
步骤202、按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述待解析内容对应的第二字符串。
步骤203、对所述第二字符串中已识别出实体类型的实体,将所述第二字符串中对应的实体替换为对应的实体类型标识,以及对所述第二字符串中未识别出实体类型的实体,将所述第二字符串中对应的实体替换为预设标识符,并将替换后的第二字符串作为所述待解析内容的字符串模板。
其中,预设标识符根据实际情形进行设定,预设标识符例如为一个正则表达式。
以360这条工作经历为例,由于360的工作经历只有一行,拼接成的字符串为“2016.08~2018.08 360高级研发工程师”。通过实体识别,识别出2016.08~2018.08为时间实体,将上述字符串中的2016.08~2016.08替换为“@@DATE@@”;未识别出360的实体类型,则将上述字符串中的360替换为正则表达式(.*);识别出高级研发工程师为职位实体,则将上述字符串中的高级研发工程师替换为“@@POSITION@@”;去掉字符串中的空白字符,即待解析的360这条工作经历对应的字符串模板为“@@DATE@@~@@DATE@@@@(.*)@@@@POSITION@@”。
步骤204、将所述待解析内容的字符串模板与所述标准字符串模板进行匹配,根据匹配结果确定所述待解析内容的各个实体的目标实体类型。
具体的,在将待解析内容的字符串模板与标准字符串模板进行匹配时,依次将待解析内容的字符串模板与标准字符串模板中相同位置的字段进行比对,若字段相同,则确定待解析内容的字段的实体类型的识别结果正确。若字段不同,说明待解析内容的字段的实体类型的识别结果错误或者是未识别出该字段的实体类型,这时,将标准字符串模板中实体标识符所标识的实体类型确定为待解析的内容的字段的正确实体类型。
接着以表1所示的工作经历为例,基于头条的工作经历得到的标准字符串模板为@@DATE@@~@@DATE@@@@COMPANY@@@@POSITION@@;
待解析的360这条工作经历对应的字符串模板为“@@DATE@@~@@DATE@@@@(.*)@@@@POSITION@@”。
在进行匹配时,将待解析的360这条工作经历对应的字符串模板中的@@DATE@@与标准字符串模板中的@@DATE@@进行比对,比对结果为相同的实体标识符,确定待解析的360这条工作经历中的时间实体识别正确。
将待解析的360这条工作经历对应的字符串模板中的@@(.*)@@与标准字符串模板中的@@COMPANY@@进行比对,比对结果为不同的实体标识符,则确定预设标识符对应的实体标识符为@@COMPANY@@,进而确定出未识别出360的实体类型为公司实体。
将待解析的360这条工作经历对应的字符串模板中的@@POSITION@@与标准字符串模板中的@@POSITION@@进行比对,比对结果为相同的实体标识符,确定待解析的360这条工作经历中的职位实体识别正确。
步骤205、根据所述待解析内容的各个实体的目标实体类型解析所述待解析内容。
具体的,待解析内容的各个实体的目标实体类型为经过标准字符串模板验证的各个实体的正确实体类型,由此,基于待解析内容的各个实体的目标实体类型便可正确的解析出待解析内容。
例如,对待解析的360的工作经历,识别出的时间实体为2016.08~2018.08,公司实体为360,职位实体为高级研发工程师,则解析出的360的工作经历为:
{“company”:“360”,
“start_time”:“2016.08”,
“end_time”:“2018.08”,
“position”:“高级研发工程师”
}
本公开实施例提供的简历解析方法,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
图3为本公开实施例提供的一种简历解析装置的结构示意图。如图3示,该简历解析装置,包括:获取模块11、抽取模块12、生成模块13和解析模块14。
获取模块11,用于获取待解析的简历文本;
抽取模块12,用于从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;
生成模块13,用于对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;
解析模块14,用于根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。
在本公开的一个实施例中,所述生成模块13具体用于:
确定所述目标内容中各个实体在所述简历文本中的行号;
按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述目标内容对应的第一字符串;
根据所述目标内容中各个实体归属的实体类型,将所述第一字符串中对应的实体替换为对应的实体类型标识,生成每个类目的标准字符串模板,其中所述实体类型标识指示对应实体归属的实体类型。
在本公开的一个实施例中,所述生成模块13还具体用于:将所述目标内容的各个实体划分为锚点实体和非锚点实体;
确定所述目标内容中非锚点实体相对于锚点实体的行偏移信息,并将所述目标内容中非锚点实体相对于锚点实体的行偏移信息设置为每个类目中与非锚点实体对应的实体类型的目标行偏移。
本公开实施例的简历解析装置,通过获取待解析的简历文本;从所述简历文本中抽取每个类目的一条目标内容,其中所述目标内容中的实体已确定其所属的实体类型,且所述目标内容包括归属于所述每个类目的全部实体类型的实体;对所述目标内容的各个实体进行分析,生成每个类目的标准模板,其中所述标准模板包括每个类目的标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,同一类目的各个内容的锚点实体对应的实体类型相同,非锚点实体的实体类型与锚点实体的实体类型不同;根据每个类目的所述标准字符串模板、每个类目中与非锚点实体对应的实体类型的目标行偏移,对所述简历文本中每个类目的内容进行解析处理。由此,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
图4为本公开实施例提供的一种简历解析装置的结构示意图。如图4所示,在图3所示的实施例的基础上,该简历解析装置的解析模块14包括处理单元141、拼接单元142、替换单元143、匹配单元144、解析单元145;
所述处理单元141,用于针对每个类目的每条待解析内容,确定所述待解析内容中锚点实体的行号,并根据所述待解析内容中锚点实体的行号、每个类目中与非锚点实体对应的实体类型的目标行偏移,确定所述待解析内容中非锚点实体在所述简历文本中的行号;
所述拼接单元142,用于按照行号从小到大的顺序,将各个行号对应的行内容进行拼接,生成所述待解析内容对应的第二字符串;
所述替换单元143,用于对所述第二字符串中已识别出实体类型的实体,将所述第二字符串中对应的实体替换为对应的实体类型标识,以及对所述第二字符串中未识别出实体类型的实体,将所述第二字符串中对应的实体替换为预设标识符,并将替换后的第二字符串作为所述待解析内容的字符串模板;
所述匹配单元144,用于将所述待解析内容的字符串模板与所述标准字符串模板进行匹配,根据匹配结果确定所述待解析内容的各个实体的目标实体类型;
所述解析单元145,用于根据所述待解析内容的各个实体的目标实体类型解析所述待解析内容。
本公开实施例的简历解析装置,实现自动化生成的标准模板进行简历解析,即使待解析内容中存在未识别实体类型的实体或实体类型识别错误的实体,仍然可以正确地解析出简历,并修复未识别实体类型的实体或实体类型识别错误的实体,提升了简历解析的准确率和召回率。此外,无需基于人工整理的模板进行简历解析,无需花费大量的精力维护大量的模板,维护和升级成本很低。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收字段请求;根据字段请求,调取二维数据表中的表单字段的表单界面;响应于表单界面中接收的套用字段请求,生成表单以及表单链接;发送表单链接后,接收基于表单链接的表单内容,表单内容与表单中的字段相对应;将接收的表单内容更新到二维数据表中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的简历解析方法。
本公开还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的简历解析方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。