Bonjour, je m'appelle Christian Rudder,
je suis un des fondateurs de OK Cupid.
C'est désormais l'un des plus grands sites de rencontre aux États-Unis.
Comme presque tout le monde sur le site,
j'étais doué en math et comme vous pouvez l'imaginer,
nous étions connus pour l'approche analytique
que nous avions de l'amour.
On appelle ça notre algorithme d'appariement.
Essentiellement, l'algorithme d'appariement d'OK Cupid
nous aide à décider si deux personnes peuvent sortir ensemble.
Nous avons construit notre business dessus.
Cependant, algorithme est un mot prétentieux,
les gens préfèrent le laisser tomber,
mais un algorithme est simplement une façon systématique,
pas à pas, de résoudre un problème.
Ça n'a rien de prétentieux.
Ici, dans cette leçon, je vais vous expliquer
comment on en est arrivé à notre algorithme à nous
pour que vous voyez comment ça marche.
Maintenant, pourquoi est-ce que les algorithmes sont importants ?
Pourquoi est-ce que cette leçon existe ?
Eh bien, relisez cette phrase importante que je viens de dire :
c'est une façon de résoudre un problème pas à pas
et, comme vous le savez probablement,
les ordinateurs excellent dans les processus pas à pas.
Un ordinateur sans algorithme
est simplement un couteux presse-papiers.
Depuis que les ordinateurs sont omniprésents dans notre vie quotidienne,
les algorithmes sont partout.
Les mathématiques derrière l'algorithme d'appariement d'OK Cupid
sont étonnamment simples.
Ce sont juste quelques additions,
multiplications
et quelques racines carrées.
La difficulté lors de la conception, cependant,
était de comprendre comment prendre quelque chose de mystérieux,
l'attirance humaine,
et la décomposer en éléments avec lesquels un ordinateur peut travailler.
La première chose dont nous avons besoin pour faire correspondre des gens sont des données,
ce sur quoi l'algorithme puisse travailler.
La meilleure façon d'avoir rapidement des données des gens
est tout simplement de les demander.
Donc nous avons décidé qu'OK Cupid devait poser des questions aux utilisateurs :
« Est-ce que vous voulez des enfants ? »,
« À quelle fréquence vous lavez vous les dents ? »,
« Est-ce que vous aimez les films d'horreur ? »
et des trucs importants comme « Est-ce que vous croyez en Dieu ? »
Certes, beaucoup de questions sont bonnes
pour faire correspondre ce qui est comparable,
quand deux personnes répondent de la même manière.
Par exemple, deux personnes qui aiment bien les films d'horreur
se correspondent probablement mieux
qu'une personne qui les aime
et une qui ne les aime pas.
Mais qu'en est-il d'une question comme,
« Aimez-vous être le centre de l'attention ? »
Si les deux personnes d'un couple répondent oui,
alors il va y avoir de gros problèmes.
Nous avons compris ça rapidement
et nous avons décidé que nous avions besoin
d'un peu plus d'information pour chaque question.
Nous devions demander aux personnes de donner non seulement leur réponse,
mais également la réponse qu'ils attendaient de l'autre.
Ça a vraiment bien marché,
mais nous avions besoin d'une dimension supplémentaire.
Certaines questions nous en disent plus sur une personne que d'autres.
Par exemple, une question sur la politique, quelque chose comme,
« Qu'est-ce qui est pire : brûler un livre ou brûler un drapeau ? »
pourrait en révéler plus sur quelqu'un que ses goûts cinématographiques.
Et ça n'a pas beaucoup de sens de donner le même poids à toutes ces choses,
nous avons donc ajouté une dernière donnée.
Pour chaque question qu'OK Cupid vous pose,
vous avez la possibilité de nous dire
le rôle qu'elle joue dans votre vie,
ça va de non significatif à obligatoire.
Donc, pour chaque question,
nous avons trois choses pour notre algorithme :
premièrement, votre réponse ;
deuxièmement, comment vous souhaitez que quelqu'un,
votre partenaire potentiel,
réponde
et troisièmement, quelle est l'importance de cette question pour vous.
Avec toutes ces informations,
OK Cupid peut déterminer comment deux personnes s'entendront.
L'algorithme mouline les chiffres et nous donne un résultat.
Comme exemple pratique,
regardons comment on vous fait correspondre à quelqu'un,
que nous appelerons "B".
Votre taux de correspondance avec B est fondé sur
les questions auxquelles vous avez répondu tous les deux.
Appelons la série de questions communes "s".
Comme c'est un exemple très simple, utilisons une petite série "s"
avec seulement deux questions en commun
et calculons la correspondance.
Voici nos deux exemples de questions.
La première, disons, « Êtes-vous bordélique ? »,
les réponses possibles sont
beaucoup,
moyennement
et très organisé.
Disons que vous répondiez « très organisé »,
et que vous souhaitez que l'autre réponde « très organisé »,
et que cette question est très importante pour vous.
Fondamentalement vous êtes un maniaque de la propreté.
Vous êtes propre,
vous voulez que l'autre soit propre
et c'est comme ça.
Supposons que B soit un peu différent.
Il a répondu très organisé pour lui-même,
mais moyennement est correct pour lui
comme réponse de l'autre,
et la question n'a pas d'importance pour lui.
Regardons la seconde question,
c'est l'une de notre exemple précédent :
« Aimez-vous être le centre de l'attention ? »
Les réponses sont uniquement oui et non.
Donc vous avez répondu « Non »,
vous attendez comme réponse de l'autre « non »,
et la question est faiblement importante pour vous.
Maintenant B a répondu « Oui »,
il attend quelqu'un qui réponde « Non »,
parce qu'il veut la lumière pour lui
et la question est plutôt importante pour lui.
Essayons de calculer tout ça.
Notre première étape est,
comme nous utilisons des ordinateurs,
nous devons assigner des valeurs numériques
aux idées comme « plutôt important » et « très important »
parce que les ordinateurs ont besoin que tout soit chiffré.
Nous, à OK Cupid, avons choisi l'échelle suivante :
non significatif vaut 0,
un peu important vaut 1,
plutôt important vaut 10,
très important est 50
et obligatoire vaut 250.
Ensuite, l'algorithme fait deux calculs simples.
Le premier est « à quel niveau les réponses de B sont satisfaisantes pour vous »,
ce qui revient « à combien de points a B sur votre échelle ? »
Vous avez indiqué que la réponse de B
à la première question à propos du rangement
était très importante pour vous.
Ça vaut 50 points et B les as eus.
La seconde question vaut seulement 1
parce que vous avez répondu que c'était seulement un peu important
et B avait répondu faux.
Donc les réponses de B valent 50 points sur 51.
C'est 98% de satisfaction.
C'est vraiment bon.
La seconde question que regarde l'algorithme
est à quel niveau vous satisfaites B.
B a placé un point sur votre réponse
à la question sur le rangement
et 10 à votre réponse à la seconde.
Sur ces 11 points, c'est 1 plus 10,
vous gagnez 10,
vous correspondez l'un à l'autre pour la seconde question.
Donc vos réponses donnent 10 sur 11
ce qui vaut 91% de satisfaction pour B.
Ce n'est pas mal.
L'étape finale est de prendre les deux pourcentages de correspondances
et d'obtenir un chiffre pour vous deux.
Pour faire ça, l'algorithme multiplie vos résultats
et prend la racine n-ième,
où n est le nombre de questions.
Parce que s, le nombre de questions,
dans cet exemple, est seulement 2
nous avons : le pourcentage d'appariement est égal
à la racine carrée de 98% fois 91%.
Qui est égal à 94%.
Ce 94% est votre taux d'appariement avec B.
C'est l'expression mathématique
de comment vous seriez heureux l'un avec l'autre
fondé sur ce que nous savons.
Maintenant, pourquoi est-ce que l'algorithme multiplie au lieu de
faire la moyenne des deux taux de correspondances ensemble
puis prend la racine carrée ?
En général, cette formule est appelée la moyenne géométrique,
c'est une bonne façon de combiner des valeurs
qui ont de grandes variations
et présentent des propriétés très différentes.
En d'autres mots, c'est parfait pour un appariement sentimental.
On a de grandes plages de valeurs
et des quantités de valeurs différentes,
comme je l'ai dit, au sujet des films,
de la politique,
de la religion,
de tout.
Intuitivement, aussi, ça a du sens.
Deux personnes qui se correspondent chacune à 50%
devraient être une meilleure combinaison
que deux autres qui se correspondent à 0 et 100,
parce que l'affection doit être mutuelle.
Après avoir ajouté une petite correction pour la marge d'erreur
dans le cas où on a très peu de questions,
comme dans l'exemple,
on est prêt.
À chaque fois qu'OK Cupid associe deux personnes,
on passe par les étapes qu'on vient de montrer.
En premier on collecte les données liées aux questions,
puis on compare les choix et les préférences
pour les autres personnes d'une façon mathématique, simple.
Ça, cette capacité à prendre des phénomènes réels
et à les transformer en quelque chose qu'un microprocesseur puisse comprendre,
est, je pense,
la plus importante compétence que quelqu'un puisse avoir actuellement.
De la même façon que vous utilisez des phrases pour raconter une histoire à une personne,
vous utilisez des algorithmes pour raconter une histoire à un ordinateur.
Si vous apprenez la langue,
vous pouvez sortir et raconter des histoires.
J'espère que ça vous aidera à le faire.