RからCOTOHA APIを簡単に使えるようにするパッケージ「rcotoha」を作りました

[COTOHA API](https://api.ce-cotoha.com/contents/about-cotoha.html)はNTT Communicationsが提供する自然言語処理APIです。キーワード抽出や感情分析等の機能を使って任意のテキストを分析できます。それらの機能を活用した面白い記事がQiitaにもたくさんあります。


しかしそれらの記事で利用されている言語はほとんどがPythonです。
データの読み書きと整形に向いているRとはきっと相性が良いと思ったのですが、自分が調べた限りでは先行記事がありませんでした。そこでやり方を工夫して以下の２記事を書きました（ [RでCOTOHAを使ってみる（『グスコーブドリの伝記』からキーワード抽出）](https://qiita.com/ocean_f/items/91e47786a6d2367da037)、[COTOHAを使ってテキストから穴埋め問題を生成する【自習応援】](https://qiita.com/ocean_f/items/2797ac7d8836fea12b26)）。

これらの分析はすごく楽しかったのですが、まだ多くの人がやってみようと思うには面倒が多いかと思います。
そこで今回、上記の2記事で使用していたコードをまとめなおしてパッケージ化しました。

※ 4月18日追記：
@paithiov909 さんが先行して「conifer」というパッケージを作っておられました　→　https://github.com/paithiov909/conifer
教えていただきありがとうございます！
実装方法がこちら（rcotoha）より洗練されているので、coniferの方もぜひ見ていただければと思います。

# パッケージ「rcotoha」
インストールは以下のコマンドから可能です：

```R
remotes::install_github("ocean-v/rcotoha")
```

パッケージには、

- 設定ファイルを作成するための`rcotoha::make_cotoha_config`
- アクセストークンを取得するための`rcotoha::get_cotoha_token`
- 処理を実行する（リクエストを投げる）ための`rcotoha::execute_cotoha_analysis`
- キーワード抽出などの結果をデータフレーム（tibble）として整形するための`rcotoha::cotoha_as_df`

の4つの関数が含まれています。`rcotoha::execute_cotoha_analysis`はfor Developersで使えるβ版以外のAPIには全て対応しています（ただ、複数の文を配列にして渡すことには対応していません）。

詳しい使い方については[レポジトリのページ](https://github.com/ocean-v/rcotoha)か関数のヘルプを見ていただければと思うのですが、例えばこのパッケージを使うとキーワード抽出が以下の数行で完結できます:

```R
> make_cotoha_config(clientId = "xxxxxx", clientSecret = "xxxxxx", tokenURL = "https://xxxxxx", baseURL = "https://xxxxxx")
> token <- get_cotoha_token(config = "config.json", endpoint = "endpoint.json")
> response <- execute_cotoha_analysis(
       access_token = token,
       API = "keyword",
       document = "野を越え、山を越え、たどり着いた港町で、私は骨を埋めることにした。"
     )
> result <- cotoha_as_df(response = response)
> print(result)
# A tibble: 4 x 2
  form  score
  <chr> <dbl>
1 私    16.6 
2 港町  10.4 
3 骨     8.77
4 野     8.35
```
※ clientIdなどは適宜自分のものと変える必要があります。

それぞれの関数も10行程度のコードで書いてあるので、気になる方は中身を確認してもらえたらと思います。

Rのパッケージ開発が初めてで勉強もかねて作成したのでまだ拙いところもあると思います。
でも楽しんで使っていただけたら幸いです！

# 参考サイト
## コード作成の参考
[自然言語処理を簡単に扱えると噂のCOTOHA APIをPythonで使ってみた](https://qiita.com/gossy5454/items/83072418fb0c5f3e269f)
[Data Transformation with dplyr : : CHEAT SHEET](https://github.com/rstudio/cheatsheets/blob/master/data-transformation.pdf)
[[翻訳] httr vignette: httrはやわかり](https://qiita.com/nakamichi/items/14f9952445089927c38e#%E3%83%9C%E3%83%87%E3%82%A3)
[httrを使ってRからREST APIを叩く](https://qiita.com/komde/items/22c8a4f809e46cdd70f8)
[httr POST authentication error](https://stackoverflow.com/questions/41809707/httr-post-authentication-error)
[RプログラミングTips大全](http://www.okadajp.org/RWiki/?R%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0Tips%E5%A4%A7%E5%85%A8)

## パッケージ作成の参考
[こわくないRパッケージ開発！2016](https://qiita.com/wakuteka/items/54f81f32baf50e243461#5-%E5%85%AC%E9%96%8B%E5%85%B1%E6%9C%89) ←　大変参考になりました。本当にありがとうございます！
[devtools — Rパッケージ作成支援](https://heavywatal.github.io/rstats/devtools.html)
[githubに公開してみる](https://niszet.hatenablog.com/entry/2017/06/22/000026)
[Package Development: : CHEAT SHEET](https://github.com/rstudio/cheatsheets/blob/master/package-development.pdf)
[FlickrAPI](https://github.com/koki25ando/FlickrAPI)
[emoGG(plot)](https://github.com/dill/emoGG)