ソーシャルグラフ・レコメンド実現における3つの課題~セキュリティ/コールドスタート
2:ソーシャルグラフデータのセキュリティレベル
ソーシャルグラフデータのセキュリティレベルに関して、社内では1事例がありましたが、ソーシャルグラフデータを社外のAPIに受け渡すことは今回が初めてだったので、取扱いには慎重になっていました。
当初の設計では、外部API側からGraph APIでソーシャルグラフ情報を取得する予定でしたが、アクセストークン自体が個人情報と認定されたため、外部から取得することができなくなりました。
そのため、アクセストークンは社内でもセキュリティレベルの高いシステムで管理しました。さらにGraph APIから取得したIDを暗号化し、レコメンドに必要な情報のみを外部APIに渡しレコメンド結果を計算する仕様に変更することにしました。
3:コールドスタート問題
どのレコメンドにも言えることですが、今回のソーシャルグラフ・レコメンドにもコールドスタート問題が立ちはだかりました(※)。
コールドスタート問題(cold-start問題)start-up問題とも言われます。推薦(レコメンデーション)の課題の一つとして取り上げられており、使い始めの利用者への推薦や新しいアイテムの推薦をどのようにするかという問題を指します。参考:Wikipedia(英語版)
一般的にコールドスタート問題とは、「ユーザーが該当サービス利用開始時に行動履歴情報が充分にないためレコメンドすることができない」という問題を指しますが、今回の場合は、すでにFacebookにチェックイン履歴があり、その情報をもとにレコメンドが行われるため、コールドスタート問題は発生しないと考えていましたが、現実は違いました。
実は、Graph APIや社内システムの仕様の問題で、ユーザーのチェックイン履歴を取得するまでに数日から1週間程度かかることが判明したのです。
これではホットペッパーフレンズアプリを使い始めても数日間は検索一覧結果が表示されなくなってしまいます。その解決策として、ユーザーの情報が蓄積されるまでは、ソーシャルグラフ・レコメンドではなく、ソーシャルグラフ・ランキングを検索一覧結果に表示することとしました。
また、他にもコールドスタート問題はありました。ホットペッパーフレンズはPCやHPGアプリに比べるとユーザー数がまだ少ないため、Item to Itemのレコメンドルールを作成するには情報量が足りませんでした。
解決方法として、PCサイトでの数か月分のレストラン閲覧情報をもとにItem to Itemのレコメンドルールを作成しました。
このように1~3の課題のためレコメンドの仕組み自体は完成していたものの、レコメンドに受け渡すデータ取得に苦労したため難産になってしまったのです。
今後の展開
今回のソーシャルグラフ・レコメンドの取り組みによって、独自のアルゴリズムの開発およびGraph APIやソーシャルグラフデータを使う場合の課題や、Tipsなどの知見を得ることができ、今後の展開がしやすい土壌づくりができました。
また、今回では取り組むことができなかった「なぜそのお店がおすすめされたのか?」が友人のチェックイン数以外の要素でもわかるようなユーザーインターフェースなどに発展させたいと考えています。
弊社の2012年10月の組織再編成によって、ビッグデータ活用のインフラ基盤や人材がさらに強固になりました。2013年はさらにソーシャルグラフ・レコメンドも含めたビッグデータ活用に取り組んでいきます。