Tutorial sobre el análisis de sentimiento

Audiencia

Este tutorial se ha diseñado para que puedas empezar rápidamente a explorar y desarrollar aplicaciones con la API Natural Language de Google Cloud. Está diseñado para personas que tengan conocimientos básicos de programación, aunque también podrás seguirlo si no tienes mucha experiencia en este campo. Después de haber seguido este tutorial, podrás utilizar la documentación de referencia para crear tus propias aplicaciones básicas.

En este tutorial se explica paso a paso una aplicación de la API Natural Language con código Python. El objetivo de este artículo no es explicar las bibliotecas de cliente de Python, sino mostrar cómo hacer llamadas a la API Natural Language. Las aplicaciones en Java y Node.js son esencialmente similares. Consulta los ejemplos de la API Natural Language para ver ejemplos en otros idiomas (incluido este ejemplo del tutorial).

Requisitos previos

Este tutorial tiene varios requisitos previos:

Analizar el sentimiento de un documento

En este tutorial se explica cómo crear una aplicación básica de la API Natural Language mediante una solicitud analyzeSentiment, que realiza un análisis de sentimiento en el texto. El análisis de sentimiento intenta determinar la actitud general (positiva o negativa) y se representa mediante valores numéricos score y magnitude. Para obtener más información sobre estos conceptos, consulta el artículo Conceptos básicos del lenguaje natural.

Primero mostraremos todo el código. Ten en cuenta que hemos eliminado la mayoría de los comentarios de este código para mostrarte lo breve que es. Añadiremos más comentarios a medida que analicemos el código.

Para obtener más información sobre cómo instalar y usar la biblioteca de cliente de Cloud Natural Language de Google para Python, consulta Bibliotecas de cliente de la API Natural Language.
"""Demonstrates how to make a simple call to the Natural Language API."""

import argparse

from google.cloud import language_v1



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




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)




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)

Esta sencilla aplicación realiza las siguientes tareas:

  • Importa las bibliotecas necesarias para ejecutar la aplicación
  • Toma un archivo de texto y lo transfiere a la función main()
  • Lee el archivo de texto y envía una solicitud al servicio.
  • Analiza la respuesta del servicio y la muestra al usuario.

A continuación, repasaremos estos pasos con más detalle.

Importar bibliotecas

Para obtener más información sobre cómo instalar y usar la biblioteca de cliente de Cloud Natural Language de Google para Python, consulta Bibliotecas de cliente de la API Natural Language.
import argparse

from google.cloud import language_v1

Importamos argparse, una biblioteca estándar, para permitir que la aplicación acepte nombres de archivos de entrada como argumentos.

Para usar la API Cloud Natural Language, también importaremos el módulo language de la biblioteca google-cloud-language. El módulo types contiene las clases necesarias para crear solicitudes.

Ejecutar tu aplicación

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.",
    )