Na maioria dos métodos da Natural Language, o assunto de determinado texto é analisado. No entanto, com o método analyzeSyntax
, a própria estrutura do idioma é inspecionada.
A análise sintática divide o texto fornecido em uma série de frases e tokens (geralmente, palavras) e fornece informações linguísticas sobre esses tokens.
Para detalhes sobre a análise linguística, consulte Morfologia e árvores de dependência. Para uma lista dos idiomas com sintaxe que podem ser analisados pela API Natural Language, consulte Idiomas compatíveis.
Nesta seção, você verá algumas maneiras de detectar a sintaxe em um documento. Para cada documento, é necessário enviar uma solicitação separada.
Como analisar a sintaxe em uma string
Veja um exemplo de análise sintática em uma string de texto enviada diretamente para a Natural Language API:
Protocolo
Para analisar a sintaxe em um documento, crie uma solicitação POST
para o método REST documents:analyzeSyntax
e forneça o corpo da solicitação apropriada, como mostrado no exemplo a seguir.
No exemplo, o comando
gcloud auth application-default print-access-token
é usado para gerar um token de acesso para uma conta de serviço configurada para o projeto
usando a gcloud CLI do Google Cloud Platform.
Para instruções sobre como instalar a gcloud CLI
e configurar um projeto com uma conta de serviço,
consulte o Guia de início 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"
Se você não especificar document.language
, o idioma será detectado automaticamente. Para mais informações sobre quais idiomas são compatíveis com a API Natural Language, consulte Compatibilidade de idiomas. Consulte a documentação de referência Document
para mais informações sobre como configurar o corpo da solicitação.
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no 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" }
A matriz tokens
contém objetos Token
representando os tokens de frase detectados, incluindo informações como classe gramatical e posição na frase.
gcloud
Consulte o comando analyze-syntax
para ver todos os detalhes.
Para fazer a análise de sintaxe, use a gcloud CLI e
a sinalização --content
para identificar o conteúdo a ser examinado:
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."
Se a solicitação for bem-sucedida, o servidor retornará uma resposta no 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" }
A matriz tokens
contém objetos Token
representando os tokens de frase detectados, incluindo informações como classe gramatical e posição na frase.
Go
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Go.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Java.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Node.js.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Python.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para Ruby.
Como analisar a sintaxe do Cloud Storage
Para sua comodidade, a API Natural Language faz a análise sintática diretamente em um arquivo localizado no Cloud Storage, sem a necessidade de enviar o conteúdo do arquivo no corpo da solicitação.
Veja um exemplo de análise sintática em um arquivo localizado no Cloud Storage.
Protocolo
Para analisar a sintaxe de um documento armazenado no Cloud Storage, crie uma solicitação POST
para o método REST documents:analyzeSyntax
(em inglês) e forneça o caminho para o documento ao corpo da solicitação apropriada, como mostrado no exemplo a seguir.
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"
Se você não especificar document.language
, o idioma será detectado automaticamente. Para ver mais informações sobre quais idiomas são compatíveis com a API Natural Language, consulte Compatibilidade de idiomas. Consulte a documentação de referência Document
para mais informações sobre como configurar o corpo da solicitação.
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no 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" }
A matriz tokens
contém objetos Token
representando os tokens de frase detectados, incluindo informações como classe gramatical e posição na frase.
gcloud
Consulte o comandoanalyze-syntax
para ver todos os detalhes.
Para realizar uma análise de sintaxe em um arquivo no Cloud Storage, use a ferramenta de linha de comando gcloud
e use a sinalização --content-file
para identificar o caminho do arquivo que contém o conteúdo a ser analisado:
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Se a solicitação for bem-sucedida, o servidor retornará uma resposta no 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" }
A matriz tokens
contém objetos Token
representando os tokens de frase detectados, incluindo informações como classe gramatical e posição na frase.
Go
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Go.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Java.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Node.js.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente para a Natural Language, consulte Bibliotecas de cliente da Natural Language. Para mais informações, consulte a documentação de referência da API Natural Language Python.
Para se autenticar no Natural Language, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do Natural Language para Ruby.