首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在LuisRecognizerMiddleware中添加必应拼写检查?

如何在LuisRecognizerMiddleware中添加必应拼写检查?
EN

Stack Overflow用户
提问于 2018-05-13 07:45:12
回答 1查看 520关注 0票数 1

好的,这就是我的LUIS应用程序在我的机器人中的配置方式。

在LUIS网站上,我可以添加必应拼写检查,以纠正常见的拼写错误,并有一个更好的intententity匹配。

所需要的只是需要将必应API键添加到LUIS查询字符串中。但是在LuisRecognizerMiddleware中我应该在哪里配置它呢?

,我甚至不知道那是不是正确的地方。但我想它确实将URI.组合在一起。

代码语言:javascript
运行
复制
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
    services.AddBot<MyBot>(options =>
    {
        options.CredentialProvider = new ConfigurationCredentialProvider(_configuration);

        options.Middleware.Add(new CatchExceptionMiddleware<Exception>(async (context, exception) =>
        {
            await context.TraceActivity("MyBotException", exception);
            await context.SendActivity("Sorry, it looks like something went wrong!");
        }));

        IStorage dataStore = new MemoryStorage();

        options.Middleware.Add(new ConversationState<MyBotConversationState>(dataStore));

        // Add LUIS recognizer as middleware
        // see https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0&tabs=cs
        (string modelId, string subscriptionKey, Uri url) = GetLuisConfiguration(_configuration);
        LuisModel luisModel = new LuisModel(modelId, subscriptionKey, url);
        options.Middleware.Add(new LuisRecognizerMiddleware(luisModel));
    });
}

private static (string modelId, string subscriptionKey, Uri url) GetLuisConfiguration(IConfiguration configuration)
{
    string modelId = configuration.GetSection("Luis-ModelId")?.Value;
    string subscriptionKey = configuration.GetSection("Luis-SubscriptionId")?.Value;
    string url = configuration.GetSection("Luis-Url")?.Value;
    Uri baseUri = new Uri(url);

    return (modelId, subscriptionKey, baseUri);
}

到目前为止我所得到的只是.

获取https://westeurope.api.cognitive.microsoft.com/luis/v2.0/apps/?subscription-key=&q=test234&log=True HTTP/1.1

我所期望的是这些行中的一些东西(从LUIS门户复制),

获取https://westeurope.api.cognitive.microsoft.com/luis/v2.0/apps/?subscription-key=&spellCheck=true&bing-spell-check-subscription-key=&verbose=true&timezoneOffset=0&q=test234

EN

回答 1

Stack Overflow用户

发布于 2018-05-13 08:14:14

我只是快速地浏览了一下源代码,并认为ILuisOptions是我要找的东西。这方面没有具体的执行。我猜是“自己滚”..。

代码语言:javascript
运行
复制
public class MyLuisOptions : ILuisOptions
{
    public bool? Log { get; set; }
    public bool? SpellCheck { get; set; }
    public bool? Staging { get; set; }
    public double? TimezoneOffset { get; set; }
    public bool? Verbose { get; set; }
    public string BingSpellCheckSubscriptionKey { get; set; }
}

...and,当然,您必须将它传递给LuisRecognizerMiddleware。

代码语言:javascript
运行
复制
options.Middleware.Add(new LuisRecognizerMiddleware(luisModel, new LuisRecognizerOptions { Verbose = true }, new MyLuisOptions { SpellCheck = true, BingSpellCheckSubscriptionKey = "test123" }));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50313888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档