{"id":135,"date":"2017-10-26T16:34:07","date_gmt":"2017-10-26T14:34:07","guid":{"rendered":"http:\/\/www.julienrossi.com\/blog\/?p=135"},"modified":"2017-11-01T16:14:50","modified_gmt":"2017-11-01T15:14:50","slug":"encore-une-fois-correlation-causalite","status":"publish","type":"post","link":"https:\/\/www.julienrossi.com\/blog\/2017\/10\/26\/encore-une-fois-correlation-causalite\/","title":{"rendered":"Encore une fois, corr\u00e9lation != causalit\u00e9"},"content":{"rendered":"<p><em>Ce billet de blog appartient \u00e0 une s\u00e9rie destin\u00e9e \u00e0 raconter mes aventures dans le monde de la fouille de donn\u00e9es et de l&#8217;analyse textuelle automatique. Mon objectif (personnel) est d&#8217;explorer par la pratique les difficult\u00e9s \u00e9pist\u00e9mologiques et m\u00e9thodologiques rencontr\u00e9es dans ce type d&#8217;exercice. Mais aussi de parvenir \u00e0 d\u00e9terminer des cas dans lesquels de tels outils sont bel et bien utiles.<\/em><\/p>\n<p><em>Le terrain choisi pour cette exp\u00e9rience est l&#8217;analyse des courriels diffus\u00e9s sur la <a href=\"https:\/\/lists.w3.org\/Archives\/Public\/public-tracking\/\">liste de diffusion publique du groupe d&#8217;int\u00e9r\u00eat sur la vie priv\u00e9e du W3C<\/a> (Privacy Internet Group &#8211; PING).<\/em><\/p>\n<p>Dans le <a href=\"http:\/\/www.julienrossi.com\/blog\/2017\/10\/26\/quel-indicateur-choisir-frequence-relative-ou-absolue-demploi-dun-mot\/\">pr\u00e9c\u00e9dent billet<\/a> de cette s\u00e9rie,\u00a0 j&#8217;avais \u00e9voqu\u00e9 l&#8217;\u00e9volution de l&#8217;utilisation d&#8217;un terme dans la mailing-list au fur et \u00e0 mesure des mois. Mais quels mots \u00e9voluent en m\u00eame temps ?<\/p>\n<p>Pour le savoir, il faut calculer le coefficient de corr\u00e9lation (<a href=\"http:\/\/grasland.script.univ-paris-diderot.fr\/STAT98\/stat98_6\/stat98_6.htm\">le R de Pearson<\/a>) entre paires de vecteurs comprenant pour chaque mois le nombre de fois ou le mot a \u00e9t\u00e9 utilis\u00e9 (ou bien sa fr\u00e9quence).<\/p>\n<p>La librairie Scipy contient une fonction pearsonr() qui permet de le calculer de fa\u00e7on pratique :<\/p>\n<p><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-14-54-41.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-137 aligncenter\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-14-54-41.png\" alt=\"\" width=\"378\" height=\"62\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-14-54-41.png 378w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-14-54-41-300x49.png 300w\" sizes=\"auto, (max-width: 378px) 100vw, 378px\" \/><\/a><\/p>\n<p>Cette fonction prend comme argument des listes de valeur, et retourne deux donn\u00e9es : le R de Pearson et la \u00ab valeur p \u00bb qui est un indicateur de la fiabilit\u00e9 de la corr\u00e9lation. Pour l&#8217;instant, seul le R de Pearson, c&#8217;est-\u00e0-dire l&#8217;indicateur de corr\u00e9lation nous int\u00e9resse. Celui-ci est \u00e9gal \u00e0 1 en cas de corr\u00e9lation parfaite, et \u00e9gal \u00e0 &#8211; 1 en cas de parfaite corr\u00e9lation inverse.<\/p>\n<p>Gr\u00e2ce \u00e0 Python, nous pouvons tester toutes les combinaisons possibles entre mots utilis\u00e9s dans la mailing-list.<\/p>\n<figure id=\"attachment_138\" aria-describedby=\"caption-attachment-138\" style=\"width: 136px\" class=\"wp-caption alignright\"><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-13-08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-138 size-full\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-13-08.png\" alt=\"\" width=\"136\" height=\"51\" \/><\/a><figcaption id=\"caption-attachment-138\" class=\"wp-caption-text\">Calcul du temps d&#8217;ex\u00e9cution du script de calcul de corr\u00e9lations sur 35 mots<\/figcaption><\/figure>\n<p style=\"padding-left: 30px;\"><span style=\"color: #800000;\"><strong>[Difficult\u00e9]<\/strong><span style=\"color: #000000;\"> Faire cela prend un temps remarquablement fou.<br \/>\nDemander \u00e0 l&#8217;ordinateur de calculer tous les coefficients de corr\u00e9lation pour 34 mots en entr\u00e9e sur une p\u00e9riode de 75 mois g\u00e9n\u00e8re 561 paires de mots entre lesquels le coefficient est calcul\u00e9, ce qui ne prend qu&#8217;un tout petit plus d&#8217;une seconde. Mais faire la m\u00eame chose pour les plus de 22 000 mots utilis\u00e9s dans la liste de diffusion depuis sa cr\u00e9ation &#8230; prend de nombreuses heures (j&#8217;ai \u00e9teint mon ordinateur au bout de 6 heures, il n&#8217;avait pas encore termin\u00e9)<\/span><\/span><\/p>\n<p>Ceci permet de g\u00e9n\u00e9rer un fichier CSV qui indique le coefficient de corr\u00e9lation pour chaque paire de mots test\u00e9e, qu&#8217;il est alors possible de trier dans Calc par ordre croissant ou d\u00e9croissant :<\/p>\n<p><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-23-29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-140\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-23-29-268x300.png\" alt=\"\" width=\"268\" height=\"300\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-23-29-268x300.png 268w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-23-29.png 415w\" sizes=\"auto, (max-width: 268px) 100vw, 268px\" \/><\/a><\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #003300;\"><strong>[Utile] <\/strong><\/span>Ceci permet de r\u00e9v\u00e9ler que certains mots sont probablement souvent utilis\u00e9s ensemble. En effet, &#8220;personal&#8221; et &#8220;data&#8221; sont souvent utilis\u00e9s pour dire &#8220;personal data&#8221;. Ici, l&#8217;exemple est \u00e9vident, et il conviendrait de consid\u00e9rer en r\u00e9alit\u00e9 &#8220;personal data&#8221; comme un terme \u00e0 part (et distinct de &#8220;personal&#8221; et de &#8220;data&#8221; employ\u00e9s tous seuls). Cependant, d&#8217;autres combinaisons moins \u00e9videntes peuvent \u00eatre d\u00e9tect\u00e9es (par exemple : &#8220;payment&#8221; et &#8220;risk&#8221;, &#8220;payment&#8221; et &#8220;sensitive&#8221;, &#8220;browser&#8221; et &#8220;fingerprinting&#8221;). Ce n&#8217;est pas anodin qu&#8217;il y ait une telle corr\u00e9lation entre payment&#8221;, &#8220;sensitive&#8221; et &#8220;risk&#8221; &#8230; Cela montre que le paiement est consid\u00e9r\u00e9 comme un domaine particuli\u00e8rement risqu\u00e9.<\/p>\n<p>Ceci permet des courbes, mais elles ne sont pas forc\u00e9ment bien belles :<\/p>\n<p><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-40-04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-142\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-40-04-300x172.png\" alt=\"\" width=\"300\" height=\"172\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-40-04-300x172.png 300w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-15-40-04.png 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Pourtant, selon le coefficient calcul\u00e9, les courbes devraient bien plus se suivre ! Et pourtant aussi, cela fait sens que les trois mots soient employ\u00e9s ensemble.<\/p>\n<p>En y regardant de plus pr\u00e8s, un des seuls pics communs d&#8217;utilisation de ces trois termes est en janvier 2013. Par curiosit\u00e9, on peut aller voir dans quel contexte on les retrouve ensemble &#8230; Cela serait beau de les voir employ\u00e9s ensemble. Mais, dans la r\u00e9alit\u00e9, le mot &#8220;payment&#8221; n&#8217;est utilis\u00e9 en janvier 2013&#8230; qu&#8217;une seule fois ! Et dans un contexte o\u00f9 il n&#8217;est associ\u00e9 ni \u00e0 la notion de risque, ni \u00e0 celle de paiement :<\/p>\n<p style=\"padding-left: 30px;\">\u00ab <em>For example if users happen to want to donate to Google or Yahoo or Facebook for the great service they provide then these website authors could include a <strong>payment<\/strong> destination for the users chosen advertising network donation. If users want to channel their rewards back to Mega movie viewing rewards then they also have this choice. Obviously this would all need to be a private matter between the user and their chosen advertising network and this may require some enhanced web browser security and perhaps the work of the PUA CG could help but this could depend on how its implemented.<\/em> \u00bb<br \/>\n&#8212; <a href=\"https:\/\/lists.w3.org\/Archives\/Public\/public-privacy\/2013JanMar\/0014.html\">https:\/\/lists.w3.org\/Archives\/Public\/public-privacy\/2013JanMar\/0014.html<\/a><\/p>\n<p>En r\u00e9alit\u00e9, nous ne trouvons que bien peu de trace d&#8217;emploi combin\u00e9 des mots &#8220;payment&#8221;, &#8220;risk&#8221; et &#8220;sensitive&#8221;. C&#8217;eut pourtant \u00e9t\u00e9 beau de pouvoir l&#8217;affirmer statistiques et grosse donn\u00e9e \u00e0 l&#8217;appui ! Mais tout \u00e0 fait malhonn\u00eate. Est-ce \u00e0 dire que les trois termes ne seraient absolument pas reli\u00e9s dans l&#8217;imaginaire des gens qui participent au W3C PING ? Nous ne pouvons pas non plus y conclure par manque d&#8217;informations sur le sujet. Nous avons tout simplement trop peu d&#8217;occurences du mot &#8220;payment&#8221; pour conclure quoi que ce soit de cette analyse quantitative et nous devrions, si la question nous int\u00e9ressait, proc\u00e9der par des m\u00e9thodes qualitatives.<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #800000;\"><strong>[Limite] <\/strong><\/span>Dans un certain nombre de cas, une analyse qualitative peut se r\u00e9v\u00e9ler bien plus pr\u00e9cise et utile qu&#8217;une analyse quantitative, et ce, m\u00eame si a priori le corpus de donn\u00e9es para\u00eet important.<\/p>\n<p>Par ailleurs, la m\u00e9thode d&#8217;analyse par corr\u00e9lation est, pour d\u00e9couvrir le contexte d&#8217;utilisation d&#8217;un mot, bien moins int\u00e9ressante que la m\u00e9thode par analyse de distance entre deux mots dans un texte (l&#8217;analyse de proximit\u00e9 textuelle), qui peut \u00eatre alors repr\u00e9sent\u00e9e sous forme d&#8217;arbre de proximit\u00e9 (nous nous pencherons dessus \u00e0 un autre moment).<\/p>\n<p>Quoi qu&#8217;il en soit, en explorant les corr\u00e9lations entre l&#8217;\u00e9volution de l&#8217;emploi de diff\u00e9rents mots, nous voyons tout de m\u00eame parfois appara\u00eetre de belles courbes. Par exemple, entre les termes &#8220;PING&#8221;, &#8220;PGP&#8221; et &#8220;IETF&#8221;. Est-ce \u00e0 dire que l&#8217;IETF et PING ont discut\u00e9 ensemble du chiffrement par clef PGP ?<\/p>\n<p><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-09-45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-143\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-09-45-300x179.png\" alt=\"\" width=\"300\" height=\"179\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-09-45-300x179.png 300w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-09-45.png 597w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>En f\u00e9vrier 2014, nous voyons une nette corr\u00e9lation entre l&#8217;emploi de ces trois mots !<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #800000;\"><strong>[Difficult\u00e9]<\/strong><\/span> Pourtant, une fois n&#8217;est pas coutume : une corr\u00e9lation statistique ne signifie pas n\u00e9cessairement qu&#8217;il existe une cause pouvant l&#8217;expliquer, et elle peut donc tout \u00e0 fait ne rien vouloir dire du tout. Il faut donc toujours aller v\u00e9rifier si elle veut dire quelque chose, et si oui, ce qu&#8217;elle veut dire, l&#8217;interpr\u00e9tation ne d\u00e9coulant pas automatiquement de la lecture statistique des donn\u00e9es.<\/p>\n<p>Ici, je suis donc aller voir ce qui, en f\u00e9vrier 2014, expliquerait une telle corr\u00e9lation entre les trois termes. En lisant les titres des mails de la p\u00e9riode, on voit appara\u00eetre en effet des discussions sur une r\u00e9union commune W3C PING &#8211; IETF :<\/p>\n<p><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-13-29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-144\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-13-29-300x123.png\" alt=\"\" width=\"300\" height=\"123\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-13-29-300x123.png 300w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-13-29-768x314.png 768w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-13-29.png 1002w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #008000;\"><strong>[UTILE] <\/strong><span style=\"color: #000000;\">Pour une fois, le fait d&#8217;avoir d\u00e9couvert un beau pic de corr\u00e9lation entre deux termes (PING et IETF) a effectivement permis de d\u00e9couvrir une cause : l&#8217;organisation en 2014 d&#8217;une r\u00e9union W3C PING &#8211; IETF. L&#8217;existence de cette r\u00e9union, dont l&#8217;existence contribue \u00e0 montrer l&#8217;existence de discussions entre le W3C et l&#8217;IETF pour d\u00e9finir une approche commune quant \u00e0 la protection de la vie priv\u00e9e dans les standards techniques du web, a pu \u00eatre d\u00e9cel\u00e9e bien plus rapidement qu&#8217;en parcourant \u00e0 la main tous les titres de mails (voire leur contenu) depuis le d\u00e9but de l&#8217;existence de la liste de diffusion.<\/span><\/span><\/p>\n<p>H\u00e9las, il s&#8217;est cependant r\u00e9v\u00e9l\u00e9 que la corr\u00e9lation entre &#8220;PGP&#8221; et le couple &#8220;PING&#8221;\/&#8221;IETF&#8221; n&#8217;avait rien \u00e0 voir avec le th\u00e8me des discussions entre le W3C PING et l&#8217;IETF.<\/p>\n<p>En effet, en lisant les mails de la p\u00e9riode, on ne tombe que sur un seul mail qui parle du contenu de cette r\u00e9union entre W3C PING et IETF. Il s&#8217;agit d&#8217;un morceau du <a href=\"https:\/\/lists.w3.org\/Archives\/Public\/public-privacy\/2014JanMar\/0036.html\">compte-rendu d&#8217;une autre r\u00e9union<\/a>, ayant eu lieu dans les locaux de l&#8217;ONG Center for Democracy and Technology (CDT), o\u00f9 un participant a \u00e9voqu\u00e9 la r\u00e9union PING &#8211; IETF qui venait d&#8217;avoir lieu.<\/p>\n<p>Or, la discussion n&#8217;a pas du tout port\u00e9 sur le chiffrement PGP, mais sur des questions de m\u00e9thode de travail et sur le projet de recommandation de l&#8217;IETF en mati\u00e8re de vie priv\u00e9e (qui a donn\u00e9 la RFC 6973).<\/p>\n<p>D&#8217;o\u00f9 vient donc ce pic d&#8217;utilisation du terme &#8220;PGP&#8221; ?<\/p>\n<figure id=\"attachment_146\" aria-describedby=\"caption-attachment-146\" style=\"width: 300px\" class=\"wp-caption alignright\"><a href=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-25-31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-146\" src=\"http:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-25-31-300x120.png\" alt=\"\" width=\"300\" height=\"120\" srcset=\"https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-25-31-300x120.png 300w, https:\/\/www.julienrossi.com\/blog\/wp-content\/uploads\/2017\/10\/Capture-du-2017-10-26-16-25-31.png 484w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-146\" class=\"wp-caption-text\">Extrait d&#8217;un mail envoy\u00e9 par la personne ayant dans un mail inclut un compte-rendu de la r\u00e9union W3C PING-IETF, et incluant sa signature PGP<\/figcaption><\/figure>\n<p>Tout simplement du fait qu&#8217;un des participants \u00e0 la mailing-list du W3C PING inclut dans ses mails sa signature PGP, et qu&#8217;il a jou\u00e9 un r\u00f4le important dans la r\u00e9union entre le W3C PING et l&#8217;IETF. Il a donc envoy\u00e9 un nombre important de<\/p>\n<p>messages sur la p\u00e9riode, pour effectivement parler d&#8217;un sujet m\u00ealant &#8220;PING&#8221; et &#8220;IETF&#8221;, mais pas &#8220;PGP&#8221;.<\/p>\n<p>Donc cette triple corr\u00e9lation PING &#8211; IETF &#8211; PGP ne nous dit rien sur le th\u00e8me des discussions entre le W3C PING et l&#8217;IETF, mais juste sur une des personnes impliqu\u00e9es dans ces discussions, dont nous apprenons qu&#8217;elle inclut sa clef publique PGP dans ses mails &#8230;<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #800000;\"><strong>[Difficult\u00e9] <\/strong><\/span>Ainsi, <a href=\"http:\/\/www.tylervigen.com\/spurious-correlations\">non seulement il serait vain de trouver une cause \u00e0 toute corr\u00e9lation<\/a>, mais en plus, m\u00eame lorsqu&#8217;une corr\u00e9lation est dot\u00e9e d&#8217;une cause, celle-ci peut \u00eatre compliqu\u00e9e \u00e0 trouver, et m\u00eame impossible \u00e0 trouver par de simples m\u00e9thodes statistiques. Or, v\u00e9rifier par des m\u00e9thodes qualitatives chaque corr\u00e9lation statistique peut prendre beaucoup, beaucoup de temps &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ce billet de blog appartient \u00e0 une s\u00e9rie destin\u00e9e \u00e0 raconter mes aventures dans le monde de la fouille de donn\u00e9es et de l&#8217;analyse textuelle automatique. Mon objectif (personnel) est d&#8217;explorer par la pratique les difficult\u00e9s \u00e9pist\u00e9mologiques et m\u00e9thodologiques rencontr\u00e9es&#8230;<\/p>\n","protected":false},"author":1,"featured_media":143,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,2],"tags":[7,8,11,9,6,5,4],"class_list":["post-135","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gouvernance-dinternet","category-voyages-au-pays-de-la-grosse-donnee","tag-analyse-textuelle","tag-big-data","tag-ietf","tag-methodologie","tag-statistiques","tag-vie-privee","tag-w3c"],"_links":{"self":[{"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":5,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":148,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions\/148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/media\/143"}],"wp:attachment":[{"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.julienrossi.com\/blog\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}