import streamlit as st import transformers import torch import requests from PIL import Image from transformers import AutoTokenizer, AutoModelForSequenceClassification # 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") # Loading GIF gif_url = "https://raw.githubusercontent.com/Gilbert-B/Forecasting-Sales/main/app/salesgif.gif" "https://docs.gato.txst.edu/78660/w/2000/a_1dzGZrL3bG/fake-fact.jpg" # 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 @st.cache_resource 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 # Get user input text = st.text_input("Enter some text here:") # Home section if choice == 'Home': st.image(gif_url, use_column_width=True, width=400) st.markdown("
This is a Fake News Detection App.
", unsafe_allow_html=True) # Set Page Title st.title('TRUTH- A fake news detection app') st.markdown("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.") # 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") # Define the CSS style for the app st.markdown( """ """, unsafe_allow_html=True ) # About section elif choice == 'About': # Load the banner image banner_image_url = "https://raw.githubusercontent.com/Gilbert-B/Forecasting-Sales/0d7b869515bniVmJZZxhyQ8Fee6m6SCLi64M8Ba72c/app/seer.png" banner_image = Image.open(requests.get(banner_image_url, stream=True).raw) # Display the banner image st.image(banner_image, use_column_width=True) st.markdown('''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.
''', unsafe_allow_html=True)