Note de recherche. Cette étude évalue des modèles de recherche d’information sur des benchmarks publics. Elle ne décrit pas un produit disponible ni sa performance clinique.
Mention clinique
Une courte requête en EN, ES, CA, IT, PT ou FR
Étape 1 · Bi-encodeur (multilingue)
Encode séparément la requête et chaque description CIE-10, puis les classe par similarité cosinus. Entraîné sur 19 502 exemples synthétiques triés couvrant 17 chapitres de la CIM-10.
Étape 2 · Reclasseur cross-encodeur (espagnol)
Lit conjointement chaque paire requête–code et reclasse la liste restreinte. Entraîné sur 10 628 groupes listwise avec des négatifs difficiles cliniquement plausibles.
Codes CIE-10-ES classés
Latéralité, sévérité, étiologie et type d’épisode résolus dans l’ordre final
01 - La question
Des récupérateurs compacts et spécialisés peuvent-ils surpasser les embeddings publics généralistes ?
Les embeddings de phrases fonctionnent bien pour la recherche sémantique large, mais le codage CIM n’est pas une recherche sémantique large. Le modèle doit rattacher de courtes mentions cliniques à un vocabulaire contrôlé où des codes voisins diffèrent souvent par un qualificatif : site anatomique, latéralité, sévérité, type de rencontre ou étiologie.
L’article se demande si une supervision synthétique de haute qualité peut combler cet écart pour le codage clinique en espagnol. Nous utilisons un LLM de pointe pour générer des exemples multilingues ancrés dans la hiérarchie de la CIM-10, ajustons un bi-encodeur biomédical espagnol, puis entraînons un reclasseur cross-encodeur sur des groupes listwise avec des négatifs difficiles cliniquement plausibles.
Le résultat principal : pour la recherche CIM-10/CIE-10-ES en espagnol, une supervision alignée sur la tâche et des négatifs cliniquement significatifs comptent davantage que la taille de l’embedding ou un pré-entraînement biomédical générique en anglais.
02 - Méthode
Un bi-encodeur pour le rappel, un cross-encodeur pour la précision du code exact.
Le récupérateur utilise une architecture standard en deux étapes, mais soigneusement alignée. L’étape 1 encode séparément chaque requête et chaque description CIE-10 et classe par similarité cosinus. L’étape 2 lit conjointement chaque paire requête-code et reclasse les meilleurs candidats avec un objectif listwise.
Les données d’entraînement n’ont pas été traitées comme une sortie synthétique brute. Nous avons trié les exemples générés par validation à base de règles, déduplication sémantique, contrôles de cohérence linguistique et inspection manuelle par sondage avant de les utiliser pour construire le bi-encodeur et les classifieurs de reclassement. Cette curation est centrale dans l’article : le but n’est pas simplement de produire plus de données, mais de créer des exemples et des négatifs difficiles qui reflètent les distinctions cliniques encodées dans la CIM-10/CIE-10.
- Exemples synthétiques pour le bi-encodeur couvrant 17 chapitres de la CIM-10.
- 19 502
- Langues utilisées pour la supervision synthétique : EN, ES, CA, IT, PT et FR.
- 6
- Groupes listwise espagnols pour le cross-encodeur, avec un positif et des négatifs difficiles.
- 10 628
- Niveaux d’évaluation : code complet, catégorie à 3 caractères et chapitre.
- 3
Stratégies de recherche comparées
| Stratégie | Rôle dans l’étude |
|---|---|
| Tietai Cross-Encoder | Reclasse la liste restreinte du bi-encodeur et optimise l’ordre du code exact. |
| Tietai Bi-Encoder | Socle de recherche dense biomédicale en espagnol, ajusté par supervision synthétique. |
| BM25 (Postgres FTS) | Référence lexicale en texte intégral sur les descriptions de la CIE-10-ES. |
| ST MiniLM-L6-v2 | Référence publique de sentence-transformer généraliste. |
| ST BioBERT | Référence de sentence-transformer biomédical en anglais. |
| ST MPNet-v2 | Référence de sentence-transformer généraliste plus grande, à 768 dimensions. |
03 - Résultats
F1 et MAP@10 mettent l’accent sur la qualité du classement.
Sur CodiESP v4, le cross-encodeur de Tietai atteint F1 = 0,709 et MAP@10 = 0,747 au niveau du code exact. Sur DISTEMIST, il atteint F1 = 0,776 et MAP@10 = 0,812. La version mise à jour de l’article utilise MAP@10 comme métrique de classement et F1 comme métrique de décision top-1.
- F1 au code exact sur CodiESP pour le Tietai Cross-Encoder.
- 0,709
- MAP@10 au code exact sur CodiESP pour le Tietai Cross-Encoder.
- 0,747
- F1 au code exact sur DISTEMIST pour le Tietai Cross-Encoder.
- 0,776
- MAP@10 au code exact sur DISTEMIST pour le Tietai Cross-Encoder.
- 0,812
F1 et MAP@10 sur CodiESP v4
| Modèle | F1 exact | F1 catégorie | MAP@10 exact | MAP@10 catégorie |
|---|---|---|---|---|
| Tietai Cross-Encoder | 0,709 | 0,823 | 0,747 | 0,851 |
| Tietai Bi-Encoder | 0,359 | 0,617 | 0,461 | 0,694 |
| BM25 (Postgres FTS) | 0,239 | 0,376 | 0,322 | 0,471 |
| ST MiniLM-L6-v2 | 0,225 | 0,371 | 0,287 | 0,426 |
| ST BioBERT | 0,193 | 0,314 | 0,252 | 0,373 |
| ST MPNet-v2 | 0,161 | 0,317 | 0,226 | 0,376 |
Précision, rappel et F1 top-1 au code exact sur CodiESP
| Modèle | Précision | Rappel | F1 |
|---|---|---|---|
| Tietai Cross-Encoder | 0,709 | 0,709 | 0,709 |
| Tietai Bi-Encoder | 0,359 | 0,359 | 0,359 |
| BM25 (Postgres FTS) | 0,254 | 0,227 | 0,239 |
| ST MiniLM-L6-v2 | 0,225 | 0,225 | 0,225 |
| ST BioBERT | 0,193 | 0,193 | 0,193 |
| ST MPNet-v2 | 0,161 | 0,161 | 0,161 |
Exactitude top-1 par niveau hiérarchique sur CodiESP
F1 et MAP@10 sur DISTEMIST
| Modèle | F1 exact | F1 catégorie | MAP@10 exact | MAP@10 catégorie |
|---|---|---|---|---|
| Tietai Cross-Encoder | 0,776 | 0,818 | 0,812 | 0,846 |
| Tietai Bi-Encoder | 0,603 | 0,690 | 0,682 | 0,747 |
| BM25 (Postgres FTS) | 0,431 | 0,470 | 0,504 | 0,537 |
04 - Interprétation
Le goulot d’étranglement, c’est l’alignement sur la tâche, pas la taille de l’embedding.
L’ordre des références publiques est le résultat négatif important. BioBERT-ST bénéficie d’un pré-entraînement biomédical, mais il est centré sur l’anglais. MPNet-v2 a des embeddings plus grands, mais reste derrière MiniLM-L6-v2. Ni la taille ni le pré-entraînement générique de domaine ne résolvent seuls la recherche de codes cliniques en espagnol.
La recherche CIM exige que les modèles distinguent des concepts voisins sémantiquement proches mais opérationnellement différents. Le bi-encodeur capte bien l’information thématique au niveau du chapitre, mais le classement au code exact nécessite un reclasseur entraîné sur des négatifs difficiles tirés de codes CIE-10 voisins.
- L’alignement sur la tâche compte. Les exemples synthétiques doivent refléter la hiérarchie de la CIM, et pas seulement une parenté biomédicale large.
- Les négatifs difficiles comptent. Les codes voisins apprennent au modèle à distinguer étiologie, anatomie, sévérité et type d’épisode.
- Le reclassement compte. Le cross-encodeur apporte la discrimination au niveau des qualificatifs qu’exigent les règles de la CIE-10-ES.
- Peu de données peuvent suffire. Un corpus synthétique compact peut entraîner un récupérateur compétitif lorsque les exemples sont alignés sur la structure du vocabulaire cible.
- Le pré-entraînement biomédical ne se transfère pas automatiquement. Les encodeurs biomédicaux anglais peinent encore quand la requête et le vocabulaire cible sont en espagnol.
Pour la recherche de codage clinique en production, la leçon pratique est d’entraîner pour le vocabulaire cible, la langue cible et le problème de classement cible. L’unité utile n’est pas un plus gros modèle d’embeddings ; c’est un récupérateur entraîné sur les distinctions que les codeurs doivent réellement faire.




