はじめに
理科大のAdvent Calendar 2017の21日の記事です!(25日に執筆中)
stripeのことを書く予定でしたが卒論でstripeどころかqiita書く時間もなかったので、ちょうど卒論で使ったGoogle Cloud Natural Language API
について書きます。
Google Cloud Natural Language APIとは
感情分析
ネガポジで-1.0〜1.0で返してくれる
ドキュメント
エンティティ分析
一般名詞を返してくれる
ドキュメント
構文解析
そのまんま。
ドキュメント
エンティティ感情分析
一般名詞に対する感情を返す
ドキュメント
こんかいは感情分析だけ使った。
感情分析のスコアの見方
サンプルコード
ドキュメントにrubyのサンプルコードがあったけど実行すると認証エラーになった。(下記のコードでできたからまだ解決してない)
事前にapi_keyを取得する必要がある。
curl
request.jsonを作成して
{
"document":{
"type":"PLAIN_TEXT",
"content":"これが感情分析したいテキストが入る場所"
}
}
curl "https://language.googleapis.com/v1beta1/documents:analyzeSentiment?key=hogehogehogehogehoge" \
-s -X POST -H "Content-Type: application/json" --data-binary @request.json
curlはここを参照
ruby
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://language.googleapis.com/v1beta1/documents:analyzeSentiment?key=hogehogeohogehoge")
request = Net::HTTP::Post.new(uri)
request.content_type = "application/json"
request.body = ""
request.body = '{
"document":{
"type":"PLAIN_TEXT",
"content": "これが感情分析したいテキストが入る場所"
}
}'
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
json = JSON.parse(response.body)
p score = json['documentSentiment']['score']
p magnitude = json['documentSentiment']['magnitude']