대화 트리
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_type | string | 필수 | "tree_annotation"이어야 합니다 |
name | string | 필수 | 이 스키마의 고유 식별자 |
description | string | 필수 | 어노테이터에게 표시되는 안내문 |
node_scheme | object | {} | 노드별 어노테이션을 위한 어노테이션 스키마 구성 |
path_selection.enabled | boolean | false | 트리를 통한 경로 선택 활성화 |
path_selection.description | string | "Select the best response path" | 경로 선택을 위한 안내문 |
branch_comparison.enabled | boolean | false | 분기 비교 모드 활성화 |
예시
노드 평가
대화 트리의 각 응답을 평가합니다:
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"를 사용하여 다시 시작할 수 있습니다.
모범 사례
- 노드 스키마를 단순하게 유지하세요 - 각 노드의 복잡한 어노테이션 인터페이스는 어노테이션 속도를 늦출 수 있습니다
- 맥락을 제공하세요 - 어노테이터가 응답을 평가할 때 상위 메시지를 볼 수 있도록 하세요
- 경로 선택을 현명하게 사용하세요 - 더 작은 트리에 가장 적합합니다
- 어노테이터를 교육하세요 - 트리 탐색은 연습이 필요하므로 교육 예시를 제공하세요
더 읽어보기
구현 세부 사항은 원본 문서를 참조하세요.