# relativelyburberry/indian-stock-news-sentiment-analysis architecture

> Architecture diagram of the GitHub repository relativelyburberry/indian-stock-news-sentiment-analysis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/relativelyburberry/indian-stock-news-sentiment-analysis
- Repository: https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis

## Overview

This Kaggle notebook project turns Indian stock news into sentiment, emotion, and market visualizations. Its documented workflow is Groww API ingestion, cleaning and merging NSE/BSE news, FinBERT classification, compound-score mapping, then analysis and visualization; NRC emotion analysis is an additional branch. The README also describes an earlier, unsuccessful static-HTML exploration. Source excerpts were not provided, so relationships below rely on README statements, and implementation nodes point to the notebook or documented artifact directories rather than inspected functions.

Main entry points: [`indian-stock-news-sentiment-analysis-using-finbert.ipynb`](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb) (Cleaning & Merging), [`graphs`](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs) (Sentiment Visualizations), [`api_ingestion`](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/api_ingestion) (API Ingestion)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_acquisition["News Acquisition"]
  node_static["Static HTML Exploration"]
  node_api_ingestion["API Ingestion"]
end

subgraph group_processing["Text Processing"]
  node_news_records["NSE/BSE News Records"]
  node_cleaning["Cleaning &amp; Merging"]
end

subgraph group_analysis["NLP Analysis"]
  node_finbert["FinBERT Classification"]
  node_compound["Compound Score Mapping"]
  node_nrc["NRC Emotion Analysis"]
end

subgraph group_presentation["Insights &amp; Visuals"]
  node_sentiment_visuals["Sentiment Visualizations"]
  node_emotion_visuals["Emotion Visualizations"]
  node_wordclouds["Sentiment Word Clouds"]
end

node_analyst(("Project Analyst"))
node_groww{{"Groww News API"}}

node_static -->|"explores HTML"| node_groww
node_api_ingestion -->|"fetches news"| node_groww
node_groww -->|"returns feed"| node_news_records
node_news_records -->|"cleans and merges"| node_cleaning
node_cleaning -->|"provides text"| node_finbert
node_finbert -->|"maps scores"| node_compound
node_compound -->|"drives charts"| node_sentiment_visuals
node_cleaning -->|"analyzes text"| node_nrc
node_nrc -->|"drives charts"| node_emotion_visuals
node_cleaning -.->|"supplies text"| node_wordclouds
node_analyst -->|"reviews insights"| node_sentiment_visuals
node_analyst -->|"reviews insights"| node_emotion_visuals
node_analyst -.->|"reviews terms"| node_wordclouds

click node_static "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_api_ingestion "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/api_ingestion"
click node_news_records "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_cleaning "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_finbert "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_compound "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_nrc "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb"
click node_sentiment_visuals "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs"
click node_emotion_visuals "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs"
click node_wordclouds "https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_static,node_api_ingestion toneBlue
class node_news_records,node_cleaning toneAmber
class node_finbert,node_compound,node_nrc,node_groww toneMint
class node_sentiment_visuals,node_emotion_visuals,node_wordclouds toneRose
class node_analyst toneIndigo
```

## Components

### News Acquisition

- [Static HTML Exploration](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`
- [API Ingestion](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/api_ingestion): `api_ingestion`

### Text Processing

- [NSE/BSE News Records](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`
- [Cleaning & Merging](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`

### NLP Analysis

- [FinBERT Classification](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`
- [Compound Score Mapping](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`
- [NRC Emotion Analysis](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/blob/main/indian-stock-news-sentiment-analysis-using-finbert.ipynb): `indian-stock-news-sentiment-analysis-using-finbert.ipynb`

### Insights & Visuals

- [Sentiment Visualizations](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs): `graphs`
- [Emotion Visualizations](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs): `graphs`
- [Sentiment Word Clouds](https://github.com/relativelyburberry/indian-stock-news-sentiment-analysis/tree/main/graphs): `graphs`

### Other components

- **Project Analyst**
- **Groww News API**

## Connections

- Static HTML Exploration → Groww News API: explores HTML (evidence: `README.md`)
- API Ingestion → Groww News API: fetches news (evidence: `README.md`)
- Groww News API → NSE/BSE News Records: returns feed (evidence: `README.md`)
- NSE/BSE News Records → Cleaning & Merging: cleans and merges (evidence: `README.md`)
- Cleaning & Merging → FinBERT Classification: provides text (evidence: `README.md`)
- FinBERT Classification → Compound Score Mapping: maps scores (evidence: `README.md`)
- Compound Score Mapping → Sentiment Visualizations: drives charts (evidence: `README.md`)
- Cleaning & Merging → NRC Emotion Analysis: analyzes text (evidence: `README.md`)
- NRC Emotion Analysis → Emotion Visualizations: drives charts (evidence: `README.md`)
- Cleaning & Merging → Sentiment Word Clouds: supplies text
- Project Analyst → Sentiment Visualizations: reviews insights (evidence: `README.md`)
- Project Analyst → Emotion Visualizations: reviews insights (evidence: `README.md`)
- Project Analyst → Sentiment Word Clouds: reviews terms
