Spaces:
Sleeping
A newer version of the Gradio SDK is available:
5.23.3
title: News Summarizer
emoji: 📰
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.22.0
app_file: app.py
pinned: false
Live Company News Analyzer
A project by Sara Nimje - Visit Portfolio Website This application fetches live news articles for a company, analyzes sentiment, summarizes content, and converts it into Hindi audio.
Objective:
I have developed a web-based application that extracts key details from multiple news articles related to a given company. The application performs sentiment analysis, conducts a comparative analysis, and generates a text-to-speech (TTS) output in Hindi. Users can input a company name and receive a structured sentiment report along with an audio summary, making the information more accessible and insightful.
Project Setup
Installation:
Clone this repository -
git clone https://github.com/saranimje/news-summarizer.git
Navigate to directory -
cd news-summarizer
Install Dependencies -
pip install -r requirements.txt
Run Gradio App -
python app.py
Run API (Optional) -
uvicorn api:app --reload
Model Details
Summarization Model
- Uses transformers from Hugging Face.
- Model:
google/long-t5-tglobal-base
Sentiment Analysis
Uses default sentiment-analysis pipeline from Hugging Face.
Topic Modelling
- Uses TF-IDF vectorization with NMF (Non-Negative Matrix Factorization) to extract key topics from news articles.
- Utilizes cosine similarity to measure relationships between articles.
Text-to-Speech
Uses gTTS (Google Text-to-Speech)
Translation
Uses GoogleTranslator
(source: English, target: Hindi).
API Development
This project includes a FastAPI-based API to fetch news articles and analyze them.
Endpoints:
1. Home
GET /
- Returns:
{"message": "News Summarization API is running!"}
2. Fetch News GET /news/?company_name=Tesla&article_number=5
- Returns JSON output containing news articles and analysis.
API Development
Using Postman or Curl:
- Open Postman or any API testing tool.
- Send a
GET
request to:http://127.0.0.1:8000/news/?company_name=Tesla&article_number=5
- View JSON response with news articles and summaries.
Third-Party API Usage
- News Sources: Google Search (
googlesearch
Python module). - Libraries Used:
requests
for API callsgensim
,deep_translator
,nltk
for text processing.googlesearch
to fetch news links.feedparser
for RSS feeds.