7. mineração de texto ("text mining")

33
Marcus Sampaio DSC/UFCG

Upload: rafi

Post on 19-Mar-2016

80 views

Category:

Documents


3 download

DESCRIPTION

7. Mineração de Texto ("Text Mining"). O Que É Mineração de Texto?. É a expressão que se dá para o problema de classificar documentos Por exemplo: classificação por tópico  esporte, economia, “spam e-mail”, etc ‘esporte’, ‘economia’, ‘spam’ são classes - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Page 2: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCGO Que É Mineração de Texto?

• É a expressão que se dá para o problema de classificar documentos– Por exemplo: classificação por tópico esporte,

economia, “spam e-mail”, etc• ‘esporte’, ‘economia’, ‘spam’ são classes

– No mundo de documentos, usa-se mais rótulo (“label”)

• Documento: texto não-estruturado, em oposição a texto estruturado– Mineração de Texto Classificação de

Documentos

Page 3: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

O Que É Mineração de Texto?(2)

• Processos de classificação ‘clássicos’ – Classificação de Documentos Estruturados

• Cada documento é representado por uma linha (ou registro, ou instância) de uma tabela não-normalizada

– Tipos de processo• Classificação Supervisionada• Classificação Não-Supervisionada

Page 4: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

O Que É Mineração de Texto?(3)

• Documento transformado em uma representação numérica estruturada– f : w L

w é um vetor de atributos (palavras) DicionárioL é um rótulo (“label”)

– O problema é transformado, aproximadamente, em um processo de classificação ‘clássico’

Page 5: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Transformação de Documentos em Vetores Numéricos

word1 word2 word3 word4 word5 ... wordN label

0 1 0 1 0 ... 1 1

1 0 1 0 0 ... 0 0

1 0 0 1 1 ... 0 1

0 1 0 0 1 ... 1 0

1 0 0 1 0 ... 1 1

0 1 0 0 1 ... 0 1

0 0 1 1 0 ... 0 0

0 0 1 0 1 ... 0 1

Page 6: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Transformação de Documentos em Vetores Numéricos (2)

• Dicionário (“dictionary”, “feature”)– Palavras relevantes que podem estar presentes em um

documento• word1, word3, word6, ..., wordN

• Dado um dicionário e um documento, o documento é transformado num vetor de números– Na forma mais simples, vetor de 1s e 0s, representando a

presença ou ausência de de palavras individuais– Na tabela do slide anterior (“spreadsheet”), cada linha é um

vetor em que um documento por exemplo, um artigo foi transformado

Page 7: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Transformação de Documentos em Vetores Numéricos (3)• “Label”

– Representa um atributo de classificação• Binário

– 1 (positivo), Financeiro– 0 (negativo), ñ Financeiro

• O problema de classificar artigos pode ser agora resolvido com um algoritmo ‘clássico’ de mineração de dados

• Mais de um “label”?– Dicionários temáticos, ou locais– n “spreadsheets”, um para cada “label”

Page 8: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Geração de Vetores

• Padronização de formato dos documentos– O software TMSK adota o padrão XML

• “Tokenizaton”– Cada palavra relevante para o dicionário é um “token”

• Para vetores binários, é assinalada a presença ou não de um “token” (palavra)

• Para vetores não-binários, a freqüência do “token” é a métrica– Há vários modelos de freqüência (ver o livro “Text Mining”, na

Bibliografia)– “Stemming” ou “Lemmatization”

• “Tokens” sinônimos “Token”

• Note que, se o dicionário for grande, os vetores tendem a ser esparsos– Necessidade de técnicas de compressão de vetores

Page 9: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Vetores Esparsos

0 15 0 3

12 0 0 0

8 0 5 2

(2,15) (4,3)

(1,12)

(1,8) (3,5) (4,2

Page 10: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Classificação de Documentos

• Similaridade• Modelagem Estatística• Regras de Decisão

Page 11: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1 1

1

1 1

1 1

1

1 1

111

LabeledSpreadsheet

1

1

1

1

2

2

0

SimilarityScores

MeasureSimilarity

1 1 10

NewDocument

Vector

A resposta é o “label” que ocorre mais frequentemente nos k documentos mais similares

Page 12: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (2)

1. Compute the similarity of newDoc to all documents in collection C

2. Select the k documents that are most similar to newDoc

3. The answer is the label that occurs most frequently in the k selected documents

Page 13: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (3)

• Métodos Lineares de Escore (“Linear Scoring Methods”)– Cada atributo (palavra) do vetor tem um peso

• O peso de um atributo indica quão distinguível é o atributo para rotular o documento

– Se um atributo é muito freqüente em todos os documentos do conjunto-treinamento, então não é significativo, e seu peso deve ser comparativamente pequeno

• Os pesos são induzidos do conjunto-treinamento

Page 14: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (4)

– Um Exemplo

Word Weightdividend 0.8741earnings 0.4988

eight -0.0866extraordinary -0.0267

months -0.1801payout 0.6141rose -0.0253split 0.9050york -0.14629... ...

Words Scoredividend,

payout, rose1.4629

Linear Model

New Document

Page 15: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (5)

• O problema é distinguir entre duas classes– Escore positivo prediz a classe positiva (rótulo = ‘sim’)– Escore negativo prediz a classe negativa (rótulo = ‘não’)

bxwDScore jj

j )(

D é o documentowj é o peso para a j-ésima palavra do dicionáriob é uma constantexj é 1 ou 0, dependendo da presença ou não da j-ésima palavra

Page 16: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (6)

• Família “k-Nearest-Neighbor”– O método básico

• Mede a distância entre dois vetores, representando respectivamente dois documentos

• Distância(x,y)=(x1-y1)2 + ... + (xm-ym)2

• Quanto maior a distância, mais fraca a conexão entre os documentos

Page 17: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (7)

– Contagem de palavras, com bonificaçãoD(i) de uma coleção é comparado com o novo documento

k

j

jwiDSimilarity1

)())((

0)(),(/11)( documentsbothinoccursjwordifjdfjw

)( jdf No. de documentos em que a palavra j ocorre na coleção

Page 18: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (8)

– “Cosine Similarity”• O método clássico de comparar documentos no campo

de “Information Retrieval”

))2()1(/())(*)(()2,1(

)()(

))(/(log)()(

21

2

2

dnormdnormjwjwddinecos

jwDnorm

jdfNjtfjw

dd

)( jtf Freqüência da palavra j em um documento

Page 19: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Similaridade (9)

• Desempenho do algoritmo do slide 12– Listas invertidas

List ofWords

Documents

Page 20: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Modelagem Estatística

• Naïve Bayes

1

0

1

0

1

0

0

0

1

0

0

0

1

0

1

1

1

1

0

0

0

0

0 1

1

1 01 1

1

0 0

101

1 1 1 0 0

0 1 0 1 0

0 1 0 0 1

w1 w2 w3 w4 class Class=1 Class=00.40 0.60

0.75 0.50

0.25 0.670.50 0.33

0.50 0.50

P(Class)

P(w1)

P(w2)

P(w3)

P(w4)

Page 21: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Modelagem Estatística (2)

– Considere um novo documento D

– P(Class=1D)=((1-.75)x.25x.5x.5)x.4=.00625– P(Class=0D)=((1-.5)x.67x.33x.5)x.6=.03333– P(Class=1D)=.00625/(.00625+.03333)=16%– P(Class=0D)=.03333/(.00625+.03333)=84%

0 1 1 1

Page 22: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Regras de Decisão

• Regras induzidas de relatórios de ganhos em bolsas de valores, fornecidos pela agência Reuters

shr earndiv earndividend earnpayout earnqtr earnearnings & sees earnquarter & cts earnsplit earnprofit earn

OTHERWISE ~earn

Page 23: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Regras de Decisão (2)

• Cada regra é uma frase, simplesmente uma conjunção de palavras

• Dado um novo documento D– Se qualquer das frases ... earn é

encontrada, D é classificado como um relatório de ganho na Bolsa

• Diz-se também que o rótulo (“label”) do documento é positivo (em relação a ganhos na Bolsa)

– Se nenhuma das frases é encontrada no documento, então D não é um relatório de ganho na Bolsa TRUE ~earn

• Diz-se também que o rótulo do documento é negativo

Page 24: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Regras de Decisão (3)

• Algoritmos WEKA– ID3, J48, Prism, ...– Problemas

• Não trabalham com vetores esparsos• Inferem ... Wordi = ‘0’ ..., o que não queremos

• Necessidade de novos algoritmos

Page 25: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Regras de Decisão (4)

• Avaliação da qualidade de modelos de regras de decisão

RSet Rules Words TraiErr TstErr TstSD AvgW

1 9 10 .0000 .1236 .0349 9.92* 6 7 .0337 .1011 .0320 7.03 5 5 .0787 .1236 .0349 5.04 4 4 .0899 .1236 .0349 4.05** 3 3 .1011 .1124 .0335 3.06 2 2 .1910 .1910 .0417 2.07 1 1 .3820 .3820 .0515 1.0

Page 26: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Regras de Decisão (5)

• Os melhores modelos -- conjuntos de regras (“RSet”) – são aqueles assinalados com ‘*’ e ‘**’, respectivamente– Têm as melhores acurácias de teste

• Melhores estimativas de acerto em classificar novos documentos

• Comparativo dos modelos ‘*’ e ‘**’– As acurácias de teste são próximas, ‘*’ é um pouco melhor– Os desvios padrão (“Standard Deviation” – SD) são

próximos, ‘*’ é um pouco melhor– O modelo ‘**’ é bem mais acionável (média de 3 palavras,

contra média de 7 palavras)• Note a importância, também, da métrica desvio

padrão

Page 27: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre Métricas de Qualidade de Classificação de Documentos• Métricas de Qualidade

– As mesmas para documentos estruturados• Acurácia de teste• Precisão• “Recall”• Média Harmônica (“F-Measure”)

– O exemplo de “spam e-mail” visto é na verdade mineração de texto

Page 28: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre o Software de Mineração de Texto• TMSK: Text-Miner Software Kit

– Manual do Usuário: http://www.dsc.ufcg.edu.br/~sampaio/cursos/2006.2/PosGraduacao/MineracaoDeDados/TexTMiningSoftware/tmsk.pdf

– Instalador: http://www.dsc.ufcg.edu.br/~sampaio/cursos/2006.2/PosGraduacao/MineracaoDeDados/TexTMiningSoftware/installtmskj.exe

Page 29: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre o Software de Mineração de Texto (2)

• TMSK: Text-Miner Software Kit• Classificadores

• Naïve Bayes (nbayes, testnbayes)• Método Linear de Score (linear, testline)

– Parâmetros para testnbayes• Limiar de probabilidade (“Probability-threshold”)

– Deve ser excedido para uma classificação positiva– Default: 0.5

• Limiar de rejeição (“Reject-threshold”)– Deve ser excedido para qualquer classificação (positiva ou

negativa)– Default: 0.5

– Parâmetros para linear• Feature-type: binary, tf, tf*df• Default: tf

– Parâmetros para testline• Decision-threshold

Page 30: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre o Software de Mineração de Texto (3)• TMSK: Text-Miner Software Kit

– testnbayes• Probability-threshold: 70%

– Se classificação positiva > 70% OK senão classificação negativa

• Reject-threshold: 60%– Classificação positiva: 45%– Classificação negativa: 55%– Decisão: documento não-classificado

Page 31: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre o Software de Mineração de Texto (4)• TMSK: Text-Miner Software Kit• Recuperando documentos similares: matcher

– Casa um documento com um conjunto de documentos e recupera os mais similares ao primeiro

Page 33: 7.  Mineração de Texto ("Text Mining")

Marcus SampaioDSC/UFCG

Sobre o Software de Mineração de Texto (6)

– Induz Regras de Classificação de documentos em Positivos e Negativos

– O modelo é uma lista ordenada de regras <conjunçao-de-palavras-do-dicionário> positivo

– A última regra da lista ordenada é TRUE negativo

– O algoritmo de predição pára na primeira regra casada

• Entradas para TMSK e RIKTEXT– Dicionário de Dados– Documentos XML– Representações vetoriais de documentos