2017-01-30 17 views
0

Мы разрабатываем библиотечный бот с использованием Microsoft bot framework.Microsoft Bot-Looping с одинаковым ответом даже на другом -

Мы

Intent : BookSearch 
Entiry : BookName, BookAuthor 

Когда я ищу «Мне нужна Java книга», он понимает, что «ява» является юридическим лицом, а также предоставляет Java книгу с другими деталями.

Мой вопрос: как только я получил информацию о книге в java, я хочу выпустить книгу, поэтому снова, когда мы спрашиваем «Issue me book Java», здесь она конфликтует и снова отображает детали java-книги, например, если ее идущий в цикле.

Пожалуйста, помогите нам в этом сценарии, как мы можем определить другой контекст в нашем вопросе?

Код:

[LuisIntent("BookSearch")] 
    public async Task BookSearch(IDialogContext context, LuisResult result) 
    { 
     if (result.Entities.Any()) 
     { 
      DBConnect dbConnect = new DBConnect(); 
      string combindedString = string.Empty; 
      string mysqlQuery = string.Empty; 

      foreach (var item in result.Entities) 
      { 
       switch (item.Type.ToString()) 
       { 
        case "BookAuthor": 

         break; 
        case "BookName": 

         break; 
        case "BookIssue": 

         break; 
        default:       

         break; 
       } 
      } 

     } 
     else 
     { 
      await context.PostAsync("Which book are you searching."); 
      context.Wait(MessageReceived); 
     } 

    } 

Здесь BookName и BookIssue являются юридические лица, Поэтому, когда мы спрашиваем, «мне нужна Java книга» => Он должен идти в BookName лица предоставить информацию о книге. Когда мы спрашиваем «Issue me java book» => Он должен войти в объект BookIssue для обработки формальности.

Заранее спасибо

+0

Пример кода может помочь нам. – Svekke

+0

@Svekke, я отредактировал вопрос, чтобы добавить код –

+0

@PareshBijarane Можете ли вы опубликовать код в намерении, в котором предполагается выпуск книги? – artie

ответ

0

BookIssue должна быть своя цель & метод. В вашем коде вы, как представляется, обрабатываете BookIssue как сущность.

Сделайте то, что вы сделали для BookSearch, но с высказываниями и логикой, которые вы хотите использовать в своем методе BookIssue.

Прямо сейчас вы «застреваете» в своем намерении BookSearch, потому что вы еще не определили другой, и LUIS соответствует этим высказываниям для поиска.

Кстати, для этого приложения вы можете рассмотреть возможность использования FormFlow.

+0

Спасибо Anna Zietlow Если мы перейдем к FormFlow, как мы можем показывать книги, если количество книг превышает 50 или 100. Когда мы получаем данные из системы реального времени, и у нас может быть так много подходящих книг для нашего поиска. –

+0

Извините, я предполагаю, что FormFlow, вероятно, лучше подходит для вашего намерения BookIssue. Ваш поиск звучит слишком сложно для него –