Pubblico
Questo tutorial è stato pensato per consentirti di iniziare rapidamente a esplorare e lo sviluppo di applicazioni con l'API Google Cloud Natural Language. È pensato per chi ha dimestichezza con la programmazione di base, anche se dovresti riuscire a seguire la guida anche senza molte conoscenze in materia. Dopo aver attraversato questo tutorial, dovresti essere in grado di usare Documentazione di riferimento per creare la tua applicazioni di base.
Questo tutorial illustra i passaggi di un'applicazione API Natural Language mediante Python le API nel tuo codice. Lo scopo non è spiegare le librerie client Python, ma spiegare come effettuare chiamate all'API Natural Language. Le applicazioni in Java e Node.js sono essenzialmente simili. Consulta l'API Natural Language Campioni per i campioni in altre lingue (incluso questo esempio nella nel tutorial).
Prerequisiti
Questo tutorial ha diversi prerequisiti:
- Devi disporre di un account Google Cloud. Se non hai mai utilizzato la piattaforma, creare un account per valutare il rendimento dei nostri prodotti in scenari del mondo reale. I nuovi clienti ricevono anche 300 $di crediti gratuiti da pubblicare, testare ed eseguire il deployment dei carichi di lavoro.
- Aver configurato un progetto API Cloud Natural Language nella console Google Cloud.
- Hai configurato il tuo ambiente utilizzando Credenziali predefinite dell'applicazione.
- Hai una conoscenza di base della programmazione di Python.
- Hai configurato il tuo ambiente di sviluppo Python. Ti consigliamo di controllare
l'ultima versione di Python,
pip
evirtualenv
installata sul sistema. Per istruzioni, vedi Guida alla configurazione dell'ambiente di sviluppo Python per la Google Cloud Platform. - Tu abbia installato la libreria client di Google Cloud per Python.
Analisi del sentiment dei documenti
Questo tutorial illustra un'applicazione API Natural Language di base, utilizzando
una richiesta analyzeSentiment
, che esegue l'analisi del sentiment sul testo.
L'analisi del sentiment cerca di determinare l'atteggiamento complessivo (positivo o
negativo) ed è rappresentato dai valori numerici score
e magnitude
.
Per ulteriori informazioni su questi concetti, consulta le Nozioni di base su Natural Language.
Mostreremo prima l'intero codice. Tieni presente che abbiamo rimosso la maggior parte dei commenti questo codice per mostrarti la sua brevità. Forniremo ulteriori commenti esamineremo il codice.
Questa semplice applicazione esegue le seguenti attività:
- Importa le librerie necessarie per eseguire l'applicazione
- Prende un file di testo e lo passa alla funzione
main()
- Legge il file di testo ed effettua una richiesta al servizio
- Analizza la risposta del servizio e la mostra all'utente
Esamineremo questi passaggi in modo più dettagliato di seguito.
Importazione delle librerie
Importiamo argparse
, una libreria standard, per consentire all'applicazione di accettare
i nomi file di input come argomenti.
Per utilizzare l'API Cloud Natural Language, dovremo anche importare il modulo language
dalla libreria google-cloud-language
. Il modulo types
contiene le classi necessarie per la creazione delle richieste.
Esecuzione dell'applicazione
Qui, analizziamo semplicemente l'argomento passato per il nome file di testo e lo passiamo
la funzione analyze()
.
Autenticazione nell'API
Prima di comunicare con il servizio API Natural Language, è necessario
di autenticare il servizio utilizzando le credenziali acquisite in precedenza. All'interno di un oggetto
un'applicazione, il modo più semplice per ottenere le credenziali è usare
Credenziali predefinite dell'applicazione
(ADC). Per impostazione predefinita, l'ADC tenterà di ottenere le credenziali dal file di ambiente GOOGLE_APPLICATION_CREDENTIALS
, che deve essere impostato in modo da puntare al file della chiave JSON dell'account di servizio. (Dovresti aver configurato il servizio
e l'ambiente per utilizzare ADC nella Guida rapida. Per ulteriori informazioni, consulta Configurare un account di servizio.
La libreria client di Google Cloud per Python utilizza automaticamente l'applicazione credenziali predefinite.
Effettuare la richiesta
Ora che il servizio dell'API Natural Language è pronto, possiamo accedervi chiamando il metodo analyze_sentiment
dell'istanza LanguageServiceClient
.
La libreria client contiene i dettagli delle richieste e delle risposte all'API. Consulta le Riferimento all'API Natural Language per il completamento informazioni sulla struttura specifica della richiesta.
Questo snippet di codice esegue le seguenti attività:
- Crea un'istanza di
LanguageServiceClient
come client. - Legge il nome del file contenente i dati di testo in una variabile.
- Crea un'istanza per un oggetto
Document
con i contenuti del file. - Chiama il metodo
analyze_sentiment
del client.
Analizzare la risposta
Esaminiamo la risposta per estrarre i valori score
del sentiment per ogni frase e i valori score
e magnitude
complessivi per l'intera recensione, che poi mostriamo all'utente.
Esegui l'esempio
Per eseguire il nostro esempio, lo testeremo su un insieme di recensioni (false) del film "Blade Runner".
Scarica i sample da Google Cloud Storage:
gcloud storage cp gs://cloud-samples-tests/natural-language/sentiment-samples.tgz .
Per installare la versione più recente di Google Cloud CLI, consulta Documentazione di gcloud CLI.
Decomprimi gli esempi per creare "recensioni" cartella:
gunzip sentiment-samples.tgz tar -xvf sentiment-samples.tar
Esegui la nostra analisi del sentiment su uno dei file specificati:
python sentiment_analysis.py reviews/bladerunner-pos.txt Sentence 0 has a sentiment score of 0.8 Sentence 1 has a sentiment score of 0.9 Sentence 2 has a sentiment score of 0.8 Sentence 3 has a sentiment score of 0.2 Sentence 4 has a sentiment score of 0.1 Sentence 5 has a sentiment score of 0.4 Sentence 6 has a sentiment score of 0.3 Sentence 7 has a sentiment score of 0.4 Sentence 8 has a sentiment score of 0.2 Sentence 9 has a sentiment score of 0.9 Overall Sentiment: score of 0.5 with magnitude of 5.5
L'esempio riportato sopra indica una recensione relativamente positiva (punteggio 0.5
) e relativamente emotiva (intensità 5.5
).
L'analisi degli altri esempi dovrebbe produrre valori simili a quelli come mostrato di seguito:
python sentiment_analysis.py reviews/bladerunner-neg.txt ... Overall Sentiment: score of -0.6 with magnitude of 3.3 python sentiment_analysis.py reviews/bladerunner-mixed.txt ... Overall Sentiment: score of 0 with magnitude of 4.7 python sentiment_analysis.py reviews/bladerunner-neutral.txt ... Overall Sentiment: score of -0.1 with magnitude of 1.8
Tieni presente che le grandezze sono tutte simili (indicano una quantità relativa uguale sentimenti emotivamente significativi) fatta eccezione per i sentiment "neutrali" caso, che indica una recensione con un sentiment non molto emotivo, positivo o negativo. (Per ulteriori informazioni sui punteggi e sulla grandezza del sentiment e su come interpretare questi valori, consulta Interpretazione dei valori dell'analisi del sentiment.)
Se vuoi esplorare l'analisi del sentiment con più dati, la Stanford University fornisce un dataset di recensioni di film di IMDB. Per recuperare queste recensioni di film:
- Scarica la recensione del film di grandi dimensioni del set di dati.
- Decomprimi il file nella directory di lavoro. Le recensioni dei film sono divise
nelle directory
pos
eneg
all'interno delle directory di datitrain
etest
, con ogni file di testo contenente la recensione di un film. - Esegui lo strumento
sentiment_analysis.py
sui file di testo delle recensioni dei film.
Complimenti! Hai eseguito le tue prime attività di inferenza utilizzando l'API Google Cloud Natural Language.