みてねのレコメンドを支える技術2018-08-22 Dive into mixi night! #4みてね事業部 開発グループ コンテンツ開発チーム松石浩輔 (@_sobataro )
View Slide
自己紹介● 松石浩輔 (@_sobataro)● 2016年新卒○ 1年目: みてねエンジニア (アプリ、サーバ、インフラ)○ 2年目〜: みてねコンテンツ開発エンジニア (サーバ、インフラ)
コンテンツ開発チーム
コンテンツ開発チームとは● 自動生成系コンテンツを開発・運用するチーム● エンジニア3人提供する機能● 1秒動画● 自動提案フォトブック● DVD「1枚にまとめる」機能
コンテンツ開発チームの提供する機能1秒動画● 画像・動画を1秒ずつ繋いだダイジェスト動画自動提案フォトブック● 1ヶ月分の画像から22枚を選んで提案DVD「1枚にまとめる」● 1年分の動画からディスク1枚 (50分)ぶんを提案
自動生成・自動提案機能の裏側1秒動画のケース
最高の1秒動画とはチーム内でヒアリング● 子どもがよく写っている● 成長が感じられる● 盛り上がっている実装に落とし込むための仮説● 顔検出された画像・動画?● 時系列順に並べる?● コメント件数が多い?気をつけること● 仮説の難易度と優先順位● 検証方法● データの取り扱い
1秒動画の生成・配信処理1. 生成対象家族の抽出2. 素材となる画像・動画の選択3. 動画ファイルの生成4. 配信素材選択ロジック● アップロードされた画像・動画を事前に解析しておく○ 顔検出、人物検出、BGM 検出など○ 大規模処理 (最大で37万+件/時間のアップロード、累計10億+件)● 解析結果をもとに点数付け○ 点数が高くなるように素材選択顔検出: 0件人物検出: 0件コメント: 0件 ➔ △点顔検出: 2件人物検出: 2件コメント: 3件 ➔ ◯点顔検出: 1件人物検出: 1件コメント: 0件 ➔ ◻点
画像・動画解析基盤 (現行構成)● 画像・動画解析部分を microsevice として切り出している
画像・動画解析基盤 (構築中)● RDB, Redis などインフラを分離してスケーリングを容易に● SageMaker の導入
まとめ
まとめ● みてねではコンテンツ自動生成・自動提案のため ML 技術を活用○ 顔検出、人物検出、BGM 検出など● 大規模な画像・動画解析のため、自前の解析基盤を構築・運用○ メインのアプリサーバから基盤を分離中● 幅広い仕事○ 研究○ 企画・ディレクション○ 開発・運用