无法从Microsoft文本分析主题情感识别中获得输出结果

时间:2017-07-05 21:21:53

标签: c# json api web analytics

我正在使用Text Analytics API通过传递JSON对象来检测情绪和分数。根据文档中提到的信息,如果我们得到200的响应,那么api将返回正确的结果和情绪评分。现在的问题是我得到的响应是200,但我没有得到用于进一步的重复的情绪分数

请求对象:

@IBAction func fechaSalida(_ sender: Any) {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc:CalendarioViewController = storyboard.instantiateViewController(withIdentifier: "calendario") as! CalendarioViewController
    vc.dateDelegate = self
    self.window!.rootViewController = vc

}

下面是代码传递给JSON对象并调用webAPI

{ "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
}

以下是引用Microsoft代码和参考的链接:

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

1 个答案:

答案 0 :(得分:1)

我刚刚在这里做了一个测试,并且工作正常:

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);
            }

        }
    }
}

输出

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