Due to COVID, the U.S. has lost about 20.6 million of job since March, raising the unemployment rate to 14.7%, a level not seen since the Great Depression (CIDRAP, 2020). Therefore, there are many people who are trying to find a new job to feed their family. Just imagine how disturbing it is to see these people who desperately need a job fall into the trap of scammers and their fake job posts. Not only wasting these poor people their time but the scammers can also steal and sell their personal information as well. Can't stand this unethical behavior, I want to develop a system that can classify a job post whether it is fake or not, helping the job seekers in some extent
What it does
This is a web application that can help users detect whether a job post is fake or not using Machine learning model via AutoML. Not only it can return the classification of the post, but it also shows an interactive graphs that point out which factors (job description, job title, location, etc.) contribute the most to the prediction result. Moreover, I also add a feature that can recommend the user a list of real relevant job posts based on the location and the job title that the user originally put in using Github Jobs API
How I built it
I used Angular framework, Bootstrap, and Chart.js library to create a responsive Single-page application, ensuring a smooth user experience.
I used Express framework to develop the backend server and Google AutoML client to communicate with my trained model deployed on the Google cloud.
For list of recommend jobs, I utilized Github Jobs RESTful API to get real job posts based on the user's inputs.
In order to train my Machine learning model, I used this dataset, pre-processed it, and exported to a new CSV file, which served as the AutoML input.
I hosted the backend on AWS Elastic Beanstalk and frontend on AWS S3 storage
Challenges I ran into
At first, I was implementing my own Machine learning model without the help of AutoML using LSTM and RNN model. However, for some reasons, the model I achieved did not yield a good accuracy and precision/recall score, only 62% for accuracy (probably there was some problem in my pre-processing part). Due to time constraint, I didn't have time to find the root problem and so I used Google AutoML instead, which automatically performed training, evaluating, cross-validation, and hyperparameter optimization for me. After the hackathon, I would love to look back into the issue and try to fix it.
Accomplishments that I'm proud of
Although I had only 2 days to do the project and had to work by myself, I was still able to finish the project on time and implement all the important features of the project as planned. I am pretty proud of this accomplishment :)
What I learned
This is my first time using AutoML framework; therefore, I had to read and look up a lot about this technology.
What's next for Fake Job Detection
I want to implement my own machine learning models instead of depending too much on AutoML. I will definitely do this after the hackathon is over
I want to use different API for fetching recommend job instead of Github Jobs API since it only focuses on technical jobs, i.e. Engineer. Some APIs that I would like to try and play with are Linkedin API and Glassdoor API