Skip to content

대화 트리

Potato에서 분기하는 대화 트리를 어노테이션합니다 — 대화 노드를 평가하고, 선호하는 경로를 선택하며, 계층적 다중 턴 평가 선호도를 포착합니다.

트리 어노테이션 스키마는 챗봇 응답 트리, 대화 시스템, 분기 내러티브와 같은 계층적 대화 구조의 어노테이션을 가능하게 합니다. 어노테이터는 개별 노드를 평가하고, 선호하는 경로를 선택하며, 결정 지점에서 분기를 비교할 수 있습니다.

사용 사례

  • 챗봇 평가 - 여러 응답 옵션의 품질 평가
  • 대화 시스템 - 선호하는 대화 경로 선택
  • A/B 테스트 - 서로 다른 응답 전략 비교
  • 인터랙티브 픽션 - 분기 스토리 경로 평가

빠른 시작

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

구성 옵션

필드유형기본값설명
annotation_typestring필수"tree_annotation"이어야 합니다
namestring필수이 스키마의 고유 식별자
descriptionstring필수어노테이터에게 표시되는 안내문
node_schemeobject{}노드별 어노테이션을 위한 어노테이션 스키마 구성
path_selection.enabledbooleanfalse트리를 통한 경로 선택 활성화
path_selection.descriptionstring"Select the best response path"경로 선택을 위한 안내문
branch_comparison.enabledbooleanfalse분기 비교 모드 활성화

예시

노드 평가

대화 트리의 각 응답을 평가합니다:

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

경로 선택

대화를 통과하는 최선의 경로를 선택합니다:

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

다중 기준 노드 평가

여러 차원에서 노드를 평가합니다:

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

분기 비교 모드

결정 지점에서 형제 분기를 비교합니다:

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

데이터 형식

입력

트리 데이터는 계층적 구조를 가진 JSON 형식으로 제공해야 합니다:

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

트리 데이터 키를 구성합니다:

yaml
item_properties:
  id_key: id
  tree_key: tree

출력

트리 어노테이션은 노드 수준과 경로 수준 데이터 모두와 함께 저장됩니다:

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

사용자 인터페이스

트리 시각화

대화 트리는 메시지/응답을 나타내는 노드, 부모-자식 관계를 연결하는 간선, 여러 응답이 존재하는 분기 지점과 함께 표시됩니다.

노드 선택

아무 노드나 클릭하면 전체 메시지 내용을 보고, 어노테이션 패널에 접근하며, 노드를 선택된 경로에 추가할 수 있습니다(경로 선택이 활성화된 경우).

경로 선택

경로 선택이 활성화되면 노드를 클릭하여 경로에 추가합니다. 선택된 경로는 강조 표시되며, "Clear Path"를 사용하여 다시 시작할 수 있습니다.

모범 사례

  1. 노드 스키마를 단순하게 유지하세요 - 각 노드의 복잡한 어노테이션 인터페이스는 어노테이션 속도를 늦출 수 있습니다
  2. 맥락을 제공하세요 - 어노테이터가 응답을 평가할 때 상위 메시지를 볼 수 있도록 하세요
  3. 경로 선택을 현명하게 사용하세요 - 더 작은 트리에 가장 적합합니다
  4. 어노테이터를 교육하세요 - 트리 탐색은 연습이 필요하므로 교육 예시를 제공하세요

더 읽어보기

구현 세부 사항은 원본 문서를 참조하세요.