public override async Task <ParseResult> ParseAsync(ChatState chatState, Chat_ParseField chatParseField, ChatMessage message) { int timezoneOffset = chatState.GetUserTimeZoneOffset(); if (message.LuisDateOutput == null) { message.LuisDateOutput = await luisService.Parse(message.UserInput, timezoneOffset); } var assumeFuture = false; if (bool.TryParse(chatParseField?.GetProperty("AssumeFuture"), out bool test)) { assumeFuture = test; } var results = ExtractDateResults(chatState, message.LuisDateOutput, assumeFuture); if ((results == null) || (results.Length == 0)) { logger.InfoFormat("Parse: luis date parser got nothing. - {0}", (message.LuisDateOutput != null) ? JsonConvert.SerializeObject(message.LuisDateOutput) : "null"); return(ParseResult.Failed); } if (version == 1) { return(ProcessAsV1Date(message, timezoneOffset, results)); } return(ParseResult.CreateSuccess(results)); }
public override async Task <ParseResult> ParseAsync(ChatState state, Chat_ParseField chatParseField, ChatMessage message) { if (message.LuisDamageClassifierOutput == null) { message.LuisDamageClassifierOutput = await luisService.Parse(message.CorrectedUserInput, 0); } string[] intents = message.LuisDamageClassifierOutput.GetIntents(ChatConfiguration.MinLuisConfidenceRatio); if (intents?.Length > 0) { return(ParseResult.CreateSuccess(intents)); } // AVA-997: Always use None if we didn't parse anything. return(ParseResultNoneList); }
public override async Task <ParseResult> ParseAsync(ChatState state, Chat_ParseField chatParseField, ChatMessage message) { if (message.LuisDateOutput == null) { message.LuisDateOutput = await luisService.Parse(message.UserInput, state.GetUserTimeZoneOffset()); } if (message.LuisDateOutput?.Entities.Length > 0) { var v1Entities = ExtractV1TimeEntities(state, message.LuisDateOutput); if (v1Entities.Length > 0) { return(ParseResult.CreateSuccess(v1Entities)); } } logger.DebugFormat("Parse: Luis Time Parser got nothing. - {0}", (message.LuisDateOutput != null) ? JsonConvert.SerializeObject(message.LuisDateOutput) : "null"); return(ParseResult.Failed); }