Esempio n. 1
0
        private NaturalLanguageResult Request(string text, string url, NaturalLanguageRequestFeatures features = null)
        {
            var document       = new NaturalLanguageRequestDocument(text);
            var request        = url == "classifyText" ? new NaturalLanguageRequest(document) : new NaturalLanguageRequestWithEncodingType(document, features);
            var jsonRequest    = JsonConvert.SerializeObject(request, JsonSettings);
            var requestContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");

            if (!string.IsNullOrWhiteSpace(_apiKey))
            {
                _httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {_apiKey}");
            }

            var requestUrl = UseProxyIfPossible(BaseUrl + url);
            var result     = _httpClient.PostAsync(requestUrl, requestContent).Result.Content.ReadAsStringAsync().Result;

            return(JsonConvert.DeserializeObject <NaturalLanguageResult>(result));
        }
 public NaturalLanguageRequestWithEncodingType(NaturalLanguageRequestDocument document, NaturalLanguageRequestFeatures features) : base(document)
 {
     Features = features;
 }
Esempio n. 3
0
 /// <summary>
 /// A convenience method that provides all the features that analyzeSentiment, analyzeEntities,
 /// and analyzeSyntax provide in one call.
 /// </summary>
 /// <param name="text"></param>
 /// <param name="features"></param>
 /// <returns></returns>
 public NaturalLanguageResult AnnotateText(string text, NaturalLanguageRequestFeatures features) => Request(text, "annotateText", features);