2025-12-04
Diagram of IEML-RS
Initialisation of the plugin
Database of translated keywords: Cloudflare bucket
Building a Query from Iterative Keyword Exploration
Searching Related Articles from User-Selected Concepts
API handler (Isidore, CrossRef): Cloudflare worker
IEML grid for “éditorialisation”
Note: Translation can only use the IEML dictionnary containing (~3,000 entries).
Dataset: 50 words translated with 70 dictionnary entries.
Evaluation: 1 point for each word in ground truth retrieved.
| strategy | score |
|---|---|
| TF-iDF | 15 |
| Cosine similarity | 25 |
| Hybrid (TF-iDF + Embeddings) | 23 |
Dataset:
full: 410 words translated
Models:
| model/strategy | BLEU | Cosine | avg |
|---|---|---|---|
| baseline | 0.056 | 0.515 | 0.286 |
| llama_fewshot | 0.0222 | 0.555 | 0.289 |
| gemma_fewshot | 0.020 | 0.491 | 0.255 |
| openai_fewshot | 0.0167 | 0.498 | 0.257 |
| llama_zeroshot | 0.0129 | 0.514 | 0.263 |
| gemma_zeroshot | 0.0160 | 0.479 | 0.248 |
| openai_zeroshot | 0.016 | 0.493 | 0.254 |
Context (i.e. dictionnary entries) only marginally improve performance.
Reminder of the expected translation.
| word to translate | theme or root | who | what | to whom | by what means | when | where | why | how |
|---|---|---|---|---|---|---|---|---|---|
| espace numérique | technique numérique | - | espace | - | - | - | - | - | - |
| chanteur | jouer ou chanter une mélodie | personne | - | - | *par le moyen de voix | - | - | - |
Examples of LLM-translated content (rag-llama-fewshot)
| word translated | theme or root | who | what | to whom | by what means | when | where | why | how |
|---|---|---|---|---|---|---|---|---|---|
| espace numérique | espace | cyberespace | tous | par internet et les réseaux sociaux | - | virtuellement | monétiser et partager des informations | ||
| chanteur | musique | chanteur | interprétant une chanson | à un public | par sa voix | - | - | pour exprimer une émotion | en utilisant des métadonnées-chanson |
6 users (PhD students in DH). Demonstration then 10 min of observation then 15 min interview.
Tu es un expert en sémantique. Tu dois décomposer sémantiquement le mot-clé "${keyword}" à partir des 9 valeurs suivantes :
'thème, qui, quoi, à qui, par quoi, quand, où, pourquoi, comment'
## Exemples
${examples}
## Mots du dictionnaire
Tu dois utiliser les mots ci-dessous pour définir le mot-clé "${keyword}":
${context}
Ta réponse prendra la forme d'un CSV à 9 colonnes, les entêtes de colonnes sont:
'thème, qui, quoi, à qui, par quoi, quand, où, pourquoi, comment'
Il n'est pas nécessaire de remplir tous les champs. Un champs peut rester vide entre deux virgules, comme dans les exemples.
Répond uniquement avec une ligne CSV finale, sans explication.
Produit 10 variants de la requête booléenne suivante "${keywords}". Combine les requêtes proposées à l'aide de l'opérateur OU comme dans l'exemple : Mots-clés: "impact of climate change on biodiversity". Réponse: "
(climate change biodiversity impact) OU (effects of climate change on ecosystems) OU (biodiversity loss due to climate change) OU (climate change species extinction) OU (impact of global warming on wildlife) OU (effects of climate change on ecosystems and species diversity) OU (how climate change impacts wildlife and biodiversity) OR (climate change consequences for biological diversity) OU (relationship between climate change and loss of biodiversity) OU (climate change threats to flora and fauna diversity) OU (impact of climate change on biodiversity)
C'est à ton tour avec "${keywords}". Répond uniquement avec la requête sans donner d'explication.
First step: from seed article, the panel opens and retrieves the article keywords
User can select a keyword already translated in IEML (in blue), displaying the grid containing concepts defining the keyword
If the keyword hasn’t been translated a LLM translation is suggested (from the IEML dictionnary) and user can modify it
After validation of the translation, the translation is added to the IEML database
User can build a query from selected concepts and keywords
The query returns 2 lists of articles, one from the keywords selected and one from a query augmentation of those keywords