NLP tool to flag greenwashing and provide insights through corporate reports
Python
1
12 commits
updated Jul 11, 2025
Providing greenwashing scores and insights for Indian tech companies
Greenwashing, the act of misleading stakeholders about a company’s environmental, social, and governance (ESG) practices, is an increasingly critical problem in sustainability reporting. This project proposes an end-to-end NLP pipeline that attempts to detect potential greenwashing in company reports.
This was created as part of my final project for CS-4420 (Natural Language Processing) at Ashoka University.
In recent years, sustainability has become a key corporate concern, driven by growing environmental awareness and tightening regulatory frameworks. This has led to an increase in the instances of greenwashing, which is difficult to detect because it often involves vague or selective language rather than outright lies. This project explores whether modern NLP tools can be used to identify potentially greenwashed claims in ESG reports in an automated, interpretable, and ethically responsible manner.
git clone github.com/mihiraggarwal/greenlight
cd greenlight
pip install -r requirements.txt
python -m spacy download en_core_web_sm
cd web
npm install
cd ../
Get a Key button.news.google.com/ in Overview > Search Features > Sites to Search, and in Search Features > Advanced Settings > Web Search Restricts > Site Search Restrictions. These many search engines need to be created to not exhaust free-tier limits per engine..env.example to .env and populate the variables from the ones generated above. NEWS_CX refers to the Search Engine ID. cd web
npm run build
npm start
cd ../main
flask run --port 5000
cd ../chat
flask run --port 8000
localhost:3000 to view results for pre-run companies, and to upload the reports of the company you want to generate greenwashing insights for.The architecture is built around three major pipelines:
This pipeline contributes 75-80% of the final greenwashing score. It consists of the following stages:
Step 1: LLM-Based Sentence Extraction
Step 2: ESG Relevance Classification
Step 3: Environmental Claim Detection
Step 4: Action Detection
Step 5: Keyword Extraction for News Validation
Step 6: News Scraping and Contradiction Detection
Step 7: Scoring and ESG Sector Categorization
Pipeline 2: Baseline ESG Signal Analysis
Pipeline 3: Structural and Sentiment Indicators
Computes:
A Next.js dashboard was developed to display:
A Flask + LangChain chatbot was built to allow users to query a master JSON index of intermediate outputs recorded throughout the pipelines, powered by RAG-based semantic retrieval.
Thus, while results are definitely imperfect, the project lays a foundation for future work in this space.
NLP tool to flag greenwashing and provide insights through corporate reports
Python
1
12 commits
updated Jul 11, 2025
Providing greenwashing scores and insights for Indian tech companies
Greenwashing, the act of misleading stakeholders about a company’s environmental, social, and governance (ESG) practices, is an increasingly critical problem in sustainability reporting. This project proposes an end-to-end NLP pipeline that attempts to detect potential greenwashing in company reports.
This was created as part of my final project for CS-4420 (Natural Language Processing) at Ashoka University.
In recent years, sustainability has become a key corporate concern, driven by growing environmental awareness and tightening regulatory frameworks. This has led to an increase in the instances of greenwashing, which is difficult to detect because it often involves vague or selective language rather than outright lies. This project explores whether modern NLP tools can be used to identify potentially greenwashed claims in ESG reports in an automated, interpretable, and ethically responsible manner.
git clone github.com/mihiraggarwal/greenlight
cd greenlight
pip install -r requirements.txt
python -m spacy download en_core_web_sm
cd web
npm install
cd ../
Get a Key button.news.google.com/ in Overview > Search Features > Sites to Search, and in Search Features > Advanced Settings > Web Search Restricts > Site Search Restrictions. These many search engines need to be created to not exhaust free-tier limits per engine..env.example to .env and populate the variables from the ones generated above. NEWS_CX refers to the Search Engine ID. cd web
npm run build
npm start
cd ../main
flask run --port 5000
cd ../chat
flask run --port 8000
localhost:3000 to view results for pre-run companies, and to upload the reports of the company you want to generate greenwashing insights for.The architecture is built around three major pipelines:
This pipeline contributes 75-80% of the final greenwashing score. It consists of the following stages:
Step 1: LLM-Based Sentence Extraction
Step 2: ESG Relevance Classification
Step 3: Environmental Claim Detection
Step 4: Action Detection
Step 5: Keyword Extraction for News Validation
Step 6: News Scraping and Contradiction Detection
Step 7: Scoring and ESG Sector Categorization
Pipeline 2: Baseline ESG Signal Analysis
Pipeline 3: Structural and Sentiment Indicators
Computes:
A Next.js dashboard was developed to display:
A Flask + LangChain chatbot was built to allow users to query a master JSON index of intermediate outputs recorded throughout the pipelines, powered by RAG-based semantic retrieval.
Thus, while results are definitely imperfect, the project lays a foundation for future work in this space.