Skip to content

Texte à trous (cloze)

Ajoutez à une étude Potato des passages à trous et des C-tests, avec un corrigé conservé sur le serveur et une notation par trou dans l'export CSV.

Nouveau dans la v2.12.0

Un schéma cloze affiche un passage comportant des trous dans lesquels l'annotateur tape sa réponse. Il convient aux tests de closure et aux C-tests de compétence linguistique, aux contrôles de compréhension, à l'établissement de normes de prédictibilité, et à la vérification de ce qu'un lecteur retient d'un item.

Le corrigé reste sur le serveur. Il sert à noter l'export et n'est jamais envoyé au navigateur.

Un seul passage

yaml
annotation_schemes:
  - annotation_type: cloze
    name: proficiency
    description: Fill in each blank with one word.
    text: "The library opens at nine and [[closes|shuts]] at six."
    scoring: case_insensitive
    label_requirement:
      required: true

Chaque [[...]] est un trou. Le texte qu'il contient est la réponse acceptée, avec | entre les variantes. [[]] est un trou sans corrigé, qui est enregistré mais pas noté.

Un passage fixe convient à une page de questionnaire, comme un test de sélection de compétence dans la phase prestudy (Flux de travail multi-phases).

Un passage par item

yaml
annotation_schemes:
  - annotation_type: cloze
    name: completion
    description: Fill in each blank with one word.
    source_field: passage
    answer_field: answers
json
{"id": "p1", "text": "Passage 1",
 "passage": "Rain is expected [[]] the afternoon, so bring an [[]].",
 "answers": [["in", "during"], "umbrella"]}

source_field désigne le champ de l'item qui contient le passage, avec les trous écrits [[]]. answer_field désigne un champ contenant une liste avec une entrée par trou, chacune étant une chaîne (avec | entre les variantes) ou une liste. Un item à un seul trou peut utiliser une simple chaîne. Les entrées au-delà du nombre de trous sont ignorées, avec un avertissement dans le journal du serveur.

Le champ de réponse est retiré de la page et des API d'items. Le texte tapé à l'intérieur de [[...]] dans le passage d'un item est effacé avant que l'item n'atteigne la page ; un corrigé placé là par erreur n'est donc pas affiché non plus.

Options

CléValeur par défautSignification
textUn passage pour tous les items. Utilisez cette clé ou source_field
source_fieldChamp de l'item qui contient le passage de chaque item
answer_fieldChamp de l'item qui contient le corrigé de chaque item, avec source_field uniquement
scoringcase_insensitiveexact, case_insensitive, ou normalized, qui ignore aussi les accents et la ponctuation
input_width10Largeur de chaque trou, en caractères
label_requirementrequired: true exige du texte dans chaque trou, vérifié sur la page et sur le serveur

Données

Chaque trou est stocké comme une étiquette du schéma, blank_1, blank_2 et ainsi de suite, avec le texte tapé pour valeur. Pour chaque trou doté d'un corrigé, les exports CSV et TSV ajoutent <scheme>.blank_<n>_correct (1 ou 0), plus <scheme>.score et <scheme>.scored_blanks pour l'item. Un passage laissé vide obtient 0.

Les réponses de texte à trous sur les pages de questionnaire sont exportées avec les autres réponses de phase (export_include_phase_data: true) et n'y sont pas notées.

Exemple

bash
python potato/flask_server.py start examples/classification/cloze-test/config.yaml -p 8000

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.