Spaces:
Sleeping
Sleeping
import gradio as gr | |
from bs4 import BeautifulSoup | |
from bs4.element import Comment | |
import bibtexparser | |
from dateutil import parser | |
import json | |
import requests | |
import tldextract | |
from collections import defaultdict | |
import re | |
import mwparserfromhell | |
from transformers import pipeline | |
from source_eval_model import check_source_quality | |
from talk_page_analysis import tone_talkpage | |
def combined_function(wiki_url): | |
tones = tone_talkpage(wiki_url) | |
flags = check_source_quality(wiki_url) | |
negative_tones = set(["anger", "disgust", "fear", "sadness", "pessimism"]) | |
final_text = "" | |
if set(i[0] for i in tones).intersection(negative_tones): | |
final_text += "Beware! This page might be controversial among editors. We have detected extreme emotions in the Talk page. The tones detected and their probabilities are: \n" | |
else: | |
final_text += "The tones detected and their probabilities are: \n" | |
for tone in tones: | |
final_text += tone[0] + ": " + str(round(tone[1]*100, 2)) + "% \n" | |
red = flags[0] | |
yellow = flags[1] | |
green = flags[2] | |
unknown = flags[3] | |
final_text += "There are " + str(len(red))+ " red flags: \n" | |
for red_ele in red: | |
final_text += red_ele[0] + " published by " + red_ele[1] + "\n" | |
print("\n") | |
final_text += "There are " + str(len(yellow))+ " yellow flags: \n" | |
for yel_ele in yellow: | |
final_text += yel_ele[0] + " published by " + yel_ele[1] + "\n" | |
print("\n") | |
final_text += "There are " + str(len(green))+ " green flags: \n" | |
for green_ele in green: | |
final_text += green_ele[0] + " published by " + green_ele[1] + "\n" | |
print("\n") | |
final_text += "There are " + str(len(unknown))+ " unknowns: \n" | |
for unk_ele in unknown: | |
final_text += unk_ele[0] | |
return final_text | |
iface = gr.Interface(fn=combined_function, inputs="text", outputs="text") | |
iface.launch() |