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