Traducción y procesamiento de lenguaje natural con Google Cloud

Requisito previo: crear una máquina virtual y configurar la API en Google Cloud

En este artículo, analizaremos cómo usar las funciones de procesamiento de lenguaje natural y traducción de Google con Google Cloud. Antes de leer este artículo, debe tener una idea de cómo crear una instancia en una máquina virtual y cómo configurar una API (consulte esto ).

API de traducción –

  • La API de Google Traductor funciona de la misma manera que aquí .
  • Primero habilite la API de Cloud Translation y descargue el archivo .json que contiene la información de las credenciales como se indica aquí .

Necesitas descargar los siguientes paquetes –

pip install google.cloud
pip install google.cloud.translate

Guarde el credentials.jsonarchivo en la misma carpeta que el .py archivo con el código de Python. Necesitamos guardar la ruta de credentials.json’ (C:\Users\…) como ‘GOOGLE_APPLICATION_CREDENTIALS’, lo cual se hizo en la línea 5 del siguiente código.

Python3

import os
import io
from google.cloud import translate
  
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] =
     os.path.join(os.curdir, 'credentials.json')
  
input_file = "filename_input.txt"
output_file = "filename_output.txt"
  
with io.open(input_file, "r", encoding ="utf-8") as inp:
     data = inp.read()
  
# The encoding needs to be utf-8 (Unicode) 
# because all languages are supported by
# Google Cloud and ASCII supports only English.
translate_client = translate.Client()
translated = list()
translated.append(translate_client.translate(
 data, target_language ='en')['translatedText'])
  
open(file = output_file, mode ='w', encoding ='utf-8',
        errors ='ignore').write('\n'.join(translated))

Los archivos .txt de entrada y salida deben estar en la misma carpeta que el archivo de Python; de lo contrario, se debe proporcionar la dirección de ruta completa. El archivo de entrada debe tener el texto fuente en cualquier idioma. El usuario no necesita especificar el idioma ya que Google lo detecta automáticamente. Sin embargo, el idioma de destino debe proporcionarse en forma de código ISO 639-1 (por ejemplo, el código anterior traduce el texto al inglés (codificado por ‘en’)).

Procesamiento natural del lenguaje –

Habilite la API de Cloud Natural Language y descargue el archivo ‘credentials.json’ como se explica aquí . Necesitas descargar el siguiente paquete –

pip install google.cloud.language

La API de procesamiento de lenguaje natural de Google proporciona varios métodos para analizar texto. Todos ellos son aspectos valiosos del Análisis del Lenguaje.

Análisis de sentimiento:
analiza el texto y comprende la opinión emocional del texto. El resultado de Análisis de sentimiento es una puntuación dentro de un rango de -1 a 1, donde -1 significa 100 % de emoción negativa, 1 significa 100 % de emoción positiva y 0 significa neutral. También genera una magnitud con un rango de 0 a infinito que indica la fuerza general de la emoción.

Python3

import os
import io
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
  
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 
    os.path.join(os.curdir, 'credentials.json')
  
client = language.LanguageServiceClient()
input_file = "filename_input.txt"
with io.open(input_file, "r") as inp:
    docu = inp.read()
      
text = types.Document(content = docu, 
   type = enums.Document.Type.PLAIN_TEXT)
  
annotation = client.analyze_sentiment(document = text)
  
score = annotation.document_sentiment.score
magnitude = annotation.document_sentiment.magnitude
  
for index, sentence in enumerate(annotation.sentences):
    sentence_sentiment = sentence.sentiment.score
    print('Sentence #{} Sentiment score: {}'.format(
                     index + 1, sentence_sentiment))
  
print('Score: {}, Magnitude: {}'.format(score, magnitude))

El texto debe estar presente en el archivo titulado filename_input.txt. El código anterior analizará y publicará la opinión del texto línea por línea y también proporcionará la opinión general.

Clearly Positive -> Score: 0.8, Magnitude: 3.0
Clearly Negative -> Score: -0.6, Magnitude: 4.0
Neutral -> Score: 0.1, Magnitude: 0.0
Mixed -> Score: 0.0, Magnitude: 4.0

Esta es la naturaleza aproximada de las emociones adjuntas a los textos a través del análisis de sentimientos.
 

Análisis de entidades:
el análisis de entidades proporciona información sobre entidades en el texto, que generalmente se refieren a «cosas» nombradas, como personas famosas, puntos de referencia, objetos comunes, etc.

Python3

import os
import io
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
  
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 
    os.path.join(os.curdir, 'credentials.json')
  
client = language.LanguageServiceClient()
input_file = "filename_input.txt"
with io.open(input_file, "r") as inp:
    docu = inp.read()
      
text = types.Document(content = docu, 
    type = enums.Document.Type.PLAIN_TEXT)
  
ent = client.analyze_entities(document = text)
  
entity = ent.entities
  
for e in entity:
    print(e.name, e.metadata, e, type, e.salience)

El código anterior extraerá todas las entidades del texto anterior, nombrará su tipo, prominencia (es decir, la prominencia de la entidad) y sus metadatos (presentes principalmente para nombres propios, junto con el enlace de Wikipedia para esa entidad)
 
Análisis
de sintaxis: el análisis de sintaxis se rompe convierte el texto dado en tokens (por defecto, una serie de palabras) y proporciona información lingüística sobre esos tokens.

Python3

import os
import io
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types
  
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 
     os.path.join(os.curdir, 'credentials.json')
  
client = language.LanguageServiceClient()
input_file = "filename_input.txt"
with io.open(input_file, "r") as inp:
    docu = inp.read()
      
text = types.Document(content = docu,
    type = enums.Document.Type.PLAIN_TEXT)
  
tokens = client.analyze_syntax(text).tokens
  
for token in tokens:
    speech_tag = enums.PartOfSpeech.Tag(token.part_of_speech.tag)
    print(u'{}: {}'.format(speech_tag.name, token.text.content))

El código anterior proporciona una lista de todas las palabras y su sintaxis, ya sea un sustantivo, verbo, pronombre, puntuación, etc. Para obtener más información, visite la documentación de la API de Google Natural Language aquí .

Por lo tanto, las API de Google Cloud brindan servicios de alta funcionalidad que son fáciles de usar, portátiles, breves y claros.

Nota:
A veces, los programas anteriores darán como resultado un error «ImportError: no se puede importar el nombre ‘cygrpc'» y surge un problema cuando intentamos instalarlo usando

pip install cygrpc
or
sudo apt-get install cygrpc

En su lugar, utilice el siguiente comando:

python -m pip install grpcio --ignore-installed

Publicación traducida automáticamente

Artículo escrito por ArijitGayen y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *