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); }
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; }
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); }
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); }