Python 2.6
最近我在做一些关于简历的文本挖掘工作。这样做的目的是根据简历的标题和内容将简历分成几个部分,然后根据需要对简历进行分类。我们知道简历通常包括以下几部分:
1)个人信息
2)总结
3)技术技能
4)早期项目和经验
5)教育。在
现在我只想建立一个数据库,在那里我有所有简历的每个类别下的简历内容。
结构是这样的:Personal Information Summary Technical Skills Experience/Projects Education
简历1相关信息相关信息相关信息相关信息相关信息
继续2“”
继续3“”
相关信息应为简历中具体章节的内容。
我做了一些研究,最后我的问题归结为确定部分名称。这样做的目的是找出一个节名从哪里开始,下一个节名从哪里开始,这样这个间隔中的文本就在第一个节名下面。问题就在这里。在
问题:假设简历1中有“技术技能”和“经验”两个部分的名称。我们将数据放在两者之间,并放在简历1的技术技能栏下。但是,当我们看简历2时,我们发现相同的部分名称被命名为“软件专业知识”和“早期工作和项目概要文件”,我们无法通过前面使用的关键字提取名称。所以,如果每次我都要为不同的cv提取节,我必须使用不同的节名,而我不能为这些节名泛化代码。在
我试过使用类似词的词典,例如“软技能”的同义词是“技术专长、软件专业知识、技术知识等”。类似的是“学术”、“教育资格”、“教育”,经验、项目和其他部分也一样。但这个列表并不是详尽无遗的,因为人们可以在简历中写下任何东西,所以这些部门的名字可以用其他词来表达。在一个部分下也可以有不同名称的子部分
通常,节名以冒号或分号结尾,我们也可以通过它找到。
这些只是方法,但没有具体的方法来构建我想要的数据库。现在大部分简历都是PDF格式的,所以我先把它们转换成文本,然后再阅读。因此,有时用更大的字体或者可能与简历其他部分不同的部分名称会变成与其他部分相同的字体,因此无法通过这些标准来识别它们。在
这些都是我面临的问题,如果我能有一个通用的算法来选择节名,那么它将大大简化我的工作。我知道这是一个关于编码问题的论坛,自从我开始我的职业生涯以来,它一直对我有很大的帮助,但是如果有人能给我一些关于如何继续的见解,我会把这个贴在这里。我是用Python编写代码的,任何关于R或SAS等其他语言的建议都会有所帮助。大多数情况下,选择节名的通用算法对我来说是最好的。如果有请帮忙主意。通过标记条件随机字段。提前谢谢。在
PS:我已经尝试了NER方法,并将所有格式转换为html来提取标题,但所有的努力都是徒劳的。。。