Created
January 14, 2019 22:29
-
-
Save vchudnov-g/afa694bbb009dba8fc148cd71a603b00 to your computer and use it in GitHub Desktop.
Generated entity-sentiment samples with response handling
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
# | |
# Copyright 2018 Google LLC | |
# | |
# 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 | |
# | |
# https://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. | |
# DO NOT EDIT! This is a generated sample ("Request", "entity_sentiment_file") | |
# To install the latest published package dependency, execute the following: | |
# pip install google-cloud-language | |
import sys | |
# [START language_entity_sentiment_file] | |
from google.cloud import language_v1 | |
from google.cloud.language_v1 import enums | |
from google.cloud.language_v1 import enums | |
import six | |
def sample_analyze_entity_sentiment(gcs_uri): | |
"""Analyze entities and sentiment of a text file""" | |
# [START language_entity_sentiment_file_core] | |
client = language_v1.LanguageServiceClient() | |
# gcs_uri = 'gs://cloud-samples-data/language/president.txt' | |
if isinstance(gcs_uri, six.binary_type): | |
gcs_uri = gcs_uri.decode('utf-8') | |
type_ = enums.Document.Type.PLAIN_TEXT | |
document = {'gcs_content_uri': gcs_uri, 'type': type_} | |
response = client.analyze_entity_sentiment(document) | |
for entity in response.entities: | |
print('Name: {}'.format(entity.name)) | |
for mention in entity.mentions: | |
print(' - Begin offset : {}'.format(mention.text.begin_offset)) | |
print(' Content : {}'.format(mention.text.content)) | |
print(' Magnitude : {}'.format(mention.sentiment.magnitude)) | |
print(' Sentiment : {}'.format(mention.sentiment.score)) | |
print(' Type : {}'.format( | |
enums.EntityMention.Type(mention.type).name)) | |
print(' Salience : {}'.format(entity.salience)) | |
print(' Aggregate sentiment : {}'.format(entity.sentiment.score)) | |
print(' Aggregate sentiment magnitude : {}'.format( | |
entity.sentiment.score)) | |
# [END language_entity_sentiment_file_core] | |
# [END language_entity_sentiment_file] | |
def main(): | |
import argparse | |
parser = argparse.ArgumentParser() | |
parser.add_argument( | |
'--gcs_uri', | |
type=str, | |
default='gs://cloud-samples-data/language/president.txt') | |
args = parser.parse_args() | |
sample_analyze_entity_sentiment(args.gcs_uri) | |
if __name__ == '__main__': | |
main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
# | |
# Copyright 2018 Google LLC | |
# | |
# 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 | |
# | |
# https://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. | |
# DO NOT EDIT! This is a generated sample ("Request", "entity_sentiment_text") | |
# To install the latest published package dependency, execute the following: | |
# pip install google-cloud-language | |
import sys | |
# [START language_entity_sentiment_text] | |
from google.cloud import language_v1 | |
from google.cloud.language_v1 import enums | |
from google.cloud.language_v1 import enums | |
import six | |
def sample_analyze_entity_sentiment(content): | |
"""Analyze entities and sentiment of a text string""" | |
# [START language_entity_sentiment_text_core] | |
client = language_v1.LanguageServiceClient() | |
# content = 'A happy President Kennedy celebrated at the White House Saturday.' | |
if isinstance(content, six.binary_type): | |
content = content.decode('utf-8') | |
type_ = enums.Document.Type.PLAIN_TEXT | |
document = {'content': content, 'type': type_} | |
response = client.analyze_entity_sentiment(document) | |
for entity in response.entities: | |
print('Name: {}'.format(entity.name)) | |
for mention in entity.mentions: | |
print(' - Begin offset : {}'.format(mention.text.begin_offset)) | |
print(' Content : {}'.format(mention.text.content)) | |
print(' Magnitude : {}'.format(mention.sentiment.magnitude)) | |
print(' Sentiment : {}'.format(mention.sentiment.score)) | |
print(' Type : {}'.format( | |
enums.EntityMention.Type(mention.type).name)) | |
print(' Salience : {}'.format(entity.salience)) | |
print(' Aggregate sentiment : {}'.format(entity.sentiment.score)) | |
print(' Aggregate sentiment magnitude : {}'.format( | |
entity.sentiment.score)) | |
# [END language_entity_sentiment_text_core] | |
# [END language_entity_sentiment_text] | |
def main(): | |
import argparse | |
parser = argparse.ArgumentParser() | |
parser.add_argument( | |
'--content', | |
type=str, | |
default= | |
'A happy President Kennedy celebrated at the White House Saturday.') | |
args = parser.parse_args() | |
sample_analyze_entity_sentiment(args.content) | |
if __name__ == '__main__': | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment