こんにちは!
AbemaTV所属のシュウタと申します!
先日、サイバーエージェント社内でエンジニア クリエイター対象の技術コンテスト「CA PoCMOCK CONTEST」というものが開催されました。
イベントの概要としては以下のようになります。
- 様々な課題やアイデアに対してエンジニア・クリエイターならではの視点からPoCMOCK (=技術的な検証とモックの作成) を行うことで形にし、より実現性の高いサービスやツールが創出されるようなコンテスト。
- 技術を軸に新たなアイディアのタネを見つけ出し、それを役員陣にプレゼンテーションする場。
私たちのチームではこのコンテストで「次世代リアルタイム画像判定」というテーマで、機械学習を用いて会員登録フロー効率化に関する検証を行い、優秀作品として選出していただきました。
今回は私たちのチームがPoCMockコンテストで行った取り組みに関してご紹介したいと思います。
現状の課題
突然ですが、サービス開始時の会員登録に関してその煩雑さに不便を感じたことはありませんでしょうか。
従来の会員登録でいうと、プロセスが多く、完了までに時間がかかるのはよくあるパターンかと思います。
実際にいくつかのサービスを対象に調査を行ったところ、サービス開始前の会員登録フローの段階で既に一定数のユーザーが離脱してしまっている状況でした。
また一部のサービスでは、会員登録の段階で免許証などで本人確認を行うのですが、
私たちのチームでは特にこの部分にボトルネックがあると感じ、その課題に対するソリューションを検証することにしました。
ソリューション
まず従来の本人確認のフローがどのようになっているかについては以下のようなものです。
ユーザーが免許証などの本人確認書類をアップロードし、サーバーとオペレータの下で判定が入ります。
写真に問題がない場合は本人確認完了となりますが、ここで例えば画像が荒かったり、質の悪い画像を送信すると、
ユーザーに対して再アップロード依頼がかかり、やり直しというものが発生します。
ただここで問題はユーザーは送った画像の何が悪かったかを把握しているわけではない点です。
なので下手すると何度か再アップロードなどの手間を経験する可能性もあるわけです。
実際に私個人として、このループにハマった経験もあり、非常に煩わしい思いをしたこともあります。
ここに対する解決策として私たちが考案したのは
クライアントに機械学習のロジックを組み込み、リアルタイムで画像のを判定をするというものです。
事前に本人確認の際にOK判定、NG判定となる免許証の画像それぞれN枚用意して作成した、機械学習モデルをwebアプリケーションに実装します。
画面のカメラに映る画像をトリミングし、そのモデルを用いてリアルテイムで判定を行う処理をクライアントで定期実行します。
こうすることでサーバーへリクエストを送ることなく、クライアント完結でユーザーは最初から精度の高い画像のみをアップロードできるようになります。
当日のデモ
次のものが当日作ったもののデモになります。
画面上に現れる数字がその画像に対する判定スコアになっていて、0.8などの設定した閾値以上の数字になった場合に、撮影可能なビューをユーザーに表示します。
こうすることでユーザーに最適な撮影タイミングを知らせることができるようになります。
またOCRによるユーザー情報の取得も検証できました。
対象の画像をセットすることによってその画像から名前や、住所などの情報を抜き出すことが可能となります。
効果
これらを用いることによって
従来、左の図のようになっていたのですが
右の図のような形で、ユーザーは最適な画像のみを最初からアップロードでき、
本人情報の入力といった手間も省けるようになります。
今回の検証を通じて、ユーザーにとっての手間を省き、離脱率の減少に繋がる可能性を見出せたと思います。
表彰結果について
結果は野球方式で、ホームランやヒットなどのように発表されるのですが
私たちのチームはツーベースヒットという評価でした。
審査員コメントとしては以下のようなものです。
ついつい優先度が下がりがちな課題に目を向けUX向上の目処が見えたと思います。
事業的にもインパクトが期待できると思います。
最後に
PoCMoCKコンテストは、部署の垣根を越えてメンバーが集まり、技術やクリエイティブの力でユーザー体験を向上する未来を創造することができる場として非常に良い機会でした。
運営の皆様、ありがとうございました。
次回はホームラン取ります!
補足
- 機械学習モデルの作成に関してはGCPのcloud vision/autoML visionを使用しております
- webでの実装に関してはtensorflowのライブラリを使用しています。
- 機械学習モデルとは入力された値に対して、評価を行なった結果を出力するためのものです。機械学習モデルには学習したデータの規則性を表現した数式が定義され、それを元に評価値が求められます。