Spaces:
Running
Running
import spacy | |
import gradio as gr | |
from spacy import displacy | |
from pdfminer.high_level import extract_text | |
nlp = spacy.load("en_cv_info_extr") | |
colors = {} | |
for label in nlp.get_pipe('ner').labels: | |
colors[label] = "linear-gradient(90deg, #aa9cfc, #fc9ce7)" | |
options = {"ents": list(nlp.get_pipe('ner').labels), "colors": colors} | |
def resume_ner(file): | |
resume = extract_text(file.name) | |
doc = nlp(resume) | |
html = displacy.render(doc, style="ent", page=True, options=options) | |
html = ( | |
"<div style='max-width:100%; max-height:500px; overflow:auto'>" | |
+ html | |
+ "</div>" | |
) | |
return html | |
demo = gr.Interface( | |
resume_ner, | |
gr.File(file_types=[".pdf"]), | |
["html"], | |
) | |
demo.launch() |