LUIS 只返回一个意图

LUIS returning only one intent

我正在使用 LUIS 集成开发一个小项目。我正在使用 using Microsoft.Bot.Builder.Luis 命名空间与 api 进行通信。我正在检查我返回的所有意图,但自上周以来,我每次 luis-call 只返回一个意图。是否有任何(对我来说)我没有得到的冗长模式的看不见的变化?有没有办法仍然调用所有 intentresults 或在 luismodel 到服务器的途中为它提供某种设置?

我没有更改 luis.ai 上的任何设置,我想知道为什么会这样。提前致谢!

meq

一般来说,LUIS 仍然 returns 一组带有结果集的意图,因此您的模型一定有一些特定的事情发生。

如果进一步的实验无法确定原因,请通过 luservice@microsoft.com 联系我们并提供您的 LUIS 应用程序 ID,我们可以进行调查。

我假设您正在使用 LuisDialog,您需要设置 Verbose = true 以获得所有意图。

public RootLuisDialog() : base(new LuisService(new LuisModelAttribute(

      Settings.Default.LuisAppId,
        Settings.Default.LuisAPIKey,
        domain: Settings.Default.LuisAPIHostName

        )
    {
         Verbose =true,
         Log = true
    }))
    {

    }

这对我有用。在 LuisRecognizer 构造函数中有一个可选参数,带有一个名为 IncludeAllIntents 的标志。只需将其设置为 true 并将其添加到构造函数中即可。

    var luisApplication = new LuisApplication(
        configuration["LuisAppId"],
        configuration["LuisAPIKey"],
        "https://" + configuration["LuisAPIHostName"]);

    var predictionOptions = new LuisPredictionOptions();
        predictionOptions.IncludeAllIntents = true;

    _recognizer = new LuisRecognizer(luisApplication, predictionOptions);