Questo documento fornisce una guida alle nozioni di base sull'utilizzo dell'API Cloud Natural Language. Questa guida concettuale illustra i tipi di richieste che puoi fare all'API Natural Language, come crearle e come gestire le relative risposte. Consigliamo a tutti gli utenti dell'API Natural Language Leggi questa guida e uno dei tutorial associati prima di approfondire l'API per trovare le regole.
Caratteristiche di Natural Language
L'API Natural Language dispone di diversi metodi per eseguire l'analisi e annotazione sul testo. Ogni livello di analisi fornisce informazioni preziose per la comprensione del linguaggio. Questi metodi sono elencati di seguito:
L'analisi del sentiment esamina il testo specificato e identifica il testo prevalente l'opinione emotiva nel testo, soprattutto per determinare la un atteggiamento positivo, negativo o neutro. L'analisi del sentiment viene eseguita tramite il metodo
analyzeSentiment
.L'analisi delle entità controlla il testo specificato alla ricerca di entità note (corretta nomi pubblici come personaggi pubblici, punti di riferimento e così via. Nomi comuni come ristorante, stadio e così via) e restituisce informazioni su quelle entità. L'analisi delle entità viene eseguita con il metodo
analyzeEntities
.L'analisi del sentiment delle entità esamina il testo specificato per individuare entità note (nomi propri e nomi comuni), restituisce informazioni su queste entità e identifica l'opinione emotiva prevalente dell'entità all'interno del testo, in particolare per determinare se l'atteggiamento di un autore nei confronti dell'entità è positivo, negativo o neutro. L'analisi delle entità viene eseguita con
analyzeEntitySentiment
.L'analisi sintattica estrae informazioni linguistiche, suddividendo il testo in una serie di frasi e token (di solito, limiti di parole), fornendo ulteriori analisi su questi token. L'analisi sintattica viene eseguita con il metodo
analyzeSyntax
.La classificazione dei contenuti analizza i contenuti di testo e restituisce una categoria di contenuti. per i contenuti. La classificazione dei contenuti viene eseguita utilizzando
classifyText
.
Ogni chiamata API rileva e restituisce anche la lingua, se non viene specificata dall'utente che chiama nella richiesta iniziale.
Inoltre, se vuoi eseguire diverse operazioni di linguaggio naturale
un dato testo utilizzando una sola chiamata API, è possibile usare anche la richiesta annotateText
per eseguire l'analisi del sentiment e dell'entità.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Natural Language in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Natural Language gratuitamenteRichieste di Natural Language di base
L'API Natural Language è un'API REST ed è composta da richieste JSON e la risposta corretta. Di seguito è riportata una semplice richiesta di analisi delle entità JSON di Natural Language:
{ "document":{ "type":"PLAIN_TEXT", "language_code": "EN", "content":"'Lawrence of Arabia' is a highly rated film biography about British Lieutenant T. E. Lawrence. Peter O'Toole plays Lawrence in the film." }, "encodingType":"UTF8" }
Questi campi sono descritti di seguito:
document
contiene i dati relativi a questa richiesta, che sono costituiti dai seguenti elementi campi secondari:type
- tipo di documento (HTML
oPLAIN_TEXT
)language
- (facoltativo) la lingua del testo all'interno della richiesta. Se non specificata, la lingua verrà rilevata automaticamente. Per informazioni le lingue supportate dall'API Natural Language, consulta la sezione Supporto lingue. Non supportata lingue diverse restituiranno un errore nella risposta JSON.content
ogcsContentUri
che contengono il testo da valutare. Se passicontent
, questo testo viene incluso direttamente nel file JSON richiesta (come mostrato sopra). Se viene passatogcsContentUri
, il campo deve contenere un URI che rimandi a contenuti di testo in Google Cloud Storage.
- encodingType:
(obbligatorio) lo schema di codifica in cui ha restituito gli offset dei caratteri nella
che deve corrispondere alla codifica del testo passato.
Se questo parametro non è impostato, la richiesta non restituirà errori, ma tutti questi offset verranno impostati su
-1
.
Specificare i contenuti di testo
Quando passi una richiesta API Natural Language, specifichi il testo da elaborare uno dei due modi seguenti:
- Trasmettere il testo direttamente all'interno di un campo
content
. - Trasmettere un URI Google Cloud Storage all'interno di un campo
gcsContentUri
.
In entrambi i casi, assicurati di non superare i limiti per i contenuti. Tieni presente che questi limiti di contenuti si riferiscono ai byte, non ai caratteri. Pertanto, la lunghezza dei caratteri dipende dalla codifica del testo.
La richiesta riportata di seguito si riferisce a un file Google Cloud Storage contenente Indirizzo di Gettysburg:
{ "document":{ "type":"PLAIN_TEXT", "language": "EN", "gcsContentUri":"gs://cloud-samples-tests/natural-language/gettysburg.txt" }, }
Analisi del sentiment
L'analisi del sentiment tenta di determinare l'atteggiamento complessivo (positivo o
negativo) espresso nel testo. Il sentiment è rappresentato da valori numerici
score
e magnitude
.
Campi di risposta dell'analisi del sentiment
Di seguito è riportata una risposta analyzeSentiment
di esempio per l'indirizzo di Gettysburg:
{ "documentSentiment": { "score": 0.2, "magnitude": 3.6 }, "language_code": "en", "sentences": [ { "text": { "content": "Four score and seven years ago our fathers brought forth on this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal.", "beginOffset": 0 }, "sentiment": { "magnitude": 0.8, "score": 0.8 } }, ... }
Questi valori dei campi sono descritti di seguito:
documentSentiment
contiene il sentiment complessivo del documento, che consiste nei seguenti campi:score
degli intervalli di sentiment compresi tra-1.0
(negativo) e1.0
(positivo) e corrisponde all'orientamento emotivo complessivo del testo.magnitude
indica la forza complessiva dell'emozione (sia positiva che negativo) all'interno del testo specificato, tra0.0
e+inf
. A differenza discore
,magnitude
non è normalizzato perdocumentSentiment
; ogni espressione emotiva nel testo (sia positiva che negativa) contribuisce al valoremagnitude
del testo (quindi blocchi di testo più lunghi possono avere una grandezza maggiore).
language_code
contiene la lingua del documento, passata nella forma iniziale o rilevata automaticamente se non è presente.language_supported
contiene un valore booleano per identificare se la lingua è supportata ufficialmentesentences
contiene un elenco delle frasi estratte dal documento originale, che contiene:sentiment
contiene i valori del sentimento a livello di frase associati a ogni frase, che contengonoscore
compreso tra-1.0
(negativo) e1.0
(positivo) e valorimagnitude
compresi tra0.0
e1.0
. Tieni presente chemagnitude
persentences
è normalizzato.
Un valore di sentiment pari a 0.2
per il discorso di Gettysburg indica che l'emozione è leggermente positiva, mentre il valore di intensità pari a 3.6
indica un documento relativamente emotivo, date le sue piccole dimensioni (circa un paragrafo). Tieni presente che la prima frase dell'indirizzo di Gettysburg contiene una
molto alto positivo per score
di 0.8
.
Interpretazione dei valori di analisi del sentiment
Il punteggio del sentiment di un documento indica l'emozione complessiva del documento. La magnitudo del sentiment di un documento indica quanto contenuto emotivo è presente nel documento e questo valore è spesso proporzionale alla lunghezza del documento.
È importante notare che l'API Natural Language indica le differenze tra emozioni positive e negative in un documento, ma non identifica emozioni positive e negative specifiche. Ad esempio, "arrabbiato" e "triste" sono entrambi considerati emozioni negative. Tuttavia, quando l'API Natural Language analizza un testo considerato "arrabbiato" o "triste", la risposta indica solo che il sentiment nel testo è negativo, non "triste" o "arrabbiato".
Un documento con un punteggio neutro (circa 0.0
) potrebbe indicare una bassa emozione
documento o può indicare emozioni contrastanti, con valori elevati di
valori negativi,
che annullano ciascuno di essi. In genere, puoi utilizzare i valori magnitude
per distinguere questi casi, poiché i documenti veramente neutri avranno un valore magnitude
basso, mentre i documenti misti avranno valori di grandezza più elevati.
Quando confronti documenti tra loro (in particolare documenti con
lunghezza), assicurati di utilizzare i valori magnitude
per calibrare i punteggi, come
possono aiutarti a valutare
la quantità rilevante di contenuti emotivi.
Il grafico seguente mostra alcuni valori di esempio e come interpretarli:
Sentiment | Valori di esempio |
---|---|
Chiaramente positivo* | "score" : 0,8; "magnitude" : 3,0 |
Chiaramente negativo* | "score" : -0,6, "magnitude" : 4,0 |
Indifferente | "score" : 0,1, "magnitude" : 0,0 |
Misto | "score" : 0,0, "magnitude" : 4,0 |
* Il sentiment "chiaramente positivo" e "chiaramente negativo" varia in base ai diversi casi d'uso e clienti. Potresti trovare risultati diversi per il tuo scenario specifico. Ti consigliamo di definire una soglia adatta alle tue esigenze e e poi modifica la soglia dopo aver testato e verificato i risultati. Ad esempio: puoi definire come chiaramente positivo una soglia di qualsiasi punteggio superiore a 0,25, quindi modificare la soglia del punteggio a 0,15 dopo aver esaminato i dati e i risultati e rilevando che anche i punteggi da 0,15 a 0,25 dovrebbero essere considerati positivi.
Analisi dell'entità
L'analisi delle entità fornisce informazioni sulle entità nel testo, in genere si riferiscono a "cose" denominate come personaggi famosi, punti di riferimento, oggetti e così via.
Le entità rientrano in due categorie generali: nomi propri associati a parole chiave entità (persone, luoghi specifici, ecc.) o sostantivi comuni (detti anche "nominali" nell'elaborazione del linguaggio naturale). Una buona prassi generale da seguire è che se qualcosa è un nome, si qualifica come "entità". Le entità vengono restituite come degli offset indicizzati nel testo originale.
Una richiesta di analisi delle entità deve passare un argomento encodingType
, in modo che
gli offset restituiti possono essere interpretati correttamente.
Campi di risposta dell'analisi delle entità
L'analisi delle entità restituisce un insieme di entità rilevate e i parametri associati a queste entità, ad esempio il tipo di entità, la pertinenza dell'entità al text completo e le posizioni nel testo che fanno riferimento alla stessa entità.
Di seguito è riportata una risposta analyzeEntities
alla richiesta di entità:
{ "entities": [ { "name": "British", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "British", "beginOffset": 58 }, "type": "PROPER", "probability": 0.941 } ] }, { "name": "Lawrence", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Lawrence", "beginOffset": 113 }, "type": "PROPER", "probability": 0.914 } ] }, { "name": "Lawrence of Arabia", "type": "WORK_OF_ART", "metadata": {}, "mentions": [ { "text": { "content": "Lawrence of Arabia", "beginOffset": 0 }, "type": "PROPER", "probability": 0.761 } ] }, { "name": "Lieutenant", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Lieutenant", "beginOffset": 66 }, "type": "COMMON", "probability": 0.927 } ] }, { "name": "Peter O Toole", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Peter O Toole", "beginOffset": 93 }, "type": "PROPER", "probability": 0.907 } ] }, { "name": "T. E. Lawrence", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "T. E. Lawrence", "beginOffset": 77 }, "type": "PROPER", "probability": 0.853 } ] }, { "name": "film", "type": "WORK_OF_ART", "metadata": {}, "mentions": [ { "text": { "content": "film", "beginOffset": 129 }, "type": "COMMON", "probability": 0.805 } ] }, { "name": "film biography", "type": "WORK_OF_ART", "metadata": {}, "mentions": [ { "text": { "content": "film biography", "beginOffset": 37 }, "type": "COMMON", "probability": 0.876 } ] } ], "languageCode": "en", "languageSupported": true }
Tieni presente che l'API Natural Language restituisce le entità per "Lawrence of Arabia" (il film) e "T.E. Lorenzo" (la persona). L'analisi delle entità è utile per risolvere le ambiguità tra entità simili, come in questo caso "Lawrence".
Di seguito sono elencati i campi utilizzati per archiviare i parametri dell'entità:
type
indica il tipo di entità (ad es. se si tratta di una persona, una località, un bene di consumo e così via). Queste informazioni consentono di distinguere e/o disambiguare entità e può essere utilizzato per scrivere pattern estrarre informazioni. Ad esempio, un valoretype
può aiutano a distinguere entità con nomi simili, come "Lawrence of Arabia", comeWORK_OF_ART
(film), da "T.E. Lawrence", contrassegnato comePERSON
, per esempio. Per maggiori informazioni, consulta la sezione Tipi di entità.metadata
contiene informazioni sulle origini del repository di conoscenza dell'entità. In futuro potrebbero essere esposti altri repository.mentions
indicano le posizioni di offset all'interno del testo in cui viene menzionata un'entità. Queste informazioni possono essere utili se vuoi trovare tutte le menzioni della persona "Lawrence" nel testo, ma non il titolo del film. Puoi anche usano le menzioni per raccogliere l'elenco di alias di entità, come "Lawrence", che fare riferimento alla stessa entità "T.E. Lawrence". La menzione di un'entità può essere uno di due tipi:PROPER
oCOMMON
. Un nome proprio "Entity" per "Lawrence of Arabia", ad esempio potrebbe essere menzionato direttamente come titolo del film o come un sostantivo ("biografia cinematografica" di T.E. Lawrence).
Analisi del sentiment relativo all'entità
L'analisi del sentiment relativo a un'entità combina l'analisi delle entità e del sentiment e tenta di determinare il sentiment (positivo o negativo) espresso in merito alle entità all'interno del testo. Il sentiment relativo all'entità è rappresentato da valori numerici e di grandezza e viene determinato per ciascuna menzione di una persona giuridica. I punteggi vengono quindi aggregati in un punteggio di sentiment complessivo e in una grandezza per un'entità.
Richieste di analisi del sentiment relativo all'entità
Le richieste di analisi del sentiment delle entità vengono inviate all'API Natural Language tramite l'utilizzo del metodo analyzeEntitySentiment
nel seguente formato:
{ "document":{ "type":"PLAIN_TEXT", "content":"I love R&B music. Marvin Gaye is the best. 'What's Going On' is one of my favorite songs. It was so sad when Marvin Gaye died." }, "encodingType":"UTF8" }
Puoi specificare un parametro language
facoltativo con la richiesta che identifica il codice lingua del testo nel parametro content
.
Se non specifichi un parametro language
, l'API Natural Language rileva automaticamente la lingua dei contenuti della richiesta.
Per informazioni sulle lingue supportate dall'API Natural Language,
consulta la sezione Supporto lingue.
Risposte all'analisi del sentiment relativo all'entità
L'API Natural Language elabora il testo specificato per estrarre le entità e
per determinare il sentiment. Una richiesta di analisi del sentiment delle entità restituisce una risposta contenente i entities
trovati nei contenuti del documento, una voce mentions
per ogni volta che l'entità viene menzionata e i valori numerici score
e magnitude
per ogni menzione, come descritto in Interpretazione dei valori dell'analisi del sentiment. I valori score
e magnitude
complessivi di un'entità sono un aggregato dei valori score
e magnitude
specifici per ogni menzione dell'entità. La
I valori score
e magnitude
per un'entità possono essere 0
, se erano bassi
il sentiment nel testo, ottenendo un valore magnitude
pari a 0, oppure il sentiment
è misto, risultando in un valore score
pari a 0.
{ "entities": [ { "name": "R&B music", "type": "WORK_OF_ART", "metadata": {}, "salience": 0.5306305, "mentions": [ { "text": { "content": "R&B music", "beginOffset": 7 }, "type": "COMMON", "sentiment": { "magnitude": 0.9, "score": 0.9 } } ], "sentiment": { "magnitude": 0.9, "score": 0.9 } }, { "name": "Marvin Gaye", "type": "PERSON", "metadata": { "mid": "/m/012z8_", "wikipedia_url": "http://en.wikipedia.org/wiki/Marvin_Gaye" }, "salience": 0.21584158, "mentions": [ { "text": { "content": "Marvin Gaye", "beginOffset": 18 }, "type": "PROPER", "sentiment": { "magnitude": 0.4, "score": 0.4 } }, { "text": { "content": "Marvin Gaye", "beginOffset": 138 }, "type": "PROPER", "sentiment": { "magnitude": 0.2, "score": -0.2 } } ], "sentiment": { "magnitude": 0.6, "score": 0.1 } }, ... ], "language": "en" }
Ad esempio, consulta Analisi del sentiment dell'entità.
Analisi sintattica
L'API Natural Language fornisce un potente set di strumenti per l'analisi e
per analizzare il testo tramite l'analisi sintattica. Per eseguire l'analisi sintattica, utilizza il metodo
analyzeSyntax
.
L'analisi sintattica prevede le seguenti operazioni:
- L'estrazione delle frasi suddivide il flusso di testo in una serie di frasi.
- La tokenizzazione suddivide il flusso di testo in una serie di token, ciascuno dei quali di solito corrisponde a una singola parola.
- L'API Natural Language elabora quindi i token e, utilizzando le relative posizioni all'interno delle frasi, aggiunge informazioni sintattiche ai token.
La documentazione completa sul set di token sintattici è disponibile nel Morfologia e Guida agli alberi delle dipendenze.
Richieste di analisi sintattica
Le richieste Syntactic Analysis vengono inviate all'API Natural Language mediante l'uso di
il metodo analyzeSyntax
nel seguente formato:
{ "document":{ "type":"PLAIN_TEXT", "content":"Ask not what your country can do for you, ask what you can do for your country." }, "encodingType":"UTF8" }
Risposte all'analisi sintattica
L'API Natural Language elabora il testo specificato per estrarre frasi e
di token. Una richiesta di analisi sintattica restituisce una risposta contenente questi sentences
e tokens
nel seguente formato:
{ "sentences": [ ... Array of sentences with sentence information ], "tokens": [ ... Array of tokens with token information ] }
Estrazione di frasi
Quando si esegue l'analisi sintattica, l'API Natural Language restituisce un
un array di frasi estratte dal testo fornito, con ogni frase
contenenti i seguenti campi all'interno di un elemento principale text
:
beginOffset
che indica l'offset dei caratteri (a partire da zero) all'interno del testo specificato in cui inizia la frase. Tieni presente che questo offset viene calcolato utilizzando il valoreencodingType
passato.content
contenente il testo completo della frase estratta.
Ad esempio, viene ricevuto il seguente elemento sentences
per un annuncio sintattico
Richiesta di analisi dell'indirizzo di Gettysburg:
{ "sentences": [ { "text": { "content": "Four score and seven years ago our fathers brought forth on this continent a new nation, conceived in liberty and dedicated to the proposition that all men are created equal.", "beginOffset": 0 } }, { "text": { "content": "Now we are engaged in a great civil war, testing whether that nation or any nation so conceived and so dedicated can long endure.", "beginOffset": 175 } }, ... ... { "text": { "content": "It is rather for us to be here dedicated to the great task remaining before us--that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion--that we here highly resolve that these dead shall not have died in vain, that this nation under God shall have a new birth of freedom, and that government of the people, by the people, for the people shall not perish from the earth.", "beginOffset": 1002 } } ], "language": "en" }
Una richiesta di analisi sintattica all'API Natural Language includerà anche un insieme di token. Puoi utilizzare le informazioni associate a ciascun token per eseguire ulteriori analisi sulle frasi restituite. Ulteriori informazioni su questi token sono disponibili nella guida Morfologia e alberi delle dipendenze.
Tokenizzazione
Il metodo analyzeSyntax
trasforma anche il testo in una serie di token, che
corrispondono ai diversi elementi di testo (limiti di parola) dei contenuti
passati. Il processo mediante il quale l'API Natural Language sviluppa questo set di
di token è nota come tokenizzazione.
Una volta estratti, l'API Natural Language li elabora determinare la loro parte del discorso associata (inclusi gli elementi morfologici informazioni) e lemma. Inoltre, i token vengono valutati e posizionati all'interno di un albero delle dipendenze, che consente di determinare il significato sintattico dei token e illustrare della relazione tra i token e le relative frasi che la contengono. Le informazioni sintattiche e morfologiche associate a questi token sono utili per comprendere la struttura sintattica delle frasi all'interno dell'API Natural Language.
Di seguito è riportato l'insieme di campi token restituiti in una risposta JSON dell'analisi sintattica:
text
contiene i dati di testo associati a questo token, con i seguenti campi secondari:beginOffset
contiene l'offset (in base zero) del carattere all'interno della testo fornito. Tieni presente che, anche se le dipendenze (descritte di seguito) esistono solo all'interno delle frasi, gli offset dei token sono posizionati all'interno del testo nel suo insieme. Tieni presente che questo offset viene calcolato utilizzando il valoreencodingType
passato.content
contiene i contenuti testuali effettivi del testo originale.
partOfSpeech
fornisce informazioni grammaticali, tra cui informazioni morfologiche, sul token, ad esempio tempo, persona, numero, genere e così via. (Per informazioni più complete su questi campi, consulta la guida Morfologia e alberi di dipendenza.)lemma
contiene la "principale" parola su cui si basa questa parola, che ti consente di standardizzare l'utilizzo delle parole all'interno del testo. Ad esempio, le parole "scrivere", "scrittura", "scrisse" e "scritto" si basano tutte sullo stesso lemma ("scrivere"). Inoltre, le forme plurali e singolari si basano su lemmi: "casa" e "case" entrambi si riferiscono allo stesso modulo. (Vedi Lemma (morfologia).)I campi
dependencyEdge
identificano la relazione tra le parole in una che contiene una frase tramite bordi in un albero diretto. Questo le informazioni possono essere preziose per la traduzione, l'estrazione di informazioni riassunto. La guida Morfologia e alberi delle dipendenze contiene informazioni più dettagliate sull'analisi delle dipendenze. OgnidependencyEdge
contiene i seguenti campi secondari:headTokenIndex
fornisce il valore dell'indice (a partire da zero) del "token principale" di questo token all'interno della frase di incapsulamento del token. Un token con senza l'indice padre.label
fornisce il tipo di dipendenza di questo token dal token iniziale.
La seguente citazione di Franklin D. discorso inaugurale di Roosevelt produrrà i seguenti token:
NOTA: per maggiore chiarezza, sono stati rimossi tutti i tag partOfSpeech
contenenti valori *_UNKNOWN
.
"tokens": [ { "text": { "content": "The", "beginOffset": 4 }, "partOfSpeech": { "tag": "DET", }, "dependencyEdge": { "headTokenIndex": 2, "label": "DET" }, "lemma": "The" }, { "text": { "content": "only", "beginOffset": 8 }, "partOfSpeech": { "tag": "ADJ", }, "dependencyEdge": { "headTokenIndex": 2, "label": "AMOD" }, "lemma": "only" }, { "text": { "content": "thing", "beginOffset": 13 }, "partOfSpeech": { "tag": "NOUN", "number": "SINGULAR", }, "dependencyEdge": { "headTokenIndex": 7, "label": "NSUBJ" }, "lemma": "thing" }, { "text": { "content": "we", "beginOffset": 19 }, "partOfSpeech": { "tag": "PRON", "case": "NOMINATIVE", "number": "PLURAL", "person": "FIRST", }, "dependencyEdge": { "headTokenIndex": 4, "label": "NSUBJ" }, "lemma": "we" }, { "text": { "content": "have", "beginOffset": 22 }, "partOfSpeech": { "tag": "VERB", "mood": "INDICATIVE", "tense": "PRESENT", }, "dependencyEdge": { "headTokenIndex": 2, "label": "RCMOD" }, "lemma": "have" }, { "text": { "content": "to", "beginOffset": 27 }, "partOfSpeech": { "tag": "PRT", }, "dependencyEdge": { "headTokenIndex": 6, "label": "AUX" }, "lemma": "to" }, { "text": { "content": "fear", "beginOffset": 30 }, "partOfSpeech": { "tag": "VERB", }, "dependencyEdge": { "headTokenIndex": 4, "label": "XCOMP" }, "lemma": "fear" }, { "text": { "content": "is", "beginOffset": 35 }, "partOfSpeech": { "tag": "VERB", "mood": "INDICATIVE", "number": "SINGULAR", "person": "THIRD", "tense": "PRESENT", }, "dependencyEdge": { "headTokenIndex": 7, "label": "ROOT" }, "lemma": "be" }, { "text": { "content": "fear", "beginOffset": 38 }, "partOfSpeech": { "tag": "NOUN", "number": "SINGULAR", }, "dependencyEdge": { "headTokenIndex": 7, "label": "ATTR" }, "lemma": "fear" }, { "text": { "content": "itself", "beginOffset": 43 }, "partOfSpeech": { "tag": "PRON", "case": "ACCUSATIVE", "gender": "NEUTER", "number": "SINGULAR", "person": "THIRD", }, "dependencyEdge": { "headTokenIndex": 8, "label": "NN" }, "lemma": "itself" }, { "text": { "content": ".", "beginOffset": 49 }, "partOfSpeech": { "tag": "PRON", "case": "ACCUSATIVE", "gender": "NEUTER", "number": "SINGULAR", "person": "THIRD", }, "dependencyEdge": { "headTokenIndex": 8, "label": "NN" }, "lemma": "itself" }, { "text": { "content": ".", "beginOffset": 49 }, "partOfSpeech": { "tag": "PUNCT", }, "dependencyEdge": { "headTokenIndex": 7, "label": "P" }, "lemma": "." } ],
Classificazione dei contenuti
Puoi chiedere all'API Natural Language di analizzare un documento e restituire un elenco di categorie di contenuti applicabili al testo trovato nel documento. Per classificare
i contenuti di un documento, chiama il metodo classifyText
.
Un elenco completo delle categorie di contenuti restituite per il metodo classifyText
è disponibile qui.
L'API Natural Language filtra le categorie restituite
classifyText
per includere solo le categorie più pertinenti per un
richiesta. Ad esempio, se /Science
e /Science/Astronomy
si applicano entrambi
documento, viene restituita solo la categoria /Science/Astronomy
, in quanto
è il risultato più specifico.
Per un esempio di classificazione del contenuto con l'API Natural Language, vedi Classificazione dei Contenuti.
Esecuzione di più operazioni in un'unica richiesta
Se vuoi eseguire un insieme di operazioni di Natural Language all'interno di una singola chiamata al metodo, puoi utilizzare annotateText
come richiesta dell'API Natural Language per uso generale. Una richiesta JSON Text Annotation è simile a una
standard di analisi delle entità, ma richiede anche un
insieme di valori superati
funzionalità
per indicare le operazioni da eseguire sul testo. Queste funzionalità sono elencate
di seguito:
extractDocumentSentiment
esegue l'analisi del sentiment, come descritto nel Sezione Analisi del sentiment.extractEntities
esegue l'analisi delle entità, come descritto in Sezione Analisi delle entità.extractSyntax
indica che il testo specificato deve essere elaborato per essere eseguito l'analisi sintattica, come descritto Sezione Analisi sintattica.
La seguente richiesta chiama l'API per annotare features
in una breve frase.
{ "document":{ "type":"PLAIN_TEXT", "content":"The windy, cold weather was unbearable this winter." }, "features":{ "extractSyntax":true, "extractEntities":true, "extractDocumentSentiment":true }, "encodingType":"UTF8" }