public static async Task AnalyzeLanguageAsync(string id, string text)
        {
            var document = new Document()
            {
                Id   = id,
                Text = text
            };

            var client = new LanguageClient(Constants.ApiKey)
            {
                Url = "https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/languages"
            };

            var request = new LanguageRequest();

            request.Documents.Add(document);

            try
            {
                var response = await client.GetLanguagesAsync(request);

                foreach (var doc in response.Documents)
                {
                    foreach (var language in doc.DetectedLanguages)
                    {
                        Console.WriteLine("The language is: {0} and the confidence is: {1}%", language.Name, language.Score * 100);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        private async void Analyze_Text(object sender, RoutedEventArgs e)
        {
            this.LanguageName = "";
            this.Confidence   = "";

            try
            {
                var document = new Document()
                {
                    Id = Guid.NewGuid().ToString(), Text = this.InputText
                };

                var request = new LanguageRequest();
                request.Documents.Add(document);

                MainWindow mainWindow = Window.GetWindow(this) as MainWindow;
                var        client     = new LanguageClient(mainWindow._scenariosControl.SubscriptionKey);

                MainWindow.Log("Request: Identifying language.");
                var response = await client.GetLanguagesAsync(request);

                MainWindow.Log("Response: Success. Language identified.");

                this.LanguageName = string.Format("{0} ({1})", response.Documents[0].DetectedLanguages[0].Name, response.Documents[0].DetectedLanguages[0].Iso639Name);

                var confidence = response.Documents[0].DetectedLanguages[0].Score * 100;
                this.Confidence = string.Format("{0}%", confidence);
            }
            catch (Exception ex)
            {
                MainWindow.Log(ex.Message);
            }
        }
        async Task ExecuteCheckTextAnalyticsApiCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                LanguageClient languageClient = new LanguageClient(ApiKeys.TextAnalyticsApiKey);
                languageClient.Url = "https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/languages";
                LanguageRequest lr = new LanguageRequest();
                lr.Documents.Add(new Document()
                {
                    Id   = Guid.NewGuid().ToString(),
                    Text = TextAnalyticsText
                });
                var lrResult = await languageClient.GetLanguagesAsync(lr);

                var language     = lrResult.Documents.First().DetectedLanguages.First().Name;
                var languageCode = lrResult.Documents.First().DetectedLanguages.First().Iso639Name;


                SentimentClient textClient = new SentimentClient(ApiKeys.TextAnalyticsApiKey);
                textClient.Url = "https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment";

                SentimentRequest sr = new SentimentRequest();

                sr.Documents.Add(new SentimentDocument()
                {
                    Id       = Guid.NewGuid().ToString(),
                    Text     = TextAnalyticsText,
                    Language = languageCode
                });

                var result = await textClient.GetSentimentAsync(sr);

                TextAnalyticsResult = $"Language: {language}, Sentiment Score: {result.Documents.First().Score}";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemplo n.º 4
0
        private static async Task RunLanguageIdentification()
        {
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("Begining language identification ({0})", DateTime.Now.ToString());

            foreach (var conversation in conversations)
            {
                var client = new LanguageClient(textAnalyticsApiKey);

                foreach (var message in conversation.Messages)
                {
                    try
                    {
                        var document = new Document()
                        {
                            Id   = message.Id.ToString(),
                            Text = message.Text
                        };

                        var request = new LanguageRequest();
                        request.Documents.Add(document);

                        var response = await client.GetLanguagesAsync(request);

                        message.Metadata.LanguageName            = response.Documents[0].DetectedLanguages[0].Iso639Name;
                        message.Metadata.LanguageConfidenceScore = response.Documents[0].DetectedLanguages[0].Score;

                        Console.Write("Conversation {0} | Message {1} | Language {2}", conversation.Id, message.Id, message.Metadata.LanguageName);
                    }
                    catch (Exception ex)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine();
                        Console.WriteLine("Exception encountered ({0})", DateTime.Now.ToString());
                        Console.WriteLine("Conversation {0} | Message {1}", conversation.Id, message.Id);
                        Console.WriteLine(ex.Message);
                    }
                }
                Console.WriteLine("Language identification complete ({0})", DateTime.Now.ToString());
                Console.WriteLine();
            }
        }
Exemplo n.º 5
0
        private async Task <string> GetLanguage(string text)
        {
            var document = new Document()
            {
                Id = Guid.NewGuid().ToString(), Text = text
            };

            var request = new LanguageRequest();

            request.Documents.Add(document);

            var client = new LanguageClient(_subKey)
            {
                Url = ConfigurationManager.AppSettings["TextSentimentServiceUrl"] + "/languages"
            };

            var response = await client.GetLanguagesAsync(request);

            return(response.Documents[0].DetectedLanguages[0].Iso639Name);
        }
        private static async Task HandleLanguageEvaluation(Activity activity)
        {
            var document = new Document()
            {
                Id   = Guid.NewGuid().ToString(),
                Text = activity.Text
            };

            var languageRequest = new LanguageRequest();

            languageRequest.Documents.Add(document);

            var languageClient = new LanguageClient(_configuration.LanguageApiKey);
            var connector      = new ConnectorClient(new Uri(activity.ServiceUrl));

            try
            {
                var languageResponse = await languageClient.GetLanguagesAsync(languageRequest);

                foreach (var doc in languageResponse.Documents)
                {
                    var lang = doc.DetectedLanguages
                               .Where(l => l.Score > _configuration.MinimumLanguageConfidence)
                               .Where(l => !l.Name.Equals(_configuration.PreferredLanguage, StringComparison.InvariantCultureIgnoreCase))
                               .Select(l => l.Name.Replace('_', ' '))
                               .ToList();

                    if (lang != null && lang.Any())
                    {
                        var candidates = String.Join(", or ", lang);
                        var reply      = activity.CreateReply($"That looks like {candidates}, please use {_configuration.PreferredLanguage} in this channel.");

                        await connector.Conversations.ReplyToActivityAsync(reply);
                    }
                }
            }
            catch (Exception ex)
            {
                await connector.Conversations.ReplyToActivityAsync(activity.CreateReply($"{ex.Message}"));
            }
        }
Exemplo n.º 7
0
        private async Task <string> GetLanguage()
        {
            var document = new Document()
            {
                Id = Guid.NewGuid().ToString(), Text = this.InputText
            };

            var request = new LanguageRequest();

            request.Documents.Add(document);

            MainWindow mainWindow = Window.GetWindow(this) as MainWindow;
            var        client     = new LanguageClient(mainWindow._scenariosControl.SubscriptionKey);

            MainWindow.Log("Request: Identifying language.");
            var response = await client.GetLanguagesAsync(request);

            MainWindow.Log("Response: Success. Language identified.");

            return(response.Documents[0].DetectedLanguages[0].Iso639Name);
        }
        static async Task MainAsync()
        {
            var apiKey = "YOUR-TEXT-ANALYTICS-API-SUBSCRIPTION-KEY";

            var document = new Document()
            {
                Id   = "YOUR-UNIQUE-ID",
                Text = "YOUR-TEXT"
            };

            var client = new LanguageClient(apiKey);

            var request = new LanguageRequest();

            request.Documents.Add(document);

            try
            {
                var response = await client.GetLanguagesAsync(request);

                foreach (var doc in response.Documents)
                {
                    Console.WriteLine("Document Id: {0}", doc.Id);

                    foreach (var lang in doc.DetectedLanguages)
                    {
                        Console.WriteLine("--Language: {0}({1})", lang.Name, lang.Iso639Name);
                        Console.WriteLine("--Confidence: {0}%", (lang.Score * 100));
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine();
            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }