language/snippets/sentiment/sentiment_analysis.py (29 lines of code) (raw):

# Copyright 2016 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 # # 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. # [START language_sentiment_tutorial] """Demonstrates how to make a simple call to the Natural Language API.""" # [START language_sentiment_tutorial_imports] import argparse from google.cloud import language_v1 # [END language_sentiment_tutorial_imports] # [START language_sentiment_tutorial_print_result] def print_result(annotations): score = annotations.document_sentiment.score magnitude = annotations.document_sentiment.magnitude for index, sentence in enumerate(annotations.sentences): sentence_sentiment = sentence.sentiment.score print(f"Sentence {index} has a sentiment score of {sentence_sentiment}") print(f"Overall Sentiment: score of {score} with magnitude of {magnitude}") return 0 # [END language_sentiment_tutorial_print_result] # [START language_sentiment_tutorial_analyze_sentiment] def analyze(movie_review_filename): """Run a sentiment analysis request on text within a passed filename.""" client = language_v1.LanguageServiceClient() with open(movie_review_filename) as review_file: # Instantiates a plain text document. content = review_file.read() document = language_v1.Document( content=content, type_=language_v1.Document.Type.PLAIN_TEXT ) annotations = client.analyze_sentiment(request={"document": document}) # Print the results print_result(annotations) # [END language_sentiment_tutorial_analyze_sentiment] # [START language_sentiment_tutorial_run_application] if __name__ == "__main__": parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter ) parser.add_argument( "movie_review_filename", help="The filename of the movie review you'd like to analyze.", ) args = parser.parse_args() analyze(args.movie_review_filename) # [END language_sentiment_tutorial_run_application] # [END language_sentiment_tutorial]