简历识别方法、装置、设备及存储介质与流程

文档序号:21547311发布日期:2020-07-17 17:58阅读:243来源:国知局
简历识别方法、装置、设备及存储介质与流程

本申请实施例涉及数据处理技术领域,尤其涉及一种简历识别方法、装置、设备及存储介质。



背景技术:

通常,许多公司的人力资源部门在招聘时会收到大量的简历,这些简历可能是应聘者自行投递的简历,也可能是相关招聘平台推送的简历。同时,为了便于人才信息的掌握及管理,人力资源部门会基于接收到的简历构建人才库。无论是从接收的简历中筛选合适的简历还是构建人才库,均需要先对简历进行识别。在识别简历时,采用人工的方式提取并记录简历中有效的字段,会耗费大量的人力且效率很低。因此,如何对简历进行自动识别,以提取出有效的字段成为了亟需解决的技术问题。

现有技术中,为了自动识别简历,可以利用深度学习技术,即构建神经网络模型,并通过神经网络模型对简历中的文本内容进行识别。发明人在实现本发明的过程中,发现现有技术存在如下缺陷:由于简历的来源不同,会使得简历的格式、框架结构等均不相同。此时,基于不同格式、框架结构的简历训练得到的神经网络模型具有较低的泛化能力,进而在神经网络模型识别简历的文本内容时,会降低识别的准确度。



技术实现要素:

本申请提供了一种简历识别方法、装置、设备及存储介质,以解决现有技术中由于简历的格式、框架结构不同导致神经网络模型识别简历时的准确度低的技术问题。

第一方面,本申请实施例提供了一种简历识别方法,包括:

将各待识别的简历转换成统一格式的简历文件;

对所述简历文件进行分段,以得到分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别;

根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果,每个所述类别对应一个文本识别模型;

根据所述文本识别结果得到所述简历文件的简历识别结果。

进一步的,所述对所述简历文件进行分段,以得到分段文本包括:

利用关键词正则表达式识别所述简历文件中的关键词,每个类别对应一组关键词正则表达式;

基于识别到的关键词对所述简历文件进行分块,并将分块后的每个块状文本作为一个分段文本。

进一步的,所述对所述简历文件进行分段,以得到分段文本之前,还包括:

对所述简历文件进行数据清洗,以剔除所述简历文件中的无效数据。

进一步的,所述根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果之后,还包括:

判断所述文本识别结果中是否存在未被识别的文本;

若存在未被识别的文本,则基于所述文本识别结果对所述未被识别的文本进行标记,并根据标记结果更新所述文本识别结果。

进一步的,所述根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果包括:

利用特征正则表达式在所述分段文本中匹配具有相应特征的第一字段;

根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,并获取所述文本识别模型的输出结果;

将所述输出结果、所述第一字段以及所述第一字段对应的特征作为对应分段文本的文本识别结果。

进一步的,还包括:

获取训练数据集,所述训练数据集中包含多个相同类别的训练分段文本;

为所述训练分段文本添加标签;

根据所述训练分段文本以及对应的标签训练所述类别对应的文本识别模型。

进一步的,所述为所述训练分段文本添加标签包括:

根据各所述训练分段文本的简历来源将各所述训练分段文本划分成至少一个已知来源训练分段文本集和未知来源训练分段文本集,每个所述已知来源训练分段文本集对应一种简历来源;

剔除所述已知来源训练分段文本集及所述未知来源训练分段文本集中各训练分段文本内的第二字段,得到更新后的已知来源训练分段文本集和更新后的未知来源训练分段文本集,所述第二字段通过特征正则表达式匹配得到;

根据所述简历来源确认更新后的已知来源训练分段文本集对应的简历结构,每种所述简历来源对应一种简历结构;

根据所述简历结构对所述更新后的已知来源训练分段文本集中各训练分段文本添加标签;

显示所述更新后的未知来源训练分段文本集中的各训练分段文本,以获取用户根据所述训练分段文本输入的标签。

进一步的,所述文本识别模型采用bert-bilstm-crf模型。

第二方面,本申请实施例还提供了一种简历识别装置,包括:

格式转换模块,用于将各待识别的简历转换成统一格式的简历文件;

文件分段模块,用于对所述简历文件进行分段,以得到分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别;

模型识别模块,用于根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果,每个所述类别对应一个文本识别模型;

结果获取模块,用于根据所述文本识别结果得到所述简历文件的简历识别结果。

第三方面,本申请实施例还提供了一种简历识别设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的简历识别方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的简历识别方法。

上述简历识别方法、装置、设备及存储介质,通过将各待识别的简历转换成统一格式的简历文件,之后,对简历文件进行分段,每个分段文本对应一个类别,并将分段文本按照所属类别输入至对应的文本识别模型中,以得到文本识别结果,进而基于文本识别结果得到简历文件的简历识别结果的技术手段,可以解决现有技术中由于简历的格式、框架结构不同导致神经网络模型识别简历时的准确度低的技术问题。先将简历转换成统一的格式,便于后续的统一处理,之后,根据类别对简历文件进行分段,且每个类别的分段文本对应一个用于识别的文本识别模型,即文本识别模型仅需要学习相同类别的文本,可以提高文本识别模型的泛化能力,进而提高了简历识别结果的准确性。进一步的,对简历文件进行数据清洗,剔除简历文件中的无效数据,以避免无效数据影响后续处理过程。进一步的,在分段文本中匹配出第一字段,以减小文本识别模型的数据处理量。进一步的,若分段文本中包含未被识别的文本,则可以基于文本识别结果对未被识别的文本进行标记,以进一步保证文本识别结果的准确度,进而保证简历识别结果的准确度。

附图说明

图1为本申请一个实施例提供的一种简历识别方法的流程图;

图2为本申请实施例提供的标签添加过程示意图;

图3为本申请另一个实施例提供的一种简历识别方法的流程图;

图4为本申请实施例提供的分段文本示意图;

图5为本申请实施例提供的第一文本识别结果示意图;

图6为本申请实施例提供的第二文本识别结果示意图;

图7为本申请实施例提供的简历识别方法示例流程图;

图8为本申请一个实施例提供的一种简历识别装置的结构示意图;

图9为本申请一个实施例提供的一种简历识别设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或操作或对象与另一个实体或操作或对象区分开来,而不一定要求或者暗示这些实体或操作或对象之间存在任何这种实际的关系或顺序。例如,第一字段和第二字段的“第一”和“第二”用来区分两个不同的字段。

实施例中提供的简历识别方法可以由简历识别设备执行,该简历识别设备可以通过软件和/或硬件的方式实现,该简历识别设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。例如,简历识别设备可以是电脑、手机或智能交互平板等具有数据运算、分析能力的智能设备。

图1为本申请一个实施例提供的一种简历识别方法的流程图。具体的,参考图1,该简历识别方法具体包括:

步骤110、将各待识别的简历转换成统一格式的简历文件。

具体的,待识别的简历为简历识别设备当前需要识别的简历,待识别的简历的数量实施例不做限定。待识别的简历可以从招聘平台等渠道获取,其中,招聘平台可以理解为对应聘者和招聘者提供服务的网络平台,招聘者可以通过招聘平台发布招聘信息,应聘者可以通过招聘平台获取招聘信息并投递简历。待识别的简历还可以是应聘者直接投递的简历,例如,应聘者通过招聘者公开的邮箱投递的简历。可以理解,待识别的简历还可以通过其他的渠道获取,实施例对此不做限定。

进一步的,不同来源的简历可能具有不同的格式,该格式可以理解为简历的文件属性。例如,应聘者通过邮箱投递的简历可能是pdf、word等格式,通过招聘平台获取的简历可能是html等格式。一般而言,简历在不同格式下的编辑、控制方式不同,因此,为了便于后续对待识别的简历进行处理,实施例中,将各待识别的简历转换成统一格式的文件,实施例中,将转换后的文件记为简历文件,此时,每个待识别的简历对应一个简历文件。可选的,统一格式可以根据实际情况设定,实施例中以统一格式为txt格式为例进行描述,此时,可以通过转txt格式的数据包处理待识别的简历以得到对应的简历文件,需说明,转txt格式的数据包为现有的开源数据包,该数据包的具体执行逻辑实施例不作限定。格式转换后,简历文件与对应的待识别的简历具有相同的排版。举例而言,待识别的简历中第十行的排版为:两个字符的空白,后接有五个字符的文本,再后接十个字符的空白。那么,转换后的简历文件中,第十行的排版为:显示两个表示空白的字符,后接有五字符的文本,该文本内容与待识别简历中的文本内容相同,后接有十个表示空白的字符。

步骤120、对所述简历文件进行分段,以得到分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别。

具体的,简历文件的类别包含:个人信息、工作经历、项目经历、教育背景、自我评价和/或技能及奖项等内容,用户在该类别下写入自身具体的信息,以便于招聘者了解该部分信息。同一类别下的文本内容在简历文件中聚集在一起,即简历文件可以认为是各类别下的文本内容按照一定规则排列后得到的文件。因此,可以基于类别对简历文本进行分段,并将分段后得到的各段文本记为分段文本,此时,一个简历文本至少被分为两个分段文本,且每个分段文本对应一个类别。可以理解,对简历文本进行分段也可以理解为对简历文本进行分块。

一个实施例中,构建关键词正则表达式,并通过关键词正则表达式在简历文件中匹配与类别有关的关键词,进而基于匹配到的关键词,对简历文件进行分段。其中,由于各简历文件中包含的类别具有很强的相似性,是可以通过统计得到的,因此,可以基于统计结果得到关键词正则表达式。可选的,关键词正则表达式的构建过程为:由技术人员预先统计一定数量的简历,获取各简历中的类别,并统计各类别的关键词,进而基于关键词构建正则表达式,其中,正则表达式的构建规则及方法实施例不做限定。示例性的,将当前构建的正则表达式记为关键词正则表达式。一个实施例中,在构建关键词正则表达式时,针对同一类别的相似关键词可以构建一个关键词正则表达式,即根据关键词正则表达式可以匹配到类别下的全部关键词。其中,相似关键词是指名称不同,但所属类别下文本内容含义相同的关键词。例如,某份简历中某个类别为个人信息,另一份简历中某个类别为基本信息,这两个类别对应的关键词不同,但是类别下的文本内容含义相同,均用于描述招聘者的姓名、性别、出生年月、邮箱、电话等个人基本信息,因此,可以将这两个关键词确定为同一类别的相似关键词。可以理解,在统计关键词时,可以直接将同一类别的相似关键词归为一类,即将个人信息和基本信息作为关键词并归为一类,便于后续关键词正则表达式的构建。进一步的,构建关键词正则表达式后,基于关键词正则表达式对简历文件进行分段。具体的,通过各类别下的关键词正则表达式在简历文件中匹配出相应的文本,匹配出的文本可以作为匹配得到的关键词,此时,每个简历文件可以被识别到多个关键词。之后,在简历文件中,将当前关键词之后、下一个关键词之前的文本划分为当前关键词所属类别的文本,若当前关键词之后没有其他关键词,则将当前关键词之后的全部文本划分为当前关键词所属类别的文本。之后,根据划分结果对简历文件进行分段,得到分段文本。或者是,匹配到关键词后,将每个关键词作为分段文本的首行,并对简历文本进行划分。

一个实施例中,还可以利用深度学习的方式,构建深度卷积神经网络,并基于深度卷积神经网络对简历文件进行分段,得到分段文本。

可选的,由于简历文件包含一些无效数据,例如,表示空白的字符,因此,在对简历文件进行分段前,可以先对简历文件进行清洗,以洗掉无效的数据。

步骤130、根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果,每个所述类别对应一个文本识别模型。

具体的,文本识别模型用于识别出分段文本中表示特征的字段。例如,将描述教育背景的分段文本输入至文本识别模型中,可以识别出分段文本中的时间、学校等表示特征的字段。实施例中,文本识别模型可以将识别出的字段通过文本框等方式被标记,标记后的分段文本可以记为文本识别结果。可选的,不同含义的字段可以采用不同的文本框,例如,教育背景的分段文本中,识别出的时间字段与识别出的学校字段采用不同颜色的文本框进行标记,以便于识别、统计和查找。

典型的,文本识别模型可以根据实际情况设定,实施例中,文本识别模型为bert-bilstm-crf模型。其中,bert的全称为bidirectionalencoderrepresentationfromtransformers,是一个预训练的语言表征模型,它能生成深度的双向语言表征。本实施例中,通过bert可以学习分段文本中的特征,并记为表征向量。通过分段文本得到的表征向量经过embedding,以将表征向量映射至低维空间,并得到低维的表征向量,其中,embedding用于将大型稀疏向量转换为保留语义关系的低维空间。进一步的,bilstm是指双向长短期记忆网络,其中,一个为正向的长短期记忆网络,其利用过去的信息,一个为逆向的长短期记忆网络,其利用未来的信息,因此,双向长短期记忆网络同时利用过去时刻和未来时刻的信息,会得到更加准确的预测。实施例中,通过bilstm会更准确学习低维的表征向量中重要的信息。之后,将bilstm的输出经过crf,其中,crf可以理解为条件随机场,实施例中,通过crf可以将特征识别转换为特征标注,即输出的文本识别结果中,可以对分段文本中表示特征的字段进行标注。

一个实施例中,每个类别对应一个文本识别模型。此时,根据分段文本所属的类别将分段文本输入至对应的文本识别模型中,以得到文本识别结果。其中,每个文本识别模型均为bert-bilstm-crf模型,其具体的结构及参数可以根据实际情况设定,实施例对此不作限定,可以理解,不同类别对应的bert-bilstm-crf模型可以具有不同的结构及参数。进一步的,每个文本识别模型的训练方式相同,均是采用带有标签的训练数据进行训练。

可选的,对于分段文本中某些具有固定结构的特征字段,可以直接识别并提取,无需经过文本识别模型。例如,“个人信息”中的“邮箱”,其具有“xx@xx”这样的固定结构,因此,基于该结构可以直接在分段文本中识别出表示邮箱的字段,无需经过文本识别模型。即文本识别模型无需识别表示邮箱的字段。此时,当得到文本识别结果时,可以在其中对识别到的邮箱直接标记。

可选的,利用bert-bilstm-crf模型对分段文本进行识别时,有些字数较多的文本可能无法被模型识别,例如,某个分段文本描述工作经历,其中较多文字用于描述工作内容,该工作内容的部分不会被bert-bilstm-crf模型识别出来。此时,可以基于bert-bilstm-crf模型识别出来的文本识别结果在分段文本中找到该部分未被识别出来的文本并进行标记,并更新文本识别结果。

步骤140、根据所述文本识别结果得到所述简历文件的简历识别结果。

具体的,简历文件中的每个分段文本均得到对应的文本识别结果后,便可以得到该简历文件的简历识别结果。可选的,按照简历文件存储对应的文本识别结果,即同一简历文件中的文本识别结果存储在一起。还可选的,按照类别存储文本识别结果,即将不同简历文件中处于同一类别下的文本识别结果存储在一起。

进一步的,用户可以通过文本识别结果快速查找到需要的信息,例如,针对教育经历,通过文本识别结果可以快速得到学校信息。

上述,通过将各待识别的简历转换成统一格式的简历文件,之后,对简历文件进行分段,每个分段文本对应一个类别,并将分段文本按照所属类别输入至对应的文本识别模型中,以得到文本识别结果,进而基于文本识别结果得到简历文件的简历识别结果的技术手段,可以解决现有技术中由于简历的格式、框架结构不同导致神经网络模型识别简历时的准确度低的技术问题。先将简历转换成统一的格式,便于后续的统一处理,之后,根据类别对简历文件进行分段,且每个类别的分段文本对应一个用于识别的文本识别模型,即文本识别模型仅需要学习相同类别的文本,可以提高文本识别模型的泛化能力,进而提高了简历识别结果的准确性。

在上述实施例的基础上,简历识别方法还包括文本识别模型的训练过程。具体的,简历识别方法还包括:

步骤150、获取训练数据集,所述训练数据集中包含多个相同类别的训练分段文本。

其中,训练数据集用于训练文本识别模型。一个实施例中,每个类别对应一个训练数据集。进一步的,训练数据集包含多个分段文本,实施例中,将训练数据集包含的分段文本记为训练分段文本,各训练分段文本统一为txt格式。训练分段文本的数量可以根据实际情况设定。可选的,预先获取大量用于训练的简历文件,之后,对简历文件进行分段,得到训练分段文本,之后,将同一类别下的训练分段文本组成该类别对应的训练数据集,其中,训练分段文本与步骤120中提及的分段文本的分段方式相同。

步骤160、为所述训练分段文本添加标签。

具体的,训练文本识别模型时,需要准确训练用的语料。在准备语料时,先对训练分段文本进行标注,即添加标签。一个实施例中,可以通过正则及手动的方式添加标签。此时,该步骤具体包括步骤161-步骤165:

步骤161、根据各所述训练分段文本的简历来源将各所述训练分段文本划分成至少一个已知来源训练分段文本集和未知来源训练分段文本集,每个所述已知来源训练分段文本集对应一种简历来源。

具体的,简历来源包括招聘平台、招聘邮箱等。已知来源训练分段文本是指其对应的简历文件通过招聘平台等方式获取,且简历结构具有一致性的训练分段文本。招聘平台提供统一的简历编辑界面,因此,该招聘平台下的简历文件具有相同的简历结构。不同招聘平台具有不同的简历结构,因此,每一个招聘平台可以被认为是一种简历来源,且同一招聘平台下同一类别的训练分段文本可以被划分为同一类已知来源训练分段文本,即一种简历来源下同一类别对应的训练分段文本组成一个已知来源训练分段文本集。需说明,实际应用中,除了招聘平台外,还可以从其他渠道得到具有简历结构一致性的简历文件,实施例仅是以招聘平台为例,进行描述,而非对简历来源进行限定。

未知来源训练分段文本是指不具有一致性简历结构的训练分段文本。例如,用户向招聘邮箱投递的简历,此时,不同用户采用的简历模板可能不同,因此,通过招聘邮箱获取的简历不具有一致性简历结构,对其分段后得到的同一类别下的训练分段文本的简历结构也不具有一致性。此时,招聘邮箱可以被认为是一种简历来源,且该简历来源下的训练分段文本被认为是未知来源训练分段文本。需说明,实际应用中,除了招聘邮箱外,还可以从其他渠道得到不具有简历结构一致性的简历文件,实施例对此不做限定。进一步的,同一类别下各种简历来源对应的未知来源训练分段文本可以组成未知来源训练分段文本集。

步骤162、剔除所述已知来源训练分段文本集及所述未知来源训练分段文本集中各训练分段文本内的第二字段,得到更新后的已知来源训练分段文本集和更新后的未知来源训练分段文本集,所述第二字段通过特征正则表达式匹配得到。

具体的,第二字段是指具有明显特征的字段,可以直接被识别并提取,无需经过文本识别模型进行识别。例如,简历中的邮箱、性别、手机号、工作城市、学历等文本,由于其具有明显的特征,无需经过文本识别模型就可以被识别,因此,可以作为第二字段。

进一步的,为第二字段构建正则表达式,实施例中,将该正则表达式记为特征正则表达式。其中,特征正则表达式的构建规则以及内容实施例不做限定。通过特征正则表达式可以匹配到训练分段文本中的第二字段。

一个实施例中,使用各特征正则表达式对已知来源训练分段文本集和未知来源训练分段文本集中各训练分段文本进行匹配,并确认是否可以匹配到第二字段。若可以匹配到第二字段,则在对应的训练分段文本中删除该第二字段。若未匹配到第二字段,则保持该训练分段文本不变。当每个训练分段文本均被匹配后,可以得到更新的训练分段文本,即得到更新后的已知来源训练分段文本集和更新后的未知来源训练分段文本集。

举例而言,简历中的手机号一般为11位数字,因此,可以基于11位数字的结构构建相应的特征正则表达式,之后,通过该特征正则表达式可以直接在训练分段文本中识别出11位数字的手机号。再举例而言,简历中的邮箱一般为“xx@xx”这样的固定结构,因此,基于该结构构建相应的特征正则表达式,之后,根据该特征正则表达式可以直接在训练分段文本中识别出表示邮箱的文本。

可选的,由于每个特征正则表达式识别出的第二字段具有所属的类别,因此,在使用特征正则表达式进行匹配前,可以先确认训练分段文本对应的类别是否与特征正则表达式对应的类别相同,并在相同时使用特征正则表达式进行匹配。

需说明,识别出第二字段后,也可以保留第二字段,并对其进行标记,以在后续训练文本识别模型时,不对该第二字段进行识别。

步骤163、根据所述简历来源确认更新后的已知来源训练分段文本集对应的简历结构,每种所述简历来源对应一种简历结构。

更新后已知来源训练分段文本集中包含的训练分段文本被用于训练文本识别模型。典型的,对于同一简历来源的已知来源训练分段文本集而言,相同的类别下的训练分段文本具有相同的简历结构。例如,对于“个人信息”类别下某招聘平台的已知来源训练分段文本而言,应聘者名字的前方都写有“姓名”这样的字段,且下一行开头写有“出生年月”这样的字段。当获取某个“个人信息”类别下的已知来源训练分段文本后,确认该已知来源训练分段文本的简历来源为上述招聘平台,那么,便可以确定其为上述所述的简历结构。

步骤164、根据所述简历结构对所述更新后的已知来源训练分段文本集中各训练分段文本添加标签。

具体的,根据简历结构可以设定标签添加规则,并根据标签添加规则在对应的训练分段文本中添加标签。例如,“个人信息”类别下训练分段文本的简历结构为:应聘者名字的前方都写有“姓名”这样的字段,且下一行开头写有“出生年月”这样的字段。此时,“姓名”对应的标签添加规则为:识别训练分段文本中的“姓名”词汇,并获取“姓名”词汇后方的文字,之后,为训练分段文本中“姓名”词汇以及其后方的文本添加“姓名”标签。“出生年月”对应的标签添加规则为:识别训练分段文本中的“出生年月”词汇,并获取“出生年月”词汇后方的数字,之后,为分段文本中“出生年月”词汇以及其后方数字所在的文本添加“出生年月”标签。此时,可以基于上述规则对训练分段文本批量添加标签。需说明,批量添加标签时,同样可以采用正则的方式,即基于标签添加规则设定正则表达式,并基于正则表达式批量匹配对应的字段并添加标签。

步骤165、显示所述更新后的未知来源训练分段文本集中的各训练分段文本,以获取用户根据所述训练分段文本输入的标签。

具体的,对于未知来源训练分段文本集而言,由于其没有固定的结构,因此,无法通过设定标签添加规则的方式为训练分段文本添加标签,此时,可以显示未知来源训练分段文本集中的训练分段文本,以获取用户添加的标签。一个实施例中,简历识别设备具有显示装置(如显示屏),其可以直接显示未知来源训练分段文本集中的训练分段文本。或者是,简历识别设备可以与其他具有显示装置的设备进行数据通信,以通过其他具有显示装置的设备显示未知来源训练分段文本集中的训练分段文本。

显示未知来源训练分段文本集中的训练分段文本后,便可以获取用户为训练分段文本添加的标签。其中,用户添加标签的实现过程实施例不做限定。

图2为本申请实施例提供的标签添加过程示意图,参考图2,对于同一类别下的训练分段文本而言,先确定属于同一简历来源的已知来源训练分段文本集以及未知来源训练分段文本集。之后,对于已知来源训练分段文本集采用通过特征正则表达式提取第二字段以及根据简历来源批量添加标签两种处理方式,对于未知来源训练分段文本集采用通过特征正则表达式提取第二字段以及人工标注标签两种处理方式。

需说明,实际应用中,训练数据集还可以包括不同类别下的全部训练分段文本,此时,标签添加方式与上述方式相同。

步骤170、根据所述训练分段文本以及对应的标签训练所述类别对应的文本识别模型。

具体的,带有标签的训练分段文本可以作为文本识别模型的语料,进而对文本识别模型进行训练。在训练文本识别模型时,可以是将该文本识别模型对应类别下的训练分段文本输入至文本识别模型中,并将文本识别模型的输出结果与训练分段文本对应的标签进行比较,进而根据比较结果调整文本识别模型的参数,直到文本识别模型稳定为止。之后,可以对文本识别模型进行测试,并在文本识别模型测试成功后,可以将该文本识别模型应用在上述的简历识别方法中。

上述,利用每个类别的训练分段文本单独训练文本识别模型,可以提高文本识别模型的泛化能力以及识别的精准率。另外,还可以让文本识别模型并行的预测及提取分段文本中所需字段。

图3为本申请另一个实施例提供的一种简历识别方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,参考图3,本实施例提供的简历识别方法具体包括:

步骤210、将各待识别的简历转换成统一格式的简历文件。

步骤220、对所述简历文件进行数据清洗,以剔除所述简历文件中的无效数据。

具体的,转换格式后的简历文件中会包含一些与应聘信息无关的数据,即无效数据。例如,表示空白的字符、表示编号的字符等。这些无效数据会在后续识别过程中增加数据处理量,因此,在对简历文件处理前,先对简历文件进行数据清洗,以清洗掉无效数据。一个实施例中,可以采用正则的方式清洗无效数据,即针对无效数据的字符设定正则表达式,以通过正则表达式识别出无效数据,进而删除无效数据。

步骤230、利用关键词正则表达式识别所述简历文件中的关键词,每个类别对应一组关键词正则表达式。

一般而言,简历文件中包含个人信息、工作经历、项目经历、教育背景、自我评价、获奖等内容,每类内容均可以设置对应的关键词。例如,工作经历对应的关键词包括:“工作经历”、“工作经验”等。可以理解,由于类别数量有限,且类别的名称具有比较固定的特征,这样使得各类别对应的关键词不多,容易建立和穷举字典。所以,实施例中可以通过设置关键词正则表达式的方式,在简历文件中匹配出相应的关键词。可以理解,每个类别均有对应的关键词正则表达式,且关键词正则表达式的数量通过类别下包含的关键词决定。

步骤240、基于识别到的关键词对所述简历文件进行分块,并将分块后的每个块状文本作为一个分段文本。

一个实施例中,关键词通常位于描述信息的前方或上方,因此,可以将简历文件中位于当前关键词与下一关键词之间的文本,作为当前关键词下的文本。之后,将当前关键词及其对应的分文作为一个分段文本,并基于各分段文本对简历文本进行划分。可以理解,简历文件可以认为是块状文本,其由类别下的文本块组成,因此,分段过程也可以理解为对简历文件进行分块的过程,此时,得到的块状文本可以被认为是分段文本。举例而言,当前关键词为工作经历,下一关键词为项目经历,那么可以将两个关键词之间的文本确定为工作经历下的文本。

图4为本申请实施例提供的分段文本示意图。参考图4,对于一份简历文件而言,分段文本可以通过表格的方式显示,该表格中分段文本包含简历名称、转换前简历格式、简历来源等信息,以及个人信息、工作经历、项目经历、教育背景、培训经历、个人评价、技能的类别。当对某份简历文件分段后,其对应的内容被写入对应的表格中,写入结果如图4所示。此时,通过图4中的表格可以快速确认需要的分段文本。

步骤250、利用特征正则表达式在所述分段文本中匹配具有相应特征的第一字段。

其中,第一字段与第二字段的含义相同,且匹配方式相同,在此不做赘述。

步骤260、根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,并获取所述文本识别模型的输出结果。

具体的,确定分段文本所属的类别,之后,将分段文本输入至所属类别对应的文本识别模型中,并获取文本识别模型输出的结果,实施例中,将该结果记为输出结果。该输出结果是文本识别模型对分段文本进行识别并标记的结果。可以理解,输出结果与分段文本包含的文本内容相同,只是输出结果中包含了对文本的标记。

步骤270、将所述输出结果、所述第一字段以及所述第一字段对应的特征作为所述分段文本的文本识别结果。

具体的,由于第一字段是未经过文本识别模型,直接识别得到的字段,因此,可以直接基于第一字段以及其表示的特征,在分段文本中对其进行标记。例如,第一字段为手机号,那么在分段文本中按照手机号对第一字段进行标记。此时,分段文本中包含第一字段的标记以及文本识别模型的标记,即文本识别结果中包含第一字段的标记以及文本识别模型的标记。需说明,若分段文本中不包含第一字段,则直接将输出结果作为分段文本的文本识别结果。

可以理解,实际应用中,也可以先在分段文本中删除第一字段,之后,经过文本识别模型得到输出结果后,在输出结果中添加第一字段以及对应的标记,进而得到文本识别结果。

步骤280、判断所述文本识别结果中是否存在未被识别的文本。若存在未被识别的文本,则执行步骤290。否则,执行步骤2100。

由于文本识别模型无法识别字数较大的文本,因此,得到文本识别结果,可以确定文本识别结果中是否还有未被识别的文本,即确定文本识别结果对应的分段文本中是否存在未被识别的文本。例如,图5为本申请实施例提供的第一文本识别结果示意图,其为“工作经验”类别下分段文本的文本识别结果。由图5可知,工作经验中,工作时间、职位、公司名称和公司类型都被识别出来,但是工作描述部分由于字数较多未被识别出来。因此,可以确定该文本识别结果中存在未被识别的文本。可选的,在确认文本识别结果中是否存在未被未被识别的文本时,可以设定未被识别的文本的最小字数,若未被识别的文本的最小字数超过最小字数,则确认存在未被识别的文本。若未被识别的文本的最小字数未超过最小字数,则确认不存在未被识别的文本。其中,最小字数可根据实际情况设定。例如,最小字数为20,图5的分段文本中未被识别的文本“运维部”只有三个字数,虽然该文本未被识别,但是其字数小于最小字数,因此,不被确认为未被识别的文本。

步骤290、基于所述文本识别结果对所述未被识别的文本进行标记,并根据标记结果更新所述文本识别结果。执行步骤2100。

若存在未被识别的文本,则需要对未被识别的文本进行标记。在标记前,需要现在文本识别结果中提取出需要标记的未被识别的文本。例如,图5中,虽然工作描述属于未被识别的文本,但是,在判断过程中,仅是基于字数确定其为未被识别的文本,而无法准确定位出其在分段文本中的位置。因此,要先定位需要被标记的文本,一个实施例中,通过文本识别结果定位需要被标记的文本。具体的,基于文本识别结果识别已标记字段的上下文信息,进而确定分界点,并基于分界点对分段文本进行切割,进而得到需要标记的文本。例如,图5中,对于表示工作经验的分段文本而言,每段工作经验基本以公司名称或工作时间作为开头,因此,可以基于文本识别结果在分段文本中查找公司名称和工作时间对应的字段。查找后,根据工作时间与公司名称所在位置,确定工作时间为每段工作经验的开头,因此,可以将工作时间对应的字段作为分界点,并基于分界点进行分割,此时,图5中的分段文本可以被切割成两个子分本。之后,在每个子文本中,查找到未被识别的文本作为需要标记的文本,并对该文本添加标记。其中,在标记前,需要先确定文本表示的内容,其中,表示内容确定方式可以根据实际情况设定,例如,根据历史经验确定所属类别下哪些内容(如图5中的工作描述)无法被文本识别模型识别,并创建对应的标记格式,之后,当确定该类别下分段文本中存在未被识别的文本时,便可以按照已创建的标记格式为其添加标记。标记后更新对应的文本识别结果。例如,图6为本申请实施例提供的第二文本识别结果示意图,其是对图5中未被识别文本进行标记后的文本识别结果,由图6可知,每段工作经验中的工作描述均被标记出来,保证了文本识别结果的准确性。需说明,图5和图6中以标记框的样式不同区分不同的内容,实际应用中还可以通过标记框颜色等方式区分不同的内容。

步骤2100、根据所述文本识别结果得到所述简历文件的简历识别结果。

下面对本实施例提供的技术方案进行示例性描述。图7为本申请实施例提供的简历识别方法示例流程图。本实施例中,简历文件的类别包含个人信息、工作经历、项目经历、教育背景以及其他,其他中可以包含自我评价、技能及获奖等内容。每个类别对应一个文本识别模型。

具体的,参考图7,获取大量待识别的简历后,通过开源的解析包将其转换为txt格式的简历文件。之后,清洗简历文件,通过关键词正则表达式对简历文本进行分段,此时,得到的分段文本可以包含个人信息、工作经历、项目经历、教育背景、自我评价、技能及获奖等内容。之后,确认分段文本中的第一字段,并将分段文本按照所属类别发送至对应的文本识别模型中,得到输出结果,进而基于输出结果和第一字段得到分段文本的文本识别结果,可以理解,分段文本不包含第一字段时,图7中第一字段的内容可以为空。之后,若根据文本识别结果确定分段文本中不包含未被识别的文本,则直接将文本识别结果作为最终的文本识别结果。若根据文本识别结果确定分段文本中包含未被识别的文本,则基于文本识别结果提取未被识别的文本并进行标记,以得到最终的文本识别结果。进而,基于各文本识别结果得到简历识别结果。

上述,通过将各待识别的简历转换成统一格式的简历文件,之后,对简历文件进行数据清洗,以剔除简历文件中的无效数据,以避免无效数据影响后续处理过程,之后,利用关键词正则表达式对清洗后的简历文件进行分段,以将简历文件识别变为分段文本识别,之后,在分段文本中匹配出第一字段,以减小文本识别模型的数据处理量,并将分段文本发送至对应的文本识别模型中进行识别,进而得到文本识别结果,此时,文本识别模型仅需对所属类别下的分段文本进行识别,提高了文本识别模型的泛化能力以及精准度。并且,若分段文本中包含未被识别的文本,则可以基于文本识别结果对未被识别的文本进行标记,以进一步保证文本识别结果的准确度,进而保证简历识别结果的准确度。

图8为本申请一个实施例提供的一种简历识别装置的结构示意图。参考图8,该简历识别装置包括:格式转换模块301、文件分段模块302、模型识别模块303以及结果获取模块304。

格式转换模块301,用于将各待识别的简历转换成统一格式的简历文件;文件分段模块302,用于对所述简历文件进行分段,以得到分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别;模型识别模块303,用于根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果,每个所述类别对应一个文本识别模型;结果获取模块304,用于根据所述文本识别结果得到所述简历文件的简历识别结果。

上述,通过将各待识别的简历转换成统一格式的简历文件,之后,对简历文件进行分段,每个分段文本对应一个类别,并将分段文本按照所属类别输入至对应的文本识别模型中,以得到文本识别结果,进而基于文本识别结果得到简历文件的简历识别结果的技术手段,可以解决现有技术中由于简历的格式、框架结构不同导致神经网络模型识别简历时的准确度低的技术问题。先将简历转换成统一的格式,便于后续的统一处理,之后,根据类别对简历文件进行分段,且每个类别的分段文本对应一个用于识别的文本识别模型,即文本识别模型仅需要学习相同类别的文本,可以提高文本识别模型的泛化能力,进而提高了简历识别结果的准确性。

在上述实施例的基础上,文件分段模块302包括:关键词匹配单元,用于利用关键词正则表达式识别所述简历文件中的关键词,每个类别对应一组关键词正则表达式;文本分块单元,用于基于识别到的关键词对所述简历文件进行分块,并将分块后的每个块状文本作为一个分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别。

在上述实施例的基础上,还包括:数据清洗模块,用于对所述简历文件进行分段,以得到分段文本之前,对所述简历文件进行数据清洗,以剔除所述简历文件中的无效数据。

在上述实施例的基础上,还包括:文本判断模块,用于根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果之后,判断所述文本识别结果中是否存在未被识别的文本;文本标记模块,用于若存在未被识别的文本,则基于所述文本识别结果对所述未被识别的文本进行标记,并根据标记结果更新所述文本识别结果。

在上述实施例的基础上,模型识别模块303包括:第一字段匹配单元,用于利用特征正则表达式在所述分段文本中匹配具有相应特征的第一字段;文本输入单元,用于根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,并获取所述文本识别模型的输出结果,每个类别对应一个文本识别模型;结果确定单元,用于将所述输出结果、所述第一字段以及所述第一字段对应的特征作为对应分段文本的文本识别结果。

在上述实施例的基础上,还包括:训练集获取模块,用于获取训练数据集,所述训练数据集中包含多个相同类别的训练分段文本;标签添加模块,用于为所述训练分段文本添加标签;模型训练模块,用于根据所述训练分段文本以及对应的标签训练所述类别对应的文本识别模型。

在上述实施例的基础上,标签添加模块包括:文本划分单元,用于根据各所述训练分段文本的简历来源将各所述训练分段文本划分成至少一个已知来源训练分段文本集和未知来源训练分段文本集,每个所述已知来源训练分段文本集对应一种简历来源;第二字段匹配单元,用于剔除所述已知来源训练分段文本集及所述未知来源训练分段文本集中各训练分段文本内的第二字段,得到更新后的已知来源训练分段文本集和更新后的未知来源训练分段文本集,所述第二字段通过特征正则表达式匹配得到;结构确定单元,用于根据所述简历来源确认更新后的已知来源训练分段文本集对应的简历结构,每种所述简历来源对应一种简历结构;标题创建单元,用于根据所述简历结构对所述更新后的已知来源训练分段文本集中各训练分段文本添加标签;标签获取单元,用于显示所述更新后的未知来源训练分段文本集中的各训练分段文本,以获取用户根据所述训练分段文本输入的标签。

在上述实施例的基础上,所述文本识别模型采用bert-bilstm-crf模型。

本实施例提供的简历识别装置包含在简历识别设备中,且可用于执行上述任意实施例提供的简历识别方法,具备相应的功能和有益效果。

值得注意的是,上述简历识别装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

图9为本申请一个实施例提供的一种简历识别设备的结构示意图。如图9所示,该简历识别设备包括处理器40、存储器41、输入装置42以及输出装置43;简历识别设备中处理器40的数量可以是一个或多个,图9中以一个处理器40为例;简历识别设备中的处理器40、存储器41、输入装置42以及输出装置43可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的简历识别方法对应的程序指令/模块(例如,简历识别装置中的格式转换模块301、文件分段模块302、模型识别模块303以及结果获取模块304)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行简历识别设备的各种功能应用以及数据处理,即实现上述的简历识别方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据简历识别设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至简历识别设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置42可用于接收输入的数字或字符信息,以及产生与简历识别设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备以及其他数据输出设备。

上述简历识别设备可以用于执行任意实施例提供的简历识别方法,具备相应的功能和有益效果。

本申请一个实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种简历识别方法,该方法包括:

将各待识别的简历转换成统一格式的简历文件;

对所述简历文件进行分段,以得到分段文本,每个所述简历文件对应至少两个分段文本且每个分段文本对应一个类别;

根据所述分段文本的类别将所述分段文本输入至对应的文本识别模型中,以得到所述分段文本的文本识别结果,每个所述类别对应一个文本识别模型;

根据所述文本识别结果得到所述简历文件的简历识别结果。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的简历识别方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1