Mientras que la mayoría de los métodos de Natural Language analizan de qué trata un texto determinado, el método analyzeSyntax
inspecciona la estructura del propio lenguaje.
Análisis sintáctico: descompone el texto proporcionado en una serie de frases y tokens (generalmente, palabras) y proporciona información lingüística sobre esos tokens.
Consulta Morfología y árboles de dependencias para obtener más información sobre el análisis lingüístico y Idiomas disponibles para ver una lista de los idiomas cuya sintaxis puede analizar la API Natural Language.
En esta sección se muestran algunas formas de detectar la sintaxis de un documento. Para cada documento, debes enviar una solicitud independiente.
Analizar la sintaxis de una cadena
A continuación, se muestra un ejemplo de análisis sintáctico de una cadena de texto enviada directamente a la API Natural Language:
Protocolo
Para analizar la sintaxis de un documento, haz una solicitud POST
al método REST documents:analyzeSyntax
y proporciona el cuerpo de la solicitud adecuado, como se muestra en el siguiente ejemplo.
En el ejemplo se usa el comando gcloud auth application-default print-access-token
para obtener un token de acceso de una cuenta de servicio configurada para el proyecto con la CLI de gcloud de Google Cloud Platform.
Para obtener instrucciones sobre cómo instalar la CLI de gcloud y configurar un proyecto con una cuenta de servicio, consulta la guía de inicio rápido.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'encodingType': 'UTF8', 'document': { 'type': 'PLAIN_TEXT', 'content': 'Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones.' } }" "https://language.googleapis.com/v1/documents:analyzeSyntax"
Si no especifica document.language
, el idioma se detectará automáticamente. Para obtener información sobre los idiomas admitidos por la API Natural Language, consulta Idiomas admitidos. Consulta la documentación de referencia de Document
para obtener más información sobre cómo configurar el cuerpo de la solicitud.
Si la solicitud se realiza de forma correcta, el servidor devuelve un código de estado HTTP 200 OK
y la respuesta en formato JSON:
{ "sentences": [ { "text": { "content": "Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show.", "beginOffset": 0 } }, { "text": { "content": "Sundar Pichai said in his keynote that users love their new Android phones.", "beginOffset": 105 } } ], "tokens": [ { "text": { "content": "Google", "beginOffset": 0 }, "partOfSpeech": { "tag": "NOUN", "aspect": "ASPECT_UNKNOWN", "case": "CASE_UNKNOWN", "form": "FORM_UNKNOWN", "gender": "GENDER_UNKNOWN", "mood": "MOOD_UNKNOWN", "number": "SINGULAR", "person": "PERSON_UNKNOWN", "proper": "PROPER", "reciprocity": "RECIPROCITY_UNKNOWN", "tense": "TENSE_UNKNOWN", "voice": "VOICE_UNKNOWN" }, "dependencyEdge": { "headTokenIndex": 7, "label": "NSUBJ" }, "lemma": "Google" }, ... { "text": { "content": ".", "beginOffset": 179 }, "partOfSpeech": { "tag": "PUNCT", "aspect": "ASPECT_UNKNOWN", "case": "CASE_UNKNOWN", "form": "FORM_UNKNOWN", "gender": "GENDER_UNKNOWN", "mood": "MOOD_UNKNOWN", "number": "NUMBER_UNKNOWN", "person": "PERSON_UNKNOWN", "proper": "PROPER_UNKNOWN", "reciprocity": "RECIPROCITY_UNKNOWN", "tense": "TENSE_UNKNOWN", "voice": "VOICE_UNKNOWN" }, "dependencyEdge": { "headTokenIndex": 20, "label": "P" }, "lemma": "." } ], "language": "en" }
La matriz tokens
contiene objetos Token
que representan los tokens de la frase detectada, que incluyen información como la parte de la oración de un token y su posición en la frase.
gcloud
Consulta todos los detalles en el comando analyze-syntax
.
Para realizar un análisis de sintaxis, usa la CLI de gcloud y la marca --content
para identificar el contenido que quieres analizar:
gcloud ml language analyze-syntax --content="Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
Si la solicitud se realiza de forma correcta, el servidor devuelve una respuesta en formato JSON:
{ "sentences": [ { "text": { "content": "Google, headquartered in Mountain View, unveiled the new Android phone at the Consumer Electronic Show.", "beginOffset": 0 } }, { "text": { "content": "Sundar Pichai said in his keynote that users love their new Android phones.", "beginOffset": 105 } } ], "tokens": [ { "text": { "content": "Google", "beginOffset": 0 }, "partOfSpeech": { "tag": "NOUN", "aspect": "ASPECT_UNKNOWN", "case": "CASE_UNKNOWN", "form": "FORM_UNKNOWN", "gender": "GENDER_UNKNOWN", "mood": "MOOD_UNKNOWN", "number": "SINGULAR", "person": "PERSON_UNKNOWN", "proper": "PROPER", "reciprocity": "RECIPROCITY_UNKNOWN", "tense": "TENSE_UNKNOWN", "voice": "VOICE_UNKNOWN" }, "dependencyEdge": { "headTokenIndex": 7, "label": "NSUBJ" }, "lemma": "Google" }, ... { "text": { "content": ".", "beginOffset": 179 }, "partOfSpeech": { "tag": "PUNCT", "aspect": "ASPECT_UNKNOWN", "case": "CASE_UNKNOWN", "form": "FORM_UNKNOWN", "gender": "GENDER_UNKNOWN", "mood": "MOOD_UNKNOWN", "number": "NUMBER_UNKNOWN", "person": "PERSON_UNKNOWN", "proper": "PROPER_UNKNOWN", "reciprocity": "RECIPROCITY_UNKNOWN", "tense": "TENSE_UNKNOWN", "voice": "VOICE_UNKNOWN" }, "dependencyEdge": { "headTokenIndex": 20, "label": "P" }, "lemma": "." } ], "language": "en" }
La matriz tokens
contiene objetos Token
que representan los tokens de la frase detectada, que incluyen información como la parte de la oración de un token y su posición en la frase.
Go
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Go.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Java.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Node.js.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Python.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para Ruby.
Analizar la sintaxis de Cloud Storage
Para tu comodidad, la API Natural Language puede realizar análisis sintácticos directamente en un archivo ubicado en Cloud Storage, sin necesidad de enviar el contenido del archivo en el cuerpo de tu solicitud.
A continuación, se muestra un ejemplo de cómo realizar un análisis sintáctico en un archivo ubicado en Cloud Storage.
Protocolo
Para analizar la sintaxis de un documento almacenado en Cloud Storage, haz una solicitud POST
al método REST documents:analyzeSyntax
y proporciona el cuerpo de la solicitud adecuado con la ruta al documento, como se muestra en el siguiente ejemplo.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'encodingType': 'UTF8', 'document': { 'type': 'PLAIN_TEXT', 'gcsContentUri': 'gs://<bucket-name>/<object-name>' } }" "https://language.googleapis.com/v1/documents:analyzeSyntax"
Si no especifica document.language
, el idioma se detectará automáticamente. Para obtener información sobre los idiomas admitidos por la API Natural Language, consulta Idiomas admitidos. Consulta la documentación de referencia de Document
para obtener más información sobre cómo configurar el cuerpo de la solicitud.
Si la solicitud se realiza de forma correcta, el servidor devuelve un código de estado HTTP 200 OK
y la respuesta en formato JSON:
{ "sentences": [ { "text": { "content": "Hello, world!", "beginOffset": 0 } } ], "tokens": [ { "text": { "content": "Hello", "beginOffset": 0 }, "partOfSpeech": { "tag": "X", // ... }, "dependencyEdge": { "headTokenIndex": 2, "label": "DISCOURSE" }, "lemma": "Hello" }, { "text": { "content": ",", "beginOffset": 5 }, "partOfSpeech": { "tag": "PUNCT", // ... }, "dependencyEdge": { "headTokenIndex": 2, "label": "P" }, "lemma": "," }, // ... ], "language": "en" }
La matriz tokens
contiene objetos Token
que representan los tokens de la frase detectada, que incluyen información como la parte de la oración de un token y su posición en la frase.
gcloud
Consulta todos los detalles en el comandoanalyze-syntax
.
Para analizar la sintaxis de un archivo de Cloud Storage, usa la herramienta de línea de comandos gcloud
y la marca --content-file
para identificar la ruta del archivo que contiene el contenido que quieres analizar:
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Si la solicitud se realiza de forma correcta, el servidor devuelve una respuesta en formato JSON:
{ "sentences": [ { "text": { "content": "Hello, world!", "beginOffset": 0 } } ], "tokens": [ { "text": { "content": "Hello", "beginOffset": 0 }, "partOfSpeech": { "tag": "X", // ... }, "dependencyEdge": { "headTokenIndex": 2, "label": "DISCOURSE" }, "lemma": "Hello" }, { "text": { "content": ",", "beginOffset": 5 }, "partOfSpeech": { "tag": "PUNCT", // ... }, "dependencyEdge": { "headTokenIndex": 2, "label": "P" }, "lemma": "," }, // ... ], "language": "en" }
La matriz tokens
contiene objetos Token
que representan los tokens de la frase detectada, que incluyen información como la parte de la oración de un token y su posición en la frase.
Go
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Go.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Java.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Node.js.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Natural Language, consulta el artículo sobre las bibliotecas de cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API Natural Language Python.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para .NET.
PHP Sigue las instrucciones de configuración de PHP en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas de cliente y, a continuación, consulta la documentación de referencia de Natural Language para Ruby.