Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }