Dialogflow의 항목 이해

1. 시작하기 전에

개체는 자연어 입력에서 유용한 데이터를 식별하고 추출하기 위한 Dialogflow의 메커니즘입니다. 인텐트는 특정 사용자 입력의 동기를 에이전트가 이해할 수 있게 해주고, 개체는 사용자가 언급하는 구체적인 정보 조각(주소부터 제품 이름, 단위가 포함된 양에 이르기까지 모든 것)을 포착하는 데 사용됩니다. 사용자의 요청에서 얻고자 하는 모든 중요한 데이터에는 해당되는 항목이 있습니다.

다음 목록에서는 세 가지 유형의 항목을 설명합니다.

  • Dialogflow에 포함된 시스템 개체를 사용하면 에이전트가 추가 구성 없이 광범위한 개념에 대한 정보를 추출할 수 있습니다. 예를 들어 시스템 개체는 자연어 입력에서 날짜, 시간, 위치를 추출하는 데 사용할 수 있습니다.
  • 개발자 개체는 사용자가 정의하며 시스템 개체가 다루지 않는 개념에 대한 정보를 추출합니다. 예를 들어 브랜드는 고유한 제품 이름 집합을 인식하기 위한 개발자 법인을 생성할 수 있습니다.
  • 세션 개체도 정의하며 특정 대화에만 적용됩니다. 예를 들어 예약 시 특정 사용자에게 제공되는 시간에 민감한 옵션을 나타내기 위한 세션 항목을 만들 수 있습니다.

기본 요건

계속하기 전에 다음 Codelab을 완료해야 합니다.

  1. Dialogflow로 약속 일정 만들기
  2. Dialogflow 챗봇을 Actions on Google과 통합하기

또한 Dialogflow로 챗봇 빌드 과정에 있는 다음 동영상에서 Dialogflow의 기본 개념과 구조를 파악해야 합니다.

학습할 내용

  • Dialogflow에서 시스템 항목을 만들고 사용하는 방법
  • Dialogflow에서 개발자 엔티티를 만들고 사용하는 방법
  • 에이전트를 테스트하는 방법

빌드할 항목

  • 이미 빌드된 Dialogflow 에이전트의 향상된 버전
  • Dialogflow의 개발자 엔티티
  • Dialogflow의 시스템 항목

필요한 항목

  • Dialogflow 콘솔에 로그인할 웹브라우저 및 이메일 주소

2. Dialogflow에서 시스템 개체를 사용 설정하고 사용하는 방법

  1. Dialogflow 콘솔로 이동합니다.
  2. 이전에 만든 AppointmentScheduler 에이전트를 선택합니다.

ecedc445a9578e3b.png

  1. 인텐트를 클릭합니다.

37ee739b69fa1ae7.png

  1. 상담 일정 예약을 클릭하여 인텐트 설정을 엽니다.

날짜시간@sys.date@sys.time으로 자동 추출되는 'Set an appointment for 4 PM tomorrow'(내일 오후 4시에 약속 설정)과 같은 학습 문구가 표시됩니다. 학습 문구를 더 추가하여 Dialogflow가 시스템 개체를 자동으로 추출하는 방식을 확인해 보세요.

7dcdad1372191f90.png

보셨듯이 시스템 개체를 사용하면 에이전트가 추가 구성 없이 광범위한 개념에 대한 정보를 추출할 수 있습니다. 주소, 이메일, 통화, 전화번호와 같은 데이터는 일반적인 시스템 엔티티의 예입니다. 자세한 내용은 시스템 항목을 참고하세요.

3. Dialogflow에서 개발자 엔티티를 사용 설정하고 사용하는 방법

개발자 개체 만들기

지금까지는 약속 일정 도구를 일반적인 방식으로 언급했습니다. 이제 스케줄러가 주로 운전면허증 및 등록 서비스를 제공하는 주의 차량 관리국 사무실용이라고 가정해 보겠습니다. 이러한 항목을 만듭니다.

  1. 항목을 클릭합니다.

4d8924f1d4edc0d1.png

  1. 항목 만들기를 클릭합니다.

b77e94e5e47adbc7.png

  1. 항목 이름으로 'AppointmentType'을 입력한 다음 다음 이미지에 표시된 것처럼 동의어가 몇 개 있는 참조 값 두 개('Vehicle registration' 및 'Driver license')를 추가합니다. 저장을 클릭합니다.

51562b4327dbaf1.png

엔티티 유형으로 더 많은 서비스가 포함된 행을 추가할 수 있습니다.

  1. 저장을 클릭합니다.

새로 만든 개발자 항목을 수용하도록 인텐트 수정

  1. 인텐트를 클릭합니다.
  2. '내일 오후 3시에 운전면허증 약속을 잡아 줘'를 약속 일정 인텐트에 입력합니다.

운전면허증, 오후 3시, 내일이 개발자 및 시스템 항목으로 자동 인식됩니다.

5fb91b31806f06f.png

  1. 다음 학습 문구를 입력합니다.
  2. 월요일 면허 갱신 예약
  3. 월요일 오후 2시에 라이선스 관련 약속 설정해 줘
  4. 월요일 차량 등록 예약

5addff06908c61f8.png

  1. 시간 및 날짜와 마찬가지로 AppointmentType을 필수 필드로 만들어야 합니다. 이렇게 하려면 작업 및 매개변수로 이동한 다음 AppointmentType 행에서 체크박스를 선택합니다.

c43e72c5c1a43f5c.png

  1. '어떤 서비스를 원하시나요?'와 같은 프롬프트를 추가합니다. DMV에서는 운전면허증 및 차량 등록 서비스를 제공합니다.' 사용자가 약속 유형을 제공하지 않으면 프롬프트가 사용됩니다.
  2. 저장을 클릭합니다.

4. 챗봇 테스트

Actions 시뮬레이터에서 챗봇을 테스트하거나 이전에 배운 웹 또는 Google Home 통합을 사용할 수 있습니다.

테스트 사례 1

이 경우 사용자는 세 가지 정보 없이 약속을 설정해 달라고만 요청하므로 Dialogflow는 설정한 슬롯 채우기 프롬프트를 사용하여 날짜, 시간, 약속 유형을 묻습니다.

  1. 사용자: '약속 설정해 줘.'
  2. 챗봇: '언제?'
  3. 사용자: '5월 23일'
  4. 챗봇: '몇 시에 방문하시겠어요?'
  5. 사용자: "오전 10시"
  6. 챗봇: '어떤 서비스를 이용하고 싶으신가요? DMV에서는 운전면허증 및 차량 등록 서비스를 제공합니다.'
  7. 사용자: '라이선스'
  8. 챗봇: '2019년 5월 23일 10시 0분에 자동차 등록 예약이 완료되었습니다. 그때 뵙겠습니다.'

테스트 사례 2

이 경우 사용자가 부분적인 정보로 약속을 설정해 달라고 요청하므로 Dialogflow는 설정된 슬롯 채우기 프롬프트를 사용하여 날짜, 시간, 약속 유형을 묻습니다.

  1. 사용자: '내일 오후 4시에 약속이 필요해.'
  2. 챗봇: '어떤 서비스를 이용하고 싶으신가요? DMV에서는 운전면허증 및 차량 등록 서비스를 제공합니다.'
  3. 사용자: '라이선스'
  4. 챗봇: '2019년 4월 24일 16시 0분에 운전면허증 예약이 완료되었습니다. 그때 뵙겠습니다.'

테스트 사례 3

이 경우 사용자가 모든 정보를 제공합니다. Dialogflow는 정보를 처리하고 약속 확인이 포함된 응답을 제공합니다.

  1. 사용자: "내일 오후 2시에 차량 등록 약속을 잡아 줘."
  2. 챗봇: '2019년 4월 24일 14시 00분 00초에 차량 등록 예약이 완료되었습니다. 그때 뵙겠습니다.'

5. 삭제

다른 Dialogflow Codelab을 완료할 계획이라면 지금은 이 섹션을 건너뛰고 나중에 다시 돌아오세요.

Dialogflow 에이전트 삭제

  • 기존 상담사 옆에 있는 fe9c61cc27fb9f2e.png 아이콘을 클릭합니다.

520c1c6bb9f46ea6.png

  • 일반 탭에서 하단으로 스크롤하여 이 에이전트 삭제를 클릭합니다.
  • 대화상자에 삭제를 입력하고 삭제를 클릭합니다.

6. 축하합니다

개발자 엔티티를 사용하여 맞춤 입력을 처리하는 챗봇을 빌드했습니다. 이제 챗봇 개발자가 되었습니다.

자세히 알아보기

자세한 내용은 다음 리소스를 참고하세요.