https://cloud.google.com/dialogflow/es/docs/basics ← 공식 문서를 참고하여 정리함

  • DialogFlow를 통해 사용자가 사용하는 자연어를 해석, 처리할 수 있다.

 

에이전트

  • 사용자와의 대화를 처리하는 가상 에이전트
  • 자연어 이해 모듈
  • 사용자의 텍스트/오디오 → 구조화된 데이터로 변환

 

인텐트

  • 한 번의 대화 차례를 위한 사용자의 의도 분류
  • 각 에이전트에 대해 다수의 인텐트 정의
  • Dialogflow는 최종 사용자 표현을 에이전트에서 가장 유사한 인텐트와 일치시킴 (인텐트 분류)

ex. '예보는 어때?' → 예보 인텐트와 일치시키기

  • 인텐트에 포함되는 사항
    1. 학습 문구 : 사용자가 말할 가능성 있는 예시 문구
    2. 작업 : 각 인텐트의 작업 정의 (인텐트 일치 시 Dialogflow가 시스템에 작업 제공)
    3. 매개변수 : 인텐트 일치 시 최종 사용자 표현에서 추출된 값 제공
    4. 응답 : 사용자에게 반환할 텍스트, 음성, 시각적 응답 등
  • 인텐트 일치 및 최종 사용자 응답에 대한 기본 흐름 :

항목

  • 각 인텐트 매개변수에 있는 '개체 유형' → 최종 사용자 표현에서 데이터를 추출하는 방법을 정확하게 지정함
  • 사전 정의된 시스템 항목 제공 (ex. 시간, 색상, 이메일 주소 등)
  • 커스텀 데이터와 일치시킬 커스텀 항목을 직접 만들 수도 있다.

 

컨텍스트

  • 최종 사용자 표현을 인텐트에 정확하게 일치시키기 위해 제공되어야 함
  • 입력 및 출력 컨텍스트를 설정 → 인텐트의 컨텍스트 구성
  • 인텐트 일치 → 출력 컨텍스트 활성화

ex. 금융 에이전트에 컨텍스트를 사용하는 예시

  1. 사용자가 예금 계좌에 대한 정보 요청
  2. Dialogflow가 최종 사용자 표현을 CheckingInfo 인텐트와 일치시킴 → 해당 인텐트에 checking 출력 컨텍스트가 있으므로 활성화됨
  3. 에이전트가 사용자에게 예금 계좌에 대해 필요한 정보 유형 요청
  4. 사용자가 '잔액'이라고 응답
  5. Dialogfow가 최종 사용자 표현을 CheckingBalance 인텐트와 일치시킴 → 해당 인텐트에 checking 입력 컨텍스트가 있음. 이 컨텍스트가 활성화된 상태여야 이 인텐트와 일치시킬 수 있다.
  6. 시스템이 필요한 쿼리를 수행 → 에이전트가 예금 잔액 응답

 

통합을 위한 fulfillment

  • 기본적으로 정적 응답에 일치하는 인텐트에 응답함
  • 통합 옵션 사용 → 보다 동적인 응답 제공 가능
  • fulfillment가 사용 설정된 인텐트와 일치하는 경우 → Dialogflow가 일치된 인텐트에 대한 정보와 함께 웹훅 서비스에 요청을 보냄
  • fulfillment 처리 흐름을 나타낸 다이어그램 :

  1. 사용자가 표현을 입력하거나 말함
  2. Dialogflow가 최종 사용자 표현을 인텐트와 일치시키고 매개변수 추출
  3. Dialogflow가 웹훅 서비스에 웹훅 요청 메세지 전달 (일치하는 인텐트, 작업, 매개변수, 인텐트에 정의된 응답에 대한 정보 등 포함)
  4. 서비스가 필요에 따라 DB 쿼리 또는 외부 API 호출 등의 작업 수행
  5. 서비스에서 Dialogflow에 웹훅 요청 보냄 (사용자에게 전송되어야 하는 응답 포함)
  6. Dialogflow가 이 응답을 사용자에게 전달
  7. 사용자가 응답을 보거나 듣는다.

 

API와의 사용자 상호작용

  • 통합 옵션 중 하나를 사용하지 않는다면 사용자와 직접 상호작용하는 코드를 작성해야한다.
  • API와 상호작용하는 경우 처리 흐름을 나타낸 다이어그램 :

  1. 사용자가 표현을 입력하거나 말함
  2. 서비스가 최종 사용자 표현을 Dialogflow에 인텐트 탐지 요청 메세지로 전달
  3. Dialogflow가 서비스에 인텐트 감지 응답 메세지를 보냄 (일치하는 인텐트, 작업, 매개변수, 인텐트에 정의된 응답에 대한 정보 포함)
  4. 서비스가 필요에 따라 DB 쿼리 또는 외부 API 호출 등 작업 수행
  5. 서비스가 사용자에게 응답 보냄
  6. 사용자가 응답을 보거나 듣는다.

'Google > Dialogflow' 카테고리의 다른 글

Google Dialogflow 세팅하기  (0) 2021.07.14

+ Recent posts