Placeholder Image

Subtitles section Play video

  • Hello, my name is Christian Rudder,

  • and I was one of the founders of OK Cupid.

  • It's now one of the biggest dating sites in the United States.

  • Like almost everyone at the site,

  • I was a math major, and, as you might expect,

  • we're known for the analytic approach

  • we have taken to love.

  • We call it our matching algorithm.

  • Basically OK Cupid's matching algorithm helps us decide whether two people should go on a date.

  • We built our entire business around it.

  • Now, algorithm is a fancy word,

  • and people like to drop it like it's this big thing,

  • but, really, an algorithm is just a systematic,

  • step-by-step way to solve a problem.

  • It doesn't have to be fancy at all.

  • Here, in this lesson, I'm going to explain

  • how we arrived at our particular algorithm

  • so you can see how it's done.

  • Now, why are algorithms even important?

  • Why does this lesson even exist?

  • Well, notice one very significant phrase I used above:

  • they are a "step-by-step" way to solve a problem,

  • and, as you probably know,

  • computers excel at step-by-step processes.

  • A computer without an algorithm

  • is basically an expensive paperweight.

  • And since computers are such a pervasive part of everyday life, algorithms are everywhere.

  • The math behind OK Cupid's matching algorithm

  • is surprisingly simple.

  • It's just some addition,

  • multiplication,

  • a little bit of square roots.

  • The tricky part in designing it, though,

  • was figuring out how to take something mysterious,

  • human attraction,

  • and break it into components that a computer can work with.

  • Well, the first thing we needed to match people up was data,

  • something for the algorithm to work with.

  • The best way to get data quickly from people

  • is to just ask for it.

  • So, we decided that OK Cupid should ask users questions,

  • stuff like, "Do you want to have kids one day?"

  • and "How often do you brush your teeth?",

  • "Do you like scary movies?"

  • and big stuff like "Do you believe in God?"

  • Now, a lot of the questions are good

  • for matching like with like,

  • that is when both people answer the same way.

  • For example, two people who are both into scary movies are probably a better match than one person who is and one person who isn't.

  • But what about a question like,

  • "Do you like to be the center of attention?"

  • If both people in a relationship are saying yes to this,

  • then they are going to have massive problems.

  • We realized this early on,

  • and so we decided we needed

  • a bit more data from each question.

  • We had to ask people to specify not only their own answer,

  • but the answer they wanted from someone else.

  • That worked really well,

  • but we needed one more dimension.

  • Some questions tell you more about a person than others.

  • For example, a question about politics, something like,

  • "Which is worse: book burning or flag burning?"

  • might reveal more about someone than their taste in movies.

  • And it doesn't make sense to weigh all things equally,

  • so we added one final data point.

  • For everything that OK Cupid asks you,

  • you have a chance to tell us

  • the role it plays in your life,

  • and this ranges from irrelevant to mandatory.

  • So now, for every question,

  • we have three things for our algorithm:

  • first, your answer;

  • second, how you want someone else,

  • your potential match,

  • to answer;

  • and three, how important the question is to you at all.

  • With all this information,

  • OK Cupid can figure out how well two people will get along.

  • The algorithm crunches the numbers and gives us a result.

  • As a practical example,

  • let's look at how we'd match you with another person,

  • let's call him, "B".

  • Your match percentage with B is based on

  • questions you've both answered.

  • Let's call that set of common questions, "s".

  • As a very simple example, we use a small set "s"

  • with just two questions in common

  • and compute a match from that.

  • Here are our two example questions.

  • The first one, let's say, is, "How messy are you?"

  • and the answer possibilities are

  • very messy,

  • average,

  • and very organized.

  • And let's say you answered "very organized,"

  • and you'd like someone else to answer "very organized,"

  • and the question is very important to you.

  • Basically you are a neat freak.

  • You're neat,

  • you want someone else to be neat,

  • and that's it.

  • And let's say B is a little bit different.

  • He answered very organized for himself,

  • but average is OK with him

  • as an answer from someone else,

  • and the question is only a little important to him.

  • Let's look at the second question,

  • it's the one from our previous example:

  • "Do you like to be the center of attention?"

  • The answers are just yes and no.

  • Now you've answered "no,"

  • how you want someone else to answer is "no,"

  • and the questions is only a little important to you.

  • Now B, he's answered "yes,"

  • he wants someone else to answer "no,"

  • because he wants the spotlight on him,

  • and the question is somewhat important to him.

  • So, let's try to compute all of this.

  • Our first step is,

  • since we use computers to do this,

  • we need to assign numerical values

  • to ideas like "somewhat important" and "very important"

  • because computers need everything in numbers.

  • We at OK Cupid decided on the following scale:

  • irrelevant is worth 0,

  • a little important is worth 1,

  • somewhat important is worth 10,

  • very important is 50,

  • and absolutely mandatory is 250.

  • Next, the algorithm makes two simple calculations.

  • The first is how much did B's answers satisfy you,

  • that is, how many possible points did B score on your scale?

  • Well, you indicated that B's answer

  • to the first question about messiness

  • was very important to you.

  • It's worth 50 points and B got that right.

  • The second question is worth only 1

  • because you said it was only a little important,

  • and B got that wrong.

  • So B's answers were 50 out of 51 possible points.

  • That's 98% satisfactory.

  • It's pretty good.

  • And, the second question of the algorithm looks at

  • is how much did you satisfy B.

  • Well, B placed 1 point on your answer

  • to the messiness question

  • and 10 on your answer to the second.

  • Of those, 11, that's 1 plus 10,

  • you earned 10,

  • you guys satisfied each other on the second question.

  • So your answers were 10 out of 11

  • equals 91% satisfactory to B.

  • That's not bad.

  • The final step is to take these two match percentages

  • and get one number for the both of you.

  • To do this, the algorithm multiplies your scores,

  • then takes the nth root,

  • where n is the number of questions.

  • Because s, which is the number of questions,

  • in this sample, is only 2,

  • we have match percentage equals

  • the square root of 98% times 91%.

  • That equals 94%.

  • That 94% is your match percentage with B.

  • It's a mathematical expression

  • of how happy you'd be with each other

  • based on what we know.

  • Now, why does the algorithm multiply as opposed to, say,

  • average the two match scores together

  • and do the square-root business?

  • In general, this formula is called the geometric mean,

  • which is a great way to combine values

  • that have wide ranges

  • and represent very different properties.

  • In other words, it's perfect for romantic matching.

  • You've got wide ranges

  • and you've got tons of different data points,

  • like I said, about movies,

  • about politics,

  • about religion,

  • about everything.

  • Intuitively, too, this makes sense.

  • Two people satisfying each other 50%

  • should be a better match

  • than two others who satisfy 0 and 100,

  • because affection needs to be mutual.

  • After adding a little correction for margin of error,

  • in the case when we have a very small number of questions,

  • like we do in this example,

  • we're good to go.

  • Any time OK Cupid matches two people,

  • it goes through the steps we just outlined.

  • First it collects data about your answers,

  • then it compares your choices and preferences

  • to other people in simple, mathematical ways.

  • This, the ability to take real world phenomena and make them something a microchip can understand, is, I think, the most important skill anyone can have these days.

  • Like you use sentences to tell a story to a person,

  • you use algorithms to tell a story to a computer.

  • If you learn the language,

  • you can go out and tell your stories.

  • I hope this will help you do that.

Hello, my name is Christian Rudder,

Subtitles and vocabulary

Operation of videos Adjust the video here to display the subtitles

A2 US TED-Ed algorithm cupid answer question matching

【TED-Ed】Inside OKCupid: The math of online dating - Christian Rudder

  • 18878 1301
    Why Why posted on 2019/01/10
Video vocabulary