nlpblogs commited on
Commit
ac085cd
·
verified ·
1 Parent(s): 4463d9f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -23
app.py CHANGED
@@ -110,40 +110,43 @@ if st.session_state['upload_count'] < max_attempts:
110
  if uploaded_files:
111
  st.session_state['upload_count'] += 1
112
  with st.spinner("Wait for it...", show_time=True):
113
- time.sleep(2)
114
- pdf_reader = PdfReader(uploaded_files)
115
- text_data = ""
116
- for page in pdf_reader.pages:
117
- text_data += page.extract_text()
118
-
119
- data = pd.Series(text_data, name='Text')
120
- frames = [job_desc, data]
121
- result = pd.concat(frames)
122
- model = GLiNER.from_pretrained("urchade/gliner_base")
123
- labels = ["person", "country", "organization", "role", "skills"]
124
- entities = model.predict_entities(text_data, labels)
125
- df = pd.DataFrame(entities)
126
- st.subheader("Applicant's Profile", divider = "orange")
127
- fig = px.treemap(entities, path=[px.Constant("all"), 'text', 'label'],
 
 
 
128
  values='score', color='label')
129
- fig.update_layout(margin=dict(t=50, l=25, r=25, b=25))
130
- st.plotly_chart(fig, key="figure 1")
131
 
132
 
133
- job_embedding = model.encode([job_desc])
134
- resume_embedding = model.encode([text_data])
135
 
136
 
137
- similarity_score = model.similarity(job_embedding, resume_embedding)[0][0]
138
 
139
 
140
- st.subheader("Similarity between Applicant's Profile and Job Description", divider = "orange")
141
 
142
- fig = px.imshow(similarity_score, text_auto=True,
143
  labels=dict(x="Keyword similarity", y="Resumes", color="Productivity"),
144
  x=['Resume', 'Jon Description'],
145
  y=['Resume', 'Job Description'])
146
- st.plotly_chart(fig, key="figure 2")
147
  else:
148
  st.warning(f"Maximum upload attempts has been reached ({max_attempts}).")
149
  if 'upload_count' in st.session_state and st.session_state['upload_count'] > 0:
 
110
  if uploaded_files:
111
  st.session_state['upload_count'] += 1
112
  with st.spinner("Wait for it...", show_time=True):
113
+ time.sleep(2)
114
+ pdf_reader = PdfReader(uploaded_files)
115
+ text_data = ""
116
+ for page in pdf_reader.pages:
117
+ text_data += page.extract_text()
118
+
119
+ job_desc_series = pd.Series([job_desc], name='Text') # Convert job_desc to a Series
120
+ data = pd.Series([text_data], name='Text') # Ensure text_data is also a Series
121
+
122
+ frames = [job_desc_series, data]
123
+ result = pd.concat(frames, ignore_index=True) # Concatenate along rows, reset index
124
+
125
+ model = GLiNER.from_pretrained("urchade/gliner_base")
126
+ labels = ["person", "country", "organization", "role", "skills"]
127
+ entities = model.predict_entities(text_data, labels)
128
+ df = pd.DataFrame(entities)
129
+ st.subheader("Applicant's Profile", divider = "orange")
130
+ fig = px.treemap(entities, path=[px.Constant("all"), 'text', 'label'],
131
  values='score', color='label')
132
+ fig.update_layout(margin=dict(t=50, l=25, r=25, b=25))
133
+ st.plotly_chart(fig, key="figure 1")
134
 
135
 
136
+ job_embedding = model.encode([job_desc])
137
+ resume_embedding = model.encode([text_data])
138
 
139
 
140
+ similarity_score = model.similarity(job_embedding, resume_embedding)[0][0]
141
 
142
 
143
+ st.subheader("Similarity between Applicant's Profile and Job Description", divider = "orange")
144
 
145
+ fig = px.imshow(similarity_score, text_auto=True,
146
  labels=dict(x="Keyword similarity", y="Resumes", color="Productivity"),
147
  x=['Resume', 'Jon Description'],
148
  y=['Resume', 'Job Description'])
149
+ st.plotly_chart(fig, key="figure 2")
150
  else:
151
  st.warning(f"Maximum upload attempts has been reached ({max_attempts}).")
152
  if 'upload_count' in st.session_state and st.session_state['upload_count'] > 0: