- 인쇄
- PDF
답변 입력
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다.
입력한 질문에 대한 답변을 입력합니다. 답변 필드에는 챗봇이 응답할 메시지를 직접 입력해도 되지만, 조건, 사용자 변수, 후속 동작 등을 설정하고 답변 유형을 다양하게 입력할 수 있습니다. 만약 질문만 입력되고 답변은 입력되지 않은 대화는 미완성 대화로 인식되어 모델 학습 대상에서 제외되며 실패 메시지가 응답될 수 있습니다.
답변 입력 모드에는 일반 편집 모드와 Json 편집 모드가 있습니다.
- 일반 편집 모드: 챗봇에서 제공하는 여러 답변 유형을 활용하여 편집하는 형태입니다.
- Json 편집 모드: 연속 답변 및 여러 필수 입력 사항을 채워야 하는 복잡한 답변 유형을 다른 대화로 복사할 때 활용합니다. Json 편집 모드에서 작성하는 방법은 Json 편집 방법을 참고해 주십시오.
답변 조건 설정
AND와 OR 논리식을 활용하여 다양한 답변 조건을 설정할 수 있습니다. 5개의 AND 조건과 10개의 OR 조건을 설정할 수 있으며 최대 50개의 조건 설정이 가능합니다.
설정한 조건의 우선 순위
- 조건 설정된 답변이 조건 설정되지 않은 답변보다 우선 응답됩니다.
- 여러 개의 조건이 추가된 경우, 모든 조건이 충족된 경우에만 답변이 응답됩니다.
- 두 개 이상의 답변에 설정된 조건이 동시에 만족되는 경우, 답변이 무작위로 응답됩니다. 예를 들어 답변 1에 [화요일] 조건을 설정하고, 답변 2에 [12/25] 날짜 조건을 설정한 상태에서 12월 25일이 화요일인 경우, 두 답변 모두 조건을 만족하므로 답변 1과 답변 2 중에서 무작위로 선택하여 응답합니다.
- 조건이 충족되는 답변이 없는 경우에는 실패 메시지가 응답될 수 있습니다.
시간/일자 조건
- 시간 조건: 특정 시간대에만 응답하는 답변을 설정할 수 있습니다.
- 요일 조건: 특정 요일에만 응답하는 답변을 설정할 수 있습니다. 여러 요일을 선택할 수 있습니다.
- 날짜 조건: 특정 날짜에만 응답하는 답변을 설정할 수 있습니다.
엔티티 조건
사용자가 특정 엔티티를 발화하거나 발화하지 않은 경우에만 답변을 응답하도록 설정할 수 있습니다. 엔티티를 추가하는 방법은 엔티티를 참고해 주십시오.
폼 조건
특정 객관식 폼에 대해 사용자가 선택한 버튼을 기억하여, 특정 버튼을 선택하거나 또는 선택하지 않은 사용자에게만 응답하는 조건을 설정할 수 있습니다.
사용자 변수
사용자 변수에 채워진 값을 기준으로 조건을 분기할 수 있습니다. 조건 분기의 기준이 되는 값에 문자열, 숫자를 입력할 수 있습니다. 또한 @, *을 입력하여 엔티티나 다른 사용자 변수를 활용할 수 있습니다.
사용자 변수의 유형이 숫자인 경우, 값의 유형이 문자열이라면 조건이 동작하지 않으니 주의해 주십시오.
커스텀V1.0
API를 호출하여 직접 커스텀한 조건을 답변에 설정할 수 있습니다. 조건을 검증할 API URL을 입력해 주십시오. 입력된 API URL에서 {"valid":true} 값을 전달해준 경우에만 답변을 응답합니다.
요청 시 전달되는 항목은 다음과 같습니다.
HttpMethod: GET
Http Headers: {
X-KAA-USERKEY=4d4cf7425f5b4769807fb4cba66bd987,
X-KAA-USERID=9ff4-b49e74ea22e4
}
body ={}
값 | 설명 |
---|---|
X-KAA-USERKEY | 해시된 유저 키 값 전달 |
X-KAA-USERID | 사용자의 original userId가 담겨 있음 |
응답 시 전달해야 하는 항목은 다음과 같습니다.
{
"valid": true
}
값 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
valid | boolean | Y | 해당 태그의 유효 여부 파악 |
커스텀V2.0
API를 호출하여 직접 커스텀한 조건을 답변에 설정할 수 있습니다. 조건을 검증할 API URL를 입력해 주십시오. 입력된 API URL에서 특정 string 값을 전달해준 경우에만 답변을 응답합니다. 커스텀 조건 V2.0 응답 시 사용자 변수값을 전달받을 수 있습니다.
요청 시 전달되는 항목은 다음과 같습니다.
{
"userId": "string",
"userKey": "string",
"userVariables": {
"people": {
"value": "17",
"typ": "NUMBER"
},
"name": {
"value": "[default] olive (end of user variable)",
"typ": "TEXT"
},
"age": {
"value": "30",
"typ": "NUMBER"
},
"date": {
"value": "{\"year\":2020, \"month\":6, \"day\":5, \"name\":\"olive\"}",
"typ": "JSON"
},
"time": {
"value": "{\"hour\":17, \"minute\":6}",
"typ": "JSON"
}
}
}
값 | 타입 | 필수 | 설명 |
---|---|---|---|
valid | String | Y | CustomTag에 등록된 URL 호출 결과 표시 빌더에서 입력한 값과 비교하여 해당 조건이 유효한지 파악함 |
userVariable | Array[Object] | N | 사용자 변수를 변경하기 위해 사용 가능 |
userVariable.name | String or Long | Y | 변경하고자 하는 사용자 변수명 Json의 경우 현재는 값을 하나하나 수정해야 하며, ‘.’를 구분자로 하여 json안의 필드 지정 |
userVariable.value | String | Y | 값. 텍스트나 숫자가 올 수 있음 |
userVariable.type | String | Y | userVariable의 타입 명시. 문자열 타입일 경우 TEXT, 숫자 타입일 경우 NUMBER, Json 타입일 경우 JSON을 입력 |
userVariable.action | String | Y | 동작 지정. 숫자일 경우에만 EQ, ADD, SUB가 올 수 있으며, 그 외의 경우 EQ만 가능. - EQ: 기존 사용자변수 값 대신 value 입력 - ADD: 기존 사용자변수 값 + value 연산을 한 뒤 저장 - SUB: 기존 사용자변수 값 - value 연산을 한 뒤 저장 |
userVariable.valueType | String | Y | userVariable.value의 타입 명시. TEXT, NUMBER가 올 수 있음 |
응답 시 전달해야 하는 항목은 다음과 같습니다.
{
"valid": "string",
"userVariable": [
{
"name": "clientName",
"value": "홍길동",
"type": "TEXT",
"action": "EQ",
"valueType": "TEXT"
}
]
}
답변 유형별 입력 방법
다양한 답변 유형을 지원하는데, 기본 답변, 이미지 답변, 멀티 링크 답변, 객관식 답변, Flex 메시지 답변, LINE 스티커 답변, 오디오 답변을 지원하고 있습니다. 메신저와 연동된 경우에는 해당 메신저에서 지원하는 답변 컴포지트의 형태로 변환되어 제공됩니다.
작성한 답변 유형에 따라 일부 메신저에서 답변을 제공하지 않는 경우도 있으므로 챗봇을 개발하기 전에 확인이 필요합니다
기본 답변
기본 답변은 텍스트형 답변 유형입니다. 챗봇이 답변할 문장을 직접 작성합니다. 일반 메시지로 작성해도 되지만 특수 기호를 활용하여 액션 메소드, 슬롯, 사용자 변수, 라인 이모지 등을 추가할 수 있습니다.
- 액션 메소드를 삽입하려면 답변 입력란에 $을 입력해 주십시오. 액션 메소드를 작성하는 방법은 액션 메소드를 참조해 주십시오.
- ‘슬롯’에 저장된 값을 활용하려면 답변 입력란에 @을 입력해 주십시오. 슬롯에 값을 저장하는 방법은 슬롯 기타 설정을 참조해 주십시오.
- 사용자 변수에 저장된 값을 활용하려면 답변 입력란에 *을 입력해 주십시오. 사용자 변수에 값을 저장하는 방법은 사용자 변수를 참조해 주십시오.
- 라인 이모지를 답변으로 제공하려면 답변 입력란에 ``{0x000000}` 형식의 라인 이모지 코드를 입력해 주십시오. 연동 메신저를 LINE으로 설정해야 합니다. 입력 가능한 라인 이모지 코드는 LINE Original emoji에서 확인할 수 있습니다.
- URL 추가: 연결할 URL 주소를 입력해 주십시오.
이미지 답변 입력
이미지 답변은 이미지를 활용한 답변 유형입니다.
이미지 답변을 입력하는 방법은 다음과 같습니다.
- 답변 유형을 이미지 답변으로 선택해 주십시오.
- 이미지 답변 유형을 선택해 주십시오.
- 이미지+텍스트: 이미지와 텍스트를 함께 노출하는 유형. 외부 링크로 연결하는 버튼 추가 가능
- 이미지: 이미지만 노출되는 유형. 이미지 클릭 시 외부 링크로 연결되도록 설정 가능
- 이미지 답변 유형을 변경하려면 [수정] 버튼 클릭
- 이미지 카드에 정보를 입력하기 위해 이미지 등록을 클릭해 주십시오.
- 이미지 등록 창이 나타나면 이미지를 추가해 주십시오.
- 파일 업로드: PC에 있는 이미지 파일을 추가합니다(이미지 권장 크기: 가로 150px, 세로150px). 연동할 메신저에 맞게 이미지 비율을 조정할 수 있습니다.
- LINE과 NAVER WORKS는 1:1, 1.51:1 비율 지원
- 네이버 톡톡은 1.82:1 비율 지원
- Facebook은 1.91:1 비율 지원
- URL 입력: 이미지 URL을 입력하여 이미지를 추가(이미지 권장 크기: 가로 150px, 세로150px). URL로 추가된 이미지는 이미지 비율 조정 불가
- 등록된 이미지 선택: 도메인에 등록되어 있는 이미지 중에서 선택. 도메인별로 최대 50장의 이미지를 등록 가능
- 파일 업로드: PC에 있는 이미지 파일을 추가합니다(이미지 권장 크기: 가로 150px, 세로150px). 연동할 메신저에 맞게 이미지 비율을 조정할 수 있습니다.
- 해당 이미지의 제목과 이미지 설명을 입력해 주십시오.
- 제목: 등록한 이미지와 함께 노출되는 문구
- 이미지 설명: 등록한 이미지에 대한 설명. 이미지 답변에서 폼 입력은 불가하며, 기본 답변과 객관식 답변 유형에서만 가능
- 버튼 추가: 이미지와 함께 노출할 버튼. URL 주소를 입력할 수 있으며 최대 3개까지 추가 가능
- 이미지 카드를 더 추가하려면 이미지 카드 우측의 [추가] 버튼을 클릭해 주십시오.
- 최대 20장의 이미지 카드 추가 가능
- 두 개 이상의 이미지 카드를 추가하는 경우, 캐로셀 형태로 구현. (노출되는 이미지 카드의 개수는 메신저마다 상이할 수 있음)
- [순서 변경] 버튼을 클릭하여 이미지 카드의 노출 순서 변경 가능
<예시> 이미지 답변 입력
<예시> 이미지 답변 구현
멀티 링크 답변 입력
멀티 링크 답변은 다른 웹페이지로 이동할 수 있는 버튼을 답변으로 제공하는 유형입니다.
멀티 링크 답변을 입력하는 방법은 다음과 같습니다.
- 답변 유형을 멀티 링크 답변으로 선택해 주십시오.
- 답변 필드에 URL 버튼을 설명할 수 있는 답변을 작성해 주십시오.
- 기본 답변과 객관식 답변 유형에서만 가능
- 멀티 링크 답변에서는 폼 입력 불가
- 버튼 이름을 입력하고 연결할 URL 주소를 입력해 주십시오.
- 버튼을 더 추가하려면 [버튼 추가] 버튼을 클릭해 주십시오.
- 최대 10개의 버튼 추가 가능(LINE, Facebook은 최대 4개의 버튼 추가 가능)
<예시> 멀티 링크 답변 입력
<예시> 멀티 링크 답변 구현
객관식 답변 입력
객관식 답변은 객관식 폼을 활용하여 선택지에 따라 다른 답변을 제공하는 답변 유형입니다.
객관식 답변을 입력하는 방법은 다음과 같습니다.
- 답변 유형을 객관식 답변으로 선택해 주십시오.
- 폼 이름을 입력해 주십시오.
- 신규 이름 입력 또는 이미 등록된 폼 불러오기 가능
- 새로운 폼을 생성하는 경우, 기존의 폼 데이터와 중복되지 않는 이름으로 입력
- 버튼 유형을 선택해 주십시오.
- 객관식 버튼: 세로로 나열되는 버튼
- 최대 29개 버튼 추가 가능
- LINE, Facebook은 최대 4개 추가 가능
- 네이버 톡톡, NAVER WORKS는 최대 10개 추가 가능
- Quick reply: 가로로 나열되는 원형 모양의 버튼. 최대 10개의 버튼 추가 가능
- 객관식 버튼: 세로로 나열되는 버튼
- 객관식 폼을 설명할 답변을 입력해 주십시오.
- 객관식 답변에서는 폼 입력 가능(여러 턴의 대화 설계 가능)
- 객관식 버튼에 노출될 문구를 입력하거나 엔티티를 입력해 주십시오.
- 엔티티를 지정해 놓으면, 사용자가 특정 엔티티 입력 시 버튼을 클릭한 것과 동일한 동작 수행
- 사용자가 객관식 버튼을 클릭하거나 엔티티를 입력할 경우 수행할 작업을 연결해 주십시오.
- 버튼 액션: 사용자가 버튼 클릭 시 시스템이 응답할 답변 입력
- 대화 연결: 기존 대화를 연결하여 해당 대화에 등록된 답변 응답 가능.
- 연결된 대화의 답변을 확인하려면 우측의 [답변 확인] 버튼 클릭
- 존재하지 않은 대화 이름을 입력한 경우, 입력한 대화 이름으로 대화가 신규 생성됨
- 시나리오 안에서의 루프를 제한하고 있으므로 일부 대화는 연결이 불가능할 수 있음
- 텍스트 답변: 일반 텍스트, 폼, 액션 메소드 입력 가능
- 연동할 서비스를 선택해 주십시오.
- 여러 서비스를 연동할 수 있습니다.
- 폼에 연동된 서비스 중 사용자가 선택한 버튼은 통합 지표에서 '성공'으로 집계되며, 응답되지 않은 나머지 서비스는 '거절'로 집계됩니다.
- 폼에 LINE Switcher API 또는 LINE PAY, NAVER PAY와 같은 액션 메소드를 입력한 경우, 해당 서비스 연결을 선택해야 통합 지표에서 정확한 지표를 확인할 수 있습니다.
객관식 답변을 작성하여 복잡한 시나리오를 구성하는 경우, 대화와 객관식 폼 간의 연결 구조를 시나리오 항목에서 쉽게 파악하려면 [시나리오 확인] 버튼을 클릭해 주십시오. 시나리오 구조는 대화, 객관식 폼, 시나리오 목록을 통해서 확인 가능합니다.
<예시> 객관식 폼 답변 작성
<예시> 객관식 폼 답변 구현
Flex 메시지 답변 입력 방법
Flex 메시지 답변은 Json 에디터를 사용하여 직접 다양한 레이아웃의 답변을 작성할 수 있는 답변 유형입니다. LINE 메신저 또는 Custom와 연동한 경우에만 Flex 메시지 답변 유형이 활성화됩니다. LINE 메신저와 연동할 경우 LINE의 Flex 메시지 작성 문법에 따라 작성해야 합니다.
Flex 메시지 답변을 입력하는 방법은 다음과 같습니다.
- 대화 정보 등록과 질문 등록을 참고하여 질문을 입력해 주십시오
- 답변 유형으로 Flex 답변을 선택해 주십시오.
- JSON 데이터에 대한 설명을 입력해 주십시오.
- 작성된 설명은 필요에 따라(푸시 알람, 채팅 요약, flex 메시지를 지원하지 않는 플랫폼 등) 대체 텍스트로 노출될 수 있음
- JSON Data 입력 필드에 json 에디터를 통해 직접 다양한 레이아웃의 답변을 작성해 주십시오.
- 입력된 json data는 LINE 메신저 또는 Custom 채널로 전달
- [LINE 템플릿] 버튼을 클릭하면 LINE에서 제공하는 샘플 템플릿을 편집하거나 새로 제작 가능
- 완성된 JSON 데이터를 복사하거나 붙여넣기 가능
<예시> Flex 메시지 작성
<예시> Flex 메시지 답변 유형 구현
LINE 스티커 답변 입력 방법
LINE 스티커 답변은 LINE 메신저 이모티콘을 활용한 답변 유형입니다. LINE 메신저의 이모티콘을 답변으로 제공하여 사용자에게 친근한 느낌을 주는 챗봇을 제작할 수 있습니다.
LINE 스티커 답변을 입력하는 방법은 다음과 같습니다.
- 대화 정보 등록과 질문 등록을 참고하여 질문을 입력해 주십시오
- 답변 유형으로 LINE 스티커 답변을 선택해 주십시오.
- 정보를 입력해 주십시오.
- 메신저 설정: LINE 메신저로 설정한 경우에만 LINE 스티커 답변 유형 선택 가능
- Package ID: 원하는 스티커의 package ID 입력
- Sticker ID: 원하는 스티커의 Sticker ID 입력
- Package ID와 Sticker ID는 [Sticker List]를 참고하여 입력
예시
답변 없음
‘답변 없음’은 사용자에게 답변을 응답하지 않는 답변 유형입니다. ‘답변 없음’ 유형을 잘 활용하면 더욱 복잡한 시나리오를 설계할 수 있습니다. 예를 들어, 요일 조건과 시간 조건을 순차적으로 체크하여 그 결과에 따라 다른 답변을 응답하고 싶은 경우, 답변 없음 유형을 활용하면 다음과 같이 설계할 수 있습니다.
<예시>
요일 조건과 시간 조건을 순차적으로 체크하도록 설계하는 예시입니다.
- 대화를 A와 B로 나누어 A 대화에서는 요일 조건을 설정하고 답변 없음 유형 선택
- A 대화의 후속 동작을 B 대화로 이동하도록 설정
- 대화 B에서는 시간 조건을 설정하고, 조건에 따라 다른 답변을 등록
연속 답변
연속 답변은 다양한 답변 유형을 조합하여 연속된 말풍선으로 응답하는 답변 유형입니다. 기본 답변, 이미지 답변, 멀티 링크 답변, 객관식 답변, LINE 스티커 답변만 연속 답변으로 구성할 수 있으며, 최대 5개의 말풍선을 추가할 수 있습니다.
연속 답변을 입력하는 방법은 다음과 같습니다.
- 대화 정보 입력과 질문 등록을 참고하여 질문을 입력해 주십시오
- 답변 등록을 참고하여 답변을 1개 이상 등록해 주십시오.
- 답변 영역 하단의 새로운 말풍선 추가를 클릭해 주십시오.
- 이미지 답변의 경우, 캐로셀 형태를 지원하지 않으며 하나의 말풍선에는 하나의 이미지만 추가할 수 있습니다.
- 객관식 답변의 경우, 연속 답변에서 1건만 추가 가능합니다.
후속 동작 설정
후속 동작 설정은 챗봇이 사용자의 질문에 답변한 후 수행할 다음 동작을 설정하는 것입니다. 예를 들면, 사용자의 질문에 답변을 완료한 후, 사용자가 다른 입력을 할 때까지 기다리도록 설정하거나, 다른 대화로 이동하도록 설정할 수 있습니다. 음성 환경의 AiCall 도메인이라면 답변 후 다른 번호로 전화를 연결하거나 통화를 종료하도록 설정할 수 있습니다.
대기
'대기'를 선택한 경우, 챗봇은 사용자의 다음 입력을 기다립니다. 대화의 주도권을 사용자에게 넘겨야 할 때 선택합니다.
대화 이동
대화 이동 기능은 사용자의 다음 작업(입력)이나 답변을 기다리지 않고, 지정한 다른 대화로 이동하여 대화를 이어가는 기능입니다. 대화의 주도권을 사용자에게 넘기지 않고, 챗봇이 가지고 있고자 할 때 선택합니다.
이동할 대화의 Input 컨텍스트는 고려하지 않습니다. 현재 대화에 설정된 Output 컨텍스트는 업데이트하지 않고 대화 이동을 수행하고, 마지막으로 이동된 대화의 Output 컨텍스트를 업데이트한 후 대화의 주도권을 사용자에게 넘깁니다.
대화 이동 시 주의 사항은 다음과 같습니다.
- 대화 이동 횟수는 20회로 제한하며, 자기 자신의 대화로는 이동할 수 없습니다.
- 객관식 답변 유형을 사용하고 있는 경우에는 대화 이동이 불가능합니다.
- 태스크 돌아가기 설정이 On되어있는 경우에는 대화 이동이 불가능합니다.
- 이동한 대화에 응답 가능한 답변이 없는 경우(조건에 맞지 않거나, 등록된 답변이 없는 경우) 설계대로 동작하지 않을 수 있습니다.
- 대화 이동 중 액션 메소드 호출, 커스텀 조건 사용, API 엔티티 사용이 잦은 경우, 타임 아웃이 발생할 수 있습니다.
기타 설정
메신저 설정
- 특정 메신저에서만 응답하는 답변을 설정할 수 있습니다. 만약 '모든 메신저' 답변과 특정 메신저로 설정한 답변이 함께 서비스 on 상태인 경우, 해당 메신저에서는 '모든 메신저'로 설정한 답변은 응답되지 않습니다.
- 특정 메신저에서 지원하지 않는 답변 유형을 선택한 경우, 사용자에게 실패 메시지가 응답될 수 있습니다.
- 메신저 조건을 CLOVA로 설정할 경우 '기본 답변' 과 '오디오 답변' 유형만 지원합니다. 또한 '모든 메신저'에서 설정한 답변을 CLOVA에 연동할 경우, 각 답변 유형의 '텍스트 답변' 만 음성으로 제공됩니다.
마커 설정
- 마커 설정을 활성화하여 ${`previousChatbot} built in 액션 메소드가 호출된 시점에 해당 대화의 답변 또는 컨텍스트를 활용할 수 있습니다. 만약 답변의 일부 말풍선에 마커가 비활성화되었다면, 해당 말풍선은 그 대상에서 제외됩니다.
서비스 여부
해당 답변의 사용 여부를 설정할 수 있습니다. 만약 여러 개의 답변이 서비스 On 상태일 경우, 답변이 무작위로 응답됩니다. 예를 들어 특정 질문에 대해 2개 이상의 답변이 서비스 on 상태일 경우, 챗봇에서 사용자가 질문을 입력했을 때 답변이 등록된 순서와 관계없이 무작위로 답변을 노출합니다. 만약 사용자가 5시간 이내에 동일한 질문을 할 경우, 기존에 응답하지 않은 답변 중에서 무작위로 응답합니다.