ljnktjnk / Resume-NER

Applying BERT for named entity recognition on resumes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Resume-NER

About

This repository applies BERT for named entity recognition on resumes. The goal is to find useful information present in resume.

Requirements

pip3 install -r requirements.txt

Training

To train model use:

python3 train.py

optional arguments:

-e epochs         number of epochs

-o path             output path to save model state

Flask REST API

python3 app.py

API will be live at localhost:5000 endpoint predict.

cURL request

curl --location --request POST 'http://localhost:5000/predict' --form 'resume=@/resume-path.pdf'

Output:

{
  "entities": [
    {
      "entity": "Name",
      "start": 3,
      "end": 19,
      "text": "Ayush Srivastava"
    },
    {
      "entity": "Designation",
      "start": 22,
      "end": 35,
      "text": "Web Developer"
    },
    {
      "entity": "Degree",
      "start": 50,
      "end": 56,
      "text": "B.Tech"
    },
    {
      "entity": "Years of Experience",
      "start": 72,
      "end": 73,
      "text": "3"
    },
    {
      "entity": "College Name",
      "start": 937,
      "end": 943,
      "text": "JSSATE"
    },
    {
      "entity": "Degree",
      "start": 955,
      "end": 961,
      "text": "B.Tech"
    },
    {
      "entity": "Graduation Year",
      "start": 964,
      "end": 968,
      "text": "2016"
    },
    {
      "entity": "Skills",
      "start": 1188,
      "end": 1219,
      "text": "○ Designing (UI/UX & Photoshop)"
    },
    {
      "entity": "Skills",
      "start": 1221,
      "end": 1251,
      "text": "○ Web Development (HTML & CSS)"
    },
    {
      "entity": "Skills",
      "start": 1287,
      "end": 1323,
      "text": "ReactJS, Gatsby, jQuery, JavaScript,"
    },
    {
      "entity": "Skills",
      "start": 1326,
      "end": 1360,
      "text": "HTML, CSS, Materialize, Bootstrap,"
    },
    {
      "entity": "Skills",
      "start": 1373,
      "end": 1378,
      "text": "Flask"
    },
    {
      "entity": "Skills",
      "start": 1402,
      "end": 1416,
      "text": "D3, Matplotlib"
    },
    {
      "entity": "Skills",
      "start": 1433,
      "end": 1454,
      "text": "Google Cloud Platform"
    },
    {
      "entity": "Skills",
      "start": 1481,
      "end": 1488,
      "text": "C++, C,"
    },
    {
      "entity": "Skills",
      "start": 1491,
      "end": 1497,
      "text": "Python"
    },
    {
      "entity": "Skills",
      "start": 1511,
      "end": 1521,
      "text": "Oracle SQL"
    }
  ]
}

Links:   Actual Resume      Full Response

Links

Dataset

About

Applying BERT for named entity recognition on resumes.

License:MIT License


Languages

Language:Python 100.0%