구글 클라우드 자연어 처리 API 사용법 정리

19.02.17 기준 구글 클라우드 자연어 처리 API 사용법 정리

Cloud Natural Language API: Qwik Start

환경 : bash

API 사용을 위한 사전 준비물

  • 크롬
  • 구글 개인 GCP 계정
  • 계정에서 생성한 GCP Project ID
  • 구글 API key

API 사용 과정

  • 프로젝트 아이디 세팅 및 확인
  • 활성 계정 확인
  • 프로젝트 아이디 확인

  • Natural API request 생성
  • Natural API request 요청

준비하기

  • Google Cloud Platform 에서 우리가 사용할 명령 입력 창 Cloud shell 을 열어준다.

  • 아래 같은 창이 뜨는데 START CLOUD SHELL 클릭

  • 활성 계정 확인하기 위해 아래와 같은 코드를 입력하면 아래와 같이 확인이 가능한다.

    1
    gcloud auth list
    
    1
    2
    Credentialed accounts:
     - <myaccount>@<mydomain>.com (active)
    
    1
    2
    Credentialed accounts:
     - google1623327_student@qwiklabs.net
    
  • 프로젝트 계정 확인하기 위해 아래와 같은 코드를 입력해 아래와 같이 확인

    1
    gcloud config list project
    
    1
    2
    [core]
    project = <project_ID>
    
    1
    2
    [core]
    project = qwiklabs-gcp-44776a13dea667a6
    

1. API Key 생성 및 서비스 Credential 생성, 로그인

  • API Key 생성하기
    • GOOGLE_CLOUD_PROJECT 환경 변수 설정하기

      1
      export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
      
    • Natural Language API 사용을 위한 Credential사용 어카운트 생성

      1
      2
      gcloud iam service-accounts create my-natlang-sa \
        --display-name "my natural language service account"
      
    • 어카운트 로그인을 위한 key.json 파일 생성

      1
      2
      gcloud iam service-accounts keys create ~/key.json \
        --iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com
      
    • GOOGLE_APPLICATION_CREDENTIALS 환경 변수 설정

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

2. 분석 요청 보내기

  • 예제

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

    문장을 분석하기 위해 아래와 같은 코드로 분석 요청

    1
    gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'."
    
  • 결과

    • json 파일
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    {
      "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"
    }
    
  • The entity name and type, a person, location, event, etc.

  • metadata, an associated Wikipedia URL if there is one

  • salience, and the indices of where this entity appeared in the text. Salience is a number in the [0,1] range that refers to the centrality of the entity to the text as a whole.

  • mentions, which is the same entity mentioned in different ways.