Commit f9f0ebfa authored by Delvallez Delvallez's avatar Delvallez Delvallez

Documentation des format de documents manipiulés

parent 1e677a8f
# Spécification de la représentation des données calculées pour un lot de perturbations
## Perturbation
Les perturbations ont décrites à l'aide du même système que décrit dans `specs_perturbations.md`.
## Données obtenues
On peut obtenir jusqu'à 4 ensembles de valeurs différents:
- `baseline_perf` (liste de `float`) : les scores (distance entre les représentations) des paires (question document) lorsqu'on n'applique pas la perturbation
- `perturbed_perf` (liste de `float`) : les scores distance entre les représentations) des paires (question document) lorsqu'on applique la perturbation
- `patching_mean` (tableau au format du modèle de `float`) : matrice de sensibilité (moyennes pour chaque composant des sensibilités obtenues pour chaque paires)
- `patching_std` (tableau au format du modèle de `float`) : écarts-types pour chaque composant des sensibilités obtenues pour chaque paires
Si `patching_mean` et/ou `patching_std` ne sont pas calculés, ils valent null
## Spécification globale
Les valeurs sont regroupées dans une liste ou chaque objet contient:
- La description de la perturbation correspondante
- Dans un objet `results` les quatre données attendues
## Ancienne représentation
L'ancienne représentation des résultats pour les perturbations append, prepend et replace était de la forme
```{json}
{
"nom_perturbation" : {
"baseline_perf" : ...
"perturbed_perf": ...
"patching_mean" : ...
"patching_std" : ...
},
"nom_perturbation2" : {
"baseline_perf" : ...
"perturbed_perf": ...
"patching_mean" : ...
"patching_std" : ...
}
...
}
```
Dans le cas des perturbations full_replace. Il n'y avait les résultats que d'une perturbation dans le fichier. Le nom de la perturbation était systématiquement "full_replace" et les reste de la structure du fichier est la même pour les autres types de perturbations.
\ No newline at end of file
# Spécifications de description d'une liste de perturbations
## Perturbations
On distingue quatre types de perturbations:
- `replace` : remplace **un** mot par un autre (peut être utilisé pour supprimer un mot) dans un document
- `append`: ajoute un mot à la fin du document
- `prepend`: ajoute un mot au début du document
- `full_replace` : remplace une liste de mots par une autres (correspond au cumul de plusieurs perturbations de type `replace`)
## Au format texte
Trois types de perturbations peuvent être décrits au format texte :
- `replace` : représenté par `mot_remplacé -> mot replaçant`
- `prepend` : représenté par `mot_ajouté+`
- `append` : représenté par `+mot_ajouté`
Chaque perturbation de la liste est séparé par (au moins) un retour à la ligne. Les types de perturbations peuvent être mélangés.
## Au format json
Quatre types de perturbations peuvent être décrits au format json. Elles sont regroupés dans une liste où chaque perturbation est décrite comme suit.
Les perturbations de type `replace` sont représentés par des objets de la forme
```{json}
{
"type" : "replace",
"from" : "mot_remplacé",
"to" : "mot_remplaçant",
"name" : "mot_remplacé -> mot remplaçant",
}
```
Les perturbations de type `append` sont représentés par des objets de la forme
```{json}
{
"type" : "append",
"word" : "mot_ajouté",
"name" : "+mot_ajouté",
}
```
Les perturbations de type `prepend` sont représentés par des objets de la forme
```{json}
{
"type" : "prepend",
"word" : "mot_ajouté",
"name" : "mot_ajouté+",
}
```
Les perturbations de type `full_replace` sont représentées par des objets de la forme
```{json}
{
"type" : "full_replace",
"name" : "<description succincte>",
"compo": [
{
"type" : "replace",
"from" : "mot_remplacé",
"to" : "mot_remplaçant",
"name" : "mot_remplacé -> mot_remplaçant",
},
{
"type" : "replace",
"from" : "mot_remplacé",
"to" : "mot_remplaçant",
"name" : "mot_remplacé -> mot_remplaçant",
},
...
]
}
```
`compo` correspond à une liste de perturbations de type `replace`. Si un même mot est remplacé plusieurs fois ou qu'un mot remplaçant est lui même remplacé, le comportement n'est pas garanti.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment