Help us understand the problem. What is going on with this article?

MATLABからCOTOHA APIをコールしてみた

はじめに

めっきりご無沙汰していました。変わらずテキスト解析に従事した日々を過ごしていましたが、この度【Qiita x COTOHA APIプレゼント企画】COTOHA APIで、テキスト解析をしてみよう!という記事を見つけたので久しぶりに投稿してみます。
COTOHA APIとは何か?については、公式のページからご確認ください。何やら色々とできそうで、見るからに楽しそう!

やったこと

ということで、今日は、このCOTOHA APIの使い方を紹介したいと思います。過去の記事なんかを見ているとPythonからコールしている例が多いですが、私は普段MATLABを使用しているので、MATLABからよんでみます。
一度コツをつかんでしまえば簡単なのですが、最初は何かとコードの書き方に迷ったので、少しでも他のMATLABユーザーさんのお役に立てたら嬉しいです。

手順

COTOHA API for Developersに無料登録

こちらは公式ページのSTEP1と同じです。
アカウントを作成後、COTOHA API Portalのアカウントホームで、こんな感じでURLやIDなどが確認できればOK。

image.png

アクセストークンを取得する

こちらの公式リファレンスのやり方に従って、アクセストークンを取得します。MATLABコードは下記。clientidとclientsecretには、ご自身のものを入れてくださいね。

getAccessToken
clientid = 'input_your_Client_ID';
clientsecret = 'input_your_Client_secret';

url = 'https://api.ce-cotoha.com/v1/oauth/accesstokens';
options = weboptions('RequestMethod','post', 'MediaType','application/json');
Body = struct('grantType', 'client_credentials', ... 
          'clientId', clientid, ...
          'clientSecret', clientsecret);
response = webwrite(url, Body, options);

すると、responseの中に、アクセストークンを含んだレスポンスが格納されます。

>> response

response = 

  フィールドをもつ struct:

    access_token: 'your_access_token'
      token_type: 'bearer'
      expires_in: '86399'
           scope: ''
       issued_at: '1581567299154'

「構文解析」のAPIをたたいてみる

こちらの公式リファレンスのやり方に沿って、試しに構文解析をしてみます。MATLABコードは下記。sentenceに、解析したい文字列を入れてくださいね。

parsing
sentence = '私は母と焼き肉を食べた';

baseurl = 'https://api.ce-cotoha.com/api/dev/';
accesstoken = response.access_token;
Header = {'Content-Type', 'application/json;charset=UTF-8'; 'Authorization', ['Bearer ' accesstoken]};
Body = struct('sentence', sentence, ... 
          'type', 'default');

options = weboptions('RequestMethod','post', 'MediaType','application/json','HeaderFields', Header);
response2 = webwrite([baseurl 'nlp/v1/parse'], Body, options);

結果を確認

上のコードを実行すると、response2に結果が返ってきますので、公式リファレンスの説明と照らし合わせながら結果を確認してみましょう。
色々と階層があって、パッと一覧させることが難しいのですが、粗方こんな感じで結果が見れます。すごーい!

image.png

image.png

おわりに

今日はひとまず「構文解析」までですが、この要領で、他のAPIも使えるはずです。
返ってきた結果の理解や処理にはまたひと手間必要そうですが、MATLABの可視化機能やテキスト解析機能と組み合わせて、何か面白いことができないかな~なんて思います。

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした