Perspective Comment Analyzer API . comments

Instance Methods

analyze(body, x__xgafv=None)

Analyzes the provided text and returns scores for requested attributes.

suggestscore(body, x__xgafv=None)

Suggest comment scores as training data.

Method Details

analyze(body, x__xgafv=None)
Analyzes the provided text and returns scores for requested attributes.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # The comment analysis request message.
    "comment": { # Represents a body of text. # The comment to analyze.
      "text": "A String", # UTF-8 encoded text.
      "type": "A String", # Type of the text field.
    },
    "doNotStore": True or False, # Do not store the comment or context sent in this request. By default, the
        # service may store comments/context for debugging purposes.
    "languages": [ # The language(s) of the comment and context (if none are specified, the
        # language is automatically detected). If multiple languages are specified,
        # the text is checked in all of them that are supported. Both ISO and BCP-47
        # language codes are accepted.
        # Current Language Restrictions:
        #  * Only English text ("en") is supported.
        # If none of the languages specified by the caller are supported, an
        # `UNIMPLEMENTED` error is returned.
      "A String",
    ],
    "sessionId": "A String", # Session ID. Used to join related RPCs into a single session. For example,
        # an interactive tool that calls both the AnalyzeComment and
        # SuggestCommentScore RPCs should set all invocations of both RPCs to the
        # same Session ID, typically a random 64-bit integer.
    "context": { # Context is typically something that a Comment is referencing or replying to # The context of the comment.
        # (such as an article, or previous comment).
        # Note: Populate only ONE OF the following fields. The oneof syntax cannot be
        # used because that would require nesting entries inside another message and
        # breaking backwards compatibility. The server will return an error if more
        # than one of the following fields is present.
      "articleAndParentComment": { # A type of context specific to a comment left on a single-threaded comment # Information about the source for which the original comment was made, and
          # any parent comment info.
          # message board, where comments are either a top level comment or the child of
          # a top level comment.
        "article": { # Represents a body of text. # The source content about which the comment was made (article text, article
            # summary, video transcript, etc).
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
        "parentComment": { # Represents a body of text. # Refers to text that is a direct parent of the source comment, such as in a
            # one-deep threaded message board. This field will only be present for
            # comments that are replies to other comments and will not be populated for
            # direct comments on the article_text.
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
      },
      "entries": [ # A list of messages. For example, a linear comments section or forum thread.
        { # Represents a body of text.
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
      ],
    },
    "clientToken": "A String", # Opaque token that is echoed from the request to the response.
    "requestedAttributes": { # Specification of requested attributes. The AttributeParameters serve as
        # configuration for each associated attribute. The map keys are attribute
        # names. The following attributes are available:
        # "ATTACK_ON_AUTHOR" - Attack on author of original article or post.
        # "ATTACK_ON_COMMENTER" - Attack on fellow commenter.
        # "ATTACK_ON_PUBLISHER" - Attack on publisher of article/post.
        # "INCOHERENT" - Difficult to understand, nonsensical.
        # "INFLAMMATORY" - Intending to provoke or inflame.
        # "OBSCENE" - Obscene, such as cursing.
        # "OFF_TOPIC" - Not related to the original topic.
        # "SPAM" - Commercial/advertising spam content.
        # "UNSUBSTANTIAL" - Trivial.
      "a_key": { # Configurable parameters for attribute scoring.
        "scoreThreshold": 3.14, # Don't return scores for this attribute that are below this threshold. If
            # unset, a default threshold will be applied. A FloatValue wrapper is used to
            # distinguish between 0 vs. default/unset.
        "scoreType": "A String", # What type of scores to return. If unset, defaults to probability scores.
      },
    },
    "spanAnnotations": True or False, # An advisory parameter that will return span annotations if the model
        # is capable of providing scores with sub-comment resolution. This will
        # likely increase the size of the returned message.
    "communityId": "A String", # Optional identifier associating this AnalyzeCommentRequest with a
        # particular client's community. Different communities may have different
        # norms and rules. Specifying this value enables us to explore building
        # community-specific models for clients.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The comment analysis response message.
    "languages": [ # The language(s) used by CommentAnalyzer service to choose which Model to
        # use when analyzing the comment. Might better be called
        # "effective_languages". The logic used to make the choice is as follows:
        #   if Request.languages.empty()
        #     effective_languages = detected_languages
        #   else
        #     effective_languages = Request.languages
      "A String",
    ],
    "detectedLanguages": [ # Contains the languages detected from the text content, sorted in order of
        # likelihood.
      "A String",
    ],
    "attributeScores": { # Scores for the requested attributes. The map keys are attribute names (same
        # as the requested_attribute field in AnalyzeCommentRequest, for example
        # "ATTACK_ON_AUTHOR", "INFLAMMATORY", etc).
      "a_key": { # This holds score values for a single attribute. It contains both per-span
          # scores as well as an overall summary score..
        "summaryScore": { # Analysis scores are described by a value and a ScoreType. # Overall score for comment as a whole.
          "type": "A String", # The type of the above value.
          "value": 3.14, # Score value. Semantics described by type below.
        },
        "spanScores": [ # Per-span scores.
          { # This is a single score for a given span of text.
            "begin": 42, # "begin" and "end" describe the span of the original text that the attribute
                # score applies to. The values are the UTF-16 codepoint range. "end" is
                # exclusive. For example, with the text "Hi there", the begin/end pair (0,2)
                # describes the text "Hi".
                #
                # If "begin" and "end" are unset, the score applies to the full text.
            "score": { # Analysis scores are described by a value and a ScoreType. # The score value.
              "type": "A String", # The type of the above value.
              "value": 3.14, # Score value. Semantics described by type below.
            },
            "end": 42,
          },
        ],
      },
    },
    "clientToken": "A String", # Same token from the original AnalyzeCommentRequest.
  }
suggestscore(body, x__xgafv=None)
Suggest comment scores as training data.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # The comment score suggestion request message.
    "comment": { # Represents a body of text. # The comment being scored.
      "text": "A String", # UTF-8 encoded text.
      "type": "A String", # Type of the text field.
    },
    "languages": [ # The language(s) of the comment and context (if none are specified, the
        # language is automatically detected). If multiple languages are specified,
        # the text is checked in all of them that are supported. Both ISO and BCP-47
        # language codes are accepted.
        # Current Language Restrictions:
        #  * Only English text ("en") is supported.
        # If none of the languages specified by the caller are supported, an
        # `UNIMPLEMENTED` error is returned.
      "A String",
    ],
    "sessionId": "A String", # Session ID. Used to join related RPCs into a single session. For example,
        # an interactive tool that calls both the AnalyzeComment and
        # SuggestCommentScore RPCs should set all invocations of both RPCs to the
        # same Session ID, typically a random 64-bit integer.
    "context": { # Context is typically something that a Comment is referencing or replying to # The context of the comment.
        # (such as an article, or previous comment).
        # Note: Populate only ONE OF the following fields. The oneof syntax cannot be
        # used because that would require nesting entries inside another message and
        # breaking backwards compatibility. The server will return an error if more
        # than one of the following fields is present.
      "articleAndParentComment": { # A type of context specific to a comment left on a single-threaded comment # Information about the source for which the original comment was made, and
          # any parent comment info.
          # message board, where comments are either a top level comment or the child of
          # a top level comment.
        "article": { # Represents a body of text. # The source content about which the comment was made (article text, article
            # summary, video transcript, etc).
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
        "parentComment": { # Represents a body of text. # Refers to text that is a direct parent of the source comment, such as in a
            # one-deep threaded message board. This field will only be present for
            # comments that are replies to other comments and will not be populated for
            # direct comments on the article_text.
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
      },
      "entries": [ # A list of messages. For example, a linear comments section or forum thread.
        { # Represents a body of text.
          "text": "A String", # UTF-8 encoded text.
          "type": "A String", # Type of the text field.
        },
      ],
    },
    "clientToken": "A String", # Opaque token that is echoed from the request to the response.
    "communityId": "A String", # Optional identifier associating this comment score suggestion with a
        # particular sub-community. Different communities may have different norms
        # and rules. Specifying this value enables training community-specific
        # models.
    "attributeScores": { # Attribute scores for the comment. The map keys are attribute names, same as
        # the requested_attribute field in AnalyzeCommentRequest (for example
        # "ATTACK_ON_AUTHOR", "INFLAMMATORY", etc.). This field has the same type as
        # the `attribute_scores` field in AnalyzeCommentResponse.
        # 
        # To specify an overall attribute score for the entire comment as a whole,
        # use the `summary_score` field of the mapped AttributeScores object. To
        # specify scores on specific subparts of the comment, use the `span_scores`
        # field. All SpanScore objects must have begin and end fields set.
        # 
        # All Score objects must be explicitly set (for binary classification, use
        # the score values 0 and 1). If Score objects don't include a ScoreType,
        # `PROBABILITY` is assumed.
        # 
        # `attribute_scores` must not be empty. The mapped AttributeScores objects
        # also must not be empty. An `INVALID_ARGUMENT` error is returned for all
        # malformed requests.
      "a_key": { # This holds score values for a single attribute. It contains both per-span
          # scores as well as an overall summary score..
        "summaryScore": { # Analysis scores are described by a value and a ScoreType. # Overall score for comment as a whole.
          "type": "A String", # The type of the above value.
          "value": 3.14, # Score value. Semantics described by type below.
        },
        "spanScores": [ # Per-span scores.
          { # This is a single score for a given span of text.
            "begin": 42, # "begin" and "end" describe the span of the original text that the attribute
                # score applies to. The values are the UTF-16 codepoint range. "end" is
                # exclusive. For example, with the text "Hi there", the begin/end pair (0,2)
                # describes the text "Hi".
                #
                # If "begin" and "end" are unset, the score applies to the full text.
            "score": { # Analysis scores are described by a value and a ScoreType. # The score value.
              "type": "A String", # The type of the above value.
              "value": 3.14, # Score value. Semantics described by type below.
            },
            "end": 42,
          },
        ],
      },
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The comment score suggestion response message.
    "requestedLanguages": [ # The list of languages provided in the request.
      "A String",
    ],
    "detectedLanguages": [ # The list of languages detected from the comment text.
      "A String",
    ],
    "clientToken": "A String", # Same token from the original SuggestCommentScoreRequest.
  }