public void extractWorkExperience() { string seg_name = "work_experience"; WorkAnalyzer analyzer = new WorkAnalyzer(resumeContentList, sectionInfoList); if (segmentMap.ContainsKey(seg_name)) { SectionInfo sectionInfo = segmentMap[seg_name]; List <WorkExperienceData> workExperienceDataList = analyzer.extractWorkExperience(sectionInfo.Start, sectionInfo.End); resumedata.WorkExperience = workExperienceDataList; } else { // 从个人基本信息召回 if (segmentMap.ContainsKey("basic_info")) { SectionInfo sectionInfo = segmentMap["basic_info"]; List <WorkExperienceData> workExperienceDataList = analyzer.searchWorkExperience(sectionInfo.Start, sectionInfo.End); // 判断单位是否与学校重复 if (this.resumedata.LatestSchool != null && workExperienceDataList.Count >= 1 && (this.resumedata .LatestSchool.Trim() != workExperienceDataList[0].CompanyName.Trim())) { resumedata.WorkExperience = workExperienceDataList; } } } }
public ResumeData Parse() { try { // pre-process preProcess(); // building education info extractEducationExperience(); // building basic info extractBasicInfo(); // add highest edu-info into basic info if (resumedata.LatestSchool == null || resumedata.LatestSchool.Trim() == "") { if (resumedata.EducationExperience.Count > 0) { EducationExperienceData edu_item = EduAnalyzer .getHighestEduExperience(resumedata.EducationExperience); resumedata.LatestSchool = edu_item.School; resumedata.LatestDegree = edu_item.Degree; resumedata.LatestMajor = edu_item.Major; } } // build work info extractWorkExperience(); WorkExperienceData workData = WorkAnalyzer.getearliestWorkExperience(resumedata.WorkExperience); if (workData != null && workData.StartTime != "") { int workYears = 0; if (workData.StartTime != "") { int workStartYear = Convert.ToInt32(workData.StartTime.Trim().Split(new char[] { '-' })[0]); workYears = DateTime.Now.Year - workStartYear; resumedata.WorkYears = workYears; } } // build except job info extractJobTarget(); // build self-evaluation info extractSelfEvaluation(); // building language-skill info extractLanguageSkill(); } catch (Exception ex) { LoggerWrapper.Logger.Error("简历解析错误", ex); } return(resumedata); }