항목 분석은 주어진 텍스트에서 알려진 항목(유명 인사, 명소 등의 고유 명사)을 검사하고 항목의 정보를 반환합니다. 항목 분석은 analyzeEntities
메서드를 통해 수행됩니다. Natural Language가 식별하는 엔티티 유형에 대한 정보는 Entity 문서를 참조하십시오. Natural Language API에서 지원되는 언어에 대한 자세한 내용은 언어 지원을 참조하세요.
이 섹션에서는 문서에서 항목을 감지하는 몇 가지 방법을 보여줍니다. 문서마다 별도의 요청을 제출해야 합니다.
문자열 내 항목 분석
다음은 Natural Language API에 직접 전송된 텍스트 문자열에 대한 항목 분석을 수행하는 예입니다.
프로토콜
문서의 항목을 분석하려면 documents:analyzeEntities
REST 메서드에 POST
요청을 하고 다음 예시와 같이 적절한 요청 본문을 제공해야 합니다.
이 예시에서는 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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Java API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Node.js API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Python API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Natural Language 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Natural Language 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Natural Language 참고 문서를 참조하세요.
Cloud Storage에서 항목 분석
편의를 위해 Natural Language API는 요청 본문의 파일 내용을 보낼 필요 없이 Cloud Storage에 있는 파일에서 직접 항목 분석을 수행할 수 있습니다.
다음은 Cloud Storage에 있는 파일에서 항목 분석을 수행하는 예입니다.
프로토콜
Cloud Storage에 저장된 문서에서 항목을 분석하려면 documents:analyzeEntities
REST 메서드에 POST
요청을 하고 다음 예시와 같이 적절한 요청 본문 및 문서 경로를 제공해야 합니다.
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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Java API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Node.js API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Natural Language용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Natural Language 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Natural Language Python API 참고 문서를 참조하세요.
Natural Language에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Natural Language 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Natural Language 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Natural Language 참고 문서를 참조하세요.