👩‍❤️‍👨

「ニッチ選好」による恋愛のすすめ

に公開

前提

マッチングアプリ大手のTinderではチェスなどの対戦型の競技での強さを示す指標でもある「Eloレーティング」がかつてはマッチングアルゴリズムとして用いられていました。これはユーザーを暗黙的に「魅力度スコア」でランク付けし、スコアが近い者同士を結びつけようとする仕組みです。

この設計思想が前提とするのは、「恋愛では"相性"よりも"階層"(魅力度の序列)がマッチングを左右する」というある種の残酷なメカニズムの存在です。

問題点

階層化された恋愛は絶え間ない上昇志向を植え付けます。自分より上位層のパートナーを獲得する可能性が常に開かれているため、既存のカップル関係は「より魅力的な代替候補の出現」という不安定要素に晒され続けます。これはゲーム理論でいう「支配戦略」が働き、真の意味で相互コミットメントが成立しにくい構造的欠陥を内在しています。

提案

そこで「階層が形成されその隙間で相性を探す」という二層構造を前提に新たな仕組みを考えてみました。

ニッチ選好

多くの人が重視する一般的な魅力(例えば年収、身長など)だけではなく、「他の人はあまり気にしないけれど自分にとっては非常に重要」と感じるような、市場平均からズレた個人的な好みに注目します。ここではこれを「ニッチ選好」と呼びます。

この考え方は、「誰もが良いと思う人」を探すのではなく、「自分にとって他の誰よりも魅力的に映る人」そして「相手にとっても自分が他の誰よりも魅力的に映る」ような相互にユニークな価値を認め合える関係性を見つけることを目指します。

基本原理

ここではコアとなる「相互ニッチ適合スコア (Mutual Niche Suitability, MNS)」の定式化だけ記しておきます。

1. 選好重みの推定

各ユーザー i がどのような属性 d を重視するかを示す選好重みベクトルw_i(要素w_{id})を、ユーザーの行動ログ(プロファイル閲覧、いいね、メッセージ交換履歴など)に基づいて推定します。これは事前アンケートなどによる明示的なフィードバックによるやり方もあり得るかもしれません。

2. 市場平均の算出

プラットフォームに参加しているユーザー全体の平均的な選好重みベクトル\mu(要素\mu_d)を算出します。これは、市場全体の一般的な好みの傾向を示します。

3. ニッチ選好度の定義

個々のユーザーの選好 (w_{id}) が市場平均 (\mu_d)とどれだけ異なるかを示す指標として、「ニッチ選好度(Niche Preference Score, NPS)」 NPS_{id} = w_{id} /\mu_dを定義します。NPS_{id} > 1 であれば、ユーザー i は属性 dを市場の平均的なユーザーよりも相対的に強く重視しているつまりニッチな選好を持つことを意味します。

4. 相互ニッチ適合スコア(MNS)の算出

ユーザー i と潜在的な推薦候補 j との間の適合度を示す「相互ニッチ適合スコア (Mutual Niche Suitability, MNS)」を計算します。これが二者間の推薦スコアとして機能します。

MNS(i,j) = \sum_{d} \left( NPS_{id}^+ \cdot r_{jd}^{\text{norm}} + NPS_{jd}^+ \cdot r_{id}^{\text{norm}} \right)

ここで、NPS^+ = \max(NPS - 1, 0) は市場平均を超える個性的な選好の度合いを示し、r_{id}^{\text{norm}} はユーザー i の属性 d のレベル(正規化済み)を表します。MNSスコアは、ユーザー i がニッチな選好を持つ属性(市場平均より強く好む属性)をユーザーj が高いレベルで保有し、かつその逆の関係(ユーザー j がニッチな選好を持つ属性をユーザーiが高いレベルで保有)も同時に満たされる度合いを定量化します。言い換えれば、互いのユニークな好みや特性(=市場平均からズレたニッチな選好が向けられる属性)を相互に高く評価し合うペアほど高いスコアとなります。

個人として

またこれは個人として考えた時に「自分は誰と釣り合うのか?」という問いから「誰となら互いの価値を最大限に引き出し合えるのか?」という問いへとシフトさせます。

この発想はアルゴリズムに限らず現代における市場化した恋愛に消耗する人々へのひとつの処方箋になりうるのではないでしょうか?

Discussion