✍️

textlint a3rt-proofreading-v2をリリースしました

2022/10/14に公開

このzenn執筆環境のtextlintをいろいろ導入している中で、リクルートが運営している文章校閲API Proofreading API の存在を知りました。

https://a3rt.recruit.co.jp/product/proofreadingAPI/

textlintには、すでにtextlint-rule-a3rt-proofreadingというプラグインがあるのですが、どうもAPIが変わってURLも変わり、今は動作しませんでした。

textlint pluginを作ってみたかった+動かすためのAPIキーをtextlintrcに入れなければならなかったこともあり(さすがにAPIキーをGitに入れたくない)、新規にv2としてプラグインを作ったので手順などを書いておきます。

本プラグインのGitHubページはこちら。

https://github.com/shivase/textlint-rule-a3rt-proofreading-v2

先に残念なお話

実際にプラグインを作って文章にかませてみたのですが、このAPIはあまり賢くなくて良いサジェスションをしてくれません😭。

しかし外部APIを呼ぶプラグインでも、そんなに遅延を感じたりしないのでアリだなとは思いました。何か他におもしろいAPIないかなぁ。あったら教えてください!

本当はgingerを使った英語の添削textlintを作りたかったんですが、既存のプラグインは動かない+そもそもGingerAPIがなくなっている?な感じでしょんぼりです。

インストール方法

APIキーの取得

まず実行するためには、Proofreading APIのAPIキーが必要ですので、以下のページで発行してください。フォーム入力後、すぐにメールにてAPIキーが送られてきます。

https://a3rt.recruit.co.jp/product/proofreadingAPI/registered/

プラグインのインストール

以下のコマンドでプラグインを入れてください。

npm install textlint-rule-a3rt-proofreading-v2

設定ファイルの修正

.textlintrc.json に以下のような感じで設定を追加してください。

{
  "rules": {
    "a3rt-proofreading-v2": {
      "apiKey": "./key.yaml"
    }
  }
}

上記設定の場合、プロジェクトの直下に key.yaml をおき、以下のフォーマットで取得したAPIキーを記入してください。

version: 1
rules:
  apiKey: 'APIKEY'

直接実行するとこんな感じです。

yarn textlint --rule a3rt-proofreading-v2 hoge.txt
yarn run v1.22.19

./hoge.txt
  1:1  error  Suggest: 'ホ' => '「|、|の' (score:0.78)  a3rt-proofreading-v2
  1:2  error  Suggest: 'ゲ' => 'マ|ン|ル' (score:0.76)  a3rt-proofreading-v2
  1:3  error  Suggest: 'ホ' => 'リ|ル|・' (score:0.77)  a3rt-proofreading-v2
  1:4  error  Suggest: 'ゲ' => 'は|を|が' (score:0.78)  a3rt-proofreading-v2
  1:5  error  Suggest: 'ほ' => 'イ|ー|リ' (score:0.99)  a3rt-proofreading-v2
  1:6  error  文末が"。"で終わっていません。            ja-technical-writing/ja-no-mixed-period

✖ 6 problems (6 errors, 0 warnings)

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

結果には score が一緒に表示されますが、これはProofreading APIが返す、どの程度推奨しているかを0〜1で表したものになります(1が推奨)。

感想

textlintのプラグインは思ったよりシンプルに作れるので良い感じです。
ハマりどこが何個かありましたが、textlintのプラグイン開発HowToも別途記事にしていこうかなと考えています。

せっかくなので興味がある人はインストールし試してくれるとうれしいです!

GitHubで編集を提案

Discussion