Skip to content

Arbres de conversation

Annotez des structures de conversation hiérarchiques avec évaluation de nœuds et sélection de chemins.

Arbres de conversation

Le schéma d'annotation en arbre permet l'annotation de structures de conversation hiérarchiques telles que les arbres de réponses de chatbots, les systèmes de dialogue ou les récits à embranchements. Les annotateurs peuvent évaluer les nœuds individuels, sélectionner des chemins préférés et comparer les branches aux points de décision.

Cas d'utilisation

  • Évaluation de chatbot - Évaluation de la qualité de plusieurs options de réponse
  • Systèmes de dialogue - Sélection des chemins de conversation préférés
  • Tests A/B - Comparaison de différentes stratégies de réponse
  • Fiction interactive - Évaluation des chemins de récits à embranchements

Démarrage rapide

yaml
annotation_schemes:
  - annotation_type: tree_annotation
    name: response_quality
    description: Evaluate the conversation tree
    node_scheme:
      annotation_type: likert
      min_label: "Poor"
      max_label: "Excellent"
      size: 5
    path_selection:
      enabled: true
      description: Select the best response path through the tree

Options de configuration

ChampTypeDéfautDescription
annotation_typestringObligatoireDoit être "tree_annotation"
namestringObligatoireIdentifiant unique pour ce schéma
descriptionstringObligatoireInstructions affichées aux annotateurs
node_schemeobject{}Configuration du schéma d'annotation pour l'annotation par nœud
path_selection.enabledbooleanfalseActiver la sélection de chemin dans l'arbre
path_selection.descriptionstring"Select the best response path"Instructions pour la sélection de chemin
branch_comparison.enabledbooleanfalseActiver le mode de comparaison de branches

Exemples

Évaluation de nœuds

Évaluez chaque réponse dans l'arbre de conversation :

yaml
annotation_schemes:
  - annotation_type: tree_annotation
    name: response_rating
    description: Rate each response in the conversation
    node_scheme:
      annotation_type: likert
      min_label: "Very Bad"
      max_label: "Very Good"
      size: 5

Sélection de chemin

Sélectionnez le meilleur chemin dans la conversation :

yaml
annotation_schemes:
  - annotation_type: tree_annotation
    name: best_path
    description: Navigate the conversation tree
    path_selection:
      enabled: true
      description: Click on responses to build the best conversation path

Évaluation multi-critères des nœuds

Évaluez les nœuds sur plusieurs dimensions :

yaml
annotation_schemes:
  - annotation_type: tree_annotation
    name: multi_criteria
    description: Evaluate each response on multiple criteria
    node_scheme:
      annotation_type: multirate
      options:
        - Relevance
        - Fluency
        - Helpfulness
      labels: ["1", "2", "3", "4", "5"]

Mode de comparaison de branches

Comparez les branches sœurs aux points de décision :

yaml
annotation_schemes:
  - annotation_type: tree_annotation
    name: branch_compare
    description: Compare response options at each decision point
    branch_comparison:
      enabled: true
    node_scheme:
      annotation_type: radio
      labels: ["Better", "Same", "Worse"]

Format de données

Entrée

Les données d'arbre doivent être fournies au format JSON avec une structure hiérarchique :

json
{
  "id": "conv_001",
  "tree": {
    "id": "root",
    "role": "user",
    "content": "Hello, I need help with my order",
    "children": [
      {
        "id": "resp_a",
        "role": "assistant",
        "content": "I'd be happy to help! Can you provide your order number?",
        "children": [
          {
            "id": "user_2",
            "role": "user",
            "content": "It's ORDER-12345",
            "children": []
          }
        ]
      },
      {
        "id": "resp_b",
        "role": "assistant",
        "content": "Sure, what seems to be the problem?",
        "children": []
      }
    ]
  }
}

Configurez la clé des données d'arbre :

yaml
item_properties:
  id_key: id
  tree_key: tree

Sortie

Les annotations d'arbre sont sauvegardées avec des données au niveau des nœuds et des chemins :

json
{
  "response_quality": {
    "node_annotations": {
      "resp_a": {
        "rating": 4
      },
      "resp_b": {
        "rating": 2
      }
    },
    "selected_path": ["root", "resp_a", "user_2"]
  }
}

Interface utilisateur

Visualisation de l'arbre

L'arbre de conversation est affiché avec des nœuds représentant les messages/réponses, des arêtes connectant les relations parent-enfant et des points de ramification où plusieurs réponses existent.

Sélection de nœuds

Cliquez sur n'importe quel nœud pour voir le contenu complet du message, accéder au panneau d'annotation et ajouter le nœud au chemin sélectionné (si la sélection de chemin est activée).

Sélection de chemin

Lorsque la sélection de chemin est activée, cliquez sur les nœuds pour les ajouter à votre chemin. Le chemin sélectionné est mis en évidence, et vous pouvez utiliser "Effacer le chemin" pour recommencer.

Bonnes pratiques

  1. Gardez les schémas de nœuds simples - des interfaces d'annotation complexes sur chaque nœud peuvent ralentir l'annotation
  2. Fournissez du contexte - assurez-vous que les annotateurs peuvent voir les messages parents lors de l'évaluation d'une réponse
  3. Utilisez la sélection de chemin judicieusement - fonctionne mieux pour les petits arbres
  4. Formez les annotateurs - la navigation dans les arbres nécessite de la pratique ; fournissez des exemples d'entraînement

Pour aller plus loin

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