자연스러운 대화에서, 사용자가 특정 시나리오를 설명하면서 배경/관련 정보를 제공하는 일은 매우 흔합니다. 특성은 사용자가 대화에서 표현하는 특정 엔티티, 속성 또는 세부 정보입니다. 발화는 특정 의도를 직접 전달하지 않을 수 있지만, 발화에 있는 특성은 의도 탐지 및 봇 대화 흐름을 구동하는 데 사용됩니다. 예를 들어 출장 중인데 제 카드의 결제가 거부되었습니다라는 발화는 두 가지 특성 카드 결제 거부와 비상 사태를 나타냅니다. 이 시나리오에서, 발화는 직접적인 의도를 전달하지 않거나 기껏해야 카드 차단 해제 흐름을 트리거하는 데 사용됩니다. 그러나, 긴급 특성은 대화를 인간 상담사에게 직접 할당하는 데 사용됩니다. 봇 플랫폼의 특성 기능은 사용자 발화에 존재하는 이러한 특성을 식별하는 것을 목표로 하며 의도 탐지를 위해 특성 기능을 사용하고 이러한 특성으로 봇 정의를 사용자 정의합니다.
사용 사례
항공편 예약 봇에는 선호 비용에 따라 항공편을 예약하기 위한 추가 요구 사항이 있을 수 있습니다. 사용자 발화: 런던행 저가 옵션을 찾고 있습니다의 경우 유효한 항공편을 주문하고 가장 저렴한 티켓을 선택해야 합니다. 다음을 통해 이를 달성할 수 있습니다.
- 저가라는 발화로 학습시킨 특성 이코노미가 있는 여행 클래스라는 특성 유형을 추가합니다.
- 이코노미 특성이 있는 경우 항공편 예약에 규칙 추가가 트리거됩니다.
- 컨텍스트에 특성 이코노미가 있는 경우 전환 조건을 추가합니다.
구성
특성 설정에는 다음이 포함됩니다.
- 특성 정의
- 특성 연관 규칙
- 특성 탐지
특성 정의
특성을 정의하려면 빌드 상단 메뉴의 왼쪽 메뉴에서 자연어 –> 학습을 클릭하고 특성 탭을 선택합니다. 다음은 특성을 정의할 때 고려해야 할 주요 기능입니다.
- 특성 유형은 위의 예의 여행 클래스 같은 관련 특성 모음입니다.
- 특성 유형은 ML 기반 또는 패턴 기반일 수 있습니다. 특성 유형의 각 특성은 유형에 따라 단어, 문구, 발화 또는 패턴을 사용하여 학습시킬 수 있습니다. 특성 유형 관리를 통해 학습 설정을 정의할 수 있습니다. ML 기반 특성 구성은 아래를 참조하세요.
- 특성 유형은 하나 이상의 특성을 가질 수 있습니다.
- 특성 이름은 그룹 내에서 하나뿐인 것이어야 합니다. 그러나 여러 그룹에 같은 이름을 가진 특성이 존재할 수 있습니다.
- ML 기반 특성의 경우, 특성을 식별하는 단어, 문구 또는 발화를 정의할 수 있습니다. ML 기반 특성 유형에 특성 유형당 하나의 특성을 탐지합니다.
- 패턴 기반 특성의 경우, 주어진 특성과 연관된 패턴을 정의할 수 있습니다. 패턴 기반 특성 유형에 여러 특성이 탐지될 가능성이 있습니다. 특성 유형 내의 특성 순서 지정은 특성 유형에서 특성의 중요성을 나타내며 하나의 특성만 감지합니다.
- 추가되고 나면, 사용자 발화에서 특성을 탐지하도록 봇을 학습시킵니다.
참고 사항:
- 다국어 봇의 경우 언어별 특성을 추가할 수 있습니다.
- 특성 이름을 수정하고 나면 해당 특성으로 정의된 모든 규칙이 수정되었는지 확인하세요. 수동으로 작업해야 하며 플랫폼에서 자동 처리하지 않습니다.
- 특성 이름은 그룹 내에서 유일해야 합니다.
- 같은 이름을 가진 특성이 여러 그룹에 존재할 수 있지만, 특성 규칙이나 특성 탐지 결과에서 이들을 구별하기는 어렵습니다.
특성 – ML 모델
ML 모델로 특성을 학습시킬 때는 기본적으로 n-그램 모델이 사용됩니다. n-그램은 모델 학습을 위해 학습 문장에서 사용하는 연속적인 단어 시퀀스입니다. 그러나 이는 말뭉치가 매우 적거나, 학습 문장에 더 적은 수의 단어가 포함되어 있는 경우, 일반적으로는, 효과적이지 않을 수 있습니다. 플랫폼 v8.0부터 n-그램 모델을 건너뛰거나 사용할 수 있는 옵션이 포함되어 있습니다. 또한 n-그램 알고리즘을 매개 변수화하는 옵션이 포함되어 있습니다.
- n-그램 옵션을 선택하면, n-그램의 최대값을 설정하여 n-그램 시퀀스 길이를 구성할 수 있습니다. 기본적으로 1로 설정되며 1에서 5 사이의 정수 값으로 설정할 수 있습니다.
- 스킵-그램을 선택하면 다음을 설정할 수 있습니다.
- 비연속 시퀀스에 포함될 단어 수를 지정하는 시퀀스 길이. 기본적으로 2로 설정되며 2에서 4 사이의 정수 값을 가질 수 있습니다.
- 연속하지 않은 단어 시퀀스를 형성하기 위해 건너뛸 수 있는 단어 수의 최대 스킵 거리입니다. 기본적으로 1로 설정되며 1에서 3 사이의 정수 값을 가질 수 있습니다.
참고: 설정은 모든 언어(다국어 봇의 경우)에 대해 같지만 중국어 및 한국어와 같은 일부 언어의 경우 문자 시퀀스는 그램을 형성하고 기타(라틴 기반) 언어의 경우에는 단어 그램입니다.
특성 연관 규칙
특성 규칙은 대화 실행 및 지식 그래프 의도 탐지를 정의합니다.
대화 실행
ML 발화 및 패턴과 함께 특성을 사용하여 의도 탐지 또는 대화 실행을 수행합니다. 이를 달성하려면, 규칙을 추가하여 의도가 필수 특성과 연결되어야 합니다. 규칙을 추가하는 방법에는 여러 가지가 있습니다.
각 규칙에는 AND를 연산자로 사용하는 하나 이상의 조건이 있을 수 있습니다. 주어진 의도에 여러 특성 규칙을 정의할 수 있으며 규칙 중 하나라도 일치하는 경우 의도를 확실한 일치로 간주합니다.
지식 그래프 의도
지식 그래프 특성을 통한 발견 프로세스의 일부가 될 수도 있습니다. 이를 위해 각 용어 또는 노드는 특성과 연관시킬 수도 있습니다. 주어진 용어를 단일 특성과 연관시킬 수도 있습니다.
특성 탐지
그룹(특성 유형)에서 하나의 특성만 탐지하고 확실한 일치로 간주합니다. 탐지된 특성은 컨텍스트 개체에 포함됩니다. 식별된 하나뿐인 특성으로 컨텍스트를 채웁니다(특성 유형 참조 없이). 다음에서 이 정보를 사용할 수 있습니다.
- 의도 식별
- 대화 전환
- 엔티티 채우기
- 봇 정의
배치 테스트 보고서에는 의도 API 찾기처럼 탐지된 특성에 대한 정보도 포함됩니다.
의도 감지
순위 및 해결은 3개의 NL 엔진 및 속성에서 입력한 내용을 통해 가능한/확실한 매치를 분석하고 생각해 냅니다.
- 특성 규칙에 있는 모든 특성(지식 그래프의 경우 하나)이 탐지되는 경우에만 의도를 확실한 일치로 간주합니다.
- NL 검색은 탐지된 특성에 대한 정보를 포함하고 NLP 흐름은 탐지된 특성에 대한 정보를 보여줍니다.
대화 전환
특성을 사용하여 대화 흐름을 제어합니다. 대화의 경우, 연결 규칙은 특성 컨텍스트를 사용하여 정의합니다. 대화의 속성 패널에 있는 연결 탭에서 이 작업을 수행합니다. 특성 컨텍스트는 context.traits
를 사용하여 액세스합니다. 의도와 일치하는 모든 특성의 배열을 반환하므로 contains 조건이 사용됩니다.