Skip to content

Árvores de Conversa

Anote árvores de conversa ramificadas no Potato — avalie nós de diálogo, selecione caminhos preferidos e capture preferências de avaliação hierárquica de múltiplos turnos.

O esquema de anotação de árvore permite a anotação de estruturas de conversa hierárquicas, como árvores de respostas de chatbots, sistemas de diálogo ou narrativas ramificadas. Os anotadores podem avaliar nós individuais, selecionar caminhos preferidos e comparar ramos em pontos de decisão.

Casos de Uso

  • Avaliação de chatbots - Avaliar a qualidade de várias opções de resposta
  • Sistemas de diálogo - Selecionar caminhos de conversa preferidos
  • Teste A/B - Comparar diferentes estratégias de resposta
  • Ficção interativa - Avaliar caminhos narrativos ramificados

Início Rápido

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

Opções de Configuração

CampoTipoPadrãoDescrição
annotation_typestringObrigatórioDeve ser "tree_annotation"
namestringObrigatórioIdentificador único para este esquema
descriptionstringObrigatórioInstruções exibidas aos anotadores
node_schemeobject{}Configuração do esquema de anotação para a anotação por nó
path_selection.enabledbooleanfalseHabilita a seleção de caminho pela árvore
path_selection.descriptionstring"Select the best response path"Instruções para a seleção de caminho
branch_comparison.enabledbooleanfalseHabilita o modo de comparação de ramos

Exemplos

Avaliação de Nós

Avalie cada resposta na árvore de conversa:

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

Seleção de Caminho

Selecione o melhor caminho pela conversa:

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

Avaliação de Nós com Múltiplos Critérios

Avalie os nós em várias dimensões:

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"]

Modo de Comparação de Ramos

Compare ramos irmãos em pontos de decisão:

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"]

Formato de Dados

Entrada

Os dados da árvore devem ser fornecidos em formato JSON com uma estrutura hierárquica:

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": []
      }
    ]
  }
}

Configure a chave dos dados da árvore:

yaml
item_properties:
  id_key: id
  tree_key: tree

Saída

As anotações de árvore são salvas com dados em nível de nó e em nível de caminho:

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

Interface do Usuário

Visualização da Árvore

A árvore de conversa é exibida com nós representando mensagens/respostas, arestas conectando relações pai-filho e pontos de ramificação onde existem várias respostas.

Seleção de Nós

Clique em qualquer nó para visualizar o conteúdo completo da mensagem, acessar o painel de anotação e adicionar o nó ao caminho selecionado (se a seleção de caminho estiver habilitada).

Seleção de Caminho

Quando a seleção de caminho está habilitada, clique nos nós para adicioná-los ao seu caminho. O caminho selecionado é destacado, e você pode usar "Clear Path" para recomeçar.

Boas Práticas

  1. Mantenha os esquemas de nó simples - interfaces de anotação complexas em cada nó podem tornar a anotação mais lenta
  2. Forneça contexto - garanta que os anotadores possam ver as mensagens anteriores ao avaliar uma resposta
  3. Use a seleção de caminho com critério - funciona melhor para árvores menores
  4. Treine os anotadores - a navegação na árvore requer prática; forneça exemplos de treinamento

Leitura Adicional

Para detalhes de implementação, consulte a documentação de origem.