Python | Métriques de similarité de chaînes

| | |

Méthode n° 1 : Utiliser une approche naïve (sum () + zip () )
Nous pouvons accomplir cette tâche particulière en utilisant une approche naïve en utilisant les fonctions sum et zip, nous pouvons formuler une fonction utilitaire qui peut calculer la similarité des deux chaînes.


# Code de démonstration Python3
# similitude entre les lignes
# utilisation de la méthode naïve (sum () + zip ())


# Fonction utilitaire pour calculer la similarité

def similaire (str1, str2) :

str1 = str1 + `` * ( len (str2) - len (str1) )

str2 = str2 + `` * ( len (str1) - len (str2))

return sum ( 1 if je = = j else 0

pour i, j dans zip (str1, str2)) / float ( len (str1))


# Initialisation des chaînes

test_string1 = ` Geeksforgeeks`

test_string2 = `Geeks4geeks`


# utilisant la méthode naïve (sum () + zip ())
# similarité ligne à ligne

res = similaire (test_string1, test_string2)


# imprimer le résultat

print ( "La similarité entre 2 chaînes est :" + str (res))

Résultat :

La similarité entre 2 chaînes est : 0,38461538461538464 

Méthode n° 2 : Utilisation de SequenceMatcher.ratio ()
Il existe une méthode intégrée qui aide à accomplir cette tâche spécifique, et il est recommandé de faire cette tâche spécifique car elle ne nécessite pas d`approche particulière, mais utilise des constructions intégrées pour accomplir la tâche plus efficacement. / p>

# code de démonstration Python3
# similarité ligne à ligne
# utilisation de SequenceMatcher.ratio ()

de difflib importer SequenceMatcher


# Fonction utilitaire pour calculer la similarité

def similaire (str1, str2) :

return SequenceMatcher ( Aucun , str1, str2) .ratio ()


# Initialisation de la ligne

test_string1 = `Geeksforgeeks`

test_string2 = `Geeks`


# using SequenceMatcher.ratio ( )
# similarité entre les lignes

res = similaire (test_string1, test_string2)


# print result

print ( "La similarité entre 2 chaînes est :" + str (res ))

Sortie :

La similarité entre 2 chaînes est : 0,5555555555555556 

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method