public void AnalyzeConversationOrchestrationPredictionConversation() { ConversationAnalysisClient client = Client; Response <AnalyzeConversationTaskResult> response = client.AnalyzeConversation( "Send an email to Carol about the tomorrow's demo", TestEnvironment.OrchestrationProject); CustomConversationalTaskResult customConversationalTaskResult = response.Value as CustomConversationalTaskResult; var orchestratorPrediction = customConversationalTaskResult.Results.Prediction as OrchestratorPrediction; #region Snippet:ConversationAnalysis_AnalyzeConversationOrchestrationPredictionConversation string respondingProjectName = orchestratorPrediction.TopIntent; TargetIntentResult targetIntentResult = orchestratorPrediction.Intents[respondingProjectName]; if (targetIntentResult.TargetKind == TargetKind.Conversation) { ConversationTargetIntentResult cluTargetIntentResult = targetIntentResult as ConversationTargetIntentResult; ConversationResult conversationResult = cluTargetIntentResult.Result; ConversationPrediction conversationPrediction = conversationResult.Prediction; Console.WriteLine($"Top Intent: {conversationResult.Prediction.TopIntent}"); Console.WriteLine($"Intents:"); foreach (ConversationIntent intent in conversationPrediction.Intents) { Console.WriteLine($"Intent Category: {intent.Category}"); Console.WriteLine($"Confidence: {intent.Confidence}"); Console.WriteLine(); } Console.WriteLine($"Entities:"); foreach (ConversationEntity entity in conversationPrediction.Entities) { Console.WriteLine($"Entity Text: {entity.Text}"); Console.WriteLine($"Entity Category: {entity.Category}"); Console.WriteLine($"Confidence: {entity.Confidence}"); Console.WriteLine($"Starting Position: {entity.Offset}"); Console.WriteLine($"Length: {entity.Length}"); Console.WriteLine(); foreach (BaseResolution resolution in entity.Resolutions) { if (resolution is DateTimeResolution dateTimeResolution) { Console.WriteLine($"Datetime Sub Kind: {dateTimeResolution.DateTimeSubKind}"); Console.WriteLine($"Timex: {dateTimeResolution.Timex}"); Console.WriteLine($"Value: {dateTimeResolution.Value}"); Console.WriteLine(); } } } } #endregion Assert.That(targetIntentResult.TargetKind, Is.EqualTo(TargetKind.Conversation)); Assert.That(orchestratorPrediction.TopIntent, Is.EqualTo("EmailIntent")); }
public void AnalyzeConversationOrchestrationPredictionConversation() { ConversationAnalysisClient client = Client; Response <AnalyzeConversationResult> response = client.AnalyzeConversation( "We'll have 2 plates of seared salmon nigiri.", TestEnvironment.OrchestrationProject); OrchestratorPrediction orchestratorPrediction = response.Value.Prediction as OrchestratorPrediction; #region Snippet:ConversationAnalysis_AnalyzeConversationOrchestrationPredictionConversation string respondingProjectName = orchestratorPrediction.TopIntent; TargetIntentResult targetIntentResult = orchestratorPrediction.Intents[respondingProjectName]; if (targetIntentResult.TargetKind == TargetKind.Conversation) { ConversationTargetIntentResult cluTargetIntentResult = targetIntentResult as ConversationTargetIntentResult; ConversationResult conversationResult = cluTargetIntentResult.Result; ConversationPrediction conversationPrediction = conversationResult.Prediction; if (!String.IsNullOrEmpty(conversationResult.DetectedLanguage)) { Console.WriteLine($"Detected Language: {conversationResult.DetectedLanguage}"); } Console.WriteLine($"Top Intent: {conversationResult.Prediction.TopIntent}"); Console.WriteLine($"Intents:"); foreach (ConversationIntent intent in conversationPrediction.Intents) { Console.WriteLine($"Intent Category: {intent.Category}"); Console.WriteLine($"Confidence Score: {intent.ConfidenceScore}"); Console.WriteLine(); } Console.WriteLine($"Entities:"); foreach (ConversationEntity entitiy in conversationPrediction.Entities) { Console.WriteLine($"Entity Text: {entitiy.Text}"); Console.WriteLine($"Entity Category: {entitiy.Category}"); Console.WriteLine($"Confidence Score: {entitiy.ConfidenceScore}"); Console.WriteLine($"Starting Position: {entitiy.Offset}"); Console.WriteLine($"Length: {entitiy.Length}"); Console.WriteLine(); } } #endregion Assert.That(targetIntentResult.TargetKind, Is.EqualTo(TargetKind.Conversation)); Assert.That(orchestratorPrediction.TopIntent, Is.EqualTo("SushiOrder")); }