노드 그룹화는 노드 그룹을 정의하고 대화 캔버스에서 같은 노드를 나타내는 데 주로 사용됩니다. 참고로 대화 흐름의 일부가 아닙니다. 그룹 노드는 후속 조치, 다이그레션(digression), 엔티티 값 수정을 통해 사용자 경험을 개선하기 위해 사용할 수 있습니다. 사용 사례 예제는 여기를 참조하세요.
추가
그룹 노드를 대화 작업에 추가하려면 다음 단계를 수행하세요.
- 그룹 노드를 추가하려는 대화 작업을 엽니다.
- 노드를 그룹화합니다. 노드 그룹화하는 단계의 경우, 여기를 참조하세요.
- 그룹 이름을 변경, 설정 또는 삭제할 수 있습니다.
- 그룹이 생성된 후에는 그룹에서 특정 노드를 추가하거나 제거할 수 없습니다.
- 추가한 모든 노드는 그룹 외부에 추가됩니다.
- 삭제한 모든 노드는 전체 대화에서 삭제됩니다.
- 그룹을 삭제하더라도 대화에서 그룹 내의 노드는 삭제되지 않습니다.
노드 설정
그룹 노드 기능에는 다음이 포함됩니다.
- 의도 범위 지정 – 사용자가 그룹의 노드에서 대기 중일 때 사용할 수 있는 하위 의도를 정의하는 기능입니다.
- 하위 의도 학습 – 하위 의도를 학습시키는 기능입니다.
- 하위 의도 속성 – 하위 의도의 동작을 정의하는 기능입니다.
사용 사례의 예시의 경우 의도 범위를 지정하기 위한 단계별 지침은 여기를 참조하세요.
의도 범위 지정
그룹 노드를 사용하면 사용자가 그룹 내의 노드 중 하나에 있을 동안 사용자 발화에서 식별하여 실행 가능한 하위 의도의 범위를 지정할 수 있습니다.
- 의도의 범위를 지정하려는 그룹 위로 마우스를 올리고 설정(톱니바퀴) 아이콘을 클릭합니다.
- 그룹 노드 창에서 의도 추가를 선택하여 이 그룹의 범위의 일부가 되어야 하는 컨텐츠를 추가합니다.
- 의도 추가 창에서 이 그룹 노드의 하위 의도로 범위를 지정할 의도를 선택합니다. 이것은 대화가 이 노드 그룹의 어떤 노드에 있을 때 사용자가 요청할 수 있는 의도입니다. 예: 목적지 엔티티를 묻는 메시지가 표시되면 “XYZ 도시의 날씨는 어떻습니까“를 묻거나 여행 날짜를 묻는 메시지가 표시되면 “비행 시간”을 묻습니다.
- 의도 생성 버튼을 사용하여 새 하위 의도를 추가할 수 있습니다.
- 추가된 후에는 학습시킬 수 있고 동작 속성을 설정 및/또는 범위가 지정된 의도를 삭제할 수 있습니다.
의도 학습
각 하위 의도가 추가된 후에는 이 그룹 내에서 인식되도록 학습시킬 수 있습니다. 이를 통해 그룹의 컨텍스트에서 하위 의도를 식별할 수 있습니다.
- 그룹 설정 페이지에서 학습시키려는 하위 의도를 선택합니다.
- 다음을 통해 하위 의도를 학습시킬 수 있습니다.
- 기계 학습 – 이 하위 의도를 식별해야 하는 사용자 발화를 추가합니다. NER 접근 방법을 사용하여 발화에서 엔티티에 주석을 추가할 수도 있습니다.
- 패턴 – 사용자 발화에서 이 하위 의도와 관련된 패턴을 식별합니다.
- 규칙 – 의도를 트리거하는 의도 식별 규칙을 정의합니다.
- 의도 사전 조건을 설정할 수도 있습니다. 즉, 정의된 사전 조건을 의도 감지 시 컨텍스트에서 사용할 수 있는 경우에만 하위 의도가 식별됩니다. 이러한 사전 조건은 인스턴스 수준으로 여겨지며 구성 요소 수준 사전 조건보다 우선합니다.
의도 속성
이행 섹션을 사용하여 특정 하위 의도가 사용자 입력에서 식별될 때 조치를 정의합니다. 여기에는 다음 속성이 포함됩니다.
- 컨텍스트 변수 – 이 하위 의도를 식별할 때 업데이트할 세션 또는 컨텍스트 변수를 정의하도록 키-값 쌍을 설정합니다. 값을 재설정하려면 “null” 키워드를 사용해야 하며 공백은 플랫폼에서 무시됩니다.
- 메시지 – 선택적으로 이 하위 의도를 식별했을 때 사용자에게 표시할 메시지를 정의합니다. 다른 응답과 마찬가지로 메시지를 일반 텍스트, JavaScript 형식으로 정의하고 지정하고 해당되는 경우 음성 통화 속성을 설정할 수 있습니다.
- 컨텍스트 출력 – 이 의도가 식별될 때 설정할 텍스트 태그를 정의합니다. 의도 이름은 항상 시스템의 출력 컨텍스트로 설정됩니다. 값을 재설정하려면 “null” 키워드를 사용해야 하며 공백은 플랫폼에서 무시됩니다.
- 전환 흐름 – 이 하위 의도를 실행한 후, 대화 재개 방법을 정의하려면 이 옵션을 사용합니다. 다음 두 가지 동작을 정의할 수 있습니다.
- 노드로 이동 – 대화는 여기서 선택된 노드에서 재개됩니다.
- 대화 재개 – 대화는 이 의도가 식별된 노드에서 재개됩니다.
구현
다음은 그룹 내 하위 의도 동작의 변경 사항입니다
- 식별된 모든 하위 의도의 경우, 식별된 하위 의도 세부 정보를 포함하는 개체 배열이 있는 컨텍스트 개체는 맨 위에 있는 최신 항목으로 업데이트 됩니다. 다음 정보가 캡처됩니다.
- 하위 의도의 이름.
- 하위 의도와 함께 식별된 엔티티.
- 해당되는 경우 하위 의도가 속한 그룹의 이름.
- 하위 의도가 식별된 노드의 이름.
"identifiedSubIntents": [ { "intent": "Change Destination", "entities": { "destcity": "Delhi" }, "groupName": "Entity Group", "identifiedAt": "to_date" }, { "intent": "Weather Report", "groupName": "Entity Group", "identifiedAt": "destcity" } ]
- 사용자 발화에서 식별된 하위 노드가 그룹 범위에 있고 모든 입력 전제 조건이 충족되고 전환 흐름이 해당 노드로 향하는 경우 의도가 실행됩니다.
- 하위 의도의 실행은 다음을 수반합니다.
- 정의된 매핑에 따른 컨텍스트 변수 업데이트
- 정의된 매핑에 따른 출력 컨텍스트 설정
- 해당되는 경우 메시지를 사용자에게 표시
- 현재 대화 실행은 정의된 전환 흐름에 따라 계속되어야 합니다
- 지정된 노드로 이동하거나
- 하위 의도가 식별된 지점에서 재개합니다.