Modelagem de tópicos em fraudes

Detecção de Fraudes em Python

Charlotte Werger

Data Scientist

Topic modeling: descubra padrões ocultos em textos

  1. Descobrir tópicos em dados de texto
  2. "Sobre o que é o texto"
  3. Conceitualmente parecido com clusterização
  4. Compare tópicos de casos de fraude e não fraude e use como atributo ou alerta
  5. Ou... há algum tópico que pareça indicar fraude?
Detecção de Fraudes em Python

Latent Dirichlet Allocation (LDA)

Com LDA você obtém:

  1. Modelo de "tópicos por texto" (probabilidades)
  2. Modelo de "palavras por tópico"

Criando seu próprio modelo de tópicos:

  1. Limpe seus dados
  2. Crie um bag of words com dicionário e corpus
  3. Envie dicionário e corpus para o modelo LDA
Detecção de Fraudes em Python

Latent Dirichlet Allocation (LDA)

Detecção de Fraudes em Python

Bag of words: dicionário e corpus

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]
Detecção de Fraudes em Python

Latent Dirichlet Allocation (LDA) com 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")
Detecção de Fraudes em Python

Vamos praticar!

Detecção de Fraudes em Python

Preparing Video For Download...