見出し画像

非エンジニアの僕がChatGPTを使って、恋愛マッチングアルゴリズムを3ヶ月で開発した話

こんにちは。「令和イチの婚活サービスを作る」をモットーに、パーソナライズ婚活サービス「ヒトオシ」のプロダクトマネージャーを務める、清水晋太朗です。

前回は、「婚活系スタートアップでPMF達成した1年を振り返る」というタイトルで、PMF後PMとして何をしたかを、「プロダクト面×CS面」双方の観点から記載させていただいたのですが、

今回は、その中でも少し取り上げさせていただきました、「AIマッチング検索」に関して詳しくお伝えできればと思い、執筆したいと思います。

また、最後にヒトオシでの生成AIの活用事例を10個(個人的に好んで利用しているもの含む)ご紹介させてください。


パーソナライズ婚活サービス「ヒトオシ」

AIの話に繋げるために、まずヒトオシのサービスについてご説明させてください。

ヒトオシとは、専属のマッチングプランナーが会員一人ひとりにつき、面談や日々のコミュニケーションを通して、パートナーとして合いそうな方を月2名紹介しながら、婚活に伴走するパーソナライズ婚活サービスです。

活動の流れ
面談→プランナーによる紹介→オンラインデート

約10年前に現在主流になっているマッチングアプリが登場し、「出会いがない」という課題は解決されつつあります。一方で、「“良い人”と出会えない」という声を多く聞くのも事実です。

その課題に対してヒトオシでは、専属のマッチングプランナーが第三者的目線から見て合いそうという思う方をご紹介することで、納得感のある出会いを提供しています。

実際の成功例を簡単にご紹介させてください。
とある女性会員がマッチングアプリで婚活していた際、「身長170cm以上、年収700万円以上、大卒以上」といった条件で相手を探していました。しかし、マッチングアプリでは、理想的なパートナーとは出会えていませんでした。

そんな時に、ヒトオシに入会しマッチングプランナーとの面談をすると、彼女にとって本当に重要なのは、お相手の性格や結婚・子育てに対しての価値観が近しいことであることがわかりました。マッチングアプリでは、漠然とした”いわゆるハイスペ”を探していたのですが、本当に重要だったのは"スペック"ではなかったという例です。

彼女は結果、マッチングアプリの当初の条件には当てはまらない人身長167cmの男性と、性格や価値観が合う人といった理由で結婚に至ることができました。

この事例から分かるように、第三者であるマッチングプランナーがいることで、会員が本当に重視すべき要素(性格、容姿、身長、年収など)を見極め、ご紹介することが可能となっています。会員は従来のマッチングアプリでは出会えなかったものの、本当は"理想的"な相手との出会いが実現した事例です。

AIマッチング検索の導入背景

そんなヒトオシでは実際に、マッチングプランナーがどのように“相性の良い”相手を見つけ出しているのか、そのシステム面について解説します。

まず、ヒトオシは会員データベースに基づく「条件検索」を基本としています。その後、会員情報や面談の内容、顔合わせの動画を参考にし、最終的には「将来パートナーとなる姿を想像できるか」「2人が手を繋いで歩いている姿を想像できるか」といった、「ヒトの勘」で判断しています。

(他にも、マッチングプランナー感での情報交換などでもマッチングが生まれておりますが、基本的には条件検索となっております。)

しかし、この条件検索のみのアプローチには限界がありました。会員数が増加すると、同じ条件で多くの会員がヒットし、適切なマッチングを見つけることが難しくなっていました。この課題を解決するために、AIを最適な出会いを提供するための"補助"として利用できないかという案があがり、開発に着手することとなりました。

サービスを開始し、3年間でマッチングの数が数万を超えており、AIを導入するのに十分なデータは揃っていました。

AIの専門家にコンサルを依頼

先ほど、AIマッチング検索の開発に着手したと述べましたが、実のところ、僕はコードを1行もかけない非エンジニアです。ヒトオシのPMとして、これまでSalesforceのデータベース設計やLINEを用いたMA/CRMの活用など、「ノーコード」の領域には携わってきましたが、プログラミングコードを書くことはありませんでした。

そのため、AIの開発には大手IT企業で働くデータサイエンティストに依頼して、コンサルとして入っていただくこととなりました。しかし、直接コードを書いて実装してもらうのではなく、週に1回のMTGを通してAIやPythonの活用の仕方を教えてもらいながらという形式をとったため、僕がイチからPythonを学ぶ必要がありました。

しかし、そんな非エンジニアの僕が、わずか3ヶ月でAIを開発し爆速導入できた理由は、【ChatGPT】の存在にあります。ChatGPTの登場により、コードを書くことができない非エンジニア(僕やインターンを含む)でも、Pythonコードが書けるようになったのです。「生成AIを活用しながら、AIを作る」ということに取り組むことができました。

実際にChatGPTでコードを生成する例

まずはアルゴリズムに使えるデータを調査するために分析を開始

まずはいきなりAIを生成する前に、アルゴリズムにおける説明変数として利用できるデータには何があるのか、ある項目でマッチング結果を見た時に、統計的にはどのような傾向が見られるのかを知るために分析をするところから開始しました。

まず最初に、男女が顔合わせ後にマッチング成立(連絡先交換が成立)するかどうかを、年齢、年収、学歴などの基本的なスペックや、結婚時期や子どもに関する希望などの条件を定量的に分析していきました。

ヒトオシの今までに存在している膨大なデータを処理するために、この分析の段階からPythonを用いることとなりました。Pythonを用いて、グラフやヒートマップを作成し、可視化していきましたが、ChatGPTを活用しながらコードを生成していきました。

また、ヒトオシの特徴の一つとして、マッチングプランナーが厳選した相手を紹介している点があります。従って、単に連絡先交換との相関だけを見ても、重要な情報が見落とされる可能性がありました。そこで、実際には顔合わせをしていないが、同じ期間にヒトオシを利用していた男女のペアをランダムに生成し、顔合わせの実施の有無との相関を調べました。

この分析により、実際に紹介されるか否かと、連絡先交換に至るか否かで、異なる傾向がある項目も存在することがわかりました。結果として、さまざまな項目を分析することで、婚活サービスにおける顧客解像度を高めることもできました。

OpenAIのAPIを使い文字データをベクトル化し、類似度を計算

ヒトオシの会員データは先ほど説明させていただいた年齢などのスペックや結婚時期の希望といった構造化されたデータだけではなく、人それぞれの価値観である、趣味や休日の過ごし方、理想の夫婦像、など様々な非構造化データ(入力形式のない文字情報)がたくさんあります。

それらをマッチングプランナーは個々の会員ページから読み込みながら紹介を探しています。そのため、それらの文字データを無視するわけにはいきません。

そこでOpenAI社のAPIを利用して、それらの自然言語をベクトルとして計算が可能な形に変換することで、それらの文字データの類似度を計算することにしました。

実際の例を挙げると、「理想の夫婦像」という項目で、「喧嘩しても話し合いのできる夫婦」と「話し合いで問題を解決出来る夫婦」という文字の類似度を計算すると、「0.96」(※類似度は0〜1の間で表示され、1の場合完全一致)と表示されます。

このように、今まで人間の目で見て、これは同じようなことを指しているため、価値観が近しいと判断していた情報を定量化することが可能になり、AIに学習させることができました。

居住地の緯度経度の情報から距離を計算

また、色々分析をしながらどのような項目をAIに学習させるべきかをプロダクトチームで検討してきましたが、実際に利用するマッチングプランナーが使えないものでは意味がありません。そのため、マッチングプランナーへのヒアリングも実施しました。

すると、お相手を紹介する際に、二人の住まいの距離を考慮していることがわかりました。今住んでいる距離が近ければ、次のデートの約束がしやすくなるし、交際が始まってからも会いやすいからといった理由です。

この情報をアルゴリズムの説明変数として加えるために、住所という文字データから緯度と経度を計算するPythonライブラリを調査し、実装しました。
(こちらの調査、実装は大学3年生のインターン生が1から実行してくれました)

ヒトオシでは、会員の居住地は市区町村レベル(例:東京都世田谷区)までしか取得していませんが、この情報から緯度経度を割り出して、実際に分析すると、マッチングプランナーのいう通り、距離が近しい人の方が紹介している率が高いことがわかりました。

LightGBMを用いてアルゴリズムを作成

これまでの取り組みは、AIがどのような説明変数を学習するかを決定するための準備段階でした。マッチングプランナーのヒアリングやデータ分析を通じて、基本情報や顧客の考えなど、多様な変数を洗い出しました。そして、これらのデータをもとに、実際のAIのトレーニングを開始しました。

具体的には、LightGBMという高度な決定木アルゴリズムを用いました。このアルゴリズムを利用することで、まだ出会っていない男女がヒトオシで連絡先交換に至るのかを予測します。

ヒトオシのマッチングアルゴリズムの仕組み

現時点のヒトオシにおけるマッチングアルゴリズムは、
「マッチングプランナーが2人を紹介相手として選定しそうか」
「お顔合わせをした2人が連絡先交換に進みそうか」

という2種類の予測を掛け合わせた結果を表示させています。

上記の図で示した通り、ヒトオシではマッチングプランナーが紹介し、顔合わせを実施し、お互いが連絡先交換を希望して初めて、交際への一歩前のステータスとなります。

そのため、ヒトオシの価値である「マッチングプランナーの紹介」をAIを導入したとしても、今までと近しい状態にしなければいけなく、2つの予測を組み合わせることで、AIの予測も「マッチングプランナーの紹介」にできる限り近づけた状態になっています。

現在、ヒトオシではAIマッチング検索を11月からテスト運用を経て、全体の運用を実施しています。AIの作成は、8月から制作に取り掛かり3ヶ月程度で作りきるというスピード感で実行することができました。

また、マッチングプランナーからは
・今まで見落としてしまっていたけれど、合いそうな方をAIが提案してくれるため、非常に役に立っている
・今まで2〜3時間かかっていたお相手の絞り込みをAIを使うことで3秒でできるようになり、よりヒトでしかできない面談動画を見る(相手の人となるを把握する)などの時間に充てることができ、より良いお相手を紹介できるようになった
との声を多く聞き、嬉しく思っています。

今後はさらに、会員1人1人によりパーソナライズ化されたAIに進化できるよう現在アップデートを予定しています。

ヒトオシでの生成AIの活用事例10選

最後にヒトオシにおける生成AIの活用事例(個人的に好きな使い方も含む)を10個お伝えさせていただきます。

①Pythonを利用したデータ分析
マッチングアルゴリズムを作成するときにも利用した、Pythonを用いた分析ですが、アルゴリズムの作成以外にも、マーケティングデータの分析や継続率に関しての分析などにも応用しています。

②GASでの業務効率化ツールの作成

ChatGPTを活用したPythonのコード生成を応用して、GASのスクリプトも非エンジニアで作成することが可能になりました。日程調整など、ヒトオシ流のルールが複雑化していて、地味に既存のSaaSに代替しにくい業務を効率化させるために、GASを用いながら簡易的なツールを独自に開発しました。

③複雑なスプレッドシートの関数作成

COUNTIFSやSUMIFSなどを利用した複雑な関数や、FILTER・SORT関数など自分で書くには少し面倒な関数を条件を伝えることで自動的に生成しています。

④CRM(Salesforce)改善
ヒトオシでは様々な業務をSalesforce上で実行しています。日々の業務改善のためのFlowの改善案の作成や入力規則の実装方法など様々なことに活用しています。

⑤マーメイド記法による要件定義などの整理

伝えたい要件を箇条書きにもしつつ、ChatGPTにマーメイド記法で書いてもらうい、Notionにコードを貼り付けるだけで、簡単に図として可視化できます。視覚的に見ることで、自分での理解の促進や、チームメンバーに対する指示や計画の共有が容易になりました。

⑥広告デザインの作成
GPT-4のDALL-Eを利用することで生成AIによる画像の作成を実施しています。実際の広告にも活用することで、イラストの作成コストを減らしています。

⑦マーケティングコピーの作成
広告のコピーやLINEでのマーケティング施策における文章の作成などをChatGPTを利用しながら作成することで、よりCVRが高くなる文章を生成することに成功しています。

⑧解約予測モデルの作成
ヒトオシでカップルになりサービスを退会をしてもらうことが1番の喜びではありますが、カップルになるまでは継続していただきたいのも事実です。もちろんサービスを継続していただくことは事業者として非常に嬉しいことでもありますが、会員にとっても「婚活は諦めないことが大事」になるので、婚活をヒトオシでどうしたら続けてもらえるかの提案ができるような仕組みを現在作成中です。

⑨仮想会議の実行(経営会議・プロダクト会議など)※個人的に好み

リモートワーク環境では、チームメンバーを一堂に会させるのが意外と難しいものです。この点で、ChatGPTを用いた仮想会議は私の個人的なお気に入りです。経営会議やプロダクト会議をChatGPT上でシミュレートすることで、各メンバーがどのような発言をするかを予測し、実際の会議の流れを準備することができます。これにより、実際の会議を1回分減らせるくらいの効果があります。

それぞれの役割の人格があるChatGPT同士が議論を展開

さらに、各役職のメンバーに「1週間考えてから再議論する」といった指示を出すことで、GPT同士の会話の質を高めることができます。

⑩このnoteの執筆のお手伝い
この記事を書いているときもChatGPTに編集者としてお手伝いしてもらいました。私が書いた文章をより伝わりやすくするために、「私の書く文章の特徴を捉えながら」と指示をしたらとても良い編集をしてくれました!

最後に

この記事を最後までお読みいただき、ありがとうございました。

GPT-4がリリースされたその日から課金し、 AIには興味を持っていたものの、その年中に自分がAIを作れる立場になるとは想像もしていませんでした。本当にヒトオシにコンサルで入ってくださった私の"AIの師"にはとても感謝しています。

今後もAIの驚異的な進化を楽しみにしつつ、2024年は、これまで以上にテクノロジーをどのように取り入れられるかを考えながら、より進化したサービスを提供し続けられればと思います。

▼会員として活動をしてみたいなという方へ
ヒトオシの公式サイトはこちら

▼少しでも一緒に働きたい!サービスを作りたい!と、興味を持った方はこちらまでDMのご連絡ください
https://twitter.com/shintaro_smz

この記事が気に入ったらサポートをしてみませんか?