LUIS 의도와 일반적인 의도를 결합 할 수 있습니다. 이를 위해 IntentRecognizers 두 가지를 사용합니다. LuisRecognizer 및 RegExpRecognizer. 이제
let pizzaRecognizer = new builder.LuisRecognizer('YOUR-LUIS-MODEL');
let mathRecognizer = new builder.RegExpRecognizer('MathHelp', /(^mathhelp$|^\/mathhelp$)/i);
의 우리 IntentDialog을 만들고 IntentDialog 사용하는 그래서 우리의 '인식기'속성의 options ...
리스트로 우리 pizzaRecognizer 및 mathRecognizer을 결합하여
let intents = new builder.IntentDialog({ recognizers: [mathRecognizer, pizzaRecognizer], recognizeOrder: 'series' })
, 우리가 통과 할 수있는이 목록을 구성 할 수 두 인식기. 마지막으로 우리가하려고하는 속성은 'recognizerOrder'입니다. 기본값은 'parallel'입니다. 값을 'series'로 변경하면 IntentDialog가 먼저 RegExpRecognizer 'mathRecognizer'를 트리거합니다. 점수가 1 인 일치 항목이 있으면 LuisRecognizer가 사용되지 않으므로 낭비되는 LUIS 끝점 조회가 저장되지 않습니다.
RegExpRecognizers를 사용하여 채팅 봇의 응답 속도를 높이고 chatbot의 LUIS 호출 양을 줄이려면 해당 인식자를 먼저 인식 자 목록에 전달해야합니다. 그런 다음 recognizerOrder
을 'series'
으로 설정해야합니다. 시리즈 주문을 설정하지 않으면 채팅 봇에서 LUIS 호출을 계속 수행합니다. 또한 다른 인식기가 사용되는 것을 막기 위해 일치 된 의도의 점수가 1.0이어야합니다. 완벽한 일치를 장려하려면 RegExp 한정 기호 ^
및 $
을 사용하여 일치시킬 패턴의 명확한 시작점과 끝점을 정의해야합니다. 예를 들어 mathRecognizer
을 참조하십시오.
정확도가 가장 중요한 경우 'recognizerOrder'
의 값을 변경하면 안됩니다. 그러면 모든 인식기가 한 번에 사용됩니다.
나는 당신이 검토 할 수있는 예제 인 here을 만들었습니다. 나는 Luis 모델을 LuisModel.json으로 명명했다.
[this] (https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/intelligence-LUIS)를 직접 보았습니까 –
문서와 다르지 않습니다. 입력이 LUIS 의도로 곧바로 들어가는 이유도 설명하지 않습니다. 내 코드가 문서와 다른 것은 아닙니다. – Kyriediculous
봇 프레임 워크의 개념은 당신 (봇 디자이너)이 자연 언어 입력의 복잡성을 다룰 필요없이 봇을 만들 수있게하는 것입니다. 같은 이유로, 텍스트 입력을받지는 않지만 대신 Luis가 식별 한 후에 텍스트 입력의 의도를 수신합니다. –