分析實體

實體分析會檢查指定文字中出現的已知實體 (公眾人物或地標等專有名詞) 並傳回有關這些實體的資訊。實體分析是透過 analyzeEntities 方法執行。如要瞭解 Natural Language 識別的實體類型,請參閱實體說明文件。如需有關 Natural Language API 支援哪些語言的資訊,請參閱語言支援

本節示範幾種偵測文件中實體的方法。請為每份文件分別提交要求。

分析字串中的實體

以下示範如何針對直接傳送至 Natural Language API 的文字字串執行實體分析:

通訊協定

POST 要求,並提供適當的要求主體,如同下列範例所示。documents:analyzeEntities

範例使用 gcloud auth application-default print-access-token 指令,取得透過 Google Cloud Platform gcloud CLI 建立的專案服務帳戶存取權杖。如需安裝 gcloud CLI、使用服務帳戶建立專案的操作說明,請參閱快速入門導覽課程

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': 'President Trump will speak from the White House, located   at 1600 Pennsylvania Ave NW, Washington, DC, on October 7.'   } }" "https://language.googleapis.com/v2/documents:analyzeEntities"

如未指定 document.language_code,系統會自動偵測語言。如需有關 Natural Language API 支援哪些語言的資訊,請參閱語言支援。如需更多有關設定要求主體的資訊,請參閱 Document 參考說明文件。

如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼與 JSON 格式的回應:

{   "entities": [     {       "name": "October 7",       "type": "DATE",       "metadata": {         "month": "10",         "day": "7"       },       "mentions": [         {           "text": {             "content": "October 7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600",       "type": "NUMBER",       "metadata": {         "value": "1600"       },       "mentions": [         {           "text": {             "content": "1600",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "7",       "type": "NUMBER",       "metadata": {         "value": "7"       },       "mentions": [         {           "text": {             "content": "7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW, Washington, DC",       "type": "ADDRESS",       "metadata": {         "locality": "Washington",         "narrow_region": "District of Columbia",         "street_name": "Pennsylvania Avenue Northwest",         "street_number": "1600",         "broad_region": "District of Columbia",         "country": "US"       },       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW, Washington, DC",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.901         }       ]     },     {       "name": "President",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "President",             "beginOffset": -1           },           "type": "COMMON",           "probability": 0.941         }       ]     },     {       "name": "Trump",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "Trump",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.948         }       ]     },     {       "name": "Washington, DC",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "Washington, DC",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.92         }       ]     },     {       "name": "White House",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "White House",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.785         }       ]     }   ],   "languageCode": "en",   "languageSupported": true }

entities 陣列中的 Entity 物件代表偵測到的實體,其中含有實體名稱與類型等資訊。

gcloud

如需完整的詳細資訊,請參閱 analyze-entities 指令。

如要執行實體分析,請使用 gcloud CLI,並使用 --content 標記標示待分析內容:

 gcloud ml language analyze-entities --content="President Trump will speak from the White House, located   at 1600 Pennsylvania Ave NW, Washington, DC, on October 7." 

如果要求成功,伺服器會傳回 JSON 格式的回應:

{   "entities": [     {       "name": "Trump",       "type": "PERSON",       "metadata": {         "mid": "/m/0cqt90",         "wikipedia_url": "https://en.wikipedia.org/wiki/Donald_Trump"       },       "salience": 0.7936003,       "mentions": [         {           "text": {             "content": "Trump",             "beginOffset": 10           },           "type": "PROPER"         },         {           "text": {             "content": "President",             "beginOffset": 0           },           "type": "COMMON"         }       ]     },     {       "name": "White House",       "type": "LOCATION",       "metadata": {         "mid": "/m/081sq",         "wikipedia_url": "https://en.wikipedia.org/wiki/White_House"       },       "salience": 0.09172433,       "mentions": [         {           "text": {             "content": "White House",             "beginOffset": 36           },           "type": "PROPER"         }       ]     },     {       "name": "Pennsylvania Ave NW",       "type": "LOCATION",       "metadata": {         "mid": "/g/1tgb87cq"       },       "salience": 0.085507184,       "mentions": [         {           "text": {             "content": "Pennsylvania Ave NW",             "beginOffset": 65           },           "type": "PROPER"         }       ]     },     {       "name": "Washington, DC",       "type": "LOCATION",       "metadata": {         "mid": "/m/0rh6k",         "wikipedia_url": "https://en.wikipedia.org/wiki/Washington,_D.C."       },       "salience": 0.029168168,       "mentions": [         {           "text": {             "content": "Washington, DC",             "beginOffset": 86           },           "type": "PROPER"         }       ]     }     {       "name": "1600 Pennsylvania Ave NW, Washington, DC",       "type": "ADDRESS",       "metadata": {         "country": "US",         "sublocality": "Fort Lesley J. McNair",         "locality": "Washington",         "street_name": "Pennsylvania Avenue Northwest",         "broad_region": "District of Columbia",         "narrow_region": "District of Columbia",         "street_number": "1600"       },       "salience": 0,       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW, Washington, DC",             "beginOffset": 60           },           "type": "TYPE_UNKNOWN"         }       ]       }     }     {       "name": "1600",        "type": "NUMBER",        "metadata": {            "value": "1600"        },        "salience": 0,        "mentions": [          {           "text": {               "content": "1600",               "beginOffset": 60            },            "type": "TYPE_UNKNOWN"         }      ]      },      {        "name": "October 7",        "type": "DATE",        "metadata": {          "day": "7",          "month": "10"        },        "salience": 0,        "mentions": [          {            "text": {              "content": "October 7",              "beginOffset": 105             },            "type": "TYPE_UNKNOWN"          }        ]      }      {        "name": "7",        "type": "NUMBER",        "metadata": {          "value": "7"        },        "salience": 0,        "mentions": [          {            "text": {              "content": "7",              "beginOffset": 113            },          "type": "TYPE_UNKNOWN"          }         ]      }   ],   "language": "en" }

entities 陣列中的 Entity 物件代表偵測到的實體,其中含有實體名稱與類型等資訊。

Go

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Go API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

import ( 	"context" 	"fmt" 	"io"  	language "cloud.google.com/go/language/apiv2" 	"cloud.google.com/go/language/apiv2/languagepb" )  // analyzeEntities sends a string of text to the Cloud Natural Language API to // detect the entities of the text. func analyzeEntities(w io.Writer, text string) error { 	ctx := context.Background()  	// Initialize client. 	client, err := language.NewClient(ctx) 	if err != nil { 		return err 	} 	defer client.Close()  	resp, err := client.AnalyzeEntities(ctx, &languagepb.AnalyzeEntitiesRequest{ 		Document: &languagepb.Document{ 			Source: &languagepb.Document_Content{ 				Content: text, 			}, 			Type: languagepb.Document_PLAIN_TEXT, 		}, 		EncodingType: languagepb.EncodingType_UTF8, 	})  	if err != nil { 		return fmt.Errorf("AnalyzeEntities: %w", err) 	} 	fmt.Fprintf(w, "Response: %q\n", resp)  	return nil } 

Java

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Java API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

// Instantiate the Language client com.google.cloud.language.v2.LanguageServiceClient try (LanguageServiceClient language = LanguageServiceClient.create()) {   Document doc = Document.newBuilder().setContent(text).setType(Type.PLAIN_TEXT).build();   AnalyzeEntitiesRequest request =       AnalyzeEntitiesRequest.newBuilder()           .setDocument(doc)           .setEncodingType(EncodingType.UTF16)           .build();    AnalyzeEntitiesResponse response = language.analyzeEntities(request);    // Print the response   for (Entity entity : response.getEntitiesList()) {     System.out.printf("Entity: %s", entity.getName());     System.out.println("Metadata: ");     for (Map.Entry<String, String> entry : entity.getMetadataMap().entrySet()) {       System.out.printf("%s : %s", entry.getKey(), entry.getValue());     }     for (EntityMention mention : entity.getMentionsList()) {       System.out.printf("Begin offset: %d\n", mention.getText().getBeginOffset());       System.out.printf("Content: %s\n", mention.getText().getContent());       System.out.printf("Type: %s\n\n", mention.getType());       System.out.printf("Probability: %s\n\n", mention.getProbability());     }   } }

Node.js

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Node.js API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

// Imports the Google Cloud client library const language = require('@google-cloud/language').v2;  // Creates a client const client = new language.LanguageServiceClient();  /**  * TODO(developer): Uncomment the following line to run this code.  */ // const text = 'Your text to analyze, e.g. Hello, world!';  // Prepares a document, representing the provided text const document = {   content: text,   type: 'PLAIN_TEXT', };  // Detects entities in the document const [result] = await client.analyzeEntities({document});  const entities = result.entities;  console.log('Entities:'); entities.forEach(entity => {   console.log(entity.name);   console.log(` - Type: ${entity.type}`);   if (entity.metadata) {     console.log(` - Metadata: ${entity.metadata}`);   } });

Python

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Python API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

from google.cloud import language_v2   def sample_analyze_entities(text_content: str = "California is a state.") -> None:     """     Analyzes Entities in a string.      Args:       text_content: The text content to analyze     """      client = language_v2.LanguageServiceClient()      # Available types: PLAIN_TEXT, HTML     document_type_in_plain_text = language_v2.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_code = "en"     document = {         "content": text_content,         "type_": document_type_in_plain_text,         "language_code": language_code,     }      # Available values: NONE, UTF8, UTF16, UTF32.     # See https://cloud.google.com/natural-language/docs/reference/rest/v2/EncodingType.     encoding_type = language_v2.EncodingType.UTF8      response = client.analyze_entities(         request={"document": document, "encoding_type": encoding_type}     )      for entity in response.entities:         print(f"Representative name for the entity: {entity.name}")          # Get entity type, e.g. PERSON, LOCATION, ADDRESS, NUMBER, et al.         # See https://cloud.google.com/natural-language/docs/reference/rest/v2/Entity#type.         print(f"Entity type: {language_v2.Entity.Type(entity.type_).name}")          # Loop over the metadata associated with entity.         # Some entity types may have additional metadata, e.g. ADDRESS entities         # may have metadata for the address street_name, postal_code, et al.         for metadata_name, metadata_value in entity.metadata.items():             print(f"{metadata_name}: {metadata_value}")          # Loop over the mentions of this entity in the input document.         # The API currently supports proper noun mentions.         for mention in entity.mentions:             print(f"Mention text: {mention.text.content}")              # Get the mention type, e.g. PROPER for proper noun             print(f"Mention type: {language_v2.EntityMention.Type(mention.type_).name}")              # Get the probability score associated with the first mention of the entity in the (0, 1.0] range.             print(f"Probability score: {mention.probability}")      # 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(f"Language of the text: {response.language_code}")  

其他語言

C#: 請按照用戶端程式庫頁面的 C# 設定說明操作, 然後前往 .NET 適用的 Natural Language 參考說明文件

PHP: 請按照用戶端程式庫頁面的 PHP 設定說明操作, 然後前往 PHP 適用的 Natural Language 參考文件

Ruby: 請按照用戶端程式庫頁面的 Ruby 設定說明 操作,然後前往 Ruby 適用的 Natural Language 參考說明文件。

分析 Cloud Storage 內容中的實體

為方便起見,Natural Language API 可以直接對 Cloud Storage 中的檔案執行實體分析,您無需在要求內容中傳送檔案的內容。

以下示範如何對位於 Cloud Storage 的檔案執行實體分析。

通訊協定

POST 要求,並提供適當的要求主體及文件路徑,如同下列範例所示。POSTdocuments:analyzeEntities

curl -X POST \      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \      -H "Content-Type: application/json; charset=utf-8" \      --data "{   'document':{     'type':'PLAIN_TEXT',     'gcsContentUri':'gs://<bucket-name>/<object-name>'   } }" "https://language.googleapis.com/v2/documents:analyzeEntities"

如未指定 document.language_code,系統會自動偵測語言。如需有關 Natural Language API 支援哪些語言的資訊,請參閱語言支援。如要進一步瞭解如何設定要求內容,請參閱 Document 參考說明文件。

如果要求成功,伺服器會傳回 200 OK HTTP 狀態碼與 JSON 格式的回應:

{   "entities": [     {       "name": "October 7",       "type": "DATE",       "metadata": {         "month": "10",         "day": "7"       },       "mentions": [         {           "text": {             "content": "October 7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600",       "type": "NUMBER",       "metadata": {         "value": "1600"       },       "mentions": [         {           "text": {             "content": "1600",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "7",       "type": "NUMBER",       "metadata": {         "value": "7"       },       "mentions": [         {           "text": {             "content": "7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW, Washington, DC",       "type": "ADDRESS",       "metadata": {         "locality": "Washington",         "narrow_region": "District of Columbia",         "street_name": "Pennsylvania Avenue Northwest",         "street_number": "1600",         "broad_region": "District of Columbia",         "country": "US"       },       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW, Washington, DC",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.901         }       ]     },     {       "name": "President",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "President",             "beginOffset": -1           },           "type": "COMMON",           "probability": 0.941         }       ]     },     {       "name": "Trump",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "Trump",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.948         }       ]     },     {       "name": "Washington, DC",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "Washington, DC",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.92         }       ]     },     {       "name": "White House",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "White House",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.785         }       ]     }   ],   "languageCode": "en",   "languageSupported": true }

entities 陣列中的 Entity 物件代表偵測到的實體,其中含有實體名稱與類型等資訊。

gcloud

如需完整的詳細資訊,請參閱 analyze-entities 指令。

如要對 Cloud Storage 的檔案執行實體分析,請使用 gcloud 指令列工具並使用 --content-file 標記標示含有待分析內容的檔案路徑:

 gcloud ml language analyze-entities --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME 

如果要求成功,伺服器會傳回 JSON 格式的回應:

{   "entities": [     {       "name": "October 7",       "type": "DATE",       "metadata": {         "month": "10",         "day": "7"       },       "mentions": [         {           "text": {             "content": "October 7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600",       "type": "NUMBER",       "metadata": {         "value": "1600"       },       "mentions": [         {           "text": {             "content": "1600",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "7",       "type": "NUMBER",       "metadata": {         "value": "7"       },       "mentions": [         {           "text": {             "content": "7",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW, Washington, DC",       "type": "ADDRESS",       "metadata": {         "locality": "Washington",         "narrow_region": "District of Columbia",         "street_name": "Pennsylvania Avenue Northwest",         "street_number": "1600",         "broad_region": "District of Columbia",         "country": "US"       },       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW, Washington, DC",             "beginOffset": -1           },           "type": "TYPE_UNKNOWN",           "probability": 1         }       ]     },     {       "name": "1600 Pennsylvania Ave NW",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "1600 Pennsylvania Ave NW",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.901         }       ]     },     {       "name": "President",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "President",             "beginOffset": -1           },           "type": "COMMON",           "probability": 0.941         }       ]     },     {       "name": "Trump",       "type": "PERSON",       "metadata": {},       "mentions": [         {           "text": {             "content": "Trump",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.948         }       ]     },     {       "name": "Washington, DC",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "Washington, DC",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.92         }       ]     },     {       "name": "White House",       "type": "LOCATION",       "metadata": {},       "mentions": [         {           "text": {             "content": "White House",             "beginOffset": -1           },           "type": "PROPER",           "probability": 0.785         }       ]     }   ],   "languageCode": "en",   "languageSupported": true }

entities 陣列中的 Entity 物件代表偵測到的實體,其中含有實體名稱與類型等資訊。

Go

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Go API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

 func analyzeEntitiesFromGCS(ctx context.Context, gcsURI string) (*languagepb.AnalyzeEntitiesResponse, error) { 	return client.AnalyzeEntities(ctx, &languagepb.AnalyzeEntitiesRequest{ 		Document: &languagepb.Document{ 			Source: &languagepb.Document_GcsContentUri{ 				GcsContentUri: gcsURI, 			}, 			Type: languagepb.Document_PLAIN_TEXT, 		}, 		EncodingType: languagepb.EncodingType_UTF8, 	}) } 

Java

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Java API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

// Instantiate the Language client com.google.cloud.language.v2.LanguageServiceClient try (LanguageServiceClient language = LanguageServiceClient.create()) {   // Set the GCS Content URI path to the file to be analyzed   Document doc =       Document.newBuilder().setGcsContentUri(gcsUri).setType(Type.PLAIN_TEXT).build();   AnalyzeEntitiesRequest request =       AnalyzeEntitiesRequest.newBuilder()           .setDocument(doc)           .setEncodingType(EncodingType.UTF16)           .build();    AnalyzeEntitiesResponse response = language.analyzeEntities(request);    // Print the response   for (Entity entity : response.getEntitiesList()) {     System.out.printf("Entity: %s\n", entity.getName());     System.out.println("Metadata: ");     for (Map.Entry<String, String> entry : entity.getMetadataMap().entrySet()) {       System.out.printf("%s : %s", entry.getKey(), entry.getValue());     }     for (EntityMention mention : entity.getMentionsList()) {       System.out.printf("Begin offset: %d\n", mention.getText().getBeginOffset());       System.out.printf("Content: %s\n", mention.getText().getContent());       System.out.printf("Type: %s\n\n", mention.getType());       System.out.printf("Probability: %s\n\n", mention.getProbability());     }   } }

Node.js

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Node.js API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

// Imports the Google Cloud client library const language = require('@google-cloud/language').v2;  // 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 entities in the document const [result] = await client.analyzeEntities({document}); const entities = result.entities;  console.log('Entities:'); entities.forEach(entity => {   console.log(entity.name);   console.log(` - Type: ${entity.type}`);   if (entity.metadata) {     console.log(` - Metadata: ${entity.metadata}`);   } }); 

Python

如要瞭解如何安裝及使用 Natural Language 的用戶端程式庫,請參閱Natural Language 用戶端程式庫。 詳情請參閱 Natural Language Python API 參考說明文件

如要向 Natural Language 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。

from google.cloud import language_v2   def sample_analyze_entities(     gcs_content_uri: str = "gs://cloud-samples-data/language/entity.txt", ) -> None:     """     Analyzes Entities 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_v2.LanguageServiceClient()      # Available types: PLAIN_TEXT, HTML     document_type_in_plain_text = language_v2.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_code = "en"     document = {         "gcs_content_uri": gcs_content_uri,         "type_": document_type_in_plain_text,         "language_code": language_code,     }      # Available values: NONE, UTF8, UTF16, UTF32.     # See https://cloud.google.com/natural-language/docs/reference/rest/v2/EncodingType.     encoding_type = language_v2.EncodingType.UTF8      response = client.analyze_entities(         request={"document": document, "encoding_type": encoding_type}     )      for entity in response.entities:         print(f"Representative name for the entity: {entity.name}")          # Get entity type, e.g. PERSON, LOCATION, ADDRESS, NUMBER, et al.         # See https://cloud.google.com/natural-language/docs/reference/rest/v2/Entity#type.         print(f"Entity type: {language_v2.Entity.Type(entity.type_).name}")          # Loop over the metadata associated with entity.         # Some entity types may have additional metadata, e.g. ADDRESS entities         # may have metadata for the address street_name, postal_code, et al.         for metadata_name, metadata_value in entity.metadata.items():             print(f"{metadata_name}: {metadata_value}")          # Loop over the mentions of this entity in the input document.         # The API currently supports proper noun mentions.         for mention in entity.mentions:             print(f"Mention text: {mention.text.content}")              # Get the mention type, e.g. PROPER for proper noun             print(                 "Mention type:" f" {language_v2.EntityMention.Type(mention.type_).name}"             )              # Get the probability score associated with the first mention of the entity in the (0, 1.0] range.             print(f"Probability score: {mention.probability}")      # 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(f"Language of the text: {response.language_code}")  

其他語言

C#: 請按照用戶端程式庫頁面的 C# 設定說明操作, 然後前往 .NET 適用的 Natural Language 參考說明文件

PHP: 請按照用戶端程式庫頁面的 PHP 設定說明操作, 然後前往 PHP 適用的 Natural Language 參考文件

Ruby: 請按照用戶端程式庫頁面的 Ruby 設定說明 操作,然後前往 Ruby 適用的 Natural Language 參考說明文件。