대화형 작업이 2023년 6월 13일부터 지원 중단됩니다. 자세한 내용은 대화 작업 지원 중단을 참고하세요.

유형

유형을 사용하면 사용자 입력에서 구조화된 데이터를 추출하도록 어시스턴트 NLU (자연어 이해) 엔진을 구성할 수 있습니다. 다음과 같은 상황에서 유형을 사용할 수 있습니다.

  • 인텐트에서 학습 문구에 유형을 주석 처리하여 슬롯을 만들 수 있습니다. 사용자가 슬롯과 일치하는 내용을 말하면 NLU 엔진이 이를 입력된 매개변수로 추출하므로 이를 장면에서 처리할 수 있습니다.

  • 장면의 슬롯 채우기 단계 내에서 사용자가 장면에서 전환하거나 나가기 전에 제공할 슬롯을 여러 개 지정할 수 있습니다.

  • 장면의 조건 단계에서는 매개변수에 유형에 정의된 특정 값이 있는지에 따라 로직을 작성할 수 있습니다.

커스텀 유형

커스텀 유형을 사용하면 고유한 유형 사양을 만들어 단일 키에 값 집합을 할당하도록 NLU에 알릴 수 있습니다. 다음과 같은 다양한 방법으로 유형을 지정할 수 있습니다.

  • 단어 및 동의어를 사용하면 항목 여러 개를 단일 키에 매핑할 수 있습니다. 유형에는 하나 이상의 항목이 포함될 수 있습니다. 이 옵션을 선택하면 다음 NLU 설정도 사용 설정할 수 있습니다.
    • 퍼지 일치 사용 설정 - 이 기능을 사용하면 단어가 다른 순서로 발음된 경우에도 단어가 두 개 이상인 항목을 일치시킬 수 있습니다.
    • 알 수 없는 값 허용 - 가능한 모든 값을 지정할 수 없는 경우 언어 프로세서는 식료품 목록에 추가될 수 있는 항목과 같은 주변 입력 및 인텐트 학습 데이터를 기반으로 알 수 없는 단어나 구문을 허용할 수 있습니다.
  • 정규 표현식을 사용하면 유형에서 Google의 RE2 표준을 기반으로 정규 표현식 패턴을 사용하여 값을 일치시킬 수 있습니다.
  • 자유 형식 텍스트를 사용하면 이 유형이 사용자가 말하는 모든 내용과 일치할 수 있습니다. 이 유형으로 인텐트를 주석 처리하면 모든 입력을 자체 NLU로 전달할 수 있는 매개변수로 사용할 수 있습니다.

시스템 유형

시스템 유형을 사용하면 시스템에서 제공하는 학습 데이터와 값을 사용하여 사용자 입력에서 잘 알려진 데이터에 주석을 달고 추출할 수 있습니다. 다음과 같은 시스템 유형이 지원됩니다.

유형 설명
actions.type.DateTime 사용자의 기기 설정에 따른 날짜, 시간, 표준 시간대 포함 슬롯 채우기 및 학습 문구 주석에 사용할 수 있습니다.
actions.type.Date 날짜만 포함됩니다. 슬롯 채우기에만 사용할 수 있습니다.
actions.type.Time 시간만 포함됩니다. 슬롯 채우기에만 사용할 수 있습니다.
actions.type.Number Number 유형은 서수 및 카디널 숫자와 일치합니다.

DateTime, Date, Time 사용량

이러한 유형은 유형 사용 유형과 유형과 일치하는 사용자 입력에 따라 다르게 작동합니다.

인텐트와 함께 사용

인텐트에 학습 문구에 주석을 달면 DateTime 유형만 지원됩니다. 사용자 입력이 전체 DateTime 값과 일치할 필요는 없습니다. 예를 들어 사용자가 연도만 제공하면 세션 매개변수는 다음과 같을 수 있습니다.

"date_time": {
  "year": 2019
}

슬롯 채우기와 함께 사용

슬롯 채우기는 DateTime, Date, Time를 지원합니다.

  • 슬롯 유형이 DateTime이면 어시스턴트는 전체 값이 제공될 때까지 사용자에게 메시지를 표시합니다.
  • 슬롯 유형이 Date이면 어시스턴트는 날짜 값이 제공될 때까지 사용자에게 메시지를 표시합니다. 수집되면 수신되는 매개변수는 완전한 DateTime이며 시간은 00:00으로 설정됩니다.
  • 슬롯 유형이 Time이면 어시스턴트는 시간 값이 제공될 때까지 사용자에게 메시지를 표시합니다. 수집된 매개변수는 날짜가 현재 날짜로 설정된 전체 DateTime 객체입니다.

예를 들어 로스앤젤레스에 있는 사용자가 "Hey Google, 2024년 1월 15일 오후 8시에 리마인더 만들어 줘"라고 가정해 보겠습니다. DateTime가 슬롯 채우기 프로세스의 일부로 추출되면 전체 매개변수가 다음과 같을 수 있습니다.

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

조건과 함께 사용

조건은 숫자와 문자열만 사용할 수 있으므로, 최상위 DateTime 매개변수를 사용하면 조건에 대해 False 결과가 반환됩니다. 예:

  • $session.params.my_dateTime.day > 5는 유효한 조건입니다. day 값이 숫자이고 지원되기 때문입니다.
  • 최상위 'DateTime' 객체는 숫자나 문자열이 아니므로 $session.params.my_dateTime > "01-01-2010"는 잘못된 조건입니다.

런타임 유형 재정의

런타임 유형 재정의를 사용하면 fulfillment에서 유형을 동적으로 만들거나 수정할 수 있습니다. 이 기능을 사용하면 런타임에 유형 사양을 추가하거나 대체할 수 있습니다. 예를 들어 백엔드 데이터 소스를 확인하여 처리의 일일 메뉴 항목을 유형으로 로드할 수 있습니다.

유형 재정의를 빌드하는 방법에 관한 자세한 내용은 웹훅 가이드를 참고하세요.