発想と実装の間をつなぐ AI:人工知能特化型メディア

リクルートがAIをまさかの無料公開。さっそくすべてのAPIを試しまくってみた

おはようございます、河村です。

株式会社リクルートテクノロジーズがAI「A3RT」を無料公開したことが、少し前に話題になりましたよね。

しかも実際に「カーセンサー」や「ゼクシィ縁結び」でもすでに使われている優秀なAI。

ただ、そんな優秀なAIのAPIが公開されたっていうニュースはちょこちょこ見るんですが、実際どれだけすごいのか?どれだけの精度なのか?というニュースってほとんど見ませんよね。

ということでデジマラボですべてのAPIをガッツリ試してみることにしました!!

今回、無料公開されたAPIは、レコメンドや画像解析、文章校閲などを可能にするAPIなど以下の6つ。

名称だけ見ても謎なAPIもあるのでさっそく使ってみましょう!

自動生成、入力補助を実現するText Suggest API

Text Suggest API文章の自動生成、入力補助をしてくれるAPI。ある単語を入力すると、「その次に来そうな文章」を生成してくれます。

といってもよくわからんと思うので、まず手始めに「」という単語で試してみましょう。

{
  "status": 0,
  "message": "ok",
  "suggestion": [
    "の窓で手を出しています。",
    "が二台止まっています。",
    "が停車しています。"
  ]
}

こんな感じです。しっかりと単語の意味を認識して対応する文章を自動で生成してくれています。

もう少し長い文章「明日の天気は」でも試してみます。

{
  "status": 0,
  "message": "ok",
  "suggestion": [
    "、が見えます。",
    "、オレンジ色で、白い飛行機です。",
    "、、、白い壁があるトイレから写真が、見えます。"
  ]
}

んー……何かしらの文章は生成してくれますが、日本語としてはまったく成り立っていませんね。。残念な感じ。。

今のところは、基本的に単語でないと精度はでないようです。

同じ要領で、プログラミングのソースコードを一部かくことで後ろを生成したりもしてくれるのですが、試してみると正直よくわからない感じ。

ここらへんも含め、今後に期待というところでしょうか。

ただ、進化したら文章の自動生成や、プログラムコードの自動生成なんてことにも使えるかもしれませんよね。未来感ハンパないです。

文章の自動分類を行うText Classification API

Text Classification API学習データによって自動的に文章を分類してくれるAPI。

今回はA3RTで用意されている学習データを使います。

この学習データでは、単語を入力すると、関連するある職種に分類してくれるようになっています。さすがリクルートといった感じ。求人票とかで使えそうですね。

まずは単語で「Java」と、プログラミング言語で職種を分類してくれるか試します!

{
  "status": 0,
  "message": "ok",
  "classes": [
    {
      "label": "ITエンジニア(システム開発・SE・インフラ)",
      "probability": 1
    },
    {
      "label": "Web・インターネット・ゲーム",
      "probability": 5.0718e-8
    },
    {
      "label": "エンジニア(機械・電気・電子・半導体・制御)",
      "probability": 1.27158e-13
    },
    {
      "label": "専門職(コンサルタント・士業・金融・不動産)",
      "probability": 5.98484e-17
    },
    {
      "label": "クリエイティブ(メディア・アパレル・デザイン)",
      "probability": 4.8718e-19
    },
    //以下省略

なるほど、こんな感じですね。ITエンジニアの職種がトップに出てきました!

ではもう少し長い文章で「英語を教える」はどうでしょうか?

{
  "status": 0,
  "message": "ok",
  "classes": [
    {
      "probability": 0.617317,
      "label": "教育・保育・公務員・農林水産・その他"
    },
    {
      "probability": 0.357657,
      "label": "事務・管理"
    },
    {
      "probability": 0.0177112,
      "label": "企画・マーケティング・経営・管理職"
    },
    {
      "probability": 0.00569101,
      "label": "営業"
    },
    {
      "probability": 0.000914245,
      "label": "専門職(コンサルタント・士業・金融・不動産)"
    },
    //以下省略

教育がトップにでてきました。Text Classification APIの精度はそれなりに高そうな印象をうけます。

たとえば、チャットボットの中でこのAPIを組み込んだりしたら、ユーザーの入力文を分類してシナリオ分岐させる、なんてことも可能になるのかもしれませんね。

それができれば、より正確なFAQや、雑談botの応答精度を上げることが可能になりそう。

文章の怪しい箇所を検知するProofreading API

Proofreading API 入力されたテキストの文法的に疑わしい部分を指摘してくれるAPI。

どんなメディアでも、誤字脱字はどんなに注意を払っても起こってしまうのが正直なところ。デジマラボももちろんですが。。

ということで早速試してみます。まずは「システムの規格から 開発・運用まで幅広く関われます。」をインプット。誤字の「規格」はちゃんと指摘されるんでしょうか。しっかり指摘してほしい!

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

お、しっかりと指摘してくれてます! さらにアラートオプションでは誤字なのか、文脈的に不自然な表現なのか、というのも指摘してくれるので良い判断材料にはなりそうです。

いずれは指摘だけでなく、正しい表現もサジェストしてくれると助かりますね。

ちなみに「システムの気格から開発・運用まで幅広く関われます。」と他の誤字で試してみると

{
  "status": 0,
  "message": "ok"
}

okとでてしまいました。。おい、なんでや。

まだまだ完全に頼れる、とまではいかなそうですが、それなりに工数の削減には寄与してくれそうです。これで校正の時間が少し削減される……かも。

自動応答を可能にするTalk API

Talk API会話文を自動生成してくれるというAPI。

ユーザとの会話を学習して自然な会話を実現できるという、これぞ人工知能といった感じ。チャットボットに使えそうですよね!

まずは基本のあいさつから試してみましょう。

最近順調ですか?」と入力してみます。

{
  "status": 0,
  "message": "ok",
  "results": [
    {
      "perplexity": 1.7530718200379387,
      "reply": "あなたはどうですか?"
    }
  ]
}

少しくせのあるあいさつでも、しっかりと応答してくれました!

さらに「あなたと話すの初めてで少し緊張しています。」と話しかけると

{
  "status": 0,
  "message": "ok",
  "results": [
    {
      "perplexity": 1.219203771801697,
      "reply": "私もです"
    }
  ]
}

おー、会話になってますね。

かなり自然な応答をしてくれるので、botの雑談機能としてなかなか良さそう。

もうちょい難解な感じで「あなたが幸せな時はどんな時ですか?」と話しかけてみます。

{
  "status": 0,
  "message": "ok",
  "results": [
    {
      "perplexity": 5.190660186646161,
      "reply": "どんな時でしょうね"
    }
  ]
}

意外にちゃんと応答してくれてるっぽい。単純に楽しいです。
これは使い道ありそうですね!

画像の影響度を測定し、点数で予測するImage Influence API

Image Influence APIは、多くの人に注目されやすい画像の”影響度”を判定してくれるAPI。

結果は0~9点で判定されます。

これでA/Bテストのようなことを事前に人工知能でテストもできそう。

現在はお肉の画像のみに特化しているようですが、最終的にはすべての種類の画像に対応する予定とのこと。

なぜお肉にフォーカスしたかは大きな謎が残るところではありますが、気にせず試してみましょう。

まずは、こんな感じの長細いお肉から突っ込んでみます。

{
  "status": 0,
  "message": "ok",
  "result": {
    "score": 1.7297801971435547
  }
}

0-9点ででるので、1.72というと結構低い点数ですね……。

今回は「良いお肉」と「良くないお肉」それぞれの画像にあらかじめリクルート側が点数をつけてくれた学習データを使っているので、点数の判断基準はリクルートの誰かということになります。

では次に一般的(?)なお肉の写真を。

{
  "status": 0,
  "message": "ok",
  "result": {
    "score": 4.077118396759033
  }
}

さっきよりは点数が高くなりました!

(一般的なお肉でもこの点数ということは、点数の基準を決めたリクルートの方々は相当高級なお肉を食べているに違いない)

うーん、今のところの使用用途は「飲食店がグルメサイトにアップする写真の選定」ってカンジでしょうか?

すべての画像に対応したときには、一気に実用性が増しそうな気がします。

レコメンドリスト、アイテム間の相関リストを自動生成するLisiting API

大丈夫ですか? 疲れてきてませんか? 

これが最後です!

Listing APIは、商品の購入履歴データから「このユーザーは、こういう商品も好きそうだよ」というレコメンドリストを生成してくれるAPI。

ちょっとイメージ湧きづらいので、実際に試してみましょう。

今回は適当にユーザーID(user_id)、商品ID(item_id)、購入時刻(time_stamp)という3つの項目が入ったデータを準備しました。

Listing APIを使えばこれらのデータから各ユーザーに対してレコメンドすべき商品を教えてくれます。

実際にこれらのデータを使ってAPIを使ってみると、自動生成されたリストをcsvファイルでダウンロードすることができました!

リストの結果はこんな感じです。

これだけだと全然わからないので、それぞれわかりやすく図示すると以下の通り。

各ユーザーに対して、10件のレコメンド商品を自動で生成してくれています。

それぞれスコア値が付与されていて、その値が高い方からソートしてくれています。

このスコア値が高ければ高いほど、「○○な商品を買ったときに、△△を買う可能性」の相関が高いってことです。

これ、マーケターにはかなり嬉しいAPIでは? これをもとにメールマーケティングなど行ってみたいですね。

これらのデータをユーザ属性ごとにさらにリスト化してみたり、というのもかなりおもしろそうなデータが出てきそうですし、すでに実用レベルのAPIですね。

AIはすでに僕らのすぐ隣に

6つのAPIを実際に使って、無料で使える人工知能もここまで来たか!と思う部分もある一方で、正直実用にはあともうちょっと……という部分も。

ただリクルートグループ内では実際にこれらのAIが使われているというのも事実で、AIがそれだけ社会に浸透してきて、もはや当たり前になりつつある。

将来は人工知能が……みたいな話はもう終わっていて、AIはすでに僕らのとなりで活躍している。

そんなAIのAPIが無料公開されてるなんて、めっちゃすごいですよね。

これからの時代は、話題作りや興味本位でAIを使ってみるのではなく、より真剣にあらゆるサービスやプロダクトに取り入れる必要性がでてくるのではないでしょうか。

そんなことを感じつつ、APIをいじっていたのでした。

ではではー。

河村 健司 by
ライター兼エンジニア。海外でのフロントエンドエンジニア経験を経て、ビットエーへ。主にチャットbot関連の情報を追いつつ、自分で試しつつ、なんなら自分でも組んじゃう。なんてことをやったりする。