可以在luis.ai中显示正确的意图

时间:2017-06-14 10:26:11

标签: c# azure botframework luis

我的luis.ai代理有问题。 我创造了一个意图,我训练了一些话语。我的问题在于我的话语得分为0.99。

当我在我的机器人中输入这个话语时(这个意图的其他话语,得分> 0.7)......结果不同。

例如:

意图:移动

话语:移动应用程序。预测意图:0.9

消息:" xxxxxxxxx"

当我开始与我的机器人交谈并输入:移动应用程序或什么是移动应用程序时。我的机器人转了另一个回应(来自另一个意图):" yyyyyyyyyyy"

你知道怎么解决,也许用我的代码?

我的代码:

     using System.Net;
     using System.Net.Http;
     using System.Threading.Tasks;
     using System.Web.Http;
     using Microsoft.Bot.Builder.Dialogs;
     using Microsoft.Bot.Connector;

     namespace FirstBotApplication
    {
    //[BotAuthentication]
    public class MessagesController : ApiController
   {
    /// <summary>
    /// POST: api/Messages
    /// Receive a message from a user and reply to it
    /// </summary>
    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
        if (activity.Type == ActivityTypes.Message)
        {
            await Conversation.SendAsync(activity, () => new AllTheBot());
        }
        else
        {
            HandleSystemMessage(activity);
        }
        var response = Request.CreateResponse(HttpStatusCode.OK);
        return response;
    }

    private Activity HandleSystemMessage(Activity message)
    {
        if (message.Type == ActivityTypes.DeleteUserData)
        {
            // Implement user deletion here
            // If we handle user deletion, return a real message
        }
        else if (message.Type == ActivityTypes.ConversationUpdate)
        {
            // Handle conversation state changes, like members being added and removed
            // Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info
            // Not available in all channels
        }
        else if (message.Type == ActivityTypes.ContactRelationUpdate)
        {
            // Handle add/remove from contact lists
            // Activity.From + Activity.Action represent what happened
        }
        else if (message.Type == ActivityTypes.Typing)
        {
            // Handle knowing tha the user is typing
        }
        else if (message.Type == ActivityTypes.Ping)
        {
        }

        return null;
    }
  }
 }
  `

Luis.cs

    `using Microsoft.Bot.Builder.Dialogs;
     using Microsoft.Bot.Builder.Luis;
     using Microsoft.Bot.Builder.Luis.Models;
     using Microsoft.Bot.Connector;
     using System;
     using System.Collections.Generic;
     using System.IO;
     using System.Linq;
     using System.Threading.Tasks;
     using System.Web;


     namespace FirstBotApplication
      {
  //  [LuisModel("Please Enter Your LUIS Model ID", "Please Enter Your LUIS 
    Subscription Key")]

   [Serializable]
      [LuisModel("zzzzz", "zzzzzzzyyyy")]


    public class AllTheBot : LuisDialog<object>
     {
    // internal static string results;
    [LuisIntent("None")]
    [LuisIntent("")]
    public async Task None(IDialogContext context, LuisResult result)
    {
        string message = $"Sorry, I did not understand '{result.Query}'. 
            Please reformulate your question";

        await context.PostAsync(message);

        context.Wait(this.MessageReceived);

}

    [LuisIntent("grettings")]
    [LuisIntent("intentfr")]
    public async Task Greeting(IDialogContext context, 
      IAwaitable<IMessageActivity> activity, LuisResult result)
    {

            await context.PostAsync("Welcome  ");

            context.Wait(MessageReceived);

    }

    [LuisIntent("test")]
    public async Task test(IDialogContext context, 
       IAwaitable<IMessageActivity> activity, LuisResult result)
    {
        await context.PostAsync("Do you want to test our bot ? We suggest to 
     type : hi or who are you, help etc..");
        context.Wait(MessageReceived);
    }`

   [LuisIntent("Mobile")]
    public async Task mobile(IDialogContext context, 
   IAwaitable<IMessageActivity> activity, LuisResult result)
    {

            await context.PostAsync(" xxxxxxx");


            context.Wait(MessageReceived);

    }}

0 个答案:

没有答案