{"id":7178,"date":"2021-12-15T18:34:25","date_gmt":"2021-12-15T17:34:25","guid":{"rendered":"https:\/\/www.mathweb.fr\/euclide\/?p=7178"},"modified":"2021-12-15T18:34:27","modified_gmt":"2021-12-15T17:34:27","slug":"intelligence-artificielle-comparaison-de-deux-mots","status":"publish","type":"post","link":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/","title":{"rendered":"Intelligence artificielle: comparaison de deux mots"},"content":{"rendered":"\n<p>J&#8217;avais envie depuis quelques temps de me pencher sur l&#8217;intelligence artificielle et plus particuli\u00e8rement sur la comparaison de deux mots.<\/p>\n\n\n\n<p>Je me demandais comment un programme pouvait faire pour d\u00e9tecter les fautes d&#8217;orthographe. Par exemple, qua,d on tape sur un moteur de recherche &#8220;anagrame&#8221;, il nous sugg\u00e8re &#8220;anagramme&#8221;. Comment est-ce possible en Python ? <\/p>\n\n\n\n<!--more-->\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Au menu sur cette page...<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Intelligence_artificielle_et_comparaison_de_deux_mots_les_debuts\" >Intelligence artificielle et comparaison de deux mots: les d\u00e9buts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Intelligence_artificielle_et_comparaison_de_deux_mots_la_distance_de_Jaro-Winkler\" >Intelligence artificielle et comparaison de deux mots: la distance de Jaro-Winkler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Intelligence_artificielle_et_comparaison_de_deux_mots_distance_de_Levenshtein\" >Intelligence artificielle et comparaison de deux mots: distance de Levenshtein<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Intelligence_artificielle_et_comparaison_de_deux_mots_dautres_distances\" >Intelligence artificielle et comparaison de deux mots: d&#8217;autres distances<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Un_premier_exemple\" >Un premier exemple<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Un_deuxieme_exemple\" >Un deuxi\u00e8me exemple<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#Un_troisieme_exemple_anglais\" >Un troisi\u00e8me exemple (anglais)<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Intelligence_artificielle_et_comparaison_de_deux_mots_les_debuts\"><\/span>Intelligence artificielle et comparaison de deux mots: les d\u00e9buts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Bien entendu, nous connaissons toutes et tous la comparaison directe de deux cha\u00eenes de caract\u00e8res:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">def compare(a , b):\n    return a == b<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>>>> compare(\"toto\" , \"tata\")\nTrue<\/code><\/pre>\n\n\n\n<p>Bien entendu, cette m\u00e9thode n&#8217;est pas du tout satisfaisante car c&#8217;est bien trop binaire&#8230; Nous devons imaginer une fonction qui admette une certaine tol\u00e9rance en terme d&#8217;orthographe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Intelligence_artificielle_et_comparaison_de_deux_mots_la_distance_de_Jaro-Winkler\"><\/span>Intelligence artificielle et comparaison de deux mots: la distance de Jaro-Winkler<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Parlons math\u00e9matiques&#8230; et munissons l&#8217;ensemble des mots d&#8217;une distance un peu sp\u00e9ciale: la <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Distance_de_Jaro-Winkler\" target=\"_blank\" rel=\"noreferrer noopener\">distance de Jaro-Winkler<\/a>.<\/p>\n\n\n\n<p>Pour deux cha\u00eenes de caract\u00e8res, on la d\u00e9finit ainsi:$$d(s_1,s_2)=\\frac{1}{3}\\left( \\frac{m}{|s_1|}+\\frac{m}{|s_2|}+\\frac{m-t}{m} \\right)$$ o\u00f9:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\\(|s_k|\\) repr\u00e9sente le nombre de caract\u00e8res de \\(s_k\\);<\/li><li>\\(m\\) repr\u00e9sente le nombre de caract\u00e8res commun aux deux cha\u00eenes;<\/li><li>\\(t\\) repr\u00e9sente le nombre de transpositions des caract\u00e8res qui ne sont pas &#8220;\u00e0 la bonne place&#8221;.<\/li><\/ul>\n\n\n\n<p>Je reprends ici l&#8217;exemple de wikipedia : <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\\(s_1\\) = &#8220;MARTHA&#8221;<\/li><li>\\(s_2\\) = &#8220;MARHTA&#8221;<\/li><li>il y a 6 caract\u00e8res communs aux deux cha\u00eenes donc \\(m=6\\);<\/li><li>les deux cha\u00eenes donnent deux ensembles <em>ordonn\u00e9s<\/em> : {M,A,R,T,H,A} et {M, A, R, H, T, A}. Les 3 premiers \u00e9l\u00e9ments co\u00efncident, ainsi que les deux derniers. Seuls {T, H} et {H, T} ne co\u00efncident pas, soit 1 transposition.<\/li><\/ul>\n\n\n\n<p>Je ne vais pas m&#8217;attarder sur cela car la page wikipedia donnent plusieurs exemples pour mieux comprendre, donc jetez-y un coup d\u2019\u0153il. <\/p>\n\n\n\n<p>Jusqu&#8217;\u00e0 pr\u00e9sent, nous n&#8217;avons manipul\u00e9 que la <em>distance de Jaro<\/em>. Winkler a ajout\u00e9 \u00e0 cette technique une autre chose: <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>La m\u00e9thode introduite par Winkler utilise un <em>coefficient de pr\u00e9fixe<\/em> p qui favorise les cha\u00eenes commen\u00e7ant par un pr\u00e9fixe de longueur \u2113 (avec \u2113 \u2264 4).<\/p><cite>Wikipedia<\/cite><\/blockquote>\n\n\n\n<p>La distance de Jaro-Winkler est donc bien plus performante que celle de Jaro.<\/p>\n\n\n\n<p>En Python, il existe un module qui nous permet d&#8217;obtenir cette distance: le module <strong><em>jaro<\/em><\/strong>. Pour l&#8217;installer avec PIP :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install jaro<\/code><\/pre>\n\n\n\n<p>Ainsi, pour conna\u00eetre la distance entre &#8220;cha\u00eene&#8221; et &#8220;ch\u00eane&#8221;, on aura:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>>>> a, b = \"ch\u00eane\", \"cha\u00eene\"\n>>> from jaro import jaro_winkler_metric\n>>> jaro_winkler_metric(a , b)\n0.8577777777777779\n>>> c = \"chienne\"\n>>> jaro_winkler_metric(a , c)\n0.7657142857142858\n>>> d = \"cha\u00eenne\"\n>>> jaro_winkler_metric(str1,d)\n0.9714285714285714<\/code><\/pre>\n\n\n\n<p>Donc d&#8217;apr\u00e8s cette distance, &#8220;cha\u00eene&#8221; est plus proche de &#8220;ch\u00eane&#8221; que de &#8220;chienne&#8221;.<\/p>\n\n\n\n<p>Et quand on compare &#8220;cha\u00eenne&#8221; (avec une faute de frappe&#8221; \u00e0 &#8220;cha\u00eene&#8221;, la distance et proche de 1&#8230; Pas mal !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Intelligence_artificielle_et_comparaison_de_deux_mots_distance_de_Levenshtein\"><\/span>Intelligence artificielle et comparaison de deux mots: distance de Levenshtein<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>La <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Distance_de_Levenshtein\" target=\"_blank\" rel=\"noreferrer noopener\">distance de Levenshtein<\/a> est une autre distance possible pour comparer deux mots.<\/p>\n\n\n\n<p>Je passe les d\u00e9tails de sa d\u00e9finition (disponibles sur la page de wikipedia) et vais directement aborder le c\u00f4t\u00e9 Python. <\/p>\n\n\n\n<p>En effet, il existe fort heureusement un module qui nous permet de la calculer directement: le module \u00e9ponyme. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install Levenshtein<\/code><\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from jaro import jaro_winkler_metric\nfrom Levenshtein import distance, ratio\n\nstr1 = \"urluberlu\"\nstr2 = \"urlubrelu\"\n\nprint ( jaro_winkler_metric(str1 , str2) )\nprint ( 'Distance : {} ; ratio : {}' . format(distance(str1,str2) , ratio(str1,str2)) )<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>0.9777777777777777\nDistance : 2 ; ratio : 0.8888888888888888<\/code><\/pre>\n\n\n\n<p>J&#8217;ai voulu ici comparer les r\u00e9sultats obtenus avec les deux distances : Jaro-Winkler d&#8217;une part, et Levenshtein d&#8217;autre part.<\/p>\n\n\n\n<p>La distance de Jaro-Winkler entre les deux cha\u00eenes est tr\u00e8s proche de 1, bien plus que le ration donn\u00e9 par Levenshtein. Notez ici que la distance de Levenshtein est une r\u00e9elle distance dans le sens o\u00f9 plus elle est \u00e9loign\u00e9e de 0, plus cela signifie que les deux cha\u00eenes sont \u00e9loign\u00e9es l&#8217;une de l&#8217;autre. Ici, le couple (<em>distance<\/em> , <em>ratio<\/em>) nous conforte dans notre prise de d\u00e9cision: si la distance est \u00e9loign\u00e9e de 0 et si le ration est \u00e9loign\u00e9e de 1, on peut prendre la d\u00e9cision de conclure que les deux cha\u00eenes n&#8217;ont rien \u00e0 voir l&#8217;une avec l&#8217;autre.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from jaro import jaro_winkler_metric\nfrom Levenshtein import distance, ratio\n\nstr1 = \"drosophile\"\nstr2 = \"mouche\"\n\nprint ( 'Distance de Jaro-Winkler : {}' . format(jaro_winkler_metric(str1 , str2)) )\nprint ( 'Distance : {} ; ratio : {}' . format(distance(str1,str2) , ratio(str1,str2)) )<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Distance de Jaro-Winkler : 0.6\nDistance : 7 ; ratio : 0.375<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Intelligence_artificielle_et_comparaison_de_deux_mots_dautres_distances\"><\/span>Intelligence artificielle et comparaison de deux mots: d&#8217;autres distances<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Il existe bien plus de distances que les deux cit\u00e9s dans cet article<\/p>\n\n\n\n<p>Le module Python <em><strong><a href=\"https:\/\/pypi.org\/project\/textdistance\/\" target=\"_blank\" rel=\"noreferrer noopener\">textdistance<\/a><\/strong><\/em> en contient plus de 30.<\/p>\n\n\n\n<p>Parmi ces distances, on retrouve celle de Jaro-Winkler et celle de Levenshtein, mais il y en a deux autres assez int\u00e9ressantes: les distances phon\u00e9tiques RMA et Editex.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install textdistance<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Un_premier_exemple\"><\/span>Un premier exemple<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from textdistance import mra, editex, hamming, levenshtein, jaro_winkler\n\nstr1 = \"philosofie\"\nstr2 = \"philosophie\"\n\nprint ( 'Distance de Jaro-Winkler : {}' . format(jaro_winkler(str1 , str2)) )\nprint ( 'Distance de Levenshtein : {}' . format(levenshtein(str1,str2)) )\nprint ( 'Distance de Hamming : {}' . format(hamming(str1,str2)) )\nprint ( 'Distance phon\u00e9tique MRA : {}' . format( mra.distance(str1,str2) ))\nprint ( 'Distance phon\u00e9tique Editex : {}' . format( editex.distance(str1,str2) ))<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Distance de Jaro-Winkler : 0.9436363636363637\nDistance de Levenshtein : 2\nDistance de Hamming : 4\nDistance phon\u00e9tique MRA : 2\nDistance phon\u00e9tique Editex : 3<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Un_deuxieme_exemple\"><\/span>Un deuxi\u00e8me exemple<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from textdistance import mra, editex, hamming, levenshtein, jaro_winkler\n\nstr1 = \"filosofi\"\nstr2 = \"philosophie\"\n\nprint ( 'Distance de Jaro-Winkler : {}' . format(jaro_winkler(str1 , str2)) )\nprint ( 'Distance de Levenshtein : {}' . format(levenshtein(str1,str2)) )\nprint ( 'Distance de Hamming : {}' . format(hamming(str1,str2)) )\nprint ( 'Distance phon\u00e9tique MRA : {}' . format( mra.distance(str1,str2) ))\nprint ( 'Distance phon\u00e9tique Editex : {}' . format( editex.distance(str1,str2) ))<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Distance de Jaro-Winkler : 0.7651515151515151\nDistance de Levenshtein : 5\nDistance de Hamming : 11\nDistance phon\u00e9tique MRA : 6\nDistance phon\u00e9tique Editex : 7<\/code><\/pre>\n\n\n\n<p>La comparaison phon\u00e9tique en fran\u00e7ais semble ne pas trop bien fonctionner par rapport \u00e0 l&#8217;anglais :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Un_troisieme_exemple_anglais\"><\/span>Un troisi\u00e8me exemple (anglais)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"dracula\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from textdistance import mra, editex, hamming, levenshtein, jaro_winkler\n\nstr1 = \"engine\"\nstr2 = \"ingeane\"\n\nprint ( 'Distance de Jaro-Winkler : {}' . format(jaro_winkler(str1 , str2)) )\nprint ( 'Distance de Levenshtein : {}' . format(levenshtein(str1,str2)) )\nprint ( 'Distance de Hamming : {}' . format(hamming(str1,str2)) )\nprint ( 'Distance phon\u00e9tique MRA : {}' . format( mra.distance(str1,str2) ))\nprint ( 'Distance phon\u00e9tique Editex : {}' . format( editex.distance(str1,str2) ))<\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Distance de Jaro-Winkler : 0.6626984126984127\nDistance de Levenshtein : 3\nDistance de Hamming : 5\nDistance phon\u00e9tique MRA : 1\nDistance phon\u00e9tique Editex : 3<\/code><\/pre>\n\n\n\n<p>Ici, l\u00e0 o\u00f9 la distance de Jaro-Winkler est relativement \u00e9loign\u00e9e de 1, la distance MRA est proche de 0, contrairement aux exemples fran\u00e7ais. Hasard des mots ?&#8230;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&#8217;avais envie depuis quelques temps de me pencher sur l&#8217;intelligence artificielle et plus particuli\u00e8rement sur la comparaison de deux mots. Je me demandais comment un programme pouvait faire pour d\u00e9tecter les fautes d&#8217;orthographe. Par exemple, qua,d on tape sur un moteur de recherche &#8220;anagrame&#8221;, il nous sugg\u00e8re &#8220;anagramme&#8221;. Comment est-ce [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[337,336,334,335,333,101,332],"class_list":["post-7178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-comparaison","tag-comparer","tag-ia","tag-intelligence-artificielle","tag-mots","tag-python","tag-reconnaissance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Intelligence artificielle: comparaison de deux mots - Mathweb.fr<\/title>\n<meta name=\"description\" content=\"Comparaison de mots \u00e0 l&#039;aide de l&#039;intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Intelligence artificielle: comparaison de deux mots - Mathweb.fr\" \/>\n<meta property=\"og:description\" content=\"Comparaison de mots \u00e0 l&#039;aide de l&#039;intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/\" \/>\n<meta property=\"og:site_name\" content=\"Mathweb.fr\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-15T17:34:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-15T17:34:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"740\" \/>\n\t<meta property=\"og:image:height\" content=\"198\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Pasquet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Pasquet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/\"},\"author\":{\"name\":\"St\u00e9phane Pasquet\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"headline\":\"Intelligence artificielle: comparaison de deux mots\",\"datePublished\":\"2021-12-15T17:34:25+00:00\",\"dateModified\":\"2021-12-15T17:34:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/\"},\"wordCount\":763,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/intelligence-atificielle-comparaison-mots.jpg\",\"keywords\":[\"comparaison\",\"comparer\",\"ia\",\"intelligence artificielle\",\"mots\",\"python\",\"reconnaissance\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/\",\"name\":\"Intelligence artificielle: comparaison de deux mots - Mathweb.fr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/intelligence-atificielle-comparaison-mots.jpg\",\"datePublished\":\"2021-12-15T17:34:25+00:00\",\"dateModified\":\"2021-12-15T17:34:27+00:00\",\"description\":\"Comparaison de mots \u00e0 l'aide de l'intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/intelligence-atificielle-comparaison-mots.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/intelligence-atificielle-comparaison-mots.jpg\",\"width\":740,\"height\":198,\"caption\":\"intelligence artificielle comparaison mots\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/2021\\\/12\\\/15\\\/intelligence-artificielle-comparaison-de-deux-mots\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Intelligence artificielle: comparaison de deux mots\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#website\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/\",\"name\":\"Mathweb.fr\",\"description\":\"Math\u00e9matiques, LaTeX et Python\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/#\\\/schema\\\/person\\\/e4d3bb07968238378f0d5052a70dcd69\",\"name\":\"St\u00e9phane Pasquet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"url\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"contentUrl\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\",\"width\":74,\"height\":77,\"caption\":\"St\u00e9phane Pasquet\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.mathweb.fr\\\/euclide\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-logo-mathweb.webp\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Intelligence artificielle: comparaison de deux mots - Mathweb.fr","description":"Comparaison de mots \u00e0 l'aide de l'intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/","og_locale":"fr_FR","og_type":"article","og_title":"Intelligence artificielle: comparaison de deux mots - Mathweb.fr","og_description":"Comparaison de mots \u00e0 l'aide de l'intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.","og_url":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/","og_site_name":"Mathweb.fr","article_published_time":"2021-12-15T17:34:25+00:00","article_modified_time":"2021-12-15T17:34:27+00:00","og_image":[{"width":740,"height":198,"url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Pasquet","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"St\u00e9phane Pasquet","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#article","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/"},"author":{"name":"St\u00e9phane Pasquet","@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"headline":"Intelligence artificielle: comparaison de deux mots","datePublished":"2021-12-15T17:34:25+00:00","dateModified":"2021-12-15T17:34:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/"},"wordCount":763,"commentCount":0,"publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg","keywords":["comparaison","comparer","ia","intelligence artificielle","mots","python","reconnaissance"],"articleSection":["Python"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/","url":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/","name":"Intelligence artificielle: comparaison de deux mots - Mathweb.fr","isPartOf":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#primaryimage"},"image":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg","datePublished":"2021-12-15T17:34:25+00:00","dateModified":"2021-12-15T17:34:27+00:00","description":"Comparaison de mots \u00e0 l'aide de l'intelligence artificielle en Python: nous abordons les distances de cha\u00eenes de caract\u00e8res dans cet article.","breadcrumb":{"@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#primaryimage","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2021\/12\/intelligence-atificielle-comparaison-mots.jpg","width":740,"height":198,"caption":"intelligence artificielle comparaison mots"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mathweb.fr\/euclide\/2021\/12\/15\/intelligence-artificielle-comparaison-de-deux-mots\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.mathweb.fr\/euclide\/"},{"@type":"ListItem","position":2,"name":"Intelligence artificielle: comparaison de deux mots"}]},{"@type":"WebSite","@id":"https:\/\/www.mathweb.fr\/euclide\/#website","url":"https:\/\/www.mathweb.fr\/euclide\/","name":"Mathweb.fr","description":"Math\u00e9matiques, LaTeX et Python","publisher":{"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mathweb.fr\/euclide\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.mathweb.fr\/euclide\/#\/schema\/person\/e4d3bb07968238378f0d5052a70dcd69","name":"St\u00e9phane Pasquet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","url":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","contentUrl":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp","width":74,"height":77,"caption":"St\u00e9phane Pasquet"},"logo":{"@id":"https:\/\/www.mathweb.fr\/euclide\/wp-content\/uploads\/2025\/06\/cropped-logo-mathweb.webp"}}]}},"_links":{"self":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/7178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/comments?post=7178"}],"version-history":[{"count":0,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/posts\/7178\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media\/7179"}],"wp:attachment":[{"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/media?parent=7178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/categories?post=7178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mathweb.fr\/euclide\/wp-json\/wp\/v2\/tags?post=7178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}