Downloads · 30 days
3.5K
0% of all-time downloads
yiyanghkust/finbert-esg-9-categories
finbert-esg-9-categories is a text classification model from yiyanghkust. Use it when you need a label for a piece of text. It is set up for transformers.
ESG analysis can help investors determine a business' long-term sustainability and identify associated risks. FinBERT-esg-9-categories is a FinBERT model fine-tuned on about 14,000 manually annotated sentences from fi…
Downloads · 30 days
3.5K
0% of all-time downloads
All-time downloads
1.7M
Public
Repo size
878 MB
Likes
41
Public
Click a slice to open those files.
.bin439 MB · 100%
From the Hugging Face model README
ESG analysis can help investors determine a business' long-term sustainability and identify associated risks. FinBERT-esg-9-categories is a FinBERT model fine-tuned on about 14,000 manually annotated sentences from firms' ESG reports and annual reports.
finbert-esg-9-categories classifies a text into nine fine-grained ESG topics: Climate Change, Natural Capital, Pollution & Waste, Human Capital, Product Liability, Community Relations, Corporate Governance, Business Ethics & Values, and Non-ESG. This model complements finbert-esg which classifies a text into four coarse-grained ESG themes (E, S, G or None).
Detailed description of the nine fine-grained ESG topic definition, some examples for each topic, training sample, and the model’s performance can be found here.
Input: A text.
Output: Climate Change, Natural Capital, Pollution & Waste, Human Capital, Product Liability, Community Relations, Corporate Governance, Business Ethics & Values, or Non-ESG.
You can use this model with Transformers pipeline for fine-grained ESG 9 categories classification.
from transformers import BertTokenizer, BertForSequenceClassification, pipeline
finbert = BertForSequenceClassification.from_pretrained('yiyanghkust/finbert-esg-9-categories',num_labels=9)
tokenizer = BertTokenizer.from_pretrained('yiyanghkust/finbert-esg-9-categories')
nlp = pipeline("text-classification", model=finbert, tokenizer=tokenizer)
results = nlp('For 2002, our total net emissions were approximately 60 million metric tons of CO2 equivalents for all businesses
and operations we have financial interests in, based on its equity share in those businesses and operations.')
print(results) # [{'label': 'Climate Change', 'score': 0.9955655932426453}]
If you use the model in your academic work, please cite the following paper:
Huang, Allen H., Hui Wang, and Yi Yang. "FinBERT: A Large Language Model for Extracting Information from Financial Text." Contemporary Accounting Research (2022).