File size: 3,990 Bytes
5bea701
 
5a5c182
c40c6c3
88d066d
040362f
5bea701
9ac410d
 
 
 
 
88d066d
 
9ac410d
23fd868
 
 
 
 
cef76db
 
 
 
 
 
c71c13d
bf47e43
 
 
5196b87
1a68e65
bf47e43
eddfa20
1a68e65
 
bf47e43
5196b87
bf47e43
1a68e65
bf47e43
 
 
 
 
 
 
af06187
e0fd9ad
5196b87
1a68e65
 
 
 
 
 
eddfa20
1a68e65
 
 
 
eddfa20
1a68e65
 
eddfa20
 
1a68e65
eddfa20
 
1a68e65
 
5b1512b
ffb9a11
bf47e43
 
 
5196b87
1a68e65
bf47e43
eddfa20
1a68e65
 
bf47e43
5196b87
bf47e43
1a68e65
bf47e43
 
 
 
 
 
 
af06187
e0fd9ad
5196b87
1a68e65
 
 
 
 
 
eddfa20
1a68e65
 
 
 
eddfa20
1a68e65
 
eddfa20
 
1a68e65
 
 
bf47e43
 
 
 
1a68e65
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import streamlit as st
from PyPDF2 import PdfReader
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer

from sklearn.metrics.pairwise import cosine_similarity

import streamlit as st
from PyPDF2 import PdfReader
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
from gliner import GLiNER


import streamlit as st
import pandas as pd
from PyPDF2 import PdfReader
from gliner import GLiNER

import streamlit as st
import pandas as pd
from PyPDF2 import PdfReader
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import tempfile

txt = st.text_area("Job description", key = "text 1")
job_description_series = pd.Series(txt, name="Text")
st.dataframe(job_description_series)

uploaded_files = st.file_uploader(
    "Choose a PDF file(s) for candidate profiles",  type="pdf", key = "candidate 1"
)


all_resumes_text = []  # Store the text content of each PDF

if uploaded_files:
    for uploaded_file in uploaded_files:
        try:
            pdf_reader = PdfReader(uploaded_file)
            text_data = ""
            for page in pdf_reader.pages:
                text_data += page.extract_text()
            all_resumes_text.append(text_data)
        except Exception as e:
            st.error(f"Error processing file {uploaded_file}: {e}")

    if all_resumes_text:
        all_documents = [job_description_series.iloc[0]] + all_resumes_text

        vectorizer = TfidfVectorizer()
        tfidf_matrix = vectorizer.fit_transform(all_documents)

        tfidf_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out())
        st.subheader("TF-IDF Values:")
        st.dataframe(tfidf_df)

        cosine_sim_matrix = cosine_similarity(tfidf_matrix)
        cosine_sim_df = pd.DataFrame(cosine_sim_matrix)
        st.subheader("Cosine Similarity Matrix:")
        st.dataframe(cosine_sim_df)

        # Display similarity scores between the job description and each resume
        st.subheader("Cosine Similarity Scores (Job Description vs. Resumes):")
        for i, similarity_score in enumerate(cosine_sim_matrix[0][1:]):
            st.write(f"Similarity with Candidate Profile {i + 1}: {similarity_score:.4f}")


       
st.divider()

txt = st.text_area("Job description", key = "text 2")
job_description_series = pd.Series(txt, name="Text")
st.dataframe(job_description_series)

uploaded_files = st.file_uploader(
    "Choose a PDF file(s) for candidate profiles",  type="pdf", key = "candidate 2"
)


all_resumes_text = []  # Store the text content of each PDF

if uploaded_files:
    for uploaded_file in uploaded_files:
        try:
            pdf_reader = PdfReader(uploaded_file)
            text_data = ""
            for page in pdf_reader.pages:
                text_data += page.extract_text()
            all_resumes_text.append(text_data)
        except Exception as e:
            st.error(f"Error processing file {uploaded_file}: {e}")

    if all_resumes_text:
        all_documents = [job_description_series.iloc[0]] + all_resumes_text

        vectorizer = TfidfVectorizer()
        tfidf_matrix = vectorizer.fit_transform(all_documents)

        tfidf_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out())
        st.subheader("TF-IDF Values:")
        st.dataframe(tfidf_df)

        cosine_sim_matrix = cosine_similarity(tfidf_matrix)
        cosine_sim_df = pd.DataFrame(cosine_sim_matrix)
        st.subheader("Cosine Similarity Matrix:")
        st.dataframe(cosine_sim_df)

        # Display similarity scores between the job description and each resume
        st.subheader("Cosine Similarity Scores (Job Description vs. Resumes):")
        for i, similarity_score in enumerate(cosine_sim_matrix[0][1:]):
            st.write(f"Similarity with Candidate Profile {i + 1}: {similarity_score:.4f}")