internal SentenceSentiment(SentenceSentimentInternal sentenceSentiment)
        {
            // We shipped TA 5.0.0 Text == string.Empty if the service returned a null value for Text.
            // Because we don't want to introduce a breaking change, we are transforming that null to string.Empty
            Text = sentenceSentiment.Text ?? string.Empty;

            ConfidenceScores = sentenceSentiment.ConfidenceScores;
            Sentiment        = (TextSentiment)Enum.Parse(typeof(TextSentiment), sentenceSentiment.Sentiment, ignoreCase: true);
        }
Esempio n. 2
0
        internal SentenceSentiment(SentenceSentimentInternal sentenceSentiment, IReadOnlyList <SentenceSentimentInternal> allSentences)
        {
            // We shipped TA 5.0.0 Text == string.Empty if the service returned a null value for Text.
            // Because we don't want to introduce a breaking change, we are transforming that null to string.Empty
            Text = sentenceSentiment.Text ?? string.Empty;

            ConfidenceScores = sentenceSentiment.ConfidenceScores;
            Sentiment        = (TextSentiment)Enum.Parse(typeof(TextSentiment), sentenceSentiment.Sentiment, ignoreCase: true);
            MinedOpinions    = ConvertToMinedOpinions(sentenceSentiment, allSentences);
            Offset           = sentenceSentiment.Offset;
        }
Esempio n. 3
0
        private static IReadOnlyCollection <MinedOpinion> ConvertToMinedOpinions(SentenceSentimentInternal sentence, IReadOnlyList <SentenceSentimentInternal> allSentences)
        {
            var minedOpinions = new List <MinedOpinion>();

            foreach (SentenceAspect aspects in sentence.Aspects)
            {
                var opinions = new List <OpinionSentiment>();
                foreach (AspectRelation relation in aspects.Relations)
                {
                    if (relation.RelationType == AspectRelationType.Opinion)
                    {
                        opinions.Add(ResolveOpinionReference(allSentences, relation.Ref));
                    }
                }
                minedOpinions.Add(new MinedOpinion(new AspectSentiment(aspects), opinions));
            }

            return(minedOpinions);
        }
Esempio n. 4
0
        private static IReadOnlyCollection <SentenceOpinion> ConvertToOpinion(SentenceSentimentInternal sentence, IReadOnlyList <SentenceSentimentInternal> allSentences)
        {
            var opinions = new List <SentenceOpinion>();

            foreach (SentenceTarget target in sentence.Targets)
            {
                var assessment = new List <AssessmentSentiment>();
                foreach (TargetRelation relation in target.Relations)
                {
                    if (relation.RelationType == TargetRelationType.Assessment)
                    {
                        assessment.Add(ResolveAssessmentReference(allSentences, relation.Ref));
                    }
                }
                opinions.Add(new SentenceOpinion(new TargetSentiment(target), assessment));
            }

            return(opinions);
        }