Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import transformers | |
| import torch | |
| import requests | |
| from PIL import Image | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| # Setting the page configurations | |
| st.set_page_config( | |
| page_title="Fake News Detection App", | |
| page_icon="fas fa-exclamation-triangle", | |
| layout="wide", | |
| initial_sidebar_state="auto") | |
| # Load the model and tokenizer | |
| model_name = AutoModelForSequenceClassification.from_pretrained("ikoghoemmanuell/finetuned_fake_news_roberta") | |
| tokenizer_name = AutoTokenizer.from_pretrained("ikoghoemmanuell/finetuned_fake_news_roberta") | |
| # Define the CSS style for the app | |
| st.markdown( | |
| """ | |
| <style> | |
| body { | |
| background-color: #f5f5f5; | |
| } | |
| h1 { | |
| color: #4e79a7; | |
| } | |
| </style> | |
| """, | |
| unsafe_allow_html=True | |
| ) | |
| # Set up sidebar | |
| st.sidebar.header('Navigation') | |
| menu = ['Home', 'About'] | |
| choice = st.sidebar.selectbox( | |
| "Select an option", | |
| menu) | |
| # Define the function for detecting fake news | |
| def detect_fake_news(text): | |
| # Load the pipeline. | |
| pipeline = transformers.pipeline("text-classification", | |
| model=model_name, | |
| tokenizer=tokenizer_name) | |
| # Predict the sentiment. | |
| prediction = pipeline(text) | |
| sentiment = prediction[0]["label"] | |
| score = prediction[0]["score"] | |
| return sentiment, score | |
| # Home section | |
| if choice == 'Home': | |
| st.markdown("<h1 style='text-align: center;margin-top:0px;'>TRUTH- A fake news detection app</h1>", | |
| unsafe_allow_html=True) | |
| # Loading GIF | |
| gif_url = "https://thumbs.gfycat.com/AnchoredWeeklyGreatwhiteshark-size_restricted.gif" | |
| st.image(gif_url, | |
| use_column_width=True, | |
| width=400) | |
| st.markdown("<h1 style='text-align: center;'>Welcome</h1>", | |
| unsafe_allow_html=True) | |
| st.markdown("<p style='text-align: center;'>This is a Fake News Detection App.</p>", | |
| unsafe_allow_html=True) | |
| # Get user input | |
| text = st.text_input("Enter some text and we'll tell you if it's likely to be fake news or not!") | |
| if st.button('Predict'): | |
| # Show fake news detection output | |
| if text: | |
| with st.spinner('Checking if news is Fake...'): | |
| label, score = detect_fake_news(text) | |
| if label == "LABEL_1": | |
| st.error(f"The text is likely to be fake news with a confidence score of {score*100:.2f}%!") | |
| else: | |
| st.success(f"The text is likely to be genuine with a confidence score of {score*100:.2f}%!") | |
| else: | |
| with st.spinner('Checking if news is Fake...'): | |
| st.warning("Please enter some text to detect fake news.") | |
| # About section | |
| if choice == 'About': | |
| # Load the banner image | |
| banner_image_url = "https://docs.gato.txst.edu/78660/w/2000/a_1dzGZrL3bG/fake-fact.jpg" | |
| # Display the banner image | |
| st.image( | |
| banner_image_url, | |
| use_column_width=True, | |
| width=400) | |
| st.markdown(''' | |
| <p style='font-size: 20px; font-style: italic;font-style: bold;'> | |
| TRUTH is a cutting-edge application specifically designed to combat the spread of fake | |
| news. Using state-of-the-art algorithms and advanced deep learning techniques, our app | |
| empowers users to detect and verify the authenticity of news articles. TRUTH provides | |
| accurate assessments of the reliability of news content. With its user-friendly | |
| interface and intuitive design, the app enables users to easily navigate and obtain | |
| trustworthy information in real-time. With TRUTH, you can take control of the news you | |
| consume and make informed decisions based on verified facts. | |
| </p> | |
| ''', | |
| unsafe_allow_html=True) |