Zero-Shot News Sentiment Analyzer for Startups (v2)

Model ID: Soumil24/zero_shot_news_sentiment_analyzer_startups
Developed by: Soumil Malik
Base model: microsoft/deberta-v3-base
Finetuned for: Zero-shot startup-specific news sentiment classification
Languages: English
Library: 🤗 Transformers
License: MIT


Model Description

This model is a zero-shot sentiment classification model fine-tuned to analyze news articles, press releases, and financial updates about startups and companies.

It is trained in a Natural Language Inference (NLI) format to interpret how a piece of text (news headline or article) relates to hypotheses describing sentiment polarity (positive, neutral, negative) for a given entity (startup/company).

Unlike standard sentiment models, this model can reason about multiple companies in a single article, identifying who benefits and who suffers in competitive contexts like "Swiggy beats Zomato" or "Ola faces losses while Uber grows".


Key Features

Feature Description
Zero-shot capable Works with any unseen startup or company name
Business-aware Trained on financial and business news
Competition reasoning Distinguishes sentiment across multiple entities in the same article
Probability outputs Returns sentiment probabilities for positive, neutral, and negative classes
Transformer-based Built on microsoft/deberta-v3-base architecture
Language English only (financial and tech domains)

Model Sources


Model Architecture

  • Base: DeBERTa-v3-base
  • Objective: Natural Language Inference (entailment / neutral / contradiction)
  • Output Classes: entailment (positive), neutral, contradiction (negative)
  • Tokenizer: DeBERTa-v3 tokenizer (WordPiece)
  • Framework: PyTorch + Hugging Face Transformers

How to Use

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch, torch.nn.functional as F

tokenizer = AutoTokenizer.from_pretrained("Soumil24/zero_shot_news_sentiment_analyzer_startups")
model = AutoModelForSequenceClassification.from_pretrained("Soumil24/zero_shot_news_sentiment_analyzer_startups")

def predict_single_company(text, company):
    hypotheses = [
        f"The news is positive for {company}.",
        f"The news is neutral for {company}.",
        f"The news is negative for {company}.",
    ]
    inputs = tokenizer([text]*3, hypotheses, return_tensors="pt", truncation=True, padding='max_length', max_length=256)
    with torch.no_grad():
        logits = model(**inputs).logits
        probs = F.softmax(logits, dim=1)
    entailment_scores = probs[:, 0].tolist()
    labels = ["positive", "neutral", "negative"]
    best_label = labels[int(torch.argmax(torch.tensor(entailment_scores)))]
    return {labels[i]: round(entailment_scores[i], 4) for i in range(3)}, best_label

text = "Swiggy beats Zomato stocks"
print(predict_single_company(text, "Swiggy"))

Example Outputs

Input Company Output
"Swiggy beats Zomato stocks" Swiggy Positive (0.98)
"Swiggy beats Zomato stocks" Zomato Negative (0.99)
"Ola faces losses while Uber expands" Ola Negative (0.99)
"Ola faces losses while Uber expands" Uber Positive (0.99)
"Tata Motors appoints new CFO" Tata Motors Neutral (0.74)

Training Details

Datasets Used:

  • Financial PhraseBank (Kaggle)
  • Synthetic NLI data generated for competitive understanding (Swiggy, Zomato, Ola, Uber, Flipkart, Amazon)

Dataset Size:

  • Financial PhraseBank: ~4,800 samples
  • Expanded NLI form: ~14,000 rows
  • Synthetic relational data: ~400–500 samples

Training Environment:

  • Hardware: Google Colab (T4 GPU)
  • Framework: Transformers 4.57.1, PyTorch 2.7
  • Precision: FP16 Mixed Precision
  • Epochs: 3 (2 + 1 refinement)
  • Batch Size: 8
  • Optimizer: AdamW
  • Learning Rate: 2e-5
  • Validation Accuracy: 97.7%
  • Weighted F1: 97.7%

Evaluation

Metric Value
Validation Accuracy 0.977
Weighted F1 0.977
Eval Loss 0.12
Eval Samples/sec ~127

Intended Uses

Direct Use

  • Classify sentiment of business or financial news articles about startups/companies
  • Extract per-company sentiment in multi-entity articles
  • Build startup news monitoring dashboards or trend analysis tools

Downstream Use

  • Integrate into data pipelines for sentiment-based analytics
  • Power news alert systems for VCs or analysts
  • Enrich financial data with sentiment metadata

Out-of-Scope

  • Political or non-business text sentiment
  • Non-English content
  • Sarcasm or figurative language detection

Bias, Risks & Limitations

  • Trained primarily on financial and business English news — may not generalize to other domains
  • Limited exposure to non-Indian startup names (can be expanded in v3)
  • Competitive context improved, but can still miss subtle neutral tones
  • The model does not understand numerical or market data (e.g., stock values) directly

Environmental Impact (approx.)

Factor Estimate
Hardware NVIDIA T4 GPU
Runtime ~1.5 hrs total
Cloud Provider Google Colab
Carbon Emission ~0.25 kg CO₂

Technical Specs

Component Detail
Framework PyTorch + Hugging Face Transformers
Model Type DeBERTa-v3-base (encoder)
Objective Natural Language Inference (3-way classification)
Precision Mixed FP16
Hardware Used NVIDIA T4 GPU
Environment Google Colab Pro

🏷️ Citation

BibTeX

@misc{soumil2025zeroshotstartupsentiment,
  title = {Zero-Shot News Sentiment Analyzer for Startups},
  author = {Soumil Malik},
  year = {2025},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/Soumil24/zero_shot_news_sentiment_analyzer_startups}},
}

APA

Malik, S. (2025). Zero-Shot News Sentiment Analyzer for Startups (v2). Hugging Face.
Retrieved from https://huggingface.co/Soumil24/zero_shot_news_sentiment_analyzer_startups


Model Card Authors

  • Author: Soumil Malik
  • Contact: LinkedIn / Hugging Face
  • Created: November 2025
  • Version: v2 (Competition-aware)

Summary

This model demonstrates how a transformer can be taught to reason about sentiment across multiple entities in business and startup contexts —
a key building block for automated financial news intelligence systems.


Future Versions (v3) Will:

  • Include 30+ company entities
  • Add more diverse templates
  • Expand beyond India-focused datasets
  • Include a multi-label scoring mode

Built with ❤️ by Soumil Malik
as part of the Startup Sentiment Intelligence Project (Minor Project 2025).

Downloads last month
77
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Soumil24/zero-shot-startup-sentiment-v2

Finetuned
(464)
this model

Dataset used to train Soumil24/zero-shot-startup-sentiment-v2