Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vchudnov-g/afa694bbb009dba8fc148cd71a603b00 to your computer and use it in GitHub Desktop.
Save vchudnov-g/afa694bbb009dba8fc148cd71a603b00 to your computer and use it in GitHub Desktop.
Generated entity-sentiment samples with response handling
# -*- 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()
# -*- 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