CoolFace
Datasetpublic

Careerflow/ResumeExtractBench

ResumeExtractBench ResumeExtractBench is a benchmark for schema-guided structured extraction from resume documents. Given a resume PDF and a JSON Schema, systems must return structured data covering personal details, work history, education, skills, and more. Dataset Size: 38 documents (handwritten + adversarial distractors) Schema Sections Scored: 9 (basics, experience, education, projects, summary, certifications, awards, volunteering, skills) Domains: 6 (engineering… See the full description on the dataset page: https://huggingface.co/datasets/Careerflow/ResumeExtractBench.

sourceHugging Facecc-by-4.0updated 1d agoView on Hugging Face
0likes64downloads
schema.json283 linesDownload Raw Back to root
1{2  "$schema": "http://json-schema.org/draft-07/schema#",3  "$id": "resume_v1",4  "x-benchmark-version": "1.0",5  "type": "object",6  "properties": {7    "basics": {8      "type": "object",9      "description": "Basic personal and contact information",10      "properties": {11        "fname": {12          "type": ["string", "null"],13          "description": "First name of the person. Split the full name into first and last — everything before the final surname token is the first name (e.g. 'Jean Marie' from 'Jean Marie Schiraldi')."14        },15        "lname": {16          "type": ["string", "null"],17          "description": "Last name (surname) of the person. The final surname token from the full name (e.g. 'Schiraldi' from 'Jean Marie Schiraldi')."18        },19        "email": {20          "type": ["string", "null"],21          "description": "Primary email address"22        },23        "phone": {24          "type": ["string", "null"],25          "description": "Phone number exactly as written in the resume, including country code if present"26        },27        "city": {28          "type": ["string", "null"],29          "description": "City from the person's location (e.g. 'New York' from 'New York, NY, USA'). Extract only the city name, not state or country."30        },31        "state": {32          "type": ["string", "null"],33          "description": "State, province, or region from the person's location (e.g. 'NY' from 'New York, NY, USA'). Extract only the state/province, not city or country."34        },35        "country": {36          "type": ["string", "null"],37          "description": "Country from the person's location (e.g. 'USA' from 'New York, NY, USA'). Extract only the country name."38        },39        "hasPersonalPhoto": {40          "type": ["boolean", "null"],41          "description": "true if the resume contains a personal profile photo or headshot. false if there is no personal photo. Look for embedded images that appear to be portrait/headshot photographs of a person, typically near the top of the resume or in a sidebar. Do not count logos, icons, decorative graphics, or certification badges."42        }43      }44    },45    "experience": {46      "type": "array",47      "description": "Structured roles from experience sections. Only include roles from dedicated work-history sections with employer, title, dates, and responsibilities. Never include roles inferred from narrative summary, profile, or objective sections.",48      "items": {49        "type": "object",50        "properties": {51          "company": {52            "type": ["string", "null"],53            "description": "Name of employer or company"54          },55          "position": {56            "type": ["string", "null"],57            "description": "Job title or role only, copied exactly from a structured experience entry. Do not take titles from narrative summary/profile/objective sections, and do not append text from dates, locations, or other fields."58          },59          "startMonth": {60            "type": ["integer", "null"],61            "description": "Month the role started as an integer 1-12 (e.g. January = 1, December = 12). Parse from date strings like 'May 2025' -> 5. Null if no start month is stated."62          },63          "startYear": {64            "type": ["integer", "null"],65            "description": "Year the role started as a 4-digit integer (e.g. 2025). Parse from date strings. Null if no start year is stated."66          },67          "endMonth": {68            "type": ["integer", "null"],69            "description": "Month the role ended as an integer 1-12. Null if the role is ongoing or no end month is stated."70          },71          "endYear": {72            "type": ["integer", "null"],73            "description": "Year the role ended as a 4-digit integer. Null if the role is ongoing or no end year is stated."74          },75          "currentlyWorkHere": {76            "type": ["boolean", "null"],77            "description": "true if this is the person's current role (end date is 'Present', 'Current', or ongoing). false otherwise."78          },79          "city": {80            "type": ["string", "null"],81            "description": "City where the role is located (e.g. 'New York' from 'New York, NY'). Null if no city is stated."82          },83          "country": {84            "type": ["string", "null"],85            "description": "Country where the role is located. Null if no country is stated."86          },87          "description": {88            "type": "array",89            "items": {"type": "string"},90            "description": "Array of individual bullet-point achievements or responsibilities. Each array element is one bullet. A bullet may wrap onto multiple visual lines; keep continuation lines in the same element. Strip bullet symbols (-, *, etc.) but preserve the complete visible text."91          }92        }93      }94    },95    "education": {96      "type": "array",97      "description": "List of formal education entries — degrees, diplomas, and academic programs from universities, colleges, and schools. Do NOT include professional certifications, licenses, training courses, workshops, or professional memberships here — those belong in the certifications section.",98      "items": {99        "type": "object",100        "properties": {101          "institution": {102            "type": ["string", "null"],103            "description": "Name of the educational institution (university, college, or school)"104          },105          "area": {106            "type": ["string", "null"],107            "description": "Field of study or major"108          },109          "studyType": {110            "type": ["string", "null"],111            "description": "Type of degree or diploma (e.g. Bachelor's, Master's, PhD, Associate's, High School Diploma)"112          },113          "score": {114            "type": ["string", "null"],115            "description": "GPA, grade, or other academic metric"116          },117          "startMonth": {118            "type": ["integer", "null"],119            "description": "Month study began as an integer 1-12. Null if no start month is stated."120          },121          "startYear": {122            "type": ["integer", "null"],123            "description": "Year study began as a 4-digit integer. Null if no start year is stated."124          },125          "endMonth": {126            "type": ["integer", "null"],127            "description": "Month study ended as an integer 1-12. Null if still studying or no end month is stated."128          },129          "endYear": {130            "type": ["integer", "null"],131            "description": "Year study ended as a 4-digit integer. Null if still studying or no end year is stated."132          },133          "currentlyStudyHere": {134            "type": ["boolean", "null"],135            "description": "true if currently studying here (end date is 'Expected', 'Present', or 'Current'). false otherwise."136          },137          "city": {138            "type": ["string", "null"],139            "description": "City where institution is located"140          },141          "country": {142            "type": ["string", "null"],143            "description": "Country where institution is located"144          },145          "description": {146            "type": "array",147            "items": {"type": "string"},148            "description": "List of education bullet points — coursework, honors, activities, etc. Do NOT include information already captured in other fields (score, institution, area, studyType, dates)."149          }150        }151      }152    },153    "projects": {154      "type": "array",155      "description": "List of projects from dedicated project sections",156      "items": {157        "type": "object",158        "properties": {159          "name": {160            "type": ["string", "null"],161            "description": "Name or title of the project"162          },163          "description": {164            "type": "array",165            "items": {"type": "string"},166            "description": "List of project bullet points — details, technologies used, and accomplishments. Each array element is one bullet."167          },168          "startYear": {169            "type": ["integer", "null"],170            "description": "Year the project started as a 4-digit integer. Null if no start year is stated."171          },172          "endYear": {173            "type": ["integer", "null"],174            "description": "Year the project ended as a 4-digit integer. Null if the project is ongoing or no end year is stated."175          },176          "url": {177            "type": ["string", "null"],178            "description": "Project link or repository URL, if present in the resume."179          }180        }181      }182    },183    "personalSummary": {184      "type": ["string", "null"],185      "description": "The candidate's professional summary, profile, or objective. Preserve paragraph boundaries from the source using double newlines between paragraphs. If the source section is written as bullets, preserve each bullet as a list item rather than collapsing into prose. Do not merge multiple paragraphs into one block."186    },187    "certifications": {188      "type": "array",189      "description": "Extract all certifications, licenses, and professional credentials mentioned anywhere in the resume — from dedicated certification sections, education sections, or standalone mentions.",190      "items": {191        "type": "object",192        "properties": {193          "name": {194            "type": ["string", "null"],195            "description": "Name of the certification"196          },197          "issuer": {198            "type": ["string", "null"],199            "description": "Organization that issued the certification"200          },201          "date": {202            "type": ["string", "null"],203            "description": "Date of certification as written in the resume"204          }205        }206      }207    },208    "awards": {209      "type": "array",210      "description": "Extract awards, honors, and recognitions from dedicated awards/honors sections. Only include named awards or formal recognitions — not job accomplishments from experience bullets or volunteer positions.",211      "items": {212        "type": "object",213        "properties": {214          "title": {215            "type": ["string", "null"],216            "description": "Name of the award"217          },218          "awarder": {219            "type": ["string", "null"],220            "description": "Organization that granted the award"221          },222          "date": {223            "type": ["string", "null"],224            "description": "Date of award as written in the resume"225          }226        }227      }228    },229    "volunteering": {230      "type": "array",231      "description": "List of volunteer positions from dedicated volunteering, community involvement, or board membership sections. Only include genuine volunteer roles — not student clubs, extracurricular activities, sports, or workshop attendance.",232      "items": {233        "type": "object",234        "properties": {235          "organization": {236            "type": ["string", "null"],237            "description": "Name of the volunteer organization"238          },239          "position": {240            "type": ["string", "null"],241            "description": "Volunteer role or title"242          },243          "description": {244            "type": "array",245            "items": {"type": "string"},246            "description": "List of volunteering bullet points. Strip bullet symbols but preserve the complete visible text."247          },248          "startYear": {249            "type": ["integer", "null"],250            "description": "Year volunteering started as a 4-digit integer. Null if no start year is stated."251          },252          "endYear": {253            "type": ["integer", "null"],254            "description": "Year volunteering ended as a 4-digit integer. Null if still volunteering or no end year is stated."255          },256          "currentlyVolunteerHere": {257            "type": ["boolean", "null"],258            "description": "true if currently volunteering here. false otherwise."259          }260        }261      }262    },263    "skills": {264      "type": "array",265      "description": "List of skill categories extracted from the resume. If the resume already groups skills under category headings (e.g. 'Tools: Git, Docker'), preserve that structure exactly.",266      "items": {267        "type": "object",268        "properties": {269          "category": {270            "type": ["string", "null"],271            "description": "Skill category or group name. FIRST check if the resume already has categories in the format 'CategoryName: Skill1, Skill2, ...' (e.g. 'Programming Languages: Python, Java'). If existing categories are found, use those exact category names. If the resume lists skills as a flat or comma-separated list without explicit category labels, use 'Skills' as the default category name. Do NOT use the section heading as a category name. Do not use a single skill name as the category."272          },273          "skills": {274            "type": "array",275            "items": {"type": "string"},276            "description": "List of individual skills in this category. Skills should be concise keyword-style items, e.g. 'Python', 'Project Management', 'Statistical Process Control (SPC)'. Do NOT include full sentences or competency statements. Only include skills explicitly present in the resume — no guessing or inventing. Preserve original casing. Each skill must appear in exactly one category. Do not repeat a skill across categories."277          }278        }279      }280    }281  }282}283