private async Task <IEnumerable <AnalysisResult> > GetAnalysisResultsAsync(MultiLanguageBatchInput batchInput) { KeyPhraseBatchResult keyPhraseBatchResult = await _textAnalyticsAPI.KeyPhrasesAsync(batchInput); SentimentBatchResult sentimentBatchResult = await _textAnalyticsAPI.SentimentAsync(batchInput); foreach (var keyPhrase in keyPhraseBatchResult.Documents) { string tweet = batchInput.Documents .Where(d => d.Id == keyPhrase.Id) .Select(t => t.Text) .FirstOrDefault(); var sentiment = sentimentBatchResult.Documents .Where(s => s.Id == keyPhrase.Id) .FirstOrDefault(); if (IsSignificant(sentiment.Score) && !keyPhrase.KeyPhrases.Count().Equals(0)) { AnalysisResult analysisResult = new AnalysisResult { KeyPhrases = keyPhrase.KeyPhrases, Attitude = DeriveAttitude(sentiment.Score), Tweet = tweet }; _analysisResults.Add(analysisResult); } } return(_analysisResults); }
internal async Task <KeyPhraseBatchResult> KeyPhraseCall(ITextAnalyticsAPI client, List <MultiLanguageInput> list) { return(await client.KeyPhrasesAsync( new MultiLanguageBatchInput(list))); }