Mostrando postagens com marcador linguagem natural. Mostrar todas as postagens
Mostrando postagens com marcador linguagem natural. Mostrar todas as postagens

quarta-feira, 18 de maio de 2011

Classificadores Bayesianos

Na disciplina de Raciocício Probabilístico, apresentei um trabalho sobre classificadores Bayesianos (principalmente Naive Bayes) e apliquei-os a uma tarefa de análise sintática da língua portuguesa. A apresentação pode ser encontrada aqui e o relatório aqui

A tarefa era a seguinte: dada uma frase, classificar o tipo de sujeito que ela possui: Sujeito Explícito, Oculto, Indeterminado ou Inexistente (oração sem sujeito). Isso foi feito extraíndo-se alguns atributos das frases e usando probabilidades calculadas de um conjunto de treinamento (aprendizagem supervisionada).

Escolhi os seguintes atributos, de fácil extração: número de palavras da frase, número e pessoa do verbo, classe gramatical do termo anterior ao verbo, presença de "-se", infinitivo do verbo é "haver";

Por exemplo, na frase: "Ele leu o blog.", temos os seguintes atributos:
Núm. palavras: 4
Núm e pessoa do verbo: 3a pessoa, singular
Classe do termo anterior: pronome
Presença de "-se": não
É verbo "haver": não
E se for parte do treinamento, fornecemos a classe: Sujeito Explícito.

Com o Naive Bayes Classifier, assumimos que todos os atributos são independentes. Então bastam as probabilidades a priori de cada classe e as condicionais de cada atributo dada a classe.

Então a aprendizagem calcula probabilidades a priori com suas frequencias, como:
p(Suj. Explicito) = quantidade de frases SE / quantidade total de frases no conjunto de treinamento

E também as probabilidades condicionais, por exemplo:
p(termo anterior=pronome|classe=suj. oculto)

Nos testes que realizei, treinando com frases de textos jornalísticos e do conto "A cartomante" de Machado de Assis, obtive taxa de acerto de 84%.

sábado, 19 de março de 2011

Estimativa de relevância de domínio semântico em textos

Resumo de: Gliozzo, A., Magnini, B. and Strapparava , C. “Unsupervised domain relevance
estimation for word sense dis ambiguation” In: Conference on Empirical Methods in
Natural Language Processing, 2004. Disponível em: http://wndomains.fbk.eu/publications/EMNLP04.pdf

O artigo apresenta o Domain Relevance Estimation (DRE), uma técnica para identificar a relevância de um texto dentro de certo domínio. Os domínios são conhecidos e pré-fixados, com palavras associadas. Dado um texto, calcula-se quão relevante ele é nesse domínio, e essa informação pode ser importante para resolver o problema de desambiguação do sentido das palavras no texto. Esse trabalho pode ser classificado como resolvedor do problema de Categorização de textos.

Inicia-se com um conjunto de domínios (categorias), tais como Medicina, Matemática ou Esportes, cada um com uma lista de palavras relacionadas. Essas listas foram extraídas do WORDNET DOMAINS, que é uma extensão do WORDNET (uma base de dados de palavras com informações léxicas e semânticas e ligações entre as palavras, como sinônimos, antônimos, derivados, formando uma grande rede), atribuíndo a cada palavra um ou mais labels de domínio. A estrutura de domínios é hierárquica e apresenta 200 domínios diferentes. Cada significado presente em uma palavra no WORDNET ganha label de domínio e a frequência do sgnificado é também computada através do SemCor. Por fim, existe uma label genérica, para palavras que não possuem um domínio de conhecimento específico.

A idéia básica é simples: quanto mais palavras de um certo domínio um certo texto contém, mais relevância para aquele domínio ele possuirá. E a WORDNET é útil nesse cálculo da relevância de uma palavra para o domínio. Ela é definida como sendo uma somatória das relevâncias te todos ossignificados presentes na rede da palavra.

No entanto, a simples contagem de frequências não é adequada pois introduziria ruído ao contar domínios não-relevantes. Normalmente para se contornar isso, usa-se uma aprendizagem supervisionada, mas não é esse o caso. O artigo usa o Gaussian Mixture Model, usando uma técnica de aprendizagem não-supervisionada: estima parâmetros baseado em estatísticas de um grande corpus de palavras. O GMM é um modelo que consiste numa composição de gaussianas e permite representar toda função densidade de probabilidade contínua como uma combinação linear de gaussianas. Nesse caso, será usado um modelo com 2 gaussianas: uma com a densidade de probabilidade relevante para o domínio e outra para o que não é relevante.

Usando Bayes, a relevância R do domínio D para o texto t numa posição j é:
Onde F é a frequência. Não-D é o oposto ao domínio, tudo que não é relacionado ao domínio D em questão. E para aplicar essa fórmula é necessário estimar a função densidade de probabilidade para a frequência dos termos no domínio e para isso um algoritmo de Expectation-Maximization é usado para maximizar o "likelihood" e formar o modelo GM.

No contexto do problema de desambiguação do sentido das palavras, um dos métodos é a desambiguação dirigida por domínio (DDD) onde somente informação de domínio é utilizada.

Concluindo, esse é um método interessante para categorizar textos sem o uso de exemplos prévios, exceto pelo fato do uso do SemCor que possui as frequências dos sentidos das palavras.