मैं लुइस का उपयोग करके एक बॉट बनाने की कोशिश कर रहा हूं लेकिन यह मेरे विचार से बहुत कठिन है। अब तक मैं और एक इकाई मेरी LUIS आवेदन बना सकते हैं और एक आशय बनाने में कामयाब रहे और मैं कुछ बयान कि ठीक से काम करने लगते हैं बनाया है।माइक्रोसॉफ्ट बॉट फ्रेमवर्क, लुइस और एक्शन पैरामीटर
मैंने फिर अपना बॉट बनाया और इसे लुइस तक लगा दिया। जब मैं अपने बॉट का परीक्षण करता हूं तो यह उम्मीद के अनुसार काम कर रहा है। मजेदार भाग के लिए अब। मैं पैरामीटर को संभालना चाहता हूं। लुइस पर मैं अपने आशय की जाने वाली कार्रवाई कहा:
आप देख सकते हैं मैं एक शीघ्र जोड़ लिया है। मेरी बॉट में मेरे कोड वर्तमान में इस तरह दिखता है:
/// <summary>
/// Tries to find the category
/// </summary>
/// <param name="result">The Luis result</param>
/// <param name="alarm"></param>
/// <returns></returns>
public string TryFindCategory(LuisResult result)
{
// Variable for the title
EntityRecommendation title;
// If we find our enenty, return it
if (result.TryFindEntity(PiiiCK.Category, out title))
return title.Entity;
// Default fallback
return null;
}
[LuisIntent("Choose category")]
public async Task ChooseCategory(IDialogContext context, LuisResult result)
{
// Get our category
var category = TryFindCategory(result);
var response = "The category you have chosen is not in the system just yet.";
switch (category)
{
case "camera":
response = $"You need help buying a { category }, is this correct?";
this.started = true;
break;
default:
if (!string.IsNullOrEmpty(category)) response = $"Sorry, PiiiCK does not deal with { category.Pluralise() } just yet.";
break;
}
// Post our response back to the user
await context.PostAsync(response);
// Execute the message recieved delegate
context.Wait(MessageReceived);
}
मुझे लगता है कि आप अनुमान लगा सकते हैं जहाँ मैं इस के साथ जा रहा हूँ। यदि उपयोगकर्ता टाइप करता है तो मुझे कैमरा खरीदने में सहायता करें, यह श्रेणी श्रेणी चुनें और सही इकाई चयनित होगी। लेकिन यदि वे टाइप करते हैं तो मुझे खरीदने में सहायता करें, यह अभी भी सही इरादे पर जायेगा, लेकिन इसमें कोई चयनित इकाई नहीं होगी। मैं अपने बॉट को यह देखना चाहता हूं और में पाठ का उपयोग करें मैंने LUIS में बनाया था और जब उपयोगकर्ता इकाई का चयन करता हूं, तो मैं इसे उस पैरामीटर के साथ LUIS पर वापस जाना चाहता हूं।
मुझे नहीं पता कि यह कैसे करें और मुझे इस पर कोई ट्यूटोरियल नहीं मिल रहा है। किसी भी मदद की सराहना की जाएगी (यहां तक कि लिंक!)
क्या आप अपने LUIS मॉडल की एक छवि जोड़ सकते हैं ताकि हम आपके इच्छित इरादे/entites को समझ सकें?TryFindCategory क्या कर रहा है? –
वर्तमान में केवल 1 इरादा है (श्रेणी चुनें) और 1 इकाई (श्रेणी)। TryFindCategory बस https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Samples/AlarmBot/Dialogs/AlarmLuisDialog.cs लाइन 60 से निकालें जहां बूलियन होने की बजाय मैं केवल इकाई या शून्य को वापस कर देता हूं। – r3plica