リクルートテクノロジーズ メンバーズブログ  A3RTと戯れる(国産Web API Advent Calendar 2018)

A3RTと戯れる(国産Web API Advent Calendar 2018)

こんにちは。阿内です。

国産Web API Advent Calendar 2018の11日目は、リクルートテクノロジーズの人工知能API群「A3RT」と戯れてみたいと思います。

はじめに

A3RTについて

A3RTはリクルートテクノロジーズが公開している機械学習を用いたAPI群で、「ANALYTICS & ARTIFICIAL INTELLIGENCE API VIA RECRUIT TECHNOLOGIES」の略称です。現在、オリジナル画像生成や固有表現抽出、日本語のSQL変換など、11種類ものAPIが公開されています。

詳しくはA3RT公式サイトをご覧ください。

今日やること

今日はA3RTのText Suggest APIとProofReadingAPIを使って、「便利?ツール」を作って行きたいと思います。以下で各APIの概要を説明します。

1. Text Sugget API

テキストの自動生成を行うAPIです。こちらのAPIは、大量のテキストを学習することで、入力した文章に続く自然な文章を生成することが可能です。例えば個人利用であれば、キーワードや話題まで浮かんでいても文章を書くのが大変なときにサポートしてくれます。集団で文章や原稿を作成する場合は、一定の原稿品質を担保したり、独特の言い回しや表現の規定を普及させる一助にもなりえます。学習させる文章を工夫すれば、非常に多様な場面で利用が可能です。

2. Proofreading API

テキストの校閲を行うAPIです。このAPIでは、誤字脱字箇所の指摘だけでなく、代替候補案までサジェストしてくれます。人手ではチェックしきれない量の原稿を、短時間かつ高クオリティでチェックすることが可能です。また、今後のアップデートでユーザーのFBによる自動学習機能の追加を予定しております。

上記テキストを扱った2つのAPIを使い、日常の課題を解決するslack botを作ってみたいと思います。

便利slack botを作る

日々slackでコミュニケーションをとる上で、「誤字」と「言葉足らず」はミスコミュニケーションを生むため、絶対に避けなければいけません。

※ ↑ 無理やり課題を作っているので、深く突っ込まないでください。

この日常に潜む2つの課題を、A3RTのAPIで解決したいと思います。

準備

APIキーを発行する

まずはA3RTのAPIを利用するために、APIキーを発行します。※ APIキーは、利用するAPIごとに発行が必要です。

Text Suggest API 
Proofreading API

APIキーが正常に発行できてるかを、用意されているpublicデータセットを使って学習したモデルに問い合わせてみましょう。

Text Suggest API

デフォルトで用意されている現代文を学習したモデルで「犬」に続く文章を生成してみます。

 

Proofreading API

「システムの規格から改発」という文章を校閲してもらいます。

正常にAPIキーが発行されていることが確認できました。

 

本題

作ったbot達

1. 誤字訂正bot

僕の誤字だらけの投稿を指摘し、正しい文言を教えてもらいましょう。

↑ 誤字slackの一例

こちらは、すでに用意されているモデルで事足りそうなので、レスポンスをいい感じにパースして投稿すればよさそうです。

2. 言葉足らず補足bot

言葉足らずな僕の投稿を、いい感じに文章にしてもらいましょう。しかし、publicで公開されている現代文を学習したモデルや、和歌を学習したモデルではこの課題を解決できません。そこで、Text Suggest APIに用意されている学習機能で私のslackログを学習し、私っぽい発言をしてくれるようにしましょう。

↑ 言葉足らずslackの一例

自作モデルの作成方法は、Text Suggest APIでオリジナルモデルを作ってみたをご覧ください。

※ 学習データとして利用したslackのログは、プライベートで利用しているslackの会話ログをエクスポートしたものになります。真に業務における言葉足らずを補正したい場合は業務slackのログを使うのがベストですが、センシティブなのでプライベートのものを利用しました。

いきなり成果物

・5文字以上の場合は校閲が発動、5文字未満の場合は言葉補足が発動します。

・自分の投稿以外には反応しないようにしています。

実際に動いている様子

・補足bot

5文字未満なので補足してくれています。素晴らしい補足ですね。

 

・誤字訂正bot

5文字以上なので訂正してくれています。2つ目の例は、書いている途中の原稿を投稿してみた結果、完璧な指摘ではありませんが、誤字に気付くことができました。今後のアップデートでさらなる改善ができればと思います。

まとめ

A3RTのAPI群を利用することで、日常の課題を解決する便利?なツールを作成することができました。今回利用したAPI以外にも、様々なAPIが公開されていますので是非みなさんも利用してみてください!

slackbot作成に利用した記事

PythonのslackbotライブラリでSlackボットを作る

Pythonを使ったSlackBotの作成方法