Dialogflow Dialog Control: Shape the flow of your conversation [Basics 3/3]

[음악 재생] DAN IMRIE-SITUNAYAKE : 이봐, 모두들 나는 Dan Imrie-Situnayake입니다

이것은 세 가지 동영상 중 세 번째입니다 Dialogflow의 기초를 가르쳐주고, 대화식 경험을 구축하기위한 멋진 도구 이 비디오에서 우리는 대화에 대해 이야기 할 것입니다 처음 두 개의 비디오는 어떻게 의도와 엔티티를 캡처하여 사용할 수 있습니다 귀하의 사용자가하고 싶은 일과 구체적인 일 언급하다

그러나 하나의 성명서를 작성하는 것보다 대화에 더 많은 것이 있습니다 그리고 하나의 회신을 받고 대화는 두 명의 화자가 협상하는 과정입니다 의미와 이해가 앞뒤로 반복됩니다 시간이 지남에 따라 앞뒤로 대화라고 부릅니다

가장 단순한 경험 이상의 무엇이든을 위해, 당신은 대화를 만들 것입니다 Dialogflow에서 대화가 어떻게 작동하는지 살펴 보겠습니다 고려해야 할 두 가지 유형의 대화가 있습니다 우리는 선형 대화와 비선형 대화를 가지고 있습니다 선형 대화 상자가 프로세스에서 사용됩니다

모든 정보 수집 필요한 조치를 완료하는 데 필요한 약속을 예약하거나 주문하기 비선형 대화가 더 가까이에 있습니다 나뭇 가지, 단도직입과 함께 진짜 대화로 문맥의 변화에 ​​따라 선형 대화를 자세히 살펴 보겠습니다 우리가 대리인에게 수리 약속을 예약하도록 요청한다고 상상해보십시오 자전거

요원이 우리를 도울 수 있기 전에 몇 가지 사항을 알아야합니다 필요한 서비스 유형, 날짜 W 시간 사용자가 이 모든 정보를 한 문장으로 내일 펑크를 고치는 약속을하고 싶습니다 오후 4시 이 경우, 우리는 이제 그들이 필요로하는 서비스 유형을 알고 있습니다

날짜 및 시간을 사용하여 요청을 만족시킬 수 있습니다 그러나 사용자가 우리에게 정보의 일부만 준 경우 어떻게합니까? 금요일 오후 2시에 약속을 예약하고 싶습니다 우리에게는 날짜와 시간이 있지만 우리는 여전히 서비스 유형이 필요합니다 다행히 Dialogflow가 도움이 될 수 있습니다 인 텐트에 엔티티를 추가 할 때, 필요에 따라 표시 할 수 있습니다

즉, 사용자가 무언가를 말하지 않으면 첫 번째 문장에서 Dialogflow는 자동으로 필요한 정보를 요구하고, 프롬프트가 자연 스럽도록 사용자 정의 할 수 있습니다 우리는이 feature slot filling이라고 부릅니다 필요에 따라 서비스 유형, 날짜 및 시간을 표시한다고 가정 해 보겠습니다 현재 서비스 유형이 누락되어 있으므로, Dialogflow가이를 묻습니다 스피커 : 자전거에는 어떤 유형의 서비스가 필요합니까? 단 IMRIE-SITUNAYAKE : 그것은 구멍이 있습니다

고마워, 펑크 복구를 계획 중이 야 이 금요일 오후 2시 DAN IMRIE-SITUNAYAKE : 슬롯 채우기 엄청나게 강력 할 수 있습니다 가능한 수천 개의 대화 경로를 지원할 수 있습니다 몇 상자 만 확인하면됩니다

사용자는 돌아가서 변경할 수 있습니다 그들이 이미 설정 한 것들 다른 상호 작용이 일어나고 있습니다 나는 약속을 원해 스피커 : 자전거에는 어떤 유형의 서비스가 필요합니까? 단 IMRIE-SITUNAYAKE : 그것은 구멍이 있습니다

연사 : 어떤 날짜에 응할 수 있습니까? DAN IMRIE-SITUNAYAKE : 이번 주 토요일 어때요? 몇시겠습니까? DAN IMRIE-SITUNAYAKE : 사실, 금요일에 오후 2시를 읽을 수 있습니까? 고마워 이번 금요일 오후 2시에 펑크 복구가 예정되어 있습니다 단 IMRIE-SITUNAYAKE : 선형 대화 꽤 인상적 일 수 있습니다 하지만 특정 세트가있을 때만 작동합니다 우리가 수집하고자하는 사실들

비선형 대화가 더 가까이에 있습니다 실생활의 대화로 사용자가 무언가를 말하면 이전에 말한 바에 따라 해석된다 설명하기 위해 예제를 보겠습니다 수리 약속을하고 싶습니다 내일 4시에 펑크

나는 당신에게 펑크 수리를 예약하고 있습니다 내일 오후 4시 그게 맞습니까? 단 IMRIE-SITUNAYAKE : 예 나는 당신에게 신호를 보내야합니까? 단 IMRIE-SITUNAYAKE : 네, 제발 윌

금요일에 단 IMRIE-SITUNAYAKE : 대화 우리는 두 개의 예 / 아니오 질문을 보았습니다 사용자가 첫 번째 질문에 대답하면, 우리 대리인은 사용자가 예약을 확인하고 있음을 알고 있습니다 결과적으로 알림을 보내는 것에 대해 묻습니다 사용자가 두 번째 질문에 대답하면, 우리 요원은 그들이 미리 알림을 확인하고 있음을 알고 있습니다

예약 어떤 질문에 대한 답변인지 알고 싶습니다 그리고 우리가 대화에서 어디에, Dialogflow는 컨텍스트라는 개념을 사용합니다 각각의 의도에 대해 다중 입력 및 출력을 정의 할 수 있습니다 문맥 이 경우 Google의 도서 수리 의도 출력 컨텍스트에서 수리를 확인합니다

특정 의도가 일치 할 때, 출력 컨텍스트가 첨부됩니다 현재 대화 상태로 전환합니다 이 경우 대화의 컨텍스트 이제 수리 확인을 포함하십시오 각 인 텐트에는 입력 컨텍스트가있을 수도 있습니다 인 텐트가 입력 컨텍스트 확인 복구를 지정하는 경우, 수리를 확인하는 경우에만 일치합니다

컨텍스트가 현재 대화에 첨부되어 있습니다 이 예에서는 네 가지 예가 있습니다 또는 아니요 그러나 그 중 2 명은 수리를 확인하는 데 예 또는 아니오이며, 다른 하나는 예 또는 아니오로 알림을 보내는 것입니다 컨텍스트를 사용하여 적절한 의도 만 보장 할 수 있습니다

일치 입력 컨텍스트 확인 복구를 추가합니다 우리의 수선에 예 의도에 따라 출력 컨텍스트도 추가합니다 알림을 확인하십시오

그런 다음 입력 컨텍스트 확인 알림을 추가합니다 우리의 알림에 눈과 의도는 없습니다 우리는 두 가지 인 텐트 입력 컨텍스트를 설정하는 방법 때문에, repairyes 또는 no intents는 책 수리 의도와 알림 뒤에 일치 또는 repair

yes 이후에만 의도가 일치하지 않습니다 필터 역할을하는 것 외에도, 컨텍스트는 의도 일치에 편향을 적용합니다 그래서 두 가지 옵션, Dialogflow 주어진 사용자와 일치 할 확률이 높을 것이다 문을 입력 컨텍스트와 일치하는 인 텐트로 변경하십시오 컨텍스트는 20 분 후에 자동으로 만료됩니다

또한 후속 턴 수를 지정할 수도 있습니다 그들은 계속 될 대화의 의도 한 출력 컨텍스트를 사용할 수도 있습니다 현재 적용된 컨텍스트를 업데이트하거나 제거합니다 컨텍스트는 매우 강력합니다 데이터를 저장하는 데에도 사용할 수 있습니다 매개 변수의 값을 좋아하고, make 후속 의도에 사용할 수 있습니다

자세한 내용을 보려면 링크를 통해 문서를 방문하십시오 설명에서 대화를 만드는 우리의 탐구에있는 또 다른 유용한 도구 후속 의도입니다 그것은 연락처의 일반적인 사용법에 대한 지름길을 제공합니다 주어진 의도에 대해 후속 의도를 추가 할 수 있습니다

초기 의도가 발생한 후에 만 ​​트리거됩니다 일치되었습니다 답변에서 예 또는 아니오와 일치하는 항목을 사용할 수 있습니다 의도에 의해 제기 된 특정 질문에 이전 예제와 같습니다 그것들을 하나의 의도로 구체화함으로써, 실수로 예 또는 아니오 답을 일치시키는 것을 방지합니다

대화에서 다른 곳에 주어진다 후속 의도는 컨텍스트를 사용하며, 그래서 당신은 그들을 지름길로 사용할 수 있습니다 이 강력한 기능 또 다른 유용한 기능은 대체 의도입니다 Fullback 인 텐트는 사용자의 입력이 아닌 경우 트리거됩니다

사용 가능한 의도와 일치합니다 사용자를 안내하는 데 도움이 될 수 있습니다 올바른 방향으로 모든 에이전트에는 기본 폴백 의도가 있습니다 후속 대체 의도를 만들 수 있습니다 문맥을 사용하여 그들이 오직 특정 의도가 발동 된 후에 일치해야합니다

지금까지 Dialogflow를 사용하여 대화 흐름을 제어하는 ​​기본 제공 기능 그러나 항상 순간이 있습니다 어디에서 자신 만의 논리를 제어하기를 원하십니까? 매개 변수 값을 사용할 수 있습니다 백엔드에서 어떤 일이 일어나게하려면, 일정에 약속을 예약하는 것과 같습니다 또는 사용자에 대한 정보를 사용할 수 있습니다

쿼리에 대한 사용자 지정 응답을 작성합니다 Dialogflow의 대화를 프로그래밍 방식으로 제어하려면, 당신은 성취를 사용해야합니다 기본적인 프로그래밍 기술을 사용하면 쉽습니다 먼저 웹 서버를 만듭니다 단일 HTTP 엔드 포인트를 노출합니다

우리는 이것을 WebHook이라고 부릅니다 사용자 지정 논리가 살아납니다 원하는 환경을 사용할 수 있지만, 우리는 내장 에디터를 제공합니다 JavaScript 코드 작성 및 배포 가능 한 번의 클릭으로 Firebase의 클라우드 기능에 통합 할 수 있습니다 다음으로, 당신은 단지 이행을 가능하게합니다

그것을 필요로하는 모든 의도에 대해 각 의도에 액션 이름을 부여 할 수 있습니다 그것은 귀하의 성취가 어느 것이 유발되었는지를 아는 데 도움이됩니다 이제 이러한 의도 중 하나가 일치 할 때, Dialogflow가 JSON 요청을 보냅니다 사용자가 말한 내용이 포함 된 WebHook에 추출 된 엔티티의 값, 액션 이름을 입력하면 어느 의도가 일치했는지 알 수 있습니다

원 클릭 통합 중 하나를 사용하는 경우, 해당 플랫폼에서 일부 데이터를 수신하게됩니다 사용자에 대해 API를 직접 호출하면 자신의 맞춤 정보를 제공 할 수 있습니다 WebHook에서이 정보를 사용할 수 있습니다 데이터 저장소 액세스, 비즈니스 로직을 트리거하고 API를 호출 할 수 있습니다 응답을 생성 할 수도 있습니다

생성 한 모든 응답이 사용자에게 전송됩니다 Dialogflow WebHook을 사용하여 설정 및 제거 할 수도 있습니다 컨텍스트 및 매개 변수 값 코드를 통한 대화 흐름을 제어 할 수 있습니다 이 모든 도구들 사이에서 가이드하고 통제 할 수있는 수많은 방법 대화의 흐름 생각해 볼만한 것들이 많이 있습니다

하지만 배우는 가장 좋은 방법은 바로 들어가는 것입니다 설명의 링크를 확인하십시오 자세한 내용은 아래에서 재미있는 건물을보십시오 [음악 재생]