Aquisição de subcategorization frames para verbos da língua portuguesa

June 2, 2017 | Autor: Adriano Zanette | Categoria: Natural Language Processing, Parsing
Share Embed


Descrição do Produto

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO

ADRIANO ZANETTE

Aquisição de Subcategorization Frames para Verbos da Língua Portuguesa

Projeto de Diplomação

Profa . Dra . Aline Villavicencio Orientador

Porto Alegre, julho de 2010

“La venganza nunca es buena, mata el alma y la envenena.” — D ON R AMÓN

AGRADECIMENTOS

Agradeço a Aline Villavicencio e a Maria José Finatto por me orientarem na área de PLN. Agradeço ao Leonardo Zílio pela ajuda na avaliação manual do trabalho. Agradeço ao Leonardo Borba que teve a paciência de ler todo o meu trabalho. Agradeço aos membros do NILC que contribuiram com o léxico e também se mostraram atenciosos para todo tipo de questionamentos. Agradeço especialmente aos meus pais, colegas e amigos que me acompanharam e apoiaram durante todo tempo de faculdade e também a minha namorada, que soube dividir o dia dos namorados com o trabalho de conclusão.

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS . . . . . . . . . . . . . . . . . . . .

6

LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

RESUMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

ABSTRACT

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1

2 TRABALHOS RELACIONADOS . . . . . . 2.1 Parsing . . . . . . . . . . . . . . . . . . . . . 2.1.1 Selva . . . . . . . . . . . . . . . . . . . . . 2.1.2 Curupira . . . . . . . . . . . . . . . . . . . 2.1.3 Bikel’s Multi-Lingual Parsing Engine . . . . 2.1.4 PALAVRAS . . . . . . . . . . . . . . . . . 2.2 Aquisição Lexical . . . . . . . . . . . . . . . 2.2.1 Medidas de Avaliação . . . . . . . . . . . . 2.2.2 Sistemas de Aquisição de Subcategorização

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15 15 16 16 17 17 17 18 20

3 MATERIAIS E MÉTODOS 3.1 Materiais . . . . . . . . 3.1.1 Floresta Virgem . . . . 3.1.2 Léxico do NILC . . . . 3.2 Métodos . . . . . . . . . 3.2.1 Pré-Processador . . . . 3.2.2 Extrator de SCFs . . . 3.2.3 Construtor de SCFs . . 3.2.4 Filtro de SCFs . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25 25 25 27 27 28 28 31 34

4 RESULTADOS . . . . . . . . . 4.1 Avaliação Manual . . . . . . . 4.2 Avaliação Automática . . . . 4.2.1 Avaliação Geral . . . . . . . 4.2.2 Avaliação Específica . . . . 4.3 Discussões . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36 36 38 40 43 46

. . . . . . . .

5 CONCLUSÕES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . Apêndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49 50

APÊNDICE A

VERBOS MAIS FREQUENTES . . . . . . . . . . . . . . .

51

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

LISTA DE ABREVIATURAS E SIGLAS

SCF

Subcategorization Frame

PLN

Processamento da Linguagem Natural

PP

Prepositional Phrase (Sintagma Preposicionado)

NP

Noun Phrase (Sintagma Nominal)

VP

Verbal Phrase (Sintagma Verbal)

ADVP

Adverbial Phrase (Sintagma Adverbial)

ADJP

Adjectival Phrase (Sintagma Adjetivo)

AD

Árvores Deitadas

TP

Verdadeiro positivo

FN

Falso negativo

FP

Falso positivo

LISTA DE FIGURAS

Figura 1.1:

Exemplo de análise gramatical. . . . . . . . . . . . . . . . . . . . .

13

Figura 2.1: Figura 2.2: Figura 2.3: Figura 2.4: Figura 2.5:

Visão geral do sistema de (BRISCOE; CARROLL, 1997). . . . . . . Exemplo de saída do etiquetador de (BRISCOE; CARROLL, 1997). . Exemplo de saída do lematizador de (BRISCOE; CARROLL, 1997). Exemplo de saída do parser de (BRISCOE; CARROLL, 1997). . . . Exemplo de saída do Extrator de padrões de (BRISCOE; CARROLL, 1997). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de relações de dependências na frase “«Confissões» chega a Portugal”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de saída do parser de (MESSIANT, 2008). . . . . . . . . . Exemplo de saída do Extrator de padrões de (MESSIANT, 2008). . . Exemplo de saída do Construtor de SCFs de (MESSIANT, 2008). . .

20 20 21 21

Figura 2.6: Figura 2.7: Figura 2.8: Figura 2.9: Figura 3.1: Figura 3.2: Figura 3.3: Figura 3.4: Figura 3.5: Figura 3.6: Figura 4.1: Figura 4.2: Figura 4.3: Figura 4.4:

Figura 4.5:

Figura 4.6:

Exemplo de análise gramatical para a frase “Seca afeta pouco a produção de grãos” no formato AD. . . . . . . . . . . . . . . . . . . . . Exemplo de análise gramatical para a frase “«Confissões» chega a Portugal”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visão geral do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . Modelagem da tabela de verbos. . . . . . . . . . . . . . . . . . . . . Modelagem da tabela de frames. . . . . . . . . . . . . . . . . . . . . Modelagem do banco de dados do sistema. . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência absoluta de verbos. . . . . . . . . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência absoluta de frames. . . . . . . . . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência relativa de frames. . . . . . . . . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência absoluta de verbos, eliminando todos frames com frequência relativa menor que 0,017. . . . . . . . . . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência absoluta de frames com o grupo de 20 verbos mais frequentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gráfico com a variação de medidas de avaliação sobre o filtro de frequência relativa de frames com o grupo de 20 verbos mais frequentes.

22 23 23 24 24 26 27 28 29 33 34 41 42 42

43

44 44

Figura 4.7:

Gráfico com a variação de medidas de avaliação sobre o filtro de frequência relativa de frames com o grupo de 10 verbos mais frequentes, após a correção do sistema. . . . . . . . . . . . . . . . . . .

46

LISTA DE TABELAS

Tabela 1.1:

Simples comparação entre alguns dicionários da Língua Portuguesa. .

14

Tabela 2.1:

Exemplo de subcategorização. . . . . . . . . . . . . . . . . . . . . .

18

Tabela 4.1: Tabela 4.2:

Resultados obtidos pelo sistema. . . . . . . . . . . . . . . . . . Comparação entre o número de frames rejeitados distribuídos faixa de frequência. . . . . . . . . . . . . . . . . . . . . . . . . Comparação entre os 20 verbos mais frequentes. . . . . . . . . Comparação entre os diferentes métodos de aquisição de SCFs.

36

Tabela 4.3: Tabela 4.4:

. . . por . . . . . . . . .

37 45 46

RESUMO

Neste trabalho são apresentados métodos para aquisição automática de subcategorization frames (SCF) para verbos de diversas línguas assim como a adaptação de um destes métodos para Língua Portuguesa. Para tanto foi desenvolvido uma solução automática utilizando corpora previamente anotados com informações linguísticas. Utilizou-se como base um parser já existente para a língua portuguesa - o parser PALAVRAS - e foi adaptada uma solução desenvolvida para o francês (cf. (MESSIANT, 2008)). Para verificar a efetividade do método foi gerado automaticamente um léxico com informações de subcategorização e comparado com um léxico gerado manualmente.

Palavras-chave: Processamento da linguagem natural, aquisição léxica, léxico, subcategorização.

Subcategorization Frames Acquisition for Portuguese Language Verbs

ABSTRACT

This work discusses techniques for the automatic acquisition of subcategorization frames (SCF) for verbs in many languages, and presents the extension of one of these methods for Portuguese. An automatic solution was developed using corpora annotated with linguistic information. We used a parser for Portuguese - the PALAVRAS parser as basis for this work and adapted an existing solution developed for French (see (MESSIANT, 2008)). To verify the effectiveness of the implemented method we automatically generated a lexicon with subcategorization informations and compared it with a manually generated lexicon.

Keywords: natural language processing, parsing, lexical acquisition, subcategorization frames.

12

1

INTRODUÇÃO

O Processamento de Linguagem Natural (PLN) é uma área interdisciplinar que envolve a Ciência da Computação (em particular a área de Inteligência Artificial) e a Linguística. Nesta área são estudados diversos problemas com relação à geração e/ou compreensão de linguagens naturais por máquinas, entre outros problemas afins, como podemos encontrar em (JURAFSKY; MARTIN, 2000). Atualmente, em PLN, existem diversos desafios de grande complexidade, como por exemplo, sistemas automáticos de Resposta a Pergunta, tradução automática, correção gramatical, entre outros. Estes tópicos têm gerado grande interesse, com as mais diferentes técnicas e abordagens em diversas línguas. Porém, a maioria destas abordagens são para sistemas que tem como língua alvo o inglês (cf. (KORHONEN, 1997) e (BRISCOE; CARROLL, 1997)). Já para o português, as pesquisas e recursos são mais escassos, se comparados, por exemplo, ao inglês, espanhol ou francês. Neste contexto, um dos mecanismos fundamentais no bom desempenho de sistemas de PLN é um parser. Dada uma gramática (conjunto de regras com um vocabulário) que descrevem uma certa linguagem, parsers são analisadores gramaticais que recebem como entrada um texto puro, verificam se o texto pode ser descrito pela gramática e o representam, geralmente, em árvores de derivação que descrevem as relações entre as palavras em uma frase. Assim, em sistemas de Resposta a Pergunta estas relações podem ser usadas para detectar qual informação está sendo requisitada, e guiar a busca por esta informação. Por exemplo, caso quiséssemos fazer a pergunta “Quem venceu a copa do mundo de 1998?” para um sistema de Resposta a Pergunta, internamente o sistema utilizaria um parser que analisaria a sentença de uma forma similar a vista na Figura 1.1, onde podemos ver as diversas partes da frase como o sujeito, verbo, objeto e modificadores. Pelo sujeito, neste caso “Quem”, o sistema pode inferir que a busca se refere a alguém. Com o verbo identificando a ação do sujeito, que no exemplo é “vencer”. Do objeto é retirada a informação do que foi vencido e com o complemento é extraído uma restrição para a consulta, que neste caso é o ano do fato ocorrido (1998). Assim, se o sistema de Resposta a Pergunta souber tratar corretamente estas informações, ele poderia pesquisar em uma base de dados e retornar a resposta correta ao questionamento. Uma das principais dificuldades para o desenvolvimento de sistemas de Resposta a Pergunta para a Língua Portuguesa é a escassez de parsers para a mesma. Atualmente existem poucos parsers específicos para o português (como podemos encontrar em (BICK, 2000), (WING; BALDRIDGE, 2006), (MARTINS et al., 2002) e (SILVA et al., 2010)). E se, ainda por cima, estivermos querendo que eles tenham uma ampla co-

13

Figura 1.1: Exemplo de análise gramatical. bertura (e consequentemente alta taxa de acerto) teremos um problema ainda maior. A cobertura de um parser depende do conjunto de regras e palavras: quanto maior ele for, maior será a cobertura. Porém a definição manual desta informação é lenta e custosa e exige conhecimento de especialistas em lexicografia. Uma alternativa é desenvolver métodos para a aquisição semi-automática de conhecimento linguístico, que possa ser subsequentemente incorporado a gramática da língua utilizada pelo parser. Desta forma, pode-se incorporar aos parsers já existentes mais informações de uma maneira mais rápida, que permita que eles sejam mais facilmente portados para um novo domínio. (BALDWIN et al., 2004) explica que grande parte dos erros de parsing de ampla cobertura se dá por falta de palavras no vocabulário do parser. E em (BRISCOE; CARROLL, 1997) foi comprovado que enriquecendo um parser com informações lexicais é possível obter uma melhora considerável de desempenho. Como pode ser visto em (KORHONEN et al., 2006), léxicos de subcategorização são vitais para a tarefa de parsing. Também são muito importantes para: classificação automática de verbos, aquisição de preferências de seleção e tarefas que necessitam de conhecimento de estrutura predicado-argumento (como tradução automática e extração de informação). Porém, léxicos de subcategorização construídos manualmente são altamente custosos de produzir, são extremamente difíceis de serem atualizados com novas informações obtidas automaticamente e dificilmente contêm informações estatísticas (tais como frequência absoluta, frequência relativa, etc). Estas informações estatísticas são essenciais para qualquer tipo de abordagem probabilística e é quase impossível de ser coletada sem auxílio de programas de computador, além de serem altamente sensíveis ao domínio dos textos dos quais são extraídas. Para o Português, existem poucos dicionários, ou léxicos, eletrônicos e não há uma média de número de entradas (palavras) padrão para estes. Como, por exemplo, podemos ver na Tabela 1.1 o tamanho de alguns dicionários da Língua portuguesa varia muito. Tendo em vista que a maior parte dos erros de um parser se dá por falta de itens lexicais, este trabalho tem como foco a aquisição lexical , mais especificamente, a geração de um léxico de subcategorização verbal. Extraindo as informações de subcategorização de um grande número de verbos tendo como base um corpus1 de mais de 1 milhão de palavras previamente anotado pelo parser PALAVRAS. Para tanto, foi implementado um do sistema automático de aquisição de SCF fundamentado em (MESSIANT, 2008), onde 1 Corpus

é um conjunto textos escritos ou falados (no caso deste trabalho quando se referir a corpus está se tratando de corpus de texto escrito)

14

Dicionário Diadorim

Desenvolvedor NILC/USP

PALMORF

PALAVRAS/VISL

Dicionário de Pediatria

Textquim/UFRGS

Entradas 1.5M de palavras flexionadas 45.000 lexemas, 10.000 polilexicais e 20.000 formas de inflexão irregular 1000 termos compostos

Tabela 1.1: Simples comparação entre alguns dicionários da Língua Portuguesa. foi extraído um grande número de SCFs para verbos do francês. Este sistema para o francês precisou ser adaptado às ferramentas disponíveis para o português. O autor não tem conhecimento até o dado momento de trabalho similar envolvendo aquisição automática em larga escala de SCFs para a língua portuguesa, fazendo este trabalho pioneiro nesta área. No Capítulo 2 são apresentados trabalhos para diferentes línguas sobre aquisição de SCFs para verbos e também são apresentados os principais parsers da língua portuguesa. No Capítulo 3 encontram-se os principais recursos utilizados neste trabalho e ainda o método implementado para aquisição de SCFs para verbos do português. No Capítulo 4 são exibidos os resultados obtidos com o método apresentado no Capítulo 3. E finalmente, no Capítulo 5 são apresentadas as conclusões retiradas deste trabalho, assim como possibilidades de continuação do trabalho.

15

2

TRABALHOS RELACIONADOS

Neste capítulo serão apresentados os principais trabalhos que influenciaram o desenvolvimento de um sistema de aquisição de subcategorization frames (SCFs) para o português. São duas grandes áreas: parsing e aquisição lexical. Na Seção 2.1 são apresentados alguns conceitos básicos sobre parsing, além de um estudo sobre os principais parsers disponíveis para a língua portuguesa. Já na Seção 2.2 serão abordados os principais trabalhos sobre aquisição em larga escala de SCFs bem como as principais medidas de avaliação de sistemas de recuperação de informação.

2.1

Parsing

Segundo (SILVA et al., 2007), parsing é uma tarefa fundamental nas diversas aplicações de processamento da linguagem natural. A palavra parsing em si não remete ao processamento sintático por computador (ou processamento sintático computacional). O termo vem da expressão latina pars orationes (partes-do-discurso, em português). Em (MATEUS; XAVIER, 1992) encontramos a seguinte definição para parsing:

“Parsing pode ser entendido como o processo de atribuição de uma estrutura e de uma interpretação a uma sequência linguística.”

Resumidamente falando, em nível de computação, parsing diz respeito à interpretação automática de sentenças de linguagem natural por meio de programas de computador conhecidos como parsers. Especificamente, é a combinação de reconhecimento de uma sentença, em linguagem natural, de entrada e a atribuição de alguma estrutura sintática a ela, que uma máquina possa posteriormente compreender. Um parser é utilizado em diversas sub-áreas do PLN, como: correção gramatical, análise semântica, tradução automática, sistemas de Resposta a Pergunta, extração de informação, aquisição léxica, entre outras. Em suma, a maioria dos parsers são compostos de um conjunto de regras gramaticais matematizadas que definem uma certa língua. O grande problema é que é impossível matematizar todas as regras gramaticais existentes, pois muitas delas não são bem conhecidas ou ainda não estão bem formalizadas nas gramáticas. Outro fator que limita a abrangência de um parser, é que a língua é um fenômeno social, variando no tempo e nas diversas camadas da sociedade, fazendo a tarefa de matematizar as regras gramaticais

16

mais difícil. Para finalizar, o parsing é desbancado quando utilizado para analisar frases produzidas por um registro oral, onde há diversas hesitações, repetições, falsos inícios e retomadas de frase. Tratando-se da língua portuguesa, alvo deste trabalho, o desenvolvimento de parsers ainda encontra-se em um estágio atrasado, comparando-se com o inglês, espanhol ou francês. O estudo do estado-da-arte de parsers da Língua Portuguesa mostrou-se extremamente difícil, visto que estes são poucos e muitas vezes de baixa precisão. Nas seguintes subseções é explanado sobre os quatro parsers que chamaram mais atenção neste estudo. Dentre estes quatro foi escolhido o PALAVRAS para ser utilizado neste trabalho, pois é o que apresenta maior cobertura, além de já existir alguns corpora de grande tamanho já analisados pelo mesmo (cf. 3.1.1). E também apresenta uma característica pouco comum a maioria dos parsers, que é incorporar algumas marcações semânticas na análise de sentenças. A seguir serão apresentados os quatro parsers mais relevantes encontrados.

2.1.1

Selva

Selva é um parser desenvolvido para analisar sentenças do português brasileiro. Projetado para trabalhar com qualquer tipo de texto, sem restrição de contexto e de domínio, permitindo uma grande variação de construções de coordenação e subordinação. O parser opera separadamente em cada sentença gerando todas as estruturas sintáticas válidas para cada sentença. Porém não reconhece algumas estruturas válidas que são comuns (como é o caso da inversão da ordem de sujeito e objeto) e além disto quando não consegue reconhecer uma sentença como um todo, o parser simplesmente retorna um erro, sem gerar nenhum tipo de estrutura válida intermediária. No único artigo encontrado sobre este parser (cf. (ALMEIDA et al., 2003)), ele foi avaliado com um pequeno corpus de 80 sentenças, retiradas de jornais e artigos de revistas, tendo em média 15 palavras por frase. Em 28 das sentenças o parser falhou ou encontrou uma estrutura inválida, nas outras 52 ele encontrou em média 51 árvores de derivação para a sentença de entrada.

2.1.2

Curupira

O Curupira foi desenvolvido pelo Núcleo Interinstitucional de Linguística Computacional (NILC) e é parte de um projeto comercial de um verificador gramatical. É um parser robusto para o português do Brasil, suporta sentenças de tamanho, estrutura e domínio irrestritos. O parser contém dois léxicos. O primeiro, é composto de 1.5 milhões de palavras simples com informações morfossintáticas. Já o segundo é formado de expressões compostas. O Curupira tenta gerar as árvores sintáticas tentando fazer um pareamento em sua base de regras com a sentença analisada. Quando nenhum pareamento é encontrado, mesmo depois de tratados possíveis erros de ortografia, o parser não gera nada (nenhum tipo de análise parcial é realizada). O parser possui dois tipos de saída. Uma traz as informações

17

obtidas com o léxico e a outra mostra toda a estrutura sintática obtida a partir das regras de derivação. A versão 1.0 do Curupira foi testada com 297 sentenças obtidas de um jornal brasileiro (principalmente manchetes de notícias). O parser não conseguiu obter resultado para 25% das sentenças. Para as outras 222 frases, o Curupira foi capaz de gerar pelo menos uma estrutura sintática válida, mas para 39 dentre estas o resultado não foi o esperado.

2.1.3

Bikel’s Multi-Lingual Parsing Engine

O parser desenvolvido por Dan Bikel é um parser que suporta diversos tipos de modelos estatísticos de parsing, podendo ser facilmente treinado para diversas línguas como, por exemplo, para o inglês, chinês e arábico. Possui um modelo de parsing que tem diferentes níveis de informações estruturais, tais como distinção de complemento/adjunto, subcategorização, etc. Em (WING; BALDRIDGE, 2006) é encontrada uma adaptação do parser do Dan Bikel para o português, utilizando como corpus de treinamento o Floresta Sintá(c)tica (vide 3.1.1), mas para tanto foi preciso converter o Floresta para o formato de treinamento aceito pelo Bikel’s Multi-Lingual Parsing Engine. O parser foi testado com 60 sentenças e obteve uma taxa de erro de apenas 13%.

2.1.4

PALAVRAS

O PALAVRAS é um parser automático para textos irrestritos do português. Este parser é destinado para aplicações como marcação de corpora, tradução automática e ensino de gramática. As regras gramaticais são formuladas no formalismo de Constraint Grammar (CG) e focadas em desambiguação, tratando vários níveis de análise linguística de maneira relacionada. Apesar de usar um conjunto de etiquetas diferenciado o PALAVRAS tem uma boa taxa de acerto para textos de domínios irrestritos - 99% para morfologia das palavras e cerca de 97% para funções sintáticas (BICK, 2000). As estruturas de argumentos e relações de dependência são tratados de um modo inovador que permite transformação automática entre alguns formalismos de estruturação de árvores de derivação. Além de informações sintáticas, o parser usa valência e informações de classe semântica do léxico.

2.2

Aquisição Lexical

Como pode ser visto em (KORHONEN, 1997), a importância de léxicos tem aumentado consideravelmente tanto para PLN como para Linguística. Construir léxicos representativos manualmente é uma tarefa que demanda muito trabalho e muito tempo de vários linguistas. Mas tem-se aliviado muito deste trabalho com o auxílio de computadores. Com esta ajuda os léxicos são desenvolvidos cada vez em menos tempo e têm aumentado de tamanho. Atualmente há um empenho grande em desenvolver métodos de aquisição lexical au-

18

Subcategoria Verbo intransitivo Verbo transitivo direto Verbo transitivo indireto

Argumentos NP[sujeito] NP[sujeito], NP[objeto] NP[sujeito], PP[objeto]

Exemplos A mulher caminhou. João ama Maria Pedro gosta de leite.

Tabela 2.1: Exemplo de subcategorização. tomática a partir de corpus para diversas línguas. Neste contexto, é importante não somente adicionar uma nova entrada a um dicionário, mas também suas características linguísticas (morfológicas, sintáticas e semânticas). Neste trabalho o foco é na aquisição de informações sintáticas, como os subcategorization frames (SCF), ou padrões de predicação ou subcategoria de uma palavra. Palavras são classificadas em categorias (verbo, substantivo, artigo, etc.) que por sua vez são classificadas em subcategorias (verbo transitivo direto, substantivo próprio, etc.). Tendo isto em mente, o SCF de uma dada palavra especifica o número e tipo de cada um dos argumentos sintáticos que ocorrem junto a ela. Na Tabela 2.1 podemos ver alguns exemplos de subcategorização para verbos. Por exemplo, como é possível notar na tabela, um verbo transitivo indireto possui dois argumentos: o primeiro, um sintagma nominal1 (ou NP do inglês Noun Phrase) indica que o núcleo é um substantivo e este argumento é o sujeito da oração, neste caso “Pedro”. O segundo argumento é um PP (do inglês Prepositional Phrase) que sugere que o verbo “gostar” possui um argumento preposicionado, que no exemplo é “de leite”. Vários métodos têm sido propostos na área de PLN para a aquisição automática de informações de subcategorização, tais como os descritos em (KORHONEN et al., 2006), (LAPATA; BREW, 1999), (BRISCOE; CARROLL, 1997), (WALDE, 2002), (MESSIANT, 2008). Estes métodos em geral são desenvolvidos para uma língua específica (na maioria das vezes para o inglês), e nem sempre podem ser portados para outras línguas. O método descrito em (KORHONEN et al., 2006) para o inglês é uma exceção, pois foi adaptado para o francês (descrito em (MESSIANT, 2008)). O método desenvolvido em (MESSIANT, 2008) foi escolhido como base deste trabalho, visto que tanto ele como o método de (KORHONEN et al., 2006) são o estado-da-arte de aquisição de SCF para o francês e para o inglês, respectivamente. Alguns dos métodos citados aqui serão explicados mais adiante neste capítulo.

2.2.1

Medidas de Avaliação

Antes de explicar os métodos de aquisição de SCFs é necessário ter uma visão geral sobre medidas de avaliação de sistemas de aquisição lexical. Estas medidas são utilizadas para avaliar o desempenho tanto nos trabalhos relacionados como para avaliar os resultados deste trabalho. Dentre as várias medidas de avaliação de recuperação de informação, as principais são: precisão, abrangência e f-measure. 1 Sintagmas são grupos de palavras organizados em torno de um núcleo sintático que o denomina.

sintagmas nominais são agrupamentos de palavras onde o núcleo é um substantivo.

Assim,

19

• Precisão: indica a quantidade de SCFs recuperados por um sistema que são relevantes, ou seja, é a medida da quantidade de SCFs, que foi recuperado, que está correta. A precisão é calculada como se segue:

Precisao ˜ =

numero ´ SCFs de corretos recuperados numero ´ total de SCFs recuperados

• Abrangência: indica a quantidade de SCFs relevantes que foram recuperados com sucesso, ou seja, indica a porcentagem de SCFs que foi recuperado com sucesso dentro de uma lista de referência (lista que contém todos os SCFs que deveriam ser recuperadas). Em alguns sistemas é trivial alcançar uma abrangência de 100% retornando todas as informações encontradas sem serem filtradas. Porém a abrangência sozinha não significa muito para uma avaliação, é necessário outra medida que utilize também o número de informações que foram recuperadas e não são relevantes a busca como, por exemplo, é feito no cálculo da precisão. Para se calcular a abrangência é utilizada a seguinte fórmula:

Abrangencia ˆ =

numero ´ de SCFs corretos obtidos numero ´ total de SCFs corretos

• F-measure: na maioria dos sistemas com o aumento da precisão, a abrangência diminui e com o aumento da abrangência a precisão decai. Tendo em vista que precisão e abrangência são medidas distintas, e que trazem bastante informação sobre o desempenho do sistema, é usada a f-measure para combinar estas duas medidas em uma só. Assumindo-se um valor arbitrário β , a f-measure é calculada da seguinte maneira:

F − measure =

(1 + β 2 ) ∗ precisao ˜ ∗ abrangencia ˆ 2 β ∗ (precisao ˜ + abrangencia) ˆ

Se β = 1, então a f-measure equivale a média harmônica entre precisão e abrangência: F − measure =

2 ∗ precisao ˜ ∗ abrangencia ˆ precisao ˜ + abrangencia ˆ

20

Figura 2.1: Visão geral do sistema de (BRISCOE; CARROLL, 1997).

Figura 2.2: Exemplo de saída do etiquetador de (BRISCOE; CARROLL, 1997). 2.2.2

Sistemas de Aquisição de Subcategorização

Aqui são apresentados os principais sistemas de aquisição de SCFs para o inglês e para o francês. Primeiro, em 2.2.2.1 será apresentado um sistema básico para o inglês descrito em (BRISCOE; CARROLL, 1997). Em 2.2.2.2 será visto um aprimoramento feito no sistema de (BRISCOE; CARROLL, 1997), desenvolvido por (KORHONEN et al., 2006). E, por fim, em 2.2.2.3 é descrita uma adaptação deste último sistema para o francês.

2.2.2.1

Briscoe e Carroll, 1997

O trabalho de (BRISCOE; CARROLL, 1997) propõe um sistema para aquisição automática de SCFs para verbos da língua inglesa. Na Figiura 2.1 é apresentada uma visão geral do sistema. Este sistema é composto basicamente de seis módulos que são aplicados em sequência a sentenças de um corpus de texto puro:

• Etiquetador: é utilizado um etiquetador de pontuação e categoria morfológica das palavras, para atribuir etiquetas com informações morfossintáticas para cada palavra, ou sinal de pontuação, de uma dada sentença. Por exemplo, a frase “He attributed his failure, he said, to no< blank> one buying his books” seria etiquetada como apresentado na Figura 2.2; • Lematizador: é utilizado para substituir os pares palavra-etiqueta, gerados como saída do etiquetador, para lema-etiqueta, onde um lema é a base morfológica da palavra. Por exemplo, o lema de “cantaram” é “cantar”, de “meninos” é “menino”. No caso do exemplo da Figura 2.2, o resultado do lematizador seria igual ao da Figura 2.3;

21

Figura 2.3: Exemplo de saída do lematizador de (BRISCOE; CARROLL, 1997).

Figura 2.4: Exemplo de saída do parser de (BRISCOE; CARROLL, 1997). • Parser probabilístico: é utilizado um parser treinado com um treebank que retorna análises sintáticas ordenadas por probabilidade de ocorrência da análise para a sentença. Como saída do parser para o exemplo da Figura 2.3 teríamos a árvore sintática apresentada na Figura 2.4; • Extrator de padrões: nesta etapa são extraídos padrões de subcategorização, incluindo as categorias sintáticas e lemas dos constituintes. O sistema é capaz de reconhecer 163 padrões diferentes de subcategorização que foram retirados de dois dicionários eletrônicos gerados manualmente. A saída deste módulo é composta dos SCFs dos verbos e os núcleos de cada um dos complementos, exceto no caso dos PPs (sintagmas preposicionados), onde são retornadas também informações sobre o frame destes tipos de sintagma. Por exemplo, na Figura 2.5 é apresentado um exemplo de extração de padrão para o verbo “attribute” na frase “He attributed his failure, he said, to no< blank> one buying his books”. Como é possível ver, no exemplo, que um dos argumentos do verbo é um PP e por isto foi adquirido também os complementos deste constituinte; • Classificador de padrões: os padrões são classificados de acordo com uma das classes pré-definidas manualmente ou são rejeitados caso não se enquadrem em nenhuma das classes. A partir do exemplo da Figura 2.5 seria atribuído a classe de subcategorização correspondente a um NP mais um PP que tem como complemento uma oração não-finita; • Avaliador de padrões: constrói os SCFs eliminando entradas que o classificador não conseguiu atribuir a nenhuma classe e elimina frames com poucas ocorrências.

22

Figura 2.5: Exemplo de saída do Extrator de padrões de (BRISCOE; CARROLL, 1997). Os testes do sistema foram feitos com a união de dois corpora, somando um total de 1,2 milhão de palavras. E foram extraídos SCFs de 14 verbos escolhidos aleatoriamente, sujeitos a regra de que eles deveriam ter uma boa variação de padrões de subcategorização. Foram extraídas dos corpora todas as sentenças que possuíssem um destes verbos e sobre elas foram aplicados os 6 passos do método descrito acima. O resultado foi comparado contra um léxico de subcategorização gerado manualmente onde obteve-se 65,7% de precisão e 35,5% de abrangência, o que leva a uma f-measure de 46,1%.

2.2.2.2

Korhonen et al., 2006

Em (KORHONEN et al., 2006) é utilizado o sistema descrito em (BRISCOE; CARROLL, 1997) como base, com um corpus corpus pré-processado pelo RASP (Robust Accurate Statistical Parsing (BRISCOE et al., 2006)) que é um parser robusto para o inglês independente de domínio. O objetivo do trabalho apresentado em (KORHONEN et al., 2006) foi de gerar um grande léxico de subcategorização para o inglês a partir de 5 corpora e documentos extraídos da web, somando um total de 900 milhões de palavras. Padrões de subcategorização de verbos são extraídos das análises geradas pelo RASP. Estes padrões adquiridos são então classificados em uma das 163 categorias de SCFs verbais. Depois de classificados, são construídas entradas léxicas para cada combinação de verbo e SCF, gerando assim um léxico básico. Por fim, as entradas lexicais passam por um módulo que filtra parte das entradas que foram adquiridas erroneamente. Este módulo é aplicado para melhorar a qualidade do léxico adquirido, existem várias opções de filtro neste módulo. O sistema de (KORHONEN et al., 2006) foi avaliado utilizando 183 verbos escolhidos aleatoriamente, com a restrição de que deveriam ter uma boa variação de frames e foi comparado a um léxico de subcategorização gerado manualmente. Utilizando-se um filtro de frequência relativa nos SCFs adquiridos foi obtido 80,7% de precisão, 46,1% de abrangência e 58,6% de f-measure. Mas utilizando técnicas mais avançadas de filtragem de SCFs o sistema obteve um máximo de 87,3% de f-measure. Como resultado foram obtidos 212.741 entradas no léxico para 6.397 verbos, tendo uma média de 33 frames por verbo. Em cada entrada do léxico são contidas as seguintes informações: o verbo alvo, o SCF para o verbo, o número de ocorrências do verbo com o SCF, a frequência relativa do verbo acompanhado do SCF (o cálculo deste tipo de

23

Figura 2.6: Exemplo de relações de dependências na frase “«Confissões» chega a Portugal”.

Figura 2.7: Exemplo de saída do parser de (MESSIANT, 2008). frequência é explicado adiante neste capítulo) e os argumentos do verbo no SCF.

2.2.2.3

Messiant, 2008

Em (MESSIANT, 2008) é descrito um método adaptado de (KORHONEN et al., 2006) para o francês para adquirir automaticamente um léxico de subcategorização. Foi necessária uma adaptação do sistema pois as ferramentas utilizadas no método para o inglês não estão disponíveis para o francês, então foi necessário buscar por ferramentas disponíveis para o francês que se assemelhassem às utilizadas por (KORHONEN et al., 2006). A partir do método descrito em (MESSIANT, 2008) foi gerado o primeiro léxico de subcategorização para o francês automaticamente adquirido. Para gerar este léxico foi utilizado um corpus composto de dez anos do jornal “Le Monde”, contendo 200 milhões de palavras. Este corpus foi primeiro pré-processado pelo etiquetador morfossintático TreeTagger (cf. (SCHMID, 1994)) e posteriormente analisado pelo parser de dependências2 Syntex (cf. (BOURIGAULT et al., 2005)). Este parser para o francês é especializado em extrair relações de dependências entre as palavras em uma sentença, tais como a da Figura 2.6, com três relações de dependência entre: 1) o verbo “chega” e “«Confissões»” com a relação de sujeito; 2) “chega” e “a” como seu objeto e; 3) “a” e “Portugal” como o argumento do sintagma preposicionado. Por exemplo, para a frase “La sácheresse s’abattit sur le Sahel en 1972-1973.” o Syntex geraria a análise apresentada na Figura 2.7. Depois que o corpus é pré-processado são escolhidos os verbos alvo para extração de SCFs. Estes verbos são os com mais de 200 ocorrências no corpus. E logo após o corpus, 2 Uma

palavra possui relação de dependência com outra palavra, quando ela está inclusa dentro de um sintagma no qual a outra palavra é o núcleo, ou seja, a uma é argumento da outra.

24

Figura 2.8: Exemplo de saída do Extrator de padrões de (MESSIANT, 2008).

Figura 2.9: Exemplo de saída do Construtor de SCFs de (MESSIANT, 2008). já anotado com informações de relações de dependência entre as palavras, passa por um processo que extrai os SCFs para os verbos selecionados. Este processo é dividido em 3 etapas: • Extração de padrões: coleta todas as dependências encontradas pelo parser para cada ocorrência de um dos verbos alvo, que foram previamente selecionados. Se um pronome reflexivo é uma das dependências do verbo, há um tratamento especial no qual o verbo passa a ser composto dele mesmo junto com o pronome reflexivo. Além disso, se um dos argumentos é um PP (sintagma preposicionado) são ainda indicadas a preposição que é núcleo deste sintagma e se ele é seguido de um NP (sintagma nominal) ou de uma sentença no infinitivo. Com a análise da Figura 2.7, é apresentado na Figura 2.8 a extração de um padrão para o verbo “s’abattre”. Como é possível ver, foi juntado o pronome reflexivo (“se”) com o verbo (“abattre”), gerando um novo verbo; • Construção dos SCFs: a partir das dependências extraídas na etapa anterior são montados os candidatos a SCF com informações das dependências, frequência, etc. A partir do exemplo da Figura 2.8 é obtido o frame da Figura 2.9; • Filtro de SCFs: esta etapa é executada para retirar possíveis informações incorretamente extraídas para os frames, ou resultantes de erros de parsing. Para isto são retirados todos os frames de baixa frequência, e após os frames restantes são passados por um filtro de frequência relativa. A frequência relativa de um SCF i com um verbo j é calculada como a seguir: Frequencia ˆ Relativa(sc fi , verbo j ) =

|sc fi , verbo j | |verbo j |

|sc fi , verbo j | é o número de ocorrências do SCF i com o verbo j e |verbo j | é número total de ocorrências do verbo j no corpus. Então um SCF é rejeitado pelo filtro se o valor de sua frequência relativa é menor que um dado valor estipulado como limiar. No final deste processo foram obtidos 11.149 entradas para o léxico para 3.268 verbos, tendo um total de 336 SCF diferentes. Cada entrada contém as seguintes informações: verbo, SCF para o verbo, número de ocorrências do SCF com o verbo, frequência relativa e exemplos no corpus. O léxico obtido foi comparado a um léxico gerado manualmente e obteve 79% de precisão, 55% de abrangência e 65% de f-measure.

25

3

MATERIAIS E MÉTODOS

Neste capítulo serão apresentados os principais materiais utilizados para se desenvolver o sistema de aquisição de SCFs para verbos da língua portuguesa deste trabalho e também os módulos que o compõe. Na Seção 3.1 é apresentado o corpus utilizado para extrair os SCFs, passando pelo dicionário usado como padrão para a avaliação e na Seção 3.2 é explicado como estes materiais foram utilizados para se obter um léxico automaticamente gerado de subcategorização para verbos da língua portuguesa.

3.1

Materiais

Os materiais, tanto o corpus como o léxico, apresentados aqui foram selecionados por serem, dentre os disponíveis atualmente para a língua portuguesa, os que melhor se enquadram aos propósitos deste trabalho. Como já foi explanado anteriormente, os recursos de PLN para a língua portuguesa ainda estão em fase de crescimento e ainda estão muito distantes dos disponibilizados para o inglês. Por isto deve-se levar em conta, ao comparar os materiais e resultados deste trabalho, o estado atual dos recursos de PLN para o português.

3.1.1

Floresta Virgem

O sistema proposto neste trabalho recebe como entrada um corpus anotado com informações morfossintáticas e semânticas, a partir do qual extrai as dependências dos verbos para gerar os seus respectivos SCFs. O corpus selecionado é o Floresta Virgem, que pertence a um projeto maior, o projeto Floresta Sintá(c)tica. O Floresta Sintá(c)tica visa construir florestas sintáticas para a língua portuguesa. Neste contexto, se entende que florestas sintáticas (ou do inglês treebank) são “um conjunto de itens (frases) analisados sintaticamente. A cada frase é atribuída uma estrutura sintática hierárquica, e por isso uma frase (sintaticamente analisada) pode ser vista como uma árvore, donde uma floresta nada mais é que um conjunto de frases analisadas sintaticamente e com informação relativa aos níveis de constituintes.”(FREITAS et al., 2008) A Floresta Virgem (AFONSO et al., 2001) é um corpus composto de cerca de 1,6 milhão palavras (cerca de 96.000 frases), formado de textos jornalísticos, retirados dos corpora CETENFolha (parte do corpus NILC/São Carlos, composto de textos do jornal brasileiro Folha de São Paulo, de 1994) e CETEMPúblico (formado por textos do diário português PÚBLICO, no período de 1991 a 1998). Este e os outros corpus do Floresta Sintá(c)tica encontram-se disponíveis para download em http://www.linguateca. pt/floresta/principal.html

26

Figura 3.1: Exemplo de análise gramatical para a frase “Seca afeta pouco a produção de grãos” no formato AD.

A Floresta Virgem foi totalmente anotada automaticamente pelo analisador morfossintático PALAVRAS, sem revisão manual, e está disponível em diversos formatos. O mais utilizado dos formatos é o árvores deitadas (AD). No formato AD, as informações são codificadas em pares função e forma, como pode ser visto na Figura 3.1, onde a função corresponde a parte antes dos “:” e a forma o que vem após os “:”, e a quantidade de “=” na frente de cada item representa o nível que o item se apresenta na árvore. Esta figura exemplifica a análise sintática da frase “Seca afeta pouco a produção de grãos” pelo parser PALAVRAS no formato AD. Como pode-se ver na segunda linha da figura, há a indicação de que a palavra “Seca” tem função de um sujeito (SUBJ) e a forma é um sintagma nominal (np), sendo que o sujeito “seca” está no mesmo nível, e por isto é um argumento, do predicado “afeta”. As demais informações que se encontram apenas em nodos terminais são as que estão entre parenteses que correspondem ao lema da palavra (entre aspas simples), informações semânticas (entre “”), informações morfossintáticas da palavra. Por último, fora dos parenteses aparece a palavra assim como ocorre no corpus. Por exemplo, para a palavra “seca”, estas seriam respectivamente “seca”, “npidf”, “F S” e “Seca”. Na Figura 3.2 podemos ver um fragmento do corpus Floresta Virgem. Na primeira linha é indicada a fonte de onde foi extraída a sentença, neste caso foi do caderno TV Folha do jornal Folha de São Paulo do ano de 1994. Na segunda linha encontra-se um identificador para a sentença, seguido da sentença como é apresentada no jornal. Já na terceira linha tem um identificador para a árvore de derivação para sentença em questão, neste caso o parser só conseguiu inferir uma derivação (A1) se existissem mais árvores encontraríamos, no exemplo, as árvores A2, A3, A4, ..., Ax. As árvores A1, A2,..,Ax encontram-se ordenadas por uma série de heurísticas que indicam que A1 é uma árvore, que para uma dada sentença, mais provável que A2 e A2 é mais provável que A3 e assim por diante. Por fim, no exemplo, da quarta linha em diante é apresentada a análise sintática para a sentença.

27

Figura 3.2: Exemplo de análise gramatical para a frase “«Confissões» chega a Portugal”. 3.1.2

Léxico do NILC

Para avaliação dos resultados obtidos é usado o léxico descrito em (MUNIZ, 2004), desenvolvido em 2004 pelo NILC, contendo mais de 1.5 milhão de entradas flexionadas para o português. Ele contém, para cada palavra, uma série de informações, tais como TD (para verbos transitivos diretos), TI (para verbos transitivos indiretos), BI (para verbos bitransitivos), INT (para verbos intransitivos), AUX (para verbos auxiliares), entre outras. A partir destas é possível mapear as correspondências em relação aos SCFs extraídos por este trabalho. Além destas informações também são encontradas as preposições que podem acompanhar cada verbo. Mais informações de como este léxico foi adaptado para que tornasse a comparação viável é explicado no Capítulo 4. Abaixo segue um exemplo da entrada para o verbo armar no léxico, onde “V” indica que a entrada é um verbo, seguido das suas subcategorias (BI, AUX, PRONOM, TD e TI), os tempos e pessoas em que o verbo na forma apresentada pode ocorrer (FUT-SUBJ.ELE, FUT-SUBJ.EU, INFPESS.ELE, INF-PESS.EU.) e as preposições que o acompanham (a, com, contra, de, em, para).

armar=

3.2

Métodos

Como foi apresentado anteriormente, em (MESSIANT, 2008) foi desenvolvido um sistema de aquisição de SCFs para o francês, e o que o tornou diferenciado de outros trabalhos que focassem em outras línguas é que ele foi adaptado do trabalho desenvolvido em (KORHONEN et al., 2006) para o inglês. Assim, foi tomada como base a metodologia descrita em (MESSIANT, 2008) e (KORHONEN et al., 2006) e foi desenvolvida uma adaptação para língua portuguesa, utilizando ferramentais (corpora, parser, material para

28

Figura 3.3: Visão geral do sistema. avaliação) já desenvolvidos para a mesma. Como discutido anteriormente, as ferramentas que se têm hoje para o português são bastante limitadas quando comparadas com as desenvolvidas para outras línguas, como o inglês e o francês. O sistema desenvolvido trabalha com 4 módulos: pré-processador, extrator de SCFs, construtor de SCFs e filtro de SCFs. Estes módulos são aplicados em sequência para que a partir de um corpus de texto puro se obtenha, no final, um léxico de subcategorização para a língua portuguesa obtido automaticamente. A seguir, os módulos são explicados com maior detalhamento. Na figura 3.3 podemos ter uma visão geral do sistema. 3.2.1

Pré-Processador

O pré-processador tem como entrada um corpus de texto puro e utilizando um analisador morfossintático são anotadas informações de classe gramatical, função gramatical, dependências, classe semântica, entre outras. Para fazer esta anotação foi utilizado indiretamente parser PALAVRAS (como já visto anteriormente, é um parser robusto que apresenta, atualmente, os melhores resultados com textos tanto do português do Brasil como do português de Portugal (BICK, 2000)), pois o corpus escolhido para extrair os SCFs foi o Floresta Virgem que já está totalmente anotado pelo PALAVRAS no formato AD. Este corpus foi escolhido por ser um dos de maior tamanho para o português1 .

3.2.2

Extrator de SCFs

Após o corpus ter sido devidamente anotado com informações morfossintáticas, é aplicado o extrator de SCFs que retira fragmentos da árvore de derivação que posteriormente se tornarão possíveis SCFs. Antes de explicar mais detalhadamente como são extraídos os possíveis SCFs, vale salientar alguns itens: 1 Apesar

do corpus Amazônia ser o maior disponível, ele tem notação diferente a adotada neste trabalho e teria que ser feita uma mudança muito grande no sistema para que fosse possível obter os SCFs dos dois corpora

29

Figura 3.4: Modelagem da tabela de verbos.

• Diferente dos trabalhos de (KORHONEN et al., 2006) e (MESSIANT, 2008) onde são considerados somente alguns verbos alvo para se fazer a extração de SCFs, aqui são considerados todos os verbos contidos no corpus do Floresta Virgem; • São considerados como argumentos do verbo tudo que vier após o verbo e estiver no mesmo nível que ele. Neste caso, não foi considerado o sujeito como complemento do verbo; • Assim como em (MESSIANT, 2008) não é feita nenhuma distinção entre complementos verbais e adjunto adverbiais, por não haver um estudo consolidado nesta área para o português e também porque não existe distinção entre complemento e adjunto na análise gerada pelo PALAVRAS. Uma explicação para não fazer esta distinção aqui, é descrita em 3.2.4.

A extração é feita da seguinte forma: varre-se o corpus em busca de sintagmas verbais (VPs - do inglês Verbal Phrase), quando um VP é encontrado começa a leitura de um fragmento e é armazenado o nível em que o VP se encontra. É considerado como parte do fragmento tudo que estiver no mesmo nível do VP ou o que estiver um ou mais níveis acima dele. A leitura do fragmento é finalizada somente quando encontrar uma linha que tenha um nível inferior ao nível do VP ou quando a árvore chegar ao fim, ou ainda quando encontrar um novo VP, neste caso é encerrada a leitura do fragmento encabeçado pelo VP anterior e é iniciada a leitura de um novo fragmento que tem como núcleo o novo VP encontrado. As informações obtidas durante a leitura do fragmento são armazenadas de duas formas: 1) Durante esta etapa do processamento são coletadas informações sobre o verbo e suas ocorrências no corpus. Informações sobre o verbo são armazenadas em uma tabela no banco de dados, que contém para cada verbo um identificador único, o lema do verbo e a quantidade de vezes que o verbo ocorre no corpus (frequência do verbo), como mostrado na Figura 3.4; 2) As ocorrências de cada verbo no corpus também são armazenadas em arquivos, onde cada arquivo contém todos os fragmentos de um determinado verbo a partir dos quais serão extraídos os SCFs. Nestes arquivos são armazenados o identificador da frase de onde foi extraído o fragmento junto com o fragmento em si. Devido a erros consistentes de parsing, há um tratamento especial para verbos seguidos por verbos no infinitivo. Nestes casos, o parser incorretamente trata os argumentos como pertencentes ao primeiro verbo, quando na verdade são argumentos do verbo no infinitivo. Por exemplo, de acordo com a anotação abaixo:

30

==P:vp ===AUX:v-fin(’poder’ PR 3S IND) pode ===MV:v-inf(’ser’ ) ser ==SC:adjp ===H:adj(’interessante’ F S) interessante o verbo “poder” seria o núcleo do sintagma verbal e o sintagma adjetivo (ADJP), que vem depois, seria reconhecido como argumento do verbo “poder”, quando na verdade é argumento do verbo “ser”. Para isto não ocorrer os sintagmas verbais devem ser separados, para que o sintagma seja finalizado após o verbo “poder”, inserindo uma linha indicando que o complemento do verbo “poder” é uma oração com verbo no infinitivo (SINF) e o verbo “ser‘” se torna núcleo do de um novo VP que começa a ser lido a partir de então, que tem um complemento “ADJP”. Neste trabalho isto é feito da seguinte forma: o fragmento do verbo anterior é finalizado, adicionando uma linha artificial com o nível do VP e com função “TAG” e forma “v-inf” no fim deste fragmento, e se dá início a leitura de um novo fragmento, onde o verbo núcleo do VP será o verbo no infinitivo encontrado. A linha inserida artificialmente serve para, posteriormente, quando for aplicado o construtor de SCFs, “v-inf” ser identificado como um dos argumentos do verbo. Assim com o tratamento, “poder” possui o frame “S-INF” e “ser” possui “ADJP”. Para exemplificar o funcionamento do extrator de SCFs podemos utilizar como exemplo a frase “«Confissões» chega a Portugal”, com análise morfossintática apresentada anteriormente e repetida aqui na Figura 3.2. O extrator começa identificando que há o início de uma nova sentença quando existe a sequência de caracteres “SOURCE” no início de uma linha. Da segunda linha é retirado o identificador para sentença, neste caso “CF2-1”, e ele é armazenado para no fim do fragmento ser guardado no arquivo do verbo. Só estão sendo tratadas as árvores A1 das sentenças, por serem as mais prováveis, as demais são descartadas. Quando é encontrado, na linha 9, um VP é iniciada a leitura de um fragmento, é armazenado o nível que o VP se encontra, calculando o número de sinais “=” encontrados no início da linha, neste caso existe apenas um sinal de “=”, então o nível em que o VP está é 1. Na linha abaixo do VP é encontrado o verbo núcleo do sintagma, no exemplo, o verbo “chegar”, que também é guardado para posteriormente ser adicionado na tabela de verbos no banco de dados. Então a leitura do fragmento continua até o fim, que neste caso é o fim da análise. Após a leitura do fragmento ser finalizada são executados os seguintes passos: 1. Atualização de informação sobre verbo: Neste passo é verificado se já existe uma entrada para o verbo núcleo do sintagma verbal do fragmento. Caso não exista nenhuma linha na tabela para o verbo, então o verbo é inserido na tabela com valor de frequência igual a 1. Se já existe, o campo frequência é incrementado em uma unidade; 2. Atualização de ocorrência do verbo: Com base na operação anterior, consegue-se dizer se já existe um arquivo com fragmentos para o verbo encontrado. Se já existe uma linha na tabela de verbos quer dizer que já existe um arquivo para o verbo, então o arquivo do verbo é aberto para escrita apontando para a última linha do mesmo. Caso não exista, um novo arquivo é criado e aberto para escrita. Por fim,

31

com o arquivo do verbo aberto na posição correta, é gravado primeiro uma linha apenas com o identificador da sentença e depois todo o fragmento que foi obtido. Abaixo pode-se ver o fragmento, gravado no arquivo “chegar”, para o exemplo anterior: é criado e aberto para escrita. 01020304050607-

3.2.3

CF2-1 =P:vp ==MV:v-fin(’chegar’ PR 3S IND) chega =SA:pp ==H:prp(’a’) a ==PN:art(’um’ F S) uma ====H:n(’fiança’ F S) fiança ====N
Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.