인텐트는 한 번의 대화 차례를 위한 최종 사용자의 의도를 분류합니다. 각 에이전트에 대해 다수의 인텐트를 정의합니다. 조합된 인텐트는 전체 대화를 처리할 수 있습니다. 최종 사용자가 최종 사용자 표현이라고 하는 무언가를 쓰거나 말하면 Dialogflow는 최종 사용자 표현을 에이전트에서 가장 유사한 인텐트와 일치시킵니다. 인텐트 일치를 인텐트 분류라고도 합니다.
예를 들어 날씨에 대한 최종 사용자 질문을 인식하여 응답하는 날씨 에이전트를 만들 수 있습니다. 이 경우 일기 예보에 대한 질문의 인텐트를 정의하는 것이 좋습니다. 최종 사용자가 '예보는 어때?'라고 말하면 Dialogflow는 이 최종 사용자 표현을 예보 인텐트와 일치시킵니다. 최종 사용자 표현에서 원하는 일기 예보의 시간이나 위치와 같은 유용한 정보를 추출하는 인텐트를 정의할 수도 있습니다. 추출된 데이터는 시스템이 최종 사용자의 날씨 쿼리를 수행하는 데 중요합니다.
기본 인텐트에는 다음이 포함됩니다.
- 학습 문구: 최종 사용자가 말할 가능성이 있는 예시 문구입니다. 최종 사용자 표현이 이러한 문구 중 하나와 유사한 경우 Dialogflow는 인텐트를 일치시킵니다. Dialogflow의 기본 제공 머신러닝이 다른 비슷한 문구로 목록을 확장하므로 가능한 모든 예시를 정의할 필요는 없습니다.
- 작업: 각 인텐트의 작업을 정의합니다. 인텐트가 일치하면 Dialogflow가 시스템에 작업을 제공하고, 사용자는 이 작업을 사용하여 시스템에 정의된 특정 작업을 트리거할 수 있습니다.
- 매개변수: 런타임에서 인텐트가 일치하면 Dialogflow는 최종 사용자 표현에서 추출된 값을 매개변수로 제공합니다. 각 매개변수에는 항목 유형이라는 유형이 있어 데이터를 추출하는 방법을 정확하게 지정합니다. 원시 최종 사용자 입력과 달리 매개변수는 일부 로직을 수행하거나 응답을 생성할 때 손쉽게 사용할 수 있는 구조화된 데이터입니다.
- 응답: 최종 사용자에게 반환할 텍스트, 음성, 시각적 응답을 정의합니다. 최종 사용자에게 응답을 제공하거나 추가 정보를 요청하거나 대화를 종료할 수 있습니다.
다음 다이어그램은 인텐트 일치 및 최종 사용자 응답에 대한 기본 흐름을 보여줍니다.
보다 복잡한 인텐트에는 다음이 포함될 수도 있습니다.
- 컨텍스트: Dialogflow 컨텍스트는 자연어 컨텍스트와 비슷합니다. 누군가 여러분에게 'they are orange'라고 말한다면 무엇을 가리켜 하는 말인지 이해하기 위해서는 컨텍스트가 필요합니다. 마찬가지로, Dialogflow도 이와 같은 최종 사용자 표현을 처리하려면 인텐트를 정확하게 일치시키기 위한 컨텍스트를 받아야 합니다.
- 이벤트: 이벤트를 사용하면 최종 사용자가 전달하는 내용 대신 발생한 일을 기반으로 인텐트를 호출할 수 있습니다.