public static async Task <double> ProcessSentiment(List <string> messages) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", azureApiKey); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var payload = new RequestModelSentiment(); int i = 0; foreach (var m in messages) { payload.documents.Add(new RequestDocument { id = i, text = m }); i++; } var response = await client.PostAsync("https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment", new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(payload), System.Text.Encoding.UTF8, "application/json")); var text = await response.Content.ReadAsStringAsync(); var decoded = JsonConvert.DeserializeObject <ResponseModelSentiment>(text); if (decoded.statusCode != "200" && decoded.statusCode != null) { throw new Exception("failed request " + decoded.statusCode); } double average = 0; foreach (var doc in decoded.documents) { average += doc.score; } average = average / decoded.documents.Count(); return(average - 0.5); }
public static async Task <String> ProcessLanguage(List <string> messages) { return("EN"); var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", azureApiKey); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var payload = new RequestModelSentiment(); int i = 0; var doc = new RequestDocument { id = i, text = "" }; foreach (var m in messages) { doc.text = doc.text + " " + m; } payload.documents.Add(doc); var response = await client.PostAsync("https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/languages", new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(payload), System.Text.Encoding.UTF8, "application/json")); var text = await response.Content.ReadAsStringAsync(); var decoded = JsonConvert.DeserializeObject <ResponseModelLanguage>(text); if (decoded.statusCode != "200" && decoded.statusCode != null) { throw new Exception("failed request " + decoded.statusCode); } throw new NotImplementedException(); }
public static async Task <List <ResponseEntities> > ProcessLinkedEntities(List <string> messages) { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", azureApiKey); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var payload = new RequestModelSentiment(); int i = 0; foreach (var m in messages) { payload.documents.Add(new RequestDocument { id = i, language = "en", text = m }); i++; } var response = await client.PostAsync("https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/entities", new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(payload), System.Text.Encoding.UTF8, "application/json")); var text = await response.Content.ReadAsStringAsync(); var decoded = JsonConvert.DeserializeObject <ResponseModelSentiment>(text); if (decoded.statusCode != "200" && decoded.statusCode != null) { throw new Exception("failed request " + decoded.statusCode); } var proc = decoded.documents.Select(x => x.entities).SelectMany(y => y).ToList(); return(proc); }