It has been a couple of months since I started learning Foundations of Artificial Intelligence Program from SkillUp Online. After putting in some dedicated effort on the studies, I successfully completed the well crafted course on last Wednesday. So I thought of applying my learning in a real world scenario by developing a Python application.
Here is my first application of Python programming that I learnt through the course. Well, it is not a CAD/Design AI Application as I mentioned in my earlier post. Rather, I would start with a simple yet really useful application for now. As an aspiring job seeker, I thought of analyzing my resume for relevant keywords by visualizing how prominently they appear in the resume. Moreover, it is a well know fact that Application Tracking Systems (ATS) scrutinize resumes based on keywords and filter them accordingly. So I wanted to analyze the current resume status and optimize it accordingly.
Here is the result I got from the first run of Python program on my resume
A quick analysis of the word cloud revealed that my resume does not properly represent my key skills. I wanted to represent my key strengths such as Information Management, Automation, Innovation and VBA in a better way. Other skills such as CAD, Data Control, Design and Engineering are better represented though. After several iterations of the resume, I was able to come up with a balanced one. The word cloud generated by the same application after the resume fine-tuning is as shown below.
And here is the tiny-dirty Python application that I wrote for accomplishing this. Since this is my first program, I haven’t cared much about following best programming practices. I hope to improve that part in future though. Nevertheless, it was really amazing to see what such a small program in Python could achieve! Here is the link to the GitHub Gist page if you want to play with the code.
""" Word Cloud Resume Optimizer By Mohamed Haris GitHub ID: @harismohamed """ #install and import required libraries !pip install python-docx !pip install wordcloud from docx import Document from wordcloud import WordCloud, STOPWORDS import matplotlib as mpl import matplotlib.pyplot as plt #set path for resume file myresume="C:\\temp\\my_resume.docx" #read the document doc = Document(myresume) #collect text from each paragraph resumetext = "" text =  for para in doc.paragraphs: text.append(para.text) resumetext = '\n'.join(text) stopwords = set(STOPWORDS) #add custom stop words for better results #custom stopwords may be stored in a text file custstopwordsfile="C:\\temp\\stopwords.txt" f=open(custstopwordsfile,'r') custstopwords=f.read().splitlines() f.close() #add custom stop words to the default ones stopwords.update(custstopwords) #instantiate a word cloud object resume_wc = WordCloud( background_color='black', stopwords=stopwords) #adjust the image rendering area fig = plt.figure() fig.set_figwidth(12) # set width fig.set_figheight(16) # set height #generate the word cloud resume_wc.generate(resumetext) plt.imshow(resume_wc, interpolation='bilinear') plt.axis('off') plt.show()
It would be fun to host this program online for the readers to analyze their own resumes. But right now I don’t have any idea on how to go about it. I shall post an update once it is configured online for public testing. Till then, I advise you to run the code on your system to test the output.