UNECE Generative AI and Official Statistics Workshop 2025
1-to-N | # occurence |
---|---|
2 | 109 |
3 | 30 |
4 | 24 |
5 | 6 |
6 | 4 |
8 | 1 |
9 | 2 |
21 | 1 |
27 | 1 |
36 | 1 |
38 | 2 |
Warning
RAG can act like a zero-shot classifier, while CAG is not a classifier as it relies on prior knowledge.
A common system prompt for all entries
Afficher le prompt sytème
Tu es un expert de la Nomenclature statistique des Activités économiques dans la Communauté Européenne (NACE). Tu es chargé de réaliser le changement de nomenclature. Ta mission consiste à attribuer un code NACE 2025 à une entreprise, en t'appuyant sur le descriptif de son activité et à partir d'une liste de codes proposés (identifiée à partir de son code NACE 2008 existant). Voici les instructions à suivre:
1. Analyse la description de l'activité principale de l'entreprise et le code NACE 2008 fourni par l'utilisateur.
2. À partir de la liste des codes NACE 2025 disponible, identifie la catégorie la plus appropriée qui correspond à l'activité principale de l'entreprise.
3. Retourne le code NACE 2025 au format JSON comme spécifié par l'utilisateur. Si la description de l'activité de l'entreprise n'est pas suffisamment précise pour identifier un code NACE 2025 adéquat, retourne `null` dans le JSON.
4. Évalue la cohérence entre le code NACE 2008 fourni et la description de l'activité de l'entreprise. Si le code NACE 2008 ne semble pas correspondre à cette description, retourne `False` dans le champ `nace08_valid` du JSON. Note que si tu arrives à classer la description de l'activité de l'entreprise dans un code NACE 2025, le champ `nace08_valid` devrait `True`, sinon il y a incohérence.
5. Réponds seulement avec le JSON complété aucune autres information ne doit être retourné.
Each observation gets a custom prompt including:
Instruction on output format required.
❓ Key question: How to evaluate an LLM?:
Classification seems simpler… but complexity of taxonomy matters.
Used \(27k\) manual annotations as the benchmark 🥇
3 performance metrics:
viewof activite = Inputs.text(
{label: '', value: 'coiffeur', width: 800}
)
urlApe = `https://codification-ape-dev.lab.sspcloud.fr/predict?description_activity=${activite}%20&type_form=X&event=01P&nb_echos_max=3&prob_min=0.0009`
d3.json(urlApe).then( res => {
var IC, results;
( {IC, ...results} = res )
IC = parseFloat(IC)
const rows = Object.values(results).map( obj => {
return `
<tr>
<td>${obj.code} | ${obj.libelle}</td>
<td>${obj.probabilite.toFixed(3)}</td>
</tr>
`
}).join('')
return html`
<table>
<caption>
Confidence index: ${IC.toFixed(3)}
</caption>
<tr>
<th style="text-align:center;">Description (NACE Rév. 2.1)</th>
<th>Probability</th>
</tr>
${rows}
</table>`
})