I decided that today was the day that I could no longer write a useful LUIS + Bot by only consuming the top scoring intent. So I checked the little Include all predicted intent scores switch in LUIS and ensured the ‘REST-API’ results had returned all the predictions. Yay. Changed my code to consume them to discover I was still only getting the top intent. Turns out you to do a little more work with the Bot SDKs to see the other intents;
v3 SDK
In your code that implements the LUISDialog base class;
protected override LuisRequest ModifyLuisRequest(LuisRequest request) { request.Verbose = true; return base.ModifyLuisRequest(request); }
v4 SDK
In the code where you create your LUIS Application and Recognizer, add the IncludeAllIntents options;
var app = new LuisApplication(luis.AppId, luis.AuthoringKey, luis.GetEndpoint()); var recognizer = new LuisRecognizer( app, new LuisPredictionOptions { IncludeAllIntents = true });