Resume Analyser Application using NLP Python with Code | Full Responsive Web Application
Summary
TLDRThe video tutorial by Programmer Spidey introduces a 'Smart Resume Analyzer' project which was developed as part of a semester project. The analyzer makes use of Natural Language Processing (NLP) to assess resumes and suggest suitable skills and courses for users to improve on. It simulates the functionality of modern resume-screening software used by companies to ease the hiring process by quickly filtering through numerous applications. The video covers the full working of the project, how it parses resumes to extract essential details like personal information, skills, and experience levels, and how it provides recommendations for skill improvements and courses. The creator further details the technical components, from Python libraries used to explanation of the project code and logic, offering a comprehensive guide that viewers can replicate or modify with the source code available on GitHub.
Takeaways
- ๐ค The project uses NLP to analyze and enhance resume content.
- ๐ Only PDF resumes are currently supported for analysis.
- ๐ Key phrases in the resume help determine relevant skills and fields.
- ๐ The project is built using Python and Streamlit framework.
- ๐ Source code will be shared on GitHub for community collaboration.
- ๐ Resume assessment includes skill and course recommendations.
- ๐ผ Useful for job seekers to align resumes with industry standards.
- ๐ Demonstrates modern techniques used in company resume screening.
- ๐ Offers a tool to compare different resume structures and content.
- ๐ง Encourages viewers to adapt and improve the system via GitHub.
Timeline
- 00:00:00 - 00:05:00
The video introduces a Smart Resume Analyzer project, which automates resume analysis using NLP to shortlist candidates, saving companies time compared to manual resume reading. The project's code will be shared on GitHub.
- 00:05:00 - 00:10:00
The software uses NLP to assess resumes, extracting key details like skills, and uses a sample resume to demonstrate its functionality. Itโs tailored for IT resumes, and the screening is demonstrated using sample downloaded resumes.
- 00:10:00 - 00:15:00
The analyzer extracts key information like name, email, phone number, and assesses the resume level as intermediate. It recommends skills for Android development jobs using NLP. There are minor software bugs noted.
- 00:15:00 - 00:20:00
The software suggests related courses based on the resume assessment and provides tips and suggestions for enhancing the resume. It calculates a resume writing score and suggests improvements to the resume format.
- 00:20:00 - 00:25:00
The video explains how the backend of the system works, including PDF extraction and parsing to identify skills using defined categories. The project was divided into modules to facilitate development.
- 00:25:00 - 00:30:00
The project employs libraries like Pyresparser and PDFMiner to extract data from resumes and convert PDF content into text. The importance of reading documentation for libraries before use is emphasized.
- 00:30:00 - 00:35:00
Resume parsing involves converting resume text using PDFMiner and categorizing content into identifiable sections such as skills and experience. It temporarily stores extracted data for further analysis.
- 00:35:00 - 00:40:00
Machine learning models predict user skills and job matches. It recognizes keywords linked to specific fields, providing course and skill recommendations based on identified sectors like data science or web development.
- 00:40:00 - 00:45:00
A demonstration shows course recommendations for different job fields like Android and data science. Courses provided are predefined and output through a series of logical checks using the resume data.
- 00:45:00 - 00:50:23
Admin functionality includes analyzing user data, generating reports, and visualizing data in charts. The software's utility in assessing various levels of user expertise based on uploaded resumes is discussed.
Mind Map
Video Q&A
What is the Smart Resume Analyzer?
It is a project that uses NLP to analyze resumes and provide recommendations for skills and courses.
Why use NLP for analyzing resumes?
NLP is used to extract and analyze text data from resumes, which helps in determining the most relevant skills and experiences.
What can the Smart Resume Analyzer detect from a resume?
It can detect the user's name, email, phone number, candidate level (e.g., fresher, intermediate, experienced), skills, and recommend further skills and courses.
How does the project recommend skills and courses?
The project matches keywords in the resume with predefined categories like data science, web development, and recommends based on matching fields.
What framework is used for the project?
The project is developed using Streamlit and Python.
What resume formats are supported?
Currently, the system supports only PDF resumes.
What software libraries are used in the project?
The project uses libraries like Streamlit, Pandas, PyPDF2, PyPDFMiner, and Pyresumeeparser.
Is the project available for public use or modification?
Yes, the code will be available on the creatorโs GitHub for others to use and modify.
View more video summaries
The #1 Reason Youโre NOT ATTRACTING HER - Dr. Robert Glover x Dr. Orion Taraban
What Corporate Social Responsibility (CSR) Has Become | Simon Sinek
Epidavros, Greece: Perfect Acoustics - Rick Stevesโ Europe Travel Guide - Travel Bite
Asclepius: The Greek God of Medicine
Once You Learn These Life Lessons, You Will Never Be The Same (Advice From Old People)
What Makes "Generation Z" So Different? | Harry Beard | TEDxAstonUniversity
- 00:00:01welcome back programmer spidey is back
- 00:00:03with one another video in previous video
- 00:00:05we have seen about a movie
- 00:00:06recommendation system using streamlate
- 00:00:09now in this video we are going to learn
- 00:00:10about smart resume analyzer yes
- 00:00:13this project was about uh
- 00:00:15my seventh semester project and now
- 00:00:17after the end of all the semester and
- 00:00:19formalities that i'm going to explain
- 00:00:21this project and reveal the code into my
- 00:00:23github so don't worry guys you will find
- 00:00:25the code link into the github section
- 00:00:28sorry in description
- 00:00:30okay so now what is this project is
- 00:00:32about so this project is about a smart
- 00:00:35resume analyzer guys if you are totally
- 00:00:37new to my
- 00:00:39uh youtube channel then just visit the
- 00:00:41playlist section you will find a lots of
- 00:00:42videos regarding python machine learning
- 00:00:44opencv email processing nlp there are
- 00:00:47lots of things available in to my
- 00:00:49channel so you can just have a look if
- 00:00:51you like then subscribe our machine
- 00:00:52learning hub youtube channel
- 00:00:54okay so now let's talk about
- 00:00:56uh this project this project is about
- 00:00:58smart resume analyzer so what is resume
- 00:01:01analyzer so if you have
- 00:01:04obviously if you are
- 00:01:05if you are like have you sent any resume
- 00:01:08to any companies like
- 00:01:10so basically what companies are
- 00:01:11currently doing they are using some
- 00:01:13softwares resume screening software
- 00:01:15basically this
- 00:01:16uh
- 00:01:17around five or ten years back what they
- 00:01:19were doing is like
- 00:01:20uh getting the 1000 resume read each and
- 00:01:24every person's resume by one by one it
- 00:01:26is time consuming process right so
- 00:01:28nowadays this hacker rank hacker or
- 00:01:30there are many companies that are
- 00:01:32providing resume screening softwares so
- 00:01:34basically they will take a 1000 resume
- 00:01:36now that software will analyze the best
- 00:01:39resume of the candidate
- 00:01:41but now uh just the question is how they
- 00:01:44can analyze the best resume
- 00:01:46the answer is nlp natural language
- 00:01:48processing what our resume is containing
- 00:01:51containing our resume is containing some
- 00:01:53text some words and based on that words
- 00:01:56uh that
- 00:01:57smart screening software will consider
- 00:02:00the best resume from the thousand resume
- 00:02:02right so basically they will shortlist
- 00:02:04100 200 the best candidates right and
- 00:02:07based on resume
- 00:02:09so nowadays you're like lots of people
- 00:02:11telling yeah your resume resumes should
- 00:02:13be in proper manner yes that's the truth
- 00:02:15because no one is going to sing your
- 00:02:17resume right
- 00:02:19they will use the screening software
- 00:02:20right
- 00:02:22okay so now let's see how it is going to
- 00:02:25work okay so i'm just i have downloaded
- 00:02:27some of the samples because i am not
- 00:02:29going to include my resume or
- 00:02:31during that uh making of this project i
- 00:02:33have tried my friend's resume and it is
- 00:02:35working fine on almost each and every
- 00:02:37resume but here now i am not going to
- 00:02:39use any of my friends or my resume also
- 00:02:42because my almost each and every resume
- 00:02:44have every contact details and all that
- 00:02:46i don't want to reveal in any video so
- 00:02:48that currently i'm using
- 00:02:50uh down you downloaded
- 00:02:52like sample resume from the internet
- 00:02:54okay
- 00:02:56so now basically this uh software is
- 00:02:58supporting only currently it is
- 00:03:00supporting only for the in uh it people
- 00:03:03like
- 00:03:04what it will give you just let me upload
- 00:03:06any resume post
- 00:03:08now what it will do
- 00:03:10it will show you the resume post
- 00:03:12just understand as a user your user you
- 00:03:15are uploading your
- 00:03:16resume right
- 00:03:18okay
- 00:03:19so now there are some minor books here
- 00:03:22also like uh so in most of the format it
- 00:03:24is working fine it will show you your
- 00:03:26name but this is a sample resume and you
- 00:03:28can see the this one is looking like a
- 00:03:31name and the so this is a bit confusing
- 00:03:33here
- 00:03:34so that i will explain all the things in
- 00:03:35later but just assume that this is this
- 00:03:38will show you a name like if your name
- 00:03:40is crucial and you are uploading crucial
- 00:03:41resume it will show you hello kushal and
- 00:03:44the same thing it will show you here
- 00:03:45like hello like name email address phone
- 00:03:48number also it is supporting the phone
- 00:03:50number also
- 00:03:51that you have included in your resume
- 00:03:54now based on our nlp analysis uh it is
- 00:03:57saying you are intermediate level
- 00:03:59now skills recommendation like then it
- 00:04:01will find the skills that you have
- 00:04:04right the user have which kind of the
- 00:04:06skill so our uh our library that is
- 00:04:10already that i have included in project
- 00:04:11don't worry i will tell each in
- 00:04:12everything later so this will
- 00:04:14automatically fetch this uh skill set
- 00:04:17from the this resume right
- 00:04:21right
- 00:04:22and that you can skills that you have so
- 00:04:24basically it is the extracted skill from
- 00:04:26the resume right
- 00:04:28now you can see on our uh like our
- 00:04:31analysis say you are looking for android
- 00:04:33app development jobs
- 00:04:35but how
- 00:04:37the android app means how they are good
- 00:04:39like this prediction don't worry i will
- 00:04:41tell you each and everything later now
- 00:04:43skill recommendation if you are going to
- 00:04:45the android uh field then there is a
- 00:04:48this is this is a recommendation like
- 00:04:49android android development flutter
- 00:04:51kotlin
- 00:04:52uh xml java kiwi git git gtc like
- 00:04:56everywhere sdk sqlite so these all are
- 00:04:58the recommended skills
- 00:05:00that is required by the android
- 00:05:02developer right
- 00:05:04now courses recommendation this is the
- 00:05:06amazing thing like it will show you
- 00:05:08around 10 courses you can see if i'm
- 00:05:10going to click on this you can see
- 00:05:12associate android developer course
- 00:05:13flutter
- 00:05:15android basic by google now resume tips
- 00:05:17and trick like awesome you added
- 00:05:19objective
- 00:05:20according to our recommendation please a
- 00:05:21declaration if so basically it is
- 00:05:23scanning all the things related to our
- 00:05:25resume awesome you added hobbies
- 00:05:27according to our recommendation please
- 00:05:29add achievements according to
- 00:05:31recommendation please add a project
- 00:05:33so it will automatically
- 00:05:35find us
- 00:05:36some of the resume pattern so if you
- 00:05:38don't know what is your resume pattern
- 00:05:39like then your resume should have the
- 00:05:42declaration hobbies
- 00:05:44achievements projects if it is not
- 00:05:46available in your project then it will
- 00:05:48automatically lower down your score you
- 00:05:50can see your resume writing score is 40.
- 00:05:53now you can see note this based on your
- 00:05:55content that you have ignore it just
- 00:05:57this is a simple warning message that i
- 00:05:59have printed now bonus video it will
- 00:06:01show you the bonus video also like
- 00:06:02resume tips for jobs and this is the
- 00:06:04title of the video and i just embed one
- 00:06:07video here regarding the resume writing
- 00:06:09tips
- 00:06:10now the second video is about bonus
- 00:06:12video for interview tips so this is the
- 00:06:14second video
- 00:06:16this is all i'm also embedded into my
- 00:06:18system
- 00:06:19here so this is the simple smart resume
- 00:06:22analyzer software it will analyze all
- 00:06:24whole resume and it it is for working
- 00:06:27fine on almost each and every format
- 00:06:29that i have you know gathered my lots of
- 00:06:31friends resume
- 00:06:32and almost it is working fine on each
- 00:06:34and every resume right
- 00:06:37so this is like a little bit a different
- 00:06:39project than another because in other
- 00:06:40words we are getting a 100 percent we
- 00:06:42are expecting a 90 95 percent 100
- 00:06:46accuracy but this project is about to
- 00:06:48like you can see you can do a little bit
- 00:06:50research even you can improve this
- 00:06:52project rather than my version because i
- 00:06:54have done some minor changes here right
- 00:06:56minor changes means i've done so many
- 00:06:58things here like but you can improve the
- 00:07:01this version also right i'm going going
- 00:07:03to give this code so you can improve it
- 00:07:05and you can just update me that code
- 00:07:08into my github so you can just give a
- 00:07:10pull request if any update is there in
- 00:07:12my code right
- 00:07:14so how this all are thing working this
- 00:07:17is the actually we need to understand
- 00:07:19step by step right
- 00:07:21just here just i have show you the like
- 00:07:23how it is working
- 00:07:24now let's see how it is working
- 00:07:27so before starting the project what i
- 00:07:29have done is i just divided those things
- 00:07:32into the modules that always i am like
- 00:07:35making like divide and conquer if you
- 00:07:36know merge sort then obviously you will
- 00:07:38know this term divided so basically i am
- 00:07:41dividing my task and at then i'm get i
- 00:07:43will gather all the things in my project
- 00:07:45is ready
- 00:07:46in movement right
- 00:07:49so first of all task is what i need to
- 00:07:52get the resume
- 00:07:53from the user so you you can use any uh
- 00:07:58framework like you can use jungle flask
- 00:08:01or streamlit so i just i want to be a
- 00:08:03pro head traveler so this is my collared
- 00:08:05project so that's why i chosen to trim
- 00:08:07it right
- 00:08:08so i am using this streamline from box
- 00:08:11it is bit easy to get a resume from the
- 00:08:14user
- 00:08:15now second task is what save the resume
- 00:08:18into system
- 00:08:24third task is what
- 00:08:26currently my system is supporting the
- 00:08:27only pdf resume right obviously your
- 00:08:30resume should have in pdf
- 00:08:32now that this is most important task
- 00:08:35pdf extracting
- 00:08:42so after that pdf extracting now what i
- 00:08:45need to do resume parsing
- 00:08:47because i need to analyze all each and
- 00:08:50everything now
- 00:08:52different skills
- 00:08:54like
- 00:08:55this uh this project is
- 00:08:58means uh going to give you the like four
- 00:09:00four or five recommendation like it will
- 00:09:03give you the data science android uix
- 00:09:06and web development jobs kind of the
- 00:09:07recommendation
- 00:09:09because i've just given some of the
- 00:09:11limited things here
- 00:09:12basically all the things are running
- 00:09:14with the nlp right
- 00:09:16it might be confusing at this moment but
- 00:09:18end of the video you will get a 100
- 00:09:21percent idea that how this project is
- 00:09:22working
- 00:09:24now uh define courses
- 00:09:28and videos
- 00:09:34i don't know why i'm making too much
- 00:09:36spelling mistake today uh the reason is
- 00:09:38that i'm currently in windows and now
- 00:09:41windows is looking a bit weird because
- 00:09:43i'm used to with the ubuntu but because
- 00:09:45this project was located in my windows
- 00:09:47so i just need to come to boot into this
- 00:09:50windows yeah currently actually i'm
- 00:09:51doing a
- 00:09:53job and the company is required to have
- 00:09:56the ubuntu into laptop
- 00:09:59okay so now the uh
- 00:10:01now implement each and every step one by
- 00:10:04one so basically that i am going to
- 00:10:05explain this code full
- 00:10:07okay so now some of the things that i am
- 00:10:09going to use which is trimlet pandas
- 00:10:12base64 time
- 00:10:14now this is the most amazing thing which
- 00:10:16is
- 00:10:16pi arrays person
- 00:10:19and now resume a parser so what i have
- 00:10:22done is i just installed one library
- 00:10:25called piper by resume parser you can
- 00:10:28say like this
- 00:10:30now if you are going to search with this
- 00:10:32so this is the amazing library
- 00:10:36so now uh actually at the first half i
- 00:10:39think that i can create a resume parser
- 00:10:41code by myself right
- 00:10:44but after so many trying errors i did
- 00:10:46not get that that much of the accuracy
- 00:10:48so i use this reading made library which
- 00:10:51is called fires parser simple resume
- 00:10:53parser used for extracting information
- 00:10:56so basically this will automatically
- 00:10:58give you the
- 00:10:59name
- 00:11:00extra email mobile numbers
- 00:11:03skills total experience quality name
- 00:11:05degree designation all the things that
- 00:11:07it will give you
- 00:11:09right installation is just like peep
- 00:11:11install and this library name but before
- 00:11:14that you should have the download all
- 00:11:16the things like nlp nlp operation you
- 00:11:19should have this pc and analytical
- 00:11:20library installed
- 00:11:22right
- 00:11:25now how to pass the data basically you
- 00:11:27just need to pass the your pdf file here
- 00:11:31and now it will give you the result like
- 00:11:33this caller name company name degree so
- 00:11:36this is these all are the keys
- 00:11:38for the dictionary email mobile number
- 00:11:40so guys uh before starting with any
- 00:11:43library you just need to read the
- 00:11:44documentation because this documentation
- 00:11:47is very helpful and that with this
- 00:11:48documentation i have created my project
- 00:11:50right
- 00:11:53right
- 00:11:54so that's how this pi resume parcel is
- 00:11:57working
- 00:11:58now but okay so i have just uh parsed
- 00:12:00the resume right
- 00:12:02but now there are so many things that we
- 00:12:03need to implement here
- 00:12:05now i need to extract the text from the
- 00:12:07resume basically this pi parcel will
- 00:12:09help me to get that data right
- 00:12:12but how i should get the text from the
- 00:12:15resume so this is the second question so
- 00:12:17basically
- 00:12:18one library called pdf miner pdf miner
- 00:12:20is very famous for extracting the pdf
- 00:12:22using python so this is the this is the
- 00:12:25library that i am using
- 00:12:27to
- 00:12:28get the text from the user uploaded pdf
- 00:12:31now i o and random
- 00:12:34and then streamlit text basically i
- 00:12:36random like inbuilt library that i'm
- 00:12:38using io to just
- 00:12:40uh save the images which is uploaded by
- 00:12:42the user
- 00:12:43right
- 00:12:44then extremely text that i will explain
- 00:12:46you later
- 00:12:47pl is always common library like python
- 00:12:50image library by mysql yes i'm using
- 00:12:52database into this project so make sure
- 00:12:55uh your apache and mysql is running now
- 00:12:58from courses basically courses dot py
- 00:13:00that i have created i will explain it
- 00:13:02later
- 00:13:03pfe pfe is also
- 00:13:05related to youtube related tasks so i
- 00:13:07will explain it later totally floatless
- 00:13:10for the admin module yes
- 00:13:12this project have two models let me show
- 00:13:14you
- 00:13:15normal user and admin
- 00:13:17so i admin i will show you later
- 00:13:21okay so this video is might be going to
- 00:13:23longer than expected
- 00:13:25so guys forgive me
- 00:13:30okay so now ignore all this function
- 00:13:32this function is not useful at this
- 00:13:34moment but i will explain each and every
- 00:13:36function after that right
- 00:13:39okay so now first of all i need to
- 00:13:41connection make a connection with my
- 00:13:43database so pi mysql dot connect
- 00:13:47host is localhost my root user is root
- 00:13:49password is nothing and db so make sure
- 00:13:52you should create a sradb into your
- 00:13:54project
- 00:13:55that is already i have created let me
- 00:13:58show you
- 00:14:00so you can see this is the sra
- 00:14:02so sra database is already created right
- 00:14:07now okay
- 00:14:09now st dot page title config so
- 00:14:13basically this is the paid title config
- 00:14:14like my project name is what
- 00:14:16uh smart resume analyzer so you can see
- 00:14:19this is the title here on left panel
- 00:14:21like smart resume analyzer an icon is
- 00:14:24that i have already defined an sr logo
- 00:14:26dot i say you can see this is the icon
- 00:14:28so basically i'm configuring my website
- 00:14:31now def run st road title first of all i
- 00:14:34need to have this title in between smart
- 00:14:36resume analyzer
- 00:14:38activities is like two users available
- 00:14:40here in normal user admin
- 00:14:43make sure choice
- 00:14:45is located into sidebar so
- 00:14:47ht.sitebar.selectbox
- 00:14:50choose uh among the given option
- 00:14:53so already this message is printed here
- 00:14:56now image dot open basically in this
- 00:15:00part i should have the
- 00:15:04logo of my project
- 00:15:11okay
- 00:15:16okay sorry just i got in uh call in
- 00:15:18between video recording okay so now this
- 00:15:21is the that logo that i am uh
- 00:15:24just displaying here now i should have
- 00:15:26one image uploader
- 00:15:29okay so just i'm first of all i'm just
- 00:15:32showing the logo okay
- 00:15:39now uh creating the database so
- 00:15:41basically i i just estimate that you
- 00:15:44guys are all aware with the basic sql
- 00:15:46queries like create database if not
- 00:15:48exist then sra will be our database
- 00:15:52name right
- 00:15:54so it will create a database of sra
- 00:15:58uh you can see here
- 00:16:00okay so database is already created
- 00:16:02now it will create a one table which is
- 00:16:05called user underscore data so this is
- 00:16:07basically this when you are going to
- 00:16:09upload the resume and then what it will
- 00:16:11do it will save the it will
- 00:16:13automatically save the all the basic
- 00:16:15information of the user so basically we
- 00:16:17can create analysis of it
- 00:16:20so this is the create table query like
- 00:16:22create table if it is not exit time name
- 00:16:24is user data that data that i am taking
- 00:16:26is id name email id resume score time
- 00:16:29stamp page number i mean paid number
- 00:16:31means how many pages of resume it is
- 00:16:34predicted feel like recommendation that
- 00:16:37is given by our system user level it is
- 00:16:40pressure experience or what
- 00:16:42actual skill the skills that is already
- 00:16:44have by the user recommended skills that
- 00:16:46is generated by our system recommended
- 00:16:48course that is our generated by system
- 00:16:49now primary key is id
- 00:16:52right
- 00:16:54now if choice is equal to normal user
- 00:16:56like if i'm
- 00:16:58choicing this is a normal user then i
- 00:17:00should get a one file uploader that is
- 00:17:02already defined here like pdf file
- 00:17:04status file uploaded choose your resume
- 00:17:06and type only allowed is pdf
- 00:17:09okay
- 00:17:10now if i am uploading pdf like if pdf
- 00:17:13file is not none so user is uploading
- 00:17:15any pdf then automatically what it will
- 00:17:17do
- 00:17:18i just need to have one folder or full
- 00:17:20folder upload resume so basically with
- 00:17:23open after write video file dot get
- 00:17:26buffer so basically i'm saving the user
- 00:17:28uploaded pdf file here
- 00:17:31right
- 00:17:32so basically with this if user is
- 00:17:34uploading any pdf file that so that file
- 00:17:37will be saved here into this uploaded
- 00:17:39resume folder
- 00:17:42now
- 00:17:43show pdf and i'm giving the path of the
- 00:17:46full pdf right so now what is this show
- 00:17:48pdf let's see so this is the one
- 00:17:50function
- 00:17:52so basically the what this function will
- 00:17:54do
- 00:17:55you can see with open file but basically
- 00:17:57you should aware with the basic file
- 00:17:59operation so rb rate in binary now
- 00:18:02base64 pdf like base64 that's why i have
- 00:18:05imported base64 dot b64 in code
- 00:18:09and then f dot red record utf-8
- 00:18:12okay so now what i'm doing show pdf
- 00:18:15means what let me show you
- 00:18:18i'm just showing the user uploaded pdf
- 00:18:21into iframe tag
- 00:18:23right
- 00:18:24and now iframe is display here in
- 00:18:26sd.markdown and allow unsafe html is
- 00:18:30equal to true
- 00:18:31so
- 00:18:32what it will do it will get the uploaded
- 00:18:34pdf from the path that is uploaded by
- 00:18:37into this uploaded resume
- 00:18:39now this same pdf if which is uploaded
- 00:18:42by the user
- 00:18:44will be display here you can see this is
- 00:18:46the iframe tag and the pdf is displaying
- 00:18:48here yes if user is uploading the pdf
- 00:18:51then pdf should be displayed to the user
- 00:18:53right
- 00:18:54so that's why this pdf is only
- 00:18:56you can see you can you can zoom out
- 00:18:58zoom in so this is ready made like
- 00:19:00iframe
- 00:19:05okay
- 00:19:10so this is the show pdf function
- 00:19:12so that's why now that's why i like to
- 00:19:14work uh create uh work we like to create
- 00:19:17a small function because your work will
- 00:19:20be easier right now this so pdf in one
- 00:19:22line the function is already taking
- 00:19:24three to four line but here i don't want
- 00:19:26to miss my main code so that's why i
- 00:19:28just created a function that function is
- 00:19:29required
- 00:19:31path of the pdf file
- 00:19:33now
- 00:19:34resume a parcel
- 00:19:36right
- 00:19:38now resume a parcel should
- 00:19:40what
- 00:19:41what is it actually required it required
- 00:19:43the path of the pdf file
- 00:19:45so basically i have stored pdf path in
- 00:19:48this save image path and get extracted
- 00:19:51data basically this method that we have
- 00:19:53already seen here
- 00:19:54okay
- 00:19:56get extracted data so basically i just
- 00:19:58use this documentation to complete my
- 00:20:00code
- 00:20:01now i get a resume data now this will be
- 00:20:04you know my resume data will be same
- 00:20:06like this like there will be one list
- 00:20:08into one list dictionary and these all
- 00:20:10are the keys
- 00:20:11okay
- 00:20:13okay so now this by uh by resume person
- 00:20:16is working fine but what some of the
- 00:20:18point
- 00:20:18might be calling them maybe you will not
- 00:20:21get a proper because these all are the
- 00:20:22nlp things that you cannot expect of 100
- 00:20:25accuracy so i am interested in not whole
- 00:20:27thing like i'm not interested user
- 00:20:29qualium degree
- 00:20:30i'm just interested in some of the
- 00:20:32things like email mobile number name
- 00:20:35number of pages and skills i'm
- 00:20:37interested in this thing only
- 00:20:39so i will fail this thing from the
- 00:20:40resume parser data now this resume
- 00:20:42parser data will be stored into this
- 00:20:44resume data
- 00:20:46right so i'm just giving a condition if
- 00:20:47resume data is not empty like if resume
- 00:20:49data is not none
- 00:20:51right
- 00:20:54so what i need to do
- 00:20:56i need to do
- 00:20:58once again i need to get the pdf text
- 00:21:01now why i am requiring the pdf text i
- 00:21:04just got all this information from here
- 00:21:06but i am getting the limited amount of
- 00:21:08the information from here but i need to
- 00:21:11play with some more nlp techniques so i
- 00:21:13should have the full content of the user
- 00:21:15speed uh resume like
- 00:21:18each and every word that is containing
- 00:21:20uh by the
- 00:21:22pdf or you can say resume right so
- 00:21:24that's why i'm just using this pdf
- 00:21:26reader function here and that pdf reader
- 00:21:28function
- 00:21:30will be written me a text resume
- 00:21:32basically it will give you the plain
- 00:21:34text of the resume and every word that
- 00:21:35is containing by that user and now this
- 00:21:37pda function is required the original
- 00:21:39path of the resume
- 00:21:41now let's see what this pdf is pdf
- 00:21:43reader is containing
- 00:21:45and now the pdf reader is once again the
- 00:21:47function
- 00:21:49so i'm using pi pdf miner so resource
- 00:21:51manager is equal to pdf resource manager
- 00:21:53that we need to look at first first now
- 00:21:56i need to get a string i o right
- 00:21:59now converter basically this this code
- 00:22:01is also given by the pi pdf for the
- 00:22:03documentation so just i request you to
- 00:22:05read the documentation
- 00:22:07now basically this will convert your pdf
- 00:22:10into text format all the things are
- 00:22:11defined here right
- 00:22:13now what it actually do it is iterating
- 00:22:15to each and every pdf pages
- 00:22:17and it is giving me a text of the pdf
- 00:22:21any pdf not like resume it will written
- 00:22:23each and everything
- 00:22:24now my text will be stored in this text
- 00:22:26variable now now i'm just closing all
- 00:22:28the things like converter effect file
- 00:22:30and error close
- 00:22:31and i should get a written text
- 00:22:34so if user is uploading any
- 00:22:36resume then i will get a
- 00:22:39basic information of the user using this
- 00:22:42library called resume by parser
- 00:22:45and now i will get a full text resume
- 00:22:48now
- 00:22:49it's time for the good looking ui okay
- 00:22:52so i'm just i just done till here so you
- 00:22:55can if you're going to the task you can
- 00:22:57see
- 00:22:58first task is completed second task is
- 00:23:00completed
- 00:23:01third and fourth task is completed okay
- 00:23:06now what now what we just need to define
- 00:23:09the some of the good things here like s
- 00:23:11t dot header resume analysis line then
- 00:23:13fc dot success hello
- 00:23:15resume data name so now what this name
- 00:23:19resume data is dictionary that is
- 00:23:20returning from the
- 00:23:23from the designer pi person right and
- 00:23:25this is name that is already predefined
- 00:23:27key if you are going to the
- 00:23:29documentation then you can see
- 00:23:32the name which is already defined key by
- 00:23:34the hour by password resume
- 00:23:37now
- 00:23:39if it might be possible that each and
- 00:23:41every name will cannot be detected by
- 00:23:43these five parts of resume what we are
- 00:23:45doing
- 00:23:47we are just exception basically i don't
- 00:23:49want to show this error so just i'm
- 00:23:51using pass into exception
- 00:23:53so if it is like it is like
- 00:23:56you can see if everything is fine then
- 00:23:58it should get st text like name like
- 00:24:01username email the email that is
- 00:24:03extracted by our
- 00:24:05resume person now the text
- 00:24:08and resume pages now i am uh
- 00:24:12like getting the resume pages okay
- 00:24:15so don't worry that i will tell you
- 00:24:18okay
- 00:24:19so you can see these two thing is
- 00:24:21printed here for this resume but might
- 00:24:23be possible other things are like uh not
- 00:24:27acceptable and that means not readable
- 00:24:28also because this
- 00:24:30resume is taken from the internet
- 00:24:32let's see for other resume
- 00:24:36so might be it at this video recording
- 00:24:38time i'm not uploading any my friend
- 00:24:39resume otherwise it is working very fine
- 00:24:42on my friend's resume even my resume
- 00:24:44also it is which is you know extracting
- 00:24:47each and everything like email id mobile
- 00:24:48number
- 00:24:51okay and now you can see contact the on
- 00:24:53this it is working fine
- 00:24:55the resume page is what is only one page
- 00:24:58resume you can see and it is already
- 00:24:59extracted here resume pages
- 00:25:03i don't know which contact details it is
- 00:25:05extracted okay so there as i told
- 00:25:07earlier it might be wrong also so you
- 00:25:09can see contact details is wrong but
- 00:25:11email id
- 00:25:12is fine name is actually our detector
- 00:25:14which is detected by here
- 00:25:17so it is wrong here but might be you can
- 00:25:19consider this is a little bit error
- 00:25:21right
- 00:25:22still we got a good thing like good
- 00:25:24amount of the extracted things here
- 00:25:27now
- 00:25:29i'm just given giving the candidate
- 00:25:31level as a simple like i'm not defining
- 00:25:33any value here
- 00:25:34now i just
- 00:25:36assuming that if resumed data of number
- 00:25:38of pages is equal to one if you have one
- 00:25:41page of resume that you you can consider
- 00:25:43yourself as a fresher
- 00:25:45that might be case right i'm not saying
- 00:25:47like if you have one page resume it
- 00:25:48might be possible to do a lot of
- 00:25:50pressure also
- 00:25:52but in this case that i am doing here
- 00:25:54like candidate level is equal to fresher
- 00:25:55if resume number of the page is equal to
- 00:25:57two then you are at like intermittent
- 00:26:00level like you have one or two year of
- 00:26:01the experience right and if you are like
- 00:26:04number of the pages is equal to greater
- 00:26:06than three then you are at experience
- 00:26:07level right
- 00:26:09if you have to replace resume and then
- 00:26:10obviously you have done so many things
- 00:26:12you have so many years of the experience
- 00:26:14so for the number of the pages that i'm
- 00:26:16defining the sd dot markdown like you
- 00:26:18are a
- 00:26:19fresher
- 00:26:21you are at intermediate level or you are
- 00:26:23at experience level
- 00:26:26so for that each and every different
- 00:26:27like color code is different
- 00:26:29so that's how that i am printing this
- 00:26:31message like you are looking pressure
- 00:26:34now skill recommendation
- 00:26:37so now what is this skill recommendation
- 00:26:39let me show you
- 00:26:40so first of all i just need to
- 00:26:42initialize the sd text so basically
- 00:26:44streamlit doesn't have this tag model
- 00:26:47inbuilt right so i just out that's why i
- 00:26:48downloaded this sd text from the
- 00:26:51uh
- 00:26:52you can see that i have imported this ht
- 00:26:54tags into import section
- 00:26:58okay so now http is like skills that you
- 00:27:02have basically it is giving the skills
- 00:27:04that is already here by the user now how
- 00:27:06we can fit the skills
- 00:27:08already our resume parser has extracted
- 00:27:11the skills and you can see the
- 00:27:12dictionary name is skills key name is
- 00:27:15skills you can see here
- 00:27:16and it is returning a one list of the
- 00:27:18skills
- 00:27:19okay so i just need to pass this value
- 00:27:22as a skill and key is equal to one it
- 00:27:24should be unique
- 00:27:25okay because it might be have multiple
- 00:27:28sd text so key should be on unique for
- 00:27:30each and every one sd text
- 00:27:32okay
- 00:27:33so now now i just got the user skill
- 00:27:35here you can see this is also
- 00:27:38extracted from the resume and skills are
- 00:27:41showing here right now our
- 00:27:43recommendation time
- 00:27:45so some of the things some of the
- 00:27:47recommendation things that i have
- 00:27:49already generated okay let me explain
- 00:27:52okay as i told earlier this resume
- 00:27:55analysis is like is working for the id
- 00:27:57resume so it is capturing the keywords
- 00:28:00like data science keyword web keyword
- 00:28:02weapon technology android keyword ios
- 00:28:04keyword and usb skewer you can improve
- 00:28:07it into more depth
- 00:28:09okay so what is this ds keyword
- 00:28:12tensorflow keras python so basically
- 00:28:14that what i have done is i just google
- 00:28:17it so many things about like what is
- 00:28:19this web technology is included what is
- 00:28:21this android key android technologies
- 00:28:23included and i have made one list
- 00:28:26of the keywords now
- 00:28:28why i'm doing this
- 00:28:30let me explain
- 00:28:31this is the very tricky part but it is
- 00:28:33very easy to understand
- 00:28:35now
- 00:28:36if i am going to show this thing only to
- 00:28:38my like any person like this is fine
- 00:28:41like that i am extracting the basic
- 00:28:43information from the
- 00:28:45resume but that that is not a meaningful
- 00:28:47that is not you can say useful now i
- 00:28:49should have the my own model here like
- 00:28:51what my own nlp techniques
- 00:28:53so what i need to do is
- 00:28:55i need to fetch the keyword right if you
- 00:28:58are going to see my resume then how you
- 00:29:00can judge me like what is my working
- 00:29:02field if i am including all these
- 00:29:04keywords like if my resume has the
- 00:29:07keyword like uh
- 00:29:10you can say
- 00:29:13uh tensorflow keras fight watch machine
- 00:29:15learning deep learning all these
- 00:29:17keywords is if it is these keywords are
- 00:29:19present into my resume
- 00:29:22then
- 00:29:22i am working with the data science
- 00:29:25if i have the keyword of the react
- 00:29:28django node.js reaches flask
- 00:29:31angularjs
- 00:29:32it might be possible that i'm working
- 00:29:33with the web technology
- 00:29:35for the android you can see android
- 00:29:37android development flutter hotline xml
- 00:29:39key if this keyword is found in your
- 00:29:40resume it might be possible that you are
- 00:29:42working with android keyword
- 00:29:44you can next uh you know you can create
- 00:29:47a more better number of the keywords and
- 00:29:49you can append into this list okay
- 00:29:52but this is a this is also working fine
- 00:29:54that i have already tested this uh
- 00:29:56system want to like my web developer is
- 00:29:59like web developer friend resume for
- 00:30:01that it is working fine given that i
- 00:30:03have also ui designer friend on that on
- 00:30:06that resume it is working fine it is
- 00:30:08predicting the same that you are
- 00:30:10interested in uis job
- 00:30:12now
- 00:30:14this is like we are finding the
- 00:30:16particular keyword from the user text
- 00:30:18that we have already expected from the
- 00:30:20pdf miner now recommended skills now
- 00:30:22it's time to recommend the skill to the
- 00:30:24user
- 00:30:25you can see skill recommendation here
- 00:30:29okay
- 00:30:30that i need to print this line also
- 00:30:34okay so this all things that i will
- 00:30:36you know do it later but before that i
- 00:30:39need to
- 00:30:40fetch the all the things regarding the
- 00:30:43user
- 00:30:44and now recommended skill that i have
- 00:30:45created empty list
- 00:30:47recognized in field and reco course this
- 00:30:50both field is currently this both value
- 00:30:52is currently nothing like empty string
- 00:30:54now i need to iterate the loop
- 00:30:57like i need to match the skill
- 00:30:59but how
- 00:31:01so we have just assumed that original
- 00:31:02skill and we have this keyword so
- 00:31:06basically what i am doing is i am just
- 00:31:07entering the with this look for and
- 00:31:09resume date of skill that is already
- 00:31:12skills that is you know that is already
- 00:31:14have by that person
- 00:31:15now if i dot labor lower that is you
- 00:31:18know that will return a lowercase
- 00:31:19keyword and ds keyword
- 00:31:21now just assume that if user this user
- 00:31:24have the uix development skill
- 00:31:28you can see this all are related to you
- 00:31:30adobe indies and css wordpress right so
- 00:31:33you can see this guy is currently
- 00:31:35working job into uiux you can assume
- 00:31:37that right
- 00:31:39so what it will do it will loop through
- 00:31:41each and everything right if any keyword
- 00:31:44of this is matching with this ui ux
- 00:31:46keyword then automatically it will show
- 00:31:49you
- 00:31:50the
- 00:31:51regarding the ui ux right
- 00:31:55so let me just go through the uix here
- 00:31:58you can see uix recommendation
- 00:32:01like you can see it will print the here
- 00:32:03so you can see print is already here
- 00:32:05like prototyping
- 00:32:07obviously prototyping scale is already
- 00:32:10means have by the uix developer
- 00:32:13now what is my recommended field so if
- 00:32:15this happening this is a simple ifa if
- 00:32:17this is happening then my recommended
- 00:32:20field should be ux development now you
- 00:32:22should get a message our analysis say
- 00:32:24you are looking for the ux development
- 00:32:26jobs now i have already created one list
- 00:32:30recommended skill that i can recommend
- 00:32:32to the user
- 00:32:33like you can see now recommended skills
- 00:32:35are
- 00:32:36ui user experience adobe xd
- 00:32:39prototyping wireframe storage like this
- 00:32:41all the skill that i already googled
- 00:32:43illustrator after effects you can see
- 00:32:45there are so many skills available
- 00:32:47that we can recommend to the user
- 00:32:49recommended skill for you
- 00:32:51okay so basically based on this skill we
- 00:32:54are recommended this skill so that's how
- 00:32:56i think you got this is very simple
- 00:32:58concept now let's see for the same for
- 00:33:00the data science
- 00:33:01if i'm if i'm uploading any
- 00:33:04uh user resume any user should have the
- 00:33:07similar words like tensorflow keras then
- 00:33:09it will automatically fall into this if
- 00:33:12and the recommended will be data science
- 00:33:13our analysis say you are looking for
- 00:33:15data science job and
- 00:33:16uh recommended skill will be like data
- 00:33:18visualization rate analysis uh so many
- 00:33:21skills that already printed here
- 00:33:26now
- 00:33:28this is the course recommender i think
- 00:33:30you guys are got i don't need to explain
- 00:33:32like when android keyword web
- 00:33:34development keyboard working is working
- 00:33:35is same for each and everything okay so
- 00:33:38it is
- 00:33:39working for the four fields okay it is
- 00:33:41five
- 00:33:42now
- 00:33:45course recommendation you can see after
- 00:33:47that it is showing me the course
- 00:33:48recommendation
- 00:33:50okay so now this course recommendation
- 00:33:52is required what
- 00:33:54this web course
- 00:33:59okay i will a web course is basically is
- 00:34:02the kind of the list okay let me show
- 00:34:04you
- 00:34:05ds course web course here you can see in
- 00:34:07parameters
- 00:34:08so what i have done is
- 00:34:11first let me show you the course
- 00:34:12recommended so basically this course
- 00:34:14recommender will function will create a
- 00:34:16one thing like course recommended scores
- 00:34:18and certificate recommendation
- 00:34:20it will count the number recommended
- 00:34:22course list
- 00:34:24it will be empty now st dot slider i am
- 00:34:26getting a 1 to 10 slider value from the
- 00:34:28user like how many courses
- 00:34:29recommendation you want like
- 00:34:311 2 3 4 five based on that
- 00:34:35what i am doing for c name and c link so
- 00:34:37basically this course list will be
- 00:34:39dictionary now what is this course list
- 00:34:43so course list will be given by the
- 00:34:46user okay
- 00:34:49now this counter will be increase and s
- 00:34:51t dot markdown course name and course
- 00:34:53link will be generated and recommended
- 00:34:56course will be
- 00:34:57you know appended into the
- 00:35:00this list which is a recommended course
- 00:35:02if c is equal to number of the responses
- 00:35:04like c is the counter and number of the
- 00:35:07uh recommendation that is defined by
- 00:35:09user so if
- 00:35:10if user want five any five course is
- 00:35:13already shown then counter will be five
- 00:35:15is equal to five then loop will be break
- 00:35:16and it will give you the recommended
- 00:35:18course
- 00:35:19right
- 00:35:21so i'm returning this recommended course
- 00:35:22because i want to store all this thing
- 00:35:24into the database so that's why i'm
- 00:35:26returning the recommended
- 00:35:28courses
- 00:35:29okay so now this how this course list is
- 00:35:32coming
- 00:35:33okay
- 00:35:35so let me show you the this thing once
- 00:35:37again
- 00:35:39so this course list is coming from this
- 00:35:41ds course
- 00:35:42so what i have done is very it is very
- 00:35:44statically is type you can see there is
- 00:35:47one
- 00:35:47file dot courses dot by
- 00:35:50ds course web course i have defined some
- 00:35:52of the predefined courses
- 00:35:56like android course ios course
- 00:35:59uix course now this
- 00:36:01you know this course is containing two
- 00:36:03things list into list
- 00:36:05like first member is about our course
- 00:36:06name second member is about to
- 00:36:09course link
- 00:36:10so this is the top most code that i have
- 00:36:12taken from the google that i'm already
- 00:36:14showing to the user
- 00:36:16right
- 00:36:18so that's why i have defined this two
- 00:36:20thing into for loop it might be possible
- 00:36:22that you get amazed like what i'm
- 00:36:24unpacking two values into one list so
- 00:36:26basically it is returning this two thing
- 00:36:28course name and course link
- 00:36:32okay
- 00:36:34the same word that i have already
- 00:36:35defined in the sum of the videos okay so
- 00:36:36that thing that i will explain in later
- 00:36:42okay so my course recommendation is also
- 00:36:44done here
- 00:36:45okay
- 00:36:47so let me just
- 00:36:48guide through this now resume tips and
- 00:36:51ideas
- 00:36:53okay so before starting all these things
- 00:36:55just i am inserting all this thing in
- 00:36:56root table like current time stem when
- 00:36:59the user is uploading this resume
- 00:37:02okay
- 00:37:05now
- 00:37:06resume writing recommendation now i just
- 00:37:09given the courses and recommendation now
- 00:37:12some of the things that might be present
- 00:37:14in resume or not so what this is once
- 00:37:16again very simple resume text i got the
- 00:37:19resume text from the pdf miner basically
- 00:37:22that from that function that i am
- 00:37:23returning the resume text
- 00:37:25now if there is a simple thing you are
- 00:37:27getting 1000 but obviously you can find
- 00:37:30like if objective is not present into
- 00:37:32resume tags then obviously you should ah
- 00:37:36get the user should get message right
- 00:37:39so i am just defining the condition if
- 00:37:40objective is in resume text then resume
- 00:37:43score will be plus 20
- 00:37:45now resume score that i have initialized
- 00:37:47zero now st dot markdown user should get
- 00:37:50message like awesome you added objective
- 00:37:53if our code means uh
- 00:37:55objective what that found into user
- 00:37:57uploaded resume then automatically score
- 00:37:59will be increased by 20 otherwise goal
- 00:38:02will be not increase
- 00:38:03like you should get a message like this
- 00:38:06according to our recommendation please
- 00:38:07add career objective this message should
- 00:38:09be in the same for the declaration
- 00:38:13declaration should be present into
- 00:38:16resume text so now you you can think of
- 00:38:18like this if objective is and
- 00:38:20declaration will be present in the small
- 00:38:22letter
- 00:38:23okay
- 00:38:24like first letter is small but it is not
- 00:38:26possible and the reason is that if you
- 00:38:28are creating any resume that says this
- 00:38:30thing this what call as a section
- 00:38:32instruction name always first letter of
- 00:38:34the capital in most of the resume
- 00:38:37the same thing for the hobbies and or
- 00:38:39interest so now just think of it in some
- 00:38:42of the resume it might be possible that
- 00:38:44hobbies or interest maybe two key
- 00:38:46different keywords one that i'm having
- 00:38:49these two keywords like i'm using these
- 00:38:50two k words if achievements is not
- 00:38:52present in resume the same thing i'm
- 00:38:54increasing this score if it is present
- 00:38:56otherwise it is like it will not
- 00:38:58increase the score the same for the
- 00:39:00project if projects were into my list
- 00:39:03then automatically it will increase the
- 00:39:04score and give yes congratulations you
- 00:39:06added projects otherwise it will show
- 00:39:09like this according to our
- 00:39:10recommendation please add the projects
- 00:39:14now score
- 00:39:16now i need to pass the resume score to
- 00:39:18the user like st dot sub header uh
- 00:39:21resume score here you can see after that
- 00:39:24your writing score algorithm score so
- 00:39:27basically i am initializing com progress
- 00:39:29bar score is equal to zero now four
- 00:39:31percent complete in range regime score
- 00:39:33that resume score will be total like if
- 00:39:35my resume score is 40 50 60
- 00:39:38it will iterate to this
- 00:39:40range for loop obviously and then score
- 00:39:42will be increased by one and time dot
- 00:39:44sleep
- 00:39:45so let me refresh it once again once
- 00:39:47again
- 00:39:49i'm just showing i just want to show you
- 00:39:51the progress bar
- 00:39:54you know you can see this progress bar
- 00:39:55is increasing by a step
- 00:39:58your resume score is 20 because this
- 00:40:00resume doesn't have anything
- 00:40:02like it uh obviously you can see only it
- 00:40:04is have obvious or 20 score is plus for
- 00:40:07that
- 00:40:09i'm just i'm printing this
- 00:40:10warning this score is calculated based
- 00:40:12on the content that you have added in
- 00:40:13your resume
- 00:40:14okay
- 00:40:15so time dot slip basically that
- 00:40:18my interpreter will be sleep for a
- 00:40:20fraction of seconds after each and every
- 00:40:22iteration
- 00:40:24okay so that's why it is you know very
- 00:40:26slowly slowly increasing otherwise you
- 00:40:28know it will give you the full
- 00:40:29loaded progress but i don't what i just
- 00:40:32want small amount of the animation here
- 00:40:34so that's why what i'm doing here
- 00:40:36okay now at the end we everything fine
- 00:40:38then it will show you the sum of the
- 00:40:39balloons that is already provided by the
- 00:40:41streamlit
- 00:40:43okay
- 00:40:44now
- 00:40:45at the end of all this thing i'm
- 00:40:47inserting all this data into the
- 00:40:49our database
- 00:40:51this insert data is function about to
- 00:40:53inserting the data it is generating you
- 00:40:55know insert query
- 00:40:57it is creating the tuple of all the
- 00:40:59things okay so the things that i'm
- 00:41:01including into database like name email
- 00:41:03that already have explained and cursor
- 00:41:05dot execute connection dot commit
- 00:41:08okay
- 00:41:09so most of ninety percent okay eighty
- 00:41:11percent project is going means explained
- 00:41:13by me
- 00:41:14now resume writing video and interview
- 00:41:18tips so the same thing here
- 00:41:21so i have already created the
- 00:41:24resume video
- 00:41:28okay fetch yt video okay bonus video for
- 00:41:31resume writing tips
- 00:41:32random dot choice so this is the resume
- 00:41:35videos
- 00:41:37that function already that list that i
- 00:41:39have already created into this course is
- 00:41:41not by receiving interview videos
- 00:41:43okay so i have almost extracted around
- 00:41:46four four eight eight videos
- 00:41:48for the resume preparation and eight
- 00:41:50videos for the interview preparation
- 00:41:52now what i'm doing is i'm just picking
- 00:41:54picking up a random video like random
- 00:41:56choice
- 00:41:57now
- 00:41:58the choice video should be display here
- 00:42:00too is so nice i have created one
- 00:42:02function fetch youtube video
- 00:42:06now
- 00:42:06this fast video youtube like it is
- 00:42:08nothing just it is required one link
- 00:42:11i'm using puffy to get the pfe dot news
- 00:42:14so basically pfe will open the youtube
- 00:42:15video and it automatically it will fade
- 00:42:17the title for you like what is the video
- 00:42:19title
- 00:42:21okay so i just need to get the video
- 00:42:23title
- 00:42:24for the you know
- 00:42:25uh video now sd dot sub header then like
- 00:42:29and then i just need to print the video
- 00:42:31title that i just got from this function
- 00:42:33you can see how to write a
- 00:42:35resume software engineer resume tips for
- 00:42:37fresher
- 00:42:39and experience and you can see the title
- 00:42:40is same here also
- 00:42:42so that's why i actually extracted the
- 00:42:44title from the
- 00:42:46video link okay now st dot video
- 00:42:49basically this is in build model of the
- 00:42:51you know displaying the youtube video
- 00:42:53like embedding youtube video into
- 00:42:54webpage so nothing to do with just you
- 00:42:57need to pass the link of the video that
- 00:42:59is already random generated so i'm
- 00:43:01displaying two video resume writing tips
- 00:43:03and interview preparation then at the
- 00:43:05end i'm connecting the connection dot
- 00:43:06commit
- 00:43:08because i'm using database now if
- 00:43:10anything red white will give you the
- 00:43:11warning hd dot error something went
- 00:43:13wrong and now my code is around 300 line
- 00:43:16now user side is completed now adam
- 00:43:18inside
- 00:43:19okay
- 00:43:21now admin side is what
- 00:43:24uh it is you know asking for the user id
- 00:43:26password so spidey don't decide crucial
- 00:43:28one two three is the password so same
- 00:43:30thing same thing here
- 00:43:32now i should get uh analysis of admin
- 00:43:36set like
- 00:43:37okay let me show you you know it is the
- 00:43:39most interesting thing that it will show
- 00:43:40you the some of the visualization if std
- 00:43:43button dot login
- 00:43:45right
- 00:43:45if this admin is pressing any login
- 00:43:47button here and if user password and
- 00:43:49this thing are match
- 00:43:51don't mind guys that for that particular
- 00:43:54thing that i am not going to create
- 00:43:55database it is statically that however
- 00:43:57given
- 00:43:58so you can see you will like welcome
- 00:44:00kushal users data data that is already
- 00:44:02extracted by
- 00:44:04our database so when you are uploading
- 00:44:06any resume you can see this thing will
- 00:44:08be stored into my database table right
- 00:44:11here
- 00:44:12in this table
- 00:44:14now what what i need to do with this
- 00:44:17data okay so that this is the data that
- 00:44:20i'm storing like recommended skill
- 00:44:22recommended course name actual skill
- 00:44:25user level predicted field total number
- 00:44:28of page resume time of uploading resume
- 00:44:30score email
- 00:44:32even i can download this report also if
- 00:44:34i'm going to download this report then
- 00:44:36you know
- 00:44:37uh it will be have into the csc but i'm
- 00:44:40not going to open
- 00:44:44okay i think i just got error because i
- 00:44:46just closed unexpectedly
- 00:44:48now pie charts for the predictor field
- 00:44:50recommendation now i'm just defining the
- 00:44:52sum of the things like regarding the pie
- 00:44:54chart so most of the resume
- 00:44:56are base is a data science
- 00:45:00means my system have most of the
- 00:45:02recommended values data science because
- 00:45:04that i am uploading many datas and
- 00:45:05resume into the system now some of the
- 00:45:07ios some of the recommendation has two
- 00:45:10like value two then uix and most of
- 00:45:12their web development
- 00:45:14now experience level like in my system
- 00:45:17if i have 1000 resume uploaded into the
- 00:45:19system then i should get knowledge like
- 00:45:21how many people how many percent of
- 00:45:23experience and how many percent of the
- 00:45:25fresher you can see
- 00:45:26like intermediate is 23 and fresher is
- 00:45:29only 16
- 00:45:31and this is the end of the this our
- 00:45:33admin panel when i can display more
- 00:45:35graphs here but uh
- 00:45:38okay just i need to close this excel
- 00:45:40warnings
- 00:45:43okay
- 00:45:44i don't know after the you know using
- 00:45:47this windows so many time
- 00:45:51it is very difficult
- 00:45:53okay
- 00:45:55so that i am just showing you how you
- 00:45:56can display these things
- 00:45:59now i need to get the uh you know data
- 00:46:02from the database so there is one thing
- 00:46:04like cursor.execute you know this query
- 00:46:06select star from the user data and this
- 00:46:08data means will fetch the
- 00:46:11this patch all function will fade to all
- 00:46:13the data it will give you the list now i
- 00:46:15just need to create a data frame and
- 00:46:16data frame should have the
- 00:46:18like column name right
- 00:46:21now i just need to display the data from
- 00:46:23so there is streamlined sql data frame
- 00:46:25will display this
- 00:46:27beautiful table here you can see this is
- 00:46:29the table
- 00:46:30right
- 00:46:31now
- 00:46:33admin the this thing is already
- 00:46:36uh you know the admin side data that i
- 00:46:38already displayed here right
- 00:46:41now the thing is that how i can display
- 00:46:43the recommendation chart so first of all
- 00:46:46from the plot data what is this close
- 00:46:48data it is like select star from the
- 00:46:50user data
- 00:46:52once again i'm loading this query and
- 00:46:53i'm storing into the plot data variable
- 00:46:56now plot data dot predictor field dot
- 00:46:58unique
- 00:46:59so i'm just what i'm doing i'm getting
- 00:47:01the unique labels that is already like
- 00:47:03data science job or android app web
- 00:47:06development job
- 00:47:08now what i'm doing i'm just getting the
- 00:47:10value counts value counts whatever
- 00:47:12return like data science over 16 values
- 00:47:14like 16 recommendation a web app have
- 00:47:17five recommendation
- 00:47:19ui six recommendation
- 00:47:21and now i'm just by making a pie chart
- 00:47:24px dot pi i'm not using metro lab i'm
- 00:47:27using the plotly express
- 00:47:29okay so plotter will give you the
- 00:47:31beautiful you know visualization and
- 00:47:33just i'm making the plural chart here
- 00:47:37passing the values labels and title like
- 00:47:40predictor
- 00:47:41field according to the skill and the
- 00:47:43same for the pie chart
- 00:47:45the pie chart like once again i'm making
- 00:47:47the display chart and i'm passing the
- 00:47:49user level user level is like experience
- 00:47:51or not experience intermediate and the
- 00:47:54things are
- 00:47:55at the end this time making chat once
- 00:47:57again if anything gets wrong it will
- 00:47:59show you the wrong id password provided
- 00:48:02okay so almost i explained uh 3 360 line
- 00:48:07of each and everything and i think i
- 00:48:09have explained all the function okay now
- 00:48:11i have already mistakenly you know
- 00:48:14forget this function download report so
- 00:48:16basically just what i am doing is this
- 00:48:18function is required creating like data
- 00:48:20frame file name and text
- 00:48:22text means you just want to download it
- 00:48:24means
- 00:48:25this download report like text name of
- 00:48:28this link okay so csv df2 csv index is
- 00:48:31equal to false but before that i should
- 00:48:34get like basically for bm encode so
- 00:48:36basically what it will do it will encode
- 00:48:38the data frame data
- 00:48:40and you know it will show you the means
- 00:48:42it will generate the download link of it
- 00:48:46okay and it will written the href hrdf
- 00:48:49means what this link because so
- 00:48:51basically in this function i just need
- 00:48:53to pass the data from file name and text
- 00:48:55you can see here
- 00:49:00you can see ht dot markdown get download
- 00:49:02link data frame
- 00:49:04user data dot cs in my files name you
- 00:49:07can see user data dot css download
- 00:49:09report allow on sub html is equal to
- 00:49:11true and my report is downloaded okay
- 00:49:14so i think i have explained each and
- 00:49:16every line regarding the project
- 00:49:18you can see insert data function is
- 00:49:19nothing just inserting the data
- 00:49:21course recommender that i explained show
- 00:49:24pdf pdf reader okay so all the things
- 00:49:27that i have explained and i don't think
- 00:49:29but this video is around 14 9 minutes
- 00:49:31longer and i think i just need to
- 00:49:34get one hour for this rendering the
- 00:49:36video so guys uh that i have already
- 00:49:38explained the full thing if you did not
- 00:49:40get anything or if you are having any
- 00:49:42doubt with this video you can just
- 00:49:43comment down below code that i will
- 00:49:45share with to you guys okay so don't
- 00:49:48worry about the code but guys don't make
- 00:49:50the full copy paste of that code if you
- 00:49:52if you are understanding each and
- 00:49:53everything then you can make a copy
- 00:49:55paste right
- 00:49:56even if you want to add anything like
- 00:49:58anything here into this code just give
- 00:50:00the pull request into the github if it
- 00:50:02is appropriate then i will merge into it
- 00:50:04okay
- 00:50:06so guys thank you for the listening me
- 00:50:08and like and share this video and don't
- 00:50:09forget to subscribe the youtube channel
- 00:50:11of machine learning hub you know it will
- 00:50:13motivate me to create more content like
- 00:50:15this so guys see you in the next one and
- 00:50:17thank you for the listening me
- 00:50:19so guys thank you bye have a good day
- Smart Resume Analyzer
- NLP
- Python
- Streamlit
- Resume Parsing
- Project Tutorial
- Skills Recommendation
- Machine Learning
- GitHub Code
- Resume Screening