Inside OKCupid: The math of online dating - Christian Rudder

出会いサイトのしくみ / クリスチャン・ラダー

1,237,397 views

2013-02-13 ・ TED-Ed


New videos

Inside OKCupid: The math of online dating - Christian Rudder

出会いサイトのしくみ / クリスチャン・ラダー

1,237,397 views ・ 2013-02-13

TED-Ed


下の英語字幕をダブルクリックすると動画を再生できます。

00:00
Translator: Andrea McDonough Reviewer: Bedirhan Cinar
0
0
7000
翻訳: Yasushi Aoki 校正: Masako Kigami
00:17
Hello, my name is Christian Rudder,
1
17903
1714
こんにちは クリスチャン・ラダーです
00:19
and I was one of the founders of OkCupid.
2
19641
2209
私たちが始めた OkCupidは
00:21
It's now one of the biggest dating sites in the United States.
3
21874
2918
現在アメリカで 最大手の出会いサイトです
00:24
Like most everyone at the site, I was a math major,
4
24816
2391
他のスタッフの 多くと同様
私も数学専攻で
00:27
As you may expect, we're known for the analytic approach we take to love.
5
27231
3440
私たちは恋愛への
分析的アプローチで 知られています
私たちは マッチング・アルゴリズムと 呼んでいますが
00:30
We call it our matching algorithm.
6
30695
1638
00:32
Basically, OkCupid's matching algorithm helps us decide
7
32357
2588
これは 2人の人が
デートすべきかの判断を 助けるものです
00:34
whether two people should go on a date.
8
34969
1876
00:36
We built our entire business around it.
9
36869
1872
これが私たちの事業の 中心にあるものです
00:38
Now, algorithm is a fancy word,
10
38765
1960
アルゴリズムというと 何かかっこよくて
00:40
and people like to drop it like it's this big thing.
11
40749
2485
みんな何かすごいもののように 口にしますが
00:43
But really, an algorithm is just a systematic,
12
43258
2288
実際のところは
段階を追って問題を 機械で解く手順ということで
00:45
step-by-step way to solve a problem.
13
45570
2223
00:47
It doesn't have to be fancy at all.
14
47817
2177
別にすごいものとは 限りません
このビデオでは
00:50
Here in this lesson,
15
50018
1151
00:51
I'm going to explain how we arrived at our particular algorithm,
16
51193
3008
私たちのアルゴリズムが
どのようにできているのかを 説明します
00:54
so you can see how it's done.
17
54225
1411
00:55
Now, why are algorithms even important?
18
55660
1934
アルゴリズムは なぜ重要なのか?
00:57
Why does this lesson even exist?
19
57618
1580
そもそもこのビデオは なぜ存在するのか?
00:59
Well, notice one very significant phrase I used above:
20
59222
3420
注意して欲しいのは 私が
「段階を追って解く」 と言ったことです
01:02
they are a step-by-step way to solve a problem,
21
62666
2339
01:05
and as you probably know, computers excel at step-by-step processes.
22
65029
3418
コンピュータが 段階を追った処理に向いているのは
知っていると思います
01:08
A computer without an algorithm
23
68471
1589
アルゴリズムがなければ
コンピュータは高価な 漬け物石に過ぎません
01:10
is basically an expensive paperweight.
24
70084
2724
01:12
And since computers are such a pervasive part of everyday life,
25
72832
2989
コンピュータは 身の回りの至る所にあり
01:15
algorithms are everywhere.
26
75845
1547
それはすなわちアルゴリズムが どこにでもあるということです
01:18
The math behind OkCupid's matching algorithm is surprisingly simple.
27
78590
3197
OKCupidの 背後にある数学は
ごく簡単なものです
01:21
It's just some addition, multiplication, a little bit of square roots.
28
81811
4002
足し算
掛け算
それにルートを 少し使うくらいです
01:25
The tricky part in designing it
29
85837
1690
このアルゴリズムの設計で 難しいのは
01:27
was figuring out how to take something mysterious,
30
87551
2565
人が惹かれ合うという
不可解な現象を
01:30
human attraction,
31
90140
1150
01:31
and break it into components that a computer can work with.
32
91314
2784
要素に分解し 機械で 扱えるようにすることです
人のマッチングをする上で まず必要なのは
01:34
The first thing we needed to match people up was data,
33
94122
2553
01:36
something for the algorithm to work with.
34
96699
1992
アルゴリズムが使うための データです
01:38
The best way to get data quickly from people is to just ask for it.
35
98715
3158
人からデータを手早く得る 最良の方法は
単に聞いてみることです
01:41
So we decided that OkCupid should ask users questions,
36
101897
2727
それで OkCupidでは ユーザーに質問することにしました
01:44
stuff like, "Do you want to have kids one day?"
37
104648
2357
「いつか子供が欲しいですか?」
「歯磨きを日に何度しますか?」
01:47
"How often do you brush your teeth?"
38
107029
1758
01:48
"Do you like scary movies?"
39
108811
1392
「怖い映画は好きですか?」
01:50
And big stuff like, "Do you believe in God?"
40
110675
2077
それに「神を信じますか」のような 大きな質問もあります
01:53
Now, a lot of the questions are good for matching like with like,
41
113843
3064
多くの質問は
2人が同じような 答えをする時
01:56
that is, when both people answer the same way.
42
116931
2156
相性が良いと 考えられます
01:59
For example, two people who are both into scary movies
43
119111
2548
例えば 2人がどちらも 怖い映画が好きな場合
02:01
are probably a better match than one person who is and one who isn't.
44
121683
3321
1人は好きで もう1人は嫌い
という場合よりも
おそらく相性が 良いでしょう
02:05
But what about a question like,
45
125028
1493
しかし もし質問が
02:06
"Do you like to be the center of attention?"
46
126545
2062
「場の中心になるのが好きですか?」 ならどうでしょう?
02:08
If both people in a relationship are saying yes to this,
47
128631
2628
付き合っている2人が どちらも中心にいたいタイプだと
大きな問題がありそうです
02:11
they're going to have massive problems.
48
131283
2093
02:13
We realized this early on,
49
133400
1245
それで私たちは
02:14
and so we decided we needed a bit more data from each question.
50
134669
3269
それぞれの質問に対して
もう少しデータを 取ることにしました
02:17
We had to ask people to specify not only their own answer,
51
137962
2763
自分自身についての 答えだけでなく
02:20
but the answer they wanted from someone else.
52
140749
2265
相手に望む答えも 聞くことにしたんです
02:23
That worked really well.
53
143038
1501
これはうまくいきましたが
02:24
But we needed one more dimension.
54
144563
1604
さらにもう1つの要素が 必要でした
02:26
Some questions tell you more about a person than others.
55
146191
2643
ある種の質問は 他の質問よりも 多くのことを教えてくれるからです
02:28
For example, a question about politics, something like,
56
148858
3395
たとえば政治的な質問である
「本を燃やすのと国旗を燃やすのとでは どちらがより悪いか?」のような質問は
02:32
"Which is worse: book burning or flag burning?"
57
152277
2288
02:34
might reveal more about someone than their taste in movies.
58
154589
2810
映画の好みなどより 重要な意味を持つかもしれません
02:37
And it doesn't make sense to weigh all things equally,
59
157423
2619
あらゆる質問を 同様に扱うのは問題があるので
もう1つデータを 付け加えました
02:40
so we added one final data point.
60
160066
1596
02:41
For everything that OkCupid asks you,
61
161686
2024
OkCupidが聞く質問ではすべて
02:43
you have a chance to tell us the role it plays in your life.
62
163734
2829
自分にとっての重要性を
「どちらでもよい」から「必須」まで
02:46
And this ranges from irrelevant to mandatory.
63
166587
2319
指定することができます
02:49
So now, for every question, we have three things for our algorithm:
64
169446
3222
これで各質問について
アルゴリズムに使えるものが 3つあることになります
02:52
first, your answer;
65
172692
1352
1 自分の答え
02:54
second, how you want someone else -- your potential match -- to answer;
66
174617
4140
2 付き合う相手に望む答え
2 付き合う相手に望む答え
2 付き合う相手に望む答え
02:58
and third, how important the question is to you at all.
67
178781
2788
3 その質問の重要度です
03:02
With all this information,
68
182710
1252
これらの情報を元に
03:03
OkCupid can figure out how well two people will get along.
69
183986
3118
OKCupidは2人の 相性の良さを判断でき
03:07
The algorithm crunches the numbers and gives us a result.
70
187128
3006
アルゴリズムが データから答えを算出します
具体的な例で
03:10
As a practical example,
71
190158
1152
あなたと 別の誰かBさんの 相性が良いかを
03:11
let's look at how we'd match you with another person.
72
191334
2525
03:13
Let's call him "B."
73
193883
1189
どのように判断するのか 見てみましょう
相性度は
03:16
Your match percentage with B is based on questions you've both answered.
74
196023
3482
2人とも答えた 質問を元に求めます
03:19
Let's call that set of common questions "s."
75
199529
2425
この共通の質問の集まりを Sと呼ぶことにしましょう
03:22
As a very simple example, we use a small set "s"
76
202559
2349
話を簡単にするため
03:24
with just two questions in common,
77
204932
1641
Sはたった2つの 質問からなることにして
03:26
and compute a match from that.
78
206597
1828
それを元に相性度を 計算してみます
03:28
Here are our two example questions.
79
208449
1671
その2つの質問の 1つは
03:30
The first one, let's say, is, "How messy are you?"
80
210144
2381
たとえば「散らかし屋さんですか?」で
03:32
And the answer possibilities are:
81
212549
2096
答えの選択肢は
03:34
very messy, average and very organized.
82
214669
3361
「散らかし屋」
「ふつう」
「きれい好き」 だったとします
03:38
And let's say you answered "very organized,"
83
218054
2060
あなたは「きれい好き」で
相手にも「きれい好き」 であることを望み
03:40
and you'd like someone else to answer "very organized,"
84
220138
2760
03:42
and the question is very important to you.
85
222922
2256
この問題はとても重要 だったとしましょう
03:45
Basically, you're a neat freak.
86
225202
1492
あなたは超きれい好きで
03:46
You're neat, you want someone else to be neat, and that's it.
87
226718
2868
自分だけでなく
相手にも きれい好きなことを
強く求めています
03:49
And let's say B is a little bit different.
88
229610
2015
Bさんは少し違います
03:51
He answered "very organized" for himself,
89
231649
2039
彼自身は「きれい好き」ですが
03:53
but "average" is OK with him as an answer from someone else,
90
233712
3007
相手は「ふつう」でかまわず
相手は「ふつう」でかまわず
03:56
and the question is only a little important to him.
91
236743
2402
彼にとって この問題は あまり重要ではありません
2番目の質問に 移りましょう
03:59
Let's look at the second question, from our previous example:
92
239169
2893
前に質問例として挙げた
「場の中心になるのが好きですか?」で
04:02
"Do you like to be the center of attention?"
93
242086
2056
選択肢は「はい」か「いいえ」です
04:04
The answers are "yes" and "no."
94
244166
1514
04:05
You've answered "no," you want someone else to answer "no,"
95
245704
2995
あなたの答えは「いいえ」で
相手にも「いいえ」であることを望み
04:08
and the question is only a little important to you.
96
248723
2391
この問題はあまり 重要でなかったとします
Bさんの方は 自分が「はい」で
04:11
Now B, he's answered "yes."
97
251138
1621
04:12
He wants someone else to answer "no,"
98
252783
1776
相手には「いいえ」を望み —
04:14
because he wants the spotlight on him,
99
254583
2274
なにしろ自分が中心でいたいので —
04:16
and the question is somewhat important to him.
100
256881
2430
そして この問題は彼にとって まあまあ重要だったとします
04:19
So, let's try to compute all of this.
101
259335
1999
それでは計算してみましょう
04:21
Our first step is, since we use computers to do this,
102
261972
2503
まずはじめに
コンピュータを使うので
04:24
we need to assign numerical values
103
264499
1867
「まあまあ重要」とか 「とても重要」のような概念に
04:26
to ideas like "somewhat important" and "very important,"
104
266390
2627
数値を割り当てる 必要があります
04:29
because computers need everything in numbers.
105
269041
2211
コンピュータはすべて 数字で計算するからです
04:31
We at OkCupid decided on the following scale:
106
271276
2403
OkCupidではこんな重み付けを することにしました
04:33
"Irrelevant" is worth 0.
107
273703
1946
「どうでもよい」は 0点
「あまり重要でない」は 1点
04:36
"A little important" is worth 1.
108
276173
1889
04:38
"Somewhat important" is worth 10.
109
278538
1809
「まあまあ重要」は 10点
04:40
"Very important" is 50.
110
280831
1754
「とても重要」は 50点
04:42
And "absolutely mandatory" is 250.
111
282609
3612
「必須」は 250点です
04:46
Next, the algorithm makes two simple calculations.
112
286245
2631
つぎにアルゴリズムは 簡単な計算を2つします
04:48
The first is: How much did B's answers satisfy you?
113
288900
3246
1つはBさんが あなたにとって どれくらい満足のいく人かで
04:52
That is, how many possible points did B score on your scale?
114
292170
3793
これはBさんが取り得る点数のうちの 何点を取ったかということです
04:55
Well, you indicated that B's answer to the first question,
115
295987
3212
最初の質問
散らかし屋かどうかは
04:59
about messiness,
116
299223
1166
あなたにとって とても重要で
05:00
was very important to you.
117
300413
1350
05:01
It's worth 50 points and B got that right.
118
301787
2230
Bさんは正しく答えたので 50点になります
05:04
The second question is worth only 1,
119
304375
1737
2番目の質問は あまり重要でなかったので
05:06
because you said it was only a little important.
120
306136
2278
1点分の価値しかなく
Bさんは間違った 答えをしました
05:08
B got that wrong,
121
308438
1197
05:09
so B's answers were 50 out of 51 possible points.
122
309659
2782
だからBさんの点数は 50/51となり
05:12
That's 98% satisfactory. Pretty good.
123
312465
2608
98%の満足度です
これはかなり良い点数です
05:15
The second question the algorithm looks at is: How much did you satisfy B?
124
315097
3949
次にアルゴリズムが見るのは
あなたが どれくらいBさんを 満足させるかということです
Bさんは散らかし屋の 質問には1点
05:19
Well, B placed 1 point on your answer to the messiness question
125
319070
3259
Bさんは散らかし屋の 質問には1点
05:22
and 10 on your answer to the second.
126
322353
1953
場の中心の質問には 10点を設定しました
05:24
Of those 11, that's 1 plus 10, you earned 10 --
127
324745
3387
満点は 1 + 10 = 11 点で
あなたは2番目の質問で 希望に合っていたので
05:28
you guys satisfied each other on the second question.
128
328156
2595
10点を取りました
05:30
So your answers were 10 out of 11 equals 91 percent satisfactory to B.
129
330775
4242
あなたの点数は10/11で
Bさんにとっての 満足度は91%です
05:35
That's not bad.
130
335041
1151
悪くありません
05:36
The final step is to take these two match percentages
131
336216
2507
最後のステップとして この2つのパーセントの数字から
05:38
and get one number for the both of you.
132
338747
1866
2人の相性度を計算します
05:40
To do this, the algorithm multiplies your scores,
133
340637
2611
アルゴリズムは 2つの値を掛け合わせて
n 乗根を求めます
05:43
then takes the nth root,
134
343272
1665
05:44
where "n" is the number of questions.
135
344961
2183
ここで n は質問の個数です
今の場合 質問の数は
05:47
Because s, which is the number of questions in this sample,
136
347168
2830
2つだけだったので
05:50
is only 2,
137
350022
1841
05:51
we have: match percentage equals the square root
138
351887
3665
相性度は 98% × 91% の 2 乗根で —
相性度は 98% × 91% の 2 乗根で —
05:55
of 98 percent times 91 percent.
139
355576
2896
05:58
That equals 94 percent.
140
358496
1784
94% となります
06:00
That 94 percent is your match percentage with B.
141
360304
3204
94% があなたと Bさんの相性度です
06:03
It's a mathematical expression of how happy you'd be with each other,
142
363532
3243
あなた方が付き合った時に
予想される幸福度を
06:06
based on what we know.
143
366799
1183
得られているデータを元に 数学的に求めた値です
06:08
Now, why does the algorithm multiply,
144
368006
1786
なぜこのアルゴリズムでは
06:09
as opposed to, say, average the two match scores together,
145
369816
2769
2つの点数の平均を取らずに
06:12
and do the square-root business?
146
372609
1670
掛け算して累乗根を 求めているのか?
06:14
In general, this formula is called the geometric mean.
147
374303
2529
一般にこのような式は 幾何平均と呼ばれ
06:16
It's a great way to combine values that have wide ranges
148
376856
2627
広い幅のある
異なる性質の値を 組み合わせる
06:19
and represent very different properties.
149
379507
1915
優れた方法なんです
つまり恋愛の相性には ぴったりということです
06:21
In other words, it's perfect for romantic matching.
150
381446
2413
06:23
You've got wide ranges and you've got tons of different data points,
151
383883
3247
広い範囲の
たくさんの異なる データがあります
映画だとか
06:27
like I said, about movies, politics, religion -- everything.
152
387154
3438
政治
宗教
その他あらゆることです
06:30
Intuitively, too, this makes sense.
153
390616
1838
直感的にも これは 意味のあることです
06:32
Two people satisfying each other 50 percent
154
392478
2775
互いに50%の満足度の2人は
0%と100%の2人よりも
06:35
should be a better match than two others who satisfy 0 and 100,
155
395277
3952
相性が良いと言えるでしょう
06:39
because affection needs to be mutual.
156
399253
1814
恋愛は相互的である 必要があるからです
誤差に対応するために 若干の補正をすれば完了です
06:41
After adding a little correction for margin of error,
157
401091
2491
06:43
in the case where we have a small number of questions,
158
403606
2571
たとえば今の場合だと
質問の数が少なすぎる
06:46
like we do in this example,
159
406201
1317
06:47
we're good to go.
160
407542
1172
という問題がありました
06:48
Any time OkCupid matches two people,
161
408738
1912
OkCupidが 2人を引き合わせる場合
06:50
it goes through the steps we just outlined.
162
410674
2032
今説明したような 手順を辿ります
06:52
First it collects data about your answers,
163
412730
2269
まずみんなの答えを データとして集め
本人の選択と 相手への希望を
06:55
then it compares your choices and preferences to other people's
164
415023
2985
単純な数学的方法で 付き合わせていくんです
06:58
in simple, mathematical ways.
165
418032
1967
この 現実の世界の現象を
07:00
This, the ability to take real-world phenomena
166
420023
2923
07:02
and make them something a microchip can understand,
167
422970
2415
マイクロチップが理解できる形に 変える能力は
今の時代
07:05
is, I think, the most important skill anyone can have these days.
168
425409
3277
最も重要なスキルだと思います
07:08
Like you use sentences to tell a story to a person,
169
428710
2423
人に対して文章を使って 物語るように
コンピュータに対しては アルゴリズムを使って物語るのです
07:11
you use algorithms to tell a story to a computer.
170
431157
2484
言語を学べば
07:14
If you learn the language, you can go out and tell your stories.
171
434349
3033
物語を語れるようになります
このビデオが その役に立てば幸いです
07:17
I hope this will help you do that.
172
437406
1753
このウェブサイトについて

このサイトでは英語学習に役立つYouTube動画を紹介します。世界中の一流講師による英語レッスンを見ることができます。各ビデオのページに表示される英語字幕をダブルクリックすると、そこからビデオを再生することができます。字幕はビデオの再生と同期してスクロールします。ご意見・ご要望がございましたら、こちらのお問い合わせフォームよりご連絡ください。

https://forms.gle/WvT1wiN1qDtmnspy7