コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
by
Takanobu Nozawa
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤 Takanobo Nozawa 2024.07.24 Recommendation Industry Talks #3
Slide 2
Slide 2 text
今日話すこと 2 前半 - レコメンドPJを推進するために取り組んだこと - PoCから先へ進めない, これからMLをサービス導入 する方の一助になればと思っています 後半 - 実際にリリースした「あなたへ」フィードのロジック・ アーキテクチャについて ※資料は公開します
Slide 3
Slide 3 text
自己紹介 3 名前:野澤 哲照(Nozawa Takanobu) 所属:コネヒト株式会社 :たかぱい@takapy0210 ML PM/Engineer, EngineeringManagerとして、データ周辺の 仕事+マネジメントをしています。 猫とマンションとラーメンが好きです。 PR:友人とPodcast配信してます。 wipfm
Slide 4
Slide 4 text
4 01 会社・サービス紹介 02 レコメンドに取り組んだ背景・プロセス 03 「あなたへ」フィードのロジック 04 まとめ・今後の展望 Contents
Slide 5
Slide 5 text
01 会社・サービス紹介
Slide 6
Slide 6 text
コネヒトのVISION 6 ありとあらゆる価値観が見つめ直され、 それぞれに思い描く家族の姿はどんどん変わっている。 家族の数だけ形があって、つくりたい未来がある。 私たちコネヒトは、その「家族像」というテーマに 向き合う会社です。 すべての家族が思い描く姿を実現できるように。 家族を学んで、アクションし、時にパートナーと一緒に、 「あなたの家族像」が実現できる社会を みなさんとつくってまいります。 あなたの家族像が実現できる 社会をつくる
Slide 7
Slide 7 text
VISIONが目指す先 7 KGI:希望出生数と予定出生数のギャップの解消 日本における希望出生数と予定出生数の間には 約0.24人の差分が存在します。 コネヒトはこの差分の大きな要因となる4つの 課題を事業領域に定め、両者のギャップの解消 を目指します。 希 望 2.25人 = 予定 2.01人 − 0.24人 差分 参考:国立社会保障・人口問題研究所 2022年・第16回出生動向基本調査(結婚と出産に関する全国調査) ※2022年・第16回出生動向基本調査(結婚と出産に関する全国調査)の内、夫婦調査を参考
Slide 8
Slide 8 text
コネヒトの事業 8 01 家計 の悩み 02 不妊 の悩み 03 育児 の悩み 04 社会 の意識 4つの課題を事業領域に定め、 事業開発・アライアンスなど様々な手法で解決を目指す
Slide 9
Slide 9 text
コネヒトTECH VISION コネヒトにおけるテクノロジーへの「態度」を表明した羅針盤 戦略の1つに「1to1 AI」を掲げているように、AIや機械学習を用いた ソリューション開発に意思を持ってチャレンジしていこうとしています https://tech-vision.connehito.com/
Slide 10
Slide 10 text
ママリについて 10 Q&Aコミュニティ メディア SNS ユーザーが悩みを投稿、相談しあうQ&A機能 専門家による回答も期間限定で提供 妊娠・育児などの記事を毎日配信 専門家監修の記事も多数 インスタのハッシュタグ #ママリ の投稿数が 1000万件超 #ママ(約670万件)よりも投稿されている
Slide 11
Slide 11 text
ママリにおける主なデータの種類 11 Q&Aデータ 自然言語:投稿数はQA合わせて月間約110万件 画像:QAに添付される画像 ユーザーの属性データ ユーザーの年齢、子供の年齢、住んでいる地域 … 行動ログデータ クリック、検索 ... 記事データ webとアプリで配信しているコンテンツのデータ QAイメージ 検索イメージ
Slide 12
Slide 12 text
02 レコメンドに取り組んだ背景・プロセス
Slide 13
Slide 13 text
13 背景 MAUを上げたい...!
Slide 14
Slide 14 text
14 背景 ● ママリのようなUGC(User Generated Content) プロダクトにとって、MAUは重要指標の1つ ● コネヒトのビジネスモデルにおいても、MAUが増える ことは事業貢献に直結する
Slide 15
Slide 15 text
15 背景 ● 2022年頃より特定枠でのレコメンド機能 を提供しており、一定の成果がでていた ● ビジネスインパクトをより出すため & Tech Visionの1to1 AI実現のため 今回のレコメンドフィード開発を推進
Slide 16
Slide 16 text
16 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る
Slide 17
Slide 17 text
17 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る 1つずつ見ていく
Slide 18
Slide 18 text
18 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る
Slide 19
Slide 19 text
19 1. 理想のユーザー体験を言語化する ● 最初に考えるべきはHowではなく、Why, What ● 「どんな体験を与えたいのか」から逆算して、適切なHow を決める ● 言語化することのメリット ○ 純粋に解像度があがる&どこにフォーカスすべきかが 明確になる ○ 迷ったり悩んだ時に立ち返ることができる
Slide 20
Slide 20 text
20 1. 理想のユーザー体験を言語化する 進め方:フィードバックを貰いつつ、ひたすら言語化していく ポイント:自分1人で完成させようとしない
Slide 21
Slide 21 text
21 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る
Slide 22
Slide 22 text
22 2. ロードマップを作る ● (当然だが)最終的に目指すのは事業貢献 ○ 短期〜中期のロードマップを作成し、経営陣含め、 「どういう体験を実現すると、どのようなビジネスイ ンパクトが生まれるか」をイメージできるようにする ● 合意が取れれば、あとは好き勝手に動けるロードマップ に責任を持ちながら推進できる ● フェーズごとに何を作って何を捨てるべきかも分かる
Slide 23
Slide 23 text
23 2. ロードマップを作る 実際に作ったもののイメージ (ほぼモザイク&一部分の切り取りですが、雰囲気だけでも伝わればと)
Slide 24
Slide 24 text
24 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る
Slide 25
Slide 25 text
25 3. 関わるメンバー全員で共通認識を取る ● 組織図上、MLチームは独立したチームであり、今回は サービス開発チームと密に連携を取りつつ進める必要が あった ● レコメンドに対する解像度を揃えるため、関係メンバー でジャーニーマップを作成し共通認識を取った
Slide 26
Slide 26 text
26 3. 関わるメンバー全員で共通認識を取る 雰囲気だけでも(ry
Slide 27
Slide 27 text
27 推進するためにやったこと 1. 理想のユーザー体験を言語化する 2. ロードマップを作成し合意を取る 3. 開発に関わるメンバー全員で共通認識を持つ 4. 動くもので語る
Slide 28
Slide 28 text
28 4. 動くもので語る ● 社内メンバーにβ版アプリを配布し、とにかく触って もらいフィードバックを集める ○ (SW全般にも言えることだが)言葉で説明するよりも、 動くものを触ってもらう方が100倍イメージが湧くし、 分かりやすい。まずは動くものを作ろう ● フィードバックを軸に改善→触ってもらう→改善 ... の ループを回す
Slide 29
Slide 29 text
29 4. 動くもので語る 雰囲気だけでも(ry
Slide 30
Slide 30 text
30 推進するためにやったことまとめ 1. 理想の体験を言語化する →FBをもらいながら言語化する&体験からHowを決める 2. ロードマップを作成し合意を取る →責任の所在を明確にし、PJを推進しやすくする 3. 開発に関わるメンバー全員で共通認識を持つ →レコメンドに対する解像度を揃える 4. 動くもので語る →動くものは正義。まずは動くものを作ろう
Slide 31
Slide 31 text
31 推進するためにやったことまとめ 1. 理想の体験を言語化する →FBをもらいながら言語化する&体験からHowを決める 2. ロードマップを作成し合意を取る →責任の所在を明確にし、PJを推進しやすくする 3. 開発に関わるメンバー全員で共通認識を持つ →レコメンドに対する解像度を揃える 4. 動くもので語る →動くものは正義。まずは動くものを作ろう 以上のようなプロセスを経ながら 推進していきました
Slide 32
Slide 32 text
03 「あなたへ」フィードについて
Slide 33
Slide 33 text
33 「あなたへ」フィードとは いわゆる”レコメンドフィード”のこと ルールベースとMLを混ぜ合わせて 1つのフィードを生成している
Slide 34
Slide 34 text
34 ルールベースの種類 大別して以下の2種類 1. 純粋な人気質問 2. 妊娠週数や月齢別の人気質問
Slide 35
Slide 35 text
35 なぜルールベース? ● コールドスタート問題やサービス理解を促すために、 人気かつサービスを代表するようなアイテムをレコメンド することは重要(特にインストール初期) ● 妊娠週数や月齢といった変数は、サービスの特性上影響が 大きく、関心が高い&レコメンドされるアイテムの納得度 も高い ○ 少し未来の出来事も意図的にフィードに混ぜることで 育児に対する漫然とした不安の払拭も狙っている
Slide 36
Slide 36 text
36 MLのロジック 大別して以下の3種類 1. パーソナライズレコメンド 2. 興味トピックレコメンド 3. 直近閲覧したアイテムと関連するアイテムレコメンド
Slide 37
Slide 37 text
37 MLのロジック 大別して以下の3種類 1. パーソナライズレコメンド 2. 興味トピックレコメンド 3. 直近閲覧したアイテムと関連するアイテムレコメンド 1つずつ見ていく
Slide 38
Slide 38 text
38 MLのロジック 大別して以下の3種類 1. パーソナライズレコメンド 2. 興味トピックレコメンド 3. 直近閲覧したアイテムと関連するアイテムレコメンド
Slide 39
Slide 39 text
39 パーソナライズレコメンドのロジック 「ユーザーのメタデータ」+「行動ログから計算した情報」 を特徴量としたNNモデルでレコメンドしている (※前後でフィルタやリランキングなど、いくつか処理を挟んでいます)
Slide 40
Slide 40 text
40 MLのロジック 大別して以下の3種類 1. パーソナライズレコメンド 2. 興味トピックレコメンド 3. 直近閲覧したアイテムと関連するアイテムレコメンド
Slide 41
Slide 41 text
41 興味トピックレコメンド オンボーディングなどでユーザーが明示的に選択したトピック に関連するアイテムをレコメンドしている
Slide 42
Slide 42 text
42 興味トピックレコメンドのロジック ● アイテムに紐づく「タグ(≒トピック)」をnode2vecで ベクトル化 ● タグごとのベクトルデータを用いて「アイテム」のベクト ルも算出することで、タグと関連性の高いアイテムを計算 している
Slide 43
Slide 43 text
43 興味トピックレコメンドのロジック 離乳食 じゃがいも タンパク 参考論文:node2vec: Scalable Feature Learning for Networks ① ② ③ アイテム(ここでは質問データ) アイテムについているタグ 無向グラフを生成 教師なし学習でノード(タグ)のベクトルを計算
Slide 44
Slide 44 text
44 興味トピックレコメンドのロジック詳細 詳細は以下のスライドに記載しています https://speakerdeck.com/takapy/nlpwohuo-yong-sitaonbodeingugai-shan-tokorudosutatowen-ti-henodui-ce
Slide 45
Slide 45 text
45 MLのロジック 大別して以下の3種類 1. パーソナライズレコメンド 2. 興味トピックレコメンド 3. 直近閲覧したアイテムと関連するアイテムレコメンド
Slide 46
Slide 46 text
46 関連アイテムレコメンド ● アプリを触っている間にユーザーの興味関心は変化する ○ 「行動するにつれて自分にあった情報が提供される」 という体験を実現するために実装したロジック ● アプリ上で回遊を促すためにも重要となる
Slide 47
Slide 47 text
47 関連アイテムレコメンドのロジック ざっくりとした流れ 1. 事前に各アイテムと関連度の高いアイテムをDynamoDB に格納(アイテムEmbeddingのコサイン類似度) 2. アプリ(Native)から、直近ユーザーが興味を持った アイテムIDをリクエストパラメータで送ってもらう 3. 興味を持ったアイテムIDと関連度の高いアイテムを レコメンドフィードに混ぜる
Slide 48
Slide 48 text
48 関連アイテムレコメンドのロジック
Slide 49
Slide 49 text
49 レコメンドフィードの全体像
Slide 50
Slide 50 text
04 まとめ・今後の展望
Slide 51
Slide 51 text
51 まとめ ● まずはユーザー体験を言語化し、そこから逆算して How(アルゴリズム etc)を考える ● 動くもので語ろう ○ 特にレコメンドは言葉だけではイメージがし難い
Slide 52
Slide 52 text
52 今後の展望 ● 質問と回答者のマッチング ○ ママリのコア体験をさらによくする ● アイテムの見せ方の改善 ○ 他のSNS(X, Instagram etc)では、clickやimpression にインセンティブがあるので、見られるように工夫して 投稿するが、ママリはそうではないので、プラット フォーム側でコンテンツの見せ方を工夫する必要がある ● LLMを活用したソリューション開発 ○ コミュニティ × LLMは結構面白いと思っている
Slide 53
Slide 53 text
最後に
Slide 54
Slide 54 text
54 We’re Hiring! 弊社では各種エンジニアを絶賛募集中です! ● ライフイベントの課題解決をするサービスに 興味がある方 ● MLプロダクト開発に興味のある方 機械学習への取り組み事例や、今後の展望などをまとめた資料も あるので、興味ある方はこちらもご覧いただけると嬉しいです! コネヒト 機械学習 詳しくは で検索! 採用関連 https://connehito.com/recruit/
Slide 55
Slide 55 text
55 ご清聴ありがとうございました!
Slide 56
Slide 56 text
56