Formación de bigramas a partir de una lista de Python dada

Cuando nos ocupamos de la clasificación de texto, a veces necesitamos hacer cierto tipo de procesamiento de lenguaje natural y, por lo tanto, a veces necesitamos formar bigramas de palabras para el procesamiento. En caso de ausencia de la biblioteca adecuada, es difícil y tener que hacer lo mismo siempre es bastante útil. Analicemos ciertas formas en que esto se puede lograr.

Método #1: Usar la comprensión de listas +enumerate() + split()
La combinación de las tres funciones anteriores se puede usar para lograr esta tarea en particular. La función enumerate realiza la iteración posible, la función split se usa para hacer pares y la comprensión de listas se usa para combinar la lógica.

# Python3 code to demonstrate
# Bigram formation
# using list comprehension + enumerate() + split()
   
# initializing list 
test_list = ['geeksforgeeks is best', 'I love it']
  
# printing the original list 
print ("The original list is : " + str(test_list))
  
# using list comprehension + enumerate() + split()
# for Bigram formation
res = [(x, i.split()[j + 1]) for i in test_list 
       for j, x in enumerate(i.split()) if j < len(i.split()) - 1]
  
# printing result
print ("The formed bigrams are : " + str(res))

Producción :

La lista original es: [‘geeksforgeeks is best’, ‘I love it’]
Los bigramas formados son: [(‘geeksforgeeks’, ‘is’), (‘is’, ‘best’), (‘I’, ‘ amor’), (‘amor’, ‘eso’)]

 
Método n.º 2: usarzip() + split() + list comprehension
La tarea que enumera realizada en el método anterior también puede realizarse mediante la función zip mediante el uso del iterador y, por lo tanto, de una manera más rápida. Vamos a discutir ciertas formas en que esto se puede hacer.

# Python3 code to demonstrate
# Bigram formation
# using zip() + split() + list comprehension
   
# initializing list 
test_list = ['geeksforgeeks is best', 'I love it']
  
# printing the original list 
print ("The original list is : " + str(test_list))
  
# using zip() + split() + list comprehension
# for Bigram formation
res = [i for j in test_list 
       for i in zip(j.split(" ")[:-1], j.split(" ")[1:])]
  
# printing result
print ("The formed bigrams are : " + str(res))

Producción :

La lista original es: [‘geeksforgeeks is best’, ‘I love it’]
Los bigramas formados son: [(‘geeksforgeeks’, ‘is’), (‘is’, ‘best’), (‘I’, ‘ amor’), (‘amor’, ‘eso’)]

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 *