检查存储在 Cloud Storage 中的文件,并识别文本中的主要情感。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Go
func analyzeSentimentFromGCS(ctx context.Context, gcsURI string) (*languagepb.AnalyzeSentimentResponse, error) {
return client.AnalyzeSentiment(ctx, &languagepb.AnalyzeSentimentRequest{
Document: &languagepb.Document{
Source: &languagepb.Document_GcsContentUri{
GcsContentUri: gcsURI,
},
Type: languagepb.Document_PLAIN_TEXT,
},
})
}
Java
// Instantiate the Language client com.google.cloud.language.v1.LanguageServiceClient
try (LanguageServiceClient language = LanguageServiceClient.create()) {
Document doc =
Document.newBuilder().setGcsContentUri(gcsUri).setType(Type.PLAIN_TEXT).build();
AnalyzeSentimentResponse response = language.analyzeSentiment(doc);
Sentiment sentiment = response.getDocumentSentiment();
if (sentiment == null) {
System.out.println("No sentiment found");
} else {
System.out.printf("Sentiment magnitude : %.3f\n", sentiment.getMagnitude());
System.out.printf("Sentiment score : %.3f\n", sentiment.getScore());
}
return sentiment;
}
Node.js
// Imports the Google Cloud client library
const language = require('@google-cloud/language');
// Creates a client
const client = new language.LanguageServiceClient();
/**
* TODO(developer): Uncomment the following lines to run this code
*/
// const bucketName = 'Your bucket name, e.g. my-bucket';
// const fileName = 'Your file name, e.g. my-file.txt';
// Prepares a document, representing a text file in Cloud Storage
const document = {
gcsContentUri: `gs://${bucketName}/${fileName}`,
type: 'PLAIN_TEXT',
};
// Detects the sentiment of the document
const [result] = await client.analyzeSentiment({document});
const sentiment = result.documentSentiment;
console.log('Document sentiment:');
console.log(` Score: ${sentiment.score}`);
console.log(` Magnitude: ${sentiment.magnitude}`);
const sentences = result.sentences;
sentences.forEach(sentence => {
console.log(`Sentence: ${sentence.text.content}`);
console.log(` Score: ${sentence.sentiment.score}`);
console.log(` Magnitude: ${sentence.sentiment.magnitude}`);
});
PHP
use Google\Cloud\Language\V1\Document;
use Google\Cloud\Language\V1\Document\Type;
use Google\Cloud\Language\V1\LanguageServiceClient;
/**
* @param string $uri The cloud storage object to analyze (gs://your-bucket-name/your-object-name)
*/
function analyze_sentiment_from_file(string $uri): void
{
$languageServiceClient = new LanguageServiceClient();
// Create a new Document, pass GCS URI and set type to PLAIN_TEXT
$document = (new Document())
->setGcsContentUri($uri)
->setType(Type::PLAIN_TEXT);
// Call the analyzeSentiment function
$response = $languageServiceClient->analyzeSentiment($document);
$document_sentiment = $response->getDocumentSentiment();
// Print document information
printf('Document Sentiment:' . PHP_EOL);
printf(' Magnitude: %s' . PHP_EOL, $document_sentiment->getMagnitude());
printf(' Score: %s' . PHP_EOL, $document_sentiment->getScore());
printf(PHP_EOL);
$sentences = $response->getSentences();
foreach ($sentences as $sentence) {
printf('Sentence: %s' . PHP_EOL, $sentence->getText()->getContent());
printf('Sentence Sentiment:' . PHP_EOL);
$sentiment = $sentence->getSentiment();
if ($sentiment) {
printf('Entity Magnitude: %s' . PHP_EOL, $sentiment->getMagnitude());
printf('Entity Score: %s' . PHP_EOL, $sentiment->getScore());
}
print(PHP_EOL);
}
}
Python
from google.cloud import language_v1
def sample_analyze_sentiment(gcs_content_uri):
"""
Analyzing Sentiment in text file stored in Cloud Storage
Args:
gcs_content_uri Google Cloud Storage URI where the file content is located.
e.g. gs://[Your Bucket]/[Path to File]
"""
client = language_v1.LanguageServiceClient()
# gcs_content_uri = 'gs://cloud-samples-data/language/sentiment-positive.txt'
# Available types: PLAIN_TEXT, HTML
type_ = language_v1.Document.Type.PLAIN_TEXT
# Optional. If not specified, the language is automatically detected.
# For list of supported languages:
# https://cloud.google.com/natural-language/docs/languages
language = "en"
document = {
"gcs_content_uri": gcs_content_uri,
"type_": type_,
"language": language,
}
# Available values: NONE, UTF8, UTF16, UTF32
encoding_type = language_v1.EncodingType.UTF8
response = client.analyze_sentiment(
request={"document": document, "encoding_type": encoding_type}
)
# Get overall sentiment of the input document
print("Document sentiment score: {}".format(response.document_sentiment.score))
print(
"Document sentiment magnitude: {}".format(response.document_sentiment.magnitude)
)
# Get sentiment for all sentences in the document
for sentence in response.sentences:
print("Sentence text: {}".format(sentence.text.content))
print("Sentence sentiment score: {}".format(sentence.sentiment.score))
print("Sentence sentiment magnitude: {}".format(sentence.sentiment.magnitude))
# Get the language of the text, which will be the same as
# the language specified in the request or, if not specified,
# the automatically-detected language.
print("Language of the text: {}".format(response.language))
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。