21 de fevereiro de 2019

Justificativa e objetivos

  • As áreas práticas de mineração de texto.
  • Como encontrar a área de um problema.
  • Etapas do preprocessamento de texto.
  • Representação espaço vetor.
  • Ponderação de termos.

As 7 áreas práticas de mineração de texto

Áreas em mineração de texto

  • Coleção pouco estruturada de tecnologias.
  • Funcionam como cidades-estado: interligadas mas independentes, sem claro predomínio.
  • Tecnologias com diferentes níveis de maturidade.
  • Da perspectiva do praticante: 7 áreas.

Mineração de texto

  • Termo que representa o conjunto de tecnologias para processamento e análise de texto semi e não estruturado.
  • A tarefa é transformar texto em números.
  • A mineração de texto vive um estado "velho oeste" (MINER et al., 2012).
    • Muitas tecnologias.
    • Sem clara organização ou predominância.
  • As áreas são distintas e interligadas ao mesmo tempo.
  • Projetos poderão envolver múltiplas áreas.

Figura  1: Diagrama de vem com as áreas práticas de mineração de texto e disciplinas relacionadas. Fonte: @miner2012practical.

Figura 1: Diagrama de vem com as áreas práticas de mineração de texto e disciplinas relacionadas. Fonte: MINER et al. (2012).

Agrupamento de documentos

  • Agrupar documentos por similaridade.
  • Emprego de medidas de similaridade que representem o objetivo.
  • Método de aprendizado não supervisionado.
  • Pode requerer conhecimento prévio do número de grupos.

Classificação de documentos

  • Classifica documentos em grupos previamente rotulados.
  • Construção de características numéricas a partir dos textos.
  • Treinamento de um classificador.
  • Aplica regras aprendidas em novos documentos.
  • Método de aprendizado supervisionado.

Extração de informação

  • Construir dados estruturados a partir dos não estruturados.
  • Extração de entidades (pessoas, locais, datas), valores, cifras monetárias.
  • Extração de entidades e relacionamentos entre elas (conexões e hierarquia).
  • Campo mais maduro.

Extração de conceito

  • É desafiador pois requer "entender".
  • Máquina + humano combinados dão boa performance.
  • Análise de sentimentos e associação de palavras.

Mineração da Web

  • Foco em mecanismos de aquisição de dados da Web.
    • Fontes em constante atualização (jornais, revistas).
    • Redes sociais.
    • Quantidades massivas de conteúdo em streamming.
    • Reação em tempo real sobre informações coletadas.
  • Uso grande web scraping e web apis.
  • Questões sobre armazenamento e processamento.

Processamento da linguagem natural

  • Sinônimo de linguística computacional.
  • Usado em inteligência artificial.
  • É uma área em expansão para habilitar máquinas compreenderem instruções.
  • Empregada nas fases de preprocessamento do texto.
    • Rotular partes do discurso (substantivo, verbo, adjetivo, etc.)
    • Detecção de bordas de sentença.
    • Auxilia na construção de características.
    • Detecção de sinônimos e erros de grafia, desambiguação.

Busca e retenção de informação

  • Conjunto de tecnologias usadas por sites de busca (Google, Yahoo!, Bing, etc).
  • Usado em serviços de email, processadores/editores de texto.
  • Recurso popular e cotidiano implementado em muitos lugares.
  • Recebe pouca atenção em mineração de texto.
  • É para quem quer construir o próprio motor de busca.
  • Empregado em sistemas de recomendação também.

Figura  2: As 7 áreas práticas de mineração de texto e atividades relacionadas. Fonte: @miner2012practical.

Figura 2: As 7 áreas práticas de mineração de texto e atividades relacionadas. Fonte: MINER et al. (2012).

Conceitos fundamentais e processamento

Sintaxe e semântica

  • Sintaxe.
    • É a estrutura da linguagem.
    • Baseada em ordenação, regras gramaticais e convenções de linguagem.
    • Induz padrões ou fórmulas (sujeito + verbo + complemento, etc.).
    • Uma sintaxe correta pode não ter significado.
    • O elefante voou dentro da janela rochosa como um anzol de cromossomo.
  • Semântica.
    • É o significado das palavras individuais e dentro do contexto que as cercam.
    • Jonas tinha borboletas no estômago por saber que a encontraria.
    • Literal: Jonas comeu borboletas.
    • Idiomático: Jonas está ansioso.

Suposições

  • O computador analisa conteúdo e estrutura.
  • Mas não compreende a informação que o texto comunica (conceitos).

Suposição importante

Documentos com sintaxe similar devem ter semântica similar.

Mesmos termos \(\rightarrow\) mesmos assuntos.

O que é usado

  • A sintaxe é usada sem uso da semântica pela próxima relação que possuem.
  • Suposição fundamental: similaridade sintática implica em similaridade semântica.
  • Implica que documentos com as mesmas palavras-chave são sobre o mesmo assunto.
  • Extração de conceito, por outro lado, usa semântica: quer identificar palavras/frases com mesmo significado.

O modelo de espaço vetor

  • Documentos são vetores no espaço \(v\)-dimensional (\(v\): tamanho do vocabulário).
  • Em aplicações reais, gera um espaço de altíssima dimensão.
  • Algoritmos são aplicados sobre essa representação numérica.
  • Fazem a suposição: a ordem das palavras não interfere na representação dos documentos. (bag-of-words assumption).
  • Para tarefas de processamento da linguagem natural, a preservação da ordem é fundamental.
  • Para extração de entidades, requer conhecer o contexto pré e pós um termo.
  • Dificuldades:
    • Homônimos e homógrafos: eu não me molho vs o molho estava muito bom.
    • Ironia, negação, abreviações, erros gramaticais, linguagem coloquial.

Etapas do pré-processamento de texto

Passo a passo

  • Como sair do texto livre e chegar à representação de espaço vetor?
  • Etapas envolvidas:
    • Definir unidade de texto que serão os documentos (tokens).
    • Detecção de bordas das sentenças.
    • Realizar a fragmentação (tokenização).
    • Padronização de caixa.
    • Remoção de stopwords (palavras frequentes contexto agnóstico).
    • Remoção de caracteres especiais (traços, cifras, números, pontuação).
    • Redução de inflexões e derivações (steamming ou lemma).
    • Correção de ortografia.

Escolha da unidade

  • Para maioria das aplicações é fácil ou natural determinar.
  • Pode ser como o texto já foi criado: email, tweet.
  • Para documentos longos pode ser: capítulos, seções, parágrafos, sentenças, etc.
  • A escolha depende do objetivo.
    • Documento inteiro: e.g. agrupamento e classificação.
    • Unidades menores: e.g. análise de sentimentos e retenção de informação.

Tokenização

  • Quebrar texto em tokens (palavras-chave).
  • Normalmente são as próprias palavras do documento.
  • Podem incluir n-gramas: pares (Sérgio Moro, Campo Largo), trios (Semana Acadêmica de Estatística, Museu Oscar Niemeyer), etc.

Remoção de stopwords

  • Palavras de ocorrência predominantes em todos os documentos independente do contexto.
  • São: artigos, preposições, pronomes, conjunções, verbos (ser, ter, haver), etc.
  • Não auxiliam na distinção de documentos nem de contexto.
  • Remoção reduz a dimensão do espaço vetor.

Stemming

  • Padronizar tokens relacionados em uma escrita única.
  • Remoção de inflexões (gênero, tempo, pessoa), prefixos e sufixos.
    • vend = {vender, vendia, vendido, vendem, vendaval}
  • Reduz dimensão do espaço vetor.
  • Agrupa em um único termo conceitos geralmente relacionados.
  • Porter steammer virou o Snowball steammer (algoritmo).
  • Lematização: mais sofisticado, não considera apenas a grafia.
    • Stemming: ama = {amava, amar, amável}, amo = {amor, amou, amoroso}
    • Lemmatization: ama = {amava, amar, amável, amor, amou, amoroso}.

Padronização de ortografia

  • Erros de ortografia levam ao crescimento desnecessário da dimensão do espaço vetor.
  • Abordagens baseadas em dicionário léxico podem corrigir tais erros.
  • Busca e substituição baseada em distâncias de edição são comuns.
  • Sem utilidade para textos cultos (jornais, revistas, etc).
  • Desafiador em textos coloquiais: uma hashtag, neologismo ou sigla pode parecer um erro de grafia.

Detecção de bordas

  • Fragmentar um texto em sentenças.
  • Pode ser baseado em sinais de pontuação (.,!?).
    • Cuidado com casos como Sr. e Sra. Smith.
    • Ponto como decimal/milhar de números: R$ 1.000,00.
  • Existem regras que resolvem a ambiguidade no uso dos sinais.

Padronização de caixa

  • Texto é escrito em caixa mista (maiúsculas e minúsculas).
  • Caixa diferencia nomes próprios: a Folha (jornal) e a folha (de caderno).
  • Indicador para detecção de entidades nomeadas.
  • O maiúsculo no começo de frase é apenas estilístico.
  • Converte o documento para uma caixa única (baixa geralmente).

Criando vetores

Usando a representação espaço vetor, considere os documentos a seguir.

  • Doc1: meu cachorro está na sala.
  • Doc2: minha bicicleta está suja.
  • Doc3: minha sala está suja.
  • Os vetores compõem a matriz de documentos (linhas) e termos (colunas).


meu cachorro está na sala minha bicicleta suja
Doc1 1 1 1 1 1
Doc1 1 1 1 1
Doc3 1 1 1 1

Esquema de ponderação

  • Como expressar a ocorrência de cada termo no documento e na coleção?
  • Forma binária: indica se ocorre (1) ou não ocorre (0) no documento.
  • Frequência absoluta (tf: term frequency): número representa quantas vezes ocorre o termo no documento.
  • Existem outras funções de ponderação, normalmente sublineares.

Ponderação TF-IDF

  • A TF-IDF (term frequency - inverse document frequency) é a ponderação mais comum.
  • TF: frequência do termo (\(t\)) no documento (\(d\)): \(\text{TF}(t, d)\).
  • IDF: função do número de documentos que possem o termo (\(t\)): \[\text{IDF}(t) = \log\left(\frac{\text{total de documentos} + 1}{\text{documentos contendo }t}\right).\]
  • O peso do termo \(t\) no documento \(d\) é \[w(t, d) = \text{TF}(t, d) \times \text{IDF}(t).\]

Referências

MINER, G.; ELDER, J.; HILL, T. Practical Text Mining and Statistical Analysis for Non-structured Text Data Applications. Academic Press, 2012.