2016-11-03 1 views
5

각 LUIS 모델은 20 개의 인 텐트와 10 개의 엔티티로 제한되어 있으며 각 모델에는 잘 정의 된 범위/도메인이 있어야하므로 단일 봇 응용 프로그램에서 여러 대화 상자를 구현하는 가장 좋은 방법은 무엇인지 궁금합니다. 예를 들어 금융 정보와 기상 정보를 얻는다고 가정 해 보겠습니다.봇 프레임 워크를 사용하여 단일 봇에 여러 개의 LUIS 대화 상자를 구현하려면 어떻게해야합니까?

이상하게도 나는 두 개의 다른 봇이 있다는 것을 알고 있습니다. 그러나이 상황에서는 단일 봇으로해야합니다. Dialogs (및 다른 여러 부분) 및 LUIS 도움말 페이지의 Bot Framework 설명서를 읽었지만이를 달성 할 수있는 정보를 찾을 수 없었습니다. 나는 또한 예제를 보았고 아무것도 발견하지 못했다. 이것을 할 수있는 방법이 있는가?

답변

5

기술적 인 관점에서 볼 때 중요한 문제는 없습니다. 당신은 단지 두 개의 LUIS 애플 리케이션을 등록하고 당신이 만든 특정 애플 리케이션의 LUIS 키와 함께 귀하의 애플 리케이션에 두 개의 대화 상자가 있습니다.

귀하의 질문은 "메시지를 해당 LUIS 봇에 어떻게 리디렉션합니까?" 그리고 그것은 유효한 질문입니다.

AzureBot에는 유사한 시나리오가 있으며 전략 패턴을 따르는 DialogFactory을 사용하여 해결했습니다. 각 '도메인'대화 상자는 들어오는 메시지가 처리 할 수있는 것인지 여부를 알고 있습니다 (this은 가상 컴퓨터 작업 용임). Here 당신은 RootDialog에서 어떻게 LUIS를 가지고 있는지 그리고 None/Empty 의도에서 메시지를 해당 대화 상자로 리디렉션하는 방법을 볼 수 있습니다.

이 공간에서 탐색 할 수있는 또 다른 방법은 기본적으로 모든 메시지를 가로 채고 수행 할 작업을 결정할 수 있도록 해주는 IScorable 인터페이스를 사용하는 것입니다. ContosoFlowers 샘플에는 살펴볼 수있는 IScorable implementation이 있습니다. C# BotBuilder 라이브러리에는 기본적으로/deleteprofile 메시지를 처리하는 DeleteProfileScorable도 있습니다.

+2

저는 거의 한 달 동안 Bot Framework로 공부하고 놀았으며, BotBuilder-Samples 저장소를 전혀 알지 못했습니다. BotBuilder 저장소 내에서만 샘플을 연구하고있었습니다. 이 예제에는 여러 대화 상자를 구현하는 데 필요한 것들이 포함되어 있습니다. 고맙습니다. – artie

+0

게시물의 링크 중 일부가 더 이상 작동하지 않고 404를 제공합니다. –

+1

@LeonCullens 방금 수정했습니다. –