Python | Métricas de similitud de cadenas

| | |

Método n.° 1: usar un enfoque ingenuo (sum () + zip () )
Podemos realizar esta tarea en particular usando un enfoque ingenuo usando las funciones sum y zip, podemos formular una función de utilidad que pueda calcular la similitud de ambas cadenas.


# Código de demostración de Python3
# similitud entre líneas
# usando el método ingenuo (sum() + zip())


# Función de utilidad para calcular la similitud

def similar (str1, str2):

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

str2 = str2 + < clase de código = "cadena"> `` * ( len (str1) - len (str2))

return suma ( 1 si i = = j más 0

para i, j en zip (str1, str2)) / float ( len (str1))


# Inicializando cadenas

test_string1 = ` Geeksforgeeks`

test_string2 = `Geeks4geeks`


# usando el método ingenuo (suma () + zip ())
# similitud línea a línea

res = similar (test_string1, test_string2)


# imprimir resultado

imprimir ( "La similitud entre 2 cadenas es:" + str (res))

Salida:

La similitud entre 2 cadenas es: 0.38461538461538464 

Método # 2: Usar SequenceMatcher.ratio ()
Hay un método incorporado que ayuda a realizar esta tarea específica, y se recomienda realizar esta tarea específica ya que no requiere un enfoque especial, pero utiliza construcciones integradas para realizar la tarea de manera más eficiente. / p>

# Código de demostración de Python3
# similitud línea a línea
# usando SequenceMatcher.ratio ()

de difflib importar SequenceMatcher


# Función de utilidad para calcular la similitud

def similar (str1, str2):

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


# Inicialización de línea

test_string1 = `Geeksforgeeks`

test_string2 = `Geeks`


# usando SequenceMatcher.ratio ( )
# similitud entre líneas

res = similar (test_string1, test_string2)


# imprimir resultado

print ( "La similitud entre 2 cadenas es:" + str (res ))

Salida:

La similitud entre 2 cadenas es: 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