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

问题描述 投票:0回答:1

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

请求对象:

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

下面是传递给 JSON 对象并调用 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();
            }

以下是参考微软代码和参考的链接:

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

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

c# json analytics
1个回答
2
投票
我刚刚在这里进行了测试,效果很好:

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":[]}
    
© www.soinside.com 2019 - 2024. All rights reserved.