Class: Google::Cloud::Language::Document
- Inherits:
-
Object
- Object
- Google::Cloud::Language::Document
- Defined in:
- lib/google/cloud/language/document.rb
Overview
Document
Represents a document for the Language service.
Cloud Natural Language API supports UTF-8, UTF-16, and UTF-32 encodings. (Ruby uses UTF-8 natively, which is the default sent to the API, so unless you're working with text processed in different platform, you should not need to set the encoding type.)
Be aware that only English, Spanish, and Japanese language content are supported, and sentiment analysis only supports English text.
See Project#document.
Instance Method Summary collapse
-
#annotate(sentiment: false, entities: false, syntax: false, encoding: nil) ⇒ Annotation
(also: #mark, #detect)
Analyzes the document and returns sentiment, entity, and syntactic feature results, depending on the option flags.
-
#entities(encoding: nil) ⇒ Annotation::Entities
Entity analysis inspects the given text for known entities (proper nouns such as public figures, landmarks, etc.) and returns information about those entities.
-
#format ⇒ Symbol
The document's format.
-
#format=(new_format) ⇒ Object
Sets the document's format.
-
#html! ⇒ Object
Sets the document to the
HTML
format. -
#html? ⇒ Boolean
Whether the document is the
HTML
format. -
#language ⇒ String
The document's language.
-
#language=(new_language) ⇒ Object
Sets the document's language.
-
#sentiment ⇒ Annotation::Sentiment
Sentiment analysis inspects the given text and identifies the prevailing emotional opinion within the text, especially to determine a writer's attitude as positive, negative, or neutral.
-
#syntax(encoding: nil) ⇒ Annotation
Syntactic analysis extracts linguistic information, breaking up the given text into a series of sentences and tokens (generally, word boundaries), providing further analysis on those tokens.
-
#text! ⇒ Object
Sets the document to the
TEXT
format. -
#text? ⇒ Boolean
Whether the document is the
TEXT
format.
Instance Method Details
#annotate(sentiment: false, entities: false, syntax: false, encoding: nil) ⇒ Annotation Also known as: mark, detect
Analyzes the document and returns sentiment, entity, and syntactic
feature results, depending on the option flags. Calling annotate
with no arguments will perform all analysis features. Each feature
is priced separately. See Pricing
for details.
216 217 218 219 220 221 222 223 224 |
# File 'lib/google/cloud/language/document.rb', line 216 def annotate sentiment: false, entities: false, syntax: false, encoding: nil ensure_service! grpc = service.annotate to_grpc, sentiment: sentiment, entities: entities, syntax: syntax, encoding: encoding Annotation.from_grpc grpc end |
#entities(encoding: nil) ⇒ Annotation::Entities
Entity analysis inspects the given text for known entities (proper nouns such as public figures, landmarks, etc.) and returns information about those entities.
content = "Darth Vader is the best villain in Star Wars." document = language.document content entities = document.entities # API call
entities.count #=> 2 entities.first.name #=> "Darth Vader" entities.first.type #=> :PERSON entities.first.name #=> "Star Wars" entities.first.type #=> :WORK_OF_ART
277 278 279 280 281 |
# File 'lib/google/cloud/language/document.rb', line 277 def entities encoding: nil ensure_service! grpc = service.entities to_grpc, encoding: encoding Annotation::Entities.from_grpc grpc end |
#format ⇒ Symbol
The document's format.
90 91 92 93 |
# File 'lib/google/cloud/language/document.rb', line 90 def format return :text if text? return :html if html? end |
#format=(new_format) ⇒ Object
Sets the document's format.
105 106 107 108 109 |
# File 'lib/google/cloud/language/document.rb', line 105 def format= new_format @grpc.type = :PLAIN_TEXT if new_format.to_s == "text" @grpc.type = :HTML if new_format.to_s == "html" @grpc.type end |
#html! ⇒ Object
Sets the document to the HTML
format.
139 140 141 |
# File 'lib/google/cloud/language/document.rb', line 139 def html! @grpc.type = :HTML end |
#html? ⇒ Boolean
Whether the document is the HTML
format.
132 133 134 |
# File 'lib/google/cloud/language/document.rb', line 132 def html? @grpc.type == :HTML end |
#language ⇒ String
The document's language. ISO and BCP-47 language codes are supported.
148 149 150 |
# File 'lib/google/cloud/language/document.rb', line 148 def language @grpc.language end |
#language=(new_language) ⇒ Object
Sets the document's language.
162 163 164 |
# File 'lib/google/cloud/language/document.rb', line 162 def language= new_language @grpc.language = new_language.to_s end |
#sentiment ⇒ Annotation::Sentiment
Sentiment analysis inspects the given text and identifies the prevailing emotional opinion within the text, especially to determine a writer's attitude as positive, negative, or neutral. Currently, only English is supported for sentiment analysis.
content = "Darth Vader is the best villain in Star Wars." document = language.document content sentiment = document.sentiment # API call
sentiment.polarity #=> 1.0 sentiment.magnitude #=> 0.8999999761581421
304 305 306 307 308 |
# File 'lib/google/cloud/language/document.rb', line 304 def sentiment ensure_service! grpc = service.sentiment to_grpc Annotation::Sentiment.from_grpc grpc end |
#syntax(encoding: nil) ⇒ Annotation
Syntactic analysis extracts linguistic information, breaking up the given text into a series of sentences and tokens (generally, word boundaries), providing further analysis on those tokens.
248 249 250 |
# File 'lib/google/cloud/language/document.rb', line 248 def syntax encoding: nil annotate syntax: true, encoding: encoding end |
#text! ⇒ Object
Sets the document to the TEXT
format.
123 124 125 |
# File 'lib/google/cloud/language/document.rb', line 123 def text! @grpc.type = :PLAIN_TEXT end |
#text? ⇒ Boolean
Whether the document is the TEXT
format.
116 117 118 |
# File 'lib/google/cloud/language/document.rb', line 116 def text? @grpc.type == :PLAIN_TEXT end |