Embora a maioria dos métodos de linguagem natural analise o assunto de um determinado texto, o método analyzeSyntax
inspeciona a estrutura da própria linguagem.
A análise sintática divide o texto fornecido numa série de frases e tokens (geralmente, palavras) e fornece informações linguísticas sobre esses tokens.
Consulte Morfologia e árvores de dependência para ver detalhes
acerca da análise linguística e do suporte de idiomas
para ver uma lista dos idiomas cuja sintaxe a API Natural Language pode analisar.
Esta secção demonstra algumas formas de detetar a sintaxe num documento. Para cada documento, tem de enviar um pedido separado.
Analisar a sintaxe numa string
Segue-se um exemplo de como realizar uma análise sintática numa string de texto enviada diretamente para a API Natural Language:
Protocolo
Para analisar a sintaxe num documento, faça um pedido POST
ao método REST documents:analyzeSyntax
e forneça o corpo do pedido adequado, conforme mostrado no exemplo seguinte.
O exemplo usa o comando gcloud auth application-default print-access-token
para obter um token de acesso para uma conta de serviço configurada para o projeto usando a CLI gcloud da Google Cloud Platform.
Para obter instruções sobre a instalação da CLI gcloud e a configuração de 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 não especificar document.language
, o idioma é detetado automaticamente. Para informações sobre os idiomas suportados pela API Natural Language,
consulte o artigo Suporte de idiomas. Consulte a Document
documentação de referência para obter mais informações sobre a configuração do corpo do pedido.
Se o pedido for bem-sucedido, o servidor devolve um código de estado 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 Token
objetos que representam os tokens de frases detetados, que incluem informações como a parte do discurso de um token e a respetiva posição na frase.
gcloud
Consulte o comando analyze-syntax
para ver os detalhes completos.
Para realizar a análise de sintaxe, use a CLI gcloud e
use a flag --content
para identificar o conteúdo a analisar:
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 o pedido for bem-sucedido, o servidor devolve 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 Token
objetos que representam os tokens de frases detetados, que incluem informações como a parte do discurso de um token e a respetiva posição na frase.
Go
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Go de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Java de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Node.js de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Python de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para .NET.
PHP: Siga as instruções de configuração do PHP na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para PHP.
Ruby: Siga as instruções de configuração do Ruby na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para Ruby.
Analisar a sintaxe a partir do Cloud Storage
Para sua conveniência, a API Natural Language pode realizar a análise sintática diretamente num ficheiro localizado no Cloud Storage, sem necessidade de enviar o conteúdo do ficheiro no corpo do seu pedido.
Segue-se um exemplo de como realizar uma análise sintática num ficheiro localizado no Cloud Storage.
Protocolo
Para analisar a sintaxe num documento armazenado no Cloud Storage,
faça um pedido POST
ao método REST
documents:analyzeSyntax
e forneça
o corpo do pedido adequado com o caminho para o documento,
conforme mostrado no exemplo seguinte.
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 não especificar document.language
, o idioma é detetado automaticamente. Para informações sobre os idiomas suportados pela API Natural Language,
consulte o artigo Suporte de idiomas. Consulte a Document
documentação de referência para obter mais informações sobre a configuração do corpo do pedido.
Se o pedido for bem-sucedido, o servidor devolve um código de estado 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 Token
objetos que representam os tokens de frases detetados, que incluem informações como a parte do discurso de um token e a respetiva posição na frase.
gcloud
Consulte o comandoanalyze-syntax
para ver os detalhes completos.
Para realizar a análise de sintaxe num ficheiro no Cloud Storage, use a ferramenta de linha de comandos gcloud
e a flag --content-file
para identificar o caminho do ficheiro que contém o conteúdo a analisar:
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Se o pedido for bem-sucedido, o servidor devolve 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 Token
objetos que representam os tokens de frases detetados, que incluem informações como a parte do discurso de um token e a respetiva posição na frase.
Go
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Go de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Java de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Node.js de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Natural Language, consulte o artigo Bibliotecas cliente da API Natural Language. Para mais informações, consulte a documentação de referência da API Python de linguagem natural.
Para se autenticar na API Natural Language, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para .NET.
PHP: Siga as instruções de configuração do PHP na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para PHP.
Ruby: Siga as instruções de configuração do Ruby na página de bibliotecas cliente e, em seguida, visite a documentação de referência da linguagem natural para Ruby.