quarta-feira, 26 de novembro de 2008

Listas de stopwords - stoplist (portugues, ingles, espanhol)

Palavras muito frequentes e com pouco significado (tais como artigos, preposições, algumas conjunções), geralmente são desconsideradas nas minerações de texto.

Neste link há 3 listas de stopwords ou stoplists: para Português, Inglês e Espanhol.

As listas foram criadas com base em análises estatísticas de vários autores.
Portanto, talvez precisem ser calibradas para diferentes aplicações.
Um exemplo de calibragem: se você está minerando textos sobre casos médicos, é possível que palavras como "médico", "paciente" e "doença" apareçam em todos os textos. Estas palavras poderiam então ser acrescentadas na lista de stopwords para serem desconsideradas das análises.

terça-feira, 25 de novembro de 2008

Stemming e Análise Sintática

Aqui vão duas dicas de sistemas online que podem ajudar em processos de preparação de textos:

- Stemming: é um processo de reduzir palavras a seus radicais
(exemplo: casamento ==> cas, carro ==> carr).
Isto permite encontrar mais textos sobre um mesmo assunto sem precisar usar variações linguísticas (plurais, aumentativo, masculino/feminino).
Siga o link para utilizar um serviço online de stemming para a língua portuguesa
(link alternativo = http://gpsi.ucpel.tche.br/~evandro/stemming/stem.php).

- Análise Sintática: é um processo de quebrar textos em partes (parser), analisando as relações entre as palavras (sujeito, verbo, complemento, etc) e tb inclui análise léxico-morfológica (função da palavra na frase, tipo adjetivo, substantivo, etc.)
Siga o link para utilizar um serviço online de análise sintática para o português.

Text Mining e Information Retrieval (IR) - e outras áreas relacionadas

Text Mining é uma evolução (ou uma especialização) da área de Information Retrieval - IR.
IR está relacionada a processos de encontrar fontes de informações, ou seja, documentos ou textos que podem contar a informação desejada. Veja neste link mais detalhes sobre técnicas de Information Retrieval (incluindo técnicas de indexação, modelos de match e tipos de organizações de arquivos e índices).
Outra área relacionada é a Information Extraction (Extração de Informações), cujo objetivo é extrair dados a partir de textos (encontrar valores para atributos). Por exemplo, num texto que fale sobre uma pessoa, encontrar seu nome, endereço, idade, sexo, etc.
Também há relações de Text Mining com as seguintes áreas:
- Resumos de textos (sumarização)
- Busca de Informações na Web
- além é claro de Data Mining.

Exemplo de Text Mining (análise de textos)



Este é um exemplo de análise utilizando ferramentas de Text Mining. A análise foi feita sobre palavras.

Foram comparados os discursos de posse do Presidente Lula (2003 x 2007).

As minerações dos textos foram feitas utilizando o software Text Mining Suite da empresa InText Mining Ltda.

As Tag Clouds foram criadas com a ferramenta http://www.wordle.net/
A 1a Tag Cloud é referente ao Discurso de 2003 e a 2a Tag Cloud refere-se ao discurso de 2007.
Abaixo, segue a lista das principais palavras (mais frequentes) utilizadas em ambos os discursos (comuns aos 2 discursos). Ao lado da palavra, a frequência relativa dela no texto.
mais 0,01364
brasil 0,01190
país 0,01066
ser 0,00570
desenvolvimento 0,00570
mundo 0,00546
governo 0,00546
povo 0,00545
social 0,00545
hoje 0,00521
nacional 0,00520
política 0,00496
crescimento 0,00422
vamos 0,00397
fome 0,00396
anos 0,00348
nação 0,00347
bem 0,00273
brasileiro 0,00272
políticas 0,00248
energia 0,00248
milhões 0,00248
vida 0,00248
projeto 0,00248
sul 0,00248
brasileiros 0,00248
investimento 0,00224
igual 0,00224
educação 0,00224
qualidade 0,00224
sou 0,00224
capaz 0,00223
renda 0,00223
deus 0,00223
dar 0,00223
brasileira 0,00223
mudar 0,00223
mudança 0,00223
segurança 0,00223
novo 0,00223
maior 0,00223
acesso 0,00199
forma 0,00198
trabalho 0,00198
sociedade 0,00198
países 0,00198
dia 0,00198
reforma 0,00198
econômico 0,00198
novos 0,00174
setores 0,00174
instituições 0,00174
popular 0,00174
instrumento 0,00174
tempo 0,00174
pública 0,00174
estados 0,00174
presidente 0,00173
internacional 0,00173
meio 0,00173
momento 0,00173
criar 0,00173

Abaixo segue a lista das principais palavras exclusivas do discurso de 2003 (ou seja, que aparecem somente no Discurso de 2003).
tragam 0,00300
américa 0,00300
venceu 0,00250
tantas 0,00250
capacidade 0,00250
riqueza 0,00250
exmo 0,00200
sr 0,00200
medo 0,00200
diante 0,00200
sabe 0,00200
terras 0,00200
pacto 0,00200
base 0,00200
srs 0,00150
modelo 0,00150
andar 0,00150
rio 0,00150
campo 0,00150
produtivo 0,00150
unidos 0,00150
vai 0,00150
conselho 0,00150
consigo 0,00150
contribuição 0,00150
humano 0,00150
desenvolvidos 0,00150
membros 0,00150
cultural 0,00150
coração 0,00150
amar 0,00150
Abaixo segue a lista das principais palavras exclusivas do discurso de 2007 (ou seja, que aparecem somente no Discurso de 2007).
diferente 0,00500
melhor 0,00450
deu 0,00350
expansão 0,00300
projetos 0,00300
pedi 0,00300
precisamos 0,00250
opção 0,00250
tenho 0,00200
novas 0,00200
cidadania 0,00200
desafio 0,00200
pessoas 0,00200
programas 0,00200
área 0,00200
atrás 0,00150
parte 0,00150
primeira 0,00150
alto 0,00150
difícil 0,00150
consumo 0,00150
distribuição 0,00150
problemas 0,00150
interesses 0,00150
escolha 0,00150
consolidar 0,00150
voz 0,00150
segundo 0,00150
dificuldades 0,00150
privado 0,00150
capazes 0,00150
medidas 0,00150
dez 0,00150
empresas 0,00150
inovação 0,00150
universidade 0,00150
formação 0,00150
fortalecimento 0,00150
sistema 0,00150
resolver 0,00150
exige 0,00150


Uma aplicação semelhante mas analisando os debates das eleições presidenciais nos Estados Unidos (ano de 2008) pode ser encontrada em http://mkweb.bcgsc.ca/debates/ (dica do Luis Fernando Garcia).

Técnicas de Text Mining

Nos links abaixo, podem ser encontradas descrições detalhadas sobre técnicas de Text Mining.

Text Mining – tutorial de técnicas
Text Mining – exemplos de aplicações
Text Mining - Descoberta de Conhecimento em Textos (resumo)
Text Mining - Descoberta de Conhecimento em Textos (completo)

ou

Text Mining – tutorial de técnicas
Text Mining – exemplos de aplicações
Text Mining - Descoberta de Conhecimento em Textos (resumo)
Text Mining - Descoberta de Conhecimento em Textos (completo)

Definição de Text Mining

Text Mining ou Mineração de Textos ou Descoberta de Conhecimento em Textos (KDT) é um processo de análise de textos, geralmente utilizando técnicas estatísticas, para encontrar informações ou conhecimentos implícitos em textos.
O termo é derivado de Data Mining (Descoberta de Conhecimento em Bancos de Dados - KDD). A diferença é que em Data Mining as técnicas de mineração são aplicadas sobre dados estruturados (células de planilhas ou linhas/colunas de tabelas), enquanto que Text Mining aplica técnicas de mineração sobre dados em formato de textos (dados não-estruturados).
As informações que podem ser mineradas estão codificadas nos textos através da chamada linguagem natural (livre, irrestrita, não padronizada).
A grande dificuldade do processo de Text Mining é justamente aplicar técnicas sobre características ou informações textuais, sendo que estão são representadas por palavras.
Palavras geram problemas de compreensão (ambiguidades, polisemias, sinonímias, contexto, etc.).
O processo de Text Mining pode ser aplicado sobre palavras, mas sem muita precisão. O ideal é identifiar informações (significados ou conceitos) nas palavras e então aplicar as técnicas de mineração sobre estas informações (processo em duas etapas).
Este tipo de abordagem é melhor explicado no artigo "Concept-based knowledge discovery in texts extracted from the Web". As citações deste artigo podem ser encontradas aqui.

Início do blog

Este é o início do blog "Mining Text", que tratará de assuntos relativos a Text Mining (Mineração de Textos).
A idéia é apresentar e discutir técnicas, ferramentas e aplicações de Text Mining.
Começamos indicando o site da InText Mining e suas ferramentas.