gpt4 book ai didi

c# - 如何为我的 LUISDialog 设置一个最小阈值以在 .NET 中转到 None Intent?

转载 作者:行者123 更新时间:2023-11-30 21:37:23 25 4
gpt4 key购买 nike

我有一个 LuisDialog 这样的:

[LuisModel("...", "...", domain: "...")]
[Serializable]
public class MainLUISDialog : LuisDialog<object>
{

[LuisIntent("None")]
public async Task Default(IDialogContext context, LuisResult result)
{
await context.PostAsync("Não percebi, podes ser mais claro se faz favor?");
context.Wait(MessageReceived);
}

[LuisIntent("Service.Cancel")]
public async Task CancelService(IDialogContext context, LuisResult result)
{
await context.PostAsync("Queres cancelar um serviço.");
await context.PostAsync("Entities:");
foreach (var entity in result.Entities)
{
await context.PostAsync($"{entity.Type}: {entity.Entity}");
}
context.Wait(MessageReceived);
}
...

我想知道如何设置,例如所有意向分数低于 0.7 的话语都将转到 None 意向,有没有办法以编程方式在我的代码中添加这个临界点?我似乎找不到任何方法来使用我的代码执行此操作。

最佳答案

一种方法是从 LuisDialog 继承并重写其中一个函数:

在任何这些函数中,您应该能够执行您的逻辑以丢弃检测到的意图并将其替换为 None。

如果这只是针对 1-2 个意图,那么可能不值得进行覆盖,相反,您可以在所有意图方法中检查它,如下所示:

 if (result.TopScoringIntent.Score < threshold) 
{
return Default(context, result);
}

关于c# - 如何为我的 LUISDialog 设置一个最小阈值以在 .NET 中转到 None Intent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47284291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com