---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:2640
- loss:MultipleNegativesRankingLoss
- loss:CosineSimilarityLoss
base_model: jinaai/jina-embedding-b-en-v1
widget:
- source_sentence: Can you tell me how my portfolio did last week?
sentences:
- Suggest recommendations for me
- Do you have any insights on my portfolio
- How did my portfolio perform last week ?
- source_sentence: What are my most risky holdings?
sentences:
- View my holdings
- Show my market cap breakdown
- Show my riskiest holdings
- source_sentence: What profits do I have in my portfolio?
sentences:
- How can I swap my stocks for mutual funds?
- Show me the cash in my portfolio?
- What are the profits I have gained in my portfolio
- source_sentence: I'm curious, which investments have the highest volatility in my
portfolio?
sentences:
- Which sector do I invest most in?
- is there anything wrong with my investments?
- Which of my investments have the highest volatility?
- source_sentence: Sort my investment portfolio by ESG rating, please.
sentences:
- What stock makes up the largest percentage of my portfolio?
- Can you show my worst performing holdings
- Show my investments sorted by ESG rating.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
model-index:
- name: SentenceTransformer based on jinaai/jina-embedding-b-en-v1
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: test eval
type: test-eval
metrics:
- type: cosine_accuracy@1
value: 0.8636363636363636
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9924242424242424
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 1.0
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 1.0
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.8636363636363636
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.3308080808080807
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.19999999999999998
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.09999999999999999
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.8636363636363636
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.9924242424242424
name: Cosine Recall@3
- type: cosine_recall@5
value: 1.0
name: Cosine Recall@5
- type: cosine_recall@10
value: 1.0
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9436916551342168
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9242424242424244
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9242424242424242
name: Cosine Map@100
---
# SentenceTransformer based on jinaai/jina-embedding-b-en-v1
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [jinaai/jina-embedding-b-en-v1](https://huggingface.co/jinaai/jina-embedding-b-en-v1). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
## Model Details
### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [jinaai/jina-embedding-b-en-v1](https://huggingface.co/jinaai/jina-embedding-b-en-v1)
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: T5EncoderModel
(1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
```
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
sentences = [
'Sort my investment portfolio by ESG rating, please.',
'Show my investments sorted by ESG rating.',
'Can you show my worst performing holdings',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
```
## Evaluation
### Metrics
#### Information Retrieval
* Dataset: `test-eval`
* Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:--------------------|:-----------|
| cosine_accuracy@1 | 0.8636 |
| cosine_accuracy@3 | 0.9924 |
| cosine_accuracy@5 | 1.0 |
| cosine_accuracy@10 | 1.0 |
| cosine_precision@1 | 0.8636 |
| cosine_precision@3 | 0.3308 |
| cosine_precision@5 | 0.2 |
| cosine_precision@10 | 0.1 |
| cosine_recall@1 | 0.8636 |
| cosine_recall@3 | 0.9924 |
| cosine_recall@5 | 1.0 |
| cosine_recall@10 | 1.0 |
| **cosine_ndcg@10** | **0.9437** |
| cosine_mrr@10 | 0.9242 |
| cosine_map@100 | 0.9242 |
## Training Details
### Training Datasets
#### Unnamed Dataset
* Size: 1,320 training samples
* Columns: sentence_0, sentence_1, and label
* Approximate statistics based on the first 1000 samples:
| | sentence_0 | sentence_1 | label |
|:--------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:--------------------------------------------------------------|
| type | string | string | float |
| details |
How does my portfolio score look? | What is my portfolio score? | 1.0 |
| Show me the risk profile of my portfolio. | Details on my portfolio risk | 1.0 |
| Which of my shares are the most erratic? | Which of my stocks are most volatile? | 1.0 |
* Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
#### Unnamed Dataset
* Size: 1,320 training samples
* Columns: sentence_0, sentence_1, and label
* Approximate statistics based on the first 1000 samples:
| | sentence_0 | sentence_1 | label |
|:--------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:--------------------------------------------------------------|
| type | string | string | float |
| details | What holdings carry the least risk in my portfolio? | What are the least risky holdings in my portfolio? | 1.0 |
| How have my investments fared over the previous year? | How has my portfolio performed over the last year? | 1.0 |
| How well is my portfolio performing? | How is my portfolio performing | 1.0 |
* Loss: [CosineSimilarityLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#cosinesimilarityloss) with these parameters:
```json
{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: steps
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 32
- `num_train_epochs`: 15
- `multi_dataset_batch_sampler`: round_robin
#### All Hyperparameters