|
--- |
|
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" |
|
|
|
--- |
|
|
|
<!-- This model card has been generated automatically according to the information the Trainer had access to. You |
|
should probably proofread and complete it, then remove this comment. --> |
|
|
|
# xlm-roberta-base-finetuned-recipe-all |
|
|
|
This model is a fine-tuned version of [xlm-roberta-base](https://huggingface.co/xlm-roberta-base) on the recipe ingredient [NER dataset](https://github.com/cosylabiiit/recipe-knowledge-mining) from the paper [A Named Entity Based Approach to Model Recipes](https://arxiv.org/abs/2004.12184) (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](https://github.com/cosylabiiit/recipe-knowledge-mining). |
|
|
|
## Training procedure |
|
|
|
|
|
It follows the overall procedure from Chapter 4 of [Natural Language Processing with Transformers](https://www.oreilly.com/library/view/natural-language-processing/9781098103231/) by Tunstall, von Wera and Wolf. |
|
|
|
See the [training notebook](https://github.com/EdwardJRoss/nlp_transformers_exercises/blob/master/notebooks/ch4-ner-recipe-stanford-crf.ipynb) 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 |
|
|