nlpblogs commited on
Commit
7b3f010
·
verified ·
1 Parent(s): 9770541

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -19
app.py CHANGED
@@ -40,20 +40,18 @@ with st.sidebar:
40
  ''')
41
 
42
 
43
-
44
-
45
  txt = st.text_area("Job description", key = "text 1")
46
  job = pd.Series(txt, name="Text")
47
- st.dataframe(job)
48
 
49
  if 'upload_count' not in st.session_state:
50
  st.session_state['upload_count'] = 0
51
 
52
- max_attempts = 2
53
 
54
  if st.session_state['upload_count'] < max_attempts:
55
  uploaded_files = st.file_uploader(
56
- "Choose a PDF file", accept_multiple_files=True, type="pdf", key="candidate_upload"
57
  )
58
 
59
  if uploaded_files:
@@ -64,18 +62,17 @@ for uploaded_file in uploaded_files:
64
  for page in pdf_reader.pages:
65
  text_data += page.extract_text()
66
  data = pd.Series(text_data, name = 'Text')
67
- st.dataframe(data)
68
 
69
  frames = [job, data]
70
  result = pd.concat(frames)
71
- st.dataframe(result)
72
 
73
- model = GLiNER.from_pretrained("xomad/gliner-model-merge-large-v1.0")
74
- labels = ["person", "country", "city", "organization", "date", "money", "percent value", "position"]
75
  entities = model.predict_entities(text_data, labels)
76
  df = pd.DataFrame(entities)
77
- st.dataframe(entities)
78
- st.dataframe(df)
79
 
80
  import plotly.express as px
81
  fig = px.treemap(entities, path=[px.Constant("all"), 'text', 'label'],
@@ -89,15 +86,13 @@ for uploaded_file in uploaded_files:
89
  tfidf_matrix = vectorizer.fit_transform(result)
90
  tfidf_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out())
91
  st.subheader("TF-IDF Values:")
92
- st.dataframe(tfidf_df)
93
 
94
  cosine_sim_matrix = cosine_similarity(tfidf_matrix)
95
  cosine_sim_df = pd.DataFrame(cosine_sim_matrix)
96
- st.subheader("Cosine Similarity Matrix:")
97
- st.dataframe(cosine_sim_df)
98
 
99
- import plotly.express as px
100
- st.subheader("A score closer to 1 means closer match")
101
 
102
  fig = px.imshow(cosine_sim_df, text_auto=True, labels=dict(x="Cosine similarity", y="Text", color="Productivity"),
103
  x=['text1', 'Jon Description'],
@@ -114,6 +109,3 @@ else:
114
  if 'upload_count' in st.session_state and st.session_state['upload_count'] > 0:
115
  st.info(f"Files uploaded {st.session_state['upload_count']} time(s).")
116
 
117
-
118
-
119
-
 
40
  ''')
41
 
42
 
 
 
43
  txt = st.text_area("Job description", key = "text 1")
44
  job = pd.Series(txt, name="Text")
45
+
46
 
47
  if 'upload_count' not in st.session_state:
48
  st.session_state['upload_count'] = 0
49
 
50
+ max_attempts = 3
51
 
52
  if st.session_state['upload_count'] < max_attempts:
53
  uploaded_files = st.file_uploader(
54
+ "Choose a PDF file", accept_multiple_files=True, type="pdf", key="candidate 1"
55
  )
56
 
57
  if uploaded_files:
 
62
  for page in pdf_reader.pages:
63
  text_data += page.extract_text()
64
  data = pd.Series(text_data, name = 'Text')
65
+
66
 
67
  frames = [job, data]
68
  result = pd.concat(frames)
69
+
70
 
71
+ model = GLiNER.from_pretrained("urchade/gliner_base")
72
+ labels = ["person", "country","organization", "date", "time", "role", "skills", "year"]
73
  entities = model.predict_entities(text_data, labels)
74
  df = pd.DataFrame(entities)
75
+
 
76
 
77
  import plotly.express as px
78
  fig = px.treemap(entities, path=[px.Constant("all"), 'text', 'label'],
 
86
  tfidf_matrix = vectorizer.fit_transform(result)
87
  tfidf_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out())
88
  st.subheader("TF-IDF Values:")
89
+
90
 
91
  cosine_sim_matrix = cosine_similarity(tfidf_matrix)
92
  cosine_sim_df = pd.DataFrame(cosine_sim_matrix)
93
+
 
94
 
95
+
 
96
 
97
  fig = px.imshow(cosine_sim_df, text_auto=True, labels=dict(x="Cosine similarity", y="Text", color="Productivity"),
98
  x=['text1', 'Jon Description'],
 
109
  if 'upload_count' in st.session_state and st.session_state['upload_count'] > 0:
110
  st.info(f"Files uploaded {st.session_state['upload_count']} time(s).")
111