Inside OKCupid: The math of online dating - Christian Rudder

Внутри OkCupid: математика онлайн-знакомств — Кристиан Раддер

1,238,192 views

2013-02-13 ・ TED-Ed


New videos

Inside OKCupid: The math of online dating - Christian Rudder

Внутри OkCupid: математика онлайн-знакомств — Кристиан Раддер

1,238,192 views ・ 2013-02-13

TED-Ed


Пожалуйста, дважды щелкните на английские субтитры ниже, чтобы воспроизвести видео.

00:00
Translator: Andrea McDonough Reviewer: Bedirhan Cinar
0
0
7000
Переводчик: Semyon Fomin Редактор: Anna Kotova
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
В общем, алгоритм OkCupid
00:32
Basically, OkCupid's matching algorithm helps us decide
7
32357
2588
помогает нам определить, стоит ли паре людей сходить на свидание.
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
Многие вопросы хороши для поиска совпадений,
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
Например, два человека, которым нравятся ужастики,
02:01
are probably a better match than one person who is and one who isn't.
44
121683
3321
наверняка более совместимы, чем те, у кого вкусы различаются.
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
Если оба партнёра отвечают «да»,
у них будут огромные проблемы.
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
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
И неверно придавать вопросам одинаковый вес,
поэтому мы добавили заключительный пункт.
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
Теперь для каждого вопроса у нас есть три вещи в алгоритме:
02:52
first, your answer;
65
172692
1352
первое — ваш ответ;
02:54
second, how you want someone else -- your potential match -- to answer;
66
174617
4140
второе — предпочтительный ответ потенциального партнёра
02:58
and third, how important the question is to you at all.
67
178781
2788
и третье — важность этого вопроса для вас.
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 может понять, как сложатся отношения между людьми.
03:07
The algorithm crunches the numbers and gives us a result.
70
187128
3006
Алгоритм оперирует числами и выдаёт результат.
В качестве примера
03:10
As a practical example,
71
190158
1152
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
назовём его «B».
Процент совместимости с «B» основывается на вопросах, на которые вы оба ответили.
03:16
Your match percentage with B is based on questions you've both answered.
74
196023
3482
03:19
Let's call that set of common questions "s."
75
199529
2425
Назовём набор общих вопросов «S».
Для простоты мы возьмём маленький набор «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
всего из двух общих вопросов,
03:26
and compute a match from that.
78
206597
1828
и вычислим совместимость на их основе.
03:28
Here are our two example questions.
79
208449
1671
Вот наши два вопроса.
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
Допустим, «В» немного другой.
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
а сам вопрос для него не очень важен.
Посмотрим на второй вопрос, мы его уже упоминали:
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
Теперь «В»: он ответил «да»,
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
Теперь алгоритм делает два вычисления.
04:48
The first is: How much did B's answers satisfy you?
113
288900
3246
Первое: насколько ответы «B» удовлетворяют вас,
то есть сколько из возможных баллов «B» получил по вашим меркам?
04:52
That is, how many possible points did B score on your scale?
114
292170
3793
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
Он стоит 50 баллов, и «В» ответил верно.
05:04
The second question is worth only 1,
119
304375
1737
Второй вопрос стоит всего 1 балл,
потому что вы сказали, что он не очень важен,
05:06
because you said it was only a little important.
120
306136
2278
а ответ «В» не подошёл.
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
Ответы «В» набрали 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
Второй пункт в алгоритме выясняет, насколько вы подходите «В».
«В» дал 1 балл вашему ответу про чистоплотность
05:19
Well, B placed 1 point on your answer to the messiness question
125
319070
3259
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
Из этих 11 баллов, поскольку 1 плюс 10, вы заработали 10,
05:28
you guys satisfied each other on the second question.
128
328156
2595
вы удовлетворили друг друга во втором вопросе.
05:30
So your answers were 10 out of 11 equals 91 percent satisfactory to B.
129
330775
4242
Ваши ответы составляют 10 из 11, что на 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
Последний шаг: взять проценты совместимостей
05:38
and get one number for the both of you.
132
338747
1866
и получить одно число для вас обоих.
05:40
To do this, the algorithm multiplies your scores,
133
340637
2611
Чтобы это сделать, алгоритм перемножает ваши баллы
и извлекает N-ный корень,
05:43
then takes the nth root,
134
343272
1665
05:44
where "n" is the number of questions.
135
344961
2183
где N — число вопросов.
Поскольку «S», число вопросов,
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%.
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% — ваша совместимость с «В».
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
выводить среднее между баллами
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%,
более совместимы, чем два других, чей результат — 0 и 100,
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 находит пары,
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