Ciencia de datos ágil: enriquecimiento de datos

El enriquecimiento de datos se refiere a una variedad de procesos utilizados para mejorar, refinar y mejorar los datos sin procesar. Se refiere a la transformación de datos útiles (datos sin procesar en información útil). El proceso de enriquecimiento de datos se centra en hacer de los datos un activo de datos valioso para las empresas modernas.

El proceso de enriquecimiento de datos más común incluye la corrección de errores ortográficos o tipográficos en la base de datos mediante el uso de algoritmos de decisión específicos. Las herramientas de enriquecimiento de datos agregan información útil a tablas de datos simples.

Considere el siguiente código para la corrección ortográfica de palabras:

import re
from collections import Counter
def words(text): return re.findall(r'\w+', text.lower())
WORDS = Counter(words(open('big.txt').read()))

def P(word, N=sum(WORDS.values())):
   "Probabilities of words"
   return WORDS[word] / N
	
def correction(word):
   "Spelling correction of word"
   return max(candidates(word), key=P)
	
def candidates(word):
   "Generate possible spelling corrections for word."
   return (known([word]) or known(edits1(word)) or known(edits2(word)) or [word])
	
def known(words):
   "The subset of `words` that appear in the dictionary of WORDS."
   return set(w for w in words if w in WORDS)
	
def edits1(word):
   "All edits that are one edit away from `word`."
   letters = 'abcdefghijklmnopqrstuvwxyz'
   splits = [(word[:i], word[i:]) for i in range(len(word) + 1)]
   deletes = [L + R[1:] for L, R in splits if R]
   transposes = [L + R[1] + R[0] + R[2:] for L, R in splits if len(R)>1]
   replaces = [L + c + R[1:] for L, R in splits if R for c in letters]
   inserts = [L + c + R for L, R in splits for c in letters]
   return set(deletes + transposes + replaces + inserts)
	
def edits2(word):
   "All edits that are two edits away from `word`."
   return (e2 for e1 in edits1(word) for e2 in edits1(e1))
   print(correction('speling'))
   print(correction('korrectud'))

En este programa, coincidiremos con "big.txt" que incluye palabras corregidas. Las palabras coinciden con las palabras incluidas en el archivo de texto e imprimen los resultados correspondientes en consecuencia.

Salida

El código anterior generará la siguiente salida: