見出し画像

ML/DS Sectionと未来のコミュニティ

こんにちは、DevHRのあらです。
今回は、データチームインタビューの第三弾としてデータチームを構成するML/DS Sectionについて、セクションを統括するMLエンジニアの柏木さんとデータサイエンティストの堀部さんにインタビューをしました!

※2025年1月、組織改変によりML/DS UnitはML/DS Sectionに変更となりました。
※このインタビューは2024年12月に実施しました。

データチームに関するインタビュー記事はこちら

データサイエンティスト 堀部さんの入社エントリーはこちら


【1】ML/DS Sectionのミッションと強み

まずは、お二人が所属するML/DS Sectionについてどんなセクションなのか教えてください。

柏木:はじめに、セクションを構成するメンバーのお話からさせていただきます。
このセクションは機械学習エンジニア二名とデータサイエンティスト一名の合わせて三名のメンバーで構成されています。 各メンバーは前職でも、レコメンドシステムのモデル開発やアルゴリズム改善を担当していた経験を豊富に持っています。
そのほかにも、検索システムの改善に取り組んでいたり、機械学習を活用してプロダクトや業務を改善してきた経験もあります。それから、自然言語処理にも詳しいメンバーが集まっているのが特徴です。

ありがとうございます。
今回はデータサイエンティストとして活躍されている堀部さんがいらっしゃるので、堀部さんにはデータサイエンティストの役割やミッションをお伺いしたいです。

堀部:コミューンのプロダクトはまだまだ成長段階にあります。ですので、データサイエンティストとして、”プロダクトをより強化するためのデータ活用”という部分に特化して、ビジネスにおける成果をデータを使って出せるようにプロダクトへ貢献していくということが役割だと考えています。

Communeというプロダクトにおいては、会社が掲げている”AI powered Community Platform”というAIをプロダクトの中心に置くことを目指して、日々業務に取り組んでいます。

AIを活用したプロダクト開発、まさにこのセクションが中心になりそうですね。機械学習エンジニアはいかがでしょうか?

柏木:データサイエンティストと同様、会社として掲げている”AI powered Community Platform”の実現のためのメインドライバーとして、エンドユーザーやコミュニティ管理者に私たちのプロダクトを利用してもらい、より上質なコミュニティ体験をAIを活用し、プロダクトとして提供していくことが機械学習エンジニアのメインミッションのひとつです。

”AI powered Community Platform”の実現のためには、安定的に稼働する機械学習サービスを開発し、継続的にプロダクトをアップデートすることが可能な拡張性のあるシステムを作る必要があると考えています

ML/DS Sectionの強みはどのようなところにあると思いますか?

堀部:先ほど柏木さんがおっしゃったように経験豊富なメンバーが多いので、セクション内でサポートし合える環境が整っていることが強みだと思っています。
業務において例えば、私が対応できないことがあったとしても、メンバーの誰かしらが即座にサポートしてくれます。
さらに、メンバー全員が新しい技術に関する情報のキャッチアップが早いというのも強みの一つですね。セクションの朝会や定期的に開催している社内勉強会で情報共有を実施しているので、学習意欲の高さはこのセクションだけではなく、データチーム全体の強みでもあると思います。

柏木:堀部さんがおっしゃったように、新しい情報のインプットが早く、共有する場をセクションでいくつも用意しているので、たとえ自分が情報を取りに行くことができなくても、誰かがキャッチアップし、共有してくれる環境がありますね。
セクションとしては三人という少数なので、情報の流れがセクション内で出来あがっているのは、強みと感じています。また、新しい技術についてもまずは、手元の環境から積極的に試してみて、実際に良いと感じれば、試験的に導入していくような動きもできています。

【2】プロダクト開発におけるやりがい

機械学習の力で最適な体験を作り上げる

次に、それぞれ職種別でCommuneというプロダクト開発におけるやりがい・面白いと思う瞬間について教えてください。

柏木:では、MLエンジニアから。
AI powered Community Platformの実現をプロダクトゴールとして掲げているのですが、その実現には足りない機能が多くあります。
現在は、生成AIを使った新しい機能やパーソナライズレコメンドといったレコメンド系の機能をPoCとして仮説検証してから、価値を生み出すことができそうな機能を実際のプロダクトへ導入することを進めています。
具体的には、コミュニティ管理者が効率よくコミュニティ運営を行えるようにヘルプやナレッジといった部分をサポートする機能だったり、エンドユーザーがコミュニティを訪問した時、楽しいと感じられる体験を生みだすためにエンゲージメントを促進するような”コンテンツレコメンド機能”の開発・導入に取り組んでいるところです。

そういった業務を進めるなかでMLエンジニアとして面白いと感じるところは、「機械学習の力でコミュニティごとの最適な体験を作り上げていくこと」です。 Communeは本当にさまざまなクライアント様に活用いただいています。企業規模や業界、それぞれのコミュニティに集まるエンドユーザーの属性も異なります。そのためコミュニティ内で実際に投稿される内容やCommuneに備わっている機能の使われ方もコミュニティによって異なります。
マルチテナントプロダクトという部分で機械学習の力を使い、それぞれのコミュニティにどう最適化して、体験を届けるか。システムをどのように運用して、スケールさせていくか を考えていくところがとても面白いと感じています

一方で、大変だと思う部分はありますか?

柏木:お話ししたように、コミュニティ規模も全く違うので、それこそコミュニティによっては、SNSのような日常的な投稿が多いところもあれば、学習要素が高く、知識を共有するような投稿が多いところもあり、コミュニティの使われ方もそれぞれ異なります。
コミュニティの特色が異なるなかで、適した機械学習モデルを考えることは非常に難しいものです。 また、マルチテナントで機械学習を活用する事例は世の中にあまり多くありません。そのなかで”どのようにして最適化していくか、そこにかけるリソース配分やシステム構成をどうするか”を考えながら運用することは難しくも面白い経験ができていると思っています。

ありがとうございます。では堀部さんからデータサイエンティストの視点で面白さ・やりがいについて教えていただけますか?

堀部:私は、「コミューンという会社がスタートアップ企業であり、プロダクトもまだまだ成長段階」というところに面白さがあると感じています。

前職では、すでにある機能の改善が中心でしたが、コミューンではゼロベースからレコメンドシステムの開発に携われて、0→1のものづくりを経験することができます。 ”こんな機能があれば、どんな人に、いつ、どうやって利用してもらうか”を考えるプロダクトマネジメントに近い領域も求められるので、そこは面白さであり難しいと感じる部分ですね

データと向き合うだけでなくビジネス的な思考も必要になりそうですね。

堀部:そうですね。社内には、コミュニティマネージャーというコミュニティ運営のサポートを担っている職種のメンバーもいるので、よりクライアント様に近いところで業務をしているコミュニティマネージャーやカスタマーサクセス(以下、CS)のメンバーにヒアリングをかけながら、仮説を立てることも多くあります。

さまざまな連携のもと生み出される機能

他部署との連携の話が出ましたが、セクション内ではどのように連携しながらプロジェクトを進めているのでしょうか?

柏木:ここは私から説明させていただきますね。
プロジェクトによる部分もありますが、堀部さんたちデータサイエンティストがプロダクトマネージャー(以下、PdM)と、「エンドユーザーに対してどんな体験をさせたいか、どんなレコメンド機能にするか」などの要件を決めていきます。
要件が定まったら、データサイエンティストがプロトタイプモデルを作り、PdMやCSメンバーに定性的な観点で確認してもらいながら、内容を詰めていきます。 ある程度モデルのロジックもできてくると、そこから先のプロダクトに実装するところはMLエンジニアが担当します。クラウドサービスにのせるためのインフラ周りの設定やAPI開発といったシステムの開発、バックエンドシステムとの繋ぎこみの部分ですね。
データサイエンティストにはレコメンドロジックのパイプラインのコードを書いてもらったりもします。 あくまでも一例ですが、こんな感じでセクション内で連携しながら進めています。

堀部:Communeは現在、新しい機能開発が中心となっているので、開発における手前の検証の部分をMLエンジニアに担当してもらうこともあります。

柏木:開発したい機能がたくさんあり、データサイエンティスト一人でいくつも掛け持ちをすることはコンテキストの切り替えが大変なので、MLエンジニアも加わって一緒に取り組んでいくケースも多いですね。

開発プロセス

【3】Community Copilotの開発

お二人が携わった機能開発のなかで、印象的なものがありましたらそのお話をお伺いしたいです。

柏木:最近、開発したものに堀部さんと二人で分担しながら開発した「Community Copilot」があります。
この機能の開発が決まった理由は、Communeというプロダクトの使い方が分からず、サポートへの問い合わせが多く発生していたり、そもそもコミュニティの運営方法についての悩みがあるというコミュニティ管理者の方が多くいらっしゃって、セルフサーブでコミュニティ運営ができていないという課題があったからです。 そんな課題を解決するために、”RAG”を活用した生成AIシステムにより、チャットボット形式でコミュニティ管理者から寄せられる質問に対して、”Communeのヘルプページ”と”Communeが今まで蓄積してきたコミュニティ運営のナレッジ”という限られたソースに基づいた回答をできるようにした機能がCommunity Copilotです。

堀部:Community Copilotには「ヘルプ」と「ナレッジ」という二つの機能があり、それぞれを私と柏木さんで開発を進めました。
私が担当したナレッジは、コミュニティの運営方法に関するコミュニティ管理者からの質問に対して回答を行います。 コミュニティ運営におけるおすすめの施策やユーザーに関する悩みといった、コミュニティ管理者のよくある悩みに対して過去の知見をもとに回答してくれるものです。
一方で、ヘルプ機能は柏木さんが担当してくださいました。こちらはCommuneというプロダクトそのものの使い方をチャットで聞くことができる機能です。プロダクトの細かい機能の仕様や使い方などをAIが回答してくれます。

柏木:Copilot自体は一つですが、そのなかにヘルプとナレッジという二つの情報を持っていて、それぞれでデータセットも異なります。この二つの機能を一人で担当して開発をしていくことは、当時リソースが足りなかったこともあり、堀部さんと分担して開発を進めました。

お二人が協働で開発を進めた機能ですね!
Community Copilotの開発を進めるなかで大変だったことはありましたか?

柏木:セキュリティ面でのデータ利用や置き場所を考慮する必要があったため、利用するツール・サービスの制限、関係者とのオペレーション周りの認識合わせや取り決めが大変でした。

具体的な一例を紹介すると、Community Copilotでは質問クエリに対してベクトル検索を利用しているのですが、マネージドサービスではコスト感などと見合ったサービスが日本国内にリージョン提供をしている所がありませんでした。そのため、機械学習用のAPIとして利用しているCloud Run内で完結するように、類似度検索ができるライブラリを使うことでやりたいことを実現しました。これによりセキュリティ面でデータを国外に置かなくて良いという懸念は解消されました。また、RAGのためのデータ更新においてもサポートチームや法務チームと連携しながら、半自動化したデータ更新の仕組みを用意することでよりスピーディかつ安全にデータをアップデートできるように進めていきました。

堀部:”ナレッジ”に関しては、どのようにして”回答のもと”となる知見を集めるか というところが一番悩みました。結果としては、コミュニティサクセスを支援している部門のナレッジ共有定例の議事録を匿名化して汎用的な知見に変更して取り入れたり、クライアント様とコミューン社員とのコミュニティ上で公開されている記事からQ&A形式のデータセットを作成しました。

Community Copilotに対して、お二人が期待していること、そしてこれから取り組みたいことはありますか?

堀部:開発当初からHuman-in-the-Loopでだんだん精度改善を行っていく想定だったので、Community Copilotを使ってくださったユーザーの履歴やフィードバックをもとに、ユーザーに”改善していること”を実感してもらえる良いループを回していきたいです。また、ナレッジは回答のもとになっている知見がまだまだ少ないので、社内外に蓄積されているであろうコミュニティ運営に関する知見を自動収集することができる幅を広げていきたいと思っています。

柏木:現在はヘルプやナレッジの提供に留まっていますが、将来的にはCommunity Copilotが起点になり管理者体験のエージェント的な役割で管理者をフルサポートできるような機能になれば素晴らしいと感じています。LLMを活用したサービスでは、評価の仕組みを整える重要性が説かれていますが、今の僕たちはまだまだ自動化も含めて改善できる部分があるので、徐々に整えて行きたいと考えています。

【4】未来のML/DS Section

AI powered Community Platformを牽引するセクションとして

では、最後にこの先どんなセクションにしていきたいかを教えてください。

柏木:私たちML/DS Sectionは、AI powered Community Platformにおけるキープレイヤーだと思っているので、そこを理解したうえでCommuneにはどんな機能が必要で、どういうユーザー体験を生み出していくのか、PdMが考えていくところも積極的にAIに関する知見を活かしながら、一緒に取り組んでいくことができるメンバーが在籍するセクションにしていきたいです。 加えて、AIや機械学習というものはUI/UXの観点もとても大切で、デザインの見せ方ひとつでクリック率なども変わってきます。そういったところはデザイナーとの連携を強化しながら、よりプロダクトの品質をあげていきたいと思っています。

堀部:柏木さんもおっしゃったように、私たちはこの先のプロダクトのコアとなるものを作っていくことになると思うので、セクション内でもナレッジを共有しながら事業の成功にコミットしていけるようにできたらいいなと思っています。 また、現状のCommuneは全体的かつ、全てのコミュニティの体験を改善しているところですが、この先は、例えば業種別のような個別最適化を進めていけるような動きができるセクションにしていきたいです。 toBやtoCでも使い方は全く違うので、データをしっかり分析しながらさまざまなケースを想定したレコメンドシステムの提供を実現していきたいです

誰もがコミュニティ運営をできる未来を目指して

ありがとうございます。最後に、今後のCommuneにこんな機能を持たせたいや、こんなプロダクトにしていきたいといった理想はありますか?

堀部:私の理想は”ユーザー体験に融け込むパーソナライズ”が実現できるといいなと思っています。
一般的なSNSと比較すると、近い思想を持つユーザーの方々が集まっているのがCommuneを活用したコミュニティですが、そのなかでも多様な趣味嗜好が混ざり合っていると思います。 例えば、マイノリティな趣味嗜好のユーザーがコミュニティ内にいても、そのコミュニティの居心地が良いように個別で体験が最適化されるようにしていきたいです。 UI/UXの領域でそのような部分を頑張るだけではなく、機械学習のアルゴリズムによってホーム画面に表示されるフィードを動的に変えたりすることで「自分にあった投稿が出てくる」と自然と感じてもらえるようなコミュニティを実現していきたいです。

柏木:私はコミュニティ運営側に向けて機械学習を使った新しいアプローチをしていきたいです。これまでエンドユーザー向けの機能はいくつかありましたが、コミュニティを運営する側に向けた事例はまだまだ少ない状態です。 コミュニティを立ち上げたはいいけど、運営として何をすればよいか分からないといった方もいらっしゃると思います。そこでAIエージェントがコミュニティ内のログなどから情報を集約してきて、コミュニティの状態に合わせて、次の施策を提案してくれたり。コミュニティサクセスプラットフォームなので、エンドユーザーだけでなく運営側も機械学習の力で効率的な運営ができて、コミュニティを成功させることができる、そんなプロダクトにできたらと考えています。

堀部さんのエンドユーザー向けと柏木さんのコミュニティ運営者向けの機能が合わされば、どんな企業でも一定の基準でコミュニティ運営ができそうですね!

柏木:そこからどうやってスケールさせていくかは、企業ごとによって異なると思いますが、コミュニティの立ち上げという点においては、データやAIの力で簡単にスタートさせることができる未来が近いうちに来ると感じています。

未来のコミュニティに向けてワクワクするお話が聞けました。ありがとうございました!


ML/DS Sectionでは定期的に勉強会を実施しており、勉強会の内容の一部を公開しています。興味がある方はぜひご覧ください。

コミューンでは一緒に働く仲間を募集中です。少しでも興味のある方はカジュアル面談フォームよりお気軽にご連絡ください。