Skip to main content

data_for_seo/entity/content_analysis/
sentiment_analysis.rs

1use crate::entity::ContentAnalysisApiSummary;
2use serde::{Deserialize, Serialize};
3
4/// Result of `content_analysis/sentiment_analysis/live`: citation stats split
5/// by sentiment polarity and by sentiment connotation.
6/// See <https://docs.dataforseo.com/v3/content_analysis/sentiment_analysis/live/>.
7#[derive(Debug, Default, Serialize, Deserialize, Clone)]
8pub struct ContentAnalysisApiSentimentAnalysis {
9    /// Element type.
10    #[serde(rename = "type")]
11    pub element_type: Option<String>,
12    /// Citation metrics grouped by sentiment polarity.
13    pub positive_connotation_distribution: Option<ContentAnalysisPositiveConnotationDistribution>,
14    /// Citation metrics grouped by sentiment connotation.
15    pub sentiment_connotation_distribution: Option<ContentAnalysisSentimentConnotationDistribution>,
16}
17
18/// Citation metrics grouped by sentiment polarity.
19#[derive(Debug, Default, Serialize, Deserialize, Clone)]
20pub struct ContentAnalysisPositiveConnotationDistribution {
21    /// Metrics for citations with positive sentiment.
22    pub positive: Option<ContentAnalysisApiSummary>,
23    /// Metrics for citations with negative sentiment.
24    pub negative: Option<ContentAnalysisApiSummary>,
25    /// Metrics for citations with neutral sentiment.
26    pub neutral: Option<ContentAnalysisApiSummary>,
27}
28
29/// Citation metrics grouped by sentiment connotation.
30#[derive(Debug, Default, Serialize, Deserialize, Clone)]
31pub struct ContentAnalysisSentimentConnotationDistribution {
32    /// Metrics for citations connoting anger.
33    pub anger: Option<ContentAnalysisApiSummary>,
34    /// Metrics for citations connoting happiness.
35    pub happiness: Option<ContentAnalysisApiSummary>,
36    /// Metrics for citations connoting love.
37    pub love: Option<ContentAnalysisApiSummary>,
38    /// Metrics for citations connoting sadness.
39    pub sadness: Option<ContentAnalysisApiSummary>,
40    /// Metrics for citations connoting a share impulse.
41    pub share: Option<ContentAnalysisApiSummary>,
42    /// Metrics for citations connoting fun.
43    pub fun: Option<ContentAnalysisApiSummary>,
44}