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.