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.