In this Major Project our main focus is to build an Interview Management System for digitally managing the interviews of any individual. The admin can view, add and delete all the users (candidates) according to their choice. Interviewer can also add and update interview questions. There are additional features like Resume Parser, and White board to enhance the interview process. In this way the interviewer can easily conduct interviews and select the right candidate.
- To develop a job posting website and a resume scraper, which scrap the data from the resume uploaded on the job website.
- To develop an authentication system for admin and users.
- To develop a video call system to take the interview virtually.
- To develop a code editor inside the interview management system .
- To integrate the resume scrapper which we have already developed, into the interview management system.
Architectural Design of the Project
- Webcam Enabled Device
- PC or Laptop
- Wifi Connection
- Python Environment
- VS Code or PyCharm
- Xampp
- MySQL
- SMTP
- ReactJS Environment
- Firebase
- WebRTC
- Socket
- Browser
The methodology followed in this research involves the following steps:
- Data Collection: The first step was to collect data. For this, we have collected resumes from our classmates. We collected around 50 resumes. The collected data was stored in a database for further processing.
- Preprocessing: The next step was to preprocess the collected data to extract useful information from it. The resumes were parsed to extract the candidate's name, contact details, education, work experience, skills, and certifications.
- Feature Extraction: The extracted data was then used to extract relevant features for each job posting and candidate. This was done using Natural Language Processing (NLP) techniques such as Named Entity Recognition (NER), Part-of-Speech (POS) tagging, and Sentiment Analysis. The features extracted for the job postings included the required skills, experience, and job description. The features extracted from the candidate's resume included the candidate's skills, experience, education, and certifications.
- Score Calculation: Based on the extracted features, a score was calculated for each candidate. This was done using predefined criteria such as matching skills, years of experience, and education level. If the candidate's score exceeded a predefined threshold, the candidate was considered for the next stage.
- Interview Scheduling: An email was automatically sent to the candidate using the Smtplib library of Python. The email has the link and invitation to the virtual interview on the video conferencing platform. The interview schedule was automatically generated based on the candidate's availability and the availability of the interviewer. An admin can also manage interviews.
- Interview Taking: The interview was conducted using the video conferencing platform, which Uses webRTC and Socket.io for API calls and establishing connections between peers and the interviewer could use the code editor to evaluate the candidate's programming skills in real time. For authentication, we are using Google OAuth. The code editor is made using the express framework and JDoodle API. Any code editor API can be used. One can also make its own code editor but that is out of the scope of this research paper, hence we have used already available options.
The details of our research publication are as follows:
B. S. Shahi, A. Jain, M. Goyal and A. Gupta, “NLP-Enabled Interview-Taking System For Job Applicant Screening” 2023 1st International Conference on Computational Intelligence for Information, Security and Communication Applications (CIISCA), India, 2023 (Accepted)
- Ghalwash, D., Elkhateb, A., Elragal, A. (2020). A natural language processing-based system for evaluating job applicants' resumes. IEEE Access, 8, 154501-154510. doi 10.1109/ACCESS.2020.3015113
- Zhang, Y., Sun, S., Wang, Y., Song, X. (2021). A natural language processing-based candidate selection system. IEEE Access, 9, 37827-37839. doi 10.1109/ACCESS.2021.3066324
- Kumar, R., & Chakraborty, S. (2016). A survey on automated resume parsing and standardization of resume data. Journal of Intelligent Information Systems, 46(1), 29-56.
- Singh, S., & Singh, S. (2019). An Overview of Resume Parsing Techniques. International Journal of Engineering and Advanced Technology (IJEAT), 9(1), 68-72.
- Peiretti, M. D., Navarro, L., & Gorgoglione, M. (2021). Covid-19 and remote work: An analysis of the videoconferencing software market. Information Systems Frontiers, 23(2), 375-386.
- Sun, Y., Xie, B., & Liang, Y. (2021). Design and implementation of a mobile video conferencing application based on WebRTC. Journal of Ambient Intelligence and Humanized Computing, 12(4), 3587-3598.
- Wang, Z., Sun, J., & Wang, Z. (2021). A collaborative code editor for teaching computer science. International Journal of Emerging Technologies in Learning (iJET), 16(5), 164-177.
- Lopes, P., & Cruz, D. (2018). Web-based code editors: a comparative study. In International Conference on Information Technology & Systems (pp. 137-148). Springer.
- Kim, M. J., Kim, D. J., & Kim, J. W. (2021). User-oriented design guidelines for employment websites: a content analysis of online job postings. Journal of Information Science Theory and Practice, 9(2), 28-45.
- Christoforou, A., & Leonidis, A. (2021). Exploring the Usability of Recruitment Websites from the Users' Perspective. In Proceedings of the 15th Mediterranean Conference on Information Systems (MCIS 2021) (pp. 1-11).