| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  | # Copyright 2015 Google Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  | # you may not use this file except in compliance with the License. | 
					
						
							|  |  |  | # You may obtain a copy of the License at | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  | # distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  | # See the License for the specific language governing permissions and | 
					
						
							|  |  |  | # limitations under the License. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'date' | 
					
						
							|  |  |  | require 'google/apis/core/base_service' | 
					
						
							|  |  |  | require 'google/apis/core/json_representation' | 
					
						
							|  |  |  | require 'google/apis/core/hashable' | 
					
						
							|  |  |  | require 'google/apis/errors' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Google | 
					
						
							|  |  |  |   module Apis | 
					
						
							|  |  |  |     module CommentanalyzerV1alpha1 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The comment analysis request message. | 
					
						
							| 
									
										
										
										
											2019-09-10 21:25:47 +00:00
										 |  |  |       # LINT.IfChange | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       class AnalyzeCommentRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Opaque token that is echoed from the request to the response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Represents a body of text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `comment` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::TextEntry] | 
					
						
							|  |  |  |         attr_accessor :comment | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `communityId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :community_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Context is typically something that a Comment is referencing or replying to | 
					
						
							|  |  |  |         # (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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `context` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::Context] | 
					
						
							|  |  |  |         attr_accessor :context | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Do not store the comment or context sent in this request. By default, the | 
					
						
							|  |  |  |         # service may store comments/context for debugging purposes. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `doNotStore` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :do_not_store | 
					
						
							|  |  |  |         alias_method :do_not_store?, :do_not_store | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `languages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :languages | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specification of requested attributes. The AttributeParameters serve as | 
					
						
							|  |  |  |         # configuration for each associated attribute. The map keys are attribute | 
					
						
							| 
									
										
										
										
											2019-09-25 00:38:21 +00:00
										 |  |  |         # names. The available attributes may be different on each RFE installation, | 
					
						
							|  |  |  |         # and can be seen by calling ListAttributes (see above). | 
					
						
							|  |  |  |         # For the prod installation, known as Perspective API, at | 
					
						
							|  |  |  |         # blade:commentanalyzer-esf and commentanalyzer.googleapis.com, see | 
					
						
							|  |  |  |         # go/checker-models (internal) and | 
					
						
							|  |  |  |         # https://github.com/conversationai/perspectiveapi/blob/master/api_reference.md# | 
					
						
							|  |  |  |         # models. | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Corresponds to the JSON property `requestedAttributes` | 
					
						
							|  |  |  |         # @return [Hash<String,Google::Apis::CommentanalyzerV1alpha1::AttributeParameters>] | 
					
						
							|  |  |  |         attr_accessor :requested_attributes | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `sessionId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :session_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `spanAnnotations` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :span_annotations | 
					
						
							|  |  |  |         alias_method :span_annotations?, :span_annotations | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client_token = args[:client_token] if args.key?(:client_token) | 
					
						
							|  |  |  |           @comment = args[:comment] if args.key?(:comment) | 
					
						
							|  |  |  |           @community_id = args[:community_id] if args.key?(:community_id) | 
					
						
							|  |  |  |           @context = args[:context] if args.key?(:context) | 
					
						
							|  |  |  |           @do_not_store = args[:do_not_store] if args.key?(:do_not_store) | 
					
						
							|  |  |  |           @languages = args[:languages] if args.key?(:languages) | 
					
						
							|  |  |  |           @requested_attributes = args[:requested_attributes] if args.key?(:requested_attributes) | 
					
						
							|  |  |  |           @session_id = args[:session_id] if args.key?(:session_id) | 
					
						
							|  |  |  |           @span_annotations = args[:span_annotations] if args.key?(:span_annotations) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The comment analysis response message. | 
					
						
							|  |  |  |       class AnalyzeCommentResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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). | 
					
						
							|  |  |  |         # Corresponds to the JSON property `attributeScores` | 
					
						
							|  |  |  |         # @return [Hash<String,Google::Apis::CommentanalyzerV1alpha1::AttributeScores>] | 
					
						
							|  |  |  |         attr_accessor :attribute_scores | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Same token from the original AnalyzeCommentRequest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_token | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-05-29 00:37:58 +00:00
										 |  |  |         # Contains the languages detected from the text content, sorted in order of | 
					
						
							|  |  |  |         # likelihood. | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Corresponds to the JSON property `detectedLanguages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :detected_languages | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-05-29 00:37:58 +00:00
										 |  |  |         # 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 | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Corresponds to the JSON property `languages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :languages | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @attribute_scores = args[:attribute_scores] if args.key?(:attribute_scores) | 
					
						
							|  |  |  |           @client_token = args[:client_token] if args.key?(:client_token) | 
					
						
							|  |  |  |           @detected_languages = args[:detected_languages] if args.key?(:detected_languages) | 
					
						
							|  |  |  |           @languages = args[:languages] if args.key?(:languages) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A type of context specific to a comment left on a single-threaded comment | 
					
						
							|  |  |  |       # message board, where comments are either a top level comment or the child of | 
					
						
							|  |  |  |       # a top level comment. | 
					
						
							|  |  |  |       class ArticleAndParentComment | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Represents a body of text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `article` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::TextEntry] | 
					
						
							|  |  |  |         attr_accessor :article | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Represents a body of text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `parentComment` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::TextEntry] | 
					
						
							|  |  |  |         attr_accessor :parent_comment | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @article = args[:article] if args.key?(:article) | 
					
						
							|  |  |  |           @parent_comment = args[:parent_comment] if args.key?(:parent_comment) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Configurable parameters for attribute scoring. | 
					
						
							|  |  |  |       class AttributeParameters | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `scoreThreshold` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :score_threshold | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # What type of scores to return. If unset, defaults to probability scores. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `scoreType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :score_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @score_threshold = args[:score_threshold] if args.key?(:score_threshold) | 
					
						
							|  |  |  |           @score_type = args[:score_type] if args.key?(:score_type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # This holds score values for a single attribute. It contains both per-span | 
					
						
							|  |  |  |       # scores as well as an overall summary score.. | 
					
						
							|  |  |  |       class AttributeScores | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Per-span scores. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `spanScores` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::CommentanalyzerV1alpha1::SpanScore>] | 
					
						
							|  |  |  |         attr_accessor :span_scores | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Analysis scores are described by a value and a ScoreType. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `summaryScore` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::Score] | 
					
						
							|  |  |  |         attr_accessor :summary_score | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @span_scores = args[:span_scores] if args.key?(:span_scores) | 
					
						
							|  |  |  |           @summary_score = args[:summary_score] if args.key?(:summary_score) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Context is typically something that a Comment is referencing or replying to | 
					
						
							|  |  |  |       # (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. | 
					
						
							|  |  |  |       class Context | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A type of context specific to a comment left on a single-threaded comment | 
					
						
							|  |  |  |         # message board, where comments are either a top level comment or the child of | 
					
						
							|  |  |  |         # a top level comment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `articleAndParentComment` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::ArticleAndParentComment] | 
					
						
							|  |  |  |         attr_accessor :article_and_parent_comment | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A list of messages. For example, a linear comments section or forum thread. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `entries` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::CommentanalyzerV1alpha1::TextEntry>] | 
					
						
							|  |  |  |         attr_accessor :entries | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @article_and_parent_comment = args[:article_and_parent_comment] if args.key?(:article_and_parent_comment) | 
					
						
							|  |  |  |           @entries = args[:entries] if args.key?(:entries) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Analysis scores are described by a value and a ScoreType. | 
					
						
							|  |  |  |       class Score | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The type of the above value. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Score value. Semantics described by type below. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @type = args[:type] if args.key?(:type) | 
					
						
							|  |  |  |           @value = args[:value] if args.key?(:value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # This is a single score for a given span of text. | 
					
						
							|  |  |  |       class SpanScore | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # "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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `begin` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :begin | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `end` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Analysis scores are described by a value and a ScoreType. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `score` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::Score] | 
					
						
							|  |  |  |         attr_accessor :score | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @begin = args[:begin] if args.key?(:begin) | 
					
						
							|  |  |  |           @end = args[:end] if args.key?(:end) | 
					
						
							|  |  |  |           @score = args[:score] if args.key?(:score) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The comment score suggestion request message. | 
					
						
							|  |  |  |       class SuggestCommentScoreRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `attributeScores` | 
					
						
							|  |  |  |         # @return [Hash<String,Google::Apis::CommentanalyzerV1alpha1::AttributeScores>] | 
					
						
							|  |  |  |         attr_accessor :attribute_scores | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Opaque token that is echoed from the request to the response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Represents a body of text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `comment` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::TextEntry] | 
					
						
							|  |  |  |         attr_accessor :comment | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `communityId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :community_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Context is typically something that a Comment is referencing or replying to | 
					
						
							|  |  |  |         # (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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `context` | 
					
						
							|  |  |  |         # @return [Google::Apis::CommentanalyzerV1alpha1::Context] | 
					
						
							|  |  |  |         attr_accessor :context | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `languages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :languages | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # 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. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `sessionId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :session_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @attribute_scores = args[:attribute_scores] if args.key?(:attribute_scores) | 
					
						
							|  |  |  |           @client_token = args[:client_token] if args.key?(:client_token) | 
					
						
							|  |  |  |           @comment = args[:comment] if args.key?(:comment) | 
					
						
							|  |  |  |           @community_id = args[:community_id] if args.key?(:community_id) | 
					
						
							|  |  |  |           @context = args[:context] if args.key?(:context) | 
					
						
							|  |  |  |           @languages = args[:languages] if args.key?(:languages) | 
					
						
							|  |  |  |           @session_id = args[:session_id] if args.key?(:session_id) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The comment score suggestion response message. | 
					
						
							|  |  |  |       class SuggestCommentScoreResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Same token from the original SuggestCommentScoreRequest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `clientToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The list of languages detected from the comment text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `detectedLanguages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :detected_languages | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The list of languages provided in the request. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `requestedLanguages` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :requested_languages | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client_token = args[:client_token] if args.key?(:client_token) | 
					
						
							|  |  |  |           @detected_languages = args[:detected_languages] if args.key?(:detected_languages) | 
					
						
							|  |  |  |           @requested_languages = args[:requested_languages] if args.key?(:requested_languages) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Represents a body of text. | 
					
						
							|  |  |  |       class TextEntry | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # UTF-8 encoded text. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `text` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :text | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of the text field. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @text = args[:text] if args.key?(:text) | 
					
						
							|  |  |  |           @type = args[:type] if args.key?(:type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |