ESG Sentiment Knowledge Model
Overview
The ESG Sentiment Knowledge Model, displayed as ESG Sentiment EN v#, aims at categorizing ESG (Environmental, Social and Governance) news, social media posts or CSR (Corporate Social Responsibility) reports as negative or positive based on the actions or statements attributed to entities like companies, countries or institutions.
The model also extracts the references to the above entities found in the text along with ESG data plus summary ESG performance data for the whole input document.
Hence, the model aims at providing the users with an insightful ESG overview of a company, or set of companies, in order to add more context and useful information to structured data, which may be misleading if considered without any further reference.
Categorization
The model taxonomy (below) includes all of the three macro areas of the ESG analysis, each of which is divided into a positive and a negative cluster for sentiment analysis purposes. A detailed layer of sub-categories for each macro area defines the relevant topics.
1000 (Environment)
1100 (Positive)
1110 (Climate Impact)
1120 (Biodiversity and Environmental Footprint)
1130 (Environmental Opportunities)
1140 (Waste and Emissions Management)
1200 (Negative)
1210 (Climate Impact)
1220 (Waste and Emissions Management)
1230 (Biodiversity and Environmental Footprint)
1240 (Environmental Crime)
1250 (Greenwashing)
2000 (Social)
2100 (Positive)
2110 (Human Capital)
2120 (Workplace and Product Safety)
2130 (Cybersecurity)
2140 (Diversity and Inclusion)
2160 (Public Relations)
2170 (Community Opportunities)
2200 (Negative)
2210 (Human Capital)
2220 (Workplace and Product Safety)
2230 (Cybersecurity)
2240 (Discrimination)
2250 (Controversial Profile)
3000 (Governance)
3100 (Positive)
3110 (Business Ethics and Transparency)
3120 (Board Engagement)
3130 (Legal Compliance)
3140 (Product Stewardship)
3200 (Negative)
3210 (Business Ethics and Transparency)
3220 (Board Engagement)
3230 (Legal Compliance)
3240 (Product Stewardship)
-
Environment sub-categories:
- Climate Impact: (positive/negative) climate change related behaviors, especially in terms of strategical decisions or corporate policies on the long term, mainly about—or linked to—CO2 emissions.
- Biodiversity and Environmental Footprint: (positive/negative) engagement towards the preservation of biodiversity and the use of natural resources.
- Environmental Opportunities: (positive only) innovations adopted by a company in order to protect the environment and fight climate change, as well as new business projects aiming at preserving the environment.
- Waste & Emissions Management: (positive/negative) management and reduction of waste production and emissions other than CO2.
- Environmental Crime: (negative only) illicit activities affecting the environment.
- Greenwashing: (negative only) deceptive ways of using green marketing.
-
Social sub-categories:
- Human Capital: (positive/negative) social quality of the working environment.
- Workplace Safety and Product Safety: (positive/negative) refers to the security guaranteed on the workplace and the safety guaranteed for the product or service from the consumer's perspective.
- Cybersecurity: (positive/negative) data and privacy protection.
- Diversity and Inclusion: (positive only) inclusiveness and equality initiatives in terms of rights and representativeness.
- Controversial Profile: (negative only) cases in which a company public image or perception is controversial.
- Public Relations: (positive/negative) communication strategies.
- Community Opportunities: (positive only) community support investments.
- Discrimination: (negative only) events denoting discrimination in terms of rights and representativeness.
-
Governance sub-categories:
- Business Ethics and Transparency: (positive/negative) the quality and truthfulness levels of the information delivered to the public and the stakeholders, as well as the company compliance with basic business ethical principles, in terms of financial actions, reliability and competitiveness.
- Board Engagement: (positive/negative) overall engagement of board members, in terms of social and business activity.
- Legal Compliance: (positive/negative) compliance with the relevant legislation.
- Product Stewardship: (positive/negative) engagement towards product quality.
Along with the third level categories, the corresponding second and first level categories are always found in the categorization output. This allows you to see how the scores of the leaf categories are transmitted to the higher level categories in order to compute the overall sentiment indicators present in the ESG_SENTIMENT record of the extraction output (see below).
Only the third level categories, however, are directly triggered by the input text, so they are the only ones for which the positions to be highlighted in the text are provided.
Extraction
ENTITY records
The model extracts references found in the input text to entities performing ESG-related actions or making ESG-related statements.
Each extraction is a record of the ENTITY group with one or more occurrences of the following classes:
Class | Description |
---|---|
entity | Entity name |
co2_emission_cut | CO2 emissions reduction (percentage) |
co2_emission_increase | CO2 emissions increase (percentage) |
certification_obtained | An ESG certification |
date | Date of CO2 or pollution reduction/increase |
inference | Anaphora of the entity name |
pollution_increased | Emissions increase, other than CO2 (percentage) |
pollution_decreased | Emissions reduction, other than CO2 (percentage) |
waste_increased | Waste production increase (percentage) |
waste_decreased | Waste production decrease (percentage) |
sanction | Amount of money due by an entity because of code or law infringements |
ESG_SENTIMENT record
The model also extracts summary ESG performance indicators for the whole document. It is a record of the ESG_SENTIMENT group with these classes:
Class | Description |
---|---|
overall_score | Overall ESG sentiment score (no range) |
overall_sentiment | Overall sentiment polarity, either positive or negative based on the sign of overall_score |
environment_performance_score | Environment score |
environment_sentiment | Environment sentiment polarity, either positive or negative based on the value and sign of environment_performance_score |
social_performance_score | Social sentiment score (no range) |
social_sentiment | Social sentiment polarity, either positive or negative based on the value and sign of social_performance_score |
governance_performance_score | Governance sentiment score (no range) |
governance_sentiment | Governance sentiment polarity, either positive or negative based on the value and sign of governance_performance_score |
sum_environment_rules | Diagnostic information |
sum_social_rules | Diagnostic information |
sum_governance_rules | Diagnostic information |
Output structure
The model output has the same structure as any other model and is affected by the functional options of the workflow block.
The peculiar parts of the output are the result of categorization, i.e. the categories
array, and the result of information extraction, i.e. the extractions
array.
Example
Considering the input text:
Acme Ltd.
Data centers have an enormous environmental impact. Over 17% of technology's carbon footprint comes from the electricity needed for data center operations. For a corporation of its size, Acme has been making surprisingly considerate progress toward reducing its environmental impact. In recent years, Acme has been very transparent about its carbon footprint, releasing a yearly statement on its current consumption and future goals. By investing in new technology, renewable energy and green policies, Acme plans on being carbon negative by 2030. This goal is essential because of the sustainability standard it sets for the industry. With technology such as virtualization software, Acme aims to improve its products' energy efficiency.
the categorization output is like:
"categories": [
{
"namespace": "esg-sentiment_en_1.0",
"id": "1000",
"label": "Environment",
"hierarchy": [
"Environment"
],
"score": 165,
"frequency": 22.29,
"winner": true,
"positions": []
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1100",
"label": "Positive",
"hierarchy": [
"Environment",
"Positive"
],
"score": 155,
"frequency": 20.94,
"winner": true,
"positions": []
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1110",
"label": "Climate Impact",
"hierarchy": [
"Environment",
"Positive",
"Climate Impact"
],
"score": 105,
"frequency": 14.18,
"winner": true,
"positions": [
{
"start": 448,
"end": 457
},
{
"start": 498,
"end": 503
},
{
"start": 504,
"end": 512
},
{
"start": 514,
"end": 518
},
{
"start": 519,
"end": 524
},
{
"start": 528,
"end": 533
},
{
"start": 534,
"end": 549
},
{
"start": 550,
"end": 552
},
{
"start": 553,
"end": 557
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1120",
"label": "Biodiversity and Environmental Footprint",
"hierarchy": [
"Environment",
"Positive",
"Biodiversity and Environmental Footprint"
],
"score": 20,
"frequency": 2.7,
"winner": true,
"positions": [
{
"start": 198,
"end": 202
},
{
"start": 260,
"end": 268
},
{
"start": 273,
"end": 293
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1130",
"label": "Environmental Opportunities ",
"hierarchy": [
"Environment",
"Positive",
"Environmental Opportunities "
],
"score": 30,
"frequency": 4.05,
"winner": true,
"positions": [
{
"start": 448,
"end": 457
},
{
"start": 477,
"end": 493
},
{
"start": 696,
"end": 700
},
{
"start": 709,
"end": 716
},
{
"start": 731,
"end": 748
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1200",
"label": "Negative",
"hierarchy": [
"Environment",
"Negative"
],
"score": 10,
"frequency": 1.35,
"winner": true,
"positions": []
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "1230",
"label": "Biodiversity and Environmental Footprint",
"hierarchy": [
"Environment",
"Negative",
"Biodiversity and Environmental Footprint"
],
"score": 10,
"frequency": 1.35,
"winner": true,
"positions": [
{
"start": 24,
"end": 28
},
{
"start": 32,
"end": 40
},
{
"start": 41,
"end": 61
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "3000",
"label": "Governance",
"hierarchy": [
"Governance"
],
"score": 20,
"frequency": 2.7,
"winner": true,
"positions": []
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "3100",
"label": "Positive",
"hierarchy": [
"Governance",
"Positive"
],
"score": 20,
"frequency": 2.7,
"winner": true,
"positions": []
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "3110",
"label": "Business Ethics and Transparency",
"hierarchy": [
"Governance",
"Positive",
"Business Ethics and Transparency"
],
"score": 20,
"frequency": 2.7,
"winner": true,
"positions": [
{
"start": 312,
"end": 316
},
{
"start": 331,
"end": 342
},
{
"start": 343,
"end": 348
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"id": "ESG_TAXONOMY",
"score": 185,
"frequency": 25.0,
"winner": true,
"positions": []
}
]
and the extraction output is:
"extractions": [
{
"namespace": "esg-sentiment_en_1.0",
"template": "ENTITY",
"fields": [
{
"name": "CO2_emissions_cut",
"value": "carbon negative",
"positions": [
{
"start": 534,
"end": 549
}
]
},
{
"name": "date",
"value": "2030",
"positions": [
{
"start": 553,
"end": 557
}
]
},
{
"name": "entity",
"value": "Acme Ltd.",
"positions": [
{
"start": 514,
"end": 518
},
{
"start": 198,
"end": 202
},
{
"start": 696,
"end": 700
},
{
"start": 312,
"end": 316
}
]
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "overall_score",
"value": "11.07142857142857",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "overall_sentiment",
"value": "positive",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "environment_performance_score",
"value": "145",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "environment_sentiment",
"value": "positive",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "social_sentiment",
"value": "neutral",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "governance_performance_score",
"value": "20",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "governance_sentiment",
"value": "positive",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "sum_environment_rules",
"value": "15",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "sum_social_rules",
"value": "0",
"positions": []
}
]
},
{
"namespace": "esg-sentiment_en_1.0",
"template": "ESG_SENTIMENT",
"fields": [
{
"name": "sum_governance_rules",
"value": "2",
"positions": []
}
]
}
]
Note
If you are familiar with Platform extraction projects, the template key in this model's output corresponds to the concept of group and template fields correspond to classes.