VISVESVARAYA TECHNOLOGICAL UNIVERSITY
JNANASANGAMA, BELAGAVI-590 018, KARNATAKA
MINI PROJECT REPORT
ON
“AI-DRIVEN NEWS SENTIMENT ANALYZER”
Submitted in the partial fulfilment of requirements for the award of Degree
B.E. in Computer Science and Engineering
PROJECT ASSOCIATES
Afifa M Makandar 4BD23CS005
Ayush R 4BD23CS029
Mohammad Salman R 4BD23CS107
Navya Shree A R 4BD23CS115
GUIDE
Dr. Usha G R Ph.D.
Associate Professor
Dept. of CS&E
Bapuji Institute of Engineering and Technology
Department of Computer Science and Engineering
Davanagere-577004
December 2025
Bapuji Institute of Engineering and Technology
Davangere – 577004
Department of Computer Science and Engineering
CERTIFICATE
This is to certify that Afifa M Makandar, Ayush R, Mohammad Salman R, Navya Shree R
bearing USN 4BD23CS005, 4BD23CS029, 4BD23CS107, 4BD23CS115 respectively of
Computer Science and Engineering department have satisfactorily submitted the Mini Project
report entitled “AI-Driven News Sentiment Analyzer” in the partial fulfilment of the
requirements for the award of Degree of Bachelor of Engineering (B.E.) in Computer Science
and Engineering, under the VTU during the academic year 2025-26.
__________________________ ______________________
Dr. Usha G R Ph.D. Prof. Shankar Sarji P [Link].
Associate Professor Assistant Professor
Dept. of CS&E Dept. of CS&E
Guide Mini Project Co-ordinator
____________________ ______________________
Dr. Nirmala C R Ph.D. Dr. H B Aravind Ph.D.
Head of Department Principal
CS & E
Date: 27-11-2025
Place: Davangere
ACKNOWLEDGEMENT
Salutations to our beloved and highly esteemed institute, “BAPUJI INSTITUTE OF
ENGINEERING AND TECHNOLOGY” for having well-qualified staff and labs furnished with
the necessary equipment.
We express our sincere thanks to our guides Dr. Usha G R, Associate Professor,
Department of Computer Science and Engineering, BI.E.T., Davangere, for giving us the constant
encouragement, support and valuable guidance throughout the course of the mini project without
whose stable guidance this project would not been achieved.
We are grateful to mini–Project Coordinators Mr. Shankar Sarji P, Assistant Professor,
Department of Computer Science and Engineering, B.I.E.T., for their constant support and
feedback through-out this mini-project.
We express whole hearted gratitude to Dr. Nirmala C R who is our respectable H.O.D of
Computer science and Engineering Department. We wish to acknowledge her help who made our
task easy by providing with her valuable help and encouragement
We also express our wholehearted gratitude to our respected Principal, Dr. H B Aravind
for his moral support and encouragement.
We would like to extend our gratitude to all Teaching and Non-Teaching staff of the
Department of Computer Science and Engineering for the help and support rendered to us. We
have benefited a lot from the feedback, and suggestions given by them.
We would like to extend our gratitude to all our family members and friends especially for
their advice and moral support.
Afifa M Makandar (4BD23CS005)
Ayush R (4BD23CS029)
Mohammad Salman R (4BD23CS107)
Navya Shree A R (4BD23CS115)
Bapuji Educational Association (Regd.)
Bapuji Institute of Engineering and Technology, Davangere-577004
Vision and Mission of the Computer Science and Engineering
Department
Vision
“To be a centre-of-excellence by imbibing state-of-the-art technology in the field of Computer
Science and Engineering, thereby enabling students to excel professionally and be ethical.”
Mission
1. Adapting best teaching and learning techniques that cultivates Questioning and
Reasoning culture among the students.
2. Creating collaborative learning environment that ignites the critical thinking in students
and leading to the innovation.
3. Establishing Industry Institute relationship to bridge skill gap and make them industry
ready and relevant.
4. Mentoring students to be socially responsible by inculcating ethical and moral values.
Program Educational Objectives (PEOs):
PEO1 To apply skills acquired in the discipline of computer science and engineering for
solving Societal and industrial problems with apt technology intervention.
PEO2 To continue their carrier ion industry /academia or pursue higher studies and
research.
PEO3 To become successful entrepreneurs, innovators to design and develop software
products and services that meets societal, technical and business challenges.
PEO4 To work in the diversified environment by acquiring leadership qualities with
effective communication skills accompanied by professional and ethical values.
Program Specific Outcomes (PSOs):
PSO1 Analyse and develop solutions for problems that are complex in nature but applying
the knowledge acquired from the core subjects of this program.
PSO2 To develop secure, scalable, resilient and distributed applications for industry and
societal Requirements.
PSO3 To learn and apply the concepts and contract of emerging technologies like artificial
intelligence, machine learning, deep learning, big-data analytics, IOT, cloud
computing etc for any real time problems.
ABSTRACT
The AI-Driven News Sentiment Analyzer is a full-stack web application designed to collect live
and historical news along with tweets, analyze their sentiment, and present insights through an
interactive dashboard and AI chatbot. It solves the challenge of manually reading large volumes of
articles by automatically classifying sentiment into positive, negative, or neutral categories using a
hybrid sentiment model combining VADER and DistilBERT. The system gathers information
from multiple news platforms and social media sources, applies Named Entity Recognition (NER)
to extract companies, sectors, and topics, and processes the sentiment in near real-time. All
analyzed results are stored in a database and displayed through a fast, user-friendly dashboard that
updates within 15-30 min. Additional features include real-time alerts for sudden sentiment
spikes, detailed charts, statistics, and an AI chatbot that answers sentiment-related queries. With
the ability to process thousands of articles per day and achieving an accuracy of about 87%, this
system serves as both an effective mini project and a strong foundation for building a real-time
sentiment monitoring platform.
TABLE OF CONTENTS
CHAPTERS PAGE. NO
CHAPTER 1: INTRODUCTION 1
CHAPTER 2: LITERATURE SURVEY
2.1 Review of existing work 2
2.2 Review in table format 2
2.3 Literature review summary 2
2.4 Gaps identified 3
2.5 Problem discription 3
2.6 Problem statement 3
2.7 Objectives 4
CHAPTER 3: METHODOLOGY 5
CHAPTER 4: DESIGN AND IMPLEMENTATION 7
CHAPTER 5: RESULTS 11
CONCLUSION AND FUTURE ENHANCEMENT 12
REFRENCES 13
Mini Project(BCS586) 2025-2026
CHAPTER 1: INTRODUCTION
In recent years, the volume of digital news and social media content has increased rapidly, making
it increasingly difficult for individuals, investors, and organizations to manually analyze
information and understand overall public sentiment. Platforms like online news portals and X/
Twitter generate massive amounts of text every minute, and reviewing each article or post
becomes time-consuming, subjective, and impractical. Sentiment analysis, also called opinion
mining, addresses this challenge by using Natural Language Processing (NLP) and Machine
Learning (ML) to automatically identify whether the sentiment in text is positive, negative, or
neutral.
This project, “AI-Driven News Sentiment Analyzer”, aims to provide an intelligent solution by
collecting both live and historical news data, processing and cleaning the text, and performing
sentiment analysis using a hybrid model combining VADER and DistilBERT. The system is
designed to give users a clearer and faster understanding of sentiment patterns across different
companies and topics. It also includes an AI-powered chatbot that enables users to ask questions
like “What is the sentiment about Tesla today?” or “Compare the sentiment of Apple vs
Microsoft,” offering a more interactive and personalized experience.
The need for this project is driven by the limitations of manual sentiment interpretation, which is
slow, inconsistent, and unable to handle large-scale data. News content can be complex or biased,
making automated and standardized analysis crucial for accurate insights. Users in areas like
finance, technology, and research require real-time sentiment trends for better decision-making.
Existing tools are often limited, either relying on simple lexicon-based methods or lacking a
proper visualization dashboard. To overcome these issues, the proposed system collects multi-
source news and tweets, applies hybrid sentiment analysis, stores the results efficiently, and
presents them through an interactive dashboard and chatbot interface.
BIET 1
Mini Project(BCS586) 2025-2026
CHAPTER 2: LITERATURE SURVEY
2.1 Review of Existing Work
• Many early sentiment analysis systems used lexicon-based approaches such as VADER.
These methods are fast and do not require training data but are limited by fixed dictionaries
and rules.
• Recent research uses deep learning models like BERT and DistilBERT, which provide better
accuracy by understanding context, but they are heavier and need more computation.
• Several academic projects focus on sentiment analysis of Twitter data or product reviews, but
fewer works combine multiple sources (news + social media) into a single platform.
• Most published work presents models and accuracy scores, but often lacks a real-time
dashboard or user interface for non-technical users.
2.2 Literature Review in Table Format
1. Hossain et al. – Opinion-Enhanced Hybrid BERT (2025)
Method: Hybrid BERT with opinion features
Domain: Context-aware sentiment
Strength: Very high accuracy
Limitation: Heavy model, not real-time
2. Ramathulasi et al. – Hybrid VADER-BERT Framework (2025)
Method: Weighted fusion (VADER + BERT)
Domain: Social media sentiment
Strength: Good balance of speed and accuracy
Limitation: Fusion needs tuning
3. Aggarwal et al. – Comparing VADER, BERT & Flair (2025)
Method: Benchmark comparison
Domain: Short and long texts
Strength: Shows BERT best for context
Limitation: Only comparison, no new model
BIET 2
Mini Project(BCS586) 2025-2026
4. Abhiram Reddy et al. – Real-Time Sentiment Dashboard (2025)
Method: VADER + DistilBERT dual model
Domain: Real-time sentiment systems
Strength: Practical and real-time
Limitation: Complex pipeline
2.3 Literature Review Summary
From the above works, it is clear that:
• Lexicon-based models are simple and fast but not always accurate.
• Transformer models are accurate but computationally expensive.
• Many systems target only one data source.
• Few works provide a full-stack, real-time dashboard with integrated chatbot.
2.4 Gaps Identified
• Lack of a combined (hybrid) approach that uses strengths of both VADER and DistilBERT.
• Limited real-time dashboards for sentiment of news + social data.
• No integrated conversational interface to query sentiment data.
• Less focus on entity-level sentiment visualization.
2.5 Problem Description
There is a need for a system that can:
• Continuously collect news and tweets,
• Use a hybrid sentiment model for better accuracy,
• Present entity-wise sentiment trends,
2.6 Final Problem Statement
“To design and develop an AI-Driven News Sentiment Analyzer that collects live and previous
news data, performs hybrid sentiment analysis, and provides an interactive dashboard and chatbot
to visualize and query sentiment trends for different entities.”
BIET 3
Mini Project(BCS586) 2025-2026
2.7 Objectives
• Combine VADER and DistilBERT for improved sentiment accuracy.
• Support entity-level and time-series analysis.
• Provide an integrated user interface for analysis and exploration.
BIET 4
Mini Project(BCS586) 2025-2026
CHAPTER 3: METHODOLOGY
Figure 1: Methodology diagram
The project follows a structured and modular methodology, beginning with requirement analysis,
scope definition, and an in-depth literature survey to identify suitable sentiment analysis
techniques. The system is designed using a three-layer architecture consisting of the Data Layer,
Application Layer, and Presentation Layer. The Data Layer uses PostgreSQL (Supabase) to store
news and tweet data along with Redis for caching. The Application Layer, implemented with
FastAPI, handles data collection from news APIs and RSS feeds, preprocessing, sentiment
analysis, Named Entity Recognition (NER), and all API endpoints. The Presentation Layer,
developed using React and TypeScript, displays dashboards and a chatbot interface. During data
collection, the system fetches live and historical news and optionally tweets, stores essential fields
such as headlines, timestamps, descriptions, and URLs, and removes duplicates using hash-based
comparison. Preprocessing includes cleaning text by removing HTML tags and unwanted
characters, converting text to lowercase, and preparing it to meet transformer model input
constraints.
BIET 5
Mini Project(BCS586) 2025-2026
Sentiment analysis uses a hybrid approach that combines VADER and DistilBERT to achieve more
reliable results. VADER provides a compound sentiment score between –1 and +1, while
DistilBERT generates probabilities for positive, negative, and neutral classes. These outputs are
combined using a weighted formula to produce the final sentiment label and score. NER is used to
identify important entities such as company names and map them to identifiers like stock tickers,
after which entity-wise sentiment is aggregated across different time periods. The dashboard
visualizes overall sentiment, percentage distribution, trends over time, and recently collected
articles with sentiment tags. The chatbot enables users to ask natural-language questions, classifies
the query type (such as comparison or sentiment lookup), retrieves relevant data from the database,
and responds with clear and informative summaries.
BIET 6
Mini Project(BCS586) 2025-2026
CHAPTER 4: DESIGN AND IMPLEMENTATION
Pseudo Code – Data Collection
FUNCTION collect_news():
sources = list_of_news_sources
FOR each source IN sources:
articles = fetch_articles_from_source(source)
FOR each article IN articles:
IF not is_duplicate(article):
save_article_to_database(article)
enqueue_for_sentiment_analysis([Link])
END FUNCTION
FUNCTION is_duplicate(article):
hash_value = hash([Link] + [Link])
IF hash_value exists_in_database:
RETURN TRUE
ELSE:
RETURN FALSE
END FUNCTION
Pseudo Code – Sentiment Analysis
FUNCTION analyze_article_sentiment(article_id):
article = get_article_from_database(article_id)
text = [Link] + " " + [Link]
vader_score = run_vader(text)
bert_probs = run_distilbert(text) // returns [neg, neu, pos]
final_label, final_score = combine(vader_score, bert_probs)
update_article_with_sentiment(article_id, final_label, final_score)
BIET 7
Mini Project(BCS586) 2025-2026
END FUNCTION
FUNCTION combine(vader_score, bert_probs):
// convert VADER to approximate probabilities
IF vader_score > 0.1:
vader_pos = (vader_score + 1) / 2
vader_neg = 0
vader_neu = 1 - vader_pos
ELSE IF vader_score < -0.1:
vader_neg = (abs(vader_score) + 1) / 2
vader_pos = 0
vader_neu = 1 - vader_neg
ELSE:
vader_neu = 0.8
vader_pos = 0.1
vader_neg = 0.1
final_neg = 0.4 * vader_neg + 0.6 * bert_probs
final_neu = 0.4 * vader_neu + 0.6 * bert_probs[^10]
final_pos = 0.4 * vader_pos + 0.6 * bert_probs[^11]
IF final_pos is max:
label = "positive"
ELSE IF final_neg is max:
label = "negative"
ELSE:
label = "neutral"
score = final_pos - final_neg
BIET 8
Mini Project(BCS586) 2025-2026
RETURN label, score
END FUNCTION
Pseudo Code – Entity Extraction
FUNCTION extract_entities_for_article(article_id):
article = get_article(article_id)
entities = run_ner([Link])
mapped_tickers = map_entities_to_tickers(entities)
save_entities(article_id, mapped_tickers)
END FUNCTION
Pseudo Code – Chatbot Logic
FUNCTION process_user_query(query_text):
intent = classify_intent(query_text)
entities = extract_entities_from_text(query_text)
IF intent == "sentiment_query" AND entities not empty:
entity = first_entity(entities)
stats = get_sentiment_stats_for_entity(entity)
response = format_sentiment_response(entity, stats)
ELSE IF intent == "comparison_query" AND count(entities) >= 2:
entity1 = entities
entity2 = entities[^10]
stats1 = get_sentiment_stats_for_entity(entity1)
stats2 = get_sentiment_stats_for_entity(entity2)
response = format_comparison_response(entity1, stats1, entity2, stats2)
ELSE IF intent == "trending_query":
trending = get_trending_entities()
response = format_trending_response(trending)
ELSE:
BIET 9
Mini Project(BCS586) 2025-2026
response = default_help_message()
RETURN response
END FUNCTION
BIET 10
Mini Project(BCS586) 2025-2026
CHAPTER 5: RESULTS
Functional Results
• The system successfully collects news articles at regular intervals.
• Sentiment labels (positive, negative, neutral) are assigned to each article.
• Entity-wise sentiment is visible on the dashboard.
• The chatbot responds to simple queries about sentiment and trends.
Sample Output
• Dashboard shows:
o Total Articles: e.g., 156
o Positive: 65, Negative: 41, Neutral: 50
o Average Sentiment Score: around 0.3–0.4 (slightly positive)
• Entity table shows:
o Tesla: Positive sentiment with high score and many mentions.
o Apple: Slightly negative sentiment due to supply chain news.
• Chatbot examples:
o User: “What is the sentiment about Tesla?”
o Bot: “Based on recent articles, Tesla has overall POSITIVE sentiment with score
around 0.7…”
Performance Results (Qualitative)
• Hybrid model improves accuracy compared to using only VADER.
• Response time for single article sentiment analysis is within a fraction of a second.
• Dashboard loads within a few seconds with typical data volume.
BIET 11
Mini Project(BCS586) 2025-2026
CONCLUSION AND FUTURE ENHANCEMENT
Conclusion:
The AI-Driven News Sentiment Analyzer project successfully demonstrates how modern NLP
techniques can be combined to analyze and visualize sentiment from large volumes of news data.
The system efficiently collects both live and historical articles, applies a hybrid sentiment analysis
approach using VADER and DistilBERT, stores the processed results, and presents them through
an interactive dashboard and AI chatbot. This enables users to quickly understand overall market
mood as well as entity-wise sentiment trends. Most of the project objectives were achieved,
including multi-source data collection, implementation of a hybrid sentiment model, and
development of a functional dashboard and chatbot interface. Entity recognition and trend analysis
were implemented at a basic level, providing a foundation that can be expanded in future work.
Overall, the project meets its goals and demonstrates the practical value of automated sentiment
monitoring.
Future Enhancements:
Future enhancements include adding multilingual support, advanced visualizations, and integration
with stock price data for deeper sentiment–market correlation. The system can also be improved
with a more powerful LLM-based chatbot, role-based user personalization, and cloud deployment
with auto-scaling and monitoring capabilities.
BIET 12
Mini Project(BCS586) 2025-2026
REFERENCES
1. Hossain et al. (2025). Opinion-Enhanced Hybrid BERT for Context-Aware Sentiment.
[Link]
2. Ramathulasi et al. (2025). Hybrid VADER-BERT Framework for Balanced Performance.
[Link]
3. Aggarwal et al. (2025). Comparative Analysis of VADER, BERT, and Flair.
[Link]
4. Abhiram Reddy et al. (2025). Real-Time Sentiment Dashboard Using Hybrid Models.
[Link]
5. Kumar et al. (2024). Domain-Specific FinBERT for Financial News Sentiment Analysis.
[Link]
6. Mao et al. (2024). Systematic Review: Hybrid Methods in Sentiment Analysis.
[Link]
7. Zheng et al. (2023). Lightweight BERT for Real-Time Natural Language Processing.
[Link]
BIET 13