Spaces:
Build error
Build error
| import re | |
| import torch | |
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline | |
| if torch.cuda.is_available(): | |
| device = torch.device("cuda") | |
| else: | |
| device = torch.device("cpu") | |
| summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6", device=device) | |
| checkpoint = "bert-base-uncased" | |
| tokenizer = AutoTokenizer.from_pretrained(checkpoint) | |
| model = AutoModelForSequenceClassification.from_pretrained("yello-co/ys-bert-base-uncased-summary-multi-label") | |
| def remove_html(text): | |
| html_pattern = re.compile(r'<.*?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});') | |
| return re.sub(html_pattern, '', text) | |
| def remove_markdown(text): | |
| markdown_pattern = re.compile(r'(\*\*|__|`|~~|#|\*|_|-|\+|!|\[.*?\]\(.*?\))') | |
| return re.sub(markdown_pattern, '', text) | |
| def clean_text(input_text): | |
| html_removed = remove_html(input_text) | |
| html_markdown_removed = remove_markdown(html_removed) | |
| return html_markdown_removed | |
| def tag_job_description(position_title, job_description): | |
| job_description = clean_text(job_description) | |
| summary = summarizer(job_description, truncation=True)[0]["summary_text"] | |
| text = position_title + ": " + summary | |
| inputs = tokenizer(text, truncation=True, max_length=512, return_tensors="pt") | |
| outputs = model(**inputs) | |
| probabilities = torch.sigmoid(torch.Tensor(outputs.logits)) | |
| predictions = {model.config.id2label[idx]: p for idx, p in enumerate(probabilities[0])} | |
| return predictions | |
| job_tagger = gr.Interface(fn=tag_job_description, inputs=["text", "text"], | |
| outputs=gr.Label(label="Predicted Tags")) | |
| job_tagger.launch() | |