public void AnalyseText(string text) { if (string.IsNullOrWhiteSpace(text)) { return; } SentimentResult sentiment = textAnalyticsClient.Sentiment(text); KeyPhraseResult keywords = textAnalyticsClient.KeyPhrases(text); foreach (string keyword in keywords.KeyPhrases.Select(x => x.ToLower().Trim())) { if (!keywordCounts.ContainsKey(keyword)) { keywordCounts.Add(keyword, 1); } else { keywordCounts[keyword]++; } } string sentimentWord = sentiment.ToDescription(); string commonKeywords = string.Join(", ", keywordCounts.OrderByDescending(x => x.Value) .Take(4) .Select(x => $"{x.Key} [{x.Value}]")); Console.WriteLine($"Sentiment is {sentimentWord} [{sentiment.Score}]"); Console.WriteLine($" Common keywords are: {commonKeywords}"); Console.WriteLine(); }
public static async Task Main() { string endpoint = "<endpointGoesHere>"; string key = "<apiKeyGoesHere>"; ApiKeyServiceClientCredentials credentials = new ApiKeyServiceClientCredentials(key); using (TextAnalyticsClient client = new TextAnalyticsClient(credentials) { Endpoint = endpoint }) { while (true) { // Read the users input Console.Write("\n--------------------\nEnter some text: "); string input = Console.ReadLine(); // Detect the language LanguageResult languageResult = await client.DetectLanguageAsync(input); Console.WriteLine("\n> Language: " + languageResult.ToDescription()); string languageCode = languageResult.HighestLanguageCode(); // Detect the sentiment SentimentResult sentimentResult = await client.SentimentAsync(input, languageCode); Console.WriteLine($"> Sentiment: {sentimentResult.Score} - {sentimentResult.ToDescription()}"); // Detect the key phrases KeyPhraseResult keyPhraseResult = await client.KeyPhrasesAsync(input, languageCode); Console.WriteLine("> Key Phrases: " + string.Join(", ", keyPhraseResult.KeyPhrases)); } } }