Classificadores Bayesianos - Stoa Social · O classificador Naive Bayes é classificador...
-
Upload
vuongkhanh -
Category
Documents
-
view
218 -
download
0
Transcript of Classificadores Bayesianos - Stoa Social · O classificador Naive Bayes é classificador...
Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Computação e
Sistemas Digitais - PCS
PCS5708 – Técnicas de Raciocínio Probabilístico em Inteligência Artificial
Classificadores Bayesianos
Aplicados a análise sintática da língua portuguesa
Marcelo Li Koga
Prof.: Paulo Cugnasca
28 de maio de 2011
1
1 Introdução
A área de linguística computacional apresenta muitos desafios atualmente, pois a
análise de uma linguagem natural meio de uma máquina é uma tarefa bastante complexa.
Nesse contexto, o uso de técnicas de raciocínio probabilístico é de grande auxílio pois a
análise da linguagem traz muitas incertezas e é necessário saber lidar com elas. Múltiplas
classes gramaticais, ambiguidades e figuras de linguagem são exemplos de características
que geram essas incertezas.
O objetivo desse trabalho é investigar o uso de uma técnica probabilística – Naive Bayes
– aplicada a uma subtarefa da análise sintática da linguagem: a classificação de sujeito de
uma oração. É uma tarefa de classificação portanto, realizada em conjunto com uma
aprendizagem supervisionada.
O capítulo 2 descreve o problema de classificação em geral, 3 e 4 versam sobre o
classificador Naive Bayes e suas extensões respectivamente, cap. 5 apresenta alguns
resultados de experimentos práticos da tarefa e finalmente no cap. 6 as conclusões são
mostradas.
2
2 Classificação
O objetivo do problema de classificação é a previsão de categorias (também chamadas
de etiquetas) para os dados. Dado um conjunto de dados e de categorias definidas, a tarefa
do classificador é construir um modelo capaz de atribuir corretamente uma categoria a cada
dado.
O primeiro passo para construir um classificador é a definição de um conjunto de
treinamento. Este contém uma lista de exemplos (definidos por atributos) cada um com sua
respectiva classe. O conjunto de treinamento é então submetido a um algoritmo de
classificação e um modelo é construído (indução). Esse modelo pode ser de diversas formas
dependendo do algoritmo escolhido, como uma lista de regras, uma árvore de decisão, uma
fórmula matemática ou cálculo de probabilidades como no caso do Naive Bayes explicado
na próxima seção.
Em posse do modelo, o classificador pode então atribuir categorias a novos dados
nunca vistos antes (dedução). Para medir a qualidade do modelo construído, pode-se usar
um conjunto de teste, que deve ser independente do conjunto de treinamento, cujas
classificações também são conhecidas de modo que seja possível averiguar a taxa de acerto
do modelo proposto.
Vários são os algoritmos existentes para classificação e o que será apresentado na
seção a seguir é de um classificador probabilístico, o Naive Bayes.
3
3 Classificador Naive Bayes
O classificador Naive Bayes é classificador probabilístico baseado no teorema de Bayes
(Thomas Bayes) com uma premissa simples: todos os atributos são independentes entre si.
A Figura 1 ilustra o modelo. Ela indica que cada atributo Ai influencia a classe C, mas nenhum
exerce influência sobre o outro.
Figura 1 - Modelo Probabilístico Naive Bayes
Como classificador probabilístico, ele calcula as probabilidades de uma classe C, dados
os atributos A1, A2, A3,etc.
,...),,|( 321 AAACp
Aplicando o teorema de Bayes, a probabilidade seria assim calculada:
)...,,|(),|()|()( 223121 CAAApCAApCApCp
Mas com a premissa de independência de atributos, o cálculo é simplificado para:
)...|()|()|()( 321 CApCApCApCp i
i CApCp )|()(
Com a independência de atributos, o classificador Naive Bayes torna-se um método
simples e efetivo, tornando-o atrativo. Poucos são os parâmetros que precisam ser
estimados, pois apenas as probabilidades a priori de classe e as condicionais de cada
atributo dada a classe são necessários. São (k – 1) + n r k parâmetros, onde k é o número de
classes, r é o número de valores diferentes que cada atributo pode assumir e n é o número
de atributos.
4
Essa premissa de independência é muitas vezes irreal, mas diversos estudos[2][3]
mostram que na prática ela se torna pouco relevante, pois o classificador Naive Bayes
apresenta resultados comparáveis a muitos outros algoritmos mais complexos [4]. Muitas
vezes, apesar da dependência entre atributos existir, ela não influencia na classificação.
3.1 Aprendizagem
A estimativa das probabilidades é a tarefa da aprendizagem desde classificador. E é
uma tarefa simples: a probabilidade será a frequência relativa de cada classe
(probabilidades a priori) e cada atributo dada a classe (probabilidades condicionais) no
conjunto de treinamento. Por exemplo, se temos 100 exemplos no total, sendo 60 da classe
A e 40 da classe B, então:
4,0)(
6,0)(
Bclassep
Aclassep
Ainda, se desses 60 da classe A, metade tem atributo A1 = verdadeiro e metade A1 =
falso e na classe B, todos tem A1 = falso, então temos:
0)|(
5,0)|(
1
1
BverdadeiroAp
AverdadeiroAp
1)|(
5,0)|(
1
1
BfalsoAp
AfalsoAp
E assim por diante, todas as probabilidades são calculadas. Deve-se ter atenção com o
caso de não ocorrer certa manifestação de um atributo para determinada classe, caso que a
estimativa seria zero (como p(A1 = verdadeiro|B) no exemplo). Pois como a probabilidade é
calculada como um produtório de todas as probabilidades condicionais e a a priori, se
houver uma nula, todo o resultado será nulo. Por isso, devemos fazer uma correção de
modo que nenhuma estimativa fique em zero:
01,0)|(
5,0)|(
1
1
BverdadeiroAp
AverdadeiroAp
99,0)|(
5,0)|(
1
1
BfalsoAp
AfalsoAp
Isso tudo caso os atributos sejam discretos. Caso o atributo seja contínuo, não
contamos simplesmente a frequência, mas podemos aproximar a distribuição dos valores
para uma distribuição normal [1]. Portanto, calcula-se a média μ e o desvio-padrão σ² dos
5
dados do conjunto de treinamento e assume-se que o atributo se encaixa numa gaussiana
definida por esses 2 parâmetros. A probabilidade é calculada usando-se a função gaussiana:
2
2
2
)(
²2
1)|(
x
i eCAp
3.2 Decisão
Em posse do modelo probabilístico, o classificador pode então calcular as
probabilidades de cada classe para uma determinada entrada. Assim sendo, a decisão da
classe escolhida é a da hipótese que obtiver a maior probabilidade, regra chamada de
Maximum a Posteriori.
6
4 Extensões ao Naive Bayes
Este capítulo apresenta algumas técnicas que propõem algumas alterações ao Naive
Bayes visando principalmente amenizar sua maior deficiência, que é a premissa de
independência entre os atributos.
4.1 Random Naive Bayes
A ideia do Random Naive Bayes é contruir, ao invés de apenas um classificador,
diversos classificadores Naive Bayes. No entanto, eles não levarão em conta todos os
atributos disponíveis. Cada um será construído utilizando apenas uma quantidade m de
atributos aleatórios. Assim, se existe dependência entre alguns atributos ela tende a ser
minimizada pois nem todo classificador usa os atributos dependentes entre si e sim
subconjuntos que podem ser independentes.
Para se chegar a uma resposta final será necessário então combinar as respostas de
cada um dos classificadores. Um jeito é escolher a classe mais “votada”, e esses votos
podem ser ponderados pelas probabilidades das hipóteses.
4.2 AODE
O AODE (Averaged One-Dependence Estimators) adota outra abordagem para
minimizar a dependência dos atributos. Na realidade, ele estende a estrutura do Naive
Bayes, incluindo também a dependência de cada atributo com um outro atributo. A Figura 2
ilustra esse modelo. Note que ela mostra a influência de atributos entre si, diferentemente
da Figura 1 do Naive Bayes.
O AODE também constrói diversos modelos, mais precisamente n modelos, onde n é o
número de atributos. Em cada modelo, existe um atributo alvo Aalvo e as probabilidades
consideradas são as condicionais desse alvo. Por exemplo, consideraremos: p(C),
p(A1|Aalvo,C), p(A2|Aalvo,C), etc.
7
Figura 2 - Modelo probabilístico do AODE
Ou seja, o AODE calcula um nível de dependência e faz isso n vezes. A resposta final
será a composição da resposta de todos os classificadores, tal qual no Random Naive Bayes.
O AODE tenta melhorar a relação custo computacional / precisão do Naive Bayes e com
um pequeno aumento de computação enfraquece a hipótese de independência
apresentando maior precisão [5].
8
5 Classificador de Tipos de Sujeito
5.1 Descrição
O classificador desenhado nesse trabalho é um classificador de tipo de sujeito de
orações. Na língua portuguesa, uma oração pode ser classificada de 4 maneiras com relação
ao sujeito: sujeito explícito (SE), sujeito oculto (SO), sujeito indeterminado (SI) ou oração
sem sujeito (OSS).
O sujeito explícito é o caso mais comum, no qual o sujeito aparece na frase como em
“Marcelo caiu” – o sujeito é justamente “Marcelo”. Já o sujeito oculto é o caso que ele está
implícito na frase, e pode ser inferido pelo contexto ou frases anteriores (posteriores). Por
exemplo, na oração “Fui ali” o sujeito não está escrito, mas sabe-se que é “eu” pela flexão
do verbo. O sujeito indeterminado também ocorre quando ele não está explícito mas não
se pode inferir quem é o sujeito, como em “Roubaram meu carro” – não se sabe quem
roubou o carro. O último caso ocorre quando a oração não possui sujeito, caso de verbos
de fenômenos naturais ou verbo haver no sentido de existir, como em “Houve acidentes” ou
“Choveu ontem”. Então dizemos que essas orações são sem sujeito.
O objetivo é então construir um classificador capaz de deduzir o tipo de sujeito de
uma oração, como mostra a Tabela 1.
Tabela 1 - Exemplos classificador de sujeitos
Entrada Saída
Eu gosto de futebol. Sujeito Explícito
Fica ali. Sujeito Oculto
Precisa-se de vendedores. Sujeito Indeterminado
Venta muito aqui. Oração Sem Sujeito
Existem traidores aqui. Sujeito Explícito
5.2 Treinamento
Como explicado no capítulo 2 e 3, os classificadores atuam sobre um conjunto de
atributos. Precisa-se então definir quais são os atributos pois a entrada inicial são apenas
frases em linguagem natural. Decidiu-se extrair das frases alguns atributos morfológicos e
estruturais, a saber:
Pessoa do verbo (1ª, 2ª ou 3ª )
9
Número do verbo (singular ou plural)
Se verbo possui hífen + “se”
Se radical do verbo é “haver”
Se radical do verbo é “fazer”, “ser”, “estar”, “ir”, “vir” ou “passar” (i.e., é verbo
que pode indicar tempo?)
Classe gramatical da palavra anterior ao verbo
Ou seja, as frases de entrada precisam antes passar por um pré-processamento para
extração dos atributos, usando principalmente um analisador morfológico. Neste trabalho,
usou-se o analisador JJSpell1.
Certamente o processo de escolha desses atributos foi guiado pela experiência no uso
da língua, não foram escolhidos aleatoriamente. A pessoa e número do verbo são
importantes pois sujeito indeterminado só ocorre em 3ª pessoa, assim como uma das
formas deste sujeito é com o “-se”. Os atributos com radicais de verbos específicos são
principalmente para diferenciar as orações sem sujeito, que podem ocorrer com o verbo
haver no sentido de existir ou também com verbos indicando passagem de tempo. A classe
gramatical da palavra que antecede o verbo é outro atributo bastante importante pois se é
um substantivo ou pronome, a chance maior é de que seja o caso de suj. explícito ou caso
não exista palavra anterior (verbo é a primeira palavra), maior chance de sujeto oculto.
Outro critério para a escolha desses atributos é o fato de eles serem de fácil extração, pois
certamente existem outras características mais incisivas para inferência do sujeito, no
entanto, elas não são simples de serem detectadas por máquinas.
Definidos os atributos, textos jornalísticos do site Folha.com2 e o conto “A
Cartomante” de Machado de Assis foram usados como conjunto de treinamento, sendo que
143 orações foram classificadas manualmente para esse fim. A Tabela 2 mostra alguns
exemplos deste conjunto:
1 JJSpell - A Java wrapper for the Jspell morphologic analyser. Disponível em: http://code.google.com/p/jjspell/
(acesso em 28/05/2011) 2 Folha.com. Disponível em: http://www.folha.uol.com.br/ (acesso em 28/05/2011)
10
Tabela 2 - Exemplos do conjunto de treinamento
Oração Pessoa Núm. -se? Haver Tempo Anterior Classe
Os homens são assim 3ª Plural Não Não Não Subst SE
Não acreditam em nada 3ª Plural Não Não Não Conj SO
Confessei que sim 1ª Sing Não Não Não -- SO
5.3 Resultados
Foram usadas as implementações do software WEKA [6] para contruir-se os
classificadores. Para validá-los, utilizou-se a técnica de validação cruzada com 10
subconjuntos. Os valores das taxas de acerto podem ser verificados na Tabela 3.
Tabela 3 - Resultados
Naive Bayes Random AODE
Taxa de Acerto 83,33 % 79,9 % 80,5 %
Todas as três técnicas apresentaram resultados similares, com o Naive Bayes até um
pouco melhor. Isso se deve porque neste exemploos atributos não são muito dependentes
entre si.
A matriz de confusão para o Naive Bayes pode ser vista na Tabela 4. A linha do
Sujeito Indeterminado só possui zeros porque nenhum exemplo do conjunto de
treinamento apresentava essa classificação.
Tabela 4 - Matriz de confusão
Classificado Como Suj. Explícito Suj. Oculto Suj. Indeter Sem Sujeito
Suj. Explícito 86 9 0 0
Suj. Oculto 11 30 0 0
Su. Indeterminado 0 0 0 0
Sem Sujeito 2 1 0 4
11
6 Conclusões
Com a realização deste trabalho, conclui-se que o uso de técnicas probabilísticas é de
grande valia ao processamento de linguagem natural. O resultado alcançado com o Naive
Bayes, de 84%, é bastante relevante e pode ser usado como auxílio na análise sintática.
Além disso, mostra que a técnica do Naive Bayes é de fato efetiva e que a hipótese de
independência muitas vezes não influencia o resultado.
Espera-se que em trabalhos futuros possa-se ampliar o escopo da análise, classificando
não apenas o sujeito mas outros aspectos como a predicado, a própria morfologia ou até a
árvore sintática completa.
12
7 Referência Bibliográfica
1. Russel, S. e Norvig, P. Inteligência Artificial. Tradução da Segunda Edição. Cap. 14 e 20. Rio
de Janeiro, Elsevier (2004)
2. Zhang, H. The Optimality of Naive Bayes.
3. Rish, Irina. An empirical study of the naive Bayes classifier. IJCAI 2001 Workshop on
Empirical Methods in Artificial Intelligence (2001)
4. Langley, P.; Iba, W. e Thompson,K. An analysis of Bayesian classifiers. In: Proceedings AAAI-
94 Seattle, WA, AAAI Press and MIT Press (1992), pp. 223–228
5. Webb, G. I., J. Boughton, and Z. Wang. Not So Naive Bayes: Aggregating One-Dependence
Estimators. Machine Learning 58(1). Netherlands: Springer, pages 5-24 (2005)
6. WEKA – Data Mining with Open Source Machine Learning in Java.
www.cs.waikato.ac.nz/ml/weka/ (acesso em 28/05/2011)