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 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
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
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ário L é um rótulo (“label”) O problema é transformado, aproximadamente, em um processo de classificação ‘clássico’
Transformação de Documentos em Vetores Numéricos word1 word2 word3 word4 word5 ... wordN label 1
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
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”
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
Vetores Esparsos 15 3 12 8 5 2 (2,15) (4,3) (1,12) (1,8) (3,5) (4,2
Classificação de Documentos Similaridade Modelagem Estatística Regras de Decisão
Similaridade
Similaridade (2) Compute the similarity of newDoc to all documents in collection C Select the k documents that are most similar to newDoc The answer is the label that occurs most frequently in the k selected documents
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
Similaridade (4) Linear Model New Document Word Weight Words Score Um Exemplo Word Weight dividend 0.8741 earnings 0.4988 eight -0.0866 extraordinary -0.0267 months -0.1801 payout 0.6141 rose -0.0253 split 0.9050 york -0.14629 ... New Document Words Score dividend, payout, rose 1.4629
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’) D é o documento wj é o peso para a j-ésima palavra do dicionário b é uma constante xj é 1 ou 0, dependendo da presença ou não da j-ésima palavra
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
Similaridade (7) Contagem de palavras, com bonificação D(i) de uma coleção é comparado com o novo documento No. de documentos em que a palavra j ocorre na coleção
Similaridade (8) “Cosine Similarity” O método clássico de comparar documentos no campo de “Information Retrieval” Freqüência da palavra j em um documento
Similaridade (9) Desempenho do algoritmo do slide 12 Listas invertidas Documents List of Words
Modelagem Estatística Naïve Bayes
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% 1 1 1
Regras de Decisão Regras induzidas de relatórios de ganhos em bolsas de valores, fornecidos pela agência Reuters shr earn div earn dividend earn payout earn qtr earn earnings & sees earn quarter & cts earn split earn profit earn OTHERWISE ~earn
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
Regras de Decisão (3) Algoritmos WEKA Necessidade de novos algoritmos ID3, J48, Prism, ... Problemas Não trabalham com vetores esparsos Inferem ... Wordi = ‘0’ ..., o que não queremos Necessidade de novos algoritmos
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.9 2* 6 7 .0337 .1011 .0320 7.0 3 5 .0787 5.0 4 .0899 4.0 5** .1124 .0335 3.0 2 .1910 .0417 2.0 .3820 .0515 1.0
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
Sobre Métricas de Qualidade de Classificação de Documentos 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
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
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) Parâmetros para linear Feature-type: binary, tf, tf*df Default: tf Parâmetros para testline Decision-threshold
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
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
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
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