El preprocesamiento es la parte principal del procesamiento del lenguaje natural. Para clasificar cualquier texto con alta precisión, los datos limpios juegan un papel importante. Entonces, el primer paso en NLP antes de analizar o clasificar es el preprocesamiento de datos. Muchas bibliotecas de Python admiten el preprocesamiento para el idioma inglés. Pero para el idioma tamil, hay muy pocas bibliotecas de preprocesamiento disponibles. Aquí hay un ejemplo de algunas técnicas de preprocesamiento para texto tamil.
Las técnicas de preprocesamiento involucradas en este artículo son
- eliminación de puntuación
- Tokenización
- Detener la eliminación de palabras
Eliminación de puntuación:
Python3
# Importing python string function import string # Printing Inbuilt punctuation function print(string.punctuation)
Producción:
!”#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Si hay alguna de las puntuaciones anteriores en el texto, se eliminarán después del preprocesamiento. Esto se puede eliminar usando el módulo de strings de python.
Python3
# Function for removing punctuation def punctuation_remove(text_data): # Appending non punctuated words punctuation ="".join([t for t in text_data if t not in string.punctuation]) return punctuation # Passing input to the function punctuation_removed = punctuation_remove("வெற்றி *பெற வேண்டும், என்ற பதற்றம் ^இல்லாமல் _இருப்பது தான் 'வெற்றி பெறுவதற்கான சிறந்த வழி.") print(punctuation_removed)
Producción:
வெற்றி பெற வேண்டும் என்ற பதற்றம் இல்லாமல் இருப்பது தான் வெற்றி பெறுவதற்கான சிறந்த வழி
Explicación: Se eliminan todos los signos de puntuación del texto dado.
Tokenización:
La tokenización no es más que dividir cada palabra de una oración en un token que se utilizará para una clasificación posterior. Para convertir un texto en tokens, se utiliza un módulo de expresiones regulares en python.
Python3
# importing python regular expression module import re # Function for tokenization def tokenization(text_data): # Splitting the sentence into words where space is found. tokens_text = re.split(' ',text_data) return tokens_text # Passing the punctuation removed text as parameter for tokenization tokenized_text = tokenization(punctuation_removed) print(tokenized_text)
Producción:
[‘வெற்றி’, ‘பெற’, ‘வேண்டும்’, ‘என்ற’, ‘பதற்றம்’, ‘இல்லாமல்’, ‘இருப்பது’, ‘தான்’, ‘வெற்றி’, ‘பெறுவதற்கான’, ‘சிறந்த’, ‘வழி’]
Explicación: Todas las palabras de una oración se dividen en fichas.
Eliminación de palabras de parada:
Las palabras vacías son palabras de uso frecuente en un idioma. Estas palabras son innecesarias para el significado de la oración. La eliminación de palabras vacías se puede hacer usando el paquete NLTK en python. El paquete NLTK es compatible con muchos idiomas, como inglés, francés, alemán, finlandés, italiano, etc., pero no con el idioma tamil. Por lo tanto, descargue las palabras vacías para Tamil en el enlace dado: Github Link y nombre el archivo como tamil y colóquelo en la ubicación a continuación en su sistema: «…\AppData\Roaming\nltk_data\corpora\stopwords»
Después de este proceso, el paquete NLTK también admite palabras vacías en tamil.
Python3
# Importing Natural Language Toolkit python library import nltk # Storing all the Tamil stop words in the variable retrieved from the file ‘tamil’ stopwords = nltk.corpus.stopwords.words('tamil') # Function for removing stop words def stopwords_remove(text_data): # Appending words which are not stop words removed= [s for s in text_data if s not in stopwords] return removed # Passing tokenized text as parameter for removing stop words stopwords_removed = stopwords_remove(tokenized_text) print(stopwords_removed)
Producción:
[‘வெற்றி’, ‘பெற’, ‘பதற்றம்’, ‘இல்லாமல்’, ‘இருப்பது’, ‘வெற்றி’, ‘பெறுவதற்கான’, ‘சிறந்த’, ‘வழி’]
Explicación: Se eliminan las palabras vacías ‘வேண்டும்’, ‘என்ற’ y ‘தான்’.
Publicación traducida automáticamente
Artículo escrito por aishwaryasum y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA