Python – Frecuencia de bigramas en string

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))) 
Producción :

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))) 
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *