|
--- |
|
pipeline_tag: sentence-similarity |
|
tags: |
|
- sentence-transformers |
|
- feature-extraction |
|
- sentence-similarity |
|
- mteb |
|
- financial |
|
- fiqa |
|
- finance |
|
- retrieval |
|
- rag |
|
- esg |
|
- fixed-income |
|
- equity |
|
model-index: |
|
- name: fin-mpnet-base-v0.1 |
|
results: |
|
- task: |
|
type: Classification |
|
dataset: |
|
type: mteb/amazon_reviews_multi |
|
name: MTEB AmazonReviewsClassification (en) |
|
config: en |
|
split: test |
|
revision: 1399c76144fd37290681b995c656ef9b2e06e26d |
|
metrics: |
|
- type: accuracy |
|
value: 29.128 |
|
- type: f1 |
|
value: 28.657401543151707 |
|
- task: |
|
type: Retrieval |
|
dataset: |
|
type: arguana |
|
name: MTEB ArguAna |
|
config: default |
|
split: test |
|
revision: None |
|
metrics: |
|
- type: map_at_1 |
|
value: 24.111 |
|
- type: map_at_10 |
|
value: 40.083 |
|
- type: map_at_100 |
|
value: 41.201 |
|
- type: map_at_1000 |
|
value: 41.215 |
|
- type: map_at_3 |
|
value: 35.325 |
|
- type: map_at_5 |
|
value: 37.796 |
|
- type: mrr_at_1 |
|
value: 25.036 |
|
- type: mrr_at_10 |
|
value: 40.436 |
|
- type: mrr_at_100 |
|
value: 41.554 |
|
- type: mrr_at_1000 |
|
value: 41.568 |
|
- type: mrr_at_3 |
|
value: 35.644999999999996 |
|
- type: mrr_at_5 |
|
value: 38.141000000000005 |
|
- type: ndcg_at_1 |
|
value: 24.111 |
|
- type: ndcg_at_10 |
|
value: 49.112 |
|
- type: ndcg_at_100 |
|
value: 53.669999999999995 |
|
- type: ndcg_at_1000 |
|
value: 53.944 |
|
- type: ndcg_at_3 |
|
value: 39.035 |
|
- type: ndcg_at_5 |
|
value: 43.503 |
|
- type: precision_at_1 |
|
value: 24.111 |
|
- type: precision_at_10 |
|
value: 7.817 |
|
- type: precision_at_100 |
|
value: 0.976 |
|
- type: precision_at_1000 |
|
value: 0.1 |
|
- type: precision_at_3 |
|
value: 16.596 |
|
- type: precision_at_5 |
|
value: 12.134 |
|
- type: recall_at_1 |
|
value: 24.111 |
|
- type: recall_at_10 |
|
value: 78.16499999999999 |
|
- type: recall_at_100 |
|
value: 97.58200000000001 |
|
- type: recall_at_1000 |
|
value: 99.57300000000001 |
|
- type: recall_at_3 |
|
value: 49.787 |
|
- type: recall_at_5 |
|
value: 60.669 |
|
- task: |
|
type: Classification |
|
dataset: |
|
type: mteb/banking77 |
|
name: MTEB Banking77Classification |
|
config: default |
|
split: test |
|
revision: 0fd18e25b25c072e09e0d92ab615fda904d66300 |
|
metrics: |
|
- type: accuracy |
|
value: 80.25 |
|
- type: f1 |
|
value: 79.64999520103544 |
|
- task: |
|
type: Retrieval |
|
dataset: |
|
type: fiqa |
|
name: MTEB FiQA2018 |
|
config: default |
|
split: test |
|
revision: None |
|
metrics: |
|
- type: map_at_1 |
|
value: 37.747 |
|
- type: map_at_10 |
|
value: 72.223 |
|
- type: map_at_100 |
|
value: 73.802 |
|
- type: map_at_1000 |
|
value: 73.80499999999999 |
|
- type: map_at_3 |
|
value: 61.617999999999995 |
|
- type: map_at_5 |
|
value: 67.92200000000001 |
|
- type: mrr_at_1 |
|
value: 71.914 |
|
- type: mrr_at_10 |
|
value: 80.71000000000001 |
|
- type: mrr_at_100 |
|
value: 80.901 |
|
- type: mrr_at_1000 |
|
value: 80.901 |
|
- type: mrr_at_3 |
|
value: 78.935 |
|
- type: mrr_at_5 |
|
value: 80.193 |
|
- type: ndcg_at_1 |
|
value: 71.914 |
|
- type: ndcg_at_10 |
|
value: 79.912 |
|
- type: ndcg_at_100 |
|
value: 82.675 |
|
- type: ndcg_at_1000 |
|
value: 82.702 |
|
- type: ndcg_at_3 |
|
value: 73.252 |
|
- type: ndcg_at_5 |
|
value: 76.36 |
|
- type: precision_at_1 |
|
value: 71.914 |
|
- type: precision_at_10 |
|
value: 23.071 |
|
- type: precision_at_100 |
|
value: 2.62 |
|
- type: precision_at_1000 |
|
value: 0.263 |
|
- type: precision_at_3 |
|
value: 51.235 |
|
- type: precision_at_5 |
|
value: 38.117000000000004 |
|
- type: recall_at_1 |
|
value: 37.747 |
|
- type: recall_at_10 |
|
value: 91.346 |
|
- type: recall_at_100 |
|
value: 99.776 |
|
- type: recall_at_1000 |
|
value: 99.897 |
|
- type: recall_at_3 |
|
value: 68.691 |
|
- type: recall_at_5 |
|
value: 80.742 |
|
- task: |
|
type: Retrieval |
|
dataset: |
|
type: nfcorpus |
|
name: MTEB NFCorpus |
|
config: default |
|
split: test |
|
revision: None |
|
metrics: |
|
- type: map_at_1 |
|
value: 4.124 |
|
- type: map_at_10 |
|
value: 10.206999999999999 |
|
- type: map_at_100 |
|
value: 13.181000000000001 |
|
- type: map_at_1000 |
|
value: 14.568 |
|
- type: map_at_3 |
|
value: 7.2620000000000005 |
|
- type: map_at_5 |
|
value: 8.622 |
|
- type: mrr_at_1 |
|
value: 39.009 |
|
- type: mrr_at_10 |
|
value: 48.144 |
|
- type: mrr_at_100 |
|
value: 48.746 |
|
- type: mrr_at_1000 |
|
value: 48.789 |
|
- type: mrr_at_3 |
|
value: 45.356 |
|
- type: mrr_at_5 |
|
value: 47.152 |
|
- type: ndcg_at_1 |
|
value: 36.533 |
|
- type: ndcg_at_10 |
|
value: 29.643000000000004 |
|
- type: ndcg_at_100 |
|
value: 27.893 |
|
- type: ndcg_at_1000 |
|
value: 37.307 |
|
- type: ndcg_at_3 |
|
value: 33.357 |
|
- type: ndcg_at_5 |
|
value: 32.25 |
|
- type: precision_at_1 |
|
value: 38.7 |
|
- type: precision_at_10 |
|
value: 22.941 |
|
- type: precision_at_100 |
|
value: 7.303 |
|
- type: precision_at_1000 |
|
value: 2.028 |
|
- type: precision_at_3 |
|
value: 31.889 |
|
- type: precision_at_5 |
|
value: 29.04 |
|
- type: recall_at_1 |
|
value: 4.124 |
|
- type: recall_at_10 |
|
value: 14.443 |
|
- type: recall_at_100 |
|
value: 29.765000000000004 |
|
- type: recall_at_1000 |
|
value: 63.074 |
|
- type: recall_at_3 |
|
value: 8.516 |
|
- type: recall_at_5 |
|
value: 10.979 |
|
- task: |
|
type: Retrieval |
|
dataset: |
|
type: scifact |
|
name: MTEB SciFact |
|
config: default |
|
split: test |
|
revision: None |
|
metrics: |
|
- type: map_at_1 |
|
value: 49.010999999999996 |
|
- type: map_at_10 |
|
value: 60.094 |
|
- type: map_at_100 |
|
value: 60.79900000000001 |
|
- type: map_at_1000 |
|
value: 60.828 |
|
- type: map_at_3 |
|
value: 57.175 |
|
- type: map_at_5 |
|
value: 58.748 |
|
- type: mrr_at_1 |
|
value: 51.666999999999994 |
|
- type: mrr_at_10 |
|
value: 61.312 |
|
- type: mrr_at_100 |
|
value: 61.821000000000005 |
|
- type: mrr_at_1000 |
|
value: 61.85000000000001 |
|
- type: mrr_at_3 |
|
value: 59.0 |
|
- type: mrr_at_5 |
|
value: 60.199999999999996 |
|
- type: ndcg_at_1 |
|
value: 51.666999999999994 |
|
- type: ndcg_at_10 |
|
value: 65.402 |
|
- type: ndcg_at_100 |
|
value: 68.377 |
|
- type: ndcg_at_1000 |
|
value: 69.094 |
|
- type: ndcg_at_3 |
|
value: 60.153999999999996 |
|
- type: ndcg_at_5 |
|
value: 62.455000000000005 |
|
- type: precision_at_1 |
|
value: 51.666999999999994 |
|
- type: precision_at_10 |
|
value: 9.067 |
|
- type: precision_at_100 |
|
value: 1.0670000000000002 |
|
- type: precision_at_1000 |
|
value: 0.11199999999999999 |
|
- type: precision_at_3 |
|
value: 24.0 |
|
- type: precision_at_5 |
|
value: 15.933 |
|
- type: recall_at_1 |
|
value: 49.010999999999996 |
|
- type: recall_at_10 |
|
value: 80.511 |
|
- type: recall_at_100 |
|
value: 94.0 |
|
- type: recall_at_1000 |
|
value: 99.5 |
|
- type: recall_at_3 |
|
value: 66.2 |
|
- type: recall_at_5 |
|
value: 71.944 |
|
--- |
|
|
|
full evaluation not complete |
|
|
|
# Fin-MPNET-Base (v0.1) |
|
|
|
This is a fine-tuned [sentence-transformers](https://www.SBERT.net) model: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering or semantic search. |
|
|
|
This model aims to be very strong on Financial Document Retrieval Tasks, while trying to maintain as much generalized performance as possible. |
|
|
|
|
|
| | FiQA | SciFact | AmazonReviews | OnlineBankingIntent | ArguAna | |
|
|-------------------|-------|---------|---------------|---------------------|---------| |
|
| fin-mpnet-base | 79.91 | 65.40 | 29.12 | 80.25 | 49.11 | |
|
| all-mpnet-base-v2 | 49.96 | 65.57 | 31.92 | 81.86 | 46.52 | |
|
| previous SoTA | 56.59 | - | - | - | - | |
|
|
|
v0.1 shows SoTA results on FiQA Test set while other non-financial benchmarks only drop a few small % and improvement in others. |
|
|
|
|
|
## Usage (Sentence-Transformers) |
|
|
|
Using this model becomes easy when you have [sentence-transformers](https://www.SBERT.net) installed: |
|
|
|
``` |
|
pip install -U sentence-transformers |
|
``` |
|
|
|
Then you can use the model like this: |
|
|
|
```python |
|
from sentence_transformers import SentenceTransformer |
|
sentences = ["This is an example sentence", "Each sentence is converted"] |
|
|
|
model = SentenceTransformer('mukaj/fin-mpnet-base') |
|
embeddings = model.encode(sentences) |
|
print(embeddings) |
|
``` |
|
|
|
|
|
## Evaluation Results |
|
|
|
Model was evaluated during training only on the new finance QA examples, as such only financial relevant benchmarks were evaluated on for v0.1 [FiQA-2018, BankingClassification77] |
|
|
|
The model currently shows the highest FiQA Retrieval score on the test set, on the MTEB Leaderboard (https://huggingface.co/spaces/mteb/leaderboard) |
|
|
|
The model will have likely suffered some performance on other benchmarks, i.e. BankingClassification77 has dropped from 81.6 to 80.25, this will be addressed for v0.2 and full evaluation on all sets will be run. |
|
|
|
|
|
## Training |
|
|
|
"sentence-transformers/all-mpnet-base-v2" was fine-tuned on 150k+ financial document QA examples using MNR Loss. |
|
|