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

인텐트

인텐트는 처리해야 하는 사용자 입력이나 처리해야 하는 시스템 이벤트와 같이 어시스턴트가 실행해야 하는 작업을 나타냅니다. 인텐트를 사용하여 호출대화 모델을 빌드합니다. 이러한 이벤트가 발생하면 어시스턴트 런타임에서 이를 상응하는 인텐트에 매칭하고 처리할 작업에 인텐트를 전송합니다. 인텐트에는 두 가지 기본 유형이 있으며 다음 목록에 설명되어 있습니다.

  • 사용자 인텐트를 사용하면 어시스턴트에서 브랜드 및 서비스와 관련된 사용자 요청을 이해하는 기능을 확장할 수 있습니다. 인텐트 내에서 커스텀 학습 문구를 정의하면 결과적으로 인텐트의 언어 모델이 생성됩니다. 이 언어 모델은 어시스턴트 NLU를 보강하여 더 많은 이해를 돕습니다.

  • 시스템 인텐트에는 학습 데이터 또는 어시스턴트가 정의한 기타 비대화형 입력 신호가 있습니다. 즉, 이러한 인텐트에 학습 문구를 정의할 필요가 없습니다. 어시스턴트는 기본 호출과 같은 잘 알려진 시스템 이벤트나 사용자가 입력을 제공하지 않는 경우 이러한 인텐트를 표준 방식으로 일치시킵니다.

그림 1. 일반적인 인텐트 일치 시나리오 사용자가 전역 인텐트와 일치하는 내용을 말합니다. 상응하는 장면이 활성화되고 결국 더 많은 사용자 입력이 소비됩니다. 다른 인텐트가 일치하여 다른 장면으로 전환하고 활성화합니다.

사용자 인텐트

작업을 빌드할 때 어시스턴트의 더 많은 이해 능력을 확장하는 학습 문구가 포함된 사용자 인텐트를 만듭니다. 어시스턴트는 학습 문구를 사용하여 사용자 요청을 작업에 위임할 때 NLU를 보강합니다.

이 경우 어시스턴트는 사용자와 작업 간의 통신을 중개하고 사용자 입력과 일치하는 언어 모델이 있는 인텐트에 사용자 입력을 매핑합니다. 그런 다음 어시스턴트는 매칭된 인텐트를 작업에 알리므로 장면 내에서 인텐트를 처리할 수 있습니다.

사용자 인텐트를 빌드할 때 다음 요소를 지정합니다.

  • 글로벌 인텐트 지정은 호출 시 및 대화 중에 어시스턴트 런타임이 지정된 사용자 인텐트와 일치할 수 있는지 여부를 정의합니다. 기본적으로 어시스턴트는 대화 중에만 사용자 인텐트를 일치시킬 수 있습니다. 전역으로 표시한 인텐트만 딥 링크 호출을 실행할 수 있습니다.

  • 학습 문구는 사용자가 인텐트와 일치시키기 위해 말할 수 있는 문구의 예입니다. 어시스턴트 NLU (자연어 이해) 엔진은 다른 유사한 문구를 포함하도록 이러한 학습 문구를 자연스럽게 확장합니다. 고품질 예를 많이 제공하면 인텐트의 품질과 일치 정확도가 높아집니다.

  • 매개변수는 사용자 입력에서 추출하고자 하는 입력 데이터입니다. 매개변수를 만들려면 학습 문구에 유형을 주석 처리하여 사용자 입력의 일부를 추출해야 한다고 NLU 엔진에 알립니다. 시스템 유형을 사용하거나 매개변수의 자체 커스텀 유형을 만들 수 있습니다.

사용자 입력에서 매개변수 일치를 감지하면 NLU 엔진이 값을 입력된 매개변수로 추출하므로 장면에서 이를 사용하여 로직을 실행할 수 있습니다. 인텐트 매개변수가 장면 슬롯과 동일한 이름을 가진 경우 어시스턴트 런타임은 인텐트 슬롯의 값으로 장면 슬롯을 자동으로 채웁니다. 자세한 내용은 슬롯 값 매핑 문서를 참고하세요.

인텐트 매개변수는 '부분' 일치도 지원합니다. 예를 들어 DateTime 유형을 지정하고 사용자가 날짜만 제공하는 경우에도 NLU는 부분 값을 매개변수로 추출합니다.

작업에 관한 모든 사용자 입력을 처리하기 위해 자체 NLU를 사용할 수 있습니다. 예를 들어 대화 중에 작업이 일치하지 않는 모든 시나리오에 응답해야 할 수 있습니다. 모든 사용자 입력을 캡처하려면 자유 형식 텍스트 유형으로 인텐트를 만듭니다. 그러나 맞춤 인텐트를 사용하면 어시스턴트의 일치하지 않는 기본 동작을 전역적으로 재정의하면 안 됩니다. 이렇게 하면 사용자가 작업 간에 이동하는 기능에 부정적인 영향을 미칠 수 있습니다.

Actions 콘솔에서 맞춤 인텐트를 만들 때 Actions Builder가 사용자 인텐트와 동일한 역할을 채울 수 있는 시스템 인텐트를 추천합니다. 시스템 인텐트에 관한 자세한 내용은 다음 섹션을 참고하세요.

시스템 인텐트

어시스턴트는 표준 시스템 이벤트를 기반으로 시스템 인텐트를 일치시킵니다. 이러한 이벤트에는 사용자가 미디어 플레이어를 일시중지하는 "일시중지"라고 말하는 것과 같은 시스템 정의 언어 모델이 있거나 사용자가 전혀 입력을 제공하지 않는 등의 언어 모델이 없을 수 있습니다. 이러한 인텐트는 어시스턴트에서 제공하므로 매칭 방법은 중요하지 않고 인텐트가 일치할 때 인텐트를 처리하는 방법만 신경 쓰면 됩니다.

시스템 인텐트는 YESNO와 같이 자주 필요한 작업에 사용자 인텐트를 만들지 않아도 됩니다. 시스템 인텐트는 모든 언어에 관해 학습되므로 여러 언어에서 사용자에게 보다 일관된 환경을 쉽게 구현할 수 있습니다. 시스템 인텐트는 전역 인텐트로 설정할 수도 있습니다.

시스템 인텐트는 버전이 지정됩니다. 특정 버전의 시스템 인텐트를 어시스턴트에서 지원하는 한 계속 사용할 수 있습니다. 작업이 지원되지 않는 버전의 시스템 인텐트를 사용하면 이 시스템 인텐트는 지원되는 버전으로 자동 업데이트됩니다.

인텐트 목록

인텐트 설명
actions.intent.MAIN 모든 작업 프로젝트에는 표시 이름에 연결된 이 기본 기본 호출이 포함되어야 합니다. 사용자는 "Hey Google, <표시 이름>에 연결해 줘"와 같은 문구를 말하여 작업을 호출합니다.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

이러한 인텐트는 사용자가 작업의 인텐트에 일치될 수 없는 것을 말하는 경우에 일치됩니다. 최종 인텐트에서 개별 프롬프트 및 종료 메시지를 설정할 수 있습니다.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

이러한 인텐트는 8초 후에 사용자의 입력이 없으면 일치됩니다. 각 인텐트에 대한 개별 메시지 및 최종 인텐트의 종료 메시지를 설정할 수 있습니다.

actions.intent.CANCEL 이 인텐트는 사용자가 "종료하고 싶어요."라고 말하는 등 대화 중에 작업을 종료하려고 할 때 연결됩니다.
actions.intent.MEDIA_STATUS_FINISHED 이 인텐트는 사용자가 미디어 재생을 완료하거나 다음 미디어로 건너뛰면 작업으로 전송되고 작업에 전송됩니다.
actions.intent.MEDIA_STATUS_PAUSED 이 인텐트는 사용자가 미디어 응답에서 미디어 재생을 일시중지할 때 매칭되어 작업에 전송됩니다.
actions.intent.MEDIA_STATUS_STOPPED 이 인텐트는 사용자가 미디어 응답에서 미디어 재생을 중지하거나 종료하면 작업과 일치하고 전송됩니다.
actions.intent.MEDIA_STATUS_FAILED 이 인텐트는 일치되고 미디어 응답의 플레이어가 재생되지 않으면 작업에 전송됩니다.
actions.intent.YES

이 인텐트는 사용자가 작업에 긍정적으로 응답하면 일치됩니다.

actions.intent.NO

이 인텐트는 사용자가 작업에 부정적인 응답을 제공하면 일치됩니다.

actions.intent.REPEAT

이 인텐트는 사용자가 작업에 마지막 응답을 반복하도록 요청할 때 일치됩니다. 반복을 요청하는 요청은 에이전트에서 시스템 인텐트가 사용 설정되지 않은 어시스턴트에 의해 자동으로 처리됩니다. 이 시스템 인텐트를 사용 설정하면 반복 요청 및 응답 처리 방법을 수정할 수 있습니다.

actions.intent.PLAY_GAME 이 인텐트는 사용자가 게임 플레이를 요청하면 매칭됩니다. 이 인텐트를 사용하면 Actions on Google에서 제공하는 암시적 호출 (표시 이름을 사용하지 않는 호출)을 선택할 수 있습니다.

다른 언어 지원 추가

YES, NO, NO_MATCH와 같은 특정 시스템 인텐트는 영어로만 지원됩니다.다른 언어 지원을 추가하려면 이러한 시스템 인텐트와 일치하는 사용자 인텐트를 만들어야 합니다. 새 인텐트는 개발자가 구현한 시스템 인텐트와 동일한 방식으로 코드에서 처리해야 합니다.

예를 들어 새로운 작업을 개발 중이고 YES 시스템 인텐트를 구현했다고 가정해 보겠습니다. YES 시스템 인텐트는 영어로만 지원되지만 앱에서 독일어 및 일본어로 된 상호작용을 지원하도록 할 수도 있습니다. 추가 언어를 지원하려면 독일어 및 일본어 학습 문구를 포함하는 인텐트를 만든 다음 YES 시스템 인텐트에 사용한 처리를 구현합니다.

사용자 인텐트 만들기에 관해 자세히 알아보세요.

사용자 인텐트 현지화에 대해 자세히 알아보세요.

일치하는 결과 없음

사용자의 응답이 인텐트 중 하나와 일치하지 않으면 어시스턴트는 입력을 처리하려고 시도합니다. 이 동작은 사용자가 대화 도중에 작업을 변경하는 것을 용이하게 합니다. 예를 들어 사용자가 "이번 주에 상영하는 영화는?"이라고 묻고 대화 도중 "내일 날씨 어때?"라고 변경합니다. 이 예에서는 '내일 날씨'가 최초 프롬프트에 의해 트리거된 대화에 유효한 응답이 아니므로 어시스턴트는 자동으로 일치를 처리하고 사용자를 적절한 대화로 이동하려고 시도합니다.

어시스턴트가 사용자의 입력과 일치하는 적절한 작업을 찾지 못하면 사용자는 작업의 컨텍스트 내에서 계속 진행합니다.

어시스턴트는 유효한 중단 시나리오에 응답하기 위해 작업을 중단할 수 있으므로 사용자 쿼리를 처리하기 위해 NO_MATCH 시스템 인텐트를 사용하면 안 됩니다. 사용자에게 다시 메시지를 표시할 때만 NO_MATCH 인텐트를 사용해야 합니다.