Mientras que la mayoría de los métodos de Natural Language analizan de qué se trata un texto, el método analyzeSyntax
inspecciona la estructura del idioma en sí.
El análisis sintáctico divide el texto dado en una serie de oraciones y tokens (por lo general, palabras) y proporciona información lingüística sobre estos tokens.
Consulta Árboles de morfología y dependencia para obtener detalles sobre el análisis lingüístico y también Idiomas compatibles para ver una lista de los idiomas cuya sintaxis puede analizar la API de Natural Language.
Esta sección muestra algunas maneras de detectar la sintaxis en un documento. Para cada documento, debes enviar una solicitud diferente.
Analizar la sintaxis en una string
Este es un ejemplo de un análisis sintáctico en una string de texto enviada directamente a la API de Natural Language:
Protocolo
Para analizar la sintaxis en un documento, realiza una solicitud POST
al método documents:analyzeSyntax
de REST y proporciona el cuerpo de solicitud adecuado, como se muestra en el siguiente ejemplo.
En este ejemplo, se usa el comando gcloud auth application-default print-access-token
a fin de obtener un token de acceso correspondiente a 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 especificas document.language
, el idioma se detectará automáticamente. Para obtener información sobre los idiomas compatibles con la API de Natural Language, consulta Idiomas compatibles. Consulta la documentación de referencia de Document
para obtener más información sobre la configuración del cuerpo de la solicitud.
Si la solicitud se completa correctamente, el servidor muestra 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" }
El arreglo tokens
contiene objetos Token
que representan los tokens de oraciones detectados, incluida información sobre la categoría gramatical del token y su posición en la oración.
gcloud
Consulta el comando analyze-syntax
para obtener todos los detalles.
Para realizar un análisis sintáctico, usa la CLI de gcloud y también utiliza la marca --content
para identificar el contenido que se 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 es exitosa, el servidor muestra 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" }
El arreglo tokens
contiene objetos Token
que representan los tokens de oraciones detectados, incluida información sobre la categoría gramatical del token y su posición en la oración.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Go de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Java de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para aprender a instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Node.js de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Python de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue lasinstrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para .NET.
PHP: Sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para Ruby.
Analiza la sintaxis desde Cloud Storage
Para tu comodidad, la API de Natural Language puede realizar un análisis sintáctico directamente en un archivo ubicado en Cloud Storage, sin la necesidad de que envíes el contenido del archivo en el cuerpo de tu solicitud.
El siguiente es un ejemplo de cómo realizar un análisis sintáctico en un archivo ubicado en Cloud Storage.
Protocolo
Para analizar la sintaxis en un documento almacenado en Cloud Storage, realiza una solicitud POST
al método documents:analyzeSyntax
de REST y proporciona el cuerpo de la solicitud adecuado con la ruta del documento, como se muestra en 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 especificas document.language
, el idioma se detectará automáticamente. Para obtener información sobre los idiomas compatibles con la API de Natural Language, consulta Idiomas compatibles. Consulta la documentación de referencia de Document
para obtener más información sobre la configuración del cuerpo de la solicitud.
Si la solicitud se completa correctamente, el servidor muestra 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" }
El arreglo tokens
contiene objetos Token
que representan los tokens de oraciones detectados, incluida información sobre la categoría gramatical del token y su posición en la oración.
gcloud
Consulta el comandoanalyze-syntax
para obtener todos los detalles.
Para realizar un análisis sintáctico en un archivo de Cloud Storage, usa la herramienta de línea de comandos gcloud
y también utiliza la marca --content-file
para identificar la ruta del archivo que tiene el contenido que analizarás:
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Si la solicitud es exitosa, el servidor muestra 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" }
El arreglo tokens
contiene objetos Token
que representan los tokens de oraciones detectados, incluida información sobre la categoría gramatical del token y su posición en la oración.
Go
Para aprender a instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API de Natural Language Go.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para aprender a instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Java de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para aprender a instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Natural Language.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Natural Language, consulta Bibliotecas cliente de Natural Language. Para obtener más información, consulta la API de Python de Natural Language documentación de referencia.
Para autenticarte en Natural Language, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue lasinstrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para .NET.
PHP: Sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Natural Language para Ruby.