2016-04-13 13 views
0

bağlanma:Geçer birileri bana bu halt bot çerçevesi documention gelen ne anlama geldiğini yorumlamaya yardımcı olabilir iletişim durumuna

Ayrıca devlete bağlamak LUIS tarafta da geçebilir. EntityRecommendation.Type, C# sınıfınızdaki bir alana giden bir yol ise, EntityRecommendation.Entity alanınıza bağlanmak için tanıyıcıya geçirilir. İlk durum gibi, bu alanı doldurmak için herhangi bir adım atlanacaktır.

ben şöyle benim LuisResult result Varlıkları koleksiyonunda geçmesi benim iletişim aradığında: bu kuruluşlar içinde

context.Call(new FormDialog<ItemSearch>(new ItemSearch(), ItemSearch.BuildForm, options: FormOptions.PromptInStart,entities:result.Entities), null); 

ancak benim iletişim konusunda halk özelliğine hem isim ve tip haritalar en az biri Devlet asla doldurulamaz. Neyi kaçırıyorum?

TIA.

cevap

0

Bunun bir örneğini PizzaOrderDialog'da bulabilirsiniz. FormDialog uygulamasına bakarsanız, varlık önerisi formunu formdaki bir adımla eşleştirmek için entity.type öğesini kullanır. Daha sonra tespit edilen varlıklar, formun bu adımına bir girdi olarak sağlanacaktır. İşte

formu bir pizza şeklinde Luis modeli tarafından tespit edilen varlıklara dayalı tür adımı atlayabilirsiniz nasıl bir örnektir. Aynı zamanda içinde Varlıkları geçen ilgili bir sorun olduğu görülmektedir

 var entities = new List<EntityRecommendation>(result.Entities); 
     if (!entities.Any((entity) => entity.Type == "Kind")) 
     { 
      // Infer kind 
      foreach (var entity in result.Entities) 
      { 
       string kind = null; 
       switch (entity.Type) 
       { 
        case "Signature": kind = "Signature"; break; 
        case "GourmetDelite": kind = "Gourmet delite"; break; 
        case "Stuffed": kind = "stuffed"; break; 
        default: 
         if (entity.Type.StartsWith("BYO")) kind = "byo"; 
         break; 
       } 
       if (kind != null) 
       { 
        entities.Add(new EntityRecommendation(type: "Kind") { Entity = kind }); 
        break; 
       } 
      } 
     } 

     var pizzaForm = new FormDialog<PizzaOrder>(new PizzaOrder(), this.MakePizzaForm, FormOptions.PromptInStart, entities); 
İlgili konular