Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void extractEducationExperience()
        {
            string seg_name = "edu_background";

            if (segmentMap.ContainsKey(seg_name))
            {
                SectionInfo sectionInfo = segmentMap[seg_name];
                EduAnalyzer analyzer    = new EduAnalyzer(resumeContentList, sectionInfoList);

                List <EducationExperienceData> educationExperienceDataList = analyzer
                                                                             .extractEducationExperience(sectionInfo.Start, sectionInfo.End);
                resumedata.EducationExperience = educationExperienceDataList;
            }
            else
            {
                EduAnalyzer analyzer = new EduAnalyzer(resumeContentList, sectionInfoList);
                List <EducationExperienceData> educationExperienceDataList = analyzer.searchEducationExperience();
                resumedata.EducationExperience = educationExperienceDataList;
            }
        }