MRR-optimized E5-Math - Test MRR: 0.8241167434715821 (avg rank: 1.2134203168685929) - 25/06/2025
Browse files- .gitattributes +1 -0
- 1_Pooling/config.json +7 -0
- README.md +126 -0
- config.json +26 -0
- config_sentence_transformers.json +7 -0
- final_test_results.json +1426 -0
- modules.json +20 -0
- pytorch_model.bin +3 -0
- sentence_bert_config.json +4 -0
- sentencepiece.bpe.model +3 -0
- special_tokens_map.json +9 -0
- tokenizer.json +3 -0
- tokenizer_config.json +20 -0
- usage_example.py +54 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
1_Pooling/config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"word_embedding_dimension": 384,
|
| 3 |
+
"pooling_mode_cls_token": false,
|
| 4 |
+
"pooling_mode_mean_tokens": true,
|
| 5 |
+
"pooling_mode_max_tokens": false,
|
| 6 |
+
"pooling_mode_mean_sqrt_len_tokens": false
|
| 7 |
+
}
|
README.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language:
|
| 3 |
+
- vi
|
| 4 |
+
- en
|
| 5 |
+
library_name: sentence-transformers
|
| 6 |
+
pipeline_tag: sentence-similarity
|
| 7 |
+
tags:
|
| 8 |
+
- sentence-transformers
|
| 9 |
+
- mathematics
|
| 10 |
+
- vietnamese
|
| 11 |
+
- exact-chunk-retrieval
|
| 12 |
+
- hierarchical-learning
|
| 13 |
+
- e5-base
|
| 14 |
+
- mrr-optimization
|
| 15 |
+
- mean-reciprocal-rank
|
| 16 |
+
base_model: intfloat/multilingual-e5-small
|
| 17 |
+
metrics:
|
| 18 |
+
- mean_reciprocal_rank
|
| 19 |
+
- recall
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
# E5-Math-Vietnamese: MRR-Optimized Exact Chunk Retrieval
|
| 23 |
+
|
| 24 |
+
## Model Overview
|
| 25 |
+
Fine-tuned E5-base model optimized with **MRR (Mean Reciprocal Rank)** for exact chunk retrieval in Vietnamese mathematics:
|
| 26 |
+
- **🎯 Goal**: Push correct chunks to rank #1 or #2
|
| 27 |
+
- **📊 Hierarchy**: Correct > Related > Irrelevant scoring
|
| 28 |
+
- **⚡ Efficient**: High MRR = fewer chunks needed at inference
|
| 29 |
+
|
| 30 |
+
## Performance Metrics
|
| 31 |
+
|
| 32 |
+
### Training Results
|
| 33 |
+
- **Best Validation MRR**: 0.8083333333333333 (avg rank: 1.2371134020618557)
|
| 34 |
+
- **Training Epochs**: 6
|
| 35 |
+
- **Hierarchy Maintained**: N/A
|
| 36 |
+
|
| 37 |
+
### Final Test Results (Used Only Once)
|
| 38 |
+
- **Test MRR**: 0.8241167434715821 (avg rank: 1.2134203168685929)
|
| 39 |
+
- **Test Recall@3**: 0.946236559139785
|
| 40 |
+
- **Test Recall@5**: 0.967741935483871
|
| 41 |
+
- **Hierarchy Rate**: 0.6559139784946236
|
| 42 |
+
- **Performance Level**: 🌟 EXCELLENT (avg rank ≤ 1.25)
|
| 43 |
+
|
| 44 |
+
## MRR Advantage
|
| 45 |
+
```
|
| 46 |
+
MRR = Mean of (1/rank_of_correct_chunk)
|
| 47 |
+
|
| 48 |
+
Examples:
|
| 49 |
+
- Correct chunk at rank #1 → MRR contribution = 1.0
|
| 50 |
+
- Correct chunk at rank #2 → MRR contribution = 0.5
|
| 51 |
+
- Correct chunk at rank #5 → MRR contribution = 0.2
|
| 52 |
+
- Correct chunk at rank #10 → MRR contribution = 0.1
|
| 53 |
+
|
| 54 |
+
High MRR → Correct chunks consistently at top positions!
|
| 55 |
+
```
|
| 56 |
+
|
| 57 |
+
## Usage
|
| 58 |
+
```python
|
| 59 |
+
from sentence_transformers import SentenceTransformer
|
| 60 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
| 61 |
+
|
| 62 |
+
# Load MRR-optimized model
|
| 63 |
+
model = SentenceTransformer('ThanhLe0125/e5-small-math')
|
| 64 |
+
|
| 65 |
+
# ⚠️ CRITICAL: Must use E5 prefixes
|
| 66 |
+
query = "query: Định nghĩa hàm số đồng biến là gì?"
|
| 67 |
+
chunks = [
|
| 68 |
+
"passage: Hàm số đồng biến trên khoảng (a;b) là...", # CORRECT
|
| 69 |
+
"passage: Ví dụ bài tập về hàm đồng biến...", # RELATED
|
| 70 |
+
"passage: Phương trình bậc hai có dạng..." # IRRELEVANT
|
| 71 |
+
]
|
| 72 |
+
|
| 73 |
+
# Get rankings (MRR-optimized for top positions)
|
| 74 |
+
query_emb = model.encode([query])
|
| 75 |
+
chunk_embs = model.encode(chunks)
|
| 76 |
+
similarities = cosine_similarity(query_emb, chunk_embs)[0]
|
| 77 |
+
|
| 78 |
+
# With high MRR, correct chunk should be at rank #1 or #2
|
| 79 |
+
ranked_indices = similarities.argsort()[::-1]
|
| 80 |
+
for rank, idx in enumerate(ranked_indices, 1):
|
| 81 |
+
print(f"Rank {rank}: Score {similarities[idx]:.4f} - {chunks[idx][:50]}...")
|
| 82 |
+
|
| 83 |
+
# Expected with MRR optimization:
|
| 84 |
+
# Rank 1: Correct chunk (score ~0.85)
|
| 85 |
+
# Rank 2: Related chunk (score ~0.45)
|
| 86 |
+
# Rank 3: Irrelevant chunk (score ~0.1)
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
## Inference Optimization
|
| 90 |
+
With MRR ≥ 0.7, you typically only need to return **top 2-3 chunks** to find the correct answer:
|
| 91 |
+
|
| 92 |
+
```python
|
| 93 |
+
# Efficient inference - return only top 3
|
| 94 |
+
top_3_indices = similarities.argsort()[::-1][:3]
|
| 95 |
+
top_chunks = [chunks[i] for i in top_3_indices]
|
| 96 |
+
|
| 97 |
+
# High probability correct chunk is in top_chunks[0] or top_chunks[1]
|
| 98 |
+
```
|
| 99 |
+
|
| 100 |
+
## Evaluation Methodology
|
| 101 |
+
- **Training**: train_question + val_question with MRR optimization
|
| 102 |
+
- **Validation**: MRR used for early stopping (pushes correct chunks up)
|
| 103 |
+
- **Test**: test_question used ONLY ONCE for final evaluation
|
| 104 |
+
- **Metrics**: MRR (primary), Recall@3/5 (secondary) for exact chunk retrieval
|
| 105 |
+
|
| 106 |
+
## Key Features
|
| 107 |
+
- ✅ **MRR-optimized**: Correct chunks consistently at top positions
|
| 108 |
+
- ✅ **Inference efficient**: Need fewer chunks to find correct answer
|
| 109 |
+
- ✅ **Hierarchical**: Maintains Exact > Related > Irrelevant ranking
|
| 110 |
+
- ✅ **Vietnamese math specialized**: Optimized for educational content
|
| 111 |
+
- ✅ **Proper ML practices**: Clean train/val/test split
|
| 112 |
+
- ⚠️ **E5 prefixes required**: Use 'query:' and 'passage:' prefixes
|
| 113 |
+
|
| 114 |
+
## Perfect For
|
| 115 |
+
- Educational Q&A requiring exact answers at top positions
|
| 116 |
+
- Efficient retrieval systems (fewer API calls needed)
|
| 117 |
+
- Vietnamese mathematics tutoring with quick response
|
| 118 |
+
- Content ranking where correct answer must be rank #1 or #2
|
| 119 |
+
|
| 120 |
+
## Performance Interpretation
|
| 121 |
+
- **MRR ≥ 0.8**: 🌟 Excellent (correct chunks avg rank ≤ 1.25)
|
| 122 |
+
- **MRR ≥ 0.7**: 🎯 Very Good (correct chunks avg rank ≤ 1.4)
|
| 123 |
+
- **MRR ≥ 0.5**: 👍 Good (correct chunks avg rank ≤ 2.0)
|
| 124 |
+
- **MRR < 0.5**: 📈 Needs improvement
|
| 125 |
+
|
| 126 |
+
*Trained on 25/06/2025 with MRR optimization for exact chunk retrieval.*
|
config.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_name_or_path": "/root/.cache/torch/sentence_transformers/intfloat_multilingual-e5-small/",
|
| 3 |
+
"architectures": [
|
| 4 |
+
"BertModel"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"classifier_dropout": null,
|
| 8 |
+
"hidden_act": "gelu",
|
| 9 |
+
"hidden_dropout_prob": 0.1,
|
| 10 |
+
"hidden_size": 384,
|
| 11 |
+
"initializer_range": 0.02,
|
| 12 |
+
"intermediate_size": 1536,
|
| 13 |
+
"layer_norm_eps": 1e-12,
|
| 14 |
+
"max_position_embeddings": 512,
|
| 15 |
+
"model_type": "bert",
|
| 16 |
+
"num_attention_heads": 12,
|
| 17 |
+
"num_hidden_layers": 12,
|
| 18 |
+
"pad_token_id": 0,
|
| 19 |
+
"position_embedding_type": "absolute",
|
| 20 |
+
"tokenizer_class": "XLMRobertaTokenizer",
|
| 21 |
+
"torch_dtype": "float32",
|
| 22 |
+
"transformers_version": "4.32.0",
|
| 23 |
+
"type_vocab_size": 2,
|
| 24 |
+
"use_cache": true,
|
| 25 |
+
"vocab_size": 250037
|
| 26 |
+
}
|
config_sentence_transformers.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"__version__": {
|
| 3 |
+
"sentence_transformers": "2.2.2",
|
| 4 |
+
"transformers": "4.32.0",
|
| 5 |
+
"pytorch": "2.6.0+cu124"
|
| 6 |
+
}
|
| 7 |
+
}
|
final_test_results.json
ADDED
|
@@ -0,0 +1,1426 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"total_reciprocal_rank": 76.64285714285714,
|
| 3 |
+
"recall_at_3": 88,
|
| 4 |
+
"recall_at_5": 90,
|
| 5 |
+
"total_queries": 93,
|
| 6 |
+
"hierarchy_maintained": 61,
|
| 7 |
+
"rank_distribution": {
|
| 8 |
+
"2": 22,
|
| 9 |
+
"6": 2,
|
| 10 |
+
"1": 64,
|
| 11 |
+
"3": 2,
|
| 12 |
+
"4": 2,
|
| 13 |
+
"7": 1
|
| 14 |
+
},
|
| 15 |
+
"mrr_breakdown": {
|
| 16 |
+
"rank_1": 64,
|
| 17 |
+
"rank_2": 22,
|
| 18 |
+
"rank_3": 2,
|
| 19 |
+
"rank_4_5": 2,
|
| 20 |
+
"rank_6_plus": 3
|
| 21 |
+
},
|
| 22 |
+
"query_details": [
|
| 23 |
+
{
|
| 24 |
+
"query": "Giả sử bạn chỉ có bảng biến thiên của f'(x), làm sao xác định được khoảng đồng biến và nghịch biến của f(x)?",
|
| 25 |
+
"correct_rank": 2,
|
| 26 |
+
"reciprocal_rank": 0.5,
|
| 27 |
+
"recall_3": 1,
|
| 28 |
+
"recall_5": 1,
|
| 29 |
+
"hierarchy_ok": false,
|
| 30 |
+
"top5_types": [
|
| 31 |
+
"irrelevant",
|
| 32 |
+
"correct",
|
| 33 |
+
"irrelevant",
|
| 34 |
+
"related",
|
| 35 |
+
"related"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"query": "Nếu f'(x) = 0 tại một điểm trong khoảng (a, b), điểm đó có phải luôn là điểm cực trị không? Tại sao?",
|
| 40 |
+
"correct_rank": 6,
|
| 41 |
+
"reciprocal_rank": 0.16666666666666666,
|
| 42 |
+
"recall_3": 0,
|
| 43 |
+
"recall_5": 0,
|
| 44 |
+
"hierarchy_ok": false,
|
| 45 |
+
"top5_types": [
|
| 46 |
+
"related",
|
| 47 |
+
"related",
|
| 48 |
+
"related",
|
| 49 |
+
"related",
|
| 50 |
+
"irrelevant"
|
| 51 |
+
]
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"query": "Cho một hàm số biết đồng biến trên R. Hãy chứng minh f(x+1)>f(x) với mọi x.",
|
| 55 |
+
"correct_rank": 1,
|
| 56 |
+
"reciprocal_rank": 1.0,
|
| 57 |
+
"recall_3": 1,
|
| 58 |
+
"recall_5": 1,
|
| 59 |
+
"hierarchy_ok": true,
|
| 60 |
+
"top5_types": [
|
| 61 |
+
"correct",
|
| 62 |
+
"related",
|
| 63 |
+
"related",
|
| 64 |
+
"related",
|
| 65 |
+
"irrelevant"
|
| 66 |
+
]
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"query": "Giả sử bạn có một hàm số mà đạo hàm bậc nhất của nó luôn dương. Hàm số này có cực trị không? Tại sao?",
|
| 70 |
+
"correct_rank": 1,
|
| 71 |
+
"reciprocal_rank": 1.0,
|
| 72 |
+
"recall_3": 1,
|
| 73 |
+
"recall_5": 1,
|
| 74 |
+
"hierarchy_ok": true,
|
| 75 |
+
"top5_types": [
|
| 76 |
+
"correct",
|
| 77 |
+
"related",
|
| 78 |
+
"related",
|
| 79 |
+
"related",
|
| 80 |
+
"irrelevant"
|
| 81 |
+
]
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"query": "Bạn có một hàm số có đạo hàm tại x = 0 bằng 0. Làm thế nào bạn có thể xác định chắc chắn rằng x = 0 là một điểm cực trị?",
|
| 85 |
+
"correct_rank": 1,
|
| 86 |
+
"reciprocal_rank": 1.0,
|
| 87 |
+
"recall_3": 1,
|
| 88 |
+
"recall_5": 1,
|
| 89 |
+
"hierarchy_ok": true,
|
| 90 |
+
"top5_types": [
|
| 91 |
+
"correct",
|
| 92 |
+
"related",
|
| 93 |
+
"related",
|
| 94 |
+
"related",
|
| 95 |
+
"related"
|
| 96 |
+
]
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"query": "Cho hàm số y = x^4. Tại x = 0, f'(x) = 0 và f''(x) = 0. Điểm này có phải là cực trị không? Tại sao?",
|
| 100 |
+
"correct_rank": 1,
|
| 101 |
+
"reciprocal_rank": 1.0,
|
| 102 |
+
"recall_3": 1,
|
| 103 |
+
"recall_5": 1,
|
| 104 |
+
"hierarchy_ok": true,
|
| 105 |
+
"top5_types": [
|
| 106 |
+
"correct",
|
| 107 |
+
"related",
|
| 108 |
+
"related",
|
| 109 |
+
"related",
|
| 110 |
+
"related"
|
| 111 |
+
]
|
| 112 |
+
},
|
| 113 |
+
{
|
| 114 |
+
"query": "Cho hàm số f(x) = x^2 - 4x + 3. Tìm các điểm cực trị của hàm số này.",
|
| 115 |
+
"correct_rank": 2,
|
| 116 |
+
"reciprocal_rank": 0.5,
|
| 117 |
+
"recall_3": 1,
|
| 118 |
+
"recall_5": 1,
|
| 119 |
+
"hierarchy_ok": false,
|
| 120 |
+
"top5_types": [
|
| 121 |
+
"related",
|
| 122 |
+
"correct",
|
| 123 |
+
"related",
|
| 124 |
+
"related",
|
| 125 |
+
"related"
|
| 126 |
+
]
|
| 127 |
+
},
|
| 128 |
+
{
|
| 129 |
+
"query": "Một hàm số có thể có bao nhiêu điểm cực trị tối đa? Cho ví dụ.",
|
| 130 |
+
"correct_rank": 2,
|
| 131 |
+
"reciprocal_rank": 0.5,
|
| 132 |
+
"recall_3": 1,
|
| 133 |
+
"recall_5": 1,
|
| 134 |
+
"hierarchy_ok": false,
|
| 135 |
+
"top5_types": [
|
| 136 |
+
"related",
|
| 137 |
+
"correct",
|
| 138 |
+
"related",
|
| 139 |
+
"irrelevant",
|
| 140 |
+
"related"
|
| 141 |
+
]
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"query": "Khi nào thì việc tìm cực trị trở nên phức tạp và cần đến các phương pháp khác?",
|
| 145 |
+
"correct_rank": 1,
|
| 146 |
+
"reciprocal_rank": 1.0,
|
| 147 |
+
"recall_3": 1,
|
| 148 |
+
"recall_5": 1,
|
| 149 |
+
"hierarchy_ok": true,
|
| 150 |
+
"top5_types": [
|
| 151 |
+
"correct",
|
| 152 |
+
"related",
|
| 153 |
+
"related",
|
| 154 |
+
"related",
|
| 155 |
+
"related"
|
| 156 |
+
]
|
| 157 |
+
},
|
| 158 |
+
{
|
| 159 |
+
"query": "Một hàm số có thể có vô số cực trị nhưng không có giá trị lớn nhất hoặc nhỏ nhất không? Cho ví dụ.",
|
| 160 |
+
"correct_rank": 1,
|
| 161 |
+
"reciprocal_rank": 1.0,
|
| 162 |
+
"recall_3": 1,
|
| 163 |
+
"recall_5": 1,
|
| 164 |
+
"hierarchy_ok": true,
|
| 165 |
+
"top5_types": [
|
| 166 |
+
"correct",
|
| 167 |
+
"related",
|
| 168 |
+
"related",
|
| 169 |
+
"related",
|
| 170 |
+
"related"
|
| 171 |
+
]
|
| 172 |
+
},
|
| 173 |
+
{
|
| 174 |
+
"query": "Cho một hàm số $f(x)$ liên tục trên đoạn [a, b] và $f(a) = f(b)$. Chứng minh rằng tồn tại ít nhất một điểm c thuộc (a, b) sao cho $f'(c) = 0$. (Ứng dụng định lý Rolle và liên hệ với giá trị lớn nhất/nhỏ nhất)",
|
| 175 |
+
"correct_rank": 1,
|
| 176 |
+
"reciprocal_rank": 1.0,
|
| 177 |
+
"recall_3": 1,
|
| 178 |
+
"recall_5": 1,
|
| 179 |
+
"hierarchy_ok": true,
|
| 180 |
+
"top5_types": [
|
| 181 |
+
"correct",
|
| 182 |
+
"related",
|
| 183 |
+
"related",
|
| 184 |
+
"related",
|
| 185 |
+
"related"
|
| 186 |
+
]
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"query": "Làm thế nào để áp dụng định lý Weierstrass để giải quyết các bài toán tối ưu hóa?",
|
| 190 |
+
"correct_rank": 1,
|
| 191 |
+
"reciprocal_rank": 1.0,
|
| 192 |
+
"recall_3": 1,
|
| 193 |
+
"recall_5": 1,
|
| 194 |
+
"hierarchy_ok": true,
|
| 195 |
+
"top5_types": [
|
| 196 |
+
"correct",
|
| 197 |
+
"related",
|
| 198 |
+
"related",
|
| 199 |
+
"irrelevant",
|
| 200 |
+
"related"
|
| 201 |
+
]
|
| 202 |
+
},
|
| 203 |
+
{
|
| 204 |
+
"query": "Hãy mô tả tình huống một bài toán thực tế có thể được giải quyết bằng cách tìm giá trị lớn nhất hoặc nhỏ nhất của một hàm số.",
|
| 205 |
+
"correct_rank": 2,
|
| 206 |
+
"reciprocal_rank": 0.5,
|
| 207 |
+
"recall_3": 1,
|
| 208 |
+
"recall_5": 1,
|
| 209 |
+
"hierarchy_ok": false,
|
| 210 |
+
"top5_types": [
|
| 211 |
+
"related",
|
| 212 |
+
"correct",
|
| 213 |
+
"related",
|
| 214 |
+
"irrelevant",
|
| 215 |
+
"related"
|
| 216 |
+
]
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"query": "Cho hàm số f(x) = x^2 - 4x + 5. Không cần tính toán, hãy giải thích các bước để tìm giá trị nhỏ nhất của hàm số này trên khoảng (0, 4).",
|
| 220 |
+
"correct_rank": 1,
|
| 221 |
+
"reciprocal_rank": 1.0,
|
| 222 |
+
"recall_3": 1,
|
| 223 |
+
"recall_5": 1,
|
| 224 |
+
"hierarchy_ok": true,
|
| 225 |
+
"top5_types": [
|
| 226 |
+
"correct",
|
| 227 |
+
"related",
|
| 228 |
+
"related",
|
| 229 |
+
"related",
|
| 230 |
+
"related"
|
| 231 |
+
]
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"query": "Nếu bạn chỉ tính giá trị của hàm số tại các đầu mút của đoạn [a,b], bạn có thể bỏ sót giá trị lớn nhất hoặc nhỏ nhất thực sự của hàm số không? Tại sao?",
|
| 235 |
+
"correct_rank": 2,
|
| 236 |
+
"reciprocal_rank": 0.5,
|
| 237 |
+
"recall_3": 1,
|
| 238 |
+
"recall_5": 1,
|
| 239 |
+
"hierarchy_ok": false,
|
| 240 |
+
"top5_types": [
|
| 241 |
+
"related",
|
| 242 |
+
"correct",
|
| 243 |
+
"related",
|
| 244 |
+
"related",
|
| 245 |
+
"irrelevant"
|
| 246 |
+
]
|
| 247 |
+
},
|
| 248 |
+
{
|
| 249 |
+
"query": "Cho hàm số f(x) = (x^2+1)/(x-a). Tìm a để đồ thị hàm số có tiệm cận đứng x=3.",
|
| 250 |
+
"correct_rank": 1,
|
| 251 |
+
"reciprocal_rank": 1.0,
|
| 252 |
+
"recall_3": 1,
|
| 253 |
+
"recall_5": 1,
|
| 254 |
+
"hierarchy_ok": true,
|
| 255 |
+
"top5_types": [
|
| 256 |
+
"correct",
|
| 257 |
+
"related",
|
| 258 |
+
"irrelevant",
|
| 259 |
+
"irrelevant",
|
| 260 |
+
"irrelevant"
|
| 261 |
+
]
|
| 262 |
+
},
|
| 263 |
+
{
|
| 264 |
+
"query": "Tìm tiệm cận đứng của hàm số f(x) = ln(x).",
|
| 265 |
+
"correct_rank": 1,
|
| 266 |
+
"reciprocal_rank": 1.0,
|
| 267 |
+
"recall_3": 1,
|
| 268 |
+
"recall_5": 1,
|
| 269 |
+
"hierarchy_ok": true,
|
| 270 |
+
"top5_types": [
|
| 271 |
+
"correct",
|
| 272 |
+
"related",
|
| 273 |
+
"irrelevant",
|
| 274 |
+
"irrelevant",
|
| 275 |
+
"irrelevant"
|
| 276 |
+
]
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"query": "Đồ thị hàm số y = tan(x) có những tiệm cận đứng nào?",
|
| 280 |
+
"correct_rank": 2,
|
| 281 |
+
"reciprocal_rank": 0.5,
|
| 282 |
+
"recall_3": 1,
|
| 283 |
+
"recall_5": 1,
|
| 284 |
+
"hierarchy_ok": false,
|
| 285 |
+
"top5_types": [
|
| 286 |
+
"related",
|
| 287 |
+
"correct",
|
| 288 |
+
"irrelevant",
|
| 289 |
+
"irrelevant",
|
| 290 |
+
"irrelevant"
|
| 291 |
+
]
|
| 292 |
+
},
|
| 293 |
+
{
|
| 294 |
+
"query": "Tìm tiệm cận của hàm số f(x) = (x^3 - 1) / (x^2 + 1).",
|
| 295 |
+
"correct_rank": 1,
|
| 296 |
+
"reciprocal_rank": 1.0,
|
| 297 |
+
"recall_3": 1,
|
| 298 |
+
"recall_5": 1,
|
| 299 |
+
"hierarchy_ok": false,
|
| 300 |
+
"top5_types": [
|
| 301 |
+
"correct",
|
| 302 |
+
"irrelevant",
|
| 303 |
+
"related",
|
| 304 |
+
"irrelevant",
|
| 305 |
+
"irrelevant"
|
| 306 |
+
]
|
| 307 |
+
},
|
| 308 |
+
{
|
| 309 |
+
"query": "Có những trường hợp đặc biệt nào khi tìm tiệm cận mà ta cần lưu ý?",
|
| 310 |
+
"correct_rank": 1,
|
| 311 |
+
"reciprocal_rank": 1.0,
|
| 312 |
+
"recall_3": 1,
|
| 313 |
+
"recall_5": 1,
|
| 314 |
+
"hierarchy_ok": true,
|
| 315 |
+
"top5_types": [
|
| 316 |
+
"correct",
|
| 317 |
+
"related",
|
| 318 |
+
"irrelevant",
|
| 319 |
+
"irrelevant",
|
| 320 |
+
"irrelevant"
|
| 321 |
+
]
|
| 322 |
+
},
|
| 323 |
+
{
|
| 324 |
+
"query": "Hàm số f(x) = x + sin(x) có tiệm cận không? Giải thích.",
|
| 325 |
+
"correct_rank": 1,
|
| 326 |
+
"reciprocal_rank": 1.0,
|
| 327 |
+
"recall_3": 1,
|
| 328 |
+
"recall_5": 1,
|
| 329 |
+
"hierarchy_ok": false,
|
| 330 |
+
"top5_types": [
|
| 331 |
+
"correct",
|
| 332 |
+
"irrelevant",
|
| 333 |
+
"related",
|
| 334 |
+
"irrelevant",
|
| 335 |
+
"irrelevant"
|
| 336 |
+
]
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"query": "Một hàm số không có điểm gián đoạn có thể có tiệm cận đứng không?",
|
| 340 |
+
"correct_rank": 1,
|
| 341 |
+
"reciprocal_rank": 1.0,
|
| 342 |
+
"recall_3": 1,
|
| 343 |
+
"recall_5": 1,
|
| 344 |
+
"hierarchy_ok": true,
|
| 345 |
+
"top5_types": [
|
| 346 |
+
"correct",
|
| 347 |
+
"related",
|
| 348 |
+
"irrelevant",
|
| 349 |
+
"related",
|
| 350 |
+
"irrelevant"
|
| 351 |
+
]
|
| 352 |
+
},
|
| 353 |
+
{
|
| 354 |
+
"query": "Nếu một hàm số có giới hạn tiến tới vô cùng khi x tiến tới vô cùng, điều đó có ý nghĩa gì về tiệm cận?",
|
| 355 |
+
"correct_rank": 2,
|
| 356 |
+
"reciprocal_rank": 0.5,
|
| 357 |
+
"recall_3": 1,
|
| 358 |
+
"recall_5": 1,
|
| 359 |
+
"hierarchy_ok": false,
|
| 360 |
+
"top5_types": [
|
| 361 |
+
"irrelevant",
|
| 362 |
+
"correct",
|
| 363 |
+
"related",
|
| 364 |
+
"related",
|
| 365 |
+
"irrelevant"
|
| 366 |
+
]
|
| 367 |
+
},
|
| 368 |
+
{
|
| 369 |
+
"query": "Nếu biết đồ thị hàm số đối x��ng qua trục tung, ta có thể suy ra điều gì về hàm số đó?",
|
| 370 |
+
"correct_rank": 1,
|
| 371 |
+
"reciprocal_rank": 1.0,
|
| 372 |
+
"recall_3": 1,
|
| 373 |
+
"recall_5": 1,
|
| 374 |
+
"hierarchy_ok": true,
|
| 375 |
+
"top5_types": [
|
| 376 |
+
"correct",
|
| 377 |
+
"related",
|
| 378 |
+
"related",
|
| 379 |
+
"irrelevant",
|
| 380 |
+
"irrelevant"
|
| 381 |
+
]
|
| 382 |
+
},
|
| 383 |
+
{
|
| 384 |
+
"query": "Cho hàm số f(x) = x^3 - 3x^2 + 2, tìm giá trị lớn nhất và nhỏ nhất của hàm số trên đoạn [0, 3].",
|
| 385 |
+
"correct_rank": 3,
|
| 386 |
+
"reciprocal_rank": 0.3333333333333333,
|
| 387 |
+
"recall_3": 1,
|
| 388 |
+
"recall_5": 1,
|
| 389 |
+
"hierarchy_ok": false,
|
| 390 |
+
"top5_types": [
|
| 391 |
+
"irrelevant",
|
| 392 |
+
"related",
|
| 393 |
+
"correct",
|
| 394 |
+
"related",
|
| 395 |
+
"irrelevant"
|
| 396 |
+
]
|
| 397 |
+
},
|
| 398 |
+
{
|
| 399 |
+
"query": "Làm sao để chứng minh một hàm số bậc ba đồng biến trên R?",
|
| 400 |
+
"correct_rank": 1,
|
| 401 |
+
"reciprocal_rank": 1.0,
|
| 402 |
+
"recall_3": 1,
|
| 403 |
+
"recall_5": 1,
|
| 404 |
+
"hierarchy_ok": true,
|
| 405 |
+
"top5_types": [
|
| 406 |
+
"correct",
|
| 407 |
+
"related",
|
| 408 |
+
"related",
|
| 409 |
+
"irrelevant",
|
| 410 |
+
"irrelevant"
|
| 411 |
+
]
|
| 412 |
+
},
|
| 413 |
+
{
|
| 414 |
+
"query": "Ứng dụng của đạo hàm trong việc tìm giá trị lớn nhất, nhỏ nhất của hàm số bậc ba trong một khoảng cho trước?",
|
| 415 |
+
"correct_rank": 1,
|
| 416 |
+
"reciprocal_rank": 1.0,
|
| 417 |
+
"recall_3": 1,
|
| 418 |
+
"recall_5": 1,
|
| 419 |
+
"hierarchy_ok": true,
|
| 420 |
+
"top5_types": [
|
| 421 |
+
"correct",
|
| 422 |
+
"related",
|
| 423 |
+
"related",
|
| 424 |
+
"irrelevant",
|
| 425 |
+
"irrelevant"
|
| 426 |
+
]
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"query": "Cho hàm số f(x) = (x+1)/(x-2). Tìm tất cả các đường tiệm cận và tâm đối xứng của đồ thị hàm số.",
|
| 430 |
+
"correct_rank": 1,
|
| 431 |
+
"reciprocal_rank": 1.0,
|
| 432 |
+
"recall_3": 1,
|
| 433 |
+
"recall_5": 1,
|
| 434 |
+
"hierarchy_ok": true,
|
| 435 |
+
"top5_types": [
|
| 436 |
+
"correct",
|
| 437 |
+
"related",
|
| 438 |
+
"related",
|
| 439 |
+
"irrelevant",
|
| 440 |
+
"irrelevant"
|
| 441 |
+
]
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"query": "Ứng dụng của việc khảo sát hàm phân thức bậc nhất trên bậc nhất trong thực tế là gì?",
|
| 445 |
+
"correct_rank": 1,
|
| 446 |
+
"reciprocal_rank": 1.0,
|
| 447 |
+
"recall_3": 1,
|
| 448 |
+
"recall_5": 1,
|
| 449 |
+
"hierarchy_ok": true,
|
| 450 |
+
"top5_types": [
|
| 451 |
+
"correct",
|
| 452 |
+
"related",
|
| 453 |
+
"related",
|
| 454 |
+
"irrelevant",
|
| 455 |
+
"irrelevant"
|
| 456 |
+
]
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"query": "So sánh phương pháp khảo sát hàm phân thức bậc nhất trên bậc nhất với phương pháp khảo sát hàm số bậc hai.",
|
| 460 |
+
"correct_rank": 1,
|
| 461 |
+
"reciprocal_rank": 1.0,
|
| 462 |
+
"recall_3": 1,
|
| 463 |
+
"recall_5": 1,
|
| 464 |
+
"hierarchy_ok": true,
|
| 465 |
+
"top5_types": [
|
| 466 |
+
"correct",
|
| 467 |
+
"related",
|
| 468 |
+
"related",
|
| 469 |
+
"irrelevant",
|
| 470 |
+
"irrelevant"
|
| 471 |
+
]
|
| 472 |
+
},
|
| 473 |
+
{
|
| 474 |
+
"query": "Trong một bài toán tối ưu về diện tích, nếu ta tìm được nghiệm âm, điều này có ý nghĩa gì và ta nên làm gì tiếp theo?",
|
| 475 |
+
"correct_rank": 2,
|
| 476 |
+
"reciprocal_rank": 0.5,
|
| 477 |
+
"recall_3": 1,
|
| 478 |
+
"recall_5": 1,
|
| 479 |
+
"hierarchy_ok": false,
|
| 480 |
+
"top5_types": [
|
| 481 |
+
"related",
|
| 482 |
+
"correct",
|
| 483 |
+
"irrelevant",
|
| 484 |
+
"related",
|
| 485 |
+
"irrelevant"
|
| 486 |
+
]
|
| 487 |
+
},
|
| 488 |
+
{
|
| 489 |
+
"query": "Một công ty muốn tối đa hóa lợi nhuận. Hãy mô tả cách họ có thể sử dụng phương pháp đạo hàm để giải quyết bài toán này, bao gồm cả việc xác định hàm mục tiêu và các ràng buộc.",
|
| 490 |
+
"correct_rank": 2,
|
| 491 |
+
"reciprocal_rank": 0.5,
|
| 492 |
+
"recall_3": 1,
|
| 493 |
+
"recall_5": 1,
|
| 494 |
+
"hierarchy_ok": false,
|
| 495 |
+
"top5_types": [
|
| 496 |
+
"related",
|
| 497 |
+
"correct",
|
| 498 |
+
"related",
|
| 499 |
+
"irrelevant",
|
| 500 |
+
"irrelevant"
|
| 501 |
+
]
|
| 502 |
+
},
|
| 503 |
+
{
|
| 504 |
+
"query": "Khi áp dụng đạo hàm để giải bài toán tối ưu, làm thế nào để chắc chắn rằng nghiệm tìm được là nghiệm tối ưu toàn cục, không phải chỉ là nghiệm cục bộ?",
|
| 505 |
+
"correct_rank": 1,
|
| 506 |
+
"reciprocal_rank": 1.0,
|
| 507 |
+
"recall_3": 1,
|
| 508 |
+
"recall_5": 1,
|
| 509 |
+
"hierarchy_ok": true,
|
| 510 |
+
"top5_types": [
|
| 511 |
+
"correct",
|
| 512 |
+
"related",
|
| 513 |
+
"related",
|
| 514 |
+
"irrelevant",
|
| 515 |
+
"irrelevant"
|
| 516 |
+
]
|
| 517 |
+
},
|
| 518 |
+
{
|
| 519 |
+
"query": "Một hình trụ có tổng diện tích bề mặt là S. Tìm bán kính đáy và chiều cao để thể tích hình trụ lớn nhất.",
|
| 520 |
+
"correct_rank": 1,
|
| 521 |
+
"reciprocal_rank": 1.0,
|
| 522 |
+
"recall_3": 1,
|
| 523 |
+
"recall_5": 1,
|
| 524 |
+
"hierarchy_ok": true,
|
| 525 |
+
"top5_types": [
|
| 526 |
+
"correct",
|
| 527 |
+
"related",
|
| 528 |
+
"irrelevant",
|
| 529 |
+
"related",
|
| 530 |
+
"irrelevant"
|
| 531 |
+
]
|
| 532 |
+
},
|
| 533 |
+
{
|
| 534 |
+
"query": "Cho hình chữ nhật có diện tích cố định. Chứng minh rằng hình chữ nhật có chu vi nhỏ nhất là hình vuông.",
|
| 535 |
+
"correct_rank": 1,
|
| 536 |
+
"reciprocal_rank": 1.0,
|
| 537 |
+
"recall_3": 1,
|
| 538 |
+
"recall_5": 1,
|
| 539 |
+
"hierarchy_ok": true,
|
| 540 |
+
"top5_types": [
|
| 541 |
+
"correct",
|
| 542 |
+
"related",
|
| 543 |
+
"irrelevant",
|
| 544 |
+
"irrelevant",
|
| 545 |
+
"irrelevant"
|
| 546 |
+
]
|
| 547 |
+
},
|
| 548 |
+
{
|
| 549 |
+
"query": "Một người có 100m hàng rào muốn rào một khu đất hình chữ nhật. Hỏi diện tích lớn nhất có thể rào được là bao nhiêu?",
|
| 550 |
+
"correct_rank": 1,
|
| 551 |
+
"reciprocal_rank": 1.0,
|
| 552 |
+
"recall_3": 1,
|
| 553 |
+
"recall_5": 1,
|
| 554 |
+
"hierarchy_ok": true,
|
| 555 |
+
"top5_types": [
|
| 556 |
+
"correct",
|
| 557 |
+
"related",
|
| 558 |
+
"related",
|
| 559 |
+
"irrelevant",
|
| 560 |
+
"irrelevant"
|
| 561 |
+
]
|
| 562 |
+
},
|
| 563 |
+
{
|
| 564 |
+
"query": "Trong thực tế, những yếu tố nào có thể ảnh hưởng đến bài toán tối ưu kinh tế, ngoài chi phí và giá bán?",
|
| 565 |
+
"correct_rank": 1,
|
| 566 |
+
"reciprocal_rank": 1.0,
|
| 567 |
+
"recall_3": 1,
|
| 568 |
+
"recall_5": 1,
|
| 569 |
+
"hierarchy_ok": true,
|
| 570 |
+
"top5_types": [
|
| 571 |
+
"correct",
|
| 572 |
+
"related",
|
| 573 |
+
"related",
|
| 574 |
+
"irrelevant",
|
| 575 |
+
"irrelevant"
|
| 576 |
+
]
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"query": "So sánh bài toán tối ưu lợi nhuận với bài toán tối ưu chi phí?",
|
| 580 |
+
"correct_rank": 1,
|
| 581 |
+
"reciprocal_rank": 1.0,
|
| 582 |
+
"recall_3": 1,
|
| 583 |
+
"recall_5": 1,
|
| 584 |
+
"hierarchy_ok": true,
|
| 585 |
+
"top5_types": [
|
| 586 |
+
"correct",
|
| 587 |
+
"related",
|
| 588 |
+
"related",
|
| 589 |
+
"irrelevant",
|
| 590 |
+
"irrelevant"
|
| 591 |
+
]
|
| 592 |
+
},
|
| 593 |
+
{
|
| 594 |
+
"query": "Một công ty nên làm gì nếu dự đoán chi phí sản xuất tăng cao trong tương lai?",
|
| 595 |
+
"correct_rank": 1,
|
| 596 |
+
"reciprocal_rank": 1.0,
|
| 597 |
+
"recall_3": 1,
|
| 598 |
+
"recall_5": 1,
|
| 599 |
+
"hierarchy_ok": true,
|
| 600 |
+
"top5_types": [
|
| 601 |
+
"correct",
|
| 602 |
+
"related",
|
| 603 |
+
"related",
|
| 604 |
+
"irrelevant",
|
| 605 |
+
"irrelevant"
|
| 606 |
+
]
|
| 607 |
+
},
|
| 608 |
+
{
|
| 609 |
+
"query": "Cho ba điểm A, B, C. Biết rằng vectơ AB = 2 * vectơ AC. Ba điểm này có thẳng hàng không? Giải thích.",
|
| 610 |
+
"correct_rank": 1,
|
| 611 |
+
"reciprocal_rank": 1.0,
|
| 612 |
+
"recall_3": 1,
|
| 613 |
+
"recall_5": 1,
|
| 614 |
+
"hierarchy_ok": true,
|
| 615 |
+
"top5_types": [
|
| 616 |
+
"correct",
|
| 617 |
+
"related",
|
| 618 |
+
"related",
|
| 619 |
+
"related",
|
| 620 |
+
"related"
|
| 621 |
+
]
|
| 622 |
+
},
|
| 623 |
+
{
|
| 624 |
+
"query": "Cho 4 điểm A, B, C, D. Nếu không tồn tại các số thực m, n sao cho vectơ AD = m*vectơ AB + n*vectơ AC, điều này có nghĩa gì?",
|
| 625 |
+
"correct_rank": 1,
|
| 626 |
+
"reciprocal_rank": 1.0,
|
| 627 |
+
"recall_3": 1,
|
| 628 |
+
"recall_5": 1,
|
| 629 |
+
"hierarchy_ok": true,
|
| 630 |
+
"top5_types": [
|
| 631 |
+
"correct",
|
| 632 |
+
"related",
|
| 633 |
+
"related",
|
| 634 |
+
"related",
|
| 635 |
+
"irrelevant"
|
| 636 |
+
]
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"query": "Khi nào việc sử dụng vectơ để chứng minh thẳng hàng hoặc đồng phẳng trở nên khó khăn và cần sử dụng phương pháp khác?",
|
| 640 |
+
"correct_rank": 1,
|
| 641 |
+
"reciprocal_rank": 1.0,
|
| 642 |
+
"recall_3": 1,
|
| 643 |
+
"recall_5": 1,
|
| 644 |
+
"hierarchy_ok": true,
|
| 645 |
+
"top5_types": [
|
| 646 |
+
"correct",
|
| 647 |
+
"related",
|
| 648 |
+
"related",
|
| 649 |
+
"related",
|
| 650 |
+
"related"
|
| 651 |
+
]
|
| 652 |
+
},
|
| 653 |
+
{
|
| 654 |
+
"query": "Cho hình bình hành ABCD, gọi O là giao điểm của AC và BD. Hãy biểu diễn \\(\\overrightarrow{AO}\\) theo \\(\\overrightarrow{AB}\\) và \\(\\overrightarrow{AD}\\).",
|
| 655 |
+
"correct_rank": 1,
|
| 656 |
+
"reciprocal_rank": 1.0,
|
| 657 |
+
"recall_3": 1,
|
| 658 |
+
"recall_5": 1,
|
| 659 |
+
"hierarchy_ok": true,
|
| 660 |
+
"top5_types": [
|
| 661 |
+
"correct",
|
| 662 |
+
"related",
|
| 663 |
+
"related",
|
| 664 |
+
"irrelevant",
|
| 665 |
+
"irrelevant"
|
| 666 |
+
]
|
| 667 |
+
},
|
| 668 |
+
{
|
| 669 |
+
"query": "Trong hình hộp \\(ABCD.EFGH\\), tìm vectơ tổng của \\(\\overrightarrow{AB}\\), \\(\\overrightarrow{AD}\\), và \\(\\overrightarrow{AA'}\\), biết A' là một điểm bất kỳ trên cạnh AE.",
|
| 670 |
+
"correct_rank": 1,
|
| 671 |
+
"reciprocal_rank": 1.0,
|
| 672 |
+
"recall_3": 1,
|
| 673 |
+
"recall_5": 1,
|
| 674 |
+
"hierarchy_ok": true,
|
| 675 |
+
"top5_types": [
|
| 676 |
+
"correct",
|
| 677 |
+
"related",
|
| 678 |
+
"related",
|
| 679 |
+
"irrelevant",
|
| 680 |
+
"related"
|
| 681 |
+
]
|
| 682 |
+
},
|
| 683 |
+
{
|
| 684 |
+
"query": "Áp dụng các tính chất của phép toán vectơ, chứng minh rằng trung điểm của một đoạn thẳng chia đoạn thẳng đó thành hai vectơ bằng nhau.",
|
| 685 |
+
"correct_rank": 2,
|
| 686 |
+
"reciprocal_rank": 0.5,
|
| 687 |
+
"recall_3": 1,
|
| 688 |
+
"recall_5": 1,
|
| 689 |
+
"hierarchy_ok": false,
|
| 690 |
+
"top5_types": [
|
| 691 |
+
"related",
|
| 692 |
+
"correct",
|
| 693 |
+
"related",
|
| 694 |
+
"related",
|
| 695 |
+
"irrelevant"
|
| 696 |
+
]
|
| 697 |
+
},
|
| 698 |
+
{
|
| 699 |
+
"query": "Khi nào thì việc sử dụng hệ trục tọa độ Oxyz là cần thiết thay vì hệ trục tọa độ Oxy?",
|
| 700 |
+
"correct_rank": 1,
|
| 701 |
+
"reciprocal_rank": 1.0,
|
| 702 |
+
"recall_3": 1,
|
| 703 |
+
"recall_5": 1,
|
| 704 |
+
"hierarchy_ok": true,
|
| 705 |
+
"top5_types": [
|
| 706 |
+
"correct",
|
| 707 |
+
"related",
|
| 708 |
+
"related",
|
| 709 |
+
"irrelevant",
|
| 710 |
+
"related"
|
| 711 |
+
]
|
| 712 |
+
},
|
| 713 |
+
{
|
| 714 |
+
"query": "Cho điểm M(x; y; z). Tìm điều kiện để điểm M nằm trên đường thẳng đi qua gốc O và song song với trục Oz.",
|
| 715 |
+
"correct_rank": 1,
|
| 716 |
+
"reciprocal_rank": 1.0,
|
| 717 |
+
"recall_3": 1,
|
| 718 |
+
"recall_5": 1,
|
| 719 |
+
"hierarchy_ok": true,
|
| 720 |
+
"top5_types": [
|
| 721 |
+
"correct",
|
| 722 |
+
"related",
|
| 723 |
+
"related",
|
| 724 |
+
"related",
|
| 725 |
+
"related"
|
| 726 |
+
]
|
| 727 |
+
},
|
| 728 |
+
{
|
| 729 |
+
"query": "Điểm M(a; b; c) thỏa mãn điều kiện gì để nó cách đều các trục Ox, Oy, Oz?",
|
| 730 |
+
"correct_rank": 1,
|
| 731 |
+
"reciprocal_rank": 1.0,
|
| 732 |
+
"recall_3": 1,
|
| 733 |
+
"recall_5": 1,
|
| 734 |
+
"hierarchy_ok": true,
|
| 735 |
+
"top5_types": [
|
| 736 |
+
"correct",
|
| 737 |
+
"related",
|
| 738 |
+
"related",
|
| 739 |
+
"irrelevant",
|
| 740 |
+
"irrelevant"
|
| 741 |
+
]
|
| 742 |
+
},
|
| 743 |
+
{
|
| 744 |
+
"query": "Cho hình lập phương ABCD.A'B'C'D' với A(0;0;0), B(1;0;0), D(0;1;0), A'(0;0;1). Tìm tọa độ trọng tâm tứ diện ABA'C'.",
|
| 745 |
+
"correct_rank": 1,
|
| 746 |
+
"reciprocal_rank": 1.0,
|
| 747 |
+
"recall_3": 1,
|
| 748 |
+
"recall_5": 1,
|
| 749 |
+
"hierarchy_ok": true,
|
| 750 |
+
"top5_types": [
|
| 751 |
+
"correct",
|
| 752 |
+
"related",
|
| 753 |
+
"related",
|
| 754 |
+
"related",
|
| 755 |
+
"irrelevant"
|
| 756 |
+
]
|
| 757 |
+
},
|
| 758 |
+
{
|
| 759 |
+
"query": "Chứng minh rằng trọng tâm của tam giác chia mỗi đường trung tuyến của tam giác đó theo tỉ lệ 2:1.",
|
| 760 |
+
"correct_rank": 1,
|
| 761 |
+
"reciprocal_rank": 1.0,
|
| 762 |
+
"recall_3": 1,
|
| 763 |
+
"recall_5": 1,
|
| 764 |
+
"hierarchy_ok": false,
|
| 765 |
+
"top5_types": [
|
| 766 |
+
"correct",
|
| 767 |
+
"irrelevant",
|
| 768 |
+
"related",
|
| 769 |
+
"related",
|
| 770 |
+
"irrelevant"
|
| 771 |
+
]
|
| 772 |
+
},
|
| 773 |
+
{
|
| 774 |
+
"query": "Một đoạn thẳng AB có độ dài bằng 5 và trung điểm I có tọa độ (1;2;3). Tìm tất cả các khả năng tọa độ của A và B.",
|
| 775 |
+
"correct_rank": 1,
|
| 776 |
+
"reciprocal_rank": 1.0,
|
| 777 |
+
"recall_3": 1,
|
| 778 |
+
"recall_5": 1,
|
| 779 |
+
"hierarchy_ok": true,
|
| 780 |
+
"top5_types": [
|
| 781 |
+
"correct",
|
| 782 |
+
"related",
|
| 783 |
+
"related",
|
| 784 |
+
"related",
|
| 785 |
+
"irrelevant"
|
| 786 |
+
]
|
| 787 |
+
},
|
| 788 |
+
{
|
| 789 |
+
"query": "Cho hình hộp chữ nhật ABCD.A'B'C'D' với A(0;0;0), B(2;0;0), D(0;2;0), A'(0;0;2). Tính góc giữa hai vectơ AC' và BD.",
|
| 790 |
+
"correct_rank": 1,
|
| 791 |
+
"reciprocal_rank": 1.0,
|
| 792 |
+
"recall_3": 1,
|
| 793 |
+
"recall_5": 1,
|
| 794 |
+
"hierarchy_ok": true,
|
| 795 |
+
"top5_types": [
|
| 796 |
+
"correct",
|
| 797 |
+
"related",
|
| 798 |
+
"irrelevant",
|
| 799 |
+
"related",
|
| 800 |
+
"related"
|
| 801 |
+
]
|
| 802 |
+
},
|
| 803 |
+
{
|
| 804 |
+
"query": "Cho hai vectơ a và b thỏa mãn |a| = 2, |b| = 3 và (a, b) = 60 độ. Tính |a + b|.",
|
| 805 |
+
"correct_rank": 1,
|
| 806 |
+
"reciprocal_rank": 1.0,
|
| 807 |
+
"recall_3": 1,
|
| 808 |
+
"recall_5": 1,
|
| 809 |
+
"hierarchy_ok": true,
|
| 810 |
+
"top5_types": [
|
| 811 |
+
"correct",
|
| 812 |
+
"related",
|
| 813 |
+
"related",
|
| 814 |
+
"related",
|
| 815 |
+
"related"
|
| 816 |
+
]
|
| 817 |
+
},
|
| 818 |
+
{
|
| 819 |
+
"query": "Tìm tất cả các giá trị của m để hai vectơ a = (m; 2; 1) và b = (2; m; -4) vuông góc với nhau.",
|
| 820 |
+
"correct_rank": 1,
|
| 821 |
+
"reciprocal_rank": 1.0,
|
| 822 |
+
"recall_3": 1,
|
| 823 |
+
"recall_5": 1,
|
| 824 |
+
"hierarchy_ok": true,
|
| 825 |
+
"top5_types": [
|
| 826 |
+
"correct",
|
| 827 |
+
"related",
|
| 828 |
+
"related",
|
| 829 |
+
"related",
|
| 830 |
+
"related"
|
| 831 |
+
]
|
| 832 |
+
},
|
| 833 |
+
{
|
| 834 |
+
"query": "So với trung bình và độ lệch chuẩn, khoảng biến thiên và IQR có ưu điểm gì?",
|
| 835 |
+
"correct_rank": 2,
|
| 836 |
+
"reciprocal_rank": 0.5,
|
| 837 |
+
"recall_3": 1,
|
| 838 |
+
"recall_5": 1,
|
| 839 |
+
"hierarchy_ok": false,
|
| 840 |
+
"top5_types": [
|
| 841 |
+
"related",
|
| 842 |
+
"correct",
|
| 843 |
+
"related",
|
| 844 |
+
"related",
|
| 845 |
+
"related"
|
| 846 |
+
]
|
| 847 |
+
},
|
| 848 |
+
{
|
| 849 |
+
"query": "Khi nào thì khoảng biến thiên và khoảng tứ phân vị cho kết quả tương tự?",
|
| 850 |
+
"correct_rank": 1,
|
| 851 |
+
"reciprocal_rank": 1.0,
|
| 852 |
+
"recall_3": 1,
|
| 853 |
+
"recall_5": 1,
|
| 854 |
+
"hierarchy_ok": true,
|
| 855 |
+
"top5_types": [
|
| 856 |
+
"correct",
|
| 857 |
+
"related",
|
| 858 |
+
"related",
|
| 859 |
+
"related",
|
| 860 |
+
"irrelevant"
|
| 861 |
+
]
|
| 862 |
+
},
|
| 863 |
+
{
|
| 864 |
+
"query": "Nếu biết IQR, có thể suy ra khoảng biến thiên không? Tại sao?",
|
| 865 |
+
"correct_rank": 1,
|
| 866 |
+
"reciprocal_rank": 1.0,
|
| 867 |
+
"recall_3": 1,
|
| 868 |
+
"recall_5": 1,
|
| 869 |
+
"hierarchy_ok": true,
|
| 870 |
+
"top5_types": [
|
| 871 |
+
"correct",
|
| 872 |
+
"related",
|
| 873 |
+
"related",
|
| 874 |
+
"related",
|
| 875 |
+
"irrelevant"
|
| 876 |
+
]
|
| 877 |
+
},
|
| 878 |
+
{
|
| 879 |
+
"query": "Cho bảng dữ liệu ghép nhóm, nếu bạn biết Q1, Q3, bạn có thể suy ra điều gì về phân bố của dữ liệu?",
|
| 880 |
+
"correct_rank": 1,
|
| 881 |
+
"reciprocal_rank": 1.0,
|
| 882 |
+
"recall_3": 1,
|
| 883 |
+
"recall_5": 1,
|
| 884 |
+
"hierarchy_ok": true,
|
| 885 |
+
"top5_types": [
|
| 886 |
+
"correct",
|
| 887 |
+
"related",
|
| 888 |
+
"related",
|
| 889 |
+
"related",
|
| 890 |
+
"related"
|
| 891 |
+
]
|
| 892 |
+
},
|
| 893 |
+
{
|
| 894 |
+
"query": "Một công ty sử dụng IQR để phân tích doanh số hàng tháng. Nếu IQR tăng đột ngột, điều này có thể báo hiệu điều gì?",
|
| 895 |
+
"correct_rank": 1,
|
| 896 |
+
"reciprocal_rank": 1.0,
|
| 897 |
+
"recall_3": 1,
|
| 898 |
+
"recall_5": 1,
|
| 899 |
+
"hierarchy_ok": true,
|
| 900 |
+
"top5_types": [
|
| 901 |
+
"correct",
|
| 902 |
+
"related",
|
| 903 |
+
"related",
|
| 904 |
+
"related",
|
| 905 |
+
"irrelevant"
|
| 906 |
+
]
|
| 907 |
+
},
|
| 908 |
+
{
|
| 909 |
+
"query": "Nếu Q1 = 20 và Q3 = 50, hãy ước tính xem có bao nhiêu phần trăm dữ liệu nằm giữa 20 và 50.",
|
| 910 |
+
"correct_rank": 1,
|
| 911 |
+
"reciprocal_rank": 1.0,
|
| 912 |
+
"recall_3": 1,
|
| 913 |
+
"recall_5": 1,
|
| 914 |
+
"hierarchy_ok": true,
|
| 915 |
+
"top5_types": [
|
| 916 |
+
"correct",
|
| 917 |
+
"related",
|
| 918 |
+
"related",
|
| 919 |
+
"related",
|
| 920 |
+
"related"
|
| 921 |
+
]
|
| 922 |
+
},
|
| 923 |
+
{
|
| 924 |
+
"query": "Một tập dữ liệu có trung bình là 50 và độ lệch chuẩn là 5. Giá trị 65 có phải là một giá trị bất thường không?",
|
| 925 |
+
"correct_rank": 1,
|
| 926 |
+
"reciprocal_rank": 1.0,
|
| 927 |
+
"recall_3": 1,
|
| 928 |
+
"recall_5": 1,
|
| 929 |
+
"hierarchy_ok": true,
|
| 930 |
+
"top5_types": [
|
| 931 |
+
"correct",
|
| 932 |
+
"related",
|
| 933 |
+
"related",
|
| 934 |
+
"related",
|
| 935 |
+
"related"
|
| 936 |
+
]
|
| 937 |
+
},
|
| 938 |
+
{
|
| 939 |
+
"query": "So sánh ý nghĩa của việc sử dụng phương sai mẫu (sample variance) và phương sai quần thể (population variance).",
|
| 940 |
+
"correct_rank": 1,
|
| 941 |
+
"reciprocal_rank": 1.0,
|
| 942 |
+
"recall_3": 1,
|
| 943 |
+
"recall_5": 1,
|
| 944 |
+
"hierarchy_ok": true,
|
| 945 |
+
"top5_types": [
|
| 946 |
+
"correct",
|
| 947 |
+
"related",
|
| 948 |
+
"related",
|
| 949 |
+
"related",
|
| 950 |
+
"related"
|
| 951 |
+
]
|
| 952 |
+
},
|
| 953 |
+
{
|
| 954 |
+
"query": "Một nhà máy sản xuất bóng đèn có độ lệch chuẩn về tuổi thọ là 100 giờ. Làm thế nào để giảm độ lệch chuẩn này?",
|
| 955 |
+
"correct_rank": 2,
|
| 956 |
+
"reciprocal_rank": 0.5,
|
| 957 |
+
"recall_3": 1,
|
| 958 |
+
"recall_5": 1,
|
| 959 |
+
"hierarchy_ok": false,
|
| 960 |
+
"top5_types": [
|
| 961 |
+
"related",
|
| 962 |
+
"correct",
|
| 963 |
+
"related",
|
| 964 |
+
"irrelevant",
|
| 965 |
+
"irrelevant"
|
| 966 |
+
]
|
| 967 |
+
},
|
| 968 |
+
{
|
| 969 |
+
"query": "Trong thực tế, khi nào việc sử dụng phương sai quan trọng hơn so với độ lệch chuẩn, và ngược lại?",
|
| 970 |
+
"correct_rank": 1,
|
| 971 |
+
"reciprocal_rank": 1.0,
|
| 972 |
+
"recall_3": 1,
|
| 973 |
+
"recall_5": 1,
|
| 974 |
+
"hierarchy_ok": true,
|
| 975 |
+
"top5_types": [
|
| 976 |
+
"correct",
|
| 977 |
+
"related",
|
| 978 |
+
"related",
|
| 979 |
+
"related",
|
| 980 |
+
"irrelevant"
|
| 981 |
+
]
|
| 982 |
+
},
|
| 983 |
+
{
|
| 984 |
+
"query": "Nếu có một tập dữ liệu lớn với nhiều ngoại lệ, phương sai và độ lệch chuẩn có bị ảnh hưởng nhiều không? Giải thích.",
|
| 985 |
+
"correct_rank": 2,
|
| 986 |
+
"reciprocal_rank": 0.5,
|
| 987 |
+
"recall_3": 1,
|
| 988 |
+
"recall_5": 1,
|
| 989 |
+
"hierarchy_ok": false,
|
| 990 |
+
"top5_types": [
|
| 991 |
+
"related",
|
| 992 |
+
"correct",
|
| 993 |
+
"related",
|
| 994 |
+
"related",
|
| 995 |
+
"related"
|
| 996 |
+
]
|
| 997 |
+
},
|
| 998 |
+
{
|
| 999 |
+
"query": "Làm thế nào để ước lượng độ lệch chuẩn của một tập dữ liệu mà không cần tính toán chính xác?",
|
| 1000 |
+
"correct_rank": 2,
|
| 1001 |
+
"reciprocal_rank": 0.5,
|
| 1002 |
+
"recall_3": 1,
|
| 1003 |
+
"recall_5": 1,
|
| 1004 |
+
"hierarchy_ok": false,
|
| 1005 |
+
"top5_types": [
|
| 1006 |
+
"related",
|
| 1007 |
+
"correct",
|
| 1008 |
+
"related",
|
| 1009 |
+
"related",
|
| 1010 |
+
"related"
|
| 1011 |
+
]
|
| 1012 |
+
},
|
| 1013 |
+
{
|
| 1014 |
+
"query": "Giả sử bạn có hai bộ dữ liệu: một đo lường chiều cao của học sinh tiểu học (đơn vị cm) và một đo lường thu nhập của người lớn (đơn vị USD). Bạn muốn so sánh mức độ biến động của hai bộ dữ liệu này. Chỉ số nào phù hợp nhất để sử dụng và tại sao?",
|
| 1015 |
+
"correct_rank": 2,
|
| 1016 |
+
"reciprocal_rank": 0.5,
|
| 1017 |
+
"recall_3": 1,
|
| 1018 |
+
"recall_5": 1,
|
| 1019 |
+
"hierarchy_ok": false,
|
| 1020 |
+
"top5_types": [
|
| 1021 |
+
"related",
|
| 1022 |
+
"correct",
|
| 1023 |
+
"related",
|
| 1024 |
+
"related",
|
| 1025 |
+
"related"
|
| 1026 |
+
]
|
| 1027 |
+
},
|
| 1028 |
+
{
|
| 1029 |
+
"query": "Một công ty muốn đánh giá mức độ đồng đều trong năng suất làm việc của nhân viên ở hai phòng ban. Biết rằng dữ liệu năng suất có một vài giá trị ngoại lệ do sự cố kỹ thuật. Bạn nên sử dụng chỉ số nào để so sánh và tại sao?",
|
| 1030 |
+
"correct_rank": 1,
|
| 1031 |
+
"reciprocal_rank": 1.0,
|
| 1032 |
+
"recall_3": 1,
|
| 1033 |
+
"recall_5": 1,
|
| 1034 |
+
"hierarchy_ok": true,
|
| 1035 |
+
"top5_types": [
|
| 1036 |
+
"correct",
|
| 1037 |
+
"related",
|
| 1038 |
+
"related",
|
| 1039 |
+
"related",
|
| 1040 |
+
"related"
|
| 1041 |
+
]
|
| 1042 |
+
},
|
| 1043 |
+
{
|
| 1044 |
+
"query": "Bạn có một tập dữ liệu về thời gian hoàn thành một dự án. Sau khi phân tích, bạn nhận thấy khoảng biến thiên rất lớn nhưng IQR lại khá nhỏ. Điều này cho thấy điều gì về dữ liệu và bạn nên ưu tiên sử dụng chỉ số nào để mô tả độ phân tán?",
|
| 1045 |
+
"correct_rank": 1,
|
| 1046 |
+
"reciprocal_rank": 1.0,
|
| 1047 |
+
"recall_3": 1,
|
| 1048 |
+
"recall_5": 1,
|
| 1049 |
+
"hierarchy_ok": true,
|
| 1050 |
+
"top5_types": [
|
| 1051 |
+
"correct",
|
| 1052 |
+
"related",
|
| 1053 |
+
"related",
|
| 1054 |
+
"related",
|
| 1055 |
+
"irrelevant"
|
| 1056 |
+
]
|
| 1057 |
+
},
|
| 1058 |
+
{
|
| 1059 |
+
"query": "Một cấp số cộng có u_1 = 2 và u_5 = 14. Tìm u_10.",
|
| 1060 |
+
"correct_rank": 1,
|
| 1061 |
+
"reciprocal_rank": 1.0,
|
| 1062 |
+
"recall_3": 1,
|
| 1063 |
+
"recall_5": 1,
|
| 1064 |
+
"hierarchy_ok": true,
|
| 1065 |
+
"top5_types": [
|
| 1066 |
+
"correct",
|
| 1067 |
+
"related",
|
| 1068 |
+
"related",
|
| 1069 |
+
"related",
|
| 1070 |
+
"irrelevant"
|
| 1071 |
+
]
|
| 1072 |
+
},
|
| 1073 |
+
{
|
| 1074 |
+
"query": "Một người vay ngân hàng 100 triệu đồng với lãi suất hàng tháng tính theo cấp số cộng. Biết tháng đầu trả 2 triệu, tháng thứ hai trả 2.1 triệu. Hỏi tháng thứ 10 người đó phải trả bao nhiêu tiền?",
|
| 1075 |
+
"correct_rank": 2,
|
| 1076 |
+
"reciprocal_rank": 0.5,
|
| 1077 |
+
"recall_3": 1,
|
| 1078 |
+
"recall_5": 1,
|
| 1079 |
+
"hierarchy_ok": false,
|
| 1080 |
+
"top5_types": [
|
| 1081 |
+
"related",
|
| 1082 |
+
"correct",
|
| 1083 |
+
"related",
|
| 1084 |
+
"related",
|
| 1085 |
+
"irrelevant"
|
| 1086 |
+
]
|
| 1087 |
+
},
|
| 1088 |
+
{
|
| 1089 |
+
"query": "Cho cấp số cộng (u_n) có u_1 = -3, d = 2. Hỏi số 2021 có phải là một số hạng của cấp số cộng này không? Vì sao?",
|
| 1090 |
+
"correct_rank": 1,
|
| 1091 |
+
"reciprocal_rank": 1.0,
|
| 1092 |
+
"recall_3": 1,
|
| 1093 |
+
"recall_5": 1,
|
| 1094 |
+
"hierarchy_ok": true,
|
| 1095 |
+
"top5_types": [
|
| 1096 |
+
"correct",
|
| 1097 |
+
"related",
|
| 1098 |
+
"related",
|
| 1099 |
+
"related",
|
| 1100 |
+
"irrelevant"
|
| 1101 |
+
]
|
| 1102 |
+
},
|
| 1103 |
+
{
|
| 1104 |
+
"query": "Cho cấp số cộng có tổng 20 số hạng đầu là 500, và tổng 30 số hạng đầu là 1050. Tính số hạng đầu và công sai của cấp số cộng này.",
|
| 1105 |
+
"correct_rank": 1,
|
| 1106 |
+
"reciprocal_rank": 1.0,
|
| 1107 |
+
"recall_3": 1,
|
| 1108 |
+
"recall_5": 1,
|
| 1109 |
+
"hierarchy_ok": true,
|
| 1110 |
+
"top5_types": [
|
| 1111 |
+
"correct",
|
| 1112 |
+
"related",
|
| 1113 |
+
"related",
|
| 1114 |
+
"related",
|
| 1115 |
+
"irrelevant"
|
| 1116 |
+
]
|
| 1117 |
+
},
|
| 1118 |
+
{
|
| 1119 |
+
"query": "Một người đi xe đạp leo dốc. Trong phút đầu tiên, người đó đi được 200 mét. Mỗi phút sau, quãng đường đi được giảm 10 mét so với phút trước. Hỏi sau bao lâu người đó dừng lại (khi quãng đường đi được trong phút đó là 0 hoặc âm)? Tính tổng quãng đường đi được trước khi dừng.",
|
| 1120 |
+
"correct_rank": 1,
|
| 1121 |
+
"reciprocal_rank": 1.0,
|
| 1122 |
+
"recall_3": 1,
|
| 1123 |
+
"recall_5": 1,
|
| 1124 |
+
"hierarchy_ok": true,
|
| 1125 |
+
"top5_types": [
|
| 1126 |
+
"correct",
|
| 1127 |
+
"related",
|
| 1128 |
+
"irrelevant",
|
| 1129 |
+
"related",
|
| 1130 |
+
"related"
|
| 1131 |
+
]
|
| 1132 |
+
},
|
| 1133 |
+
{
|
| 1134 |
+
"query": "Một người muốn mua một căn nhà trả góp. Mỗi tháng, người đó trả một số tiền cố định, và số tiền trả mỗi tháng giảm dần theo cấp số cộng. Tháng đầu trả 10 triệu, mỗi tháng sau giảm 200 nghìn. Nếu tổng số tiền phải trả là 1 tỷ đồng, hỏi người đó phải trả trong bao nhiêu tháng?",
|
| 1135 |
+
"correct_rank": 1,
|
| 1136 |
+
"reciprocal_rank": 1.0,
|
| 1137 |
+
"recall_3": 1,
|
| 1138 |
+
"recall_5": 1,
|
| 1139 |
+
"hierarchy_ok": true,
|
| 1140 |
+
"top5_types": [
|
| 1141 |
+
"correct",
|
| 1142 |
+
"related",
|
| 1143 |
+
"related",
|
| 1144 |
+
"related",
|
| 1145 |
+
"irrelevant"
|
| 1146 |
+
]
|
| 1147 |
+
},
|
| 1148 |
+
{
|
| 1149 |
+
"query": "Tìm công thức tổng quát cho tổng các số lẻ từ 1 đến 2n-1 sử dụng công thức cấp số cộng.",
|
| 1150 |
+
"correct_rank": 1,
|
| 1151 |
+
"reciprocal_rank": 1.0,
|
| 1152 |
+
"recall_3": 1,
|
| 1153 |
+
"recall_5": 1,
|
| 1154 |
+
"hierarchy_ok": true,
|
| 1155 |
+
"top5_types": [
|
| 1156 |
+
"correct",
|
| 1157 |
+
"related",
|
| 1158 |
+
"irrelevant",
|
| 1159 |
+
"related",
|
| 1160 |
+
"related"
|
| 1161 |
+
]
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"query": "Một cấp số cộng có tổng của 5 số hạng đầu là 30 và tổng của 10 số hạng đầu là 80. Tìm số hạng thứ 15 của cấp số cộng này.",
|
| 1165 |
+
"correct_rank": 1,
|
| 1166 |
+
"reciprocal_rank": 1.0,
|
| 1167 |
+
"recall_3": 1,
|
| 1168 |
+
"recall_5": 1,
|
| 1169 |
+
"hierarchy_ok": true,
|
| 1170 |
+
"top5_types": [
|
| 1171 |
+
"correct",
|
| 1172 |
+
"related",
|
| 1173 |
+
"related",
|
| 1174 |
+
"related",
|
| 1175 |
+
"irrelevant"
|
| 1176 |
+
]
|
| 1177 |
+
},
|
| 1178 |
+
{
|
| 1179 |
+
"query": "Nếu một khoản đầu tư tăng trưởng theo cấp số nhân với tỷ lệ 10% mỗi năm, sau 5 năm, khoản đầu tư ban đầu sẽ tăng lên bao nhiêu lần?",
|
| 1180 |
+
"correct_rank": 2,
|
| 1181 |
+
"reciprocal_rank": 0.5,
|
| 1182 |
+
"recall_3": 1,
|
| 1183 |
+
"recall_5": 1,
|
| 1184 |
+
"hierarchy_ok": false,
|
| 1185 |
+
"top5_types": [
|
| 1186 |
+
"related",
|
| 1187 |
+
"correct",
|
| 1188 |
+
"related",
|
| 1189 |
+
"related",
|
| 1190 |
+
"irrelevant"
|
| 1191 |
+
]
|
| 1192 |
+
},
|
| 1193 |
+
{
|
| 1194 |
+
"query": "Một quần thể vi khuẩn tăng trưởng theo cấp số nhân, cứ sau mỗi giờ số lượng tăng gấp đôi. Nếu ban đầu có 1000 vi khuẩn, sau 4 giờ sẽ có bao nhiêu vi khuẩn?",
|
| 1195 |
+
"correct_rank": 2,
|
| 1196 |
+
"reciprocal_rank": 0.5,
|
| 1197 |
+
"recall_3": 1,
|
| 1198 |
+
"recall_5": 1,
|
| 1199 |
+
"hierarchy_ok": false,
|
| 1200 |
+
"top5_types": [
|
| 1201 |
+
"related",
|
| 1202 |
+
"correct",
|
| 1203 |
+
"related",
|
| 1204 |
+
"related",
|
| 1205 |
+
"irrelevant"
|
| 1206 |
+
]
|
| 1207 |
+
},
|
| 1208 |
+
{
|
| 1209 |
+
"query": "Một chất phóng xạ giảm đi một nửa sau mỗi chu kỳ bán rã. Nếu ban đầu có 100g chất này, sau 3 chu kỳ bán rã sẽ còn lại bao nhiêu gam?",
|
| 1210 |
+
"correct_rank": 4,
|
| 1211 |
+
"reciprocal_rank": 0.25,
|
| 1212 |
+
"recall_3": 0,
|
| 1213 |
+
"recall_5": 1,
|
| 1214 |
+
"hierarchy_ok": false,
|
| 1215 |
+
"top5_types": [
|
| 1216 |
+
"related",
|
| 1217 |
+
"related",
|
| 1218 |
+
"related",
|
| 1219 |
+
"correct",
|
| 1220 |
+
"irrelevant"
|
| 1221 |
+
]
|
| 1222 |
+
},
|
| 1223 |
+
{
|
| 1224 |
+
"query": "Một người đầu tư 100 triệu đồng vào một quỹ tăng trưởng với tỷ lệ 15% mỗi năm. Hỏi sau 5 năm, số tiền của người đó là bao nhiêu (làm tròn đến hàng triệu)?",
|
| 1225 |
+
"correct_rank": 4,
|
| 1226 |
+
"reciprocal_rank": 0.25,
|
| 1227 |
+
"recall_3": 0,
|
| 1228 |
+
"recall_5": 1,
|
| 1229 |
+
"hierarchy_ok": false,
|
| 1230 |
+
"top5_types": [
|
| 1231 |
+
"related",
|
| 1232 |
+
"related",
|
| 1233 |
+
"related",
|
| 1234 |
+
"correct",
|
| 1235 |
+
"irrelevant"
|
| 1236 |
+
]
|
| 1237 |
+
},
|
| 1238 |
+
{
|
| 1239 |
+
"query": "Một loại vi khuẩn sinh sản theo cấp số nhân, cứ mỗi 20 phút số lượng tăng gấp đôi. Nếu ban đầu có 1000 con, sau 2 giờ sẽ có bao nhiêu con?",
|
| 1240 |
+
"correct_rank": 2,
|
| 1241 |
+
"reciprocal_rank": 0.5,
|
| 1242 |
+
"recall_3": 1,
|
| 1243 |
+
"recall_5": 1,
|
| 1244 |
+
"hierarchy_ok": false,
|
| 1245 |
+
"top5_types": [
|
| 1246 |
+
"related",
|
| 1247 |
+
"correct",
|
| 1248 |
+
"related",
|
| 1249 |
+
"related",
|
| 1250 |
+
"irrelevant"
|
| 1251 |
+
]
|
| 1252 |
+
},
|
| 1253 |
+
{
|
| 1254 |
+
"query": "Một quả bóng rơi từ độ cao 10 mét, mỗi lần chạm đất nảy lên 60% độ cao ban đầu. Tính tổng quãng đường mà quả bóng đi được cho đến khi dừng lại (coi như dừng hẳn khi độ cao nảy là rất nhỏ).",
|
| 1255 |
+
"correct_rank": 7,
|
| 1256 |
+
"reciprocal_rank": 0.14285714285714285,
|
| 1257 |
+
"recall_3": 0,
|
| 1258 |
+
"recall_5": 0,
|
| 1259 |
+
"hierarchy_ok": false,
|
| 1260 |
+
"top5_types": [
|
| 1261 |
+
"related",
|
| 1262 |
+
"related",
|
| 1263 |
+
"irrelevant",
|
| 1264 |
+
"irrelevant",
|
| 1265 |
+
"irrelevant"
|
| 1266 |
+
]
|
| 1267 |
+
},
|
| 1268 |
+
{
|
| 1269 |
+
"query": "Có 10 người tham gia một cuộc họp. Có bao nhiêu cách xếp họ ngồi quanh một bàn tròn sao cho 2 người A và B luôn ngồi cạnh nhau?",
|
| 1270 |
+
"correct_rank": 2,
|
| 1271 |
+
"reciprocal_rank": 0.5,
|
| 1272 |
+
"recall_3": 1,
|
| 1273 |
+
"recall_5": 1,
|
| 1274 |
+
"hierarchy_ok": false,
|
| 1275 |
+
"top5_types": [
|
| 1276 |
+
"related",
|
| 1277 |
+
"correct",
|
| 1278 |
+
"related",
|
| 1279 |
+
"irrelevant",
|
| 1280 |
+
"irrelevant"
|
| 1281 |
+
]
|
| 1282 |
+
},
|
| 1283 |
+
{
|
| 1284 |
+
"query": "Một người có 5 áo và 3 quần. Hỏi người đó có bao nhiêu cách chọn một bộ quần áo để mặc?",
|
| 1285 |
+
"correct_rank": 1,
|
| 1286 |
+
"reciprocal_rank": 1.0,
|
| 1287 |
+
"recall_3": 1,
|
| 1288 |
+
"recall_5": 1,
|
| 1289 |
+
"hierarchy_ok": true,
|
| 1290 |
+
"top5_types": [
|
| 1291 |
+
"correct",
|
| 1292 |
+
"related",
|
| 1293 |
+
"related",
|
| 1294 |
+
"irrelevant",
|
| 1295 |
+
"irrelevant"
|
| 1296 |
+
]
|
| 1297 |
+
},
|
| 1298 |
+
{
|
| 1299 |
+
"query": "Giải thích ý nghĩa của việc 'quan tâm đến thứ tự' trong hoán vị và chỉnh hợp bằng một ví dụ cụ thể.",
|
| 1300 |
+
"correct_rank": 1,
|
| 1301 |
+
"reciprocal_rank": 1.0,
|
| 1302 |
+
"recall_3": 1,
|
| 1303 |
+
"recall_5": 1,
|
| 1304 |
+
"hierarchy_ok": true,
|
| 1305 |
+
"top5_types": [
|
| 1306 |
+
"correct",
|
| 1307 |
+
"related",
|
| 1308 |
+
"irrelevant",
|
| 1309 |
+
"related",
|
| 1310 |
+
"irrelevant"
|
| 1311 |
+
]
|
| 1312 |
+
},
|
| 1313 |
+
{
|
| 1314 |
+
"query": "Một hộp có 5 bi đỏ và 7 bi xanh. Lấy ngẫu nhiên 3 bi. Tính số cách lấy được ít nhất 2 bi đỏ.",
|
| 1315 |
+
"correct_rank": 1,
|
| 1316 |
+
"reciprocal_rank": 1.0,
|
| 1317 |
+
"recall_3": 1,
|
| 1318 |
+
"recall_5": 1,
|
| 1319 |
+
"hierarchy_ok": true,
|
| 1320 |
+
"top5_types": [
|
| 1321 |
+
"correct",
|
| 1322 |
+
"related",
|
| 1323 |
+
"related",
|
| 1324 |
+
"irrelevant",
|
| 1325 |
+
"irrelevant"
|
| 1326 |
+
]
|
| 1327 |
+
},
|
| 1328 |
+
{
|
| 1329 |
+
"query": "Trong khai triển (x - 1)^5, hệ số của x^3 là bao nhiêu?",
|
| 1330 |
+
"correct_rank": 1,
|
| 1331 |
+
"reciprocal_rank": 1.0,
|
| 1332 |
+
"recall_3": 1,
|
| 1333 |
+
"recall_5": 1,
|
| 1334 |
+
"hierarchy_ok": true,
|
| 1335 |
+
"top5_types": [
|
| 1336 |
+
"correct",
|
| 1337 |
+
"related",
|
| 1338 |
+
"irrelevant",
|
| 1339 |
+
"related",
|
| 1340 |
+
"irrelevant"
|
| 1341 |
+
]
|
| 1342 |
+
},
|
| 1343 |
+
{
|
| 1344 |
+
"query": "Cho 10 điểm phân biệt trên mặt phẳng, trong đó không có 3 điểm nào thẳng hàng. Có thể vẽ được bao nhiêu tam giác từ 10 điểm này?",
|
| 1345 |
+
"correct_rank": 6,
|
| 1346 |
+
"reciprocal_rank": 0.16666666666666666,
|
| 1347 |
+
"recall_3": 0,
|
| 1348 |
+
"recall_5": 0,
|
| 1349 |
+
"hierarchy_ok": false,
|
| 1350 |
+
"top5_types": [
|
| 1351 |
+
"irrelevant",
|
| 1352 |
+
"irrelevant",
|
| 1353 |
+
"irrelevant",
|
| 1354 |
+
"related",
|
| 1355 |
+
"related"
|
| 1356 |
+
]
|
| 1357 |
+
},
|
| 1358 |
+
{
|
| 1359 |
+
"query": "Khi nào thì A_n^k = C_n^k?",
|
| 1360 |
+
"correct_rank": 1,
|
| 1361 |
+
"reciprocal_rank": 1.0,
|
| 1362 |
+
"recall_3": 1,
|
| 1363 |
+
"recall_5": 1,
|
| 1364 |
+
"hierarchy_ok": true,
|
| 1365 |
+
"top5_types": [
|
| 1366 |
+
"correct",
|
| 1367 |
+
"related",
|
| 1368 |
+
"related",
|
| 1369 |
+
"irrelevant",
|
| 1370 |
+
"irrelevant"
|
| 1371 |
+
]
|
| 1372 |
+
},
|
| 1373 |
+
{
|
| 1374 |
+
"query": "Có bao nhiêu cách xếp 5 người vào một hàng ghế sao cho hai người A và B luôn ngồi cạnh nhau?",
|
| 1375 |
+
"correct_rank": 2,
|
| 1376 |
+
"reciprocal_rank": 0.5,
|
| 1377 |
+
"recall_3": 1,
|
| 1378 |
+
"recall_5": 1,
|
| 1379 |
+
"hierarchy_ok": false,
|
| 1380 |
+
"top5_types": [
|
| 1381 |
+
"related",
|
| 1382 |
+
"correct",
|
| 1383 |
+
"related",
|
| 1384 |
+
"irrelevant",
|
| 1385 |
+
"irrelevant"
|
| 1386 |
+
]
|
| 1387 |
+
},
|
| 1388 |
+
{
|
| 1389 |
+
"query": "Một hộp có 5 bi đỏ và 3 bi xanh. Chọn ngẫu nhiên 3 bi. Tính số cách chọn sao cho có ít nhất 2 bi đỏ.",
|
| 1390 |
+
"correct_rank": 2,
|
| 1391 |
+
"reciprocal_rank": 0.5,
|
| 1392 |
+
"recall_3": 1,
|
| 1393 |
+
"recall_5": 1,
|
| 1394 |
+
"hierarchy_ok": false,
|
| 1395 |
+
"top5_types": [
|
| 1396 |
+
"related",
|
| 1397 |
+
"correct",
|
| 1398 |
+
"related",
|
| 1399 |
+
"irrelevant",
|
| 1400 |
+
"irrelevant"
|
| 1401 |
+
]
|
| 1402 |
+
},
|
| 1403 |
+
{
|
| 1404 |
+
"query": "Một lớp có 30 học sinh. Cần chọn một ban cán sự lớp gồm 1 lớp trưởng, 1 lớp phó và 3 ủy viên. Hỏi có bao nhiêu cách chọn?",
|
| 1405 |
+
"correct_rank": 3,
|
| 1406 |
+
"reciprocal_rank": 0.3333333333333333,
|
| 1407 |
+
"recall_3": 1,
|
| 1408 |
+
"recall_5": 1,
|
| 1409 |
+
"hierarchy_ok": false,
|
| 1410 |
+
"top5_types": [
|
| 1411 |
+
"related",
|
| 1412 |
+
"related",
|
| 1413 |
+
"correct",
|
| 1414 |
+
"irrelevant",
|
| 1415 |
+
"irrelevant"
|
| 1416 |
+
]
|
| 1417 |
+
}
|
| 1418 |
+
],
|
| 1419 |
+
"mrr": 0.8241167434715821,
|
| 1420 |
+
"avg_recall_at_3": 0.946236559139785,
|
| 1421 |
+
"avg_recall_at_5": 0.967741935483871,
|
| 1422 |
+
"hierarchy_rate": 0.6559139784946236,
|
| 1423 |
+
"avg_rank": 1.2134203168685929,
|
| 1424 |
+
"evaluation_date": "2025-06-25T10:44:17.583163",
|
| 1425 |
+
"note": "Final MRR evaluation on test data - used only once"
|
| 1426 |
+
}
|
modules.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"idx": 0,
|
| 4 |
+
"name": "0",
|
| 5 |
+
"path": "",
|
| 6 |
+
"type": "sentence_transformers.models.Transformer"
|
| 7 |
+
},
|
| 8 |
+
{
|
| 9 |
+
"idx": 1,
|
| 10 |
+
"name": "1",
|
| 11 |
+
"path": "1_Pooling",
|
| 12 |
+
"type": "sentence_transformers.models.Pooling"
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"idx": 2,
|
| 16 |
+
"name": "2",
|
| 17 |
+
"path": "2_Normalize",
|
| 18 |
+
"type": "sentence_transformers.models.Normalize"
|
| 19 |
+
}
|
| 20 |
+
]
|
pytorch_model.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fe77d9864fc2f43ddf5569b24c2e3d3ba86a7eb8e1b9388626c7819e17f5eebf
|
| 3 |
+
size 470682214
|
sentence_bert_config.json
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"max_seq_length": 256,
|
| 3 |
+
"do_lower_case": false
|
| 4 |
+
}
|
sentencepiece.bpe.model
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cfc8146abe2a0488e9e2a0c56de7952f7c11ab059eca145a0a727afce0db2865
|
| 3 |
+
size 5069051
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": "<s>",
|
| 3 |
+
"cls_token": "<s>",
|
| 4 |
+
"eos_token": "</s>",
|
| 5 |
+
"mask_token": "<mask>",
|
| 6 |
+
"pad_token": "<pad>",
|
| 7 |
+
"sep_token": "</s>",
|
| 8 |
+
"unk_token": "<unk>"
|
| 9 |
+
}
|
tokenizer.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:69c6c5d336b212a1c56cee72406ee4fbceff37e18a27ca9c66b13dac75a798df
|
| 3 |
+
size 17082983
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"bos_token": "<s>",
|
| 3 |
+
"clean_up_tokenization_spaces": true,
|
| 4 |
+
"cls_token": "<s>",
|
| 5 |
+
"eos_token": "</s>",
|
| 6 |
+
"mask_token": {
|
| 7 |
+
"__type": "AddedToken",
|
| 8 |
+
"content": "<mask>",
|
| 9 |
+
"lstrip": true,
|
| 10 |
+
"normalized": true,
|
| 11 |
+
"rstrip": false,
|
| 12 |
+
"single_word": false
|
| 13 |
+
},
|
| 14 |
+
"model_max_length": 512,
|
| 15 |
+
"pad_token": "<pad>",
|
| 16 |
+
"sep_token": "</s>",
|
| 17 |
+
"sp_model_kwargs": {},
|
| 18 |
+
"tokenizer_class": "XLMRobertaTokenizer",
|
| 19 |
+
"unk_token": "<unk>"
|
| 20 |
+
}
|
usage_example.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
from sentence_transformers import SentenceTransformer
|
| 3 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
| 4 |
+
import numpy as np
|
| 5 |
+
|
| 6 |
+
# Load MRR-optimized model
|
| 7 |
+
model = SentenceTransformer('ThanhLe0125/e5-small-math')
|
| 8 |
+
|
| 9 |
+
# Example: Find exact chunk with MRR optimization
|
| 10 |
+
query = "query: Định nghĩa hàm số đồng biến"
|
| 11 |
+
chunks = [
|
| 12 |
+
"passage: Hàm số đồng biến trên khoảng (a;b) là hàm số mà với mọi x1 < x2 thì f(x1) < f(x2)",
|
| 13 |
+
"passage: Ví dụ: Tìm khoảng đồng biến của hàm số y = x^2 - 2x + 1",
|
| 14 |
+
"passage: Phương trình bậc hai ax^2 + bx + c = 0 có delta = b^2 - 4ac",
|
| 15 |
+
"passage: Tính đạo hàm của hàm số đa thức",
|
| 16 |
+
"passage: Giới hạn của dãy số"
|
| 17 |
+
]
|
| 18 |
+
|
| 19 |
+
# Encode and calculate similarities
|
| 20 |
+
query_emb = model.encode([query])
|
| 21 |
+
chunk_embs = model.encode(chunks)
|
| 22 |
+
similarities = cosine_similarity(query_emb, chunk_embs)[0]
|
| 23 |
+
|
| 24 |
+
# MRR-optimized ranking
|
| 25 |
+
ranked_indices = similarities.argsort()[::-1]
|
| 26 |
+
|
| 27 |
+
print("MRR-Optimized Rankings:")
|
| 28 |
+
for rank, idx in enumerate(ranked_indices, 1):
|
| 29 |
+
chunk_type = "CORRECT" if idx == 0 else ("RELATED" if idx == 1 else "IRRELEVANT")
|
| 30 |
+
print(f"Rank {rank}: {chunk_type} (Score: {similarities[idx]:.4f})")
|
| 31 |
+
print(f" {chunks[idx][:80]}...")
|
| 32 |
+
print()
|
| 33 |
+
|
| 34 |
+
# Calculate MRR for this query
|
| 35 |
+
correct_rank = None
|
| 36 |
+
for rank, idx in enumerate(ranked_indices, 1):
|
| 37 |
+
if idx == 0: # First chunk is correct
|
| 38 |
+
correct_rank = rank
|
| 39 |
+
break
|
| 40 |
+
|
| 41 |
+
if correct_rank:
|
| 42 |
+
mrr_score = 1.0 / correct_rank
|
| 43 |
+
print(f"This query MRR: {mrr_score:.4f} (correct chunk at rank #{correct_rank})")
|
| 44 |
+
|
| 45 |
+
if mrr_score >= 0.5:
|
| 46 |
+
print("✅ Good! Correct chunk in top 2 positions")
|
| 47 |
+
else:
|
| 48 |
+
print("⚠️ Could be better - correct chunk should be higher")
|
| 49 |
+
|
| 50 |
+
# Efficient inference (common use case)
|
| 51 |
+
print("\nEfficient Inference (top 3 only):")
|
| 52 |
+
top_3_indices = ranked_indices[:3]
|
| 53 |
+
for i, idx in enumerate(top_3_indices, 1):
|
| 54 |
+
print(f"{i}. Score: {similarities[idx]:.4f} - {chunks[idx][:60]}...")
|