본문 바로가기

Biusiness Insight/Data Science

[구글 클라우드] 자연어 처리 API 사용 예제 (Natural Language API)

반응형

source : GCP qwiklabs

 

Google Cloud Shell 활성화하기

1. GCP Console의 오른쪽 상단 툴바에서 Cloud Shell 열기 버튼 클릭

2. 계속(Continue) 클릭

 

실행 결과 :

 

계정 목록 조회

gcloud auth list

 

출력:

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

 

출력 예:

Credentialed accounts: - google1623327_student@qwiklabs.net

 

프로젝트 ID 목록 조회

gcloud config list project

 

출력:

[core] project = <project_ID>

 

출력 예:

[core] project = qwiklabs-gcp-44776a13dea667a6

 

 

API 키 만들기

PROJECT_ID 환경 변수 설정

export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)

 

Natural Language API에 액세스할 수 있는 새 서비스 계정 생성

gcloud iam service-accounts create my-natlang-sa \ 
     --display-name "my natural language service account"

 

새 서비스 계정으로 로그인할 사용자 인증 정보 생성

사용자 인증 정보 생성 후, JSON 파일 '~/key.json'로 저장

gcloud iam service-accounts keys create ~/key.json \ 
      --iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com

 

GOOGLE_APPLICATION_CREDENTIALS 환경 변수 설정

(환경 변수는 앞에서 만든 사용자 인증 정보 JSON 파일의 전체 경로로 설정해야 함)

export GOOGLE_APPLICATION_CREDENTIALS="/home/USER/key.json"

 

 

항목 분석 요청 만들기

ssh를 통해 제공되는 인스턴스에 연결

1. 탐색 메뉴를 열고 Compute Engine 선택 

실행 결과 : 프로비저닝 된 Linux 인스턴스

 

2. SSH 버튼을 클릭 > 대화 형 쉘로 이동 > 이 SSH 세션 유지.

3. 아래 문장으로 Natural Language API의 엔티티 분석 시도

Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'

 

4. 다음 gcloud 명령 실행

gcloud ml language analyze-entities 
--content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 
> result.json

 

5. result.json 파일의 출력 미리보기

cat result.json

 

result.json 파일 출력 예시

{ 
   "entities": [ 
      {
        "name": "Michelangelo Caravaggio", 
        "type": "PERSON", 
        "metadata": { 
             "wikipedia_url": "http://en.wikipedia.org/wiki/Caravaggio",
             "mid": "/m/020bg" 
         }, 
         "salience": 0.83047235, 
         "mentions": [ 
             { 
                "text": { 
                   "content": "Michelangelo Caravaggio", 
                   "beginOffset": 0 
                 }, 
                "type": "PROPER" 
              }, 
              { 
                "text": { 
                    "content": "painter", 
                    "beginOffset": 33 
                 }, 
                 "type": "COMMON" 
               } 
           ] 
       }, 
       { 
         "name": "Italian", 
         "type": "LOCATION", 
         "metadata": { 
             "mid": "/m/03rjj", 
             "wikipedia_url": "http://en.wikipedia.org/wiki/Italy" 
          }, 
          "salience": 0.13870546, 
          "mentions": [ 
              { 
                 "text": { 
                    "content": "Italian", 
                    "beginOffset": 25 
                 }, 
                 "type": "PROPER" 
               } 
           ] 
        }, 
        { 
           "name": "The Calling of Saint Matthew", 
           "type": "EVENT", 
           "metadata": { 
              "mid": "/m/085_p7", 
              "wikipedia_url": "http://en.wikipedia.org/wiki/The_Calling_of_St_Matthew_(Caravaggio)" 
            }, 
            "salience": 0.030822212, 
            "mentions": [ 
               { 
                  "text": { 
                     "content": "The Calling of Saint Matthew", 
                     "beginOffset": 69 
                   }, 
                   "type": "PROPER" 
                } 
             ] 
         } 
      ], 
   "language": "en" 
}

 

각 항목에 대한 확인

  • 항목의 name  type, 인물, 위치, 사건 등
  • metadata, 관련된 Wikipedia URL(있는 경우)
  • salience, 그리고 이 항목이 텍스트에 나타난 곳의 색인. Salience는 텍스트 전체에 대한 항목의 중심을 가리키는 [0,1] 범위의 숫자입니다.
  • mentions - 다른 방식으로 언급된 동일한 항목

 

반응형