-
Notifications
You must be signed in to change notification settings - Fork 0
/
ResumeAnalysis.py
59 lines (49 loc) · 1.78 KB
/
ResumeAnalysis.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import speech_recognition as sr
import os
print('*'*10+"Welcome to Resume Analyser(Analyses only pronounciation and clearity of voice)"+'*'*10)
path=input("Enter the path of the folder that contains the files : ")
#dictf=input("Enter the path of dictionary file : ")
dictf=r"..\words_alpha.txt"
os.chdir(path)
flist=os.listdir()
reslist=[]
wrds=[] #list of words in the file
acc=0
#check word in dictionary file
def wordInFile(wrd):
dic=open(dictf)
for dw in dic:
if(dw[:-1]==wrd):
return True
return False
for file in flist:
if(file[-4:]=='.wav'):
print('processing : '+file)
audio_file=(file)
fpth=file[:-4]+'.txt'
reslist.append(fpth)
fo=open(fpth,'wt')
r=sr.Recognizer()
with sr.AudioFile(audio_file) as source:
#reads the audio file.Here we use record instead of listen
audio = r.record(source)
try:
#print('The audio contains : '+r.recognize_google(audio))
fo.write(r.recognize_google(audio))
fo.close()
except sr.UnknownValueError:
print('Google Speech Recognition could not understand audio')
except sr.RequestError as e:
print('Could not request rresult from google speech recognition service; {0}'.format(e))
#now read word by word from each file in reslist and compare these words in dictionary.
for fl in reslist:
wrds=[]
fo=open(fl)
acc=0
for line in fo:
wrds.extend(line.split(' ')) #list of words in the file
for wd in wrds:
if wordInFile(wd):
acc+=1
accuracy=(acc/len(wrds))*100
print("The english accuracy of "+fl[:-4]+" is : "+str(accuracy)+"%")