758 lines
29 KiB
Ruby
758 lines
29 KiB
Ruby
# 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 LanguageV1
|
|
|
|
# The `Status` type defines a logical error model that is suitable for different
|
|
# programming environments, including REST APIs and RPC APIs. It is used by
|
|
# [gRPC](https://github.com/grpc). The error model is designed to be:
|
|
# - Simple to use and understand for most users
|
|
# - Flexible enough to meet unexpected needs
|
|
# # Overview
|
|
# The `Status` message contains three pieces of data: error code, error message,
|
|
# and error details. The error code should be an enum value of
|
|
# google.rpc.Code, but it may accept additional error codes if needed. The
|
|
# error message should be a developer-facing English message that helps
|
|
# developers *understand* and *resolve* the error. If a localized user-facing
|
|
# error message is needed, put the localized message in the error details or
|
|
# localize it in the client. The optional error details may contain arbitrary
|
|
# information about the error. There is a predefined set of error detail types
|
|
# in the package `google.rpc` which can be used for common error conditions.
|
|
# # Language mapping
|
|
# The `Status` message is the logical representation of the error model, but it
|
|
# is not necessarily the actual wire format. When the `Status` message is
|
|
# exposed in different client libraries and different wire protocols, it can be
|
|
# mapped differently. For example, it will likely be mapped to some exceptions
|
|
# in Java, but more likely mapped to some error codes in C.
|
|
# # Other uses
|
|
# The error model and the `Status` message can be used in a variety of
|
|
# environments, either with or without APIs, to provide a
|
|
# consistent developer experience across different environments.
|
|
# Example uses of this error model include:
|
|
# - Partial errors. If a service needs to return partial errors to the client,
|
|
# it may embed the `Status` in the normal response to indicate the partial
|
|
# errors.
|
|
# - Workflow errors. A typical workflow has multiple steps. Each step may
|
|
# have a `Status` message for error reporting purpose.
|
|
# - Batch operations. If a client uses batch request and batch response, the
|
|
# `Status` message should be used directly inside batch response, one for
|
|
# each error sub-response.
|
|
# - Asynchronous operations. If an API call embeds asynchronous operation
|
|
# results in its response, the status of those operations should be
|
|
# represented directly using the `Status` message.
|
|
# - Logging. If some API errors are stored in logs, the message `Status` could
|
|
# be used directly after any stripping needed for security/privacy reasons.
|
|
class Status
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of messages that carry the error details. There will be a
|
|
# common set of message types for APIs to use.
|
|
# Corresponds to the JSON property `details`
|
|
# @return [Array<Hash<String,Object>>]
|
|
attr_accessor :details
|
|
|
|
# The status code, which should be an enum value of google.rpc.Code.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [Fixnum]
|
|
attr_accessor :code
|
|
|
|
# A developer-facing error message, which should be in English. Any
|
|
# user-facing error message should be localized and sent in the
|
|
# google.rpc.Status.details field, or localized by the client.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@details = args[:details] if args.key?(:details)
|
|
@code = args[:code] if args.key?(:code)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
# All available features for sentiment, syntax, and semantic analysis.
|
|
# Setting each one to true will enable that specific analysis for the input.
|
|
class Features
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Extract syntax information.
|
|
# Corresponds to the JSON property `extractSyntax`
|
|
# @return [Boolean]
|
|
attr_accessor :extract_syntax
|
|
alias_method :extract_syntax?, :extract_syntax
|
|
|
|
# Extract document-level sentiment.
|
|
# Corresponds to the JSON property `extractDocumentSentiment`
|
|
# @return [Boolean]
|
|
attr_accessor :extract_document_sentiment
|
|
alias_method :extract_document_sentiment?, :extract_document_sentiment
|
|
|
|
# Extract entities.
|
|
# Corresponds to the JSON property `extractEntities`
|
|
# @return [Boolean]
|
|
attr_accessor :extract_entities
|
|
alias_method :extract_entities?, :extract_entities
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@extract_syntax = args[:extract_syntax] if args.key?(:extract_syntax)
|
|
@extract_document_sentiment = args[:extract_document_sentiment] if args.key?(:extract_document_sentiment)
|
|
@extract_entities = args[:extract_entities] if args.key?(:extract_entities)
|
|
end
|
|
end
|
|
|
|
# Represents a mention for an entity in the text. Currently, proper noun
|
|
# mentions are supported.
|
|
class EntityMention
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents an output piece of text.
|
|
# Corresponds to the JSON property `text`
|
|
# @return [Google::Apis::LanguageV1::TextSpan]
|
|
attr_accessor :text
|
|
|
|
# The type of the entity mention.
|
|
# 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
|
|
|
|
# ################################################################ #
|
|
# Represents the input to API methods.
|
|
class Document
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Google Cloud Storage URI where the file content is located.
|
|
# This URI must be of the form: gs://bucket_name/object_name. For more
|
|
# details, see https://cloud.google.com/storage/docs/reference-uris.
|
|
# NOTE: Cloud Storage object versioning is not supported.
|
|
# Corresponds to the JSON property `gcsContentUri`
|
|
# @return [String]
|
|
attr_accessor :gcs_content_uri
|
|
|
|
# The language of the document (if not specified, the language is
|
|
# automatically detected). Both ISO and BCP-47 language codes are
|
|
# accepted.<br>
|
|
# [Language Support](https://cloud.google.com/natural-language/docs/languages)
|
|
# lists currently supported languages for each API method.
|
|
# If the language (either specified by the caller or automatically detected)
|
|
# is not supported by the called API method, an `INVALID_ARGUMENT` error
|
|
# is returned.
|
|
# Corresponds to the JSON property `language`
|
|
# @return [String]
|
|
attr_accessor :language
|
|
|
|
# Required. If the type is not set or is `TYPE_UNSPECIFIED`,
|
|
# returns an `INVALID_ARGUMENT` error.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# The content of the input in string format.
|
|
# Corresponds to the JSON property `content`
|
|
# @return [String]
|
|
attr_accessor :content
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@gcs_content_uri = args[:gcs_content_uri] if args.key?(:gcs_content_uri)
|
|
@language = args[:language] if args.key?(:language)
|
|
@type = args[:type] if args.key?(:type)
|
|
@content = args[:content] if args.key?(:content)
|
|
end
|
|
end
|
|
|
|
# Represents a sentence in the input document.
|
|
class Sentence
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents the feeling associated with the entire text or entities in
|
|
# the text.
|
|
# Corresponds to the JSON property `sentiment`
|
|
# @return [Google::Apis::LanguageV1::Sentiment]
|
|
attr_accessor :sentiment
|
|
|
|
# Represents an output piece of text.
|
|
# Corresponds to the JSON property `text`
|
|
# @return [Google::Apis::LanguageV1::TextSpan]
|
|
attr_accessor :text
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@sentiment = args[:sentiment] if args.key?(:sentiment)
|
|
@text = args[:text] if args.key?(:text)
|
|
end
|
|
end
|
|
|
|
# Represents the feeling associated with the entire text or entities in
|
|
# the text.
|
|
class Sentiment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Sentiment score between -1.0 (negative sentiment) and 1.0
|
|
# (positive sentiment).
|
|
# Corresponds to the JSON property `score`
|
|
# @return [Float]
|
|
attr_accessor :score
|
|
|
|
# A non-negative number in the [0, +inf) range, which represents
|
|
# the absolute magnitude of sentiment regardless of score (positive or
|
|
# negative).
|
|
# Corresponds to the JSON property `magnitude`
|
|
# @return [Float]
|
|
attr_accessor :magnitude
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@score = args[:score] if args.key?(:score)
|
|
@magnitude = args[:magnitude] if args.key?(:magnitude)
|
|
end
|
|
end
|
|
|
|
# The entity analysis request message.
|
|
class AnalyzeEntitiesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The encoding type used by the API to calculate offsets.
|
|
# Corresponds to the JSON property `encodingType`
|
|
# @return [String]
|
|
attr_accessor :encoding_type
|
|
|
|
# ################################################################ #
|
|
# Represents the input to API methods.
|
|
# Corresponds to the JSON property `document`
|
|
# @return [Google::Apis::LanguageV1::Document]
|
|
attr_accessor :document
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encoding_type = args[:encoding_type] if args.key?(:encoding_type)
|
|
@document = args[:document] if args.key?(:document)
|
|
end
|
|
end
|
|
|
|
# Represents part of speech information for a token. Parts of speech
|
|
# are as defined in
|
|
# http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
|
|
class PartOfSpeech
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The grammatical case.
|
|
# Corresponds to the JSON property `case`
|
|
# @return [String]
|
|
attr_accessor :case
|
|
|
|
# The grammatical tense.
|
|
# Corresponds to the JSON property `tense`
|
|
# @return [String]
|
|
attr_accessor :tense
|
|
|
|
# The grammatical reciprocity.
|
|
# Corresponds to the JSON property `reciprocity`
|
|
# @return [String]
|
|
attr_accessor :reciprocity
|
|
|
|
# The grammatical form.
|
|
# Corresponds to the JSON property `form`
|
|
# @return [String]
|
|
attr_accessor :form
|
|
|
|
# The grammatical number.
|
|
# Corresponds to the JSON property `number`
|
|
# @return [String]
|
|
attr_accessor :number
|
|
|
|
# The grammatical voice.
|
|
# Corresponds to the JSON property `voice`
|
|
# @return [String]
|
|
attr_accessor :voice
|
|
|
|
# The grammatical aspect.
|
|
# Corresponds to the JSON property `aspect`
|
|
# @return [String]
|
|
attr_accessor :aspect
|
|
|
|
# The grammatical mood.
|
|
# Corresponds to the JSON property `mood`
|
|
# @return [String]
|
|
attr_accessor :mood
|
|
|
|
# The part of speech tag.
|
|
# Corresponds to the JSON property `tag`
|
|
# @return [String]
|
|
attr_accessor :tag
|
|
|
|
# The grammatical gender.
|
|
# Corresponds to the JSON property `gender`
|
|
# @return [String]
|
|
attr_accessor :gender
|
|
|
|
# The grammatical person.
|
|
# Corresponds to the JSON property `person`
|
|
# @return [String]
|
|
attr_accessor :person
|
|
|
|
# The grammatical properness.
|
|
# Corresponds to the JSON property `proper`
|
|
# @return [String]
|
|
attr_accessor :proper
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@case = args[:case] if args.key?(:case)
|
|
@tense = args[:tense] if args.key?(:tense)
|
|
@reciprocity = args[:reciprocity] if args.key?(:reciprocity)
|
|
@form = args[:form] if args.key?(:form)
|
|
@number = args[:number] if args.key?(:number)
|
|
@voice = args[:voice] if args.key?(:voice)
|
|
@aspect = args[:aspect] if args.key?(:aspect)
|
|
@mood = args[:mood] if args.key?(:mood)
|
|
@tag = args[:tag] if args.key?(:tag)
|
|
@gender = args[:gender] if args.key?(:gender)
|
|
@person = args[:person] if args.key?(:person)
|
|
@proper = args[:proper] if args.key?(:proper)
|
|
end
|
|
end
|
|
|
|
# The syntax analysis request message.
|
|
class AnalyzeSyntaxRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The encoding type used by the API to calculate offsets.
|
|
# Corresponds to the JSON property `encodingType`
|
|
# @return [String]
|
|
attr_accessor :encoding_type
|
|
|
|
# ################################################################ #
|
|
# Represents the input to API methods.
|
|
# Corresponds to the JSON property `document`
|
|
# @return [Google::Apis::LanguageV1::Document]
|
|
attr_accessor :document
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encoding_type = args[:encoding_type] if args.key?(:encoding_type)
|
|
@document = args[:document] if args.key?(:document)
|
|
end
|
|
end
|
|
|
|
# The sentiment analysis response message.
|
|
class AnalyzeSentimentResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents the feeling associated with the entire text or entities in
|
|
# the text.
|
|
# Corresponds to the JSON property `documentSentiment`
|
|
# @return [Google::Apis::LanguageV1::Sentiment]
|
|
attr_accessor :document_sentiment
|
|
|
|
# The language of the text, which will be the same as the language specified
|
|
# in the request or, if not specified, the automatically-detected language.
|
|
# See Document.language field for more details.
|
|
# Corresponds to the JSON property `language`
|
|
# @return [String]
|
|
attr_accessor :language
|
|
|
|
# The sentiment for all the sentences in the document.
|
|
# Corresponds to the JSON property `sentences`
|
|
# @return [Array<Google::Apis::LanguageV1::Sentence>]
|
|
attr_accessor :sentences
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@document_sentiment = args[:document_sentiment] if args.key?(:document_sentiment)
|
|
@language = args[:language] if args.key?(:language)
|
|
@sentences = args[:sentences] if args.key?(:sentences)
|
|
end
|
|
end
|
|
|
|
# The entity analysis response message.
|
|
class AnalyzeEntitiesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The language of the text, which will be the same as the language specified
|
|
# in the request or, if not specified, the automatically-detected language.
|
|
# See Document.language field for more details.
|
|
# Corresponds to the JSON property `language`
|
|
# @return [String]
|
|
attr_accessor :language
|
|
|
|
# The recognized entities in the input document.
|
|
# Corresponds to the JSON property `entities`
|
|
# @return [Array<Google::Apis::LanguageV1::Entity>]
|
|
attr_accessor :entities
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@language = args[:language] if args.key?(:language)
|
|
@entities = args[:entities] if args.key?(:entities)
|
|
end
|
|
end
|
|
|
|
# Represents a phrase in the text that is a known entity, such as
|
|
# a person, an organization, or location. The API associates information, such
|
|
# as salience and mentions, with entities.
|
|
class Entity
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The mentions of this entity in the input document. The API currently
|
|
# supports proper noun mentions.
|
|
# Corresponds to the JSON property `mentions`
|
|
# @return [Array<Google::Apis::LanguageV1::EntityMention>]
|
|
attr_accessor :mentions
|
|
|
|
# The representative name for the entity.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The entity type.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# Metadata associated with the entity.
|
|
# Currently, Wikipedia URLs and Knowledge Graph MIDs are provided, if
|
|
# available. The associated keys are "wikipedia_url" and "mid", respectively.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :metadata
|
|
|
|
# The salience score associated with the entity in the [0, 1.0] range.
|
|
# The salience score for an entity provides information about the
|
|
# importance or centrality of that entity to the entire document text.
|
|
# Scores closer to 0 are less salient, while scores closer to 1.0 are highly
|
|
# salient.
|
|
# Corresponds to the JSON property `salience`
|
|
# @return [Float]
|
|
attr_accessor :salience
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@mentions = args[:mentions] if args.key?(:mentions)
|
|
@name = args[:name] if args.key?(:name)
|
|
@type = args[:type] if args.key?(:type)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@salience = args[:salience] if args.key?(:salience)
|
|
end
|
|
end
|
|
|
|
# The syntax analysis response message.
|
|
class AnalyzeSyntaxResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The language of the text, which will be the same as the language specified
|
|
# in the request or, if not specified, the automatically-detected language.
|
|
# See Document.language field for more details.
|
|
# Corresponds to the JSON property `language`
|
|
# @return [String]
|
|
attr_accessor :language
|
|
|
|
# Sentences in the input document.
|
|
# Corresponds to the JSON property `sentences`
|
|
# @return [Array<Google::Apis::LanguageV1::Sentence>]
|
|
attr_accessor :sentences
|
|
|
|
# Tokens, along with their syntactic information, in the input document.
|
|
# Corresponds to the JSON property `tokens`
|
|
# @return [Array<Google::Apis::LanguageV1::Token>]
|
|
attr_accessor :tokens
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@language = args[:language] if args.key?(:language)
|
|
@sentences = args[:sentences] if args.key?(:sentences)
|
|
@tokens = args[:tokens] if args.key?(:tokens)
|
|
end
|
|
end
|
|
|
|
# The request message for the text annotation API, which can perform multiple
|
|
# analysis types (sentiment, entities, and syntax) in one call.
|
|
class AnnotateTextRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The encoding type used by the API to calculate offsets.
|
|
# Corresponds to the JSON property `encodingType`
|
|
# @return [String]
|
|
attr_accessor :encoding_type
|
|
|
|
# ################################################################ #
|
|
# Represents the input to API methods.
|
|
# Corresponds to the JSON property `document`
|
|
# @return [Google::Apis::LanguageV1::Document]
|
|
attr_accessor :document
|
|
|
|
# All available features for sentiment, syntax, and semantic analysis.
|
|
# Setting each one to true will enable that specific analysis for the input.
|
|
# Corresponds to the JSON property `features`
|
|
# @return [Google::Apis::LanguageV1::Features]
|
|
attr_accessor :features
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encoding_type = args[:encoding_type] if args.key?(:encoding_type)
|
|
@document = args[:document] if args.key?(:document)
|
|
@features = args[:features] if args.key?(:features)
|
|
end
|
|
end
|
|
|
|
# The text annotations response message.
|
|
class AnnotateTextResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Entities, along with their semantic information, in the input document.
|
|
# Populated if the user enables
|
|
# AnnotateTextRequest.Features.extract_entities.
|
|
# Corresponds to the JSON property `entities`
|
|
# @return [Array<Google::Apis::LanguageV1::Entity>]
|
|
attr_accessor :entities
|
|
|
|
# Represents the feeling associated with the entire text or entities in
|
|
# the text.
|
|
# Corresponds to the JSON property `documentSentiment`
|
|
# @return [Google::Apis::LanguageV1::Sentiment]
|
|
attr_accessor :document_sentiment
|
|
|
|
# The language of the text, which will be the same as the language specified
|
|
# in the request or, if not specified, the automatically-detected language.
|
|
# See Document.language field for more details.
|
|
# Corresponds to the JSON property `language`
|
|
# @return [String]
|
|
attr_accessor :language
|
|
|
|
# Sentences in the input document. Populated if the user enables
|
|
# AnnotateTextRequest.Features.extract_syntax.
|
|
# Corresponds to the JSON property `sentences`
|
|
# @return [Array<Google::Apis::LanguageV1::Sentence>]
|
|
attr_accessor :sentences
|
|
|
|
# Tokens, along with their syntactic information, in the input document.
|
|
# Populated if the user enables
|
|
# AnnotateTextRequest.Features.extract_syntax.
|
|
# Corresponds to the JSON property `tokens`
|
|
# @return [Array<Google::Apis::LanguageV1::Token>]
|
|
attr_accessor :tokens
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@entities = args[:entities] if args.key?(:entities)
|
|
@document_sentiment = args[:document_sentiment] if args.key?(:document_sentiment)
|
|
@language = args[:language] if args.key?(:language)
|
|
@sentences = args[:sentences] if args.key?(:sentences)
|
|
@tokens = args[:tokens] if args.key?(:tokens)
|
|
end
|
|
end
|
|
|
|
# The sentiment analysis request message.
|
|
class AnalyzeSentimentRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The encoding type used by the API to calculate sentence offsets.
|
|
# Corresponds to the JSON property `encodingType`
|
|
# @return [String]
|
|
attr_accessor :encoding_type
|
|
|
|
# ################################################################ #
|
|
# Represents the input to API methods.
|
|
# Corresponds to the JSON property `document`
|
|
# @return [Google::Apis::LanguageV1::Document]
|
|
attr_accessor :document
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encoding_type = args[:encoding_type] if args.key?(:encoding_type)
|
|
@document = args[:document] if args.key?(:document)
|
|
end
|
|
end
|
|
|
|
# Represents dependency parse tree information for a token. (For more
|
|
# information on dependency labels, see
|
|
# http://www.aclweb.org/anthology/P13-2017
|
|
class DependencyEdge
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The parse label for the token.
|
|
# Corresponds to the JSON property `label`
|
|
# @return [String]
|
|
attr_accessor :label
|
|
|
|
# Represents the head of this token in the dependency tree.
|
|
# This is the index of the token which has an arc going to this token.
|
|
# The index is the position of the token in the array of tokens returned
|
|
# by the API method. If this token is a root token, then the
|
|
# `head_token_index` is its own index.
|
|
# Corresponds to the JSON property `headTokenIndex`
|
|
# @return [Fixnum]
|
|
attr_accessor :head_token_index
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label = args[:label] if args.key?(:label)
|
|
@head_token_index = args[:head_token_index] if args.key?(:head_token_index)
|
|
end
|
|
end
|
|
|
|
# Represents an output piece of text.
|
|
class TextSpan
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The API calculates the beginning offset of the content in the original
|
|
# document according to the EncodingType specified in the API request.
|
|
# Corresponds to the JSON property `beginOffset`
|
|
# @return [Fixnum]
|
|
attr_accessor :begin_offset
|
|
|
|
# The content of the output text.
|
|
# Corresponds to the JSON property `content`
|
|
# @return [String]
|
|
attr_accessor :content
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@begin_offset = args[:begin_offset] if args.key?(:begin_offset)
|
|
@content = args[:content] if args.key?(:content)
|
|
end
|
|
end
|
|
|
|
# Represents the smallest syntactic building block of the text.
|
|
class Token
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.
|
|
# Corresponds to the JSON property `lemma`
|
|
# @return [String]
|
|
attr_accessor :lemma
|
|
|
|
# Represents part of speech information for a token. Parts of speech
|
|
# are as defined in
|
|
# http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
|
|
# Corresponds to the JSON property `partOfSpeech`
|
|
# @return [Google::Apis::LanguageV1::PartOfSpeech]
|
|
attr_accessor :part_of_speech
|
|
|
|
# Represents an output piece of text.
|
|
# Corresponds to the JSON property `text`
|
|
# @return [Google::Apis::LanguageV1::TextSpan]
|
|
attr_accessor :text
|
|
|
|
# Represents dependency parse tree information for a token. (For more
|
|
# information on dependency labels, see
|
|
# http://www.aclweb.org/anthology/P13-2017
|
|
# Corresponds to the JSON property `dependencyEdge`
|
|
# @return [Google::Apis::LanguageV1::DependencyEdge]
|
|
attr_accessor :dependency_edge
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@lemma = args[:lemma] if args.key?(:lemma)
|
|
@part_of_speech = args[:part_of_speech] if args.key?(:part_of_speech)
|
|
@text = args[:text] if args.key?(:text)
|
|
@dependency_edge = args[:dependency_edge] if args.key?(:dependency_edge)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|