sekaie engineers' blog

セカイエ株式会社が主催するエンジニア勉強会について

GCP の Natural Language API が公開されましたね

おはようございます。こんにちは。こんばんわ。佐々木です

今日 GCP の Natural Language API が公開されましたね。

早速使ってみたデモを載せておこうと思います

APIを有効にする

GCP の Console で Natural Language API を有効にしましょう

API キーを取得する

同じく GCP の Console で API キーを取得しましょう

demo script

さくっとこんな感じで API に POST するだけのスクリプトです。

require 'json'
require 'optparse'
require 'faraday'

require 'optparse'
opts = ARGV.getopts('', 'input:')
input = opts['input']

conn = Faraday::Connection.new(:url => 'https://language.googleapis.com') do |builder|
  builder.use Faraday::Request::UrlEncoded
  builder.use Faraday::Adapter::NetHttp
end


res = conn.post do |req|
  req.url '/v1beta1/documents:analyzeEntities?key=API_KEY'
  req.headers['Accept'] = 'application/json'
  req.headers['Content-Type'] = 'application/json'
  req.body = {
      document: {
        type: 'PLAIN_TEXT',
        language: 'ja',
        content: input
      }
  }.to_json
end

body = JSON.parse(res.body)
puts body['entities'].map{|m| "#{m["name"]}: #{m["type"]}"}.join("\n")

試す

こんな感じで input してあげれば返事が返ってきます。

まだ、ちょっと認識出来る単語が少ない気もしますけどとりあえずOKでしょう

$ bundle exec ruby nl.rb -i '田中さんはゴルフが下手くそです。'
田中: PERSON

終わりに

Speech API も出て Natural Language API と連携して音声解析とかも出来そうですね

GCPバンザイ!!!

ほな