Inspiration
I hate reading through job descriptions and trying to figure out what skills they are looking for in a developer amidst the shameless self-promotion and flagrant buzz-word spamming. So I decided to train a custom AI model to do so, and ended up building a whole AI training UI in the process!
What it does
Nina allows a user to generate training code for custom MITIE models. It is project-agnositic, meaning it can be used to generate code for any kind of MITIE NER custom model.
Lumbergh is a custom trained MITIE model which parses through a job description and pulls out the required developer skills.
How I built it
I build Nina using HTML, CSS, and JS (jQuery + Vue.js)
For Lumbergh I used MITIE, a deep learning library that is designed for perfoming Named Entity Recognition. I used Nina to generate custom MITIE training code, and then trained a model based on data which I pulled from the Indeed.com API and tagged by hand
Challenges I ran into
Initially the model I designed was far too complex, and lead to very long AI training times (the first training session took an hour and a half, and that was only for 8 data sets!). I then simplified the model to pull just one entity instead of 3. This not only lowered the training time, but it ended up leading to a more accurate model
Accomplishments that I'm proud of
The accomplishment I am most proud of is the F1-Score I obtained on the custom model after optimizing it. An F1 score is a measure of accuracy for models. The highest F1 score I achieved was 91.2% on my final model.
What I learned
I had never used machine learning before this weekend, I learned a ton about how deep learning and NER work behind the scenes. I also learned Vue.js for the first time to build the front end.
What's next for Nina & Lumbergh
The plan is to continue improving the accuracy of Lumbergh and eventually use it as a feature in another app of mine called ResOptim, which automatically optimizes resumes based on a set of skill criteria. Currently Lumbergh is only trained on a dataset of 25 job descriptions, I would like to push that up to 100.
I plan to release Nina as a standalone tool to make generating MITIE model code easier for everyone who is working on NER models, as there are currently no good GUIs for that process
Built With
- html
- javascript
- mitie
- python
- vue
Log in or sign up for Devpost to join the conversation.