봇 개발자는 일반적으로 하나의 기본 사용자 의도를 해결하는 작업을 생성합니다. 그러나 주요 의도의 일부로 사용자 대화를 관련 의도(후속 조치 또는 하위 의도)로 나눌 수 있습니다. 항공편 예약 봇에 대한 샘플 대화를 살펴봅시다.
봇: 안녕하세요. 무엇을 도와드릴까요? 사용자: LA에서 뉴욕으로 가는 비행기편은 뭐가 있습니까? 봇: 네. 여행 날짜를 알려주세요. 사용자: 잠깐만요. 이번 주 일요일에 거기 비가 옵니까?
이 대화의 주된 의도는 비행기 표를 예약하는 것입니다. 그러나 사용자는 예약을 완료하기 전 일기 예보를 알고 싶어하는데 이것은 유효한 사용 사례입니다. 사용자 의도 노드를 사용하여 루트 의도 또는 후속 조치(또는 하위 의도)를 대화 작업에 추가할 수 있습니다. 후속 조치 의도의 흐름은 전환을 사용하여 동일 대화 작업에서 구축되며 외부 작업에 연결할 수 없습니다. 후속 의도 실행이 완료되면 추가한 전환에 따라 동일한 대화 작업에서 대화 흐름이 계속됩니다.
참고: 기존 작업에서 새 대화 작업을 시작하려면 대화 작업 노드를 사용할 수 있습니다.
설정
대화 작업에서 사용자 의도 노드를 설정하려면 다음 단계를 수행합니다.
노드 추가
- 사용자 의도 노드를 추가하려는 대화 작업을 엽니다.
- 지정된 위치에 사용자 의도 노드를 추가합니다. 노드를 추가하는 단계의 경우, 여기를 참조하세요.
- 사용자 의도 창은 기본적으로 구성 요소 속성 탭이 선택되어 표시됩니다.
노드 설정
구성 요소 속성
구성 요소 속성 탭에서 설정하거나 편집한 설정은 이 노드를 사용하는 모든 대화 작업에 반영됩니다. 이러한 설정은 의도 및 하위 의도 노드에서 동일합니다.
- 구성 요소 속성 탭의 일반 설정에서
- 이름 및
- 설명을 수정할 수 있습니다.
연결 속성
- 연결 탭을 클릭하고 전환 속성을 설정하여 대화 작업에서 다음에 실행할 노드를 결정합니다. 대화 작업에서 엔티티 또는 컨텍스트 개체의 값을 기반으로 조건문을 작성하거나 전환을 위해 의도를 사용할 수 있습니다.
- 연결 규칙 섹션에서 IF 추가를 클릭합니다.
- 다음 조건 중 하나를 기준으로 조건식을 설정합니다.
- 엔티티: 대화의 엔티티 노드를 특정 값과 비교합니다.
- 엔티티를 입력합니다.
- 드롭다운 목록에서 연산자를 선택합니다. Exists, equals to, greater than equals to, less than equals to, not equal to, greater than, less than.
- 값 필드에 숫자를 입력합니다. 예: PassengerCount (엔티티) greater than (연산자) 5 (지정된 값)
- 컨텍스트: 다음 연산자 중 하나를 사용하여 대화의 컨텍스트 개체와 지정된 값을 비교합니다. Exists, equals to, greater than equals to, less than equals to, not equal to, greater than, less than. 예: Context.entity.PassengerCount (컨텍스트 개체) greater than (연산자) 5 (지정된 값)
- 의도: 다음 사용자 발화와 일치하는 의도를 선택합니다.
- 엔티티: 대화의 엔티티 노드를 특정 값과 비교합니다.
- Then go to 드롭다운 목록에서 조건식이 성공할 경우 대화 흐름에서 실행할 다음 노드를 선택합니다. 예: PassengerCount (엔티티) greater than (연산자) 5 (지정된 값), Then go to Offers (하위 대화)
- Else 드롭다운 목록 조건이 실패할 경우 실행할 노드를 선택합니다.
참고: 여러 If 조건을 작성하려면 마지막 If 조건식 아래에 있는 + Else If 추가를 클릭합니다.