13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-02-13

はじめに

めっきりご無沙汰していました。変わらずテキスト解析に従事した日々を過ごしていましたが、この度【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の可視化機能やテキスト解析機能と組み合わせて、何か面白いことができないかな~なんて思います。

13
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?