リクルートテクノロジーズの機械学習APIを試す

1.はじめに

リクルートテクノロジーズが機械学習「A3RT(アート)」の機能を一般の人がAPIで利用できるように公開したというニュースを見かけました.

<この記事は「デジマのあれこれ」にて2017年3月頃公開された記事を移植したものです>

リクルートテクノロジーズ、機械学習活用のためのAPI群「A3RT」を無料公開

http://marketing.itmedia.co.jp/mm/articles/1703/17/news091.html

さっそく,リクルートテクノロジーズの「A3RT(アート)」のサイト(https://a3rt.recruit-tech.co.jp)に行って試してみました.

 

図1

 

2.A3RTで使える機能

現在公開されている機能は

  • Listing API:データから相関などを見つけてリストを生成するためのAPI.
  • Image Influence API:画像認識関係のAPI.
  • Text Classification API:文章の分類を行うAPI.
  • Text Suggest API:文章の自動生成および入力補助を実現するAPI.
  • Proofreding API:文章として怪しい箇所(ケアレスミス)などを検知するAPI.
  • Talk API:チャットボットを作成するためのAPI

とのことです.詳しくはhttps://a3rt.recruit-tech.co.jp/product/にある各項目を見てください.

さてビジネスで使えそうな機能はどれでしょうか?Listing APIはその説明に書いているように,ログや顧客リストなどのデータから相関を見つけることに使えると思います.Text Classification APIはアンケート(自社イメージやクレーム)などの分析に使える気がします.Text Suggest APIはリスティング広告のタイトルや説明文などの作成で使えるかもしれません.

とりあえず今回は一番簡単にできそうなProofreding APIを試してみました.使用するには,「API KEY」を発行してもらう必要があります.登録したメールに「A3RT(proofreading) – メールアドレスの確認」というメールが送られてきます.そのメール内のURLをクリックすると認証が完了し「A3RT(proofreading) – APIキー発行完了のお知らせ」というメールが送られてきて,そこにAPI KEYが書かれています.API KEYはすべてのAPI機能で使えるのではなく,機能毎に必要なようです.ですから,今回取得したAPI KEYはProofreding APIのみで使えます.

 

図2

 

3.Proofreding API を試してみる

さて使用法は,Proofreding API (https://a3rt.recruit-tech.co.jp/product/proofreadingAPI/)に書いてあるのですが,ざっくりと紹介します.取得したAPI KEYが「AAAAAAAAAA」だとします.そして,調べたいテキストが「システムの規格から海発・運用まで幅広く関われます。」だとします.この場合,

https://api.a3rt.recruit-tech.co.jp/proofreading/v1/typo?apikey=AAAAAAAAAA&sentence=システムの規格から海発・運用まで幅広く関われます。

とURLを作成し,コピーしてこれをアドレスバーにペースとしてEnterを押します(そのアドレス先に移動です.Firefoxだと「貼り付けて移動」を選択します).すると,ブラウザーの画面に返答が帰ってきます.

返答内容をペーストすると以下のような結果です.

<結果>

図3

 

{"status": 1, "message": "pointed out", "alerts": [{"checkedSentence": "システム の <<規格>> から 海発 ・ 運用 まで 幅広く 関われ ます 。", "alertCode": 0, "alertDetail": "a little unnatural", "word": "規格", "rankingScore": 0.02951777886020458}, {"checkedSentence": "システム の 規格 から 海発 ・ <<運用>> まで 幅広く 関われ ます 。", "alertCode": 0, "alertDetail": "a little unnatural", "word": "運用", "rankingScore": 0.03437246306218542}]}

内容(各指標)の詳細はサイトの説明を参照してください.とりあえず返答内容は「”status”: 1」なので「正常に指摘された(正常に動いて返答した)」のようになっていますが,「海発」が指摘されず「運用」が指摘されています.つまり,元のテキストが「システムの規格から海発・運用まで幅広く関われます。」でしたので,「規格」が「企画」であるべきで,「海発」が「開発」であるべきです.

もう少し詳しく解説すると,返答はまず「”checkedSentence”:”システム の <<規格>> から 海発 ・ 運用 まで 幅広く 関われ ます 。”」とあり,「規格」が「<<規格>>」となっていてそこが誤りである可能性を指摘しています.そして「 “word”: “規格”, “rankingScore”: 0.02951777886020458」とは「<<規格>>が誤りである可能性が3%ほどある」というような意味です(rankingScoreは0から1の値で,1に近いほど疑わしいとなります).

したがって,「{“checkedSentence”: “システム の 規格 から 海発 ・ <<運用>> まで 幅広く 関われ ます 。”」と「”word”: “運用”, “rankingScore”: 0.03437246306218542}」という内容は,「<<運用>>が誤りである可能性が3.4%ほどある」というような意味です.

つまり,明かな誤りである「海発」は指摘されず,「運用」のほうが誤りの可能性があると指摘しているのです.

ちなみに,試した元のテキストはA3RTのProofreding APIでサンプルとして与えられている「システムの規格から開発・運用まで幅広く関われます。」の「開発」を「海発」と変えたものです・・・.

テキストを少し変えて再度試してみました.

https://api.a3rt.recruit-tech.co.jp/proofreading/v1/typo?apikey=AAAAAAAAAA&sentence=システムの海発・運用まで幅広く関われます。

 

<結果>

{"status": 1, "message": "pointed out", "alerts": [{"checkedSentence": "システム の 海発 ・ <<運用>> まで 幅広く 関われ ます 。", "alertCode": 0, "alertDetail": "a little unnatural", "word": "運用", "rankingScore": 0.03437246306218542}]}

やはり,「海発」は指摘されず「運用」が間違いである可能性を指摘しています.多くの運用によってこれから改善が進むと思いますが,まだまだのようです.

 

関連記事

リクルートテクノロジーズの機械学習「A3RT」はその後どうなっているのか

リクルートのAI・機械学習を使用した、プロダクト開発希望者向けセミナー

バージョンアップしたというリクルートテクノロジーズのA3RTを試す