Tekstmining om fraude te detecteren

Fraudedetectie in Python

Charlotte Werger

Data Scientist

Je tekstdata opschonen

Must-do’s bij tekstdata:

  1. Tokenization

  2. Verwijder stopwoorden

  3. Lemmatiseren

  4. Stammen

Fraudedetectie in Python

Van dit...

Fraudedetectie in Python

Naar dit...

Fraudedetectie in Python

Datapreprocessing deel 1

# 1. Tokenization
from nltk import word_tokenize
text = df.apply(lambda row: word_tokenize(row["email_body"]), axis=1)
text = text.rstrip()
text = re.sub(r'[^a-zA-Z]', ' ', text)
# 2. Stopwoorden en interpunctie verwijderen
from nltk.corpus import stopwords 
import string
exclude = set(string.punctuation)
stop = set(stopwords.words('english'))
stop_free = " ".join([word for word in text 
           if((word not in stop) and (not word.isdigit()))])
punc_free = ''.join(word for word in stop_free 
           if word not in exclude)
Fraudedetectie in Python

Datapreprocessing deel 2

# Lemmatiseren
from nltk.stem.wordnet import WordNetLemmatizer
lemma = WordNetLemmatizer()
normalized = " ".join(lemma.lemmatize(word) for word in punc_free.split())

# Stammen from nltk.stem.porter import PorterStemmer porter= PorterStemmer() cleaned_text = " ".join(porter.stem(token) for token in normalized.split())
print (cleaned_text)
['philip','going','street','curious','hear','perspective','may','wish','offer','trading','floor','enron',
 'stock','lower','joined','company','business','school','imagine','quite','happy','people','day', 
 'relate','somewhat','stock','around','fact','broke','day','ago','knowing','imagine','letting',
 'event','get','much','taken','similar','problem','hope','everything','else','going','well','family',
 'knee','surgery','yet','give','call','chance','later']
Fraudedetectie in Python

Laten we oefenen!

Fraudedetectie in Python

Preparing Video For Download...