Vaibhav84 commited on
Commit
8f933e9
·
1 Parent(s): 9c2f466
Files changed (1) hide show
  1. SkillExtractV1.py +51 -2
SkillExtractV1.py CHANGED
@@ -43,7 +43,10 @@ class SkillExtractorDetailsV1:
43
  # list_of_tuples = list(zip(skills_list, skill_Typelst,skill_Scorelst))
44
  # df = pd.DataFrame(list_of_tuples,
45
  # columns=['Skill_Name', 'Skill_Type','Skill_Score'])
46
- data = {'Data':['Required Skills', 'Soft Skills', 'Good to have Skills'], 'Values':[','.join(reuiredSkilllst), ','.join(softskillslst), ','.join(goodtohavelst)]}
 
 
 
47
  df = pd.DataFrame(data)
48
 
49
  return df
@@ -54,5 +57,51 @@ class SkillExtractorDetailsV1:
54
  query = "select upper(skilldetails) skill from skillmaster where weightage = 0"
55
  df = pd.read_sql_query(query, conn)
56
  return df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  # list_of_tuples = list(zip(skills_list, skill_Typelst,skill_Scorelst))
44
  # df = pd.DataFrame(list_of_tuples,
45
  # columns=['Skill_Name', 'Skill_Type','Skill_Score'])
46
+ newSkilllst = SkillExtractorDetailsV1.extractWords(inputData, db_params)
47
+ reqSkill = ','.join(reuiredSkilllst) + ','.join(newSkilllst)
48
+
49
+ data = {'Data':['Required Skills', 'Soft Skills', 'Good to have Skills'], 'Values':[reqSkill, ','.join(softskillslst), ','.join(goodtohavelst)]}
50
  df = pd.DataFrame(data)
51
 
52
  return df
 
57
  query = "select upper(skilldetails) skill from skillmaster where weightage = 0"
58
  df = pd.read_sql_query(query, conn)
59
  return df
60
+
61
+ def extractWords(job_description,db_params):
62
+ job_roles = []
63
+ job_description = job_description.replace(')',' ')
64
+ delimiters = ",", " ", " , ", ";","\n","/","\\"
65
+ regex_pattern = '|'.join(map(re.escape, delimiters))
66
+ df = SkillExtractorDetailsV1.getNewSkills(db_params)
67
+ data = re.split(regex_pattern, job_description)
68
+ #data = job_description.split(',')
69
+ for ds in data:
70
+ #print(ds)
71
+ try:
72
+ if(SkillExtractorDetailsV1.skill_Validate(df,ds.strip())):
73
+ job_roles.append(ds)
74
+ #SkillExtractorDetails.GetSkillId(ds.strip(),JdMasterid,db_params)
75
+ print("Skills Identified* : " + ds)
76
+ except Exception as error:
77
+ test = 1
78
+ return job_roles
79
+
80
+ def getNewSkills(db_params):
81
+ query = "select skillid,skilldetails,skilltype,skill_score from skillmaster where weightage = -2"
82
+ conn = psycopg2.connect(**db_params)
83
+ cursor = conn.cursor()
84
+ df_skill_master = pd.read_sql_query(query, conn)
85
+ df_skill_master['skilldetails'] = df_skill_master['skilldetails'].str.upper()
86
+ cursor.close()
87
+ # Close the connection
88
+ conn.close()
89
 
90
+ #print(df_skill_master)
91
+ return df_skill_master
92
+ def skill_Validate(df, skill):
93
+ skill = skill.upper()
94
+ if (len(skill.split()) < 2 and len(skill) < 3) or len(skill.split())==1:
95
+ df['skill_present'] = df['skilldetails'].apply(lambda x: re.match(rf'^{skill}$', x))
96
+ if any(df['skill_present']):
97
+ #print("Valid Skill")
98
+ return 1
99
+ else:
100
+ #print("Not a Skill")
101
+ return 0
102
+ elif df['skilldetails'].str.contains(skill.upper()).any():
103
+ #print("Valid Skill")
104
+ return 1
105
+ else:
106
+ # print("Not a Skill")
107
+ return 0