Classificação de textos -...

41
1 Classificação de textos MCZA017-13 Processamento de Linguagem Natural Prof. Jesús P. Mena-Chalco [email protected] 1Q-2018

Transcript of Classificação de textos -...

Page 1: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

1

Classificação de textos

MCZA017-13Processamento de Linguagem Natural

Prof. Jesús P. Mena-Chalco

[email protected]

1Q-2018

Page 2: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

2

Bibliografia

Daniel Jurafsky & James H. Martin.Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Pearson/Prentice Hall.

University of Colorado, Boulder

Stanford University

2000 2009

2019?

Page 3: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

3

Bibliografia – Capítulo 6

https://web.stanford.edu/~jurafsky/slp3/

Page 4: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

4

Classificação == distribuição por classes, categorias ou grupos com características semelhantes.

Classificação de animais

Page 5: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

5

classificação de texto?

Text classification

Page 6: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

6

Categorização de textos: Corresponde à tarefa de classificar textos inteiros atribuindo um rótulo (de um conjunto finito de rótulos).

Page 7: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

7

Um sistema de categorização de textos: - Permite classificar novos documentos- Considera categorias pré-estabelecidas e documentos rotulados.

Page 8: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

8

Um sistema de classificação de emails

Classficação binária

Prezado ganhador,Super Desconto …Medicamentos ...

Page 9: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

9

Classificação

Formalmente, a tarefa de classificação pode ser definida como:

Dada uma entrada x, eUm conjunto finito de classes Y = {y

1, y

2, … , y

n}

Determinar, para x, uma classe y que pertence a Y.

Page 10: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

10

Classificação

Formalmente, a tarefa de classificação pode ser definida como:

Dada uma entrada x, eUm conjunto finito de classes Y = {y

1, y

2, … , y

n}

Determinar, para x, uma classe y que pertence a Y.

Em Classificação de texto:Dada uma entrada d, eUm conjunto finito de classes C = {c

1, c

2, … , c

n}

Determinar, para d, uma classe c que pertence a C.

Documento

Classe n

Page 11: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

11

Métodos de classificação:Usando regras

Uso de regras baseadas em palavras ou combinação de palavras (ou outras características)

Black-list-address OR (“dollars” AND “have been selected”)

A acurácia pode ser alta.Se as regras são definidas por especialista(s)

A manutenção/atualização das regras pode ser muito cara.

Page 12: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

12

Métodos de classificação:Usando Aprendizado de Máquina

dx

(d1,c

1)

(d2,c

15)

...(d

m,c

n)

(dx, c

i)

O desafio: Construir um classificador que seja capaz de mapear o novo documento d à sua classe correta c

i.

Ψ: d→ c

Page 13: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

13

Métodos de classificação:Usando Aprendizado de Máquina

Existe uma quantidade grande classificadores:

Naive Bayes

Regressão logística

Support-vector machines (SVM)

K-Nearest Neighbors (KNN)

Page 14: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

14

Classificação de texto usando Naive Bayes

Aprendizado supervisionado

Page 15: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

15

Bag-of-words

Um documento pode ser representado como uma bag-of-words

Bag-of-words: Conjunto não-ordenado de palavras (desonsidera a gramática, mas mantendo a multiplicidade).

Page 16: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

16

Bag-of-words

Um documento pode ser representado como uma bag-of-words

Bag-of-words: Conjunto não-ordenado de palavras (desonsidera a gramática, mas mantendo a multiplicidade).

Page 17: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

17

Bag-of-visual-words (em imagens)

Page 18: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

18

Bag-of-words em classificação de textos

Tópicos de ciência da computação

Page 19: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

19

Classificador Naive Bayes

Conhecida também como Classificador Bayesiano “simples” ou “ingênuo”.

É um classificador probabilístico.

Usa a representação de textos como bag-of-words.

É considerado ingênuo porque considera os atributos condicionalmente independentes (i.e., o valor de um atributo não está relacionado ao valor de um outro atributo).

Documento

Probabilidade condicional dado um documento d

A melhor classe

Page 20: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

20

Classificador Naive Bayes

MAPMaximum a posteriori

O documento drepresentado por um

conjunto de características

Qual a probabilidadeda classe c aparecer

no corpus (treinamento)?

Simplificação ingênua mas na prática permite resolver grandes

problemas

Page 21: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

21

Classificador Naive Bayes

Para aplicar o classificador para a sequência: w1,w

2,w

3,…,w

n

Considerando bag-of-words(a posição da palavra não importa)

As probabilidades P(wi,c) são independentes

Page 22: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

22

Classificador Bayesiano “ingênuo”:Aprendizado (treinamento)

Page 23: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

23

Treinamento

Considerando um conjunto de dados de treinamento (corpus rotulado) composto de N

doc:

Ex. (doc1, c

1), (doc

2, c

5), (doc

3, c

30), … (doc

N, c

2)

Page 24: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

24

Treinamento

Considerando um conjunto de dados de treinamento (corpus rotulado) composto de N

doc:

Ex. (doc1, c

6), (doc

2, c

5), (doc

3, c

1), … (doc

N, c

2)

Número de documentoscuja classe é igual a c

Número de documentostotais (no treinamento)

Page 25: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

25

Treinamento

Número de documentoscuja classe é igual a c

Número de documentostotais (no treinamento)

Corpus:

P(classe_verde) = 3/10

P(classe_vermelha) = 7/10

Page 26: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

26

Treinamento

V é o vocabulário de todo o corpus (ie., de todaspalavras de todos os documentos)

Page 27: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

27

Corpus:

Treinamento

V é o vocabulário de todo o corpus (ie., de todaspalavras de todos os documentos)

Page 28: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

28

Treinamento

Qual seria o valor de P(wx|c) quando w

x é palavra

desconhecida no treinamento?

Page 29: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

29

Treinamento

Qual seria o valor de P(wx|c) quando w

x é palavra

desconhecida no treinamento?

Zero! (não importando os outros termos)

Page 30: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

30

Treinamento

Qual seria o valor de P(wx|c) quando w

x é palavra

desconhecida no treinamento?

Zero! (não importando os outros termos)

Alternativa:

Laplace add-1 smoothing

Page 31: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

31

Page 32: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

32

Se uma palavra é desconhecidano treinamento, então será

desconsiderada (solucção padrão)

Page 33: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

33

Atividade

Page 34: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

34

Atividade 1

Considere o seguinte corpus (conjunto de treinamento) contendo duas classes (c

1=’pos’ e c

2=’neg’)

Classe Texto

neg just plain boring

neg entirely predictable and lacks energy

neg no surprises and very few laughs

pos very powerful

pos the most fun film of the summer

Page 35: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

35

Atividade 1

Page 36: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

36

Atividade 1

S = “predictable with no fun”

S deve ser classificada como ‘neg’

Page 37: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

37

Atividade 2

Classe ‘Pos’ Classe ‘Neg’

I 0.09 0.16

always 0.07 0.06

like 0.29 0.06

foreign 0.04 0.15

films 0.08 0.11

“I always like foreign films”

Considere a mesma probabilidades à priori para cada classe.

P(‘Pos’) = 0.00000585

P(‘Neg’) = 0.00000950

Page 38: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

38

Considerações finais

Page 39: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

39

1) Aplicações

Atribuição de categorias, tópicos ou generos.

Detecção de SPAM.

Identificação de autoria de escrita.

Identificação de idade do autor do texto.

Identificação de idioma.

Análise de sentimentos em texto.

Page 40: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

40

2) Text categorization

Patentes

Google Ngram

Page 41: Classificação de textos - professor.ufabc.edu.brprofessor.ufabc.edu.br/~jesus.mena/courses/pln-1q-2018/PLN-aula09.pdf · 1 Classificação de textos MCZA017-13 Processamento de

41

2) Categorization usando apenas texto?