A veces, mientras trabajamos con Python Data, podemos tener problemas en los que necesitamos extraer bigramas de una string. Esto tiene aplicación en los dominios de la PNL. Pero a veces, necesitamos calcular la frecuencia de un bigrama único para la recopilación de datos. La solución a este problema puede ser útil. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar la Counter()
expresión del generador +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, calculamos la frecuencia usando Counter() y el cálculo de bigramas usando la expresión del generador y el corte de strings.
# Python3 code to demonstrate working of # Bigrams Frequency in String # Using Counter() + generator expression from collections import Counter # initializing string test_str = 'geeksforgeeks' # printing original string print("The original string is : " + str(test_str)) # Bigrams Frequency in String # Using Counter() + generator expression res = Counter(test_str[idx : idx + 2] for idx in range(len(test_str) - 1)) # printing result print("The Bigrams Frequency is : " + str(dict(res)))
La string original es: geeksforgeeks
La frecuencia de bigramas es: {‘ee’: 2, ‘ks’: 2, ‘ek’: 2, ‘sf’: 1, ‘fo’: 1, ‘ge’: 2, ‘rg ‘: 1, ‘o’: 1}
Método #2: UsarCounter() + zip() + map() + join
La combinación de las funciones anteriores también se puede usar para resolver este problema. En esto, realizamos la tarea de construir bigramas usando zip() + map() + join.
# Python3 code to demonstrate working of # Bigrams Frequency in String # Using Counter() + zip() + map() + join from collections import Counter # initializing string test_str = 'geeksforgeeks' # printing original string print("The original string is : " + str(test_str)) # Bigrams Frequency in String # Using Counter() + zip() + map() + join res = Counter(map(''.join, zip(test_str, test_str[1:]))) # printing result print("The Bigrams Frequency is : " + str(dict(res)))
La string original es: geeksforgeeks
La frecuencia de bigramas es: {‘ee’: 2, ‘ks’: 2, ‘ek’: 2, ‘sf’: 1, ‘fo’: 1, ‘ge’: 2, ‘rg ‘: 1, ‘o’: 1}
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