Alors que la plupart des méthodes de Natural Language analysent ce sur quoi porte un texte donné, la méthode analyzeSyntax
inspecte la structure du langage lui-même.
L'analyse syntaxique divise le texte donné en une série de phrases et de jetons (généralement des mots) et fournit des informations linguistiques sur ces jetons.
Reportez-vous à la page Arbres de morphologie et de dépendance pour plus de détails sur l'analyse linguistique, et à la page Langues acceptées pour obtenir une liste des langues dont la syntaxe peut être analysée par l'API Natural Language.
Cette section décrit plusieurs manières de détecter la syntaxe au sein d'un document. Vous devez envoyer une demande distincte pour chaque document.
Analyser la syntaxe dans une chaîne
Voici un exemple d'analyse syntaxique sur une chaîne de texte envoyée directement à l'API Natural Language :
Protocole
Pour analyser la syntaxe d'un document, envoyez une requête POST
à la méthode REST documents:analyzeSyntax
et fournissez le corps de requête approprié, comme indiqué dans l'exemple suivant.
L'exemple utilise la commande gcloud auth application-default print-access-token
pour obtenir un jeton d'accès pour un compte de service configuré pour le projet à l'aide de gcloud CLI de Google Cloud Platform.
Pour obtenir des instructions d'installation de la gcloud CLI et configurer un projet avec un compte de service, consultez le guide de démarrage rapide.
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 vous ne spécifiez pas document.language
, la langue est automatiquement détectée. Pour plus d'informations sur les langues acceptées par l'API Natural Language, consultez la page Langues acceptées. Pour en savoir plus sur la configuration du corps de la requête, reportez-vous à la documentation de référence sur Document
.
Si la requête aboutit, le serveur renvoie un code d'état HTTP 200 OK
et la réponse au format 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" }
Le tableau tokens
contient des objets Token
représentant les jetons de phrases détectés, qui incluent des informations telles que la partie vocale du jeton et sa position dans la phrase.
gcloud
Reportez-vous à la commande analyze-syntax
pour obtenir tous les détails.
Pour effectuer une analyse syntaxique, utilisez gcloud CLI et utilisez l'option --content
pour identifier le contenu à analyser :
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 requête aboutit, le serveur renvoie une réponse au format 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" }
Le tableau tokens
contient des objets Token
représentant les jetons de phrases détectés, qui incluent des informations telles que la partie vocale du jeton et sa position dans la phrase.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Go.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Java.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Node.js.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Python.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues supplémentaires
C# : Veuillez suivre les Instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour .NET.
PHP : Veuillez suivre les Instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour PHP.
Ruby : Veuillez suivre les Instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour Ruby.
Analyser la syntaxe à partir de Cloud Storage
L'API Natural Language peut effectuer une analyse syntaxique directement sur un fichier situé dans Cloud Storage, ce qui se révèle plus pratique car il n'est pas nécessaire d'envoyer le contenu du fichier dans le corps de la requête.
Voici un exemple d'analyse syntaxique sur un fichier situé dans Cloud Storage.
Protocole
Pour analyser la syntaxe d'un document stocké dans Cloud Storage, envoyez une requête POST
à la méthode REST documents:analyzeSyntax
et fournissez un corps de requête approprié avec le chemin d'accès au document comme illustré dans l'exemple suivant.
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 vous ne spécifiez pas document.language
, la langue est automatiquement détectée. Pour plus d'informations sur les langues acceptées par l'API Natural Language, consultez la page Langues acceptées. Pour en savoir plus sur la configuration du corps de la requête, reportez-vous à la documentation de référence sur Document
.
Si la requête aboutit, le serveur renvoie un code d'état HTTP 200 OK
et la réponse au format 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" }
Le tableau tokens
contient des objets Token
représentant les jetons de phrases détectés, qui incluent des informations telles que la partie vocale du jeton et sa position dans la phrase.
gcloud
Reportez-vous à la commandeanalyze-syntax
pour obtenir tous les détails.
Pour effectuer une analyse syntaxique sur un fichier dans Cloud Storage, utilisez l'outil de ligne de commande gcloud
et utilisez l'indicateur --content-file
pour identifier le chemin d'accès au contenu à analyser :
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Si la requête aboutit, le serveur renvoie une réponse au format 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" }
Le tableau tokens
contient des objets Token
représentant les jetons de phrases détectés, qui incluent des informations telles que la partie vocale du jeton et sa position dans la phrase.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Go.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Java.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Node.js.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Natural Language, consultez la page Bibliothèques clientes Natural Language. Pour en savoir plus, consultez la documentation de référence de l'API Natural Language Python.
Pour vous authentifier auprès de Natural Language, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues supplémentaires
C# : Veuillez suivre les Instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour .NET.
PHP : Veuillez suivre les Instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour PHP.
Ruby : Veuillez suivre les Instructions de configuration pour Ruby sur la page des bibliothèques clientes, puis consultez la Documentation de référence sur Natural Language pour Ruby.