Techiemanu
Techiemanu

Reputation: 646

Not able to get output result from Microsoft text analytics topic sentiment recognition

I am using the Text Analytics APIs to detect sentiment and score by passing the JSON object. As per the information mentioned in the document if we get the response as 200 then API is returning the correct result and score of sentiment. Now the issue is I am getting the response as 200 but I am not getting the sentiment score to use for further processing.

Request object:

{ "documents": [{ "language": "en", "id": 1, "text": "I had a wonderful experience" }, { "language": "en", "id": 2, "text": "It was an Ugly picture" }] }

response object:

{
    "Version": {
        "Major": 1,
        "Minor": 1,
        "Build": -1,
        "Revision": -1,
        "MajorRevision": -1,
        "MinorRevision": -1
    },
    "Content": {
        "Headers": [{
            "Key": "Content-Type",
            "Value": ["application/json; charset=utf-8"]
        }]
    },
    "StatusCode": 200,
    "ReasonPhrase": "OK",
    "Headers": [{
        "Key": "Transfer-Encoding",
        "Value": ["chunked"]
    }, {
        "Key": "x-ms-transaction-count",
        "Value": ["1"]
    }, {
        "Key": "x-aml-ta-request-id",
        "Value": ["f78d8964-a2a1-4b67-aaa5-1a92b6ea25f9"]
    }, {
        "Key": "X-Content-Type-Options",
        "Value": ["nosniff"]
    }, {
        "Key": "apim-request-id",
        "Value": ["0882ea1e-6c31-4a2c-b3c0-1963ec0734c1"]
    }, {
        "Key": "Strict-Transport-Security",
        "Value": ["max-age=31536000; includeSubDomains; preload"]
    }, {
        "Key": "Date",
        "Value": ["Sat, 01 Jul 2017 19:49:10 GMT"]
    }],
    "RequestMessage": {
        "Version": {
            "Major": 1,
            "Minor": 1,
            "Build": -1,
            "Revision": -1,
            "MajorRevision": -1,
            "MinorRevision": -1
        },
        "Content": {
            "Headers": [{
                "Key": "Content-Type",
                "Value": ["application/json"]
            }, {
                "Key": "Content-Length",
                "Value": ["135"]
            }]
        },
        "Method": {
            "Method": "POST"
        },
        "RequestUri": "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment",
        "Headers": [{
            "Key": "Ocp-Apim-Subscription-Key",
            "Value": ["************************"]
        }],
        "Properties": {}
    },
    "IsSuccessStatusCode": true
}

Below is the code pass to JSON object and calling webAPI

 var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);
    enter code here
            // Request headers
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "******************");
            var uri = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment"; 

            HttpResponseMessage response;
            Document doc = new Document();
             byte[] byteData = Encoding.UTF8.GetBytes(doc.ReturnJson());                      

            using (var content = new ByteArrayContent(byteData))
            {
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                response = await client.PostAsync(uri, content);
                response.ToJSON();
            }

Following are the link to refer the Microsoft code and reference:

https://westus.dev.cognitive.microsoft.com/docs/services/TextAnalytics.V2.0/oper ations/56f30ceeeda5650db055a3c9

https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment

Upvotes: 0

Views: 170

Answers (1)

Thiago Custodio
Thiago Custodio

Reputation: 18387

I've just made a test in here and it's working fine:

using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
using System.IO;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }

        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = "";

            // Request headers
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "YOUR KEY IN HERE");

            var json = "{  \"documents\": [    {      \"language\": \"en\",      \"id\": \"1\",      \"text\": \"I had a wonderful experience\"    }, {      \"language\": \"en\",      \"id\": \"2\",      \"text\": \"It was an Ugly picture\"    }  ]}";


            var uri = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment?" + queryString;

            HttpResponseMessage response;

            // Request body
            byte[] byteData = Encoding.UTF8.GetBytes(json);

            using (var content = new ByteArrayContent(byteData))
            {
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                response = await client.PostAsync(uri, content);

                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            }

        }
    }
}

OUTPUT

Hit ENTER to exit...
{"documents":[{"score":0.972635705189504,"id":"1"},{"score":0.0438970184772759,"id":"2"}],"errors":[]}

Upvotes: 1

Related Questions