public Analyzer(string xml) { ITextAnalyticsAPI client = Program.Client(); string xmlString = xml; Console.OutputEncoding = System.Text.Encoding.UTF8; Console.WriteLine("\n\n####TEXT ANALYSIS####"); KeyPhraseBatchResult analysis = client.KeyPhrases( new MultiLanguageBatchInput( new List <MultiLanguageInput>() { new MultiLanguageInput("en", "1", xmlString), })); foreach (var item in analysis.Documents) { Console.WriteLine("Document ID: {0}", item.Id); Console.WriteLine("\t Key phrases"); foreach (string keyphrase in item.KeyPhrases) { Console.WriteLine(keyphrase); phrases = item.KeyPhrases; } } Sentiment(phrases); Recommendations(phrases); }
private static void KeyPhrases(ITextAnalyticsAPI client) { // Getting key-phrases Console.WriteLine("\n\n===== KEY-PHRASE EXTRACTION ======"); var inputs2 = new List <MultiLanguageInput>() { new MultiLanguageInput("zh", "1", "我的兔子花花好可爱."), new MultiLanguageInput("de", "2", "Fahrt nach Stuttgart und dann zum Hotel zu Fu."), new MultiLanguageInput("en", "3", "My cat is stiff as a rock."), new MultiLanguageInput("es", "4", "A mi me encanta el fútbol!") }; KeyPhraseBatchResult result2 = client.KeyPhrases(new MultiLanguageBatchInput(inputs2)); // Printing keyphrases foreach (var document in result2.Documents) { Console.WriteLine("Document ID: {0} ", document.Id); Console.WriteLine("\t Key phrases:"); foreach (string keyphrase in document.KeyPhrases) { Console.WriteLine("\t\t" + keyphrase); } Console.WriteLine($"Text: {inputs2.FirstOrDefault(i => i.Id == document.Id).Text}"); Console.WriteLine(); } }
public string[] ExtractKeyPhrases(string text, string language) { KeyPhraseBatchResult result = _AnalyticsClient.KeyPhrases( new MultiLanguageBatchInput( new List <MultiLanguageInput>() { new MultiLanguageInput(language, "1", text) })); if (result.Documents.Any()) { return(result.Documents.First().KeyPhrases.ToArray()); } return(new string[] { "Restricted" }); }
public TextAnalyticsModel TextAnalysis(string value) { TextAnalyticsModel objTextAnalyticsModel = new TextAnalyticsModel(); // Extracting language //"===== LANGUAGE EXTRACTION ======"); LanguageBatchResult result = client.DetectLanguage( new BatchInput( new List <Input>() { new Input("1", value) }) ); StringBuilder strbld = new StringBuilder(); string Language = string.Empty; var allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures); string TwoLetterISOLanguageName = string.Empty; // Printing language results. foreach (var document in result.Documents) { //strbld.Append(" Language: " + document.DetectedLanguages[0].Name); Language = document.DetectedLanguages[0].Name; objTextAnalyticsModel.Language = document.DetectedLanguages[0].Name; TwoLetterISOLanguageName = allCultures.FirstOrDefault(c => c.DisplayName == Language).Name; } // Getting key-phrases //Console.WriteLine("\n\n===== KEY-PHRASE EXTRACTION ======"); KeyPhraseBatchResult result2 = client.KeyPhrases( new MultiLanguageBatchInput( new List <MultiLanguageInput>() { new MultiLanguageInput(TwoLetterISOLanguageName, "1", value) })); // Printing keyphrases foreach (var document in result2.Documents) { // strbld.Append(" Key Phrases: "); foreach (string keyphrase in document.KeyPhrases) { strbld.Append(keyphrase + ", "); //Console.WriteLine("\t\t" + keyphrase); objTextAnalyticsModel.KeyPhrases = strbld.ToString(); } } // Extracting sentiment //Console.WriteLine("\n\n===== SENTIMENT ANALYSIS ======"); SentimentBatchResult result3 = client.Sentiment( new MultiLanguageBatchInput( new List <MultiLanguageInput>() { new MultiLanguageInput(TwoLetterISOLanguageName, "0", value) })); // Printing sentiment results foreach (var document in result3.Documents) { //Console.WriteLine("Document ID: {0} , Sentiment Score: {1:0.00}", document.Id, document.Score); strbld.Append(" Sentiment Score: " + document.Score); objTextAnalyticsModel.SentimentScore = document.Score.ToString(); } return(objTextAnalyticsModel); }
public KeyPhraseBatchResult GetKeyPhrases(List <MultiLanguageInput> data) { return(_client.KeyPhrases(new MultiLanguageBatchInput(data))); }