File size: 3,428 Bytes
5bea701 5a5c182 c40c6c3 88d066d 040362f 5bea701 9ac410d 88d066d 9ac410d 23fd868 cef76db c71c13d bf47e43 5929cca 5196b87 1a68e65 5929cca eddfa20 fb9b052 fb5218a 87c1f41 5043930 36fcfae f98e96c 87c1f41 8da9b1a 63fdfc2 b1a0cf1 1704d5a b1a0cf1 1704d5a b1a0cf1 63fdfc2 dd3054c 5b1512b ffb9a11 bf47e43 5929cca 5196b87 1a68e65 5929cca eddfa20 fb9b052 fb5218a 87c1f41 5043930 87c1f41 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 |
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 = pd.Series(txt, name="Text")
st.dataframe(job)
uploaded_files = st.file_uploader(
"Choose a CSV file", accept_multiple_files=True, type = "pdf", key = "candidate 1"
)
for uploaded_file in uploaded_files:
pdf_reader = PdfReader(uploaded_file)
text_data = ""
for page in pdf_reader.pages:
text_data += page.extract_text()
data = pd.Series(text_data, name = 'Text')
st.dataframe(data)
frames = [job, data]
result1 = pd.concat(frames)
st.dataframe(result1)
result = result1.values.tolist()
st.dataframe(result)
model = GLiNER.from_pretrained("urchade/gliner_base")
labels = ["person", "country", "organization", "time", "role"]
entities = model.predict_entities(text_data, labels)
entity_dict = {}
for label in labels:
entity_dict[label] = [entity["text"] for entity in entities if entity["label"] == label]
data = {"Text": text_data, **entity_dict}
st.dataframe(data)
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(result)
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)
import plotly.express as px
fig = px.imshow(cosine_sim_df, text_auto=True, labels=dict(x="Cosine similarity", y="Text", color="Productivity"),
x=['text1', 'text2'],
y=['text1', 'text2'])
st.plotly_chart(fig)
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 = pd.Series(txt, name="Text")
st.dataframe(job)
uploaded_files = st.file_uploader(
"Choose a CSV file", accept_multiple_files=True, type = "pdf", key = "candidate 2"
)
for uploaded_file in uploaded_files:
pdf_reader = PdfReader(uploaded_file)
text_data = ""
for page in pdf_reader.pages:
text_data += page.extract_text()
data = pd.Series(text_data, name = 'Text')
st.dataframe(data)
frames = [job, data]
result = pd.concat(frames)
st.dataframe(result)
|