Ich lerne über Bot-Framework von Microsoft mit LUIS. Ich versuche, einen einfachen Mathe-Bot zu machen, der Mathe-Sätze versteht. Wenn der Benutzer "was ist zwei plus drei" oder Ähnliches eingibt, versteht LUIS, dass die Person zwei und drei hinzufügen möchte. Das Ergebnis ist ein LuisResult wie folgt aussieht:Parsing LuisResult, um JSON-Felder zu erhalten
{
"query": "what is one plus three",
"topScoringIntent": {
"intent": "addition",
"score": 0.999997139
},
"intents": [
{
"intent": "addition",
"score": 0.999997139
},
{
"intent": "None",
"score": 0.03979478
}
],
"entities": [
{
"entity": "one",
"type": "builtin.number",
"startIndex": 8,
"endIndex": 10,
"resolution": {
"value": "1"
}
},
{
"entity": "three",
"type": "builtin.number",
"startIndex": 17,
"endIndex": 21,
"resolution": {
"value": "3"
}
}
]
}
ich beide der „Wert“ Felder aus der Liste Entitäten extrahieren müssen. Im Moment weiß ich nur, wie die erste Einheit „Eins“ zu extrahieren, indem
string numberResult = "";
EntityRecommendation rec;
if(result.TryFindEntity("builtin.number", out rec))
{
numberResult = rec.Entity;
this.number = Int32.Parse(numberResult);
}
tun Gibt es eine Möglichkeit daraus sowohl die Wertfelder „1“ und „3“ zu extrahieren?
Ich bin noch relativ neu in C# Wie würde ich über die IList von Entitäten iterieren, um zu den Werten zu gelangen? @EzequielJadib – Teragon
https://msdn.microsoft.com/en-us/library/wzc4yayd(v=vs.90).aspx –
Sie können mit for for loop in C# iterieren. –