Agile Data Science - Datenanreicherung
Datenanreicherung bezieht sich auf eine Reihe von Prozessen, die zur Verbesserung, Verfeinerung und Verbesserung von Rohdaten verwendet werden. Es bezieht sich auf nützliche Datentransformation (Rohdaten zu nützlichen Informationen). Der Prozess der Datenanreicherung konzentriert sich darauf, Daten zu einem wertvollen Datenbestandteil für moderne Unternehmen zu machen.
Der häufigste Prozess zur Datenanreicherung umfasst die Korrektur von Rechtschreib- oder Tippfehlern in der Datenbank mithilfe spezifischer Entscheidungsalgorithmen. Datenanreicherungstools fügen einfachen Datentabellen nützliche Informationen hinzu.
Betrachten Sie den folgenden Code zur Rechtschreibkorrektur von Wörtern:
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'))
In diesem Programm werden wir mit "big.txt" übereinstimmen, das korrigierte Wörter enthält. Wörter stimmen mit Wörtern überein, die in der Textdatei enthalten sind, und drucken die entsprechenden Ergebnisse entsprechend aus.
Ausgabe
Der obige Code generiert die folgende Ausgabe: