Googleクラウド自然言語APIをPythonから叩いてMySQLに結果を保存してみた

Googleが自然言語処理を手軽に行えるAPIをベータ版として提供しています。日本語でも使用できて固有表現抽出と係り受け解析を簡単に実行できます。

Google Cloud Natural Language API(クラウド自然言語API)をPythonから叩いてMySQLに結果を保存してみた

Google Cloud PlatformでNatural Language APIを使うための設定をする

1. GCPのコンソールにて、既存のプロジェクトを選択するか新しいプロジェクトを作成

https://console.cloud.google.com/iam-admin/projects

2. 支払いの設定をする

GCNLは5,000リクエストを超えるとお金がかかるため、クレジット情報の登録が必須

3. Google Cloud Platform で Google Cloud Natural Language API を有効にするアプリケーションを登録

https://console.cloud.google.com/flows/enableapi?apiid=language.googleapis.com
にアクセスして、アプリケーションを登録するプロジェクトを選択する

4. 認証情報を追加しAPIキーを作成する

作成したAPIキーを保存しておく

5. 認証情報を作成する

サービスアカウントキーを生成
XXXX.jsonファイルをダウンロードして保存

6. 環境変数を追加する

GitHubからGCPのpython-docs-samplesをインストールして設定

Google Cloud Platform(GCP)が提供しているpython-docs-samplesレポジトリをベースに構築

必要なライブラリをpipでインストール

Natural Language APIを叩いてみる

language/api/analyze.pyを実行しAPIを叩いてみる

で叩けるとのこと。
今回は、

を叩いてみた。

東京安倍晋三などの固有表現を抽出できる

APIを叩いた結果をMySQLに保存する

MySQLDBを使おうとしたがPython3系では動かないため、pymysqlをpipでインストール

MySQLにはpagesテーブルがあり、pagesテーブルのcontentカラムに文章が含まれているものとします
今回は、MySQLからcontentを取得してGCNL APIに投げ、結果をgcnl_entitiesに格納していきます
Google Cloud Platform(GCP)が提供しているpython-docs-samplesレポジトリをベースに構築しました

ところどころ関係のないところは省略しています

まとめ

おもった以上に簡単に自然言語APIを使うことができます。ただし、月間5000リクエストを超えるとお金がかかってしまうのでご注意ください。また、2016年9月6日現在、ベータ版なので仕様とか料金とか変更の可能性が今後あるとのことです。

参考

Authenticating to a Cloud API Service  |  Google Cloud Natural Language API Documentation  |  Google Cloud Platform


もしよければ応援クリックお願いします
↓↓↓↓↓
にほんブログ村 IT技術ブログ IT技術メモへ