metadata
license: mit
tags:
- generated_from_trainer
metrics:
- f1
model-index:
- name: xlm-roberta-base-finetuned-recipe-all
results: []
widget:
- text: 1 sheet of frozen puff pastry (thawed)
- text: 1/2 teaspoon fresh thyme, minced
- text: 2-3 medium tomatoes
- text: 1 petit oignon rouge
xlm-roberta-base-finetuned-recipe-all
This model is a fine-tuned version of xlm-roberta-base on the recipe ingredient NER dataset from the paper A Named Entity Based Approach to Model Recipes (using both the gk
and ar
datasets).
It achieves the following results on the evaluation set:
- Loss: 0.1169
- F1: 0.9672
On the test set it obtains an F1 of 0.9615, slightly above the CRF used in the paper.
Model description
Predicts tag of each token in an ingredient string.
Tag | Significance | Example |
---|---|---|
NAME | Name of Ingredient | salt, pepper |
STATE | Processing State of Ingredient. | ground, thawed |
UNIT | Measuring unit(s). | gram, cup |
QUANTITY | Quantity associated with the unit(s). | 1, 1 1/2 , 2-4 |
SIZE | Portion sizes mentioned. | small, large |
TEMP | Temperature applied prior to cooking. | hot, frozen |
DF (DRY/FRESH) | Fresh otherwise as mentioned. | dry, fresh |
Intended uses & limitations
- Only trained on ingredient strings.
- Tags subtokens; tag should be propagated to whole word
- Works best with pre-tokenisation splitting of symbols (such as parentheses) and numbers (e.g. 50g -> 50 g)
- Typically only detects the first ingredient if there are multiple.
- Only trained on two American English data sources
- Tags TEMP and DF have very few training data.
Training and evaluation data
Both the ar
(AllRecipes.com) and gk
(FOOD.com) datasets obtained from the TSVs from the authors' repository.
Training procedure
It follows the overall procedure from Chapter 4 of Natural Language Processing with Transformers by Tunstall, von Wera and Wolf.
See the training notebook for details.
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 16
- eval_batch_size: 16
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 4
Training results
Training Loss | Epoch | Step | Validation Loss | F1 |
---|---|---|---|---|
0.2529 | 1.0 | 331 | 0.1303 | 0.9592 |
0.1164 | 2.0 | 662 | 0.1224 | 0.9640 |
0.0904 | 3.0 | 993 | 0.1156 | 0.9671 |
0.0585 | 4.0 | 1324 | 0.1169 | 0.9672 |
Framework versions
- Transformers 4.16.2
- Pytorch 1.9.1
- Datasets 1.18.4
- Tokenizers 0.11.6