Esta utilidad en particular tiene mucha demanda hoy en día debido a los requisitos de cálculo de similitud en muchos campos de la informática, como el aprendizaje automático, la IA y los dominios de desarrollo web, por lo que las técnicas para calcular la similitud entre cualquier contenedor pueden ser muy útiles. Vamos a discutir ciertas formas en que esto se puede hacer.
Método n.° 1: Uso del enfoque ingenuo( sum() + zip()
)
Podemos realizar esta tarea en particular utilizando el enfoque ingenuo, utilizando las funciones de suma y compresión podemos formular una función de utilidad que puede calcular la similitud de ambas strings.
# Python3 code to demonstrate # similarity between strings # using naive method (sum() + zip()) # Utility function to compute similarity def similar(str1, str2): str1 = str1 + ' ' * (len(str2) - len(str1)) str2 = str2 + ' ' * (len(str1) - len(str2)) return sum(1 if i == j else 0 for i, j in zip(str1, str2)) / float(len(str1)) # Initializing strings test_string1 = 'Geeksforgeeks' test_string2 = 'Geeks4geeks' # using naive method (sum() + zip()) # similarity between strings res = similar(test_string1, test_string2) # printing the result print ("The similarity between 2 strings is : " + str(res))
The similarity between 2 strings is : 0.38461538461538464
Método n.º 2: usarSequenceMatcher.ratio()
Hay un método incorporado que ayuda a realizar esta tarea en particular y se recomienda para lograr esta tarea en particular, ya que no requiere un enfoque personalizado, sino que utiliza construcciones integradas para realizar la tarea de manera más eficiente.
# Python3 code to demonstrate # similarity between strings # using SequenceMatcher.ratio() from difflib import SequenceMatcher # Utility function to compute similarity def similar(str1, str2): return SequenceMatcher(None, str1, str2).ratio() # Initializing strings test_string1 = 'Geeksforgeeks' test_string2 = 'Geeks' # using SequenceMatcher.ratio() # similarity between strings res = similar(test_string1, test_string2) # printing the result print ("The similarity between 2 strings is : " + str(res))
The similarity between 2 strings is : 0.5555555555555556
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA