2017-11-28 5 views
1

나는 LUIS API를 사용하여 Microsoft Bot Framework를 사용하는 봇을 보유하고 있으며 닫힌 목록의 엔티티가 있습니다. 그리고 내 봇이 해당 엔티티와 의도를 잡을 때 프로그래밍 방식으로 표준 형식 값을 얻고 싶습니다. 그러나 내가 할 수있는 것처럼 보이는 것은 사용자가 입력 한 값, 동의어가 있음을 얻는 것입니다.목록 엔티티에서 표준 양식 가져 오기

foreach (var entity in result.Entities) 
{ 
    await context.PostAsync($"{entity.Type}: {entity.Entity}"); 
} 
+0

난 당신이 [해상도]에서 찾을 것이라 생각합니다 (https://docs.microsoft.com/ en-us/dotnet/api/microsoft.bot.builder.luis.models.entityrecommendation.resolution? view = botbuilder-3.11.0 # Microsoft_Bot_Builder_Luis_Models_EntityRecommendation_Resolution) 속성을 사용합니다. – stuartd

+0

[이 질문] (https://stackoverflow.com/questions/43358558/luis-closed-list-entities)에는 몇 가지 세부 정보가 있습니다. – stuartd

답변

1

의견을 사용하여 답변을 확장하는 방법을 찾았습니다. JasonSowers에서, 사전에 여행 캐스트의 몇 가지를 사용했지만, 마침내 주위있어 :

foreach (var entity in result.Entities) 
{ 
    var dict = entity.Resolution.Values.GetEnumerator(); 
    dict.MoveNext(); 
    var valuesList = (List<object>)dict.Current; 
    var canonicalForm = (string)valuesList[0]; 

    await context.PostAsync($"{canonicalForm}"); 
} 
4

나는 당신을 위해 무엇을 찾고있는 것은 당신이 Entities.Resolution.Values;

에서 찾을 수 Entities.Resolution 사전 문자열의 특히 배열에 포함 된 사전이 documentation이 코드 예제를 사용하여 당신에게

을 도움이 될 것입니다 생각 :

foreach (var entity in result.Entities) 
{ 
    await context.PostAsync($"{entity.Resolution.Values}"); 
} 
+0

정식 양식의 문자열 값을 실제로 얻으려면 해결책을 확장하는 방법을 찾았으니 아래에 완전한 답을 입력하십시오. – Edhelvar

+0

다행 이군. 행운을 빕니다! – JasonSowers