/// <summary>
        /// Make a detect call to language detection pre-deployed model.
        /// </summary>
        /// <param name="request">The request object containing the details to send. Required.</param>
        /// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param>
        /// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param>
        /// <returns>A response object containing details about the completed operation</returns>
        /// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/ailanguage/DetectDominantLanguage.cs.html">here</a> to see an example of how to use DetectDominantLanguage API.</example>
        public async Task <DetectDominantLanguageResponse> DetectDominantLanguage(DetectDominantLanguageRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default)
        {
            logger.Trace("Called detectDominantLanguage");
            Uri                uri            = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/actions/detectDominantLanguage".Trim('/')));
            HttpMethod         method         = new HttpMethod("POST");
            HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request);

            requestMessage.Headers.Add("Accept", "application/json");
            GenericRetrier      retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration);
            HttpResponseMessage responseMessage;

            try
            {
                if (retryingClient != null)
                {
                    responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, cancellationToken).ConfigureAwait(false);
                }
                else
                {
                    responseMessage = await this.restClient.HttpSend(requestMessage).ConfigureAwait(false);
                }
                this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage);

                return(Converter.FromHttpResponseMessage <DetectDominantLanguageResponse>(responseMessage));
            }
            catch (Exception e)
            {
                logger.Error($"DetectDominantLanguage failed with error: {e.Message}");
                throw;
            }
        }
Beispiel #2
0
        internal virtual DetectDominantLanguageResponse DetectDominantLanguage(DetectDominantLanguageRequest request)
        {
            var marshaller   = new DetectDominantLanguageRequestMarshaller();
            var unmarshaller = DetectDominantLanguageResponseUnmarshaller.Instance;

            return(Invoke <DetectDominantLanguageRequest, DetectDominantLanguageResponse>(request, marshaller, unmarshaller));
        }
        public async Task ReceiveQueue(SQSEvent input, ILambdaContext context)
        {
            var messageBody = JsonConvert.DeserializeObject <CommentsQueueRequest>(input.Records[0].Body);

            //DETECT LANGUAGE

            var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.EUCentral1);

            var detectDominantLanguageRequest = new DetectDominantLanguageRequest
            {
                Text = messageBody.Comment
            };

            var detectDominantLanguageResponse = await comprehendClient.DetectDominantLanguageAsync(detectDominantLanguageRequest);

            if (detectDominantLanguageResponse.HttpStatusCode != HttpStatusCode.OK)
            {
                throw new Exception("NOT FOUND");
            }

            var languageResponse = detectDominantLanguageResponse.Languages.OrderByDescending((x) => x.Score).FirstOrDefault();

            //UPDATE DOCUMENT

            var dynamoDBClient  = new AmazonDynamoDBClient();
            var commentsCatalog = Table.LoadTable(dynamoDBClient, Environment.GetEnvironmentVariable("DBTableName"));

            var commentDocument = new Document();

            commentDocument["id"]       = messageBody.Id;
            commentDocument["language"] = languageResponse.LanguageCode;

            var updatedComment = await commentsCatalog.UpdateItemAsync(commentDocument);
        }
Beispiel #4
0
        public async Task <DetectDominantLanguageResponse> GetLanguage(string text)
        {
            var request = new DetectDominantLanguageRequest()
            {
                Text = text
            };
            var response = await _Client.DetectDominantLanguageAsync(request);

            return(response);
        }
Beispiel #5
0
        /// <summary>
        /// detect language of the text
        /// </summary>
        /// <param name="text">text to analyze</param>
        /// <returns>code of language</returns>
        public static string DetectLanguage(string text)
        {
            BasicAWSCredentials credentials =
                new BasicAWSCredentials("there should be secret id", "there should be secret key");
            AmazonComprehendClient amazonComprehendClient =
                new AmazonComprehendClient(credentials, RegionEndpoint.EUCentral1);

            DetectDominantLanguageRequest detectLanguageRequest = new DetectDominantLanguageRequest();

            detectLanguageRequest.Text = text;

            Task <DetectDominantLanguageResponse> lang =
                amazonComprehendClient.DetectDominantLanguageAsync(detectLanguageRequest);

            return(lang.Result.Languages[0].LanguageCode);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            // Log into client with credentials
            AmazonComprehendClient client = new AmazonComprehendClient(Amazon.RegionEndpoint.USEast1);

            // Load XML doc
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load("phrases_old.xml");
            XmlElement  rootElement   = xmlDoc.DocumentElement;
            XmlNodeList rootsChildren = rootElement.ChildNodes;

            // List of language codes
            List <string> languageCodes = new List <string>();

            // Iterate over each child and send request to detect language for inner text of each node
            foreach (XmlNode node in rootsChildren)
            {
                DetectDominantLanguageRequest request = new DetectDominantLanguageRequest
                {
                    Text = node.InnerText
                };

                DetectDominantLanguageResponse response = client.DetectDominantLanguage(request);

                string test = string.Empty;

                // Add language found for each child statement to list
                foreach (DominantLanguage language in response.Languages)
                {
                    test += language.LanguageCode + ", ";
                }
                languageCodes.Add(test);
            }

            // print results of language found
            int i = 0;

            foreach (XmlNode node in rootsChildren)
            {
                Console.Write("Phrase " + node.Attributes[0].Name + ": " + node.Attributes[0].Value + "      ");
                Console.WriteLine(node.Attributes[1].Value + " : " + languageCodes[i].Substring(0, languageCodes[i].Length - 2));
                i++;
            }

            Console.ReadLine();
        }
        public static void Sample()
        {
            String text = "It is raining today in Seattle";

            var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2);

            // Call DetectDominantLanguage API
            Console.WriteLine("Calling DetectDominantLanguage\n");
            var detectDominantLanguageRequest = new DetectDominantLanguageRequest()
            {
                Text = text
            };
            var detectDominantLanguageResponse = comprehendClient.DetectDominantLanguage(detectDominantLanguageRequest);

            foreach (var dl in detectDominantLanguageResponse.Languages)
            {
                Console.WriteLine("Language Code: {0}, Score: {1}", dl.LanguageCode, dl.Score);
            }
            Console.WriteLine("Done");
        }
Beispiel #8
0
        /// <summary>
        /// Calls Amazon Comprehend to determine the dominant language used in
        /// the sample text.
        /// </summary>
        public static async Task Main()
        {
            string text = "It is raining today in Seattle.";

            var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2);

            Console.WriteLine("Calling DetectDominantLanguage\n");
            var detectDominantLanguageRequest = new DetectDominantLanguageRequest()
            {
                Text = text,
            };

            var detectDominantLanguageResponse = await comprehendClient.DetectDominantLanguageAsync(detectDominantLanguageRequest);

            foreach (var dl in detectDominantLanguageResponse.Languages)
            {
                Console.WriteLine($"Language Code: {dl.LanguageCode}, Score: {dl.Score}");
            }

            Console.WriteLine("Done");
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            DetectDominantLanguageRequest request;

            try
            {
                request = new DetectDominantLanguageRequest
                {
                    DetectDominantLanguageDetails = DetectDominantLanguageDetails,
                    OpcRequestId = OpcRequestId
                };

                response = client.DetectDominantLanguage(request).GetAwaiter().GetResult();
                WriteOutput(response, response.DetectDominantLanguageResult);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
Beispiel #10
0
        private static string DetectDominantLanguage(string text, AmazonComprehendClient comprehendClient)
        {
            var stringBuilder = new StringBuilder();

            var detectDominantLanguageRequest = new DetectDominantLanguageRequest()
            {
                Text = text
            };

            var detectDominantLanguageResponse = comprehendClient.DetectDominantLanguage(detectDominantLanguageRequest);

            stringBuilder.AppendLine("Detect Dominant Language:");
            stringBuilder.AppendLine("==========================");

            foreach (var dominantLanguage in detectDominantLanguageResponse.Languages)
            {
                stringBuilder.AppendLine(string.Format("Language Code: {0}, Score: {1}",
                                                       dominantLanguage.LanguageCode, dominantLanguage.Score));
            }

            Console.WriteLine("DetectDominantLanguage => Done\n");

            return(stringBuilder.ToString());
        }
Beispiel #11
0
        /// <summary>
        /// Initiates the asynchronous execution of the DetectDominantLanguage operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the DetectDominantLanguage operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectDominantLanguage">REST API Reference for DetectDominantLanguage Operation</seealso>
        public virtual Task <DetectDominantLanguageResponse> DetectDominantLanguageAsync(DetectDominantLanguageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new DetectDominantLanguageRequestMarshaller();
            var unmarshaller = DetectDominantLanguageResponseUnmarshaller.Instance;

            return(InvokeAsync <DetectDominantLanguageRequest, DetectDominantLanguageResponse>(request, marshaller,
                                                                                               unmarshaller, cancellationToken));
        }