thugCodeNinja commited on
Commit
b8985e3
·
verified ·
1 Parent(s): d2552db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -9
app.py CHANGED
@@ -3,12 +3,13 @@ import torch
3
  from torch.nn.functional import softmax
4
  import shap
5
  import requests
6
- from transformers import RobertaTokenizer, pipeline, RobertaModel
 
7
  model_dir = 'temp'
8
  tokenizer = RobertaTokenizer.from_pretrained(model_dir)
9
- model = RobertaModel.from_pretrained(model_dir)
10
-
11
-
12
  def process_text(input_text, input_file):
13
  if input_text:
14
  text = input_text
@@ -43,17 +44,19 @@ def process_text(input_text, input_file):
43
  for item in search_results['items']:
44
  title = item.get('title', '')
45
  link = item.get('link', '')
46
- similar_articles.append({'title': title, 'link': link})
47
  return similar_articles[:5]
48
 
49
- pipe = pipeline('text-classification', model=model, tokenizer=tokenizer)
50
  prediction = pipe([text])
51
  explainer = shap.Explainer(pipe)
52
  shap_values = explainer([text])
53
- text_plot = shap.plots.text(shap_values, display=True)
 
 
 
54
  similar_articles = find_plagiarism(text)
55
 
56
- return processed_result, prob, final_label, text_plot,similar_articles
57
 
58
  text_input = gr.Textbox(label="Enter text")
59
  file_input = gr.File(label="Upload a text file")
@@ -62,4 +65,3 @@ title = "Group 2- ChatGPT text detection module"
62
  description = '''Please upload text files and text input responsibly and await the explainable results. The approach in place includes finetuning a Roberta model for text classification.Once the classifications are done the decision is exaplined thorugh the SHAP text plot.
63
  The probability is particularly explained by the attention plots through SHAP'''
64
  gr.Interface(fn=process_text,title=title,description=description, inputs=[text_input, file_input], outputs=outputs).launch()
65
-
 
3
  from torch.nn.functional import softmax
4
  import shap
5
  import requests
6
+ from transformers import RobertaTokenizer,RobertaForSequenceClassification, pipeline
7
+ from IPython.core.display import HTML
8
  model_dir = 'temp'
9
  tokenizer = RobertaTokenizer.from_pretrained(model_dir)
10
+ model = RobertaForSequenceClassification.from_pretrained(model_dir)
11
+ #pipe = pipeline("text-classification", model="thugCodeNinja/robertatemp")
12
+ pipe = pipeline("text-classification",model=model,tokenizer=tokenizer)
13
  def process_text(input_text, input_file):
14
  if input_text:
15
  text = input_text
 
44
  for item in search_results['items']:
45
  title = item.get('title', '')
46
  link = item.get('link', '')
47
+ similar_articles.append([ title,link])
48
  return similar_articles[:5]
49
 
 
50
  prediction = pipe([text])
51
  explainer = shap.Explainer(pipe)
52
  shap_values = explainer([text])
53
+ shap_plot_html = HTML(shap.plots.text(shap_values, display=False)).data
54
+ # HTML(shap.plots.text(shap_values, display=False))
55
+ # with open('rendered.html', 'w') as file:
56
+ # file.write(shap.plots.text(shap_values, display=False))
57
  similar_articles = find_plagiarism(text)
58
 
59
+ return processed_result, prob, final_label, shap_plot_html,similar_articles
60
 
61
  text_input = gr.Textbox(label="Enter text")
62
  file_input = gr.File(label="Upload a text file")
 
65
  description = '''Please upload text files and text input responsibly and await the explainable results. The approach in place includes finetuning a Roberta model for text classification.Once the classifications are done the decision is exaplined thorugh the SHAP text plot.
66
  The probability is particularly explained by the attention plots through SHAP'''
67
  gr.Interface(fn=process_text,title=title,description=description, inputs=[text_input, file_input], outputs=outputs).launch()