인텐트 만들기
인텐트 만들기
인텐트(Intent)는 한 번의 대화 턴에서 사용자가 가진 의도를 분류하는 단위예요. Dialogflow CX가 사용자의 입력을 인텐트로 맞춰 보는 과정이 자연어 이해의 핵심이에요.
출처: https://cloud.google.com/dialogflow/cx/docs/concept/intent
인텐트가 담는 것
인텐트는 크게 네 가지를 담아요.
- 표시 이름(Display name): 콘솔에 보이는 인텐트 이름.
- 라벨(Label): 인텐트를 분류하는 태그. 예를 들어 head intent라는 라벨로 구분할 수 있어요.
- 학습 문구(Training phrases): 사용자가 실제로 말할 법한 예시 문장들. 입력이 이 문구와 비슷하면 Dialogflow CX가 인텐트로 매칭해요.
- 파라미터(Parameter): 문구에서 추출할 엔티티 값.
매칭 방식과 신뢰도 점수
Dialogflow CX는 입력을 어떤 인텐트에 맞출지 점수로 판단해요. 이걸 **인텐트 탐지 신뢰도(confidence score)**라고 하고, 범위는 0.0(완전히 불확실)부터 1.0(완전히 확실)까지예요.
매칭 결과는 두 가지로 갈려요.
- 가장 높은 점수의 인텐트가 분류 임계값(classification threshold) 이상이면 그 인텐트로 매칭돼요.
- 모든 인텐트가 임계값에 미달하면 no-match 이벤트가 발생해요.
예를 들어 사용자의 좋아하는 색을 알아내는 인텐트를 만든다면, "I like red", "My favorite color is yellow", "black", "Blue is my favorite" 같은 학습 문구를 넣어요.
학습 문구 자동 생성
수동으로 입력하는 대신 AI 생성으로 학습 문구를 자동으로 만들 수도 있어요. Manage 탭 → Intents로 가서 이 기능을 켜면, 예시를 몇 개 넣었을 때 유사한 표현을 자동으로 보강해 줘요.
파라미터 주석 달기
문구에서 엔티티를 뽑으려면 부분을 선택해 엔티티 타입으로 주석(annotation)을 달아요. 그러면 파라미터 테이블에 파라미터가 자동 생성돼요. API로 에이전트를 만들 때는 문구 부분을 수동으로 주석해야 해요.
더 알아보기
- 대화 흐름 설계는 «플로와 페이지»를 보세요.
- 외부 연동은 «웹훅으로 백엔드 연동하기»에서 다뤄요.