您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 求职简历 > 智能简历识别系统的研究和实现
智能简历识别系统的研究和实现陈川波北京邮电大学,北京(100876)E-mail:ctccbo@gmail.com摘要:针对半格式化文本,通过文字识别技术,如:匹配、关联性分析、统计等方法将可能存在的目标信息识别出来,实现机器智能化识别;并且按照预定义进行格式化,将文本进行解析、分类,存入数据库中。关键词:半格式化,元,项,正则匹配,关联性,统计1.半格式化文本特征分析简历是一种典型的半格式化的文本,其文本组织方式与普通文本不同,具有一定的格式,但与严格的格式文本不同,这种格式是相对的,比较松散,具有一定的自由度[1]。这里的简历不包括求职信这样的文本。这种半格式化文本具有以下几个特点[1]:1、从内容组织上看,整个文本是由若干离散的、具有独立完整意义的文本段(可能是词、短语、句子或段落)按作者的逻辑思维顺序组成,这些离散文本可以称之为组成半格式化文本的“元”(element),元与元之间通常会有格式的(如回车、空格、冒号等等)或内容的(如标志性词语)分割标志;2、从内容结构上看,是由若干相对独立的、具有完整意义的“项”(Item)组成。从项的内容上看,每一项体现了作者一个方面的信息;从项的结构上看,一个项至少由一个元组成,而且绝大多数项都具有“标题+内容”的结构(其中标题一般由一个元组成,内容由一个或一个以上的元组成),标题用于表示信息类别,内容表示具体信息。例如“姓名:张三”这一项中,内容上反映了作者的姓名信息,结构上,“姓名”是该项的标题,“张三”是该项的内容,少数项只有内容而没有标题,但是,这种项的内容通常暗含了项的类别,具有标题的特点,例如:“男”,既包括了作者性别方面内容,也暗含了性别这个类别;3、从项的内容特点上看,所有项可以分成两大类:基本项和复杂项。基本项是指该项的内容通常只有一个元,从格式上看,通常是“一个标题元+一个内容元”的形式(一对一);复杂项是指其内容可能由多个独立意义的词、短语、句子或段落组成,通常是“一个标题元+多个内容元”的形式(一对多);4、大多数简历可以大致分块。通常基本项具有聚合性的特点,即大多数情况下基本项在简历中的分布集中于一个或两个集中的区域里,而且通常是文本首尾区域,极少出现散布在整个简历中的情况,这与人们的写作习惯和逻辑思维是一致的;同一内容范围的复杂项通常集中分布在简历中的一个区域内,并且一般的情况下会有特别的标识信息,如工作经验,通常会在某一个文本块中集中出现,而其他地方不出现;5、从文本内容标识性的强弱上看,所有元可以分为三类:强标识、弱标识、无标识。强标识是指,从元的文本内容上就可以依较大概率(50%以上,该概率根据样本统计得到)判断该文本的所属类别,一般的说,标题元和少部分内容元是这种类型,因为标题通常是用来表示类别的,如“姓名”;另外,少部分内容元因为其内容的特殊性,具有标识类别的效果,如“男”、“ct_bupt_pris@163.com”等等;弱标识是指,可能属于多个类别或者不具有标识类别的效果,但是结合前后文已标识的文本,可以判断出其类别的元,例如:元“北京邮电大学”在前文是毕业院校是,即是毕业院校类别的内容,若前文是工作单位,则它是工作单位的容,造成这个的原因,通常来说是因为“大学”这个关键字,既可以表示毕业院校、也可能是一个工作单位;无标识是指,该元不具有标识其类别的特点,也不能通过上下文来判别其类别,通常来说是因为不含有任何必要关键字造成的,例如一些存在于简历中的诗句和宣言。6、从整个文本的组织顺序上看,一般的,文本中全部元都是按照正常的思维写作次序排列,这就决定了我们可以找到一些元与元之间的关联规则用以一些识别策略,且可以保证这些策略的可靠性较高。2.智能简历识别系统研究2.1研究目标智能简历分析技术,是指通过计算机自动对求职者的简历进行版面分析,按照预先设定的目标字段,识别、抽取求职者的相应的信息(如果简历中有目标信息,则将其提取出来),完成简历的自动阅读,并将提取后简历的信息分析、格式化后自动入库。对于抽取的信息,按提取的准确度,又分成两个级别:对于求职者的基本信息,如姓名、年龄、性别等,需要完全准确抽出;对于描述信息,如工作经验、自我评价等等,要求达到较准确的抽取,保留作者主体意思即可,不需要逐字对应。图2-1半格式化简历文本信息分类2.2简历识别方案概述2.2.1基本思想对一篇简历,采用二级识别方法。从第一部分的分析可以看出,简历可以分为几个大的部分:一个基本信息模块和多个复杂信息模块。在第一级识别中,我们把每一条基本信息看作一个目标识别单元,复杂信息模块按整体看作一个目标识别单元,例如:在这种情况下姓名字段和工作经历模块都看作一个层次的识别目标,而不将工作经历中的子字段(如工作起止时间)看作第一次的识别目标;第二级识别时,针对复杂信息模块,进一步识别,最终识别出所需要的全部子字段。简历文本基本信息一般具有明显的位置关联特点或明显的结构组成特点。如姓名、性别、年龄、电话号码,电子邮件等,需要准确抽取。复杂信息,特别是描述性信息,往往达不到完全准确的效果,但是这类信息也没必要,我们只需要确保大致准确即可。具体流程对于一篇简历,采取如下的流程进行处理:1、根据特征4,将word简历分块处理;2、根据特征1,将每一块内容进行了分割处理,文本成为一个链表,每个链表节点都是记录一个元;3、根据特征3,将文本分成两部分处理(基本信息和复杂信息);4、对处理的文本再进行一次回溯处理,找出第一次未能分析的内容;5、针对重点字段再解析。2.3Word简历分块算法2.3.1分块算法描述1.根据样本统计,确定word简历中有较大概率出现且能找到明确强标识界限标志的模块,如:教育经历模块,工作经历模块、自我评价模块等等;2.将能标识这些模块的词或短语以正则表达式的形式存入字典,形成预设值;3.通过匹配的方法,找出目标简历中相关的分割标志,得到预设值集合;4.统计已知标志的特征信息,得到分割标志的一般特征向量;5.计算每一段落的文本向量和特征向量的夹角;6.当夹角小于阈值,我们认为该段落也是分割标志,反之,不是分割标志。2.3.2算法实现根据样本统计,一般的说,简历大都包含如下几个符合条件的模块:教育经历、培训经历、工作经历、项目经历、自我评价、技能技巧、兴趣爱好、奖励。以这些字段的正则表达式作为先验模块的界限,逐段去搜索简历中的相关段落,如果搜索结果集为空,则算法退出,分块算法失败;在大多数情况下结果集不为空,然后以集合中元素(符合条件的段落)为基础,统计如下参量[6]:字体大小、字体类别、粗体字数、斜体字数、首行缩进、段落平均长度。然后根据参量的重要性(我认为重要性依次递减)确定每个参量的权值,权值乘以统计值即是该参量对应的特征值,这样就得到一个长度为六的特征向量({字体大小、字体类别、粗体、斜体、首行缩进、段落平均长度});然后统计未识别段落的对应向量,计算两个向量的夹角,如果小于阈值(在本系统中为15度)的,则认为也是分块标志,否则反之。值得注意的是,对于包含表格的简历,认为表格是天然的分块标志,对每个单元格进行标准化,去掉我们不需要的字符(字母、数字、中文、回车、空格以外的字符),就得到分块结果。2.3.3算法评估1、向量长度对算法影响:该算法适合doc文档简历和txt文本简历,但前者效果更好,特征向量长度可以达到六,而后者只能达到3(字体大小、首行缩进、段落平均长度),通过对60份简历(20份好简历、20份一般简历、20份坏简历,其中好简历是指格式规范、层次感强、不通过文本内容仅凭格式就能讲其分块的简历,一般简历是指需要借助文本内容,可以较快分块的简历,坏简历是指没有格式,只能靠语义理解来分块的简历)的测试,发现在好简历的情况下,特征向量的长度对分块效果的影响不大(长度为1例外),一般简历的情况下,特征长度在4—6的情况下效果最好,坏简历的情况下长短都基本实效,如下图(横轴是特征向量选取的长度,必须是有效元素,即{字体大小、字体类别、粗体、斜体、首行缩进、段落平均长度、带有编号的段落数目}中的一部分或全部,纵轴是正确分块的数目占应分块数目的百分比);图2-2好简历图2-3一般简历0%2%4%6%8%10%12%1234567Series1图2-4坏简历0%10%20%30%40%50%60%70%80%1234567Series1、预设值集合对算法的影响:根据预设值,可以从简历中搜索到一个分块标志集合,这个集合称为预设值集合。预设值集合对本算法影响至关重要。它应当是所有分块标志组成集合的子集,对算法的影响如下:A、该集合不能为空集,否则算法失败;B、该集合中的误差主要有两类:内部误差和外部误差。内部误差是指,由于简历书写不规范,找到的分块标之间不一致引起的特征向量误差,如:A、B两个分块标志,在书写规范的情况下,特征向量中字体大小、字体类别、粗体、斜体、首行缩进应该一致,段落平均长度也应该在容许偏差之内,但是如果简历书写不规范,各个参量都可能不一致,这种误差就是内部误差。外部误差是指,由于预设值不合适,把不是分块标志的文本选入预设值集合而引起的误差称为外部误差。一般的,内部误差是统计误差,当预设值集合越大,平均误差越小;外部误差是认为误差,是预设值设计不合理(如字段选取不合理、正则表达式设计不合理等等)引起的,这种误差通过精细的设计可以尽力避免;对上述两种误差的处理有时候是矛盾的,一方面,为了分散内部误差,通常可以把预设字段范围扩大,同时每个字段的正则表达式涵盖范围也尽量扩大,但是这样容易引入外部误差,因为待搜寻范围越大,越容易引入外部误差。在设计系统时,采取了“防止外部误差优先,然后尽力减小内部误差”的策略,因为通常后者的影响较大;C、对于好、中、坏三种简历内部误差依次递增,所以预设值范围也逐渐递增,这样,外部误差也逐渐递增,所以总误差逐渐递增,因为一般简历占简历总数的绝大部分,所以,“算法设计”中的设计主要针对这部分简历,同时可以涵盖好简历,不适合坏简历。3、特征向量构造及夹角:特征向量构造过程如下:选择合适的参量(本系统中选取上述六个参量)---〉确定每个参量的权值---〉计算各个参量的统计值---〉统计值乘以权值得到特征向量特征向量体现了分割标志的特点,计算夹角是判定未知文本与已知文本的相似性,当相似程度达到一定程度时,我们认为未知文本也是分割标志。2.4分割算法2.4.1分割算法描述1、规整输入文本,确定分割符;2、规整分割符;3、分割文本;4、修正分割结果2.4.2分割算法实现1、规整输入文本:对输入文本中的字符做处理,保留英文、数字、中文字符、标点符号(冒号除外),对于其他字符认为是元与元的分割标志。分割标志以两级的形式出现:回车、冒号、特殊符号(如星号等)为一级分割符,空格为二级分割符号[1];2、二级分割符分类处理:由于空格在简历中有多重作用,可以用于元分割,也可以用于修饰文本格式,满足美观的要求,还可以位于英文单词之间。所以必须要甄别空格的不同用法,做相应的处理。如果把起非分割作用的空格称为特殊空格,则本系统中针对它们的算法主要有:(1)、孤悬点处理[4]:孤悬点是指,如果一个汉字的前后都是空格,则该字符称为孤悬点,一般的讲,孤悬点主要作用是格式作用,如:“出生年月”,少部分是具有具体的意义,如“男”,“女”和民族字,但是后者的范围小,可以用枚举的方法确定,所以在除去后者的情况,第一种情况下的孤悬点一律前向合并,例如“出身年月”合并为“出身年月”;(2)、英文之间的空格保留:英文之间的空格包括:英文之间、英文与数字之间、数字与数字之间、数字/英文与汉字之间的空格[1];3、按照分割符号将原文本分成若干元,
本文标题:智能简历识别系统的研究和实现
链接地址:https://www.777doc.com/doc-953927 .html