En este artículo, aprenderemos cómo
- Los datos textuales solicitan material recopilado sistemáticamente que consta de palabras escritas, impresas o publicadas electrónicamente, generalmente escritas intencionalmente o transcritas del habla.
- La normalización de texto es el método de transformar texto en una forma canónica que no hubiera tenido antes. La normalización del texto antes de almacenarlo o procesarlo permite la separación de preocupaciones, ya que la entrada seguramente será consistente antes de que se realicen operaciones al respecto. La normalización de texto requiere ser consciente de qué tipo de texto se normalizará y la forma en que se procesará posteriormente; no existe un procedimiento de normalización para todo uso.
Pasos requeridos
Aquí, discutiremos algunos pasos básicos necesarios para la normalización de texto.
- String de texto de entrada,
- Convierta todas las letras de la string a un caso (ya sea en minúsculas o en mayúsculas),
- Si los números son esenciales para convertirlos en palabras, de lo contrario, elimine todos los números,
- Eliminar puntuaciones, otras formalidades de la gramática,
- Eliminar espacios en blanco,
- Quitar palabras vacías,
- Y cualquier otro cálculo.
Estamos haciendo la normalización de texto con los pasos mencionados anteriormente, cada paso se puede hacer de alguna manera. Así que vamos a discutir todos y cada uno en todo este proceso.
String de texto
Python3
# input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." print(string)
Producción:
Python 3.0, lanzado en 2008, fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de Python 2 no se ejecuta sin modificaciones en Python 3. Con el final de la vida útil de Python 2, solo Python 3.6.x[30 ] y posteriores son compatibles, con versiones anteriores que aún son compatibles, por ejemplo, Windows 7 (y los instaladores antiguos no están restringidos a Windows de 64 bits)”.
Conversión de mayúsculas y minúsculas
Python3
# input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." # convert to lower case lower_string = string.lower() print(lower_string)
Producción:
” python 3.0, lanzado en 2008, fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de python 2 no se ejecuta sin modificar en python 3. con el final de la vida útil de python 2, solo python 3.6.x[30 ] y posteriores son compatibles, con versiones anteriores que aún son compatibles, por ejemplo, Windows 7 (y los instaladores antiguos no están restringidos a Windows de 64 bits).
Elimine números si no son relevantes para sus análisis. Por lo general, las expresiones regulares se utilizan para eliminar números.
Python3
# import regex import re # input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." # convert to lower case lower_string = string.lower() # remove numbers no_number_string = re.sub(r'\d+','',lower_string) print(no_number_string)
Producción:
” python ., lanzado en , fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de python no se ejecuta sin modificaciones en python . con el final de la vida útil de python, solo se admite python ..x[] y versiones posteriores, con versiones anteriores que aún admiten, por ejemplo, Windows (y los instaladores antiguos no están restringidos a ventanas de bits)”.
Python3
# import regex import re # input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." # convert to lower case lower_string = string.lower() # remove numbers no_number_string = re.sub(r'\d+','',lower_string) # remove all punctuation except words and space no_punc_string = re.sub(r'[^\w\s]','', no_number_string) print(no_punc_string)
Producción:
‘ python lanzado en fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de python no se ejecuta sin modificar en python con python s endoflife solo python x y posteriores son compatibles con versiones anteriores que aún son compatibles, por ejemplo, Windows e instaladores antiguos no restringidos morder ventanas’
la tira()
Python3
# import regex import re # input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." # convert to lower case lower_string = string.lower() # remove numbers no_number_string = re.sub(r'\d+','',lower_string) # remove all punctuation except words and space no_punc_string = re.sub(r'[^\w\s]','', no_number_string) # remove white spaces no_wspace_string = no_punc_string.strip() print(no_wspace_string)
Producción:
‘Python lanzado en fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de Python no se ejecuta sin modificar en Python con el final de la vida útil de Python, solo Python X y posteriores son compatibles con versiones anteriores que aún son compatibles, por ejemplo, Windows y los instaladores antiguos no están restringidos morder ventanas’
Eliminar palabras vacías
Las palabras vacías” son las palabras más comunes en un idioma como “el”, “a”, “en”, “es”, “todo”. Estas palabras no tienen un significado importante y generalmente están lejos de los textos. Es posible deshacerse de las palabras vacías utilizando tongue Toolkit (NLTK), un conjunto de bibliotecas y programas para el procesamiento simbólico y estadístico de la lengua.
Python3
# download stpwords import nltk nltk.download('stopwords') # import nltk for stopwords from nltk.corpus import stopwords stop_words = set(stopwords.words('english')) print(stop_words) # assign string no_wspace_string='python released in was a major revision of the language that is not completely backward compatible and much python code does not run unmodified on python with python s endoflife only python x and later are supported with older versions still supporting eg windows and old installers not restricted to bit windows' # convert string to list of words lst_string = [no_wspace_string][0].split() print(lst_string) # remove stopwords no_stpwords_string="" for i in lst_string: if not i in stop_words: no_stpwords_string += i+' ' # removing last space no_stpwords_string = no_stpwords_string[:-1] print(no_stpwords_string)
Producción:
En esto, podemos normalizar los datos textuales usando Python. A continuación se muestra el programa Python completo:
Python3
# import regex import re # download stpwords import nltk nltk.download('stopwords') # import nltk for stopwords from nltk.corpus import stopwords stop_words = set(stopwords.words('english')) # input string string = " Python 3.0, released in 2008, was a major revision of the language that is not completely backward compatible and much Python 2 code does not run unmodified on Python 3. With Python 2's end-of-life, only Python 3.6.x[30] and later are supported, with older versions still supporting e.g. Windows 7 (and old installers not restricted to 64-bit Windows)." # convert to lower case lower_string = string.lower() # remove numbers no_number_string = re.sub(r'\d+','',lower_string) # remove all punctuation except words and space no_punc_string = re.sub(r'[^\w\s]','', no_number_string) # remove white spaces no_wspace_string = no_punc_string.strip() no_wspace_string # convert string to list of words lst_string = [no_wspace_string][0].split() print(lst_string) # remove stopwords no_stpwords_string="" for i in lst_string: if not i in stop_words: no_stpwords_string += i+' ' # removing last space no_stpwords_string = no_stpwords_string[:-1] # output print(no_stpwords_string)
Producción:
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA