Modelování témat u podvodů

Detekce podvodů v Pythonu

Charlotte Werger

Data Scientist

Modelování témat: odhalení skrytých vzorů v textu

  1. Objevování témat v textových datech
  2. „O čem text pojednává"
  3. Konceptuálně podobné shlukování dat
  4. Porovnání témat podvodných a nepodvodných případů – využití jako příznak
  5. Nebo… existuje v datech téma, které naznačuje podvod?
Detekce podvodů v Pythonu

Latentní Dirichletova alokace (LDA)

LDA poskytuje:

  1. Model „témat na textovou položku" (tj. pravděpodobnosti)
  2. Model „slov na téma"

Vytvoření vlastního modelu témat:

  1. Vyčistěte data
  2. Vytvořte bag of words se slovníkem a korpusem
  3. Předejte slovník a korpus do modelu LDA
Detekce podvodů v Pythonu

Latentní Dirichletova alokace (LDA)

Detekce podvodů v Pythonu

Bag of words: slovník a korpus

from gensim import corpora
# Create dictionary number of times a word appears
dictionary = corpora.Dictionary(cleaned_emails)
# Filter out (non)frequent words 
dictionary.filter_extremes(no_below=5, keep_n=50000)
# Create corpus
corpus = [dictionary.doc2bow(text) for text in cleaned_emails]
Detekce podvodů v Pythonu

Latentní Dirichletova alokace (LDA) s gensim

import gensim
# Define the LDA model
ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics = 3, 
id2word=dictionary, passes=15)
# Print the three topics from the model with top words
topics = ldamodel.print_topics(num_words=4)
for topic in topics:
    print(topic)
(0, 0.029*"email" + 0.016*"send" + 0.016*"results" + 0.016*"invoice")
(1, 0.026*"price" + 0.026*"work" + 0.026*"management" + 0.026*"sell")
(2, 0.029*"distribute" + 0.029*"contact" + 0.016*"supply" + 0.016*"fast")
Detekce podvodů v Pythonu

Pojďme procvičovat!

Detekce podvodů v Pythonu

Preparing Video For Download...