MS Text Analytics Cognitive Service:如何使用本地数据库?

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

Microsoft提供了一种用于分析文本数据的服务,称为“文本分析认知服务”。

是否可以将此服务与本地数据库一起使用?即不在Azure中

我使用一些大型数据库,对我而言,将其用于以下用途可能会很有趣:语言检测关键词提取命名实体识别情感分析

azure microsoft-cognitive
1个回答
0
投票

一旦提取数据,您想检测其语言从本地数据库中,您只需要获取它,然后传入下面的方法。它将分析您的价值作为回应。

API Access Keys:

        private static readonly string endpointKey = "YourEndPonitKey";
        private static readonly string endpoint = "https://YourServiceURL.cognitiveservices.azure.com/text/analytics/v2.1/languages";

Code Snippet:

    public async Task<object> DetectLanguageAsync(string InputFromDbOrUser)
    {
        try
        {
            DetectedLanguageResponseModel ObjDitectedLanguageResponse = new DetectedLanguageResponseModel();
            //Create laguage detection request param
            RequestModel objRequestModel = new RequestModel();
            objRequestModel.id = "1";
            objRequestModel.text = InputFromDbOrUser;

            //Made Document List
            List<RequestModel> Objdocuments = new List<RequestModel>();
            Objdocuments.Add(objRequestModel);
            //Bind Request Model
            LanguageDetection objRequestList = new LanguageDetection();
            objRequestList.documents = Objdocuments;

            // Bind and Serialize Request Object 
            var serializedObject = JsonConvert.SerializeObject(objRequestList);

            // Call Language Detection API   
            using (var client = new HttpClient())
            using (var request = new HttpRequestMessage())
            {
                request.Method = HttpMethod.Post;
                request.RequestUri = new Uri(endpoint);
                request.Content = new StringContent(serializedObject, Encoding.UTF8, "application/json");
                request.Headers.Add("Ocp-Apim-Subscription-Key", endpointKey);

                var response = await client.SendAsync(request);

                //Check status code and retrive response

                if (response.IsSuccessStatusCode)
                {

                    ResponseModel objResponse = JsonConvert.DeserializeObject<ResponseModel>(await response.Content.ReadAsStringAsync());
                    //Check Response List
                    foreach (var item in objResponse.documents)
                    {

                        //Checkings Empty Response and Return to Caller
                        if (objResponse.documents != null)
                        {
                            ObjDitectedLanguageResponse.Language = objResponse.documents[0].detectedLanguages[0].name;
                            return ObjDitectedLanguageResponse;
                        }
                        else
                        {
                            return "Sorry, I am not able to find a related topic! Would you like me to Bing Search?";
                        }

                    }


                }
                else
                {
                    var result_string = await response.Content.ReadAsStringAsync();
                    return result_string;
                }
            }
            return ObjDitectedLanguageResponse;
        }
        catch (Exception ex)
        {
            throw new NotImplementedException(ex.Message, ex.InnerException);
        }

    }

注:每个文档的当前限制为5,120个字符;如果您需要分析较大的文档,可以将它们分解为较小的块以获取更多信息,您可以参考official document

希望有帮助。如果您需要更多实施帮助please have a look on here

© www.soinside.com 2019 - 2024. All rights reserved.