Mentre la maggior parte dei metodi Natural Language analizza l'argomento di un determinato testo,
il analyzeSyntax metodo esamina la struttura della lingua stessa.
L'analisi sintattica suddivide il testo specificato in una serie di frasi e token (in genere, parole) e fornisce informazioni linguistiche su questi token.
Per i dettagli sull'analisi linguistica, consulta Morfologia e alberi delle dipendenze e per un elenco delle lingue di cui l'API Natural Language può analizzare la sintassi, consulta Supporto linguistico.
Questa sezione mostra alcuni modi per rilevare la sintassi in un documento. Per ogni documento, devi inviare una richiesta separata.
Analisi della sintassi in una stringa
Di seguito è riportato un esempio di esecuzione dell'analisi sintattica su una stringa di testo inviata direttamente all'API Natural Language:
Protocollo
Per analizzare la sintassi in un documento, esegui una POST richiesta al
documents:analyzeSyntax
metodo REST e fornisci
il corpo della richiesta appropriato, come mostrato nell'esempio seguente.
L'esempio utilizza il gcloud auth application-default print-access-token
comando per ottenere un token di accesso per un account di servizio configurato per il
progetto utilizzando Google Cloud Platform gcloud CLI.
Per istruzioni sull'installazione di gcloud CLI,
sulla configurazione di un progetto con un account di servizio
consulta la guida rapida.
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 non specifichi document.language, la lingua verrà rilevata automaticamente. Per informazioni sulle lingue supportate dall'API Natural Language,
consulta Supporto linguistico. Per ulteriori informazioni sulla configurazione del corpo della richiesta, consulta la Document
documentazione di riferimento.
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK e la risposta in 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"
}
L'tokens array contiene Token
oggetti che rappresentano i token delle frasi rilevate, che includono informazioni
come la parte del discorso di un token e la sua posizione nella frase.
gcloud
Per i dettagli completi, consulta il analyze-syntax
comando.
Per eseguire l'analisi della sintassi, utilizza gcloud CLI e il flag --content per identificare il contenuto da analizzare:
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 la richiesta riesce, il server restituisce una risposta in 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"
}
L'tokens array contiene Token
oggetti che rappresentano i token delle frasi rilevate, che includono informazioni
come la parte del discorso di un token e la sua posizione nella frase.
Go
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'APIGo Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'JavaAPI Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'APINode.js Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PythonNatural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per Ruby.
Analisi della sintassi da Cloud Storage
Per tua comodità, l'API Natural Language può eseguire l'analisi sintattica direttamente su un file in Cloud Storage, senza la necessità di inviare i contenuti del file nel corpo della richiesta.
Di seguito è riportato un esempio di esecuzione dell'analisi sintattica su un file in Cloud Storage.
Protocollo
Per analizzare la sintassi in un documento archiviato in Cloud Storage,
esegui una richiesta POST al
documents:analyzeSyntax
metodo REST e fornisci
il corpo della richiesta appropriato con il percorso del documento,
come mostrato nell'esempio seguente.
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 non specifichi document.language, la lingua verrà rilevata automaticamente. Per informazioni sulle lingue supportate dall'API Natural Language,
consulta Supporto linguistico. Per ulteriori informazioni sulla configurazione del corpo della richiesta, consulta la Document
documentazione di riferimento.
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK e la risposta in 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"
}L'tokens array contiene Token
oggetti che rappresentano i token delle frasi rilevate, che includono informazioni
come la parte del discorso di un token e la sua posizione nella frase.
gcloud
Per i dettagli completi, consulta ilanalyze-syntax
comando.
Per eseguire l'analisi della sintassi su un file in Cloud Storage, utilizza lo strumento a riga di comando gcloud e il flag --content-file per identificare il percorso del file che contiene il contenuto da analizzare:
gcloud ml language analyze-syntax --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
Se la richiesta riesce, il server restituisce una risposta in 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"
}L'tokens array contiene Token
oggetti che rappresentano i token delle frasi rilevate, che includono informazioni
come la parte del discorso di un token e la sua posizione nella frase.
Go
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'APIGo Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'JavaAPI Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'APINode.js Natural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Natural Language, consulta Librerie client di Natural Language. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PythonNatural Language.
Per eseguire l'autenticazione in Natural Language, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Natural Language per Ruby.