
はじめまして。
イノベーション本部の平田です。
普段は、企画・営業系の仕事をしております。
今回は、チームメンバからA3RTなるものを教えてもらい
実際に少し触ってみたのでご紹介します。
A3RTとは?
A3RT(アート)は「ANALYTICS & ARTIFICIAL INTELLIGENCE API VIA RECRUIT TECHNOLOGIES」の略称です。
A3RTは機械学習のなかでもDeep Learningなどに代表される、いわば人工知能とよばれる分野のロジックを
ひとつのブランドで統一・整備をし、社内へ展開するためにプロジェクト化されたソリューションの総称です。
いろいろなAPIが提供されているのですが
その中でも今回はImage Influence APIを使ってみました。
Image Influence APIは、複数の画像に評価スコアをつけるとその傾向を学習して、
他の画像に対する評価スコアを返してくれます。
ちなみに、公式ホームページにあるサンプルのモデルでは、
お肉の画像を評価することができます。
やってみる
どんな画像の評価をしようかなーと考えていたところ、
部屋にある本が目に止まったので本の表紙画像をテーマにやってみることにします。
本も“ジャケ買い”したり、表紙の善し悪しで手に取るか決めることがありますし、
なかなか面白そうです。早速やってみましょう!
0.前提
今回は以下の前提でやってみます。
- ジャンルはビジネス書に限定
- 評価スコアは全国売上冊数を基準に設定
1.事前準備
-
API KEYの準備
APIを利用するためには、専用のAPI KEYが必要です。
API発行のページからメールアドレスを登録すると、登録したメールアドレス宛てにAPI KEYが届きます。 -
学習データの準備
公式ホームページに記載されている制限事項や学習データの仕様に則って準備します。
いくつか書いてありますが、ポイントは以下でしょうか。- 学習に使う画像ファイルは1つのフォルダにまとめて、
zipファイル形式で固めておく - 画像ファイルは500枚以上、1000枚以下
- 画像ファイル名は「xxxx_y.拡張子」
- 学習に使う画像ファイルは1つのフォルダにまとめて、
xxxxは0000~9999までの任意の数字で指定します。
yはその画像の評価スコアです。0~9までの数字で指定します。
今回は売上を基準にしたモデルを作成したいので、
ビジネス書ジャンルの売上上位500位までの銘柄を10段階に分けて、評価スコアを指定しました。
売上1~50位までは「9」、51位~100位までは「8」…といった形です。
2.モデル作成
事前準備ができたらモデルを作成します。
これがたったの3ステップ。なんて簡単。
公式ホームページの手順通りにcurlコマンドを叩けば、誰でも学習モデルを作成できます!
◆学習データをアップロードするURLを取得
事前準備で取得したAPI KEYを「apikey=」以降にセットし、コマンドを叩きます。
curl -X GET https://api.a3rt.recruit-tech.co.jp/image_influence/v1/get_upload_url?apikey=******
すると、レスポンスとして学習データをアップロードするURLが返ってきます。
{
status: 0,
message: "ok",
result: {"url": "https://a3rt-image.・・・・"}
}
◆学習データをアップロード
先ほど取得したURL(レスポンスのhttpsから始まる文字列)をセットし、コマンドを叩きます。
※今回は「images.zip」という名前で学習データを作っています。
curl -D - -X PUT --upload-file /path/to/images.zip "http://a3rt-image.・・・・"
プロンプトが戻れば正しくアップロードできています。
◆モデル作成をリクエスト
最後は、事前準備で取得したAPI KEYを「apikey=」以降にセットし、以下のコマンドを叩きます。
curl -X GET https://api.a3rt.recruit-tech.co.jp/image_influence/v1/order_model?apikey=******
レスポンスでOKと返ってくれば、モデル作成のリクエスト完了です!
3.表紙画像の評価
では、作成したモデルを使って、表紙画像を評価してみます!
評価したい本の表紙画像をimagefile以降にセットして、コマンドを叩きます。
今回は某有名ビジネス書の表紙画像で試してみました。
curl -X POST \
-F apikey=****** \
-F predict=1 \
-F imagefile=@C:\Users\・・・\bizpic.jpg \
https://api.a3rt.recruit-tech.co.jp/image_influence/v1/image_score
{
"status": 0,
"message": "ok",
"result": {"score": 6.170831203460693}
}
評価スコアは6点でした!
MAX9点とはいえ、個人的にはもう少し高い評価でも良いかなーというところ。
今回は学習データが500枚と少なかったので、精度については改善の余地がありそうです。
まとめ
作成した学習モデルで本の表紙画像を評価することができました。
データの準備が大変ですが、モデル作成や評価自体は簡単に行うことができ、
やっていて楽しかったです!
学習データを増やして精度を上げたり、別のジャンルでも試してみたいと思います!
皆さんもぜひチャレンジしてみてください!