작업 정의 (Dialogflow)

Dialogflow에서 작업을 정의하려면 Dialogflow 에이전트에 인텐트를 만들고 이를 작업의 진입점으로 할당합니다. 다음과 같은 유형의 작업을 만들 수 있습니다.

  • 기본 작업: 모든 Dialogflow 에이전트에는 사용자가 작업의 이름으로 작업을 요청할 때 호출되는 작업이 하나만 있어야 합니다 (예: "Hey Google. Google에 관한 사실 또는 "Hey Google. Google에 관한 사실에 대해 이야기해 보겠습니다.").
  • 대화에 딥 링크를 연결할 추가 인텐트: 이러한 작업은 사용자가 작업 이름으로 작업을 호출하고 호출 문구를 지정할 때 트리거됩니다 (예: '역사적 사실에 관해 Google에 관해 상담하기').

이러한 호출 모델의 작동 방식에 관한 자세한 내용은 인텐트 및 호출을 참고하세요.

기본 작업 정의

모든 Dialogflow 에이전트에는 GOOGLE_ASSISTANT_WELCOME 이벤트를 처리하는 인텐트가 하나만 있어야 합니다. 이 인텐트는 사용자가 이름으로 작업을 호출할 때 (예: "Hey Google, Google에 관한 사실 알려 줘") 트리거됩니다.

다음과 같은 방법으로 GOOGLE_ASSISTANT_WELCOME 이벤트를 정의할 수 있습니다.

Dialogflow 콘솔의 인텐트 편집기에서:

  1. 탐색 메뉴에서 인텐트를 클릭합니다.
  2. 시작 이벤트로 설정할 인텐트를 선택합니다.
  3. 인텐트의 이벤트 섹션에 GOOGLE_ASSISTANT_WELCOME를 입력합니다.
  4. 저장을 클릭합니다.

    그림 1. Dialogflow 인텐트의 이벤트 섹션 스크린샷

Google 어시스턴트 통합 모달 창에서:

  1. 탐색 메뉴에서 통합을 클릭하고 Google 어시스턴트를 클릭합니다.
  2. X를 클릭하여 명시적 호출 필드에서 현재 항목을 삭제합니다.
  3. 시작 인텐트 상자에서 시작 이벤트로 설정할 인텐트를 선택합니다.

    그림 2. Dialogflow 콘솔의 Google 어시스턴트 통합 모달 창 스크린샷

인텐트의 이벤트 섹션을 보면 이제 인텐트에 GOOGLE_ASSISTANT_WELCOME 이벤트가 설정되어 있음을 알 수 있습니다 (그림 1 참고).

처리 사용 설정

기본적으로 Dialogflow 인텐트는 인텐트의 응답 섹션에 지정된 정적 응답을 반환합니다. 이 설정은 호출 시 동일한 메시지로만 응답해야 하는 간단한 작업에 충분할 수 있습니다. 그러나 인텐트가 동적 응답을 반환하도록 하려면 복잡한 로직을 처리하고 인텐트의 응답을 실시간으로 작성할 수 있는 처리를 제공해야 합니다.

인텐트에 fulfillment를 사용 설정하려면 다음을 수행합니다.

  1. 인텐트의 인텐트 편집기 하단으로 스크롤합니다.
  2. Fulfillment를 클릭하고 Enable webhook call for this intent(이 인텐트의 웹훅 호출 사용 설정)를 선택합니다.

    그림 3. Dialogflow 인텐트의 Fulfillment 섹션 스크린샷

인텐트가 트리거될 때 인텐트를 처리하는 방법은 빌드 처리를 참고하세요.

추가 작업 정의

대화의 진입점 역할을 하는 추가 작업을 제공할 수 있습니다. 이 설정을 통해 사용자는 자신이 하고 싶은 작업에 관한 세부정보를 지정할 수 있습니다 (예: 'Google에 관한 사실에 관해 이야기해서 역사적 사실 찾기').

Dialogflow에서 추가 작업을 정의하려면 다음 단계를 따르세요.

  1. 빌드하려는 특정 작업의 인텐트를 만듭니다.
  2. 인텐트의 학습 문구 섹션에서 이 작업을 트리거하는 패턴을 지정합니다. 예를 들어 "Talk to Facts about Google to find me history callss"라는 문구로 작업을 호출하려면 다음 학습 문구를 제공합니다.

    • "기록에 관한 진실을 찾아 줘"
    • "기록에 관한 사실 찾아보기"
    • "회사의 역사에 관한 정보를 알려 줘"
    • "본사 관련 사실 몇 가지 정보를 읽어 줘"
    • "본사에 관한 몇 가지 사실을 알려 줘."

    인텐트당 학습 문구를 10개 이상 사용하는 것이 좋습니다.

  3. 인텐트에 처리를 사용 설정하려면 화면 하단으로 스크롤하고 처리를 클릭한 후 이 인텐트의 웹훅 호출 사용 설정을 선택합니다. 처리에 관한 자세한 내용은 빌드 처리를 참고하세요.

  4. 저장을 클릭합니다.

  5. 탐색 메뉴에서 통합을 클릭하고 Google 어시스턴트를 클릭합니다. (Google 어시스턴트 모달 창이 나타남)

  6. 암시적 호출 섹션에서 인텐트를 추가합니다.

    그림 4. Google 어시스턴트 통합 모달 창에 있는 암시적 호출 섹션의 스크린샷

작업을 정의할 때 다음 제한사항 및 가이드라인이 적용됩니다.

  • 호출 구문에 예약어를 포함하지 않습니다.
    • 예를 들어 "talk to" 또는 "let me take to"로 호출 문구를 시작하지 마세요.
  • @sys.any 항목만 포함된 학습 문구는 지정하지 마세요.
    • find recipes for @sys.any과 같이 훨씬 더 구체적으로 지정합니다.

인식할 수 없는 작업 처리

사용자가 작업이 인식할 수 없는 작업을 호출하려고 하면 Dialogflow가 인텐트를 트리거하여 이러한 사례를 처리할 수 있습니다.

이 동작을 사용 설정하려면 입력 컨텍스트가 google_assistant_welcome인 새 인텐트를 만들고 사용자에게 적절한 응답을 지정합니다.

  1. 탐색 메뉴에서 인텐트를 클릭합니다.
  2. 인텐트 만들기를 클릭하고 인텐트의 이름을 지정합니다.
  3. 컨텍스트 섹션에서 google_assistant_welcome를 입력 컨텍스트로 지정하고 Enter 키를 누릅니다. (입력 컨텍스트를 입력하면 google_assistant_welcome이 출력 컨텍스트로 표시됩니다.)
  4. x를 클릭하여 해당 출력 컨텍스트를 삭제합니다.

  5. 학습 문구에서 banana (또는 다른 명사)를 사용자 표현식으로 추가합니다.

  6. banana를 더블클릭하고 @sys.any를 선택합니다. (여기서는 @sys.any 항목을 사용하여 Dialogflow에 표현식을 바나나뿐만 아니라 모든 문법으로 일반화하도록 지시합니다.)

  7. 응답 섹션에서 $any를 사용하여 응답을 지정합니다. 예를 들어 다음과 같은 응답을 사용합니다.

    • I'm sorry, I don't know how to help with $any.

  8. 저장을 클릭합니다.