Agile Data Science - Enrichissement des données

L'enrichissement des données fait référence à une gamme de processus utilisés pour améliorer, affiner et améliorer les données brutes. Il fait référence à la transformation de données utiles (données brutes en informations utiles). Le processus d'enrichissement des données vise à faire des données un actif de données précieux pour les entreprises ou les entreprises modernes.

Le processus d'enrichissement des données le plus courant comprend la correction des fautes d'orthographe ou des erreurs typographiques dans la base de données grâce à l'utilisation d'algorithmes de décision spécifiques. Les outils d'enrichissement des données ajoutent des informations utiles aux tableaux de données simples.

Considérez le code suivant pour la correction orthographique des mots -

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'))

Dans ce programme, nous allons faire correspondre avec «big.txt» qui comprend les mots corrigés. Les mots correspondent aux mots inclus dans le fichier texte et impriment les résultats appropriés en conséquence.

Production

Le code ci-dessus générera la sortie suivante -