2014-05-14
■ データマイニングで理想の彼女をGetだぜ!
ある国際会議のkeynote Speechの中で紹介されていた話。非常に面白かった。
「いまどきの若い男は、なんでもコンピュータか!」とか思われるかもしれないけど、何をしたのかを読んでみると「これって、単なるナンパの方が楽だったんじゃないか?」と思わされる。
登場人物のスペック
この人の経歴がアメリカ的。
- 名前:Chris McKinlay (35歳)
- 経歴
- 2001年:Middlebury College を卒業。専攻は中国語
- 同年:世界貿易センターで中国語から英語への翻訳のアルバイト。アルバイトを辞めた5週間後に9・11。
- 〜2002年:その後、友達に誘われて、an offshoot of MIT’s famed professional blackjack team に加入し、ラスベガスとニューヨークのカジノで稼ぐ。年に6万ドル稼いだとのこと
- 2003年〜:数学に目覚め、UCLAの大学院へ。記事の当時は博士課程の学生(Ph.D candidate:博士号へ挑戦できる大学院生)
- McKinlayさんの見栄えはWiredの記事参照
何をしたか
恋人マッチングサービスOKCupidの恋人マッチングアルゴリズムがだめだと思ったので、自分でマッチングアルゴリズムを作成し、自分に合う彼女を探した。
ステップ1: OKCupidに登録されている女性のQ&Aを収集
OKCupidでは、5段階で回答する質問(例:「宗教はあなたにとってどれぐらい重要ですか?」)をたくさん用意しており、その中から利用者が好きな質問を選び、回答する(平均350問)。この回答結果を利用して、登録者に合う恋人候補を提案している。
McKinlayさんはこの質問&回答結果を収集することからスタートした。博士論文執筆の傍ら、12の偽アカウントをOKCupidに作成し、自動プログラムで25歳以上45歳以下の異性愛 or 両性愛の女性の回答を収集した。途中、OKCupidに自動プログラムであることが見破られ、アカウント停止処理をくらったので、同じくOKCupidを使っている友達の承諾の元で、彼のPCに操作記録を自動記録するプログラムを仕込み、彼の操作(どのくらいの速さでキーボードを叩くかやどのくらいの速度でマウスをクリックするか)を真似できるように自動プログラムを改良し、回答の収集を続けた。
6か月後、2万人の女性ユーザから600万の質問に対する回答を収集できた。
ステップ2: データ分析
博士論文そっちのけで、データ分析を行ったとのこと。最終的には家に帰るのを止め、研究室に泊まり込みに。K-Modeアルゴリズムを用いて、質問と回答に基づき女性を統計的に7つのクラスタ(グループ)に分類した。さらに、分類が適切かどうかを確かめるため、追加のデータを自動プログラムを用いてOKCupidから5000人分の女性のデータを追加的に収集し、同じ分類方法で同じ結果がでるかを確認した。
その後、7つのクラスタの内、どれが自分にとって好みのクラスタを考慮し、二つを選択した
- クラスタA:20代半ばでかつ、見た目がインディーの音楽家か芸術家の女性
- クラスタB:年上の女性で編集者やデザイナーなどの創造的な職業を持っている女性
ステップ3:適切なプロフィールの作成
上記の2つのクラスタの質問やプロフィールをテキストマイニングし、彼女らが興味をもつ質問を明確にした。ただし、質問を明確にしただけで、各質問への回答は正直に回答した。また、質問間の重要性(どの質問が上述の2つのクラスタに属する女性にとって重要であるか)については、ada-boostというアルゴリズムを使って順位付けした。
ステップ4: 地域による絞込み
OKCupidを使っており、かつ、ロスアンジェルスに住んでいる女性を絞り込んだ。ところが、この絞込みで1万人がヒットし、かつ、相性順でソートしたところ、1万人目の相性は90%以上だった。
ステップ5: ページへの訪問
OKCupidは昔のmixiにあった足跡機能(誰が自分のページを見たのかが通知される)があるので、上述のロスアンジェルス在住の女性のページを訪問するプログラムを書き、1日1歳ずつ、41歳のら27歳まで二週間かけて、彼女らのページを訪問した(プログラムに訪問させた)。
その結果、1日に400人ずつMcKinlayさんのページに訪問があり、彼のもとに彼女らからメッセージが届き始めた。
ステップ6:実際にデート
デートしても良いという女性と実際にデートを始めた。総計88人とデートした。途中からは、デート中にお酒を飲まない、トレイル(ハイキング?)に行かない、コンサートや映画にもいかないようにし、デートを効率化した。
88人目のデートで、28歳の Tien Wangさんに出会い、彼女と付き合うようになった(出会って2週間後に二人ともOKCupidのアカウントを削除した)。
感想
2012年6月からプログラムを動かし始め、2013年(?)6月30日にデートを開始し、そこから数か月デートし続けるという、データマイニングで対象を決めてからの負荷がすさまじい。映画化 or ドラマ化したらとても面白そうな話。
関連サイト
- Christopher McKinlayさんのサイト
- Christopher McKinlay, Optimal Cupid: Mastering the Hidden Logic of OkCupid, 2014:本人がまとめた本。Kindle版もあり。
- Chris McKinlay LIVE
- ABC News: The Genius OkCupid Hack That Led to True Love:MckinlayさんとWangさんのツーショットあり
- 25 http://feedly.com/index.html
- 14 http://reader.livedoor.com/reader/
- 8 http://t.co/pI1osW4y2g
- 6 http://b.hatena.ne.jp/
- 4 http://blog.livedoor.jp/route408-sba/
- 3 http://b.hatena.ne.jp/entrylist/it
- 3 https://www.google.co.jp/
- 2 http://dlvr.it/5g5CpN
- 2 http://feedly.com/
- 2 http://pipes.yahoo.com/pipes/pipe.info?_id=e4c70514b5136c08ae93591f390be2e2