Floue Comparaison De Chaînes De Caractères

Ce que je cherche à compléter est un programme qui lit dans un fichier et de comparer chaque phrase selon la phrase d'origine. La phrase qui est un match parfait à l'origine recevrez un score de 1 et une phrase qui est tout l'opposé recevrez un 0. Tous les autres floue phrases recevra une note entre 1 et 0.

Je ne suis pas certain de l'opération pour laquelle l'utiliser pour me permettre de terminer dans Python 3.

J'ai inclus dans l'échantillon de texte dans laquelle le Texte 1 est l'original et l'autre précédent chaînes sont les comparaisons.

Texte: Exemple De

Texte 1: Il était une nuit sombre et orageuse. J'étais tout seul, assis sur une chaise rouge. Je n'étais pas complètement seul que j'ai eu trois chats.

Texte 20: C'était un trouble et nuit d'orage. J'étais tout seul, assis sur un crimson président. Je n'étais pas complètement seul que j'ai eu trois félins
//Devrait score haut point, mais pas 1

Texte 21: C'était un trouble et agitée la nuit. J'étais tout seul, assis sur un crimson cathedra. Je n'étais pas complètement seul que j'ai eu trois félins
//Devrait score inférieur à celui du texte le 20

Texte 22: j'étais tout seul, assis sur un crimson cathedra. Je n'étais pas complètement seul que j'ai eu trois félins. C'était un trouble et agitée la nuit.
//Devrait score inférieur à celui du texte 21 mais PAS 0

Texte 24: C'était une nuit sombre et orageuse. Je n'étais pas seule. Je n'étais pas assis sur une chaise rouge. J'ai eu trois chats.
//Devrait score de 0!

  • Semble que vous voulez calculer le Levenshtein (ou distance d'édition métrique). Maintenant, si vous le maximum de distance, vous avez juste à l'échelle des scores pour la gamme [0,1].
  • Merci pour votre aide @Felix Kling la difflib peut-être la voie à suivre.
  • Trop mauvais, il a été supprimé....
  • Pourquoi devrait-chaîne 1 et 24 de zéro? Ils ont exactement la même première phrase. La 2e phrase 1 est presque la même que la phrase 2+3 dans les 24 (seule différence, c'est "non", et une "je n'étais pas").. Numériquement, ils sont TRÈS similaires. Sémantiquement ils sont différents, mais si vous demandez à un ordinateur à comprendre la signification d'une phrase, alors vous demandez peut-être trop.