PRAGYAN.AI

Unlock the Power of AI:
PRAGYAN for Intelligent and Efficient Results!

About

We're PRAGYAN the AI Lab of VAYUZ Technologies. Guided by our vision of "Intelligence for efficient results," we are dedicated to harnessing the power of Artificial Intelligence to automate processes and maximize efficiency.

At PRAGYAN , we develop and deploy intelligent AI tools and systems to solve real-world problems and inspire innovation across industries and sectors.

Our Background

Born out of necessity, PRAGYAN emerged on January 12, 2024, as a direct response to the challenges encountered by the recruitment department at VAYUZ Technologies. Faced with the daunting task of finding the right talent for roles and the pressing need for faster closures, the team at VAYUZ Technologies recognized the potential of AI to revolutionize the recruitment process.
Initially conceived as a solution to internal recruitment woes, PRAGYAN quickly evolved into something much greater. As its capabilities expanded, PRAGYAN transitioned into the AI Lab of VAYUZ Technologies, leveraging its expertise to develop AI tools not only for in-house products but also for solving real-life problems beyond recruitment.

Insights
Work in progress

Resume Parsing
Resume parsing is the process of converting an unstructured resume document into a structured format that can be easily understood and processed by automated systems. This technology is widely used in recruitment and HR software to streamline the hiring process by automatically extracting relevant information from resumes, such as contact details, work experience, education, skills, and more.
Challenges:
Resume parsing involves several challenges, particularly when dealing with longer resumes. The process can be time-consuming due to the extensive content that needs to be analyzed. To optimize processing, breaking the text into smaller sections, employing parallel processing, and caching intermediate results are effective strategies. Another significant challenge is extracting semantic keywords accurately. Integrating semantic analysis using Natural Language Processing (NLP) tools improves the accuracy of keyword extraction by understanding the context and meaning of the words within the resume.
Utilizing OCR with Tesseract.js:
The second phase integrated Tesseract.js, an OCR tool, to enhance text extraction from images and improve the identification of bold keywords and section names in resumes. Setting up Tesseract.js with Node.js ensured robust image handling capabilities. Additionally, Tesseract workers were configured to accurately extract bold characters, which is crucial for identifying section headers like “Contact Information,” “Education,” and “Work Experience.”
Challenges Faced:
During the integration of Tesseract.js, compatibility issues with Node.js required updates and configuration adjustments to ensure smooth operation. Another challenge was the accurate extraction of bold characters, necessitating precise configuration to differentiate between regular and bold text.
Benefits:
These enhancements significantly improved the system’s accuracy and efficiency. Enhanced section identification allowed for better organization of resume content. Improved accuracy for image-based resumes enabled accurate text extraction from scanned resumes or those with embedded images, broadening the range of effectively parsed resumes. Overall, these advancements have made the resume parsing system more capable of handling diverse resume formats, increasing its utility and effectiveness in various applications.

Resume Semantic Searching Approach with Node.js
Objective:
Develop a semantic search system for resumes using Node.js, focusing on understanding the meaning behind words and phrases to improve the accuracy and relevance of job-candidate matching.
Overview:
Semantic searching involves understanding the context and intent behind the words in both job descriptions and resumes. Unlike traditional keyword-based searches, semantic search aims to comprehend the meaning of the text, allowing for more accurate and relevant matches.
Steps to Implement Semantic Searching:

  • Set Up Node.js Environment:
  • Initialize a new Node.js project.
  • Install necessary packages: npm install express body-parser mongoose natural
  • Data Storage:
  • Use MongoDB to store resumes and job descriptions. Mongoose can be used to define schemas and interact with the MongoDB database.
  • Text Preprocessing:
  • Tokenize the text to break it into individual words or phrases.
  • Use stemming or lemmatization to reduce words to their root forms. The natural library in Node.js provides these functionalities.
  • Vectorization:
  • Convert text into numerical vectors using techniques like TF-IDF (Term Frequency-Inverse Document Frequency) or Word2Vec.
  • For Word2Vec, consider using pre-trained models like Google’s Word2Vec or GloVe.
  • Semantic Analysis:
  • Calculate the similarity between vectors to understand the semantic similarity between job descriptions and resumes.
  • Use cosine similarity or other distance metrics to measure the closeness of vectors.

 

Resume Search Indexing with MongoDB: In addition to the semantic search approach, another method implemented is search indexing using MongoDB. This involves creating indexes on the resume data to enable fast and efficient text search capabilities. When a query is made, the indexed data allows the system to quickly search through resumes for matching text, improving the performance and accuracy of the search results. This approach ensures that resumes containing the input text are retrieved effectively, facilitating better job-candidate matching.

Backend-Driven Job Matching
Objective:
Store various job details in a database categorized by parameters such as skills, education, experience, sections, certificates, and profile summary. Calculate the matching score based on these stored parameters when a resume is uploaded and a job role is selected.
Approach:
In the third phase, the focus was on implementing a backend-driven system for job matching. This approach involved organizing job details into a structured database to facilitate accurate and efficient matching of resumes with job descriptions.
Implementation:

  • Database Design:
  • Created a comprehensive schema for storing job details in the database.
  • The schema included parameters such as skills, education, experience, sections, certificates, and profile summaries, allowing for detailed job parameterization.
  • This structured approach ensured that each job listing was categorized with precise requirements, making the matching process more targeted and effective.
  • Parameter Storage:
  • Stored job details in the database with clear categorization. For example, job skills were stored separately from education requirements and experience details.
  • This separation allowed for fine-grained matching, as each resume section could be evaluated against the corresponding job parameters.
  • Resume Upload and Job Selection:
  • When a resume is uploaded and a job role is selected, the system retrieves the relevant job parameters from the database.
  • The resume is parsed and categorized into similar sections, ensuring a direct comparison with the job requirements.
  • Matching Score Calculation:
  • Developed an algorithm to calculate the matching score based on the retrieved job parameters.
  • The algorithm compared the parsed resume details with the stored job details, assigning scores based on the degree of match for each parameter.
  • This method improved the accuracy of the matching score by considering all relevant aspects of the job description and resume.

Advantages:

  • Improved Accuracy:
  • The detailed parameterization of job descriptions led to more accurate matching scores. By evaluating each resume section against specific job requirements, the system provided a more nuanced and precise match.
  • Increased Efficiency:
  • The backend-driven approach optimized the time required to calculate the matching score. By storing and organizing job details in the database, the system could quickly retrieve and compare relevant information, reducing computation time.

 

Additional Work: Enhanced the system by implementing functionality to extract the years of experience from resumes and validate them against the candidate’s age, ensuring logical consistency. Additionally, worked on extracting graduation percentages and developed logic to convert CGPA and GPA into equivalent percentages, providing a standardized metric for educational qualifications.

Advantages:

Improved Accuracy: The detailed parameterization of job descriptions with percentage scores & experience year led to more accurate matching scores. By evaluating each resume section against specific job requirements with experience and percentage, the system provides more precise match

Enhanced Validation: The experience validation against age and the standardized conversion of academic scores ensured that the matching algorithm operated on consistent and reliable data, further improving the overall accuracy and fairness of the job matching process.