> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Scorer de couverture des mots-clés La fonction `createKeywordCoverageScorer()` évalue dans quelle mesure la sortie d’un LLM couvre les mots-clés importants de l’entrée. Elle analyse la présence et la correspondance des mots-clés tout en ignorant les mots courants et les mots vides. ## Paramètres La fonction `createKeywordCoverageScorer()` n’accepte aucune option. Cette fonction renvoie une instance de la classe MastraScorer. Consultez la [référence de MastraScorer](https://mastra.zisheng.pro/fr/reference/evals/mastra-scorer) pour en savoir plus sur la méthode `.run()` et ses entrées/sorties. ## Valeur renvoyée par `.run()` **runId** (`string`): ID de l’exécution, facultatif. **preprocessStepResult** (`object`): Objet contenant les mots-clés extraits : { referenceKeywords: Set\, responseKeywords: Set\ } **analyzeStepResult** (`object`): Objet contenant la couverture des mots-clés : { totalKeywords: number, matchedKeywords: number } **score** (`number`): Score de couverture compris entre 0 et 1, représentant la proportion de mots-clés correspondants. `.run()` renvoie un résultat possédant la structure suivante : ```typescript { runId: string, extractStepResult: { referenceKeywords: Set, responseKeywords: Set }, analyzeStepResult: { totalKeywords: number, matchedKeywords: number }, score: number } ``` ## Détails du calcul du score Le Scorer évalue la couverture en faisant correspondre les mots-clés à l’aide des fonctionnalités suivantes : - Filtrage des mots courants et des mots vides, par exemple "the", "a", "and" - Correspondance insensible à la casse - Gestion des variantes morphologiques des mots - Traitement particulier des termes techniques et des mots composés ### Processus de calcul du score 1. Traite les mots-clés de l’entrée et de la sortie : - Élimine les mots courants et les mots vides - Normalise la casse et les formes des mots - Traite les termes particuliers et les mots composés 2. Calcule la couverture des mots-clés : - Fait correspondre les mots-clés entre les textes - Compte les correspondances réussies - Calcule le rapport de couverture Score final : `(matched_keywords / total_keywords) * scale` ### Interprétation du score Un score de couverture compris entre 0 et 1 s’interprète comme suit : - **1.0** : couverture complète, tous les mots-clés sont présents. - **0.7 à 0.9** : couverture élevée, la plupart des mots-clés sont inclus. - **0.4 à 0.6** : couverture partielle, certains mots-clés sont présents. - **0.1 à 0.3** : faible couverture, peu de mots-clés correspondent. - **0.0** : la réponse ne contient aucun des mots-clés. ### Cas particuliers Le Scorer gère plusieurs cas particuliers : - Entrée/sortie vide : renvoie un score de 1.0 si les deux sont vides, ou de 0.0 si une seule l’est - Mot unique : traité comme un seul mot-clé - Termes techniques : préserve les termes techniques composés, par exemple "React.js", "machine learning" - Différences de casse : "JavaScript" correspond à "javascript" - Mots courants : ignorés dans le calcul du score afin de se concentrer sur les mots-clés utiles ## Exemple Évaluez la couverture des mots-clés entre les requêtes d’entrée et les réponses d’un Agent : ```typescript import { runEvals } from '@mastra/core/evals' import { createKeywordCoverageScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createKeywordCoverageScorer() const result = await runEvals({ data: [ { input: 'JavaScript frameworks like React and Vue', }, { input: 'TypeScript offers interfaces, generics, and type inference', }, { input: 'Machine learning models require data preprocessing, feature engineering, and hyperparameter tuning', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, }) }, }) console.log(result.scores) ``` Pour en savoir plus sur `runEvals`, consultez la [référence de runEvals](https://mastra.zisheng.pro/fr/reference/evals/run-evals). Pour ajouter ce Scorer à un Agent, consultez le guide de [présentation des Scorers](https://mastra.zisheng.pro/fr/docs/evals/overview). ## Voir aussi - [Scorer d’exhaustivité](https://mastra.zisheng.pro/fr/reference/evals/completeness) - [Scorer de similarité du contenu](https://mastra.zisheng.pro/fr/reference/evals/content-similarity) - [Scorer de pertinence de la réponse](https://mastra.zisheng.pro/fr/reference/evals/answer-relevancy) - [Scorer de différence textuelle](https://mastra.zisheng.pro/fr/reference/evals/textual-difference)