Inside OKCupid: The math of online dating - Christian Rudder

Ieskats OkCupid: Iepazīšanās portāla matemātika — Kristians Raders

1,232,216 views

2013-02-13 ・ TED-Ed


New videos

Inside OKCupid: The math of online dating - Christian Rudder

Ieskats OkCupid: Iepazīšanās portāla matemātika — Kristians Raders

1,232,216 views ・ 2013-02-13

TED-Ed


Lai atskaņotu videoklipu, divreiz noklikšķiniet uz zemāk redzamajiem subtitriem angļu valodā.

00:00
Translator: Andrea McDonough Reviewer: Bedirhan Cinar
0
0
7000
Translator: Līga Greiškāne Reviewer: Ilze Garda
00:17
Hello, my name is Christian Rudder,
1
17903
1714
Sveiki! Mani sauc Kristians Raders,
00:19
and I was one of the founders of OkCupid.
2
19641
2209
un es biju viens no OkCupid dibinātājiem.
00:21
It's now one of the biggest dating sites in the United States.
3
21874
2918
Tagad tas ir viens no lielākajiem iepazīšanās portāliem ASV.
00:24
Like most everyone at the site, I was a math major,
4
24816
2391
Kā gandrīz visiem portālā
man ir maģistra grāds matemātikā, un, kā noprotams,
00:27
As you may expect, we're known for the analytic approach we take to love.
5
27231
3440
mēs esam pazīstami ar savu analītisko pieeju
mīlestībai.
Mēs to saucam par saderības algoritmu.
00:30
We call it our matching algorithm.
6
30695
1638
Būtībā OkCupid saderības algoritms
00:32
Basically, OkCupid's matching algorithm helps us decide
7
32357
2588
palīdz izlemt, vai diviem cilvēkiem vajadzētu satikties.
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
Uz to ir balstīts viss mūsu bizness.
00:38
Now, algorithm is a fancy word,
10
38765
1960
Algoritms ir sarežģīts vārds,
00:40
and people like to drop it like it's this big thing.
11
40749
2485
un cilvēki domā, ka tas ir kaut kas liels,
00:43
But really, an algorithm is just a systematic,
12
43258
2288
bet patiesībā algoritms ir tikai sistemātiska
00:45
step-by-step way to solve a problem.
13
45570
2223
un pieeja problēmas risināšanai soli pa solim.
00:47
It doesn't have to be fancy at all.
14
47817
2177
Tam nepavisam nav jābūt sarežģītam.
Šajā lekcijā es paskaidrošu,
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
kā mēs nonācām līdz šim algoritmam,
lai jūs redzētu, kā tas notiek.
00:54
so you can see how it's done.
17
54225
1411
00:55
Now, why are algorithms even important?
18
55660
1934
Kāpēc algoritmi vispār ir svarīgi?
00:57
Why does this lesson even exist?
19
57618
1580
Kamdēļ vispār šī lekcija?
00:59
Well, notice one very significant phrase I used above:
20
59222
3420
Ievērojiet kādu ļoti nozīmīgu frāzi, kuru izmantoju iepriekš —
01:02
they are a step-by-step way to solve a problem,
21
62666
2339
algoritmi ir veids, kā risināt problēmu soli pa solim,
01:05
and as you probably know, computers excel at step-by-step processes.
22
65029
3418
un, kā jūs jau, iespējams, zināt,
datori secīgos procesos ir izcili.
01:08
A computer without an algorithm
23
68471
1589
Dators bez algoritma
būtībā ir dārga papīru prese.
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
Tā kā datori ir neatņemama ikdienas sastāvdaļa,
01:15
algorithms are everywhere.
26
75845
1547
algoritmi ir visur.
01:18
The math behind OkCupid's matching algorithm is surprisingly simple.
27
78590
3197
OkCupid saderības algoritma matemātika
ir pārsteidzoši vienkārša.
01:21
It's just some addition, multiplication, a little bit of square roots.
28
81811
4002
Tur ir tikai saskaitīšana,
reizināšana
un dažas kvadrātsaknes.
01:25
The tricky part in designing it
29
85837
1690
Piņķerīgā daļa tā izveidē
01:27
was figuring out how to take something mysterious,
30
87551
2565
bija izdomāt, kā kaut ko tik noslēpumainu
01:30
human attraction,
31
90140
1150
kā pievilcību
01:31
and break it into components that a computer can work with.
32
91314
2784
sadalīt tādās sastāvdaļās, ar kurām varētu strādāt dators.
Pirmkārt, saderības noskaidrošanai mums bija vajadzīgi dati,
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
kaut kas, ar ko algoritms varētu strādāt.
01:38
The best way to get data quickly from people is to just ask for it.
35
98715
3158
Labākais veids, kā šos datus ātri iegūt no cilvēkiem,
ir vienkārši pajautāt.
01:41
So we decided that OkCupid should ask users questions,
36
101897
2727
Tā mēs izlēmām, ka OkCupid būtu jāuzdod lietotājiem jautājumi,
01:44
stuff like, "Do you want to have kids one day?"
37
104648
2357
piemēram: „Vai jūs kādu dienu vēlētos bērnus?”
„Cik bieži jūs tīrāt zobus?”
01:47
"How often do you brush your teeth?"
38
107029
1758
01:48
"Do you like scary movies?"
39
108811
1392
„Vai jums patīk šausmu filmas?”
01:50
And big stuff like, "Do you believe in God?"
40
110675
2077
un lielās lietas, piemēram: „Vai jūs ticat Dievam?”
01:53
Now, a lot of the questions are good for matching like with like,
41
113843
3064
Daudzi jautājumi ir piemēroti,
lai atrastu līdzīgos,
01:56
that is, when both people answer the same way.
42
116931
2156
proti, kad abi cilvēki atbild vienādi.
01:59
For example, two people who are both into scary movies
43
119111
2548
Piemēram, divi cilvēki, kuriem patīk šausmu filmas,
02:01
are probably a better match than one person who is and one who isn't.
44
121683
3321
droši vien būs labāks pāris,
nekā ja vienam tās patiks,
bet otram ne.
02:05
But what about a question like,
45
125028
1493
Bet kā ir, piemēram, ar jautājumu:
02:06
"Do you like to be the center of attention?"
46
126545
2062
„Vai jums patīk atrasties uzmanības centrā?”
02:08
If both people in a relationship are saying yes to this,
47
128631
2628
Ja abi cilvēki atbild uz šo jautājumu ar jā,
viņiem būs lielas problēmas.
02:11
they're going to have massive problems.
48
131283
2093
02:13
We realized this early on,
49
133400
1245
Mēs to ātri vien sapratām,
02:14
and so we decided we needed a bit more data from each question.
50
134669
3269
tādēļ izlēmām, ka vajag
mazliet vairāk informācijas par katru jautājumu.
02:17
We had to ask people to specify not only their own answer,
51
137962
2763
Mums vajadzēja noskaidrot ne tikai paša cilvēka atbildes,
02:20
but the answer they wanted from someone else.
52
140749
2265
bet arī to, kādas atbildes viņi sagaida no otra.
02:23
That worked really well.
53
143038
1501
Tas strādāja ļoti labi,
02:24
But we needed one more dimension.
54
144563
1604
tomēr mums vajadzēja vēl vienu dimensiju.
02:26
Some questions tell you more about a person than others.
55
146191
2643
Daži jautājumi par cilvēku pasaka vairāk nekā citi.
02:28
For example, a question about politics, something like,
56
148858
3395
Piemēram, jautājums par politiku:
„Kas ir sliktāk — grāmatu vai karoga dedzināšana?”
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
var atklāt par kādu vairāk nekā viņa filmu gaume.
02:37
And it doesn't make sense to weigh all things equally,
59
157423
2619
Nebūtu pareizi uzskatīt visas lietas par līdzvērtīgām,
tāpēc mēs pievienojām vēl vienu elementu.
02:40
so we added one final data point.
60
160066
1596
02:41
For everything that OkCupid asks you,
61
161686
2024
Par ikvienu OkCupid jautājumu
02:43
you have a chance to tell us the role it plays in your life.
62
163734
2829
jūs varat mums pateikt,
cik liela loma tam ir jūsu dzīvē —
02:46
And this ranges from irrelevant to mandatory.
63
166587
2319
sākot no nenozīmīgas līdz obligātai.
02:49
So now, for every question, we have three things for our algorithm:
64
169446
3222
Tā nu tagad katram jautājumam
mūsu algoritmā ir trīs lietas:
02:52
first, your answer;
65
172692
1352
pirmkārt, jūsu atbilde;
02:54
second, how you want someone else -- your potential match -- to answer;
66
174617
4140
otrkārt, kā jūs vēlētos, lai otrs cilvēks,
jūsu potenciālais partneris,
atbild;
02:58
and third, how important the question is to you at all.
67
178781
2788
un treškārt, cik svarīgs jums ir šis jautājums.
03:02
With all this information,
68
182710
1252
Izmantojot šo informāciju,
03:03
OkCupid can figure out how well two people will get along.
69
183986
3118
OkCupid var noteikt, cik labi divi cilvēki sapratīsies.
03:07
The algorithm crunches the numbers and gives us a result.
70
187128
3006
Algoritms veic aprēķinu, un mēs iegūstam rezultātu.
Praktisks piemērs.
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
Paskatīsimies, kā mēs noskaidrotu jūsu saderību ar kādu cilvēku,
03:13
Let's call him "B."
73
193883
1189
sauksim viņu par „B”.
Jūsu saderības procents ar B ir balstīts uz
03:16
Your match percentage with B is based on questions you've both answered.
74
196023
3482
jautājumiem, uz kuriem jūs abi atbildējāt.
03:19
Let's call that set of common questions "s."
75
199529
2425
Sauksim šo vienkāršo jautājumu kopu par „s”.
Šajā ļoti vienkāršajā piemērā mēs izmantojam nelielu kopu „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
ar tikai diviem kopīgiem jautājumiem
03:26
and compute a match from that.
78
206597
1828
un, balstoties uz tiem, aprēķinām saderību.
03:28
Here are our two example questions.
79
208449
1671
Lūk, mūsu divi jautājumi.
03:30
The first one, let's say, is, "How messy are you?"
80
210144
2381
Pirmais varētu būt: „Cik nekārtīgs jūs esat?”
03:32
And the answer possibilities are:
81
212549
2096
un iespējamie atbilžu varianti ir
03:34
very messy, average and very organized.
82
214669
3361
ļoti nekārtīgs,
vidēji nekārtīgs,
un ļoti kārtīgs.
03:38
And let's say you answered "very organized,"
83
218054
2060
Pieņemsim, ka jūs atbildējāt „ļoti kārtīgs”
un vēlaties, lai arī otrs atbild „ļoti kārtīgs”,
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
un šis jautājums jums ir ļoti svarīgs.
03:45
Basically, you're a neat freak.
86
225202
1492
Jūs būtībā esat apsēsts ar kārtību.
03:46
You're neat, you want someone else to be neat, and that's it.
87
226718
2868
Jūs esat kārtīgs,
un vēlaties, lai arī otrs cilvēks ir kārtīgs,
un viss.
03:49
And let's say B is a little bit different.
88
229610
2015
Pieņemsim, ka B ir mazliet citādāks.
03:51
He answered "very organized" for himself,
89
231649
2039
Viņš ir atbildējis, ka pats ir ļoti kārtīgs,
03:53
but "average" is OK with him as an answer from someone else,
90
233712
3007
bet viņam no otra cilvēka der arī atbilde „vidēji kārtīgs”,
03:56
and the question is only a little important to him.
91
236743
2402
un viņam šis jautājums ir mazsvarīgs.
Apskatīsim otro jautājumu,
03:59
Let's look at the second question, from our previous example:
92
239169
2893
tas ir viens no iepriekš minētajiem:
„Vai jums patīk atrasties uzmanības centrā?”
04:02
"Do you like to be the center of attention?"
93
242086
2056
Atbildes ir vienkārši „jā” un „nē”.
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
Jūs atbildējāt „nē”,
un vēlaties, lai arī otrs atbildētu „nē”,
04:08
and the question is only a little important to you.
96
248723
2391
un jautājums jums ir mazsvarīgs.
B ir atbildējis „jā”,
04:11
Now B, he's answered "yes."
97
251138
1621
04:12
He wants someone else to answer "no,"
98
252783
1776
un vēlas, lai otrs atbildētu „nē”,
04:14
because he wants the spotlight on him,
99
254583
2274
jo vēlas, lai uzmanība būtu pievērsta viņam,
04:16
and the question is somewhat important to him.
100
256881
2430
un šis jautājums viņam ir samērā svarīgs.
04:19
So, let's try to compute all of this.
101
259335
1999
Tad nu mēģināsim to visu izskaitļot.
04:21
Our first step is, since we use computers to do this,
102
261972
2503
Pirmkārt,
tā kā šim darbam izmantojam datorus,
04:24
we need to assign numerical values
103
264499
1867
mums jāpiešķir skaitliskas vērtības
04:26
to ideas like "somewhat important" and "very important,"
104
266390
2627
tādām idejām kā „samērā svarīgs” un „ļoti svarīgs”,
04:29
because computers need everything in numbers.
105
269041
2211
jo datoriem viss ir vajadzīgs skaitliskā formātā.
04:31
We at OkCupid decided on the following scale:
106
271276
2403
Mēs, OkCupid, vienojāmies par šādām vērtībām:
04:33
"Irrelevant" is worth 0.
107
273703
1946
nesvarīgs ir 0,
mazsvarīgs ir 1,
04:36
"A little important" is worth 1.
108
276173
1889
04:38
"Somewhat important" is worth 10.
109
278538
1809
samērā svarīgs ir 10,
04:40
"Very important" is 50.
110
280831
1754
ļoti svarīgs ir 50,
04:42
And "absolutely mandatory" is 250.
111
282609
3612
un obligāts ir 250.
04:46
Next, the algorithm makes two simple calculations.
112
286245
2631
Tālāk algoritms veic divus vienkāršus aprēķinus.
04:48
The first is: How much did B's answers satisfy you?
113
288900
3246
Pirmkārt, cik atbilstošas bija B atbildes,
proti, cik daudz no iespējamajiem punktiem B savāca.
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
Jūs norādījāt, ka B atbilde
uz pirmo jautājumu par kārtīgumu
04:59
about messiness,
116
299223
1166
jums ir ļoti svarīga.
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
Tās vērtība ir 50 punkti, un B uz to atbildēja pareizi.
05:04
The second question is worth only 1,
119
304375
1737
Otrs jautājums ir tikai vienu punktu vērts,
jo tas jums ir mazsvarīgs.
05:06
because you said it was only a little important.
120
306136
2278
B atbilde nebija pareizā.
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
Tātad B ir ieguvis 50 no 51 iespējamā punkta.
05:12
That's 98% satisfactory. Pretty good.
123
312465
2608
Tie ir 98%.
Tas ir samērā labi.
05:15
The second question the algorithm looks at is: How much did you satisfy B?
124
315097
3949
Otrs algoritma jautājums apskata,
cik lielā mērā jūsu atbildes bija pa prātam B.
B novērtēja ar 1 punktu atbildi
05:19
Well, B placed 1 point on your answer to the messiness question
125
319070
3259
uz jautājumu par kārtīgumu
05:22
and 10 on your answer to the second.
126
322353
1953
un ar 10 — atbildi uz otro jautājumu.
05:24
Of those 11, that's 1 plus 10, you earned 10 --
127
324745
3387
No šiem 11, kas ir 1 plus 10,
jūs ieguvāt 10.
05:28
you guys satisfied each other on the second question.
128
328156
2595
Jūsu abu atbildes uz otro jautājumu bija saderīgas.
05:30
So your answers were 10 out of 11 equals 91 percent satisfactory to B.
129
330775
4242
Tātad jūsu atbildes bija 10 no 11,
kas ar B ir 91% atbilstība.
05:35
That's not bad.
130
335041
1151
Tas nav slikti.
05:36
The final step is to take these two match percentages
131
336216
2507
Visbeidzot no šīm divām procentuālajām vērtībām
05:38
and get one number for the both of you.
132
338747
1866
ir jāiegūst viens skaitlis jums abiem.
05:40
To do this, the algorithm multiplies your scores,
133
340637
2611
Lai to izdarītu, algoritms sareizina jūsu punktus
un izvelk n-tās pakāpes sakni,
05:43
then takes the nth root,
134
343272
1665
05:44
where "n" is the number of questions.
135
344961
2183
kur „n” atbilst jautājumu skaitam.
Tā kā „s”, kas ir jautājumu skaits,
05:47
Because s, which is the number of questions in this sample,
136
347168
2830
šajā piemērā ir tikai 2,
05:50
is only 2,
137
350022
1841
05:51
we have: match percentage equals the square root
138
351887
3665
mūsu saderības procents ir vienāds
ar kvadrātsakni no 98% reiz 91%.
05:55
of 98 percent times 91 percent.
139
355576
2896
05:58
That equals 94 percent.
140
358496
1784
Tas ir vienāds ar 94%.
06:00
That 94 percent is your match percentage with B.
141
360304
3204
Tas nozīmē, ka jūsu saderība ar B ir 94%.
06:03
It's a mathematical expression of how happy you'd be with each other,
142
363532
3243
Šī matemātiskā izteiksme parāda,
cik apmierināti jūs būtu viens ar otru,
06:06
based on what we know.
143
366799
1183
balstoties uz to, ko zinām.
Kādēļ algoritms reizina, nevis, piemēram,
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
aprēķina vidējo no abu vērtību summas,
06:12
and do the square-root business?
146
372609
1670
un kāpēc jāvelk kvadrātsakne?
06:14
In general, this formula is called the geometric mean.
147
374303
2529
Šo formulu sauc par ģeometrisko vidējo,
06:16
It's a great way to combine values that have wide ranges
148
376856
2627
kas ir lielisks veids, kā kombinēt vērtības,
kam ir liels diapazons
06:19
and represent very different properties.
149
379507
1915
un kas ataino ļoti dažādas īpašības.
Tātad tas ir ideāli piemērots romantiskās saderības noteikšanai.
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
Mums ir plašs diapazons,
un kaudzēm dažādas informācijas,
kā jau minēju, par filmām,
06:27
like I said, about movies, politics, religion -- everything.
152
387154
3438
politiku,
reliģiju,
par visu.
06:30
Intuitively, too, this makes sense.
153
390616
1838
Arī intuitīvi tas šķiet loģiski.
06:32
Two people satisfying each other 50 percent
154
392478
2775
Diviem cilvēkiem, kuru saderība vienam ar otru ir 50%,
vajadzētu būt labākam pārim
06:35
should be a better match than two others who satisfy 0 and 100,
155
395277
3952
nekā diviem citiem, kuru saderība ir attiecīgi 0 un 100,
06:39
because affection needs to be mutual.
156
399253
1814
jo pievilcībai jābūt abpusējai.
Pievienojot nelielu korekciju kļūdas robežai
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
tiem gadījumiem, kad jautājumu skaits ir pavisam neliels
kā šajā piemērā,
06:46
like we do in this example,
159
406201
1317
06:47
we're good to go.
160
407542
1172
mēs esam gatavi startam.
06:48
Any time OkCupid matches two people,
161
408738
1912
Ikreiz, aprēķinot divu cilvēku saderību,
06:50
it goes through the steps we just outlined.
162
410674
2032
OkCupid iziet cauri nupat aprakstītajam.
06:52
First it collects data about your answers,
163
412730
2269
Vispirms tas savāc datus par jūsu atbildēm,
tad salīdzina jūsu izvēles un vēlmes
06:55
then it compares your choices and preferences to other people's
164
415023
2985
ar citiem cilvēkiem vienkāršā un matemātiskā veidā.
06:58
in simple, mathematical ways.
165
418032
1967
Šī spēja reālās pasaules parādību
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
pārveidot tā, lai mikroshēma to spētu saprast,
07:05
is, I think, the most important skill anyone can have these days.
168
425409
3277
ir, manuprāt,
vissvarīgākā spēja, kāda cilvēkam mūsdienās var būt.
07:08
Like you use sentences to tell a story to a person,
169
428710
2423
Tāpat kā jūs izmantojat teikumus, lai kaut ko pastāstītu cilvēkam,
mēs izmantojam algoritmus, lai pastāstītu lietas datoram.
07:11
you use algorithms to tell a story to a computer.
170
431157
2484
Iemācoties valodu,
07:14
If you learn the language, you can go out and tell your stories.
171
434349
3033
jūs varat doties pasaulē un stāstīt savus stāstus.
Es ceru, ka šis palīdzēs jums to izdarīt.
07:17
I hope this will help you do that.
172
437406
1753
Par šo vietni

Šajā vietnē jūs iepazīstinās ar YouTube videoklipiem, kas noder angļu valodas apguvei. Jūs redzēsiet angļu valodas nodarbības, ko pasniedz augstas klases skolotāji no visas pasaules. Divreiz uzklikšķiniet uz angļu subtitriem, kas redzami katrā video lapā, lai atskaņotu video no turienes. Subtitri ritinās sinhroni ar video atskaņošanu. Ja jums ir kādi komentāri vai pieprasījumi, lūdzu, sazinieties ar mums, izmantojot šo kontaktformu.

https://forms.gle/WvT1wiN1qDtmnspy7