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