finlmeval-eval
Is ChatGPT a Financial Expert? Evaluating Language Models on Financial Natural Language Processing — Guo et al. (2023) (arXiv:2310.12664, 2023)
What this evaluates
Evaluates the financial natural language processing capabilities of encoder-only and decoder-only language models across multiple classification tasks. It probes zero-shot prompting, in-context learning strategies, and the impact of data availability (public vs. proprietary) on model performance.
Datasets
- FinSent — total ?; splits: train (-1), val (-1), test (-1)
- FPB — total ?; splits: train (-1), val (-1), test (-1)
- FiQA SA — total ?; splits: train (-1), val (-1), test (-1)
- ESG — total ?; splits: train (-1), val (-1), test (-1)
- FLS — total ?; splits: train (-1), val (-1), test (-1)
- QA — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-PDU — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-PDC — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-PDD — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-PI — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-AC — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-FI — total ?; splits: train (-1), val (-1), test (-1)
- Headlines-PS — total ?; splits: train (-1), val (-1), test (-1)
- NER — total ?; splits: train (-1), val (-1), test (-1)
- FOMC — total ?; splits: train (-1), val (-1), test (-1)
Metrics
Accuracy (primary) — range: [0, 1]
- Not explicitly named in the text; values in [0,1] suggest Accuracy or F1-score. Computed as the proportion of correctly predicted labels over total instances per task.
Input / output format
Input: Text snippets (sentences or headlines) for classification tasks. For in-context learning, prompts are constructed by appending selected demonstration examples (random or similarity-based) to the query.
Output: Predicted class label.
Scoring recipe
def compute_accuracy(predictions, gold_labels):
correct = sum(1 for p, g in zip(predictions, gold_labels) if p == g)
return correct / len(gold_labels)
Common pitfalls
- Data leakage risks on proprietary datasets (FinSent, ESG, FLS, QA) can artificially inflate zero-shot LLM performance if not strictly controlled.
- In-context learning effectiveness is highly prompt-dependent; random vs. similarity-based demonstration selection yields divergent results across tasks.
- Assuming decoder-only LLMs universally outperform fine-tuned encoder-only models ignores task-specific data scarcity and imbalance issues.
Evidence (verbatim from paper)
Table 2 compares the results of the fine-tuned encoder-only models and zero-shot decoder-only models in 9 financial datasets. We have the following findings: In 6 out of 9 datasets, fine-tuned encoder-only models can perform better than decoder-only models.
Citation
@misc{guo2023ischatgpt,
title={Is ChatGPT a Financial Expert? Evaluating Language Models on Financial Natural Language Processing},
author={Guo et al. (2023)},
year={2023},
note={arXiv:2310.12664}
}
1---2name: finlmeval-eval3description: Evaluates the financial natural language processing capabilities of encoder-only and decoder-only language models across multiple classification tasks. It probes zero-shot prompting, in-context learning strategies, and the impact of data availability (public vs. proprietary) on model performance. Use when the user wants to benchmark on FinSent, FPB, FiQA SA, ESG, FLS, QA, Headlines-PDU, Headlines-PDC, Headlines-PDD, Headlines-PI, Headlines-AC, Headlines-FI, Headlines-PS, NER, FOMC, or asks about evaluating this task. Reports Accuracy.4---56# finlmeval-eval78> Is ChatGPT a Financial Expert? Evaluating Language Models on Financial Natural Language Processing — Guo et al. (2023) (arXiv:2310.12664, 2023)910## What this evaluates1112Evaluates the financial natural language processing capabilities of encoder-only and decoder-only language models across multiple classification tasks. It probes zero-shot prompting, in-context learning strategies, and the impact of data availability (public vs. proprietary) on model performance.1314## Datasets1516- **FinSent** — total ?; splits: train (-1), val (-1), test (-1)17- **FPB** — total ?; splits: train (-1), val (-1), test (-1)18- **FiQA SA** — total ?; splits: train (-1), val (-1), test (-1)19- **ESG** — total ?; splits: train (-1), val (-1), test (-1)20- **FLS** — total ?; splits: train (-1), val (-1), test (-1)21- **QA** — total ?; splits: train (-1), val (-1), test (-1)22- **Headlines-PDU** — total ?; splits: train (-1), val (-1), test (-1)23- **Headlines-PDC** — total ?; splits: train (-1), val (-1), test (-1)24- **Headlines-PDD** — total ?; splits: train (-1), val (-1), test (-1)25- **Headlines-PI** — total ?; splits: train (-1), val (-1), test (-1)26- **Headlines-AC** — total ?; splits: train (-1), val (-1), test (-1)27- **Headlines-FI** — total ?; splits: train (-1), val (-1), test (-1)28- **Headlines-PS** — total ?; splits: train (-1), val (-1), test (-1)29- **NER** — total ?; splits: train (-1), val (-1), test (-1)30- **FOMC** — total ?; splits: train (-1), val (-1), test (-1)3132## Metrics3334- `Accuracy` **(primary)** — range: [0, 1]35 - Not explicitly named in the text; values in [0,1] suggest Accuracy or F1-score. Computed as the proportion of correctly predicted labels over total instances per task.3637## Input / output format3839**Input**: Text snippets (sentences or headlines) for classification tasks. For in-context learning, prompts are constructed by appending selected demonstration examples (random or similarity-based) to the query.4041**Output**: Predicted class label.4243## Scoring recipe4445```python46def compute_accuracy(predictions, gold_labels):47 correct = sum(1 for p, g in zip(predictions, gold_labels) if p == g)48 return correct / len(gold_labels)49```5051## Common pitfalls5253- Data leakage risks on proprietary datasets (FinSent, ESG, FLS, QA) can artificially inflate zero-shot LLM performance if not strictly controlled.54- In-context learning effectiveness is highly prompt-dependent; random vs. similarity-based demonstration selection yields divergent results across tasks.55- Assuming decoder-only LLMs universally outperform fine-tuned encoder-only models ignores task-specific data scarcity and imbalance issues.5657## Evidence (verbatim from paper)5859> Table 2 compares the results of the fine-tuned encoder-only models and zero-shot decoder-only models in 9 financial datasets. We have the following findings: In 6 out of 9 datasets, fine-tuned encoder-only models can perform better than decoder-only models.6061## Citation6263```bibtex64@misc{guo2023ischatgpt,65 title={Is ChatGPT a Financial Expert? Evaluating Language Models on Financial Natural Language Processing},66 author={Guo et al. (2023)},67 year={2023},68 note={arXiv:2310.12664}69}70```7172- arXiv: 2310.12664