7. Mineração de Texto ("Text Mining")
description
Transcript of 7. Mineração de Texto ("Text Mining")
Marcus SampaioDSC/UFCG
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
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
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’
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
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
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”
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
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
Marcus SampaioDSC/UFCG
Classificação de Documentos
• Similaridade• Modelagem Estatística• Regras de Decisão
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
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
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
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
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
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
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
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
Marcus SampaioDSC/UFCG
Similaridade (9)
• Desempenho do algoritmo do slide 12– Listas invertidas
List ofWords
Documents
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)
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
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
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
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
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
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
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
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
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
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
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
Marcus SampaioDSC/UFCG
Sobre o Software de Mineração de Texto (5)• RIKTEXT: Rule Induction Kit for Text
– Manual do Usuário: http://www.dsc.ufcg.edu.br/~sampaio/cursos/2006.2/PosGraduacao/MineracaoDeDados/TexTMiningSoftware/riktext.pdf
– Instalador: http://www.dsc.ufcg.edu.br/~sampaio/cursos/2006.2/PosGraduacao/MineracaoDeDados/TexTMiningSoftware/installriktext.exe
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