public static dynamic LanguageTranslator(AppSettings appSettings, LanguageTranslatorRequest requestBody) { string methodName = "LanguageTranslator"; dynamic result = new ExpandoObject(); try { WatsonSettings settings = appSettings.WatsonServices.LanguageTranslator; IamAuthenticator authenticator = new IamAuthenticator(apikey: $"{requestBody.Apikey}"); IBM.Watson.LanguageTranslator.v3.LanguageTranslatorService languageTranslator = new IBM.Watson.LanguageTranslator.v3.LanguageTranslatorService($"{settings.Version}", authenticator); languageTranslator.SetServiceUrl($"{requestBody.Endpoint}"); List <string> text = new List <string>(); text.Add(requestBody.Text); result = languageTranslator.Translate( text: text, modelId: requestBody.ModelId, source: requestBody.Source, target: requestBody.Target != null ? requestBody.Target : "en" ).Result; return(result); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {JsonConvert.SerializeObject(requestBody)}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {e.Source + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace}"); throw e; } }
public static async Task <dynamic> GoogleLanguageTranslator(AppSettings appSettings, LanguageTranslatorRequest requestBody) { string methodName = "GoogleLanguageTranslator"; dynamic result = new ExpandoObject(); try { TranslationClient client = TranslationClient.CreateFromApiKey(requestBody.Apikey); //Detection detection = await client.DetectLanguageAsync(requestBody); TranslationResult googleTranslationResult = await client.TranslateTextAsync( text : requestBody.Text, targetLanguage : requestBody.Target, sourceLanguage : requestBody.Source); result = googleTranslationResult.TranslatedText; return(result); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {JsonConvert.SerializeObject(requestBody)}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {e.Source + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace}"); throw e; } }
public async static Task <Dictionary <string, object> > GoogleNaturalLanguageUnderstanding(AppSettings appSettings, string text) { string methodName = "GoogleNaturalLanguageUnderstanding"; Dictionary <string, object> result = new Dictionary <string, object>(); try { CommonService.SetGoogleCredentials(@"googleAI-Harima.json"); var client = LanguageServiceClient.Create(); AnalyzeSentimentResponse analyzeSentimentResponse = new AnalyzeSentimentResponse(); try { analyzeSentimentResponse = await client.AnalyzeSentimentAsync(new Document() { Content = text, Type = Document.Types.Type.PlainText }); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {text}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), $"02{Assembly.GetExecutingAssembly().GetName().Name}", MethodBase.GetCurrentMethod().ReflectedType.Name, methodName, $"Watson error: {e.Source + Environment.NewLine + e.Message}"); } AnalyzeEntitiesResponse analyzeEntitiesResponse = new AnalyzeEntitiesResponse(); try { analyzeEntitiesResponse = await client.AnalyzeEntitiesAsync(new Document() { Content = text, Type = Document.Types.Type.PlainText }); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {text}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), $"02{Assembly.GetExecutingAssembly().GetName().Name}", MethodBase.GetCurrentMethod().ReflectedType.Name, methodName, $"Watson error: {e.Source + Environment.NewLine + e.Message}"); } ClassifyTextResponse classifyTextResponse = new ClassifyTextResponse(); try { LanguageTranslatorRequest languageTranslatorRequest = new LanguageTranslatorRequest(); languageTranslatorRequest.Text = text; languageTranslatorRequest.Source = "es"; languageTranslatorRequest.Target = "en"; string translation = await LanguageTranslatorService.GoogleLanguageTranslator(appSettings, languageTranslatorRequest); classifyTextResponse = await client.ClassifyTextAsync(new Document() { Content = translation, Type = Document.Types.Type.PlainText }); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {text}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), $"02{Assembly.GetExecutingAssembly().GetName().Name}", MethodBase.GetCurrentMethod().ReflectedType.Name, methodName, $"Watson error: {e.Source + Environment.NewLine + e.Message}"); } result["sentiment"] = analyzeSentimentResponse; result["entities"] = analyzeEntitiesResponse; result["clasifiy"] = classifyTextResponse; return(result); } catch (Exception e) { Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {text}"); Log.Write(appSettings, LogEnum.ERROR.ToString(), label, className, methodName, $"ERROR: {e.Source + Environment.NewLine + e.Message + Environment.NewLine + e.StackTrace}"); throw e; } }