Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

This post is Private. Only a writer or those who know its URL can access this post.

posted at

updated at

#機械学習名古屋 勉強会#12 ハンズオン資料 (2)

目次

2. API の有効化

例として(このハンズオンを通して)Google Cloud Natural Language API を使用します。
まずは API を有効化する必要があります。

ダッシュボードから「API とサービス」→「ライブラリ」を選択。

GCP-0018L.png

GCP-0019.png

「Natural Language API」を選択(クリック)します。

GCP-0020.png

このような画面になったら、画面上方の「▶ 有効にする」ボタンをクリックします。

↓ (数秒〜数十秒待ちます)

GCP-0021.png

このような画面になればOK。

※初めからこの画面になった場合(特に「▶ 有効にする」ボタンが「■ 無効にする」となっていた場合)は、API はすでに有効化済みです。

3. API キーの作成

※取り敢えず手っ取り早く動作を試すために、API キーで API にアクセスします。

GCPコンソール(ホーム)から、「API とサービス」→「認証情報」を選択。

GCP-0022.png

(2. 節の続きでそのまま左カラムの「認証情報」クリックでもOK)

GCP-0023.png

「認証情報を作成」ボタンをクリック、出現するドロップダウンの「API キー」を選択

GCP-0024.png

API キーが表示されます。必要に応じて、テキストエディタ等にコピーしておいてください。
「閉じる」をクリックして元の画面に戻ります。
※ここでは「キーを制限」を実施せずにそのまま続行します。そのままだと危険なので、ハンズオンが終わったら API キーを削除 しておきましょう。

4. API キーを利用したリクエスト

Google Cloud Shell を利用して Natural Language API の動作確認をします。

GCP-0025.png

画面右上の「Google Cloud Shell」アイコンをクリック。

↓ (数秒〜数十秒待ちます)

GCP-0026a.png

画面右下にシェル(bash)画面が現れます。
ここにコマンドを入力して各種処理を実行できます。

※お好みに応じて、各種設定をいじっておくと良いです。
 私は最低限↓は設定しています。

GCP-0026b.png

これでキーボードによるコピペが手軽に出来て色々捗ります(注:Mac では「Cmd+shift+C/V」キーになります)。

まずは、先ほど作成した API キーを以下のように設定してください。

export API_KEY=AXXXXXXXXXXXXXXX

AXXXXXXXXXXXXXXX の部分は先ほどコピーしていたAPIキーに置き換えてください。

続いて用意されているテキストエディタで、entity-request.json というファイルを作成してください。
Google Cloud Shell(中身は Ubuntu)には、nano/vim/emacs は用意されている模様です。

例:

vim entity-request.json
entity-request.json
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Michelangelo Caravaggio, Italian painter, is known for
              'The Calling of Saint Matthew'."
  },
  "encodingType":"UTF8"
}

続いて以下のコマンドを実行して、Natural Language API を呼び出します。

curl "https://language.googleapis.com/v1beta1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @entity-request.json

以下のようなレスポンスが表示されたら成功です。

{
  "entities": [
    {
      "name": "Michelangelo Caravaggio",
      "type": "PERSON",
      "metadata": {
        "wikipedia_url": "https://en.wikipedia.org/wiki/Caravaggio",
        "mid": "/m/020bg"
      },
      "salience": 0.8303663,
      "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": "https://en.wikipedia.org/wiki/Italy"
      },
      "salience": 0.1387151,
      "mentions": [
        {
          "text": {
            "content": "Italian",
            "beginOffset": 25
          },
          "type": "PROPER"
        }
      ]
    },
    {
      "name": "The Calling of Saint Matthew",
      "type": "EVENT",
      "metadata": {
        "wikipedia_url": "https://en.wikipedia.org/wiki/The_Calling_of_St_Matthew_(Caravaggio)",
        "mid": "/m/085_p7"
      },
      "salience": 0.030918568,
      "mentions": [
        {
          "text": {
            "content": "The Calling of Saint Matthew",
            "beginOffset": 70
          },
          "type": "PROPER"
        }
      ]
    }
  ],
  "language": "en"
}

※ここで実行したのは エンティティ分析 と呼ばれるものです。
 Natural Language API には他に、感情分析構文解析 が用意されています。
 これらは日本語にも対応しているので、色々な API や文章で試してみてください。

おまけ. API キーの削除

API キーを削除するには、「API とサービス」→「認証情報」で表示される API キーの一覧から、削除したいキーの右に表示されているゴミ箱アイコンをクリックします。

GCP-0028.png

このような確認ダイアログが表示されます。

GCP-0029.png

入力欄に「削除」と入力して「削除」ボタンをクリックしてください。これで削除が完了します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Article information
RevisionsShow article in Markdown
Report article
Help us understand the problem. What are the problem?