---
language:
- th
license: apache-2.0
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:2452
- loss:MultipleNegativesRankingLoss
- thai
- semantic-search
- food
- ingredients
- retrieval
base_model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
widget:
- source_sentence: น้ำ, ปีกไก่, ไข่เป็ด, รากผักชี, อบเชย, โป๊ยกั๊ก, น้ำตาลมะพร้าว,
น้ำปลา, เกลือ, มะนาว, พริกขี้หนู, พริกจินดา, ผักชี
sentences:
- พะโล้ไข่เป็ดต้มแซ่บ
- ต้มยำซี่โครงหมู สูตรใส่คนอร์
- ชุดอาหารเช้า
- source_sentence: ข้าวสวย, หมึกกล้วย, หมูสับ, พริกแกง, น้ำปลา, น้ำตาลทราย, น้ำมันพืช,
ใบโหระพา, ใบมะกรูด, พริกชี้ฟ้าแดง, ผักชี, พริกแกงเขียวหวาน, กะทิ, น้ำปลา, น้ำตาลทราย
sentences:
- ไส้กรอกพันเบคอนซอสน้ำตก (เบทาโกร)
- ผักกาดขาวผัดไข่
- หมึกยัดไส้ข้าวผัดเขียวหวาน
- source_sentence: กะปิ, กุ้งแห้ง, พริกขี้หนูสวน, กระเทียมไทย, น้ำปลา, น้ำตาลปี๊บ,
น้ำมะนาว, น้ำเปล่า, ใบตอง, มะเขือพวง
sentences:
- น้ำพริกกะปิกุ้งแห้ง
- หมูสวรรค์
- แกงส้มผักรวมปลากระพง
- source_sentence: กล้วยไข่สุก, น้ำตาลทรายขาว, เกลือ, มะพร้าวอ่อน, ใบเตย
sentences:
- กล้วยไข่บวดชีมะพร้าวอ่อน
- เส้นใหญ่ผัดซีอิ๊วไก่
- หุง(นึ่ง)ข้าวเหนียว ด้วยไมโครเวฟ
- source_sentence: ปลาทูน่า, พริกขี้หนู, ไข่ไก่, น้ำปลา, เล็กน้อย, น้ำมันพืช
sentences:
- เจี๋ยนปลาทับทิม สูตร 2 น้ำมะขามเปียก
- ข้าวแต๋น
- ไข่เจียวทูน่าพริกสับ
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_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
model-index:
- name: Thai Food Ingredients → Dish Prediction
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: thai food eval
type: thai-food-eval
metrics:
- type: cosine_accuracy@1
value: 0.6052631578947368
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.8421052631578947
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9605263157894737
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9736842105263158
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.6052631578947368
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.28070175438596484
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.19210526315789467
name: Cosine Precision@5
- type: cosine_recall@1
value: 0.6052631578947368
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.8421052631578947
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.9605263157894737
name: Cosine Recall@5
- type: cosine_ndcg@10
value: 0.7948700328021918
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.735964912280702
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.7371832358674465
name: Cosine Map@100
---
# Thai Food Ingredients → Dish Prediction
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2). 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:** [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2)
- **Maximum Sequence Length:** 128 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
- **Language:** th
- **License:** apache-2.0
### 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': 128, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(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("thai_food_prediction1")
# Run inference
sentences = [
'ปลาทูน่า, พริกขี้หนู, ไข่ไก่, น้ำปลา, เล็กน้อย, น้ำมันพืช',
'ไข่เจียวทูน่าพริกสับ',
'ข้าวแต๋น',
]
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: `thai-food-eval`
* Evaluated with [InformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
| Metric | Value |
|:-------------------|:-----------|
| cosine_accuracy@1 | 0.6053 |
| cosine_accuracy@3 | 0.8421 |
| cosine_accuracy@5 | 0.9605 |
| cosine_accuracy@10 | 0.9737 |
| cosine_precision@1 | 0.6053 |
| cosine_precision@3 | 0.2807 |
| cosine_precision@5 | 0.1921 |
| cosine_recall@1 | 0.6053 |
| cosine_recall@3 | 0.8421 |
| cosine_recall@5 | 0.9605 |
| **cosine_ndcg@10** | **0.7949** |
| cosine_mrr@10 | 0.736 |
| cosine_map@100 | 0.7372 |
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 2,452 training samples
* Columns: anchor and positive
* Approximate statistics based on the first 1000 samples:
| | anchor | positive |
|:--------|:-----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|
| type | string | string |
| details |
ปลาหมึก, ซีอิ๊วดำ, ผงขมิ้น, น้ำปูนใส, กระเทียมสับ, รากผักชี, พริกแดง, น้ำตาลปี๊บ, เกลือ, น้ำปลา, น้ำมะนาว | ปลาหมึกย่าง |
| ไปตกหมึกมา อยากทำอะไรกินง่ายๆ ได้รสชาติของปลาหมึกแท้ๆ | ปลาหมึกย่าง |
| อยากกินปลาหมึกๆ ซีฟุ้ด อร่อยๆ | ปลาหมึกย่าง |
* Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
### Evaluation Dataset
#### Unnamed Dataset
* Size: 76 evaluation samples
* Columns: anchor and positive
* Approximate statistics based on the first 76 samples:
| | anchor | positive |
|:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|
| type | string | string |
| details | น้ำมันพืช, กระเทียม, น้ำตาลทราย, น้ำปลา, ซีอิ๊วขาว, ซอสปรุงรส, ซีอิ๊วดำเค็ม, น้ำส้มสายชู, พริกไทย, เส้นหมี่แห้ง, ลูกชิ้น, ถั่วงอก | หมี่คลุก |
| น้ำมัน, กระเทียม, หมูหมัก, เส้นใหญ่, ซีอิ้วดำ, คะน้า, กระหล่ำปลี, แครอท, ไข่เป็ด, ไข่ไก่, ผงปรุงรส, น้ำตาลทราย, ซอสหอยนางรม, ซอสปรุงรส, พริกไทย | ผัดซีอิ้วเส้นใหญ่ |
| สะโพกหมู, น้ำตาลทราย, น้ำตาลปี๊บ, ซีอิ๊วขาว, เกลือ, น้ำเปล่า, ลูกผักชี, ยี่หร่า, กระเทียมไทย, สับละเอียด, น้ำมันพืช | หมูสวรรค์ |
* Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: epoch
- `per_device_train_batch_size`: 24
- `per_device_eval_batch_size`: 24
- `learning_rate`: 5e-06
- `num_train_epochs`: 8
- `warmup_ratio`: 0.1
- `load_best_model_at_end`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters