scieee AI-readable full text Open interactive document viewer

Extracção de relações semânticas. Recursos, ferramentas e estratégias

García González, Marcos

Abstract

A extracção de relações, enquadrada dentro das tarefas de extracção de informação, visa obter automaticamente exemplos de relações semânticas presentes em textos. Esta informação pode ser posteriormente organizada em formatos legíveis por computadores, sendo útil para diversas aplicações que necessitem conhecimento semântico estruturado. A presente tese avalia diferentes estratégias para a extracção automática de relações semânticas de textos em português, espanhol e galego. Com esse fim, são utilizadas tanto técnicas de aprendizagem automática (com supervisãodistante e supervisionadas) como sistemas baseados em regras, sendo analisado o impacto de diferentes níveis de conhecimento linguístico nas várias abordagens avaliadas. Em relação ao domínio, as extracções lidam com conhecimento de carácter enciclopédico, mediante a criação de classificadores de relações biográficas (em domínio fechado) e a avaliação de sistemas de extracção de informação aberta. Com o objectivo de implementar os sistemas de extracção, foram também construídas diversas ferramentas para o processamento da linguagem natural nos três idiomas referidos: desde módulos de segmentação de orações e de tokenização, a sistemas de desambiguação morfossintáctica, de reconhecimento de entidades mencionadas e de resolução de correferência. Além disso, foram compilados e adaptados léxicos e corpora com anotação linguística de diferentes níveis, úteis para o treino e avaliação de modelos probabilísticos e baseados em regras. Como resultado do trabalho realizado nesta tese, disponibilizamse novas ferramentas e recursos para o processamento automático de textos em português, espanhol e galego.

Full text

UNIVERSIDADE DE SANTIAGO DE COMPOSTELA Departamento de Lingua Española TESE DE DOUTORAMENTO EXTRACÇÃO DE RELAÇÕES SEMÂNTICAS. RECURSOS, FERRAMENTAS E ESTRATÉGIAS Autor: Marcos Garcia González SANTIAGO DE COMPOSTELA 2014 UNIVERSIDADE DE SANTIAGO DE COMPOSTELA Departamento de Lingua Española TESE DE DOUTORAMENTO EXTRACÇÃO DE RELAÇÕES SEMÂNTICAS. RECURSOS, FERRAMENTAS E ESTRATÉGIAS Autor: Marcos Garcia González Orientador: Pablo Gamallo Otero SANTIAGO DE COMPOSTELA 2014 D. Pablo Gamallo Otero, Professor Contratado Doutor da Área de Língua Espanhola da Universidade de Santiago de Compostela FAZ CONSTAR: Que a memória intitulada EXTRACÇÃO DE RELAÇÕES SEMÂNTICAS. RECURSOS, FERRAMENTAS E ESTRATÉGIAS, realizada por D. Marcos Garcia González sob a minha direcção no Departamento de Língua Espanhola da Universidade de Santiago de Compostela, reúne os requisitos exigidos no artigo 34 do regulamento de Estudos de Doutoramento, e constitui a Tese que defende para optar ao grau de Doutor. 2014 Orientador Pablo Gamallo Otero Doutorando Marcos Garcia González Agradecimentos Devo começar por agradecer ao orientador desta tese pela dedicação, atenção e formação que me ofereceu ao longo dos últimos anos. Também aos membros das diferentes equipas de trabalho em que me inseri durante a realização da tese. Continuo agradecendo às pessoas que partilharam comigo locais de trabalho e de lazer, tanto na Faculdade de Filologia como no CiTIUS (e noutros lugares, digamos, menos institucionais). Fora do âmbito académico, agradeço a todas as pessoas que —de maneira consciente ou inconsciente— me ajudaram a finalizar este projecto, nomeadamente àquelas que me permitiram desfrutar mais da vida e me ensinaram a manter um equilíbrio entre as obrigações pessoais e profissionais. Por último, tenho que agradecer o apoio da Universidade de Santiago de Compostela, através de um Contrato Predoutoral (2010), e aos financiadores dos seguintes projectos: Ontopedia, do Ministerio de Educación y Ciencia (referência FFI2010-14986); projectos do Governo Galego: referência 2008/101 e, HPCPLN (referência EM2013/041), e projecto Feder- Interconnecta: Celtic (referência 2012-CE138). Santiago de Compostela, 2014 Abstract Relation extraction is a subtask of information extraction that aims at obtaining instances of semantic relations present in texts. This information can be arranged into machine-readable formats, useful for several applications that need structured semantic knowledge. This thesis explores different strategies to automate the extraction of semantic relations from texts in Portuguese, Spanish and Galician. Both machine-learning (distant-supervised and supervised) and rule-based techniques are investigated, and the impact of the different levels of linguistic knowledge is analyzed for the various approaches. Regarding domains, the experiments are focused on the extraction of encyclopedic knowledge, by means of the development of biographical relations classifiers (in a closed domain) and the evaluation of open information extraction systems. In order to implement the extraction systems, several natural language processing tools have been built for the three research languages: from sentence splitting and tokenization modules to part-of-speech taggers, named entity recognizers and coreference resolution systems. Furthermore, several lexica and corpora have been compiled and enriched with different levels of linguistic annotation, which are useful for both training and testing probabilistic and rule-based models. As a result of the work carried out in this thesis, new resources and tools are available for automated processing of texts in Portuguese, Spanish and Galician. Keywords: information extraction, natural language processing, named entity recognition, part-of-speech tagging, coreference resolution Resumen La extracción de relaciones, encuadrada dentro de las tareas de extracción de información, pretende obtener ejemplos de relaciones semánticas presentes en textos. Información XIV Conteúdo ATagsets utilizados na etiquetação morfossintáctica 157 Bibliografia 161 Lista de Figuras 183 Lista de Tabelas 185 CAPÍTULO 1 INTRODUÇÃO A emergência da sociedade da informação provocou um aumento exponencial na produção e difusão de dados nas últimas décadas (Castells, 1996). Embora quantificar a sua dimensão não seja uma tarefa fácil calcula-se que actualmente se gera a mesma quantidade de informação em poucos dias do que a criada pelo ser humano até 2002 (Moore, 2011). Além disso, uma parte importante desses dados contém informação não estruturada, como por exemplo o texto livre.1 Por um lado, o enorme tamanho dos dados existentes impede que as pessoas acedam a toda essa quantidade de informação através da leitura. Pelo outro, o facto de parte de essa informação se encontrar em formatos não estruturados impossibilita que os computadores a possam compreender e que muitas aplicações tirem proveito dela. Com o fim de lidar com estes problemas, disciplinas como o Processamento da Linguagem Natural (PLN), em que se inclui a presente tese, desenvolvem ferramentas que permitem o tratamento de texto por parte dos computadores, facilitando assim o processamento de dados de origem linguística. 1.1. Processamento da linguagem natural O PLN estuda e implementa mecanismos de interacção em língua natural entre seres humanos e máquinas, como a compreensão das próprias línguas naturais ou a geração de discurso. Entre outras, o PLN engloba áreas tão diversas como a tradução automática, o reco- 1A sua quantificação varia entre ≈30% e ≈80% (Swoyer, 2007). 2Capítulo 1. Introdução nhecimento de fala ou a extracção de informação, tema principal deste trabalho (Jurafsky e Martin, 2009). Diferentes campos do conhecimento, tais como a inteligência artificial, as ciências da computação ou a linguística têm abordado várias tarefas de PLN utilizando diversas estratégias em função dos objectivos de cada aplicação. Assim, ao lado de modelos construídos com conhecimento linguístico profundo, como as gramáticas HPSG (Pollard e Sag, 1994) ou algumas propostas de fonologia computacional (Bird e Ellison, 1994), têm-se implementado sistemas estatísticos que obtêm, com informação linguística superficial, melhores resultados em diversas tarefas do que abordagens que utilizam informação mais complexa (Ratnaparkhi, 1996). 1.2. Extracção de informação e extracção de relações A Extracção de Informação (EI) é uma área do PLN cujo objectivo é a obtenção automática de informação estruturada a partir, normalmente, de texto, e cujos sistemas vêm sendo avaliados desde a década de 90 em várias conferências como as MUC2(Message Understanding Conference), as CoNLL3(Conference on Computational Natural Language Learning) ou as ACE4(Automatic Content Extraction). Um tipo de tarefa da EI, conhecida como Extracção de Relações (ER), consiste na identificação de relações semânticas entre entidades ou conceitos. Como exemplo, veja-se o seguinte texto: “John A. Garcia (nascido em 1949 na Galiza) é um dos pioneiros da indústria moderna americana de videojogos e o atual presidente da NovaLogic”. Um sistema de ER poderia obter desta oração a seguinte informação estruturada, onde cada extracção se compõe de uma relação semântica e dous argumentos: –DatadeNascimento,John A. Garcia –1949 –LocaldeNascimento,John A. Garcia –Galiza –éPresidenteDe,John A. Garcia –NovaLogic 2http://www-nlpir.nist.gov/related_projects/muc/ 3http://ifarm.nl/signll/conll/ 4http://www.itl.nist.gov/iad/mig/tests/ace/ 1.3. Objectivos 3 A obtenção deste tipo de informação de fontes não estruturadas permite a sua transformação em conhecimento organizado, que pode ser processado por computadores, e ser utilizado em diversas aplicações tais como sistemas de resposta a perguntas (Mann, 2002) ou de recuperação de informação (Wan et al., 2005), entre outros. Em função do tipo de extracção que realizem, os sistemas de ER podem ser divididos em dous grandes grupos (apresentados pormenorizadamente no Capítulo 4): – Domínio fechado: este tipo de aproximação tem como objectivo extrair exemplos de relações previamente definidas (normalmente, um conjunto pequeno), tais como as referidas DatadeNascimento ou éPresidenteDe. – Domínio aberto e extracção de informação aberta: paradigmas mais recentes da EI utilizam grandes repositórios de informação para adaptar sistemas capazes de extrair milhares de relações semânticas, bem como para treinar modelos de Extracção de Informação Aberta (OIE, do inglês Open Information Extraction), que obtêm automaticamente todo o tipo de relações de base verbal (Banko et al., 2007). Do exemplo anterior, um sistema de OIE poderia obter os seguintes triplos (compostos de dous argumentos ligados por uma relação não definida previamente): •John A. Garcia éum dos pioneiros da indústria moderna americana de videojogos •John A. Garcia éo atual presidente da Novalogic •John A. Garcia é_o_atual_presidente_da Novalogic Como se verá ao longo do trabalho, a presente tese analisa principalmente estratégias de extracção de relações em domínio fechado, embora diversas avaliações utilizem também um sistema de OIE. 1.3. Objectivos Na sua formulação inicial, o objectivo da presente tese consistia na avaliação de diferentes estratégias para a extracção, em domínio fechado, de relações enciclopédicas de textos em português (pt), espanhol (es) e galego (gl). Contudo, no início da realização deste trabalho, algumas das ferramentas de PLN necessárias para construir sistemas de extracção de relações 4Capítulo 1. Introdução nas três línguas alvo não existiam, não se distribuíam livremente ou tinham sido realizadas para fins específicos diferentes dos desta tese. Portanto, o objectivo inicial do projecto foi ampliado, ao ser necessário o desenvolvimento ou a adaptação de várias ferramentas de PLN orientadas ao desenho de sistemas de ER em português, espanhol e galego. Assim sendo, a presente tese tem os seguintes objectivos: Principal: O objectivo principal consiste na avaliação de diferentes estratégias para a extracção em domínio fechado de relações de carácter enciclopédico —especificamente biográfico— em português, espanhol e galego. Paralelos: Para a consecução do objectivo principal, vários objectivos paralelos foram definidos, que se podem englobar em um único: o desenvolvimento ou adaptação das ferramentas de PLN necessárias para a ER em português, espanhol e galego. Línguas Tanto as extracções realizadas como as diversas ferramentas e recursos apresentados neste trabalho foram feitas com o fim de processar textos em português, espanhol e galego.5 A escolha destas línguas deveu-se, por um lado, ao próprio carácter geográfico e cultural em que se insere a tese, já que espanhol e galego são idiomas oficiais na Galiza. De modo similar, a utilização do português revelou-se natural por ser uma variedade linguística próxima do galego —consideradas a mesma língua por diferentes autores (Cunha e Cintra, 1984, por exemplo)— e com maior quantidade de dados a serem analisados do que este. Por outro lado, os estudos sobre a ER eram escassos em quaisquer das três línguas, pelo que se considerou oportuno tratá-los em todas elas. Em termos gerais, antes da realização deste trabalho existia um maior número de ferramentas de PLN disponíveis para espanhol, pelo que grande parte dos sistemas adaptados e/ou desenvolvidos são para português e galego. Em relação às diferentes variedades nacionais do português, tentou-se utilizar tanto o Português Europeu (PE) como o Brasileiro (PB) —e outras variedades africanas—, embora o português europeu foi a variedade prioritária naqueles casos em que uma delas tinha de ser escolhida. 5Galego e português, nesta tese, são diferenciados pela utilização de diferentes sistemas ortográficos: é considerada galega a língua que utiliza as normas ortográficas apresentadas em Real Academia Galega e Instituto da Lingua Galega (2004), enquanto é português a que segue as diferentes ortografias da Academia Brasileira de Letras e da Academia das Ciências de Lisboa. 1.4. Ferramentas e metodologia utilizadas 5 Além disso, aquelas estratégias que requereram grandes quantidades de informação para serem aplicadas satisfatoriamente, só foram avaliadas em português e espanhol, devido à escassez de dados em galego existentes na Web. 1.4. Ferramentas e metodologia utilizadas Do ponto de vista metodológico, este trabalho baseia-se principalmente na utilização de conhecimento linguístico para a realização de processamento da linguagem natural, mas combina este conhecimento com abordagens próprias de outras disciplinas (como a aprendizagem automática) com o fim de atingir os seus objectivos de modo eficaz. Assim, na criação e adaptação das diferentes ferramentas aproveitam-se as formulações propostas em trabalhos de carácter teórico, mas prioriza-se a qualidade dos resultados sobre a consistência formal. Trata-se, portanto, de uma tese fundamentalmente prática. Para além das diferentes ferramentas desenvolvidas durante a realização do trabalho (apresentadas ao longo da tese), foram escolhidas duas suites de PLN multilíngue para levar a cabo vários dos objectivos propostos: FreeLing FreeLing6é um conjunto de livrarias de análise linguística que contém diversos módulos de processamento tais como segmentadores de orações, anotadores morfossintácticos ou reconhecedores de entidades mencionadas, entre outros (Padró e Stanilovsky, 2012). As razões para a escolha deste software foram as seguintes: – Desempenho: FreeLing contém diversos módulos de PLN com desempenhos ao nível do estado-da-arte. – Arquitectura: FreeLing adapta-se a outras ferramentas utilizadas no processo de extracção de relações semânticas. – Licença: FreeLing disponibiliza-se sob licença livre GPL. 6http://nlp.lsi.upc.edu/freeling/ 6Capítulo 1. Introdução DepPattern DepPattern7é uma suite de análise sintáctica que inclui gramáticas de dependências (explicadas a seguir) para diversas línguas, um compilador de gramáticas e analisadores sintácticos automáticos (parsers) (Gamallo e González López, 2011). As gramáticas de DepPattern são baseadas em regras, que são escritas num formalismo próprio que facilita tanto a modificação como a adição ou remoção de regras de sintácticas. DepPattern é utilizado nesta tese como analisador sintáctico para as três línguas alvo pelas seguintes razões: – Desempenho: os parsers de DepPattern são rápidos e robustos. – Arquitectura: inclui módulos de compatibilidade com FreeLing. – Formalismo: o formalismo de DepPattern permite criar ou adaptar regras para fins específicos, tais como a extracção de relações. Apesar de que as análises de DepPattern não são sempre completas (algumas dependências podem não ser cobertas pelas regras incluídas nas gramáticas), os parsers disponíveis tiveram melhor desempenho do que o Maltparser8treinado com os corpora Bosque 8.09e AnCora10 para português e espanhol, respectivamente. Diversas avaliações mostraram que os analisadores de DepPattern atingiram valores de 88%/79%/83% (pt) e de 85%/74%/79% (es) em precisão, recall e medida F, respectivamente (Gamallo, 2012). Para além disso, esta suite também é disponibilizada sob licença GPL. Uma vez que as análises sintácticas realizadas em diferentes capítulos do presente trabalho utilizam representações de dependências, este tipo de gramáticas são agora apresentadas sucintamente. Além disso, ao longo da tese são aplicados repetidamente sistemas de aprendizagem automática, pelo que esta metodologia é também definida a seguir: 7http://gramatica.usc.es/pln/tools/deppattern.html 8http://www.maltparser.org 9http://www.linguateca.pt/floresta/corpus.html#bosque 10http://clic.ub.edu/corpus/ancora 1.4. Ferramentas e metodologia utilizadas 7 Luís comeu aquela salada subj dobj spec Figura 1.1: Exemplo de uma análise de dependências. Gramática de dependências A gramática de dependências é um conjunto de teorias linguísticas que considera que a informação sintáctica pode ser codificada —principalmente— através de relações binárias entre dous elementos de uma oração. De modo geral, assume-se que os trabalhos em gramática de dependências moderna começaram com as publicações de Lucien Tesnière (Tesnière, 1959), sendo popularizados recentemente em diferentes tarefas de PLN (Kübler et al., 2009). As gramáticas de dependências consideram que cada palavra está relacionada com outra palavra da mesma oração, mas —à diferença das gramáticas de constituintes— não agrupam conjuntos de palavras em unidades maiores (p. ex., frases nominais). Cada dependência estabelece uma relação binária entre dous elementos (um núcleo e um dependente), atribuindo-lhe uma função sintáctica (sujeito, modificador, etc.). Na Figura 1.1 mostra-se um exemplo de análise de dependências: em cada dependência, a seta sai do dependente e chega ao núcleo (incluindo a função sintáctica acima).11 O elemento que não é dependente (só núcleo) é a raiz da oração (neste caso, a forma verbal comeu). Note-se que a saída de um analisador de dependências pode ser convertida em representação de constituintes mediante ferramentas específicas, pelo que ao longo da tese haverá referências a constituintes sintácticos (como frases nominais ou preposicionais, por exemplo) quando a sua utilização se considerar vantajosa. Aprendizagem automática A aprendizagem automática (normalmente conhecida como machine learning, em inglês) é um campo da inteligência artificial orientado ao desenvolvimento de algoritmos que aprendam, através de um conjunto de dados, a realizar uma determinada tarefa (Mitchell, 1997). Entre os diferentes tipos de aprendizagem automática, esta tese utiliza algoritmos de classificação supervisionados. Estes métodos consistem na aplicação de algoritmos de aprendi- 11Onde subj é sujeito; spec, especificador e dobj significa objecto directo. 8Capítulo 1. Introdução zagem em exemplos previamente classificados (conjunto de treino ou de aprendizagem) dos quais o computador generaliza uma função, podendo depois classificar novos exemplos desconhecidos. Assim, dado um conjunto de treino que inclua exemplos de informações clínicas de pessoas e classificações de cada uma dessas pessoas em relação a uma doença, o sistema poderá predizer (com maior ou menor precisão) se um indivíduo não analisado previamente tem ou não a doença, em função das características que contenha a sua informação clínica. Para levar a cabo o processo de aprendizagem, os dados de treino devem ser previamente processados para extrair deles um conjunto de elementos considerados relevantes. No exemplo anterior, é preciso escolher do historial clínico qual é a informação que possa ser necessária para saber se a pessoa tem ou não a doença. Cada um dos elementos utilizados pelo algoritmo durante o processo de aprendizagem é denominado atributo (referidos habitualmente pelo termo em inglês feature). 1.5. Estrutura Para além deste capítulo introdutório e das conclusões, o presente trabalho estrutura-se em sete capítulos organizados em três partes, em função do seu tema principal. Os diferentes capítulos têm como base fundamental um conjunto de trabalhos publicados durante a realização da tese, e referidos ao longo da mesma. Assim, o conteúdo dos artigos foi seleccionado, actualizado e ampliado e/ou corrigido quando foi considerado oportuno. Depois, o resultado foi traduzido e adaptado à estrutura da tese, mostrada a seguir e resumida na Figura 1.2: Parte I: Processamento Prévio à Extracção de Relações A primeira parte da tese centra-se na apresentação das ferramentas e recursos de PLN necessários para aplicar estratégias de extracção de relações, constando de dous capítulos: Capítulo 2: Este capítulo descreve a adaptação e avaliação de módulos de tokenização, segmentação de orações, lematização e anotação morfossintáctica para português e galego, bem como uma estratégia de correcção desta última ferramenta e diversos recursos como corpora anotados e dicionários morfossintácticos. 1.5. Estrutura 9 Figura 1.2: Diagrama dos processos realizados em cada capítulo. A entrada (acima) é texto plano, sendo avaliadas quatro estratégias de extracção de informação (abaixo) nos Capítulos 5 a 8. Os elementos em itálico não foram realizados especificamente nesta tese. Capítulo 3: O Capítulo 3 apresenta a adaptação e criação de ferramentas para o reconhecimento e classificação de vários tipos de entidades mencionadas, como pessoas, localizações, organizações, datas, quantidades ou moedas, entre outras. Parte II: Estratégias para a Extracção de Relações A Parte II contém quatro capítulos que tratam sobre a extracção de relações semânticas em domínio fechado: Capítulo 4: Este capítulo faz uma revisão de várias estratégias para a extracção de relações que têm sido aplicadas em diferentes contextos (pelo que não aparece na Figura 1.2). A revisão é feita tendo em conta os objectivos de cada sistema, bem como as línguas para as quais foram desenhados. 16 Capítulo 2. Processamento Inicial galego. Como se mostrará ao longo do capítulo, este módulo foi melhorado com diferentes recursos, tanto de acesso livre como realizados ad-hoc para esta língua. 2.3. Recursos utilizados Esta secção apresenta sucintamente os recursos utilizados para a adaptação dos diferentes módulos de FreeLing descritos neste capítulo. Além disso, descreve os processos de conversão feitos durante o desenvolvimento. Corpora Para treinar o módulo de anotação morfossintáctica, foram utilizados os seguintes corpora: Para português europeu o corpus foi criado a partir do Bosque 8.0, na altura o único disponível livremente com informação morfossintáctica detalhada.3Este recurso contém aproximadamente os 1.000 primeiros extractos dos corpora CETEMPúblico e do CETEMFolha (este último, não empregado, de português do Brasil), o que faz um total de mais de 138.000 tokens. O Bosque foi anotado automaticamente e, posteriormente, revisto de forma manual por linguistas. Sendo um corpus com informação sintáctica, esta foi eliminada na conversão para o formato requerido por FreeLing. Para as diferentes avaliações, este corpus foi dividido em conjuntos aleatórios de treino e teste. O corpus utilizado para treinar o módulo PoS-tagger de galego foi criado no projecto Gari- Coter (Barcala et al., 2007), e contém mais de 237.000 tokens; o corpus, gerado a partir de notícias jornalísticas, é especializado em economia. Uma vez que a anotação morfossintáctica deste recurso seguiu os standards do Grupo EAGLES (Leach e Wilson, 1996), as únicas adaptações precisas para o treino foram relativas à homogeneização de alguns elementos das etiquetas (tags): Modificou-se, por exemplo, o caso de alguns pronomes (de nominativo para oblíquo), ou o género dos determinantes indefinidos (de comum para neutro), de acordo com o conjunto de etiquetas (tagset) definido e utilizado no dicionário. Uma vez que o corpus galego se compõe de notícias económicas, um pequeno corpus jornalístico de 6.200 tokens foi criado e revisto manualmente para as avaliações. 3http://www.linguateca.pt/Floresta/corpus.html#bosque 2.3. Recursos utilizados 17 Dicionários Para além do corpus, o treino do PoS-tagger de FreeLing requer também um dicionário de formas flexionadas (que contenha os lemas e tags possíveis para cada token). Para português, utilizou-se o léxico de formas simples LABEL-LEX (SW) (Eleutério et al., 2003), que contém mais de 1.257.000 formas, geradas a partir de perto de 120.000 lemas. Para galego, o trabalho partiu do dicionário criado pelo Seminario de Lingüística Informática da Universidade de Vigo, que fazia parte de anteriores versões de FreeLing. O dicionário foi ampliado com entradas verbais e nominais extraídas de diferentes corpora e flexionadas automaticamente com ajuda de sistemas de flexão nominal e de conjugadores verbais (Gamallo et al., 2013). Actualmente, o dicionário contém mais de 428.000 entradas, o que se corresponde com mais de 577.000 formas se tivermos em conta aquelas entradas com mais de uma análise. Adaptação Os dous recursos referidos para português têm características diferentes em relação à anotação morfossintáctica, pelo que foi preciso fazer uma conversão de cada um deles para o formato aqui utilizado. Neste processo surgiram algumas incoerências que implicaram tomadas de decisão do ponto de vista linguístico. Assim, tags como “pron-indp: pronome independente” (utilizado no Bosque), não tinham correspondente directo nas etiquetas do léxico, pelo que não foi possível uma transferência automática entre os formatos. A conversão destes casos teve de ser incluída individualmente no processo de transformação, e decidir em cada ocorrência dos tokens no corpus qual era a etiqueta que lhe correspondia de acordo com o dicionário. Para além das inconsistências no nível morfossintáctico, a conversão do corpus e do dicionário apresentou problemas em termos de lematização nominal. Assim, enquanto o Bosque lematiza os adjectivos superlativos como elementos não derivados (altíssimo é o lema de altíssimo/a/(s)), o LABEL-LEX (SW) opta por decisões mais coerentes do ponto de vista teórico: altíssimo/a/(s) >alto. De modo similar, outras diferenças notórias entre as lematizações do corpus e do dicionário foram as relacionadas com a derivação semântica: O LABEL-LEX (SW) considera que formas como mulher (nome) e melhor (adjectivo) derivam de homem e bom, respectivamente, enquanto o Bosque atribui mulher emelhor como lemas dos mesmos tokens. 18 Capítulo 2. Processamento Inicial Nestes casos, a solução adoptada foi de modo geral aquela que tivesse como base processos morfológicos e não semânticos. Assim, no primeiro dos casos, optou-se por considerar os adjectivos superlativos como derivados do adjectivo simples; no segundo exemplo, a decisão tomada foi consistente com a lematização utilizada no Bosque, que diferencia as formas que não apresentam uma relação morfológica directa. No tratamento das locuções e dos nomes próprios compostos por mais de um elemento, o Bosque apresenta algumas inconsistências que, para os objectivos deste trabalho, não permitiram avaliar o desempenho do reconhecedor de expressões multipalavra com precisão. Assim, enquanto Conselho de Administração da PEC-Alimentação é dividido em quatro tokens (“Conselho de Administração”, “de”, “a” e “PEC-Alimentação”), uma expressão como director-clínico do Hospital Prisional S. João de Deus é anotada no corpus como um único token/lema. A solução adoptada nestes casos foi a seguinte: os elementos marcados como locuções no Bosque foram extraídos automaticamente, e adicionados à lista de expressões multipalavra de FreeLing, depois de serem revistos manualmente. Nos corpora de treino e avaliação, porém, estas formas foram divididas em tokens individuais, pelo que o treino e a avaliação foram realizadas sem locuções. Em galego, a etiquetação entre os recursos escolhidos tinha sido mais consistente, pelo que processo de adaptação foi menos complexo. 2.4. Tokenização A primeira ferramenta adaptada foi o tokenizador. Este módulo converte, através de regras, um texto plano num vector de palavras. É uma tarefa relativamente simples, que consiste em identificar as fronteiras de palavras (e outros tokens tais como signos de pontuação) através dos espaços e da própria pontuação, pelo que a maior dificuldade encontra-se na identificação de algumas contracções. Formas ambíguas como desse (em português, ou dese em galego) podem ser um verbo (dar) ou uma contracção de preposição e demonstrativo (de+esse/ese). Este tipo de ambiguidades provoca uma circularidade entre o etiquetador morfossintáctico e o tokenizador. Este último não poderá decidir se separar desse em de+esse sem conhecer a sua categoria morfossintáctica, mas o PoS-tagger não pode ser aplicado sob um texto não tokenizado. As soluções que FreeLing permite adoptar nestes casos encontram-se na análise morfológica e morfossintáctica (dicionário, afixos e PoS-tagger), pelo que neste primeiro processo as contracções não 2.5. Segmentação de orações 19 serão separadas. A saída do tokenizador, portanto, manterá ainda a ambiguidade neste tipo de formas. Por este motivo, é importante ter em conta a ordem de aplicação entre o tokenizador e oPoS-tagger, a qual influencia o modo como as contracções ambíguas são tratadas (Graña et al., 2002; Branco e Silva, 2003). Outro aspecto a considerar é a interacção entre o tokenizador e o segmentador de orações. Na ordem de aplicação proposta (tokenizador >segmentador), o primeiro dos módulos deve reconhecer as abreviaturas (identificando o ponto como parte da abreviatura: “Sr.” e não “Sr” “.”, por exemplo) para evitar os casos de ambiguidade mais comuns na entrada do segmentador de orações. A diferença entre as configurações do tokenizador de português e galego está, portanto, na lista de abreviaturas. Esta estratégia de tokenização já tinha sido utilizada com êxito para o português europeu, obtendo valores de precisão superiores a 99% (Silva, 2007). 2.5. Segmentação de orações O segmentador de orações recebe a saída do tokenizador e devolve uma nova oração cada vez que detecta uma fronteira. As línguas românicas não apresentam muitas diferenças nos marcadores ortográficos, pelo que a adaptação deste módulo para português e galego não teve grandes dificuldades. Uma vez que as ambiguidades mais frequentes entre os pontos finais e os pontos de abreviação já foram resolvidas pelo tokenizador, o segmentador não precisa tratar especificamente estes casos. Entre as duas variedades analisadas, as diferenças de segmentação não são significativas, dizendo respeito a especificidades ortográficas, como a utilização dos pontos de interrogação e exclamação no início de orações (não utilizados em português, mas facultativos em galego). Este tipo de estratégias também tinham sido avaliadas em português europeu, com resultados de mais de 99% de precisão (Silva, 2007). 2.6. Análise morfológica O sistema de análise morfológica de FreeLing é um conjunto de módulos que realizam tarefas como a identificação de numerais e de datas, o reconhecimento de entidades mencionadas e de expressões multipalavra, bem como a pesquisa no dicionário (que inclui lematização) e o tratamento dos afixos. 20 Capítulo 2. Processamento Inicial Esta secção descreve a adaptação do módulo de pesquisa em dicionário, para a qual foi precisa a transformação do formato dos léxicos disponíveis e a criação de regras de lematização de afixos verbais e nominais. Este módulo compõe-se de dous submódulos que actuam em paralelo: um deles procura no dicionário todas as possibilidades de análise de cada um dos tokens encontrados na entrada, enquanto o outro aplica as regras de lematização de afixos, que permitem que alguns tokens que não se encontram no dicionário sejam analisados pelo sistema. O dicionário de português europeu contém mais 1.257.000 formas, enquanto o de galego supera as 577.000 formas (Secção 2.3). Note-se que FreeLing não possui um lematizador próprio, senão que o lema de cada token é procurado no léxico. Isto implica a necessidade de léxicos amplos, com o fim de atingir níveis altos de precisão nesta tarefa. O submódulo de tratamento de afixos permite criar regras de lematização de formas com prefixos e sufixos. Assim, não é preciso incluir no dicionário todas as possibilidades de combinação de formas verbais com clíticos, nem diminutivos, aumentativos, advérbios terminados em mente, ou formas prefixadas. Em relação às formas compostas por verbo e pronome clítico, é preciso referir que a ortografia do português separa o verbo e o pronome com um hífen, e mantém independente a acentuação da forma verbal (e.g., conhecem-me). Isto faz com que este processo seja uma tarefa trivial. Porém, em galego a forma composta é escrita como uma única palavra (coñécenme), pelo que foi preciso criar um conjunto de regras de análise de sufixos que tenham em conta tanto a identificação dos tokens (verbo + pronome), como a adição ou supressão de acentos gráficos (coñécen >coñecen).4 A pesquisa em dicionário e o tratamento de afixos permitem que na execução do etiquetador morfossintáctico sejam tratadas as contracções não divididas pelo tokenizador. O funcionamento é o seguinte: as contracções não ambíguas (por exemplo do: preposição de + artigo o), estão presentes no dicionário com o formato “do de+o SPS00+DA”,5pelo que estas formas são divididas em dous tokens na saída final.6 4Uma versão posterior do módulo de tratamento de afixos em galego foi apresentada em Solla Portela (2010). 5Formato de três colunas separadas por um espaço, em que a primeira é o token, a segunda o lema e a terceira a etiqueta morfossintáctica (veja-se o tagset na Tabela A.1, página 158). 6Pode entender-se que a análise de do contém ambiguidade relativa à categoria de o, que além de artigo, poderia ser pronome nos casos em que o núcleo da frase nominal não está preenchido: “O homem do qual ele falou”, pelo que a entrada do dicionário incluiria SPS00+DA/PD. No caso que nos ocupa, unicamente nos referimos à ambiguidade em que uma única forma pode ser analisada como contraída ou não: deste como contracção de preposição+demonstrativo ou como verbo. 2.7. Anotação morfossintáctica 21 Porém, os casos de ambiguidade (desse/dese, destes, pelo/polo, etc.) podem ser tratados —fundamentalmente— de duas maneiras: incluindo-as no dicionário, ou acrescentando regras de lematização destas formas ao submódulo de tratamento de afixos. As duas soluções referidas permitem evitar a circularidade referida na Secção 2.4, uma vez que todas as alternativas existentes no módulo de análise morfológica são avaliadas pelo desambiguador morfossintáctico e pelo PoS-tagger que, se for preciso, realizará uma retokenização. Qualquer das duas estratégias é similar às adoptadas em Graña et al. (2002) ou em Branco e Silva (2003), uma vez que deixam a decisão de separar (ou não) os casos de ambiguidade aos módulos de análise morfossintáctica, e não ao tokenizador. Avaliação A lematização foi avaliada dividindo o número de lemas correctamente atribuídos pelo número total de lemas do corpus de teste. Em português europeu, os resultados foram obtidos num extracto do corpus Bosque de 50.000 tokens, com uma precisão de 98,58%. Em galego, o corpus de teste foi de 6.200 tokens, sendo a precisão de 99,41%. Dentro do conjunto de módulos de análise morfológica, a seguinte ferramenta de FreeLing (o desambiguador morfossintáctico) atribui uma probabilidade para cada uma das possíveis etiquetas de cada token e, com base na análise das terminações, tenta saber que etiquetas são possíveis nas formas desconhecidas. Esta classificação é realizada de acordo com a aprendizagem realizada num corpus de treino etiquetado. 2.7. Anotação morfossintáctica FreeLing permite utilizar dous métodos de anotação morfossintáctica: um modelo probabilístico com base em HMM e um método híbrido (relax) que combina informação estatística com restrições linguísticas definidas manualmente (Padró, 1998). O modelo híbrido é —apesar de ligeiramente mais lento— de maior precisão do que o estatístico, mas requer a criação manual das restrições para cada variedade, pelo que no treino dos módulos para português e galego foi utilizado o modelo HMM. Existem dous factores cruciais —para além do dicionário— no desempenho de um etiquetador morfossintáctico probabilístico: um deles é o tamanho —e qualidade— do corpus de treino. Quanto maior for o corpus, melhor será o modelo aprendido pelo sistema durante o treino (embora com certos limites (Banko e Brill, 2001)). O outro é o conjunto de etiquetas: 22 Capítulo 2. Processamento Inicial se este for muito complexo, a informação fornecida pelo etiquetador será maior, mas a sua precisão mais baixa. Pelo contrário, se o tagset for reduzido, a sua precisão será mais elevada, mas pode correr-se o risco de que a informação obtida não seja suficiente para os objectivos do PoS-tagger. Um dos propósitos da adaptação de FreeLing para português e galego foi o de utilizá-lo como etiquetador morfossintáctico base para o analisador sintáctico DepPattern (Secção 1.4). Tendo em conta que este sistema requer informação morfológica (género, número, pessoa, tempo e modo verbal, etc.), e com base nos tagsets utilizados nas outras línguas analisadas por FreeLing, decidiu-se utilizar as recomendações propostas pelo Grupo EAGLES (Leach e Wilson, 1996). O tagset definido para português europeu contém 255 tags, enquanto para galego se empregaram 277 etiquetas.7 Otagset utilizado contém informação morfossintáctica detalhada, mas não todos estes dados são utilizados propriamente pelo PoS-tagger; este usa unicamente os dous primeiros elementos da etiqueta, sendo os restantes extraídos do léxico. O primeiro elemento da etiqueta (D, Determinante, P, Pronome, N, Nome, etc.) indica a categoria morfossintáctica; o segundo (DDemonstrativo, P, Possessivo, etc., variando em função do primeiro elemento) refere a subclasse da categoria à qual pertence. O resto de entradas das etiquetas varia em função da categoria principal, e englobam aspectos como o possuidor (singular ou plural) dos possessivos, o grau (aumentativo ou diminutivo) dos nomes, o caso dos pronomes ou informação sobre modo, pessoa e número dos verbos. Avaliação A precisão da anotação morfossintáctica é crucial para subsequentes tarefas de PLN, sobretudo naquelas formas que contêm ambiguidade e que podem provocar maior índice de erros em etapas posteriores. De modo geral, considera-se que a baseline para esta tarefa se situa em 90%, e que o estado-da-arte supera o 97% nos melhores resultados. Contudo, têm surgido algumas críticas à avaliação destas ferramentas, com base no tipo de texto utilizado durante o processo. Comparando diferentes avaliações de PoS-taggers sobre textos de diversas procedências (blogues, 7A estas quantidades são acrescentados 24 tags de símbolos de pontuação (atribuídos não pelo PoS-tagger, mas pelo identificador de pontuação). A Tabela A.1 contém o formato do conjunto de etiquetas utilizado. Note-se que, para manter a compatibilidade com outros tagsets de FreeLing, os elementos que não sejam precisos em português e galego serão marcados com um <0>(veja-se como exemplo os valores semânticos dos nomes, que ocupam os elementos 5 e 6). 2.7. Anotação morfossintáctica 23 jornais digitais e outros sites) e tipologias (literário, científico, jornalístico, etc.), e não em texto com condições mais homogéneas, a precisão desce abaixo de 93%, e apresenta grandes níveis de variação em função do género textual (Giesbrecht e Evert, 2009). Neste trabalho, a avaliação do processo de anotação morfossintáctica foi realizada dividindo o número de tokens cuja etiqueta foi correctamente atribuída pelo número total de tokens do texto. Esta tarefa, aparentemente trivial, pode apresentar problemas derivados do alinhamento entre o gold-standard (o corpus de referência, corrigido manualmente) e o texto etiquetado automaticamente. Este último pode conter um número diferente de tokens do que ogold-standard, devido à tokenização ou à identificação de nomes próprios, locuções, etc. Assim, a forma Presidente Mário Soares, pode ser analisada como um único nome próprio (Presidente_Mário_Soares), pode ser divida em dous elementos (Presidente / Mário_Soares), ou em três (Presidente / Mário / Soares). Para tratar estes casos, o sistema de avaliação tem três parâmetros de execução, com o seguinte funcionamento: –NoTok: Se são detectados erros de divisão (split): Presidente_Mário_Soares NP versus Presidente NP / Mário NP / Soares NP, unicamente é avaliado o tag do primeiro token, pelo que é contabilizado um acerto. Este método considera que os erros de tokenização não devem ser levados em conta na avaliação do PoS-tagger. –Tok: Se houver diferenças de tokenização, são contabilizados todos os erros (no caso anterior, três). Note-se que, no caso de que a tokenização e a atribuição da etiqueta em palavras com mais de um token sejam correctas, é marcado um único acerto. –NoLoc: Este tipo de avaliação ignora todos os tokens que não estiverem alinhados; no exemplo referido, não seria contabilizado nenhum erro nem acerto. Como foi dito na Secção 2.3, o Bosque apresenta alguma inconsistência na anotação das locuções e outras expressões multipalavra, facto que devemos ter em conta na consideração dos resultados destas avaliações. Por esta razão, foi gerada uma outra versão do corpus de teste, na qual se realizou split de todos os elementos que continham mais de um token. Assim, executando o PoS-tagger sem identificação de locuções nem de nomes próprios compostos, a saída é um texto alinhado perfeitamente com este novo gold-standard, pelo que a avaliação resulta mais simples. Assim, um quarto método (OnlyTag) tem em conta unicamente os erros e acertos, evitando diferenças de tokenização entre os corpora avaliados. Neste caso, na avaliação das locuções ou dos nomes próprios compostos são contabilizados todos os tokens, 24 Capítulo 2. Processamento Inicial Avaliação Português Galego Tag Completo SingleTags Tag Completo SingleTags NoTok 94,79 96,01 97,70 98,04 Tok 94,47 95,73 97,19 97,56 NoLoc 95,04 96,26 97,72 98,07 OnlyTag 94,32 95,54 97,50 97,91 Tabela 2.1: Precisão dos PoS-taggers em português europeu e galego. pelo que uma locução bem etiquetada somará mais acertos do que com outros métodos. Esta distorção, contudo, é compensada de alguma maneira pelos casos em que a ferramenta falha, nos quais também são contabilizados um maior número de erros. Os quatro métodos referidos avaliam a precisão do PoS-tagger com o tagset definido (Tabela A.1). Uma vez que este contém informação muito pormenorizada, e varia notoriamente em relação aos utilizados noutros trabalhos, foi realizada também uma avaliação de cada uma das execuções com um tagset mais reduzido (SingleTags). Para este fim, unicamente se tiveram em conta os dous primeiros elementos das etiquetas (categoria e tipo, salvo para os verbos, em que se avalia também um terceiro elemento: o modo), ignorando assim informação que pode ser inferida por outros meios.8Desta maneira, e apesar de os resultados não poderem ser directamente comparáveis com os de outros trabalhos (devido a diferenças não apenas no tagset, mas também nos corpora de treino e de teste, entre outras), estes dados são obtidos em condições similares às de outras análises. Ao mesmo tempo, esta avaliação demonstra a importância do tagset no desempenho de um etiquetador morfossintáctico. A Tabela 2.1 mostra os resultados das diferentes avaliações do PoS-tagger para português e galego. Em português, os valores são a média de cinco execuções sobre extractos aleatórios de quase 10.000 tokens, com o sistema treinado nos restantes 130.000, salvo para o método OnlyTag, treinado sobre 90.000 tokens e avaliado sobre perto de 50.000. Em galego, o treino foi realizado sobre o corpus completo (quase 238.000 tokens), e a avaliação sobre um corpus extraído de jornais electrónicos e etiquetado manualmente, de 6.200 tokens. Os resultados das várias avaliações dos dous sistemas indicam que, actualmente, FreeLing consegue realizar análises morfossintácticas de textos de diversa procedência com desempenhos próximos do estado-da-arte, situado entre ≈95% e ≈97% em função da variedade linguística e da avaliação (veja-se a Secção 2.2). 8Este tagset pode ver-se na Tabela A.2 (página 159), também sem os símbolos de pontuação. 2.7. Anotação morfossintáctica 25 Entre as duas variedades linguísticas, as diferenças de precisão são notórias, mas os resultados não devem ser directamente confrontados. A este respeito devemos notar, por um lado, os recursos utilizados; enquanto o PoS-tagger de português foi treinado sobre extractos de 130.000 tokens, para galego usou-se um texto mais de 100.000 tokens maior, pelo que é esperável que o desempenho seja superior (Banko e Brill, 2001). Em relação a isto, notese que os resultados mais baixos da avaliação do português foram com o método OnlyTag, treinado sobre um corpus mais pequeno. Por outro lado, é importante destacar também as características dos corpora de teste utilizados para a avaliação. O português foi avaliado sobre extractos do próprio Bosque 8.0, com mais ruído —e de maior tamanho— do que o corpus de avaliação de galego (mais consistente e com menos ruído). Estas diferenças de desempenho sugerem, como Giesbrecht e Evert (2009), que as características do texto a etiquetar influenciam decisivamente a qualidade da etiquetagem. 2.7.1. Diferentes variedades do português O modelo de anotação morfossintáctica apresentado para português foi treinado (e avaliado) com recursos específicos da variedade padrão de Portugal. Contudo, as estratégias de extracção de informação avaliadas nesta tese pretendem utilizar como fontes corpora diversos extraídos da Web, que podem estar escritos em diferentes variedades desta língua. Para além disso, o Acordo Ortográfico de 1990 (AO), que tenta unificar as normas ortográficas das diferentes variedades nacionais do português, está a ser implantado em vários dos países de língua oficial portuguesa.9Assim, alguns dos maiores jornais do Brasil e Portugal já utilizam a nova ortografia desde 2010 (e.g., Diário de Notícias ou Jornal de Notícias, em Portugal, ou Folha de São Paulo no Brasil), enquanto outros não o fazem (e.g., o português Público). Portanto, na Web em português coexistem hoje em dia textos escritos em diferentes ortografias e em diferentes variedades nacionais (cujas diferenças são principalmente lexicais e sintácticas). Tendo isto em conta, esta secção avalia a utilização de diferentes anotadores morfossintácticos, treinados com várias combinações de recursos de português europeu, brasileiro e do Acordo Ortográfico de 1990. As avaliações são realizadas com um novo corpus da língua portuguesa, que inclui textos de diferentes variedades linguísticas, tipologias textuais e normas ortográficas. 9http://pt.wikipedia.org/wiki/Acordo_Ortografico_de_1990 32 Capítulo 2. Processamento Inicial Número Token Tag correcto Tag atribuído 86 que CS PR0CN000 81 a SPS00 DA0FS0 41 um Z DI0MS0 40 a DA0FS0 SPS00 38 que PR0CN000 CS 37 uma Z DI0FS0 24 o PD0MS000 DA0MS0 Tabela 2.4: Erros mais frequentes do PoS-tagger em ≈50.000 tokens. Erros do etiquetador morfossintáctico A Tabela 2.4 mostra os erros mais comuns encontrados numa avaliação dos resultados do PoS-tagger de PE (Tabela 2.1). A anotação do token que produziu 141 erros, principalmente entre conjunção (CS) e pronome relativo (PR0CN000), com 126 erros. A forma ateve 153 erros (entre determinante, pronome demonstrativo e pessoal, preposição e nome comum), enquanto ofoi incorrectamente etiquetado em 67 casos. A anotação de um euma (numerais ou determinantes) também foi um dos erros mais frequentes. Numa primeira análise dos erros de anotação, alguns deles revelam-se como facilmente corrigíveis através de regras (morfo)sintácticas. A não concordância em género ou número entre determinante e nome é um exemplo deste tipo de erros. Assim, a etiquetação de tokens específicos como estes pode ser melhorada com regras básicas. Como exemplo, a regra de correcção exemplificada acima (Figura 2.1) melhora a precisão da anotação de acomo preposição em 33% (corrige 29 de 87 erros), e só gera 3 novos erros (de 46). Este é um padrão muito rígido, pelo que a regra produz poucos erros (algum deles provocado por erros de etiquetação do nome, e não pela própria regra). Outros contextos, como aqueles em que aparece que como conjunção ou pronome necessitam um processamento mais complexo. Testes A modo de teste, foi implementado um conjunto de regras de correcção, em particular dos tokens a,oeque, nos contextos de erro mais frequentes. As regras foram escritas manualmente, com base numa análise semiautomática dos erros. O parser de correcção foi testado em cinco corpora de 10.000 tokens cada, analisando o seu desempenho em cada execução. 2.7. Anotação morfossintáctica 33 Token Erros Erros Melhora Tag correcto Antes Depois Tag correcto Antes Depois a SPS00 87 39 DA0FS0 46 27 50,38% o PD0MS000 29 10 DA0MS0 24 19 45,28% que CS 87 59 PR0CN000 39 33 26,98% Tabela 2.5: Resultado das regras aplicadas. No caso de a, a regra mostrada acima foi melhorada, ampliando o seu contexto de aplicação: aé agora anotado como preposição antes de nomes e adjectivos plurais e masculinos ou de expressões numerais seguidas de nomes e adjectivos masculinos, entre outros contextos. De modo similar, as regras de oeque também incluem contextos complexos, embora não tenham sido adicionadas excepções que possam evitar corrigir falsos negativos, tais como algumas estruturas fixas. As regras de correcção do segundo caso (o) lidam com estruturas diferentes de <DET NOUN>, modificando a etiqueta de determinante para pronome (e.g., antes de um pronome relativo ou da preposição de). A regra contrária (de pronome relativo a determinante) é aplicada antes de contextos interrogativos específicos. Finalmente, o caso de que foi mais problemático, já que a análise de erros requer um processamento mais profundo. As regras unicamente lidam com algumas expressões comuns, tais como uma vez que,para que, etc. À parte destas, foram incluídas regras que modificam a etiqueta de pronome para conjunção em contextos comparativos (melhor/pior do que. . . ) e em frases completivas depois da preposição de. A Tabela 2.5 mostra os resultados da aplicação do conjunto de regras avaliado, que indicam que a implementação de regras simples melhora a anotação dos tokens alvo entre ≈27% e≈50%. Apesar de que os testes são uma avaliação preliminar de um método de correcção PoS- tagging, os resultados indicam que alguns dos erros mais frequentes produzidos por etiquetadores estatísticos podem ser corrigidos por um conjunto pequeno de regras com base linguística. Depois da aplicação do parser de correcção, a precisão do etiquetador morfossintáctico viu-se incrementada em ≈1,1% no mesmo corpus de 50.000 tokens. 34 Capítulo 2. Processamento Inicial 2.8. Conclusões Este capítulo apresentou o desenvolvimento e adaptação de diversos módulos de processamento da linguagem natural para português e galego. Os módulos formam parte de uma etapa de processamento inicial, necessária para análises posteriores tais como as diferentes estratégias para a extracção de relações apresentadas em capítulos posteriores desta tese. Assim, as principais contribuições deste capítulo são as seguintes: – Módulos de segmentação de orações para português e galego – Módulos de tokenização para português e galego – Módulos de análise morfológica com lematização para português e galego – Módulos de anotação morfossintáctica para português e galego Para além disso, a adaptação e implementação dessas ferramentas implicou também outras contribuições, como a adaptação para o standard EAGLES de corpora e léxicos de português e galego (bem como para outros tagsets mais simples). Foi também criado um corpus de teste com anotação morfossintáctica para galego e um corpus de português que contém textos de várias tipologias textuais, variedades nacionais e normas ortográficas desta língua. A este respeito, foram avaliadas diferentes combinações de léxicos e corpora para a etiquetação morfossintáctica da Web em português. Finalmente, apresentou-se uma estratégia com base linguística, de desenvolvimento simples e de aplicação rápida, que permite corrigir alguns dos erros mais frequentes dos etiquetadores morfossintácticos estatísticos. Em suma, o trabalho descrito neste capítulo possibilita a realização de várias etapas iniciais de processamento da linguagem natural, que permitirão que módulos posteriores de análise semântica sejam aplicados. CAPÍTULO 3 RECONHECIMENTO DE ENTIDADES MENCIONADAS 3.1. Introdução Diversas tarefas do PLN, tais como a extracção de relações ou os sistemas de resposta a perguntas precisam da execução prévia de ferramentas que sejam capazes de reconhecer, em texto, entidades como pessoas ou localizações, por exemplo. O processo de identificação e de classificação das entidades é conhecido como Reconhecimento de Entidades Mencionadas (REM —ou NER, do inglês Named Entity Recognition), e faz parte das tarefas de extracção de informação. Embora alguns sistemas realizem o reconhecimento em um único processo, o REM pode ser dividido em duas subtarefas: a identificação e a classificação das próprias entidades. A primeira das tarefas referidas (identificação) consiste na detecção automática de Entidades Mencionadas (EM) em texto livre: “José_Souto foi ver o Celta_de_Vigo aBalaídos” A segunda (classificação) tem como objectivo atribuir às entidades identificadas uma classe semântica previamente definida (pessoa, organização, data, quantidade, etc.). Assim, o resultado da aplicação de um classificador de EM no exemplo anterior poderia ser o seguinte: “José_SoutoPESSOA foi ver o Celta_de_VigoORGANIZAÇÃO aBalaídosLOCALIZAÇÃO” 36 Capítulo 3. Reconhecimento de Entidades Mencionadas Na presente tese, esta classificação pode ser utilizada pelos sistemas de ER com o fim de seleccionar os argumentos que pertençam a uma determinada classe. Assim, se extrairmos exemplos de uma relação como éPresidenteDe, a utilização de sistemas REM permitenos escolher só aqueles casos em que o primeiro argumento seja uma entidade da classe “pessoa”. Diversas ferramentas REM foram avaliadas em conferências como as já referidas Conference on Computational Language Learning (CoNLL) ou as Automatic Content Extraction (ACE). Para a língua portuguesa, o desenvolvimento de sistemas de reconhecimento de entidades foi promovido por duas edições da conferência HAREM.1Para espanhol existem também diversas ferramentas de REM, entre as quais se destaca Carreras et al. (2002), avaliado como o melhor sistema da conferência CoNLL 2002, e cuja implementação tem sido portada para FreeLing (Atserias et al., 2006). Em relação ao galego, até à realização deste trabalho não conhecíamos nenhuma ferramenta dedicada ao reconhecimento de entidades mencionadas nesta língua. Tendo isto em conta, e com o propósito de manter FreeLing como sistema base de processamento para este trabalho, o presente capítulo apresenta (i) a adaptação de dous sistemas de identificação EM em português e galego, (ii) a adaptação de um classificador de EM estatístico para português e (iii) a implementação de um classificador de EM, com base em recursos e em regras, para português e galego. Adicionalmente, descreve-se a adaptação e implementação de módulos de reconhecimento de expressões numéricas, quantidades, datas e horas para português e galego. Os sistemas de identificação de EM (um deles com máquinas de estados finitos e o outro de aprendizagem automática) e o classificador estatístico são diferentes módulos de FreeLing, enquanto o classificador com base em recursos e regras é independente, mas utiliza a saída dos sistemas de identificação do próprio FreeLing. A avaliação das diferentes ferramentas implementadas resultou em desempenhos similares (e nalguns casos, superiores) aos mesmos sistemas para outras línguas, bem como aos de outras ferramentas com objectivos semelhantes. A seguinte secção (3.2) faz uma revisão do trabalho relacionado. Depois, na Secção 3.3 mostram-se e avaliam-se os diferentes módulos de identificação e classificação de nomes próprios. A seguir, a Secção 3.4 apresenta os módulos adicionais de reconhecimento de entidades 1http://www.linguateca.pt/harem/ 3.2. Trabalho relacionado 37 de base numérica (datas e horas, quantidades, etc.), bem como a sua avaliação. Finalmente, as conclusões são expostas na Secção 3.5. Este capítulo baseia-se na publicação Garcia et al. (2012), incorporando também dados de Gamallo e Garcia (2011) (devidamente referidos), bem como alguns resultados não publicados. 3.2. Trabalho relacionado Esta secção apresenta brevemente aqueles trabalhos e avaliações conjuntas dedicadas ao inglês (por ser a língua para a qual mais recursos e desenvolvimento existem), bem como ao português e espanhol, dado que, como foi dito, desconhecemos outros trabalhos de reconhecimento de entidades mencionadas para galego. As conferências MUC-6 e MUC-7, realizadas em 1995 e 1998 respectivamente e focadas na análise do inglês, foram as primeiras avaliações de sistemas REM. Nas MUC definiram-se três grandes classes de entidades: “timex” (datas e horas), “numex” (expressões numéricas) e “enamex” (que continha nomes próprios referidos a organizações, pessoas e localizações). Os melhores resultados da MUC-7 obtiveram valores da medida F de 93,39% no total da classificação (Mikheev et al., 1998). Outros encontros como os já referidos ACE (e também a própria MUC-7) realizaram diferentes avaliações tendo em conta também outro tipo de tarefas de extracção. As shared task das conferências CoNLL 2002 e 2003 incluíram avaliações de sistemas de classificação independentes da língua (espanhol e holandês em 2002 e inglês e alemão em 2003), para entidades “enamex” (categoria à qual foi adicionada a classe “miscelânea” para classificar entidades diferentes de organizações, pessoas e localizações). Nestas avaliações, os melhores sistemas obtiveram valores da medida F de 72% (alemão), 88% (inglês), 77% (holandês) e 81% (espanhol). Como foi dito, este último sistema é a base dos módulos de classificação de entidades mencionadas de FreeLing. Para a língua portuguesa realizaram-se duas avaliações conjuntas de reconhecimento de entidades mencionadas —HAREM (Santos e Cardoso, 2007) e Segundo HAREM (Mota e Santos, 2008)—, com resultados que variaram desde valores da medida F de 60% até 85% em função do tipo de avaliação, mais ou menos rígida. Estes resultados, porém, não são directamente comparáveis com outros sistemas e avaliações, já que as directrizes de classificação diferem notoriamente das de outras conferências. 38 Capítulo 3. Reconhecimento de Entidades Mencionadas Detendo-nos nas características dos próprios sistemas de reconhecimento, pode afirmar-se que a tendência dominante de desenvolvimento destes recursos é a combinação de regras e de máquinas de estados finitos para a identificação de expressões “timex/numex”, e de modelos estatísticos —de aprendizagem automática— para o tratamento de entidades “enamex”. Contudo, existem métodos baseados em regras (Bick, 2006) para a classificação de entidades “enamex” e modelos híbridos (Ferreira et al., 2007), ambos desenhados para a língua portuguesa. Os sistemas probabilísticos são habitualmente treinados de modo supervisionado, pelo que precisam de corpora etiquetados manualmente (por exemplo Finkel et al. (2005) para o inglês, Carreras et al. (2002) para o espanhol ou Ferrández et al. (2007) para o português). Estas ferramentas, por sua vez, utilizam diferentes algoritmos (ou combinações deles) como Conditional Random Fields, AdaBoost, máquinas de vectores de suporte (referidos como SVM, do inglês Support Vector Machines) ou modelos ocultos de Markov (HMM), entre outros. A dificuldade de obtenção de recursos de qualidade para o treino dos diferentes modelos inspirou várias abordagens de classificação não-supervisionada (ou semisupervisionada). Assim, o aumento de fontes semiestruturadas de fácil acesso (como Freebase2ou DBpedia3) permite a obtenção de recursos e de corpora potencialmente aplicáveis no treino destes modelos. Neste sentido, alguns trabalhos recentes propõem estratégias que tiram proveito de fontes como a Wikipedia para melhorar os sistemas de classificação e extracção (Mika et al., 2008). De modo similar, Nothman et al. (2008) utiliza as ligações internas da Wikipedia para anotar automaticamente entidades em texto não estruturado, empregado posteriormente no treino de modelos estatísticos. Por último, em Gamallo e Garcia (2011) é apresentado um classificador semântico de nomes próprios para o português que utiliza um conjunto de regras e grandes listas de entidades obtidas de modo (semi)automático. Este é um dos dous classificadores de nomes próprios (entidades “enamex”) para português descritos neste trabalho, assim como o sistema base do classificador para galego. 2http://www.freebase.com 3http://www.dbpedia.org 3.3. Reconhecimento de nomes próprios 39 3.3. Reconhecimento de nomes próprios A análise dos nomes próprios apresentada neste capítulo divide-se em duas tarefas: (i) a identificação e (ii) a classificação semântica. A identificação consiste na detecção correcta das fronteiras de um nome próprio (“Museo_do_Pobo_Galego” —identificado como um único nome próprio— versus *“Museo do Pobo_Galego”, onde erroneamente se detectam dous nomes próprios). A classificação consiste na atribuição à entidade de uma etiqueta que denote uma classe semântica previamente definida. O primeiro dos processos foi realizado através de dous módulos de FreeLing, com o fim de avaliar o desempenho de cada um deles de modo independente. Em relação à classificação, tanto o módulo AdaBoost de FreeLing como o já referido sistema baseado em regras e recursos foram utilizados em português, sendo este último também implementado para galego. 3.3.1. Identificação Os dous módulos utilizados para a identificação de nomes próprios foram basic e BIO. O primeiro (basic) consiste numa máquina de estados finitos que detecta sequências de palavras que começam por maiúsculas, e numa lista de palavras funcionais (de,por, etc.) que podem ocupar uma posição intermédia em nomes próprios compostos.4Esta estratégia identifica expressões como “John Lennon” ou “Universidade de Vigo”, e em combinação com um desambiguador morfossintáctico (veja-se o Capítulo 2), detecta com alta precisão se um token em posição inicial de oração é ou não é um nome próprio (“Café com leite” versus “Café_Starbucks em Barcelona”). Este método não precisa de um corpus anotado de aprendizagem, sendo tanto a adaptação para português e galego como a execução rápidas. Contudo, existem casos em que o identificador falha sistematicamente, uma vez que não são atribuídos valores de probabilidade para cada um dos elementos que podem formar o nome próprio: assim, tanto a expressão “Ministério_de_Educação” como *“[nessa altura chegou] Sarkozy_de_Roma” são analisadas como um único nome próprio. 4As máquinas de estados finitos (ou finite-state-automata, FST) são modelos matemáticos compostos de um conjunto finito de estados abstractos. Em cada momento, a máquina encontra-se em um único estado, e muda para outro se se dar uma condição previamente definida (Black, 2013). Na identificação de nomes próprios compostos, a máquina verifica se cada um dos tokens começa ou não por maiúscula, se entre eles se encontram palavras funcionais, etc. 40 Capítulo 3. Reconhecimento de Entidades Mencionadas O segundo dos módulos de identificação de nomes próprios de FreeLing tenta corrigir estes e outro tipo de erros implementando o método estatístico BIO (também conhecido como IOB). Esta estratégia de aprendizagem supervisionada precisa de um corpus de treino anotado cujos nomes próprios sejam divididos em B (begin, início) e I (inside, dentro), para além dos tokens que não formam parte de um nome próprio (O: outside, fora). O corpus de aprendizagem, bem como um conjunto de atributos lexicais (que incluem listas de nomes próprios frequentes, palavras funcionais, etc.), permitem treinar um classificador que detecte as fronteiras das entidades “enamex”, em função das probabilidades de cada token ser B, I ou O. Foram treinados cinco modelos diferentes, em função da frequência dos atributos no corpus de treino, do modelo BIO com o algoritmo AdaBoost (Carreras et al., 2002) (os cinco modelos utilizaram diferentes grupos de atributos do corpus: desde aqueles com frequência superior a 1% até todos os extraídos). Tanto para português como para galego, foram utilizados os mesmos corpora que para treinar os módulos PoS-tagging (Secção 2.3): uns 138.000 tokens e 7.300 nomes próprios em português e ≈240.000 tokens e ≈11.800 entidades “enamex” em galego. 3.3.2. Classificação A classificação de nomes próprios é o processo que consiste na atribuição, depois de identificadas as fronteiras de um nome próprio, de uma etiqueta semântica previamente estabelecida. Apesar de existirem tarefas que requerem uma classificação mais detalhada, as etiquetas utilizadas na ferramenta aqui apresentada são as “enamex”, amplamente empregadas no reconhecimento de entidades desde a avaliação MUC-6. Estas etiquetas diferenciam três classes principais: PER (pessoa), ORG (organização) e LOC (localização), às quais desde a conferência CoNLL 2002 se acrescentou MISC (outra, ou miscelânea) para classificar as entidades que não pertencem a nenhum dos tipos anteriores. A classificação de determinados nomes próprios de acordo com as etiquetas estabelecidas provocou algumas diferenças tanto nas várias edições das avaliações referidas como noutras (Segundo HAREM, por exemplo). Dous dos principais problemas que surgem na classificação de nomes próprios são a polissemia e a metonímia. Neste sentido, determinados nomes de países, cidades, etc. podem ser classificados (para além de LOC), como ORG (“Bélgica assinou o Tratado de Roma”), como PER (“Vigo opõe-se à destruição do sector naval”), etc., em função dos critérios de etiquetação utilizados. 3.3. Reconhecimento de nomes próprios 41 Neste trabalho, tanto na implementação do sistema de classificação, como na anotação manual dos corpora de treino e teste, só foi considerada a homonímia, ignorando-se portanto as interpretações metonímicas das entidades mencionadas (que podem ser identificadas em processos posteriores de análise).5 Como foi dito na Secção 3.2, existem diversas estratégias para o desenvolvimento de sistemas de classificação de EM: métodos que utilizam regras e listas externas de entidades, modelos estatísticos que precisam de corpora de treino anotados e outras estratégias de aprendizagem automática menos supervisionadas. Nesta secção são apresentados dous modelos diferentes de classificação: primeiro, o classificador AdaBoost incluído em FreeLing (Carreras et al., 2002), treinado para português com uma versão do corpus Bosque 8.0 (Secção 2.3) com anotação semântica adicionada manualmente.6A seguir, a estratégia baseada em regras e recursos, implementada para português em Gamallo e Garcia (2011) e adaptada para galego no presente trabalho. O sistema estatístico utiliza classificadores AdaBoost multi-classe (com uma classe para cada uma dos quatro tipos de “enamex”). A janela utilizada é de -3/+3 tokens, pelo que o classificador analisa os atributos dos três elementos anteriores e posteriores à entidade com o fim de decidir a sua classe. Os atributos utilizados são lexicais (tokens e lemas), morfossintácticos (categoria morfossintáctica e constituinte sintáctico), morfológicos (prefixos e sufixos), egazetteers etrigger words. Os gazetteers são listas de entidades conhecidas, já classificadas em função do seu tipo (e.g., “Jerry Garcia”: PER, “Santiago de Compostela”: LOC). As trigger words são palavras que co-ocorrem num segmento do texto com uma entidade, sugerindo a sua classificação numa determinada classe (por exemplo “empresa: ORG”, “amigo”: PER, etc.). O sistema de regras e recursos também necessita, para além de um conjunto de heurísticas de classificação semântica, de trigger words e de listas de gazetteers de grande tamanho. Com o fim de se obterem estes dous tipos de recursos de modo (semi)automático, foi utilizada a seguinte estratégia: Para extrair as trigger words, procura-se na árvore de categorias da Wikipedia (da língua alvo) um conjunto de categorias que sejam subclasses de pessoas, organizações e localizações. Este processo realiza-se seleccionando categorias que contenham as palavras “pessoa”, “organização” ou “lugar” (e sinónimos) como núcleo da categoria (p. ex., “Organizações 5Veja-se Gamallo e Garcia (2011) para uma discussão mais pormenorizada. 6Uma vez que não existiam corpora disponíveis com tamanho suficiente para treinar modelos supervisionados para galego, o módulo de classificação de EM de FreeLing só foi adaptado para português. 48 Capítulo 3. Reconhecimento de Entidades Mencionadas Listas LOC ORG PER trigger words 74 47 405 gazetteers gl 4.395 717 9.650 gazetteers pt 33.485 16.378 59.424 gazetteers es 63.468 21.551 88.342 Tabela 3.6: Número de trigger words e dos conjuntos de gazetteers para as três classes de entidades “enamex” diferentes de MISC nos testes em galego. Gazetteers Precisão Recall Medida F gl 62,15 62,84 62,49 gl+pt 74,11 74,94 74,52 gl+es 59,80 60,47 60,14 gl+pt+es 68,31 69,08 68,69 Tabela 3.7: Resultados do classificador de regras e recursos em galego, em função dos conjuntos de gazetteers utilizados. tuguesa (pt) e da espanhola (es), respectivamente; finalmente, levou-se a cabo uma avaliação com as listas de entidades de três versões da Wikipedia (galega, portuguesa e espanhola).10 Em todas as avaliações foi utilizado o mesmo conjunto de trigger words, obtidas da Wikipedia em galego. A Tabela 3.6 contém o número de entidades de cada uma das listas de gazetteers, bem como o número de trigger words utilizadas. Na Tabela 3.7 podemos ver os resultados dos diferentes testes de classificação de nomes próprios. Estes testes foram realizados utilizando o modelo BIO para a identificação das entidades. Avaliações preliminares em que foi usado o método basic tiveram resultados com valores da medida F ≈3% mais baixos. O primeiro conjunto de resultados mostra que a utilização de gazetteers extraídos unicamente da Wikipedia em galego não é suficiente para conseguir um bom desempenho de um sistema baseado em regras e recursos, obtendo valores da medida F de 62,49%. A utilização de listas de entidades em espanhol e português melhora, portanto, a qualidade do sistema (68,69%). Note-se, contudo, que o aumento da medida F é superior com as listas gl+pt (menor do que o conjunto gl+pt+es), pelo que se infere que os gazetteers extraídos da Wikipedia em espanhol podem ter algum tipo de ruído (o que explicaria também os valores do teste gl+es). 10O número de gazetteers apresenta pequenas variações em relação aos utilizados nos testes anteriores (para português), devido a que os recursos para galego foram extraídos de uma versão mais recente da Wikipedia. 3.3. Reconhecimento de nomes próprios 49 Classe Número Precisão Recall Medida F LOC 280 81,89 83,20 82,54 PER 121 61,31 77,06 68,29 ORG 438 73,79 80,00 76,77 MISC 85 62,50 7,94 14,08 Tabela 3.8: Resultados do classificador de regras e recursos para cada classe “enamex” em galego (e número de entidades de cada classe). Assim, os resultados do sistema apresentado com os gazetteers do galego e do português ultrapassam 74% de medida F. A Tabela 3.8 mostra os resultados individuais de cada classe “enamex”. A análise destes dados indica-nos que os tipos LOC e ORG (e, em menor medida, PER) têm bons resultados tanto em termos de precisão como de recall. Contudo, o desempenho do classificador em cada classe difere dos resultados em português (onde PER obtinha os melhores valores). Estes dados podem dever-se à dependência dos recursos externos e à relação destes com o corpus de teste. Por último, os valores de recall da classe MISC são notoriamente mais baixos. Do mesmo modo que na avaliação em português, é preciso referir que tanto o tipo destas entidades quanto a sua contextualização são mais heterogéneas do que as restantes. Uma vez que alguns dos erros de classificação do sistema foram provocados por erros anteriores na identificação dos nomes próprios, foi realizado um último teste assumindo uma entrada óptima no sistema de classificação. Esta última avaliação (utilizando os gazetteers gl+pt), que só analisa aquelas entidades correctamente reconhecidas pelo identificador de nomes próprios, teve um valor final da medida F de 80,44%. É preciso ter em conta que em nenhum dos testes as listas de gazetteers tiveram algum tipo de revisão nem filtragem. Neste sentido, a adaptação das listas portuguesas para galego (e vice-versa) pode ser uma boa estratégia de melhoramento do sistema (Malvar et al., 2010). Além disso, a aplicação de algum tipo de filtragem e/ou revisão sobre os gazetteers, assim como a utilização de listas com maior número de entidades (como as do inglês, por exemplo), podem contribuir para o aumento da precisão do classificador semântico aqui proposto. Em termos gerais, os resultados obtidos pelos distintos sistemas apresentados nesta secção não são facilmente comparáveis com os de sistemas concebidos para outras línguas, devido tanto às características dos corpora de teste, como aos próprios objectivos de cada um dos módulos de reconhecimento. 50 Capítulo 3. Reconhecimento de Entidades Mencionadas Assim, em relação aos módulos de identificação de nomes próprios, os resultados de medida F foram similares aos obtidos para outras línguas (Carreras et al., 2002). Para além disso, a comparação entre os resultados do classificador semântico de nomes próprios é mais complexa: por um lado, os objectivos de vários classificadores costumam ser diferentes, em função do número de tipos e subtipos de entidades que pretendam classificar. Por outro lado, o tamanho e tipologia do corpus de teste é também muito variável, bem como a anotação de entidades potencialmente ambíguas. Tendo isto em conta, e observando que, por exemplo, os melhores sistemas das avaliações CoNLL (2002 e 2003) diferem em mais de 16 pontos percentuais (72,41% para o alemão e 88,76% para o inglês), os resultados obtidos com diferentes métricas e corpora não podem ser directamente comparáveis. O mesmo acontece se observarmos os resultados das avaliações do Segundo HAREM, cujos valores foram obtidos utilizando tipos e subtipos diferentes na classificação de entidades. Nesta avaliação, a métrica mais próxima da realizada no presente capítulo é o “Cenário Selectivo 2”, que inclui as categorias “local” (com dous subtipos: “humano” e “físico”), “organização”, “pessoa” e “tempo”, na qual o sistema XIP-L2F/Xerox_3 obteve valores da medida F de 63,26%. 3.4. Reconhecimento de entidades de base numérica Esta secção apresenta os módulos de reconhecimento de entidades “timex” e “numex”, incluídos na suite FreeLing e adaptados para português e galego. Inclui, também, uma avaliação destes módulos em galego. 3.4.1. Numerais O primeiro tipo de entidades de base numérica são as expressões numerais. O reconhecedor aplica-se depois do tokenizador, pelo que utiliza uma entrada já dividida em elementos individuais como palavras e sinais de pontuação. Este módulo é composto por um conjunto de máquinas de estados finitos que detectam expressões numerais em vários formatos: numérico (“7,4”, “325.275”) e extenso (“trezentos vinte cinco mil duzentos e setenta e cinco”, “um milhão e meio”), assim como outras formas lexicais como “dezenas”, “milhares”, “terços”, etc. Além da identificação, o módulo normaliza as entidades, atribuindo um lema numérico a cada uma das expressões reconhecidas (“24”, “vinte e quatro”, “duas dúzias” →24). 3.4. Reconhecimento de entidades de base numérica 51 3.4.2. Datas O módulo seguinte realiza o reconhecimento automático de datas e horas, precisando do reconhecedor de numerais para identificar algumas das expressões. O módulo é composto também por um conjunto de máquinas de estados finitos (específicas para português e galego), que identificam e normalizam datas e horas em formatos diferentes. Este módulo reconhece formas como horas, dias da semana (e as suas partes: “meio-dia”, “manhã”, “tarde”, “madrugada”), meses, séculos, anos, etc., que podem aparecer de modo individual (“Maio”, “12h24”) ou em diferentes combinações (“sete da manhã”, “segundafeira, vinte e sete de Julho de mil novecentos e oitenta”, “Janeiro de 1968”, etc.). As máquinas de estados finitos identificam também outro tipo de expressões comuns como “o passado mês de Julho” ou “as sete e um quarto da tarde” (adaptadas, em português, às ortografias anterior e posterior ao Acordo Ortográfico de 1990). Uma vez identificadas as expressões que contêm uma data e/ou uma hora, o módulo realiza uma normalização, atribuindo-lhes uma etiqueta que segue os standards propostos pelo Grupo EAGLES (Leach e Wilson, 1996), com o formato: [DIA:DD/MM/AAAA:hh.mm:xm] (cujos campos se separam por “:” e que incluem (i) o nome do dia semana, (ii) o dia, mês e ano, (iii) as horas e minutos e (iv) a divisão entre am/pm, respectivamente). 3.4.3. Quantidades O reconhecedor de quantidades depende do reconhecedor de expressões numerais e consiste num conjunto de máquinas de estados finitos ao qual se acrescenta um ficheiro externo com etiquetas e expressões regulares relativas a quantidades, unidades monetárias, longitudes, etc. As expressões identificadas por este módulo são também variadas e em diferentes formatos: são reconhecidos rácios e percentagens (“dous terços”, “3,5%”, “nove por cento”, etc.) assim como quantidades físicas (“sete quilómetros por hora”, “1.500 toneladas”, etc.) ou monetárias (“doze milhões de euros”, “7.000 escudos”, etc.). O sistema reconhece actualmente uns 320 tipos de unidades diferentes (moedas, distâncias, velocidades, pesos, temperaturas, etc.) em perto de 900 contextos diferentes. Depois de identificadas, as entidades recebem uma etiqueta normalizada que atribui o tipo (peso, moeda, etc.) e o valor de cada uma delas. 52 Capítulo 3. Reconhecimento de Entidades Mencionadas 3.4.4. Testes e avaliação Para conhecer o desempenho das adaptações dos reconhecedores de entidades “timex” e “numex” foi realizado um pequeno conjunto de testes com um corpus anotado em galego. Os testes têm como objectivo a realização de uma avaliação preliminar dos reconhecedores de expressões numerais, datas e quantidades sobre texto real. Com este fim, foram seleccionadas aleatoriamente 10 notícias do jornal em galego Galicia Hoxe (de todas as secções), criando um corpus de aproximadamente 10.000 tokens, com 270 entidades de base numérica etiquetadas manualmente. Para conhecer o desempenho dos reconhecedores foram realizadas duas avaliações diferentes, em função do critério de anotação utilizado. A primeira (Dura), faz uma anotação estrita de cada uma das entidades, tendo em conta conhecimento externo, e não a forma das entidades. Assim, num título como “Aforro de millón e medio no gasto”, a expressão “millón e medio” é anotada como “moeda”, uma vez que do conteúdo da notícia (ou de conhecimento externo) se infere o seu significado. Do mesmo modo, numerais como “2009” (“De acordo co crecemento medio de 2009”) ou “19.099” (“Os salarios máis baixos atópanse en Canarias (18.926 euros), en Estremadura (19.099)”) são anotados como “data” e “moeda”, respectivamente. A segunda avaliação (Branda) tem em conta só aquele tipo de anotação que os módulos adaptados realizam, e que está directamente relacionado tanto com a forma da expressão, como com o contexto léxico-semântico mais próximo. Neste sentido, expressões isoladas como “2009” ou “19.099” são anotadas como “número” excepto se o seu contexto incluir evidências de pertencerem a outra classe de entidades (“ano 2009” ou “19.099e”, por exemplo). A Tabela 3.9 mostra os resultados das avaliações referidas, tendo em conta a etiquetação de cada tipo de entidades bem como o desempenho geral dos reconhecedores. Para além dos números e datas (reconhecidas pelos módulos do mesmo nome), as percentagens, moedas e unidades foram analisadas pelo reconhecedor de quantidades. As principais diferenças entre as avaliações Dura eBranda têm a ver com a classificação de expressões numéricas em contextos ambíguos, às quais o sistema atribui a etiqueta número. Assim, entre as duas avaliações, a anotação de numerais passa de 63% a 93%, a de moedas de 63% a 100%, e a de datas de 73% a 95%. Tendo em conta as propriedades dos módulos adaptados, assim como a ambiguidade de expressões como as referidas nos parágrafos anteriores, a avaliação Branda dos reconhecedores de numerais, quantidades e datas mostra que o desempenho destes módulos se situa em redor de 94% (≈70% na avaliação Dura). Contudo, estes resultados 3.5. Conclusões 53 Entidade Dura Branda Núm. Prec Recall F1 Núm. Prec Recall F1 Números 111 68,75 59,46 63,77 160 97,24 89,81 93,38 Percentagens 16 93,75 93,75 93,75 16 93,75 93,75 93,75 Moedas 38 63,16 63,16 63,16 24 100 100 100 Unidades 24 83,33 83,33 83,33 22 95,24 90,91 93,02 Datas 81 96,00 59,26 73,29 48 95,83 95,83 95,83 Total 270 77,23 64,08 70,04 270 96,85 92,14 94,43 Tabela 3.9: Resultados dos módulos adaptados de reconhecimento de entidades “timex” e “numex” em galego (e número de entidades), em duas avaliações: Dura eBranda. só podem entender-se como preliminares, uma vez que o corpus de teste não tem um tamanho suficiente para os considerar definitivos. 3.5. Conclusões O presente capítulo descreveu a implementação e adaptação de diferentes módulos de reconhecimento de entidades mencionadas em português e em galego. Primeiro, foram adaptados e avaliados dous sistemas de identificação de nomes próprios: baseados em (i) máquinas de estados finitos e em (ii) estratégias supervisionadas. A seguir foi apresentado um método de classificação semântica de nomes próprios, que funciona através de um conjunto de regras e de recursos extraídos (semi)automaticamente. O desempenho deste método foi comparado com o do classificador probabilístico de FreeLing, que foi treinado e disponibilizado para português. Finalmente, foram também adaptados diferentes módulos de reconhecimento de expressões numéricas e de quantidades, e foi criado um novo módulo de reconhecimento de datas e horas para português e galego. Em relação à identificação dos nomes próprios, os resultados dos testes indicam que os sistemas estatísticos têm valores de medida F ≈5% maiores do que os sistemas baseados em máquinas de estados finitos. A respeito da classificação semântica, as diferentes avaliações não provaram que uma das duas estratégias seja melhor do que a outra na análise do português. Contudo, o sistema de regras e recursos proposto, bem como os módulos adaptados de reconhecimento de entidades de base numérica, obtêm resultados próximos dos valores obtidos pelos reconhecedores de 54 Capítulo 3. Reconhecimento de Entidades Mencionadas avaliações com métricas similares, tais como as shared task das conferências CoNLL (Tjong Kim Sang e de Meulder, 2003). Assim, as principais contribuições do presente capítulo são as seguintes (para português e galego): – Disponibilização de módulos de identificação de nomes próprios baseados em máquinas de estados finitos. – Disponibilização de módulos de identificação de nomes próprios baseado em classificadores AdaBoost. – Disponibilização de um módulo de classificação de nomes próprios baseado em classificadores AdaBoost (para português). – Implementação de sistemas de classificação de nomes próprios baseados em regras e recursos, disponibilizados em Gamallo et al. (2014). – Adaptação e implementação de reconhecedores de expressões numéricas, de quantidades, datas e horas. – Adição da anotação manual das entidades “enamex” ao corpus Bosque 8.0. – Novo corpus com anotação manual de entidades “enamex” em galego. Tenha-se em conta que todos os módulos adaptados estão incluídos em FreeLing, e que o sistema de classificação de regras e recursos disponibiliza-se sob licenças livres. Os sistemas REM apresentados neste capítulo (dependentes das ferramentas descritas no Capítulo 2) permitem classificar semanticamente diversos tipos de entidades, pelo que facilitam a aplicação das estratégias para a extracção de relações mostradas em capítulos seguintes. Parte II Estratégias para a Extracção de Relações 55 CAPÍTULO 4 EXTRACÇÃO DE RELAÇÕES. REVISÃO 4.1. Introdução Este capítulo faz uma revisão de diferentes abordagens que têm sido utilizadas para a realização de extracção de relações, mostrando os trabalhos mais importantes de cada uma delas, bem como as métricas de avaliação mais comuns, utilizadas nesta tese. Primeiro, são apresentadas diferentes aproximações à ER em função do número de relações extraídas pelo sistema. A este respeito, são mostrados também vários métodos que visam reduzir o esforço da construção manual de corpora de treino ou da introdução de pares ou de padrões semente. A seguir, é feita uma revisão daqueles artigos que trabalharam especificamente com extracção de relações biográficas, por serem estas as mais relacionadas com este trabalho. Depois, inclui-se uma secção que analisa a informação linguística utilizada pelas várias estratégias de extracção. Mais à frente mostram-se alguns trabalhos dedicados especificamente à extracção em português, espanhol e galego. Finalmente, apresentam-se as métricas de avaliação utilizadas nos testes sobre a extracção de relações, bem como as conclusões deste capítulo. 4.2. Trabalho relacionado Domínio fechado A extracção de relações em domínio fechado consiste na construção de extractores para um conjunto finito de relações. Assim, definida uma relação como LocaldeMorte, um 64 Capítulo 4. Extracção de Relações. Revisão trabalhos como Soler e Alcina (2008) também aplicam padrões lexicais para obter exemplos da relação parte-tudo (no domínio da cerâmica). Em Aguado de Cea et al. (2008) apresenta-se um método (e uma ferramenta) para reutilizar padrões de desenho de ontologias para o enriquecimento destes recursos (mediante a associações dos padrões a novos padrões léxico-sintácticos). Este trabalho analisa também a extracção em textos em inglês e alemão. Por último, o sistema multilíngue de extracção de informação aberta DepOE (Gamallo et al., 2012) também realiza OIE em português, espanhol e galego. Até ao momento, é o único trabalho que conhecemos sobre extracção de relações em galego. Apresentadas as diferentes tipologias e abordagens para a extracção de relações, bem como os atributos que vêm sendo utilizados, podemos situar o trabalho realizado nesta tese como segue: em relação ao domínio das extracções, estas enquadram-se em domínio fechado, sendo de carácter enciclopédico (e especificamente biográfico). Contudo, o Capítulo 8 apresenta um conjunto de avaliações de extracção de informação aberta, cujas extracções foram restringidas a aqueles triplos cujo primeiro argumento identifica uma entidade pessoa. Em relação às abordagens utilizadas para a ER, esta tese aplica estratégias de supervisãodistante cujas instâncias são os pares relacionados (Capítulo 5), aproximações supervisionadas que classificam individualmente cada padrão (Capítulo 6), bem como abordagens baseadas em regras sintáctico-semânticas (Capítulo 7). Finalmente, para extrair relações em português, galego e espanhol, no presente trabalho são empregados —para além das regras sintáctico-semânticas já referidas— diferentes tipos de atributos linguísticos que vão desde simples tokens, lemas e PoS-tags a padrões generalizados ou combinações complexas de dependências sintácticas. 4.3. Métricas de avaliação De modo geral, os sistemas de extracção de relações são avaliados utilizando métricas standard. A avaliação realiza-se utilizando os resultados de classificação que cada sistema produz nos conjuntos de teste, através da matriz de confusão da Figura 4.1. Aqui, os verdadeiros positivos e os verdadeiros negativos são os exemplos do conjunto de teste correctamente classificados pelo sistema como positivos e negativos, respectivamente. Os falsos positivos e os falsos negativos são os erros produzidos por classificar como positivos exemplos negativos e como negativos exemplos positivos, respectivamente. 4.3. Métricas de avaliação 65 valor real resultado do sistema p n total p0Verdadeiro Positivo Falso Negativo P0 n0Falso Positivo Verdadeiro Negativo N0 total P N Figura 4.1: Matriz de confusão utilizada para as avaliações de ER. Precisão: para calcular a precisão é geralmente utilizada a seguinte fórmula, que divide as classificações positivas correctas pelo número total de decisões correctas do sistema: precis ˜ao =verdadeiros positivos verdadeiros positivos +f alsos positivos (4.1) Recall:os resultados de recall obtêm-se dividindo as classificações positivas correctas pelo número total de exemplos correctos no conjunto de teste: recall =verdadeiros positivos verdadeiros positivos +f alsos negativos (4.2) Medida F: finalmente, para obter a medida F (F1 ou F-score) calcula-se a média harmónica entre a precisão e o recall: medida F =2·precis ˜ao ·recall precis ˜ao +recall (4.3) Para obter os valores médios de alguns resultados foram calculadas tanto a micro-average como a macro-average. A micro-average calcula-se construindo uma tabela global com os resultados de cada relação, computando a seguir a precisão, recall e medida F do total. A macro-average é a média individual dos resultados de cada relação. Para além destas medidas, a avaliação de alguns processos requer métricas específicas, que são apresentadas oportunamente nos respectivos testes. 66 Capítulo 4. Extracção de Relações. Revisão 4.4. Conclusões Este capítulo fez uma revisão de diferentes estratégias existentes para a extracção de relações semânticas de texto livre. Foram apresentadas técnicas de extracção em domínio fechado, bem como outras alternativas orientadas à extracção de um maior número de relações, assim como a extracção de informação aberta. Para além disso, vários trabalhos focados na extracção de relações biográficas foram apresentados, seguidos de uma análise da utilização de informação de carácter linguística pelos próprios extractores. Depois, foi mostrada uma breve panorâmica dos principais trabalhos que lidaram com a extracção de relações nas línguas alvo desta tese: o português, o espanhol e o galego. Assim mesmo, as técnicas aplicadas neste trabalho foram situadas em relação à revisão realizada. Finalmente, foram apresentadas as métricas de avaliação standard utilizadas nos testes de extracção de relações. CAPÍTULO 5 EXTRACÇÃO DE RELAÇÕES MEDIANTE SUPERVISÃO-DISTANTE 5.1. Introdução A grande quantidade de dados que existe na Web faz com que muita da informação disponível seja redundante, aparecendo em diferentes fontes, línguas e formatos. Um sistema de extracção de relações pode aproveitar-se desta abundância de conteúdos para obter informação sobre entidades de maneira fiável (Mann, 2002). Este capítulo apresenta um conjunto de testes para a extracção de relações semânticas em domínio fechado que tenta tirar partido da redundância da informação na Web. A estratégia utilizada consiste na construção de classificadores que analisem os diferentes contextos em que um par relacionado semanticamente aparece. Assim, dada uma relação semântica e um par candidato (e.g., Profissão,Billie Holiday –cantora), o sistema analisa um conjunto de orações em que o par candidato aparece e classifica-o como positivo ou negativo para a relação, em função dos contextos em que ocorreu. Com o fim de minimizar o esforço de construção de um corpus de treino anotado que contenha orações positivas e negativas para a relação alvo, foi aplicada uma estratégia de supervisão-distante (Mintz et al., 2009), que obtém de modo automático corpora anotados. Dada a escassez de recursos na Web para o galego, este capítulo não contém testes de extracção para esta língua, sendo as avaliações realizadas unicamente em português e espanhol. 68 Capítulo 5. Extracção de Relações mediante Supervisão-distante Para construir os classificadores foram utilizadas técnicas de aprendizagem automática e avaliados diferentes atributos que representam as estruturas linguísticas em que os pares ocorrem. Os resultados das avaliações indicaram que a generalização de atributos de base pseudosintáctica permite criar classificadores com bom desempenho para a estratégia de extracção proposta. Contudo, é preciso referir que o método de construção de corpora mediante a supervisão-distante produz resultados variáveis em função dos recursos utilizados e da relação alvo. A seguinte secção descreve o método de obtenção de corpus anotado mediante supervisãodistante. Depois, a Secção 5.3 apresenta os atributos utilizados para treinar os classificadores supervisionados. A Secção 5.4 contém os testes realizados, e na 5.5 mostram-se alguns dos problemas da extensão do método proposto a outras relações. Finalmente, as conclusões são apontadas na Secção 5.6. O conteúdo deste capítulo foi publicado nos trabalhos Garcia e Gamallo (2011b,c), que contêm avaliações para português e espanhol, respectivamente. 5.2. Método Para obter o corpus anotado foi utilizada, do seguinte modo, a estratégia de supervisãodistante: Primeiro foi obtido um ficheiro dump (imagem) da Wikipedia para cada língua (português e espanhol).1Cada imagem foi convertida a texto plano, e foram eliminadas as marcas de formatação e as ligações externas. Para cada relação semântica (nos testes, Profissão), foram obtidos pares já classificados das infoboxes da Wikipedia na mesma língua: por exemplo, Fernando Pessoa – poeta, Fernando Pessoa –escritor, etc. (com uma precisão de ≈95%). A seguir, foram extraídas do texto livre da Wikipedia todas as orações que continham um nome de pessoa e uma profissão conhecidas (presentes nos pares extraídos das infoboxes). As orações foram classificadas como positivas quando os dous termos coincidiam com um par conhecido da lista inicial, e como negativas se o par não existia na mesma lista. Depois foram aplicados os módulos de lematização e de anotação morfossintáctica de FreeLing. Em espanhol, FreeLing também foi empregado para o reconhecimento de entida- 1http://dumps.wikimedia.org/ 5.3. Atributos 69 des mencionadas, enquanto que o sistema de regras apresentado no Capítulo 3 foi utilizado para o REM em português. As dependências sintácticas foram geradas nas duas línguas por DepPattern. Finalmente, os termos alvo (nome próprio e profissão) foram substituídos por XeY, respectivamente, sendo as orações divididas em três contextos: anterior,intermédio eposterior, em função da sua posição em relação a XeY. Uma vez que o processo foi realizado sem revisão manual, este produziu anotação de falsos positivos (p. ex., “Linus Torvalds discutiu com um engenheiro de software”: positivo) e falsos negativos (“Fernando Pessoa foi um crítico literário”: negativo, porque o atributo crítico literário não aparece na infobox). A revisão manual de um conjunto de orações anotadas (utilizadas como corpus de teste nas avaliações) mostrou que a anotação automática teve perto de 80% de precisão na relação Profissão. 5.3. Atributos Cada uma das orações analisadas mediante o processo anterior representa uma estrutura linguística que contém toda a informação necessária para os sistemas de extracção. Uma estrutura linguística pode ser concebida como um espaço que incorpora vários tipos de conhecimento, e do qual são extraídos os atributos utilizados pelos classificadores. Cada estrutura linguística contém o contexto dos termos relacionados, sendo Xo nome de pessoa e Ya profissão. Inclui-se na própria estrutura linguística o contexto anterior ao primeiro termo, o contexto intermédio, e o posterior. Estes contextos têm uma dimensão máxima de 12 tokens (para o intermédio) e de 3 para os contextos anterior e posterior, tendo sido estas janelas seleccionadas empiricamente durante a realização de testes preliminares. Na Figura 5.1, as colunas 1, 2, 3, e 4 representam a posição, token, lema e categoria morfossintáctica (veja-se o tagset na Tabela A.3), respectivamente. Uma vez que a estrutura linguística também contém informação sintáctica de dependências, a coluna 5 identifica o núcleo do token actual, e a coluna 6 mostra a função sintáctica.2Esta estrutura está inspirada no formato utilizado nas conferências CoNLL, definido em Lin (2003). As estruturas linguísticas obtidas de cada uma das orações anotadas foram utilizadas para extrair os atributos necessários para o treino dos classificadores. Foram utilizados quatro tipos de atributos: 2Aqui, a etiqueta subj significa sujeito; punct, pontuação; adjn, adjunto; cprep, complemento preposicional; term, termo; spec, especificador; attr, atributo e modif modificador. 70 Capítulo 5. Extracção de Relações mediante Supervisão-distante Oração: Kimberley Deal (nascida em 10 de Junho de 1961) é uma cantora americana Polaridade: Kimberley_Deal Profissão cantora: positivo Estrutura linguística: pos token lema PoS-tag núcleo etiqueta 0XKimberley_Deal PESSOA 6 subj 1 ( ( Fa 2 punct 2 nascida nascer VB 0 adjn 3 em em PS 2 cprep 4 10_de_Junho_de_1961 10/06/1961 DATA 3 term 5 ) ) Fc 2 punct 6 é ser V - - 7 uma um DT 8 spec 8Y_Pr cantor NC 6 attr 9 americana americano AD 8 modif Figura 5.1: Exemplo de uma oração com a relação Profissão, o par relacionado e a polaridade, e a sua estrutura linguística. Padrões básicos: O primeiro tipo de atributos utiliza toda a informação presente na estrutura linguística, excepto dous elementos: informação de dependências e alguns lemas. Os padrões básicos só contêm lemas de verbos, nomes comuns e preposições, dado que em testes preliminares esta selecção produzia melhores resultados do que o uso de todos os lemas ou nenhum deles. Este facto sugere que os verbos, os nomes comuns e as preposições contêm a informação mais relevante na representação dos contextos léxico-sintácticos dos termos relacionados. Um exemplo de um padrão básico é o seguinte: Oração: Kimberley Deal é uma cantora americana Padrão:<Xser_VB DT YAD> Devido à rigidez deste tipo de atributos, é preciso referir que precisam de uma grande quantidade de corpus de aprendizagem, porque pequenas variações em pontuação ou modificação adverbial ou adjectival geram atributos diferentes. Portanto, a dispersão de dados é crucial aqui. 5.3. Atributos 71 Generalização de padrões: Com o fim de minimizar o problema da dispersão de dados, foi aplicado um algoritmo baseado na similaridade entre padrões básicos que os generaliza, aumentando assim a sua abrangência. Para generalizar dous padrões, primeiro verifica-se se são similares, e depois são removidas aquelas unidades não partilhadas entre eles (Ruiz-Casado et al., 2005). A similaridade (Dice_lcs) entre dous padrões p1ep2define-se através do longest common string (a cadeia de caracteres comum mais longa) e da métrica Dice, do seguinte modo: Dice_lcs(p1,p2) = 2∗lcs(p1,p2) longitude(p1)+longitude(p2)(5.1) onde lcs(p1,p2)é o tamanho do longest common string entre os padrões p1ep2, enquanto longitude(pi)representa o tamanho do padrão pi. Isto significa que a similaridade entre dous padrões é a função do seu longest common string e das suas longitudes. Uma vez calculada a similaridade entre dous padrões p1ep2, extrai-se o longest common string só se p2é o padrão mais similar de p1e o valor de similaridade é maior do que um limite específico (no testes aqui descritos, 0,75). O longest common string de dous padrões é considerado a sua generalização. Saco de lemas e PoS-tags: Uma alternativa à utilização de padrões como atributos, é o uso de elementos mais pequenos, que aumentam a abrangência dos classificadores. Estes elementos podem ser tokens (nas estratégias bag-of-words) ou lemas, entre outros. Para construir os classificadores, foram utilizadas combinações de lemas e PoS-tags, pelo que da oração mostrada nos exemplos anteriores (“Xé uma Yamericana”) seriam extraídos os seguintes atributos: <ser_VB>,<DT>,<AD>(mais uma vez, só alguns lemas foram seleccionados, nomeadamente aqueles das categorias com maior informação semântico-sintáctica nas restrições de selecção entre dependências: verbos, nomes comuns e preposições). A utilização de exemplos negativos durante o processo de treino é aqui mais importante, dado que o classificador deve aprender que lemas são os mais importantes em cada relação para tomar a decisão correcta. 72 Capítulo 5. Extracção de Relações mediante Supervisão-distante Dependências sintácticas: A informação sintáctica foi obtida com DepPattern, que identifica as dependências mais frequentes entre os termos relacionados. Novamente, este tipo de atributos só inclui os lemas dos verbos, nomes comuns e preposições. De cada estrutura linguística, foram seleccionados como atributos dous tipos de dependências: (i) dependências entre os dous termos relacionados (Xou Y) e (ii) dependências entre um dos dous termos relacionados e uma entidade do contexto (anterior, intermédio ou posterior). Por exemplo, da oração “Xé uma Yamericana”, as dependências seleccionadas seriam as seguintes: <subj:ser_VB;X>,<attr;ser_VB;Y>,<spec;Y;DT>e<modif;Y;AD>. Cada atributo é um triplo formado pela etiqueta de dependência, o núcleo e o dependente. Só foram escolhidas dependências que contivessem, no mínimo, um dos termos relacionados (Xou Y). A informação seleccionada, portanto, corresponde-se com o contexto de dependências locais dos termos alvo. 5.4. Testes e avaliação Nos diferentes testes realizados foi avaliado tanto o desempenho individual dos atributos como várias combinações deles, para classificar exemplos da relação Profissão. Os testes levaram-se a cabo com o software WEKA (Witten e Frank, 2005), utilizando SMO (Sequential Minimal Optimization, algoritmo de optimização para treinar máquinas de vectores de suporte, SVM) (Platt, 1999), que teve em testes preliminares melhores resultados do que classificadores baseados em Naive Bayes e em árvores de decisão. Os corpora de treino foram obtidos das versões em português e em espanhol da Wikipedia (Maio de 2010), utilizando a estratégia de supervisão-distante apresentada na Secção 5.2. Para cada língua foram extraídos uns 50.000 pares das infoboxes, com os quais se obtiveram dous conjuntos de ≈500.000 orações, classificadas automaticamente como positivas ou negativas para a relação Profissão. Para treinar os diferentes modelos, seleccionaram-se aleatoriamente 2.000 orações de cada língua. Para as avaliações, extraíram-se e revisaram-se manualmente 700 orações para cada língua (também aleatórias e diferentes das utilizadas para o treino). As métricas de avaliação utilizadas são as apresentadas na Secção 4.3. 5.4. Testes e avaliação 73 Resultados Os classificadores individuais foram treinados utilizando os tipos de atributos definidos na Secção 5.3: –pattern-all epattern-mid utilizam os padrões básicos como atributos. O primeiro contém os três contextos de cada oração (anterior, intermédio e posterior) enquanto patternmid foi treinado unicamente com os padrões intermédios. –pattern_gen-mid utiliza os padrões intermédios generalizados como atributos. –bow-all ebow-mid foram construídos utilizando os sacos de lemas e PoS-tags:bow-all com os três contextos, e bow-mid unicamente com os intermédios. –dep-all edep-mid são os modelos criados com os atributos baseados em dependências sintácticas. Modelos individuais: O primeiro conjunto de testes avaliou sete classificadores (para cada língua), construídos utilizando unicamente um tipo de atributos. Os resultados (Tabela 5.1) indicam que os melhores atributos são aqueles baseados em padrões léxico-sintácticos generalizados: pattern_gen-mid com valores de medida F de 78% e 83% em português e espanhol, respectivamente. Os resultados dos classificadores pattern-all são muito mais baixos devido ao seu pouco recall. Uma vez que os contextos anterior e posterior têm muita variação, os modelos pattern-mid mostraram um melhor desempenho. Em relação aos classificadores gerados com sacos de lemas e PoS-tags, estes têm resultados divergentes em função da língua analisada: enquanto em espanhol superam o 71% de medida F, em português só o modelo bow-all obtém resultados satisfatórios (71% versus 44% de bow-mid). Finalmente, os modelos baseados em dependências sintácticas têm um melhor comportamento quando treinados com os três contextos (anterior, intermédio e posterior). Similaridade e combinações de atributos: Na análise das diferenças entre os modelos individuais foi calculado o coeficiente de similaridade Dice, para conhecer se os erros e acertos de cada classificador no corpus de teste foram ou não nos mesmos exemplos. De modo geral, um coeficiente Dice alto significa que 80 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados a linguística teórica e computacional em geral. Esta avaliação permite conhecer o melhor modo de representar estruturas linguísticas que contenham relações semânticas entre dous elementos. O objectivo do presente capítulo é realizar uma avaliação de diferentes atributos para a extracção de relações biográficas em português e espanhol, mediante a utilização de classificadores supervisionados. Para isso, é feita uma avaliação sistemática da efectividade de vários tipos de informação linguística, analisando atributos genéricos que têm sido utilizados em diversos trabalhos de extracção de relações, obtidos de diferentes níveis de conhecimento linguístico. À diferença da abordagem utilizada no capítulo anterior, os sistemas construídos aqui classificam como positivo ou negativo cada padrão (que contém um par), e não cada par em função do conjunto de padrões em que aparece. Em relação aos corpora, foram construídos dous recursos (um para português e outro para espanhol) com as seguintes relações biográficas: LocaldeNascimento,LocaldeMorte, DatadeNascimento,DatadeMorte eProfissão. Para além disso, foi realizada uma análise pormenorizada dos padrões de cada relação, com o objectivo de saber como são expressas estas relações biográficas em português e em espanhol. Os dados iniciais para a construção dos corpora foram obtidos mediante supervisão-distante, mas a anotação foi posteriormente corrigida de modo manual, pelo que a classificação é considerada supervisionada. Sobre os corpora resultantes foram aplicados algoritmos de aprendizagem automática, com o fim de treinar e avaliar vários classificadores cuja única diferença reside no tipo de atributos linguísticos com que foram construídos. Os resultados de diversos testes mostram que a utilização da lematização —para além de conhecimento semântico básico obtido através do REM— melhora o desempenho dos classificadores baseados em sacos de palavras. Para além disso, a informação pseudo-sintáctica (representada por bigramas de lemas) pode utilizar-se para evitar processos computacionalmente custosos como a análise sintáctica que, por sua vez, não melhorou significativamente o desempenho dos extractores. O conteúdo deste capítulo foi publicado no artigo Garcia e Gamallo (2013), e organiza-se como segue: a Secção 6.2 mostra o processo de construção dos corpora e uma análise das estruturas linguísticas que contêm. A seguir, a Secção 6.3 centra-se na descrição dos atributos, nomeadamente no diferentes tipos de conhecimento linguístico utilizado pelos classificado- 6.2. Corpora 81 res. Depois, a Secção 6.4 contém os diversos testes realizados em português e em espanhol, enquanto as conclusões do presente capítulo se encontram na Secção 6.5. 6.2. Corpora Esta secção apresenta as principais características dos corpora utilizados nos testes, bem como o seu processo de construção mediante a estratégia de supervisão-distante. Foram criados dous corpora, um para português e outro para espanhol. Construção dos corpora Construir manualmente corpora anotados é um processo custoso, mas necessário para treinar modelos estatísticos que dependem de dados de alta qualidade. Para minimizar o esforço de construção e anotação, foi aplicada a técnica de supervisão-distante apresentada no capítulo anterior, mas ampliada com um maior número de relações e de pares iniciais, o que permitiu obter recursos de mais tamanho. Como foi visto, esta estratégia possibilita a obtenção dados de qualidade para algumas relações e conjuntos de dados (Hoffmann et al., 2010). Contudo, trabalhos como Riedel et al. (2010) (ou alguns testes levados a cabo no capítulo anterior, veja-se a Secção 5.5) indicaram que a supervisão-distante pode produzir grande quantidade de ruído se a base de conhecimento (da qual se obtêm os pares) e o corpus (de onde se extraem as orações) não pertencem ao mesmo —ou similar— domínio. Para evitar este ruído, na construção dos corpora utilizados neste capítulo foram aplicados um conjunto de filtros e restrições, escolhendo unicamente os nomes de profissões mais comuns e só os nomes de pessoas e localizações que coincidissem exactamente com os dos pares extraídos. Finalmente, as orações classificadas mediante supervisão-distante foram corrigidas posteriormente de modo manual, sendo portanto o treino dos classificadores supervisionado. É preciso referir que a aplicação deste método para línguas diferentes do inglês não é sempre possível, uma vez que os atributos de muitas relações são específicos para cada idioma, e as principais bases de conhecimento são desenhadas para o inglês.1 Assim, os pares que não dependem da língua (aqueles que contêm datas) foram obtidos de Freebase e da DBpedia em inglês. Os outros conjuntos de pares (dependentes de língua) 1A modo de exemplo, na altura da criação destes corpora, a DBpedia para inglês continha 433.042 exemplos de DatadeNascimento, enquanto as versões para português e espanhol tinham 47.460 e 1.243, respectivamente. 82 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados obtiveram-se das infoboxes da Wikipedia em português e espanhol (e das incipientes versões da DBpedia nestas línguas). Foram empregados os seguintes conjuntos de pares: –DatadeNascimento eDatadeMorte: 460.703 pares (independentes da língua) –LocaldeNascimento: 45.588 (pt) e 8.952 (es) –LocaldeMorte: 11.664 (pt) e 1.319 (es) Para a relação Profissão, só foram utilizados os nomes de profissões mais comuns (aqueles com mais de 20 ocorrências na lista de pares semente), para minimizar a extracção de ruído. Assim, empregaram-se 68 profissões para português, e 96 para espanhol. Os corpora utilizados para a extracção de orações foram os seguintes: as versões em português e espanhol da Wikipedia (de 700mb e 1,6gb respectivamente) e 1gb (pt) e 225mb (es) de textos jornalísticos (do jornal Público em português e El País em espanhol). A extracção final teve rácios Wikipedia/jornal de 90%/10% (pt) e 93%/7% (es). Os corpora obtidos foram analisados com as ferramentas descritas nos Capítulos 2 e 3, construindo-se uma estrutura linguística para cada oração (veja-se a Figura 5.1 na página 70). Só se seleccionaram orações cujas entidades coincidissem exactamente com as presentes nas listas de pares, e que tivessem sido classificadas pelos sistemas REM com a mesma classe (pessoa, localização, etc.), excepto as datas, que foram seleccionadas se, no mínimo, o ano era o mesmo do que nos pares classificados. A classificação automática (positiva ou negativa) das orações para as relações alvo foi corrigida manualmente, bem como a classificação de outras entidades que aparecessem nas orações. Finalmente, substituíram-se os elementos dos pares por X(PESSOA) e por Y(Y_Loc, Y_Dat ou Y_Pr para localizações, datas e profissões, respectivamente). Ambos os corpora têm anotação das cinco relações referidas: LocaldeNascimento, DatadeNascimento,LocaldeMorte,DatadeMorte, e Profissão. O tamanho é de 268.469 e 152.817 tokens em português e espanhol, respectivamente. A Tabela 6.1 mostra o número de pares etiquetados para cada relação e língua. Os pares positivos foram também utilizados como negativos para relações diferentes com entidades da mesma classe. Assim, orações como “PESSOA nasceu em LOCALIZAÇÃO” (positiva para LocaldeNascimento) utilizou-se como exemplo negativo para LocaldeMorte.2 2Excepto algumas excepções —não tidas em conta—, onde uma oração pode ser positiva e negativa para uma mesma relação: “PESSOA nasceu e faleceu em LOCALIZAÇÃO”. 6.2. Corpora 83 Relação Português Espanhol Pos. Neg. Pos. Neg. LocaldeNascimento 1.312 1.186 493 1.149 DatadeNascimento 552 510 419 662 LocaldeMorte 879 5.040 563 833 DatadeMorte 402 835 570 771 Profissão 1.277 740 1.595 715 Total 4.422 8.311 3.640 4.130 Tabela 6.1: Número de pares candidatos para cada relação e língua nos corpora anotados. Pos. são os pares positivos eNeg. os negativos para cada relação semântica. Propriedades linguísticas dos corpora Antes de extrair os atributos para treinar os classificadores, foi realizada uma análise pormenorizada dos padrões que contêm as relações alvo em ambos os corpora. Primeiro, criou-se um histograma do número de tokens que aparecem entre as duas entidades candidatas. Depois, obtiveram-se os padrões mais comuns para cada relação e língua. A Figura 6.1 contém um histograma que sintetiza o número de tokens intermédio (de 0 a 18) entre as entidades relacionadas em português e espanhol. Apesar de que a distância entre as entidades difere em cada relação (facto que mostrará a análise dos padrões mais frequentes), o histograma da Figura 6.1 evidencia que as relações semânticas ocorrem com maior frequência entre entidades próximas (com o melhor rácio entre entidades separadas por menos de 8 tokens, variando em função da língua e da relação). O número de pares negativos aumenta à medida que o tamanho da janela cresce, aparecendo cada vez menos pares positivos. A propósito dos padrões em que as relações biográficas ocorrem, a Tabela 6.2 inclui os dous melhores padrões por relação e língua, tendo em conta tanto a sua percentagem no conjunto de orações positivas como a sua precisão. Os padrões aparecem simplificados pela utilização de disjunções e pela omissão de alguns elementos opcionais. A taxonomia apresentada na Tabela 6.2 mostra que as relações alvo ocorrem frequentemente em padrões biográficos específicos de alta precisão, que contêm em parênteses factos biográficos sobre a pessoa mencionada previamente. Esta tabela também indica que algumas relações têm uma dependência forte desse tipo de padrões (os quais representam entre 36% e 49% dos pares positivos), enquanto outras ocorrem numa maior variedade de estruturas. 84 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Janela intermédia (em número de tokens) 0 5 10 15 20 Percentagem no corpus completo Pares positivos (espanhol) Pares negativos (espanhol) Pares positivos (português) Pares negativos (português) Figura 6.1: Histograma de pares positivos/negativos versus contexto intermédio em número de tokens. Os valores são a micro-average das cinco relações analisadas. Contudo, é preciso apontar que, com a excepção dos padrões de alta precisão já referidos, outras estruturas são muito ambíguas, e a sua utilização para identificar uma relação específica pode depender de elementos lexicais que ocorrem fora da janela intermédia. Estas análises mostram a importância da selecção adequada da janela intermédia, bem como dos atributos para representar os padrões. Note-se que os padrões que representam relações biográficas não se baseiam só em estruturas lexicais e sintácticas, mas também contêm uma grande variedade de sinais de pontuação que representam informação linguística relevante. 6.3. Atributos Com o fim de avaliar a efectividade do conhecimento linguístico para a extracção de relações, os atributos foram organizados em função da complexidade da análise, começando desde os mais simples. Esta secção apresenta e discute os diferentes atributos utilizados para treinar os classificadores. 6.3. Atributos 85 Líng. Rel. Padrão % Prec Pt DN X ( {NP ,|; NP ,|;} Y_Dat 30,4 96 X{(|,} nasceu|nascido {em NP ,} em {o}|a Y_Dat 13,4 97 LN X{,} nasceu|nascido {em a|o NP ,} em o Y_Loc 49,3 98 X{,} ({Dat , NP , em} Y_Loc 14,2 94 DM X ( {NP , NP ,} Dat {-|;|,} {NP ,} Y_Dat 20,7 100 X{,} morreu|faleceu em Y_Dat 2,5 100 LM X{,} ( NP , {NP ,} Dat {-|; Dat} Y_Loc 21,1 99 X{,} morreu|faleceu {em Dat} em {o|a} Y_Loc 2,2 100 Pr. Y_Pr {,} {de a NP} X27,1 99 X ,|é|foi {um|uma} Y_Pr 13,5 97 Es DN X ( {NP ,|; NP ,|}Y_Dat 45,8 94 X{(|,} nació|nacido {en NP} el Y_Dat 6,4 100 LN X{,} ({NP|Dat ,} Y_Loc 39,8 98 X nació|nacido {el Dat ,} en Y_Loc 9,3 100 DM X ( {NP , NP ,} Dat {-|;|, NP ,} Y_Dat 24,2 95 X falleció|murió {en NP} en Y_Dat 3,5 95 LM X{,} ( NP , {NP ,} DAT {-|;|, Dat ,} Y_Loc 34,0 100 X{,} falleció|murió {en Dat} en Y_Loc 1,2 100 Pr. Y_Pr {de NP ,} X36,0 99 X ,|es|fue {un|una} Y_Pr 5,2 96 Tabela 6.2: Melhores padrões (em função da precisão e da frequência de exemplos positivos) por língua e relação. Os elementos em parênteses rectos são —cada um deles— opcionais e as barras verticais representam disjunção. Por motivos de espaço, os padrões mostram-se simplificados, omitindo-se algumas flexões verbais e outros elementos opcionais. DN refere-se a DatadeNascimento;LN, LocaldeNascimento;DM,DatadeMorte;LM,LocaldeMorte ePr. aProfissão.%é a percentagem de cada padrão no conjunto de orações positivas de cada relação. Prec é a sua precisão no corpus. Restrições semânticas: Antes de apresentar os diferentes atributos, é necessário apontar que a selecção das entidades candidatas restringiu-se às classes semânticas específicas para cada relação. Assim, Xserá sempre um nome próprio de pessoa e Yserá data nas relações DatadeNascimento e DatadeMorte, localização em LocaldeNascimento eLocaldeMorte, e será um nome de profissão em Profissão. O impacto destas restrições será analisada através da avaliação de uma baseline que não utiliza esta classificação semântica. 86 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados 6.3.1. Atributos primários A primeira categoria de atributos não provém estritamente da análise linguística, mas inclui informação sobre a posição de XeYna oração. Os atributos primários consistem nas seguintes informações (o seu valor provém do exemplo mostrado na Figura 5.1, na página 70): – Posição absoluta de Xna oração: 0 – Posição absoluta de Yna oração: 8 – Direcção da relação: X_Y (1) ou Y_X (2): 1 – Distância (em número de tokens) entre as duas entidades: 7 Apesar de que estes atributos não representam directamente a relação semântica, são amplamente utilizados na literatura, e testes preliminares mostraram que a sua utilização é positiva em combinação com outros atributos de carácter linguístico (definidos a seguir), os quais não incluem informação explícita sobre a posição das entidades. Assim, estes atributos —não utilizados nos testes do Capítulo 5— serão combinados com outras categorias que incluem conhecimento lexical, morfossintáctico, pseudo-sintáctico ou sintáctico. 6.3.2. Lexicais Estes atributos utilizam elementos lexicais presentes na estrutura linguística. Foram avaliados dous tipos: –Tok: incluem os tokens que ocorrem entre as duas entidades e alguns dos contextos anterior e posterior (definidos mais abaixo) –Lem: igual que Tok, mas utilizando os lemas Os tokens são atributos comuns utilizados para caracterizar estruturas linguísticas que contêm relações semânticas. A sua utilização como sacos de palavras adiciona informação lexical importante. Veja-se um exemplo dos atributos Tok extraídos do mesmo exemplo: Oração:X(nascida em 10 de Junho de 1961) é uma Y_Pr americana Tok:<(>,<nascida>,<em> <DATA>,<)>,<é>,<uma>,<americana> 6.3. Atributos 87 É importante referir que os atributos Tok eLem não são simples sacos de palavras.Tok e Lem incluem a identificação das fronteiras de entidades complexas (como nomes próprios: por exemplo Kimberley_Deal) e expressões temporais (10 de Junho de 1961), devido à aplicação de diferentes módulos de reconhecimento de entidades mencionadas. Em línguas com alto grau de flexão como o português ou o espanhol, a utilização de tokens pode provocar dispersão de dados. Tenha-se em conta, por exemplo, que nestas línguas cada verbo contém umas 50 formas diferentes. Um modo de generalizar estes atributos é a utilização de lemas, com os quais o exemplo anterior seria representado da seguinte maneira: Lem:<(>,<nascer>,<DATA>,<)>,<ser>,<um>,<americano> Repare-se que estes atributos também serão extraídos de orações similares, como “X(nascido em 1948) foi um Yamericano”. Assim, o uso de Lem reduz a dispersão de dados, apesar de perder alguma informação morfológica presente na flexão nominal e nas formas verbais. O emprego da estratégia de sacos de palavras (contendo tokens, lemas e outros atributos) para representar os padrões implica a definição de dous patamares. Primeiro, os contextos anterior e posterior de XeY, com o fim de caracterizar as relações definidas fora da janela intermédia: “A cidade de nascimento de XéY_Loc”. Se o classificador só utiliza os elementos intermédios, este tipo de relações não poderão ser extraídas. Porém, se estes contextos forem muito amplos, o classificador poderá ser treinado com ruído e elementos irrelevantes. Segundo, o tamanho da janela intermédia (entre XeY) também deve ser definida. Se esta for muito pequena (4, 5, 6 tokens) o número de atributos e a complexidade dos padrões reduz-se, mas o classificador terá baixa abrangência, já que muitas orações vão ser excluídas (como mostrou a Secção 6.2). O aumento do tamanho da janela incrementará a abrangência do sistema, aumentando também o número de atributos. Estas janelas serão definidas empiricamente na Secção 6.4.1. 6.3.3. Morfossintácticos O conjunto de atributos pode ser ampliado incluindo informação morfossintáctica, por exemplo PoS-tags. Estas etiquetas podem ser adicionadas aos classificadores de duas maneiras: (i) enriquecendo os atributos baseados em lemas (Lem_PoS, como foi mostrado na Secção 5.3) ou adicionando um novo nível de abstracção linguística (PoS), que representaria uma estrutura linguística através das categorias morfossintácticas em vez das unidades lexi- 88 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados cais. Assim, incluindo estes atributos no classificador poderia melhorar-se o reconhecimento de padrões linguísticos. Os PoS-tags obtidos da oração de exemplo seriam os seguintes: Oração:X(nascida em 10 de Junho de 1961) é uma Y_Pr americana Lem_PoS:<Fa>,<nascer_VB>,<em_PS> <DATA>,<Fc>,<ser_VB>,<um_DT>, <americano_AD> PoS:<Fa>,<VB>,<PS> <DATA>,<Fc>,<VB>,<DT>,<AD> 6.3.4. Pseudo-sintácticos A análise sintáctica fornece informação sobre a função dos diferentes elementos da estrutura linguística, mas a utilização de analisadores automáticos pode trazer problemas como um elevado custo computacional ou a geração de ruído. Para além disso, línguas diferentes do inglês (como as analisadas nesta tese) podem não ter parsers disponíveis. Tendo em conta estas assunções, é interessante avaliar alguns atributos que, de algum modo, representem informação pseudo-sintáctica mediante a codificação da posição de diferentes elementos numa oração. Assim, nos testes também foram utilizadas sequências dous lemas adjacentes (Bigramas de lemas) e de três (Trigramas): Oração:X(nascida em 10 de Junho de 1961) é uma Y_Pr americana Bigramas:<X_(>,<(_nascer>,<nascer_em>,<em_DATA>,<DATA_)>,<)_ser>, <ser_um>,<um_Y>,<Y_americano> Trigramas:<X_(_nascer>,<(_nascer_em>,<nascer_em_DATA>,<em_DATA_)>, <DATA_)_ser>,<)_ser_um>,<ser_um_Y>,<um_Y_americano> Outros atributos de carácter pseudo-sintáctico também foram avaliados, como padrões léxico-sintácticos intermédios e longos (utilizados no Capítulo 5). Contudo, várias avaliações provaram que não eram úteis em nenhum dos classificadores supervisionados para português e espanhol, dada a dispersão de dados nos corpora e a abordagem de classificação utilizada aqui. A principal razão da diferença de desempenho em relação aos testes do capítulo anterior deriva da estratégia de construção dos classificadores: enquanto no capítulo anterior os atributos de cada uma das instâncias eram os diferentes padrões em que um par ocorria, agora os atributos são extraídos unicamente da oração a classificar. Assim, é compreensível que um conjunto de padrões permita classificar um par com maior precisão do que um único padrão. 6.3. Atributos 89 6.3.5. Sintácticos Finalmente, o último conjunto de atributos codifica directamente a informação sintáctica. Este tipo de informação foi utilizada nos últimos anos por vários trabalhos, utilizando parsers para extrair as estruturas sintácticas que contêm relações semânticas. A sintaxe codifica, num nível linguístico profundo, a função de cada elemento numa oração. Assim, as mesmas funções sintácticas podem ser extraídas de orações com estruturas de superfície muito diferentes. Os seguintes exemplos partilham a mesma estrutura sintáctica, apesar de a sua forma diferir notoriamente: Exemplo 1:X(nascida em 10 de Junho de 1961) é uma Y(cantora) americana Exemplo 2: Muitos jornalistas musicais disseram que Xfoi provavelmente a melhor Y(cantora) da América Repare-se que nas orações anteriores, Xé o sujeito do verbo ser, enquanto Y(cantora) é o atributo (sintáctico) do mesmo verbo. Para representar esta informação como atributos, foram avaliadas três estratégias: –Deps: dependências sintácticas individuais –SDPs: caminho de dependências mais curto (entre XeY) –Pths: caminho de dependências completo As dependências sintácticas (já utilizadas na Secção 5.3) são triplos que representam ligações entre dous elementos linguísticos relacionados (núcleo e dependente) através de uma etiqueta sintáctica. A primeira parte das dependências define a função sintáctica, sendo o núcleo e o dependente a segunda e a terceira, respectivamente. Oração:X(nascida em 10 de Junho de 1961) é uma Y_Pr americana Deps:<subj;ser;X>,<punct;nascer;Fa>,<adjn;X;nascer>,<cprep;nascer;em>, <term;em;DATA>,<punct;nascer;Fc>,<spec;Y;um>,<attr;ser;Y>, <modif;Y;americano> Deste ponto de vista, as dependências são atributos similares aos bigramas de lemas, mas construídos através de (e fornecendo) informação sintáctica. Note-se que no exemplo anterior, 96 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados Rel Modelo B1 B2 Lx1 Lx2 Ms2 BiG TrG Dep Pth SDP BD P63.2 82.0 96.3 97.0 86.2 92.4 85.3 58.8 100 83.3 R25.8 89.8 93.4 95.2 86.2 94.0 97.0 70.1 1.8 12.0 F36.6 85.7 94.8 96.1 86.2 93.2 90.8 63.9 3.5 20.9 BP P74.5 90.0 90.8 94.6 88.4 91.8 85.9 86.1 43.1 100 R38.8 82.7 90.8 89.8 85.7 90.8 86.7 75.5 95.9 32.7 F51.0 86.2 90.8 92.2 87.1 91.3 86.3 80.4 59.5 49.2 DD P100 86.2 91.8 90.0 83.0 91.4 93.8 64.3 66.7 100 R9.4 79.0 84.1 83.7 77.6 84.6 77.1 55.6 0.9 10.4 F17.1 82.4 87.8 86.7 80.2 87.9 84.6 59.7 1.8 18.6 DP P0 93.1 95.7 98.0 97.4 97.5 96.0 90.4 100 92.9 R0 88.7 93.9 93.0 87.8 92.5 89.2 92.5 2.8 6.1 F0 90.9 94.8 95.4 92.4 94.9 92.5 91.4 5.5 11.5 Pr P87.9 90.4 93.1 93.5 93.9 91.5 89.7 87.4 75.3 84.5 R70.6 92.3 93.1 92.3 92.3 97.3 97.9 96.3 99.5 78.4 F78.3 91.3 93.1 92.9 93.1 94.3 93.6 91.6 85.7 81.3 Ma P65.1 88.3 93.5 94.6 89.8 92.9 90.1 77.4 77.0 92.1 R28.9 86.5 91.1 90.8 85.9 91.8 89.6 78.0 40.2 27.9 F36.6 87.3 92.3 92.6 87.8 92.3 89.5 77.4 31.2 36.3 Mi P84.6 89.0 93.5 94.2 91.3 92.5 90.2 80.5 68.8 85.9 R49.0 88.5 91.6 91.2 87.9 93.5 92.1 84.1 55.0 43.6 F62.1 88.7 92.6 92.6 89.6 93.0 91.2 82.3 61.1 57.9 Tabela 6.4: Precisão, recall e medida F por relação e modelo em espanhol. As abreviaturas estão expandidas na nota de rodapé 4. datos com formas verbais menos frequentes (como por exemplo o particípio feminino plural “nacidas” em espanhol). Os modelos Ms2 foram construídos com um nível maior de generalização, ao substituir a informação lexical dos padrões pela sua representação morfossintáctica. De novo, os padrões biográficos (que contêm muitos signos de pontuação) são relativamente bem cobertos pelos atributos PoS, mas a remoção da informação lexical implica uma descida geral no desempenho destas classificadores (de ≈3%), excepto em Profissão, onde representar os adjectivos (e outras classes de palavras pouco relevantes para a definição da relação) através da sua categoria morfossintáctica simplifica o conjunto de atributos dos classificadores. 6.4. Testes e avaliação 97 Estes testes confirmam a validade dos atributos baseados em lemas (Lem) para a representação das unidades lexicais. As seguintes avaliações medem a efectividade dos modelos baseados em atributos pseudo-sintácticos. Nível pseudo-sintáctico Foram criados dous modelos diferentes utilizando informação pseudo-sintáctica: BiG, com bigramas de lemas, e TrG, com trigramas de lemas. Apesar de que os resultados mostram variação entre as diferentes relações e línguas, em geral os bigramas de lemas têm um melhor comportamento do que os trigramas. Em português, os trigramas funcionaram melhor em LocaldeNascimento, devido à grande quantidade de padrões nos quais as entidades alvo podem ser cobertas por um único atributo <X_(_Y_Loc>. De modo similar, os resultados de Profissão tiveram menos variação, uma vez que os padrões desta relação são frequentemente bem representados tanto por bigramas como por trigramas de lemas. Porém, os melhores modelos pseudo-sintácticos não melhoram nitidamente os classificadores Lx2, cujos resultados são ligeiramente melhores em quase todas as relações em português. Contudo, os valores (micro-average) de BiG em espanhol são superiores aos de Lx2, porque a melhora dos classificadores BiG só acontece em Profissão eDatadeMorte. Neste caso, unicamente as melhoras de BiG para Profissão foram estatisticamente significantes. Nível sintáctico Por último, foram comparadas três estratégias diferentes para avaliar a efectividade da análise sintáctica na extracção de relações semânticas: modelos Dep, que contêm dependências sintácticas como os atributos principais; Pth, com caminhos completos de dependências, eSDP, cujos classificadores se construíram com os caminhos de dependências mais curtos entre as duas entidades. As três últimas colunas das Tabelas 6.3 e 6.4 contêm os resultados dos modelos construídos com informação sintáctica. Lembre-se que nalguns padrões os caminhos de dependências (tanto o mais curto como o completo) não foram extraídos. Este facto foi provocado por duas razões principais: (i) falta de pontuação nalgumas orações —o que implicou erros no parsing— e (ii) abrangência dos analisadores, que não conseguiram estabelecer algumas de- 98 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados pendências entre as entidades. Assim, 40% (pt) e 54% (es) dos dados não têm atributos Pths, enquanto o SDP não foi extraído de 54% (pt) e 63% (es) dos corpora. Portanto, os valores de recall destes classificadores são notoriamente baixos (excepto em Profissão eDatadeNascimento em português, cujos padrões foram melhor analisados pelos parsers). Em geral, as dependências individuais não têm valores altos de precisão, salvo quando contêm conhecimento não ambíguo (por exemplo, <subj;nascer;X>e<em;nascer;Y>) pelo que os resultados médios são piores do que os modelos B2 eBiG. Os classificadores Pth eSDP dependem nitidamente da abrangência dos analisadores e da tipologia dos padrões. Os valores de precisão destes modelos superam Lx2 eBiG nalgumas relações (com resultados de precisão de 100% nalguns testes). Contudo, outros padrões que contêm Pths eSDP ambíguos (ou que não têm estes atributos) provocaram desempenhos mais baixos. Entre estes dous modelos, SDP parece ter melhor precisão do que Pth, apesar de que ambos apresentam problemas de recall (até em orações cujos atributos Pths eSDPs foram bem extraídos). Da realização deste teste podemos inferir que a utilização isolada de atributos baseados em análise sintáctica não é adequada para a construção de sistemas de extracção de relações (tendo em conta a precisão e a abrangência dos analisadores). Contudo, a alta precisão de alguns modelos Pth eSDP sugere que esta informação pode ser positiva em combinação com outros atributos baseados em análises lexicais e/ou pseudo-sintácticas. 6.4.3. Combinações de atributos Para optimizar as combinações de atributos em termos de desempenho e de eficiência, elementos diferentes de cada nível linguístico (lexical, pseudo-sintáctico e sintáctico) foram combinados com o fim de identificar atributos com informação redundante e de construir os melhores classificadores. Primeiro, os melhores atributos lexicais (Lem) e pseudo-sintácticos (Bigramas) foram combinados para treinar modelos L/B. A seguir, Lem também foram utilizados para criar classificadores com atributos Pths (L/P).7Finalmente, combinaram-se três níveis diferentes 7Pths eSDPs tiveram um comportamento muito similar nos testes individuais, mas os primeiros produziram resultados ligeiramente melhores nos modelos combinados (≈0,3% melhor do que SDPs). 6.4. Testes e avaliação 99 Relação Modelo Português Espanhol L/B L/P L/B/S L/B L/P L/B/S DatadeNascimento Precisão 92.2 93.4 91.4 97.0 97.6 97.0 Recall 97.1 95.7 97.1 95.8 95.2 95.8 F1 94.6 94.5 94.2 96.4 96.4 96.4 LocaldeNascimento Precisão 96.1 95.0 95.8 95.7 95.8 94.6 Recall 94.9 96.1 96.1 90.8 91.8 89.8 F1 95.5 95.5 95.9 93.2 93.8 92.2 DatadeMorte Precisão 81.5 86.8 82.8 91.5 89.7 92.0 Recall 84.8 81.4 82.8 85.1 85.1 86.5 F1 83.1 84.0 82.8 88.1 87.3 89.2 LocaldeMorte Precisão 97.3 96.4 96.6 97.6 96.6 97.6 Recall 87.0 88.5 86.7 93.9 93.0 93.4 F1 91.9 92.3 91.4 95.7 94.7 95.4 Profissão Precisão 88.4 89.7 90.8 94.5 93.1 94.4 Recall 93.6 92.1 93.4 94.8 93.1 95.3 F1 91.0 90.9 92.1 94.7 93.1 94.9 Macro-average Precisão 91.1 92.3 91.5 95.2 94.5 95.1 Recall 91.5 90.8 91.2 92.1 91.6 92.2 F1 91.2 91.5 91.3 93.6 93.0 93.6 Micro-average Precisão 91.5 92.5 92.2 94.9 93.9 94.9 Recall 91.0 91.4 91.8 92.9 91.9 93.2 F1 91.7 91.9 92.0 93.9 92.9 94.0 Tabela 6.5: Precisão, recall e medida F por relação, língua e modelo. Os classificadores combinam atributos de diferentes níveis de análise linguística: L, lexical (Lem); B, pseudo-sintáctica (Bigramas); PeS, sintáctica (Pths eSDPs, respectivamente). de análise linguística nos classificadores L/B/S, utilizando a melhor combinação possível dos atributos fornecidos por estas análises: Lem,Bigramas eSDPs. A Tabela 6.5 contém os resultados destas três combinações para cada relação e língua, para além dos valores médios. O primeiro modelo (L/B), que combina atributos baseados em análises lexicais e pseudosintácticas, teve resultados estatisticamente melhores do que os mesmos atributos utilizados individualmente. Os classificadores para português melhoraram 0,6% e 0,8% os modelos Lx2 eBiG, respectivamente. Em espanhol, a melhora foi de 1,27% e 0,8%. Para além disso, esta combinação melhorou tanto em precisão como em recall todos os classificadores (com uma única excepção: LocaldeMorte em português). 100 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados Assim, os atributos lexicais e pseudo-sintácticos, apesar de construídos com a mesma informação de base (lemas), são adequados para serem combinados em classificadores estatísticos, sem necessidade de utilizar ferramentas de maior custo computacional como os parsers. A seguinte combinação de atributos (L/P) foi realizada utilizando conhecimento lexical (Lem) e sintáctico (Pths). Em português, o caminho de dependências completo ajudou a superar o desempenho dos modelos Lx2 em todas as relações (com uma melhora de ≈0,4% nos valores micro-average da medida F). Estes modelos também tiveram melhor desempenho (embora só 0,2%) do que as combinações anteriores (L/B). Em espanhol, a utilização de informação sintáctica junto com atributos baseados em lemas causou ligeiras melhoras (0,2%) nos classificadores, quando comparados com o uso isolado de lemas. Contudo, os resultados destas combinações não superam os modelos de bigramas de lemas (BiG eL/B). É preciso lembrar, contudo, que o parser de português extraiu mais atributos Pths eSDPs do que o espanhol, como foi referido na Secção 6.4.2. Finalmente, a terceira combinação (L/B/S) analisou o uso dos atributos Tok,Bigramas e SDPs nos mesmos classificadores. Em português, esta última combinação tem melhor desempenho do que os modelos L/B (≈0,3%) e L/P (0,07%), especialmente naquelas relações onde SDP tinha atingido bons resultados (>75% de medida F): LocaldeNascimento eProfissão. Contudo, os classificadores L/B/S não melhoram o desempenho dos modelos anteriores para DatadeMorte eLocaldeMorte, obtendo de facto piores resultados (micro-average) do que os modelos L/B eL/P. Em espanhol, a adição de atributos sintácticos não causou melhoras notórias nos classificadores, embora os resultados médios são significativamente melhores do que aqueles obtidos pelos sistemas criados com um único tipo de atributos. Em suma, este último conjunto de testes demonstrou que a combinação de diferentes atributos que não produzem redundância de informação melhora o desempenho geral dos classificadores. Isto significa que atributos complementares permitem construir melhores classificadores. Tendo em conta que para línguas como o português ou o espanhol as ferramentas de análise sintáctica não são abundantes, pode ser interessante avaliar este tipo de atributos com analisadores mais maduros. 6.4. Testes e avaliação 101 100 200 300 400 500 600 Número de orações de treino 70 80 90 100 Medida F Português Espanhol Figura 6.5: Medida F (micro-average) de cinco classificadores para português e espanhol versus dados de treino (de 25 a 637 orações). O teste foi realizado em 200 exemplos aleatórios. 6.4.4. Curva de aprendizagem A propósito da quantidade de dados de treino necessários para criar os classificadores, a Figura 6.5 mostra a curva de aprendizagem (valores micro-average) dos classificadores L/B/S em português e espanhol. Os testes foram realizados utilizando conjuntos aleatórios de 25, 50, 75, 100, 200, 300, 400, 500, 600 e 637 orações de treino.8As curvas indicam que os classificadores têm picos de desempenho com perto de 500 orações, obtendo melhoras muito pequenas ao utilizar mais dados de aprendizagem. Contudo, outros testes com relações para as quais existem mais dados (LocaldeNascimento eProfissão) sugerem que os classificadores começam a produzir um sobre-ajuste com perto de 1.400 orações, momento em que a medida F não melhora (ou até piora, nalgum caso). Por último, na Figura 6.5 também se pode observar como a curva de aprendizagem segue tendências similares em cada língua. 6.4.5. Análise de erros Com o objectivo de conhecer as principais fontes de erros produzidas pelos classificadores, foi realizada uma análise pormenorizada dos falsos positivos e negativos dos resultados 8637 porque é o número de orações de treino da relação com menos dados, DatadeNascimento (pt). 102 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados de L/B/S, tendo em conta todos os erros de todas as relações em português e em espanhol. Os erros foram classificados de acordo com a sua tipologia. Para além disso, calculou-se a percentagem (micro-average) de cada tipo de erro nas duas línguas: Ambiguidade e erros dos parsers (≈43%) Este tipo de erros ocorreu quando a informação codificada pelos atributos lexicais e/ou pseudo-sintácticos não foi suficiente para representar a relação entre as duas entidades, e o caminho de dependências mais curto (que poderia desambiguar o padrão) não foi extraído ou é incorrecto. A seguinte oração (falso positivo para LocaldeNascimento) exemplifica esta categoria de erros: Oração: [...] filho de PESSOA e de Xnasceu no Y_Loc [...] Padrão: [PESSOA e de]anterior Xnascer em o Y_Loc [...]posterior Padrões sem informação explícita (≈25%) Outra classe compõe-se de erros que ocorreram quando o padrão (ou até a oração inteira) não continha informação explícita sobre a relação alvo, o que produziu um falso negativo. O seguinte exemplo mostra um padrão onde a relação DatadeNascimento entre XeY_Dat não é explícita, e a informação lexical principal encontra-se fora do escopo dos atributos extraídos: Oração: Teve sete filhos: PESSOA em DATA, PESSOA em DATA,Xem Y_Dat [...] Padrão: [em DATA ,]anterior Xem Y_Dat [...]posterior Padrões pouco frequentes (≈15%) Outros pares positivos foram classificados erroneamente (falsos negativos) quando apareceram em padrões pouco frequentes (com menos de dous exemplos no corpus de treino). Alguns destes casos podem ser classificados correctamente se contêm atributos relevantes (como o caminho de dependências), mas de modo geral produziram falsos negativos: Oração: [...] X, que era apenas um homem da zona rural de Y_Loc [...] Padrão:X, que ser apenas um homem de a zona rural de Y_Loc 6.4. Testes e avaliação 103 Caminho de dependências mais curto ambíguo (≈14%) Como foi mostrado durante a avaliação, os atributos baseados no caminho de dependências mais curto têm alta precisão. Contudo, podem afectar negativamente se forem ambíguos em exemplos positivos e negativos. O seguinte par de orações contém, respectivamente, um falso negativo e um verdadeiro positivo para Profissão em espanhol, representados pelo mesmo SDP: Oração 1:XyunY_Pr fueron dos de los homenajeados [...] Oração 2:X, poeta y Y_Pr, recibió el patrocinio de [...] SDPs:<coord;y;X//coord;y;Y_Pr> Neste tipo de cenário, os modelos L/B/S classificaram as duas orações como positivas para Profissão. Para alem disso, os SDPs extraídos de orações biográficas —que normalmente contêm dependências não lexicais entre entidades e a pontuação circundante— não têm alta precisão, uma vez que aparecem indistintamente tanto em padrões positivos como negativos. Outros erros (≈3%) Finalmente, outros erros com diferentes origens foram causados por (i) problemas de lematização e (ii) erros no reconhecimento de entidades mencionadas. Um dos poucos exemplos de erros produzidos pela lematização inclui o particípio “morto”, incorrectamente lematizado como “matar” (em vez de “morrer”). Neste caso, um par de LocaldeMorte como o seguinte foi classificado como negativo para essa relação: Oração:X, morto em Y_Loc [...] Padrão:X, matar em Y_Loc Outros erros menos frequentes dependeram da ferramenta REM, que pode classificar como nome comum um nome de pessoa, ou vice-versa. No seguinte exemplo, “Belén” (localização) foi incorrectamente classificada como nome comum, pelo que não foi uma entidade candidata para a relação LocaldeMorte: “X(LOCALIZAÇÃO, DATA - Belén, DATA)”. 104 Capítulo 6. Extracção de Relações mediante Classificadores Supervisionados 6.4.6. Discussão Esta secção discute brevemente os resultados dos testes realizados, tendo em conta tanto as hipóteses formuladas durante a apresentação dos atributos (Secção 6.3) como os trabalhos relacionados analisados no Capítulo 4. Primeiro, é preciso referir que a filtragem dos pares candidatos pela sua classe semântica permite que os sistemas melhorem em medida F em mais de 25% (micro-average), aumentando tanto a precisão como o recall. Contudo, à diferença de outros trabalhos (Kambhatla, 2004; Zhou et al., 2005), a classificação semântica de outros nomes próprios que co-ocorrem nos mesmos padrões não contribuiu para um melhor desempenho. Para além disso, a utilização de vários subespaços para a representação dos diferentes contextos melhorou o funcionamento de todos os classificadores. É importante notar que, depois de as entidades candidatas serem correctamente reconhecidas por um sistema REM, classificadores simples (que contêm só atributos Primários e lexicais) são suficientes para atingir bons valores de precisão e recall (sobre 91% e 92% em português e espanhol, respectivamente). Assim, pode inferir-se que (i) é factível construir ontologias de nomes próprios de alta qualidade com pouco esforço manual e que (ii) abordagens que utilizam classificadores supervisionados são úteis para a tarefa de extracção de relações de domínio biográfico. Em relação à efectividade dos atributos, os primeiros testes mostraram que a generalização das unidades lexicais através da lematização (Lem) melhora o desempenho dos classificadores. Este facto está em concordância com os testes realizados por Agichtein (2005), que decidiu utilizar palavras (tokens) e stems (raízes). O uso de etiquetas morfossintácticas, contudo, não produziu nenhuma melhora nos testes realizados (salvo nalguns padrões cuja dependência da informação lexical é mínima, como “Y_Pr X” (já utilizados em Mann (2002)). A respeito dos atributos pseudo-sintácticos, os testes realizados neste capítulo mostraram que os bigramas de lemas foram aqueles que melhores representaram este nível de análise. Os trigramas de lemas também tiveram bom desempenho em contextos nos quais as entidades estão próximas, mas dependem de outros atributos para representar melhor as relações. Para além disso, os padrões léxico-sintácticos tiveram um impacto baixo nos classificadores, à diferença da estratégia apresentada no Capítulo 5. Apesar de que a análise sintáctica pode ser computacionalmente custosa e menos precisa do que outras tarefas de PLN (lematização, REM), fornece informação útil. Assim, e embora os atributos sintácticos não funcionassem bem individualmente, a sua combinação com in- 6.4. Testes e avaliação 105 formação lexical e pseudo-sintáctica permitiu que melhorasse o desempenho dos sistemas de classificação. Contudo, é importante referir que alguns dos caminhos de dependências mais curtos podem ser uma fonte de erros se representarem entidades ligadas por pontuação e/ou coordenação, e não por unidades lexicais. Os testes realizados com várias combinações de atributos indicaram que a utilização de informação complementar, obtida de diferentes níveis de representação linguística, permite construir melhores classificadores com menos informação redundante. A este respeito, as melhores combinações (tanto para português como para espanhol), foram aquelas baseadas em lemas, bigramas de lemas e SDPs. Para além disso, os testes realizados também mostraram que usando unicamente dados lexicais (Lem) e pseudo-sintácticos (Bigramas) é possível construir classificadores de alta precisão sem necessidade de aplicar análise sintáctica. Em relação a isto, é importante lembrar que os parsers utilizados neste trabalho —mas também outros analisadores estado-da-arte treinados com corpora livres— não produziram árvores de dependências completos em quase a metade dos dados, pelo que os resultados só podem ser considerados como preliminares. Assim, o conhecimento fornecido pelos atributos sintácticos não adicionou sempre nova informação aos modelos, uma vez que alguns caminhos de dependências são similares aos bigramas de lemas. Portanto, alguns dos resultados do presente capítulo são similares aos apresentados em Jijkoun et al. (2004) e Jiang e Zhai (2007), trabalhos que concluíram que atributos mais complexos poderiam piorar o desempenho dos classificadores (ou melhorar o recall descendo a precisão). Contudo, a informação sintáctica tem sido apontada como útil em trabalhos prévios de extracção de relações (Kambhatla, 2004; Zhou et al., 2005; Mintz et al., 2009). Por conseguinte, seria interessante analisar o desempenho dos atributos sintácticos com parsers e corpora diferentes. Do dito até aqui podem extrair-se várias conclusões úteis para melhorar a extracção de entidades relacionadas semanticamente: primeiro, uma análise prévia dos padrões nos quais ocorrem as relações alvo pode ser útil para adaptar os atributos (e a sua representação) durante o desenho dos classificadores. A este respeito, trabalhos como Garera e Yarowsky (2009) introduziram diferentes estratégias desenhadas ad-hoc para a extracção de factos. Segundo, os erros de lematização podem ser evitados analisando aquelas unidades lexicais que são cruciais para as relações desejadas (por exemplo, os verbos “morrer” ou “nascer” para relações relacionadas com o nascimento ou a morte). 112 Capítulo 7. Extracção de Relações com Base em Regras Oração: “Nick Cave nasceu na cidade de Warracknabeal” Polaridade: Nick Cave LocaldeNascimento Warracknabeal,positivo Padrão:<Xnasceu_VB em_PS DT cidade_NC de_PS Y> Figura 7.1: Exemplo de uma oração, a polaridade dos termos relacionados e o padrão léxico-sintáctico. 7.4. Obtenção dos padrões e das regras Esta secção apresenta o método de extracção dos padrões léxico-sintácticos e a estratégia para gerar as regras genéricas. Obtenção dos padrões Seguindo a assunção de que muitos dos casos em que ocorre uma relação semântica são representados por padrões léxico-sintácticos similares, o propósito aqui é obter exemplos desses padrões e extrair deles as suas estruturas base (sem a informação adicional), para as transformar em regras semânticas. Para automatizar este processo, emprega-se a estratégia de supervisão-distante apresentada no Capítulo 5 (Secção 5.2). Este processo permite-nos obter orações anotadas automaticamente como a mostrada na Figura 7.1. O processo de obtenção de padrões é realizado sem revisão humana, pelo que são obtidos casos de falsos positivos efalsos negativos. Como foi mostrado na Secção 5.5, a qualidade da extracção pode variar em função da relação alvo e dos recursos utilizados (pares relacionados e corpora). A seguinte secção ilustra como uma selecção dos padrões de maior confidência permite evitar a obtenção de padrões de baixa precisão, minimizando assim o ruído produzido pela estratégia de supervisão-distante. Generalização de padrões O seguinte método é aplicado para a criação de padrões genéricos, que são transformados posteriormente em regras de extracção de alta precisão: 1. Primeiro, são seleccionados todos os padrões do tipo “X[...]Y” e escolhidos os mais precisos em função do seu valor de confidência. Este valor obtém-se da seguinte maneira: calcula-se a frequência positiva e negativa de cada padrão. Depois, a frequência negativa é restada da positiva, sendo os padrões ordenados pelo valor de confidência 7.4. Obtenção dos padrões e das regras 113 Padrões obtidos: <Xnascer_VB em_PS Y>, <Xnascer_VB em_PS a_DT cidade_NC de_PS Y>, <Xnascer_VB em_PS NP Fc Y>, <XFc nascer_VB em_PS Y>, <Xnascer_VB CC residir_VB em_PS Y>, [...] Padrão genérico: <Xnascer_VB em_PS Y> Regra: NP<tp:P>VB<l:nascer>[PS<l:em>]NP<tp:L> Tabela 7.1: Exemplo de generalização de padrões para a relação LocaldeNascimento em português. Mostramse alguns dos padrões obtidos, o padrão genérico e a regra de extracção. Na regra, “tp” significa tipo, (onde P = pessoa e L = localização), e “l”, lema. resultante. Finalmente, os npadrões com maior valor são seleccionados (n=20 nos testes). O mesmo processo é feito para os padrões “Y[...]X”. 2. Depois, é aplicado o algoritmo longest common string para a generalização dos padrões, sendo o longest common string de dous padrões a sua generalização. 3. Os padrões generalizados que não formam parte dos 20 padrões iniciais são descartados, pelo que o resultado é um pequeno conjunto de padrões de alta confidência (veja-se como exemplo a Tabela 7.1). 4. Os padrões genéricos obtidos são adicionados como blocos de regras a uma gramática, que já contém um conjunto de regras de dependências para compressão de orações. Nas novas regras, a entidade Xconsidera-se o núcleo e Yo dependente. Este último processo é realizado manualmente, permitindo verificar se o processo automático gerou alguma regra incorrecta. 5. Finalmente, a gramática é compilada num parser, o qual se aplica num corpus para obter os triplos “Xrelação Y”. A Tabela 7.1 mostra um exemplo do processo de generalização de padrões, incluindo os melhores padrões extraídos, o seu padrão genérico e a regra de extracção. A aplicação do algoritmo longest common string sobre os melhores padrões permite obter um conjunto pequeno de regras de alta qualidade de modo pouco supervisionado. As regras, adicionadas no fim de uma gramática de análise parcial, extraem pares pertencentes à relação desejada. Note-se que as regras incluem também informação semântica, que será obtida no processo de extracção através dos sistemas REM apresentados no Capítulo 3. 114 Capítulo 7. Extracção de Relações com Base em Regras 7.5. Testes e avaliação Para avaliar a estratégia proposta, foram realizados três tipos de testes: primeiro, comparouse o método de regras com duas baselines num corpus com exemplos da relação Profissão corrigidos manualmente, em espanhol. O sistema de regras foi avaliado de duas maneiras: (i) utilizando uma grande quantidade inicial de pares relacionados e (ii) com um pequeno conjunto de pares semente. Depois, foram executados dous parsers com regras de extracção para Profissão e LocaldeNascimento em português e espanhol, nas versões completas das respectivas Wikipedias. Finalmente, os parsers em português também foram aplicados num corpus jornalístico, para analisar o seu desempenho numa tipologia textual diferente.2 Para a realização dos testes foram extraídos ≈10.000 pares iniciais para cada relação e língua (português e espanhol) das infoboxes da Wikipedia. A seguir, identificaram-se perto de 20.000 orações com um nome de pessoa e (i) uma profissão (para a relação Profissão) ou (ii) uma localização (para LocaldeNascimento), classificadas automaticamente como positivas ou negativas mediante a estratégia de supervisão-distante. Finalmente, seleccionaramse aleatoriamente conjuntos de 2.000 orações para cada relação e língua, e um conjunto adicional de 200 para Profissão. Este último corpus foi utilizado para avaliar o desempenho do extractor com poucos dados de entrada. Para a avaliação num conjunto fechado (primeiro teste, em espanhol), foram seleccionadas aleatoriamente 1.000 orações (diferentes das dos corpora anteriores), cuja polaridade foi manualmente corrigida. Resultados O primeiro teste tem como objectivo comparar o desempenho do método baseado em regras com duas baselines (em espanhol): Baseline_1 selecciona todas as orações positivas (sem ocorrências negativas) do conjunto inicial de 2.000, e substitui os nomes próprios pelo seu PoS-tag. A seguir, faz pattern-matching desses padrões no conjunto de teste. Baseline_2 utiliza as selecções de 2.000 orações para treinar classificadores binários (empregando a mesma estratégia de classificação que no Capítulo 6), representando cada oração com os elementos 2A estratégia descrita neste capítulo não foi aplicada nos corpora apresentados no Capítulo 6 (Garcia e Gamallo, 2013) porque os presentes testes tinham sido realizados anteriormente (Garcia e Gamallo, 2011a,e). 7.5. Testes e avaliação 115 Número Regra 1NC<tp:Occ>NP<tp:P> 2NP<tp:P>VB<l:ser>[DT] NC<tp:Occ> 3NC<tp:Occ>CONJ<tp:S>NP<tp:P>Fc NP<tp:P> 4NC<tp:Occ>CONJ<tp:S>NP<tp:P> 5NC<tp:Occ>[Fc] NP<tp:P> 6NC<tp:Occ>N<tp:P>Fc NP<tp:P> 7NP<tp:P>Fc [AD] NC<tp:Occ> 8NP<tp:P>NC<tp:Occ> Tabela 7.2: Regras obtidas semiautomaticamente para a relação Profissão em espanhol. As regras 1 e 2 foram incorporadas ao sistema Regras_1, enquanto Regras_2 contém as 8 regras da tabela. NP<tp:P>em negrito é o nome de pessoa extraído, enquanto NC<tp:Occ>é o nome de profissão (podendo ser também uma estrutura coordenada de nomes de profissão: “o escritor, músico e cantor”). Os elementos em parênteses rectos são opcionais, pelo que algumas regras poderiam ser unificadas. Assim mesmo, no exemplo as regras omitem valores como género e número, que bloqueiam a extracção de pares sem concordância. Modelo Precisão Recall Medida F Baseline_1 100 5,80 10,10 Baseline_2 44,51 42,54 43,50 Regras_1 99,02 55,80 71,38 Regras_2 99,16 65,20 78,70 Tabela 7.3: Precisão, recall e medida F de duas baselines e dos dous modelos de regras na relação Profissão em espanhol. token_PoS-tag como atributos. Para criar os classificadores utilizou-se (como no Capítulo 5) a implementação do algoritmo SMO de WEKA. Para avaliar a estratégia de regras, foram construídos dous sistemas: o primeiro extraindo as regras do conjunto de 200 orações (Regras_1, com só duas regras de extracção), e o segundo utilizando as 2.000 orações (Regras_2, com oito regras). A Tabela 7.2 mostra as regras utilizadas por estes sistemas. O parser só extrai as 15 profissões mais comuns das infoboxes da Wikipedia, pelo que a avaliação só contém as extracções que incluam estes 15 nomes. A Tabela 7.3 mostra os resultados dos quatro sistemas descritos no corpus de teste. A Baseline_1 (pattern-matching) teve uma precisão de 100%, mas devido ao baixo valor de recall, a medida F é de só 10%. Pequenas variações nas estruturas linguísticas incrementam a sua dispersão, pelo que os padrões iniciais não coincidem com muitos dos encontrados no corpus de teste. A Baseline_2 teve um melhor desempenho, mas devido ao ruído no corpus de 116 Capítulo 7. Extracção de Relações com Base em Regras Língua Relação Precisão Pares Extraídos Espanhol Profissão 85,35 241.323 LocaldeNascimento 95,56 13.083 Português Profissão 93,86 17.281 LocaldeNascimento 90,34 5.762 Tabela 7.4: Precisão e número de pares únicos extraídos para cada relação nas Wikipedias espanhola e portuguesa. treino (não corrigido), produziu um grande número de falsos positivos. Este facto provocou que os valores de precisão não atingissem 45%. Os sistemas de regras tiveram um desempenho nitidamente superior às baselines propostas. Regras_1, com só duas regras genéricas, obteve 55% de recall, mantendo a alta precisão do modelo de pattern-matching. A utilização de mais dados permitiu obter 8 regras genéricas, pelo que o sistema Regras_2 aumentou o recall em mais de 10% sem diminuir a precisão. Uma vez que as orações utilizadas no teste tinham sido filtradas com uma pequena lista de nomes de profissão, foram realizadas novas extracções para conhecer o desempenho do sistema proposto em condições reais. Assim, o sistema Regras_2 foi executado para realizar extracções em toda a Wikipedia (em português e em espanhol). Foram incluídas 7 regras para Profissão no parser de português, e 4 regras para LocaldeNascimento em cada parser (português e espanhol). A informação semântica obtida mediante REM só foi utilizada nas regras para LocaldeNascimento que não incluíam verbos (p.e., nacer/nascer). Antes de avaliar a extracção em toda a Wikipedia, foram eliminados da saída dos extractores os tokens com menos de 3 caracteres ou com números. Os pares de Profissão foram filtrados com nomes de profissões presentes nas infoboxes de cada língua (250 em português e 500 em espanhol). Para avaliar a relação LocaldeNascimento utilizou-se a saída completa das regras genéricas. Em todos os casos, foram analisados 50 pares aleatórios e calculada a média aritmética da extracção. A Tabela 7.4 contém os resultados das duas extracções nas Wikipedias portuguesa e espanhola, com uma única execução para cada língua. É preciso referir que o tamanho de cada Wikipedia era de 3,2gb em espanhol e de 1,8 em português. Em espanhol foram extraídos mais de 241.000 pares únicos de Profissão, e mais de 13.000 casos diferentes de LocaldeNascimento. Os valores de precisão da primeira relação foram piores do que os obtidos nos testes anteriores (85% versus 99%). Contudo, uma análise mais profunda dos resultados mostra que muitos dos erros produzidos nesta extracção deveram-se a processos anteriores (nomeadamente à identificação de nomes próprios), pelo 7.6. Conclusões 117 Relação Precisão Pares Extraídos Profissão 84,54 41.669 LocaldeNascimento 84,67 11.842 Tabela 7.5: Precisão e número de pares únicos para cada relação da extracção no jornal português Público com o sistema Regras_2. que a precisão das regras é provavelmente maior. Os resultados de LocaldeNascimento tiveram uma precisão maior, embora o número de extracções foi muito menor do que na anterior relação (13.083 versus 241.323). Em português, o sistema extraiu mais de 17.000 e 5.700 pares únicos de Profissão e LocaldeNascimento respectivamente. Uma vez que as regras de extracção em espanhol e português foram muito similares, as diferenças entre as duas línguas podem dever-se a várias razões: por um lado, o tamanho da Wikipedia em espanhol, que é quase o dobro. Por outro lado, o número de nomes de profissão também era menor em português do que em espanhol. Contudo, as extracções em português tiveram uma alta precisão (90%−93%). Note-se que tanto LocaldeNascimento como Profissão são relações de carácter biográfico, pelo que é esperável que recursos enciclopédicos como a Wikipedia contenham muitos exemplos destas relações. Porém, uma vez que um dos objectivos do presente trabalho é extrair informação de diferentes fontes, foi aplicado o mesmo parser (Regras_2) para a extracção destas duas relações num corpus jornalístico (em 1,2gb do Público, jornal português de domínio geral). A Tabela 7.5 contém os resultados desta última extracção, cuja avaliação foi feita da mesma maneira que as realizadas na Wikipedia. O número de extracções é o dobro do que as realizadas na Wikipedia (cujo corpus tinha um tamanho similar). A precisão, contudo, foi entre 6% e 9% mais baixa, sendo de ≈84% para as duas relações. Mais uma vez, muitas das extracções incorrectas deveram-se a erros produzidos por módulos anteriores. 7.6. Conclusões Neste capítulo apresentou-se um novo método de extracção de relações baseada em regras obtidas de modo pouco supervisionado. Antes da aplicação das regras de extracção, utilizouse uma técnica de compressão de texto que usa análise parcial de dependências, simplificando as estruturas linguísticas e favorecendo um aumento na abrangência das regras de extracção. 118 Capítulo 7. Extracção de Relações com Base em Regras Para a obtenção das regras empregou-se uma estratégia de supervisão-distante. O ruído produzido por este processo foi minimizado ao seleccionarem-se só os padrões de maior confidência, posteriormente generalizados e adicionados como regras semânticas a uma gramática de dependências. Diferentes avaliações em português e em espanhol mostraram que o método mantém a alta precisão dos sistemas de pattern-matching, incrementando notoriamente os valores de recall. Assim, a estratégia utilizada permite criar de modo simples regras de extracção de alta qualidade, pelo que pode ser um método promissor para a construção rápida de sistemas de extracção de relações de domínio fechado. Parte III Resolução de Correferência e Extracção de Informação Aberta 119 CAPÍTULO 8 RESOLUÇÃO DE CORREFERÊNCIA DE ENTIDADES PESSOA PARA A EXTRACÇÃO DE INFORMAÇÃO ABERTA 8.1. Introdução Quando se produz um discurso, seja este oral ou escrito, diversos conceitos são normalmente expressos de diferentes maneiras sem que a referência à mesma entidade discursiva se perca. Assim, uma pessoa como “Ayrton Senna da Silva” pode ser referida, para além de pelo próprio nome (ou variantes como “Ayrton Senna” ou “Senna”), por um pronome pessoal (“Ele”), por uma frase nominal (“o piloto brasileiro”) ou por um pronome relativo (“que”), entre outras unidades linguísticas. Quando diferentes expressões (menções) referem à mesma entidade discursiva encontram-se numa relação de correferência (Recasens e Martí, 2010).1 Resolver a correferência entre as diferentes menções é uma tarefa crucial para diversas aplicações do processamento da linguagem natural, como a sumarização textual (Steinberger et al., 2007) ou a extracção de informação (Banko e Etzioni, 2008). Especificamente para a extracção de informação, as entidades pessoa (isto é, que referem a uma pessoa) foram aquelas a que foi dedicado um maior esforço desde diversas perspectivas. Avaliações como a Knowledge Base Population (da conferência TAC) ou a Person Attribute Extraction (da WePS), tarefas como a Personal Name Matching (Cohen et al., 2003), ou 1Neste trabalho, uma menção é cada uma das expressões que referem a uma pessoa, e uma entidade é o grupo de todas as menções que referem à mesma pessoa no texto (Recasens e Martí, 2010). 128 Capítulo 8. Resolução de Correferência de Entidades Pessoa para a OIE PN_StMatch (PN_St): nesta etapa, o sistema procura menções que partilhem o nome de pessoa completo, embora os seus núcleos sejam diferentes (ou se uma delas não tem núcleo). “O músico John Lennon” e “John Lennon” (caso que não está na Figura 8.1) seria um exemplo. PN_Inclusion (PN_I): aqui, o sistema verifica se o nome próprio completo (na entidade) da menção seleccionada inclui o nome próprio da menção candidata (também na entidade), ou vice-versa. No exemplo, a menção 5 liga-se à 2 neste passe. Repare-se que a menção 7 não se agrupa à menção 5, porque o nome próprio completo da entidade a que pertence a menção 5 é “John Winston Ono Lennon”, que não é compatível com “Alfred Lennon”. Além disso, a menção 13 não é seleccionada por este módulo porque não é a primeira menção da entidade da qual faz parte. PN_Tokens (PN_T): este módulo separa em tokens o nome próprio completo da entidade a que pertence a menção seleccionada, e verifica se o nome próprio completo (na entidade) da menção candidata contém todos os tokens na mesma ordem, ou vice-versa (excepto algumas palavras vazias, como “Sr.”, “Jr.”, etc.). Uma vez que o par “John Winston Ono Lennon – John Winston Lennon” é compatível, as menções 12 e 5 fusionam-se. HeadMatch (HM): nesta etapa, o sistema verifica se a menção seleccionada e a candidata partilham os núcleos (ou os núcleos das entidades a que pertencem). Na Figura 8.1, a menção 14 liga-se à menção 13. Orphan_NP (Orph): este último módulo de resolução de correferência nominal aplica regras baseadas em resolução pronominal a frases nominais órfãs. Assim, uma frase nominal finita é marcada como órfã se nesta etapa ainda é um singleton (uma menção que não tem expressões correferenciais) e não contém um nome de pessoa. Uma frase nominal órfã liga-se ao nome de pessoa anterior com o qual tenha concordância em género e número. No exemplo, as menções 8 e 9 ligam-se a 7 e 6. Pro_Cataphora (Pro_C): de modo similar a NP_Cataphora, este módulo verifica se o texto começa com um pronome pessoa (ou elíptico). Neste caso, o módulo analisa se a seguinte oração contém um nome próprio compatível. 8.4. Corpora anotados 129 Pronominal (PRO): este é o módulo standard de resolução de correferência pronominal. Para cada pronome seleccionado, verifica se as menções nominais candidatas satisfazem as restrições sintácticas e morfossintácticas (inspiradas em Palomar et al. (2001)). Estas restrições classificam-se em conjuntos dedicados a cada tipo de pronome, que bloqueiam a ligação entre as menções se alguma delas é violada. Entre elas existem: um pronome objecto (directo ou indirecto) não pode correferir com o seu sujeito (menção 11 versus 8 e 9); um pronome pessoal não pode correferir com uma menção dentro de uma frase preposicional (menção 4 versus menção 3), o núcleo de uma frase preposicional não pode correferir com um elemento que o c-comande (menção 10 versus menções 8 e 9), um possessivo não pode correferir com a frase nominal à qual pertence ou um pronome prefere como seu antecedente uma frase nominal em posição de sujeito (menções 10 e 11 versus menções 6 e 7). Assim, na Figura 8.1, o pronome elíptico (menção 4) liga-se à menção 2, e as menções 10 e 11 à menção 5. Este módulo só procura candidatos na mesma oração e na anterior à menção seleccionada. Pivot_Ent: este último módulo só é aplicado se existem menções pronominais órfãs (não ligadas a nenhum nome próprio ou frase nominal). Primeiro, o módulo verifica se o texto contém uma entidade central, que é o nome de pessoa mais frequente num texto, cuja frequência seja no mínimo 33% maior do que a segunda pessoa com mais ocorrências. Se existir uma entidade central, todos os pronomes órfãos são ligados a esta entidade. Se não, cada pronome é ligado à anterior menção nominal (sem nenhum tipo de restrição). Os módulos StringMatch, PN_StMatch e HeadMatch já existiam no sistema apresentado em Lee et al. (2013) —com ligeiras diferenças—, enquanto os passes Pronominal e Pivot_Ent se inspiram no trabalho de Palomar et al. (2001). Por outro lado, PN_Inclusion e PN_Tokens aproveitam algumas heurísticas já avaliadas em Garcia e Gamallo (2011d), sendo NP_Cataphora, Pro_Cataphora (inspirados em Vieira e Poesio (2000)) e Orphan_NP módulos originais adicionados a LinkPeople. 8.4. Corpora anotados Esta secção apresenta três corpora com ligações de correferência de entidades pessoa em português, espanhol e galego. Os corpora foram desenhados de acordo a dous objectivos: (i) fornecer recursos para conhecer como a correferência funciona nestas línguas e (ii) avaliar o funcionamento de sistemas de resolução de correferência. Os corpora são disponibilizados 130 Capítulo 8. Resolução de Correferência de Entidades Pessoa para a OIE Língua Tipologia Documentos Tokens Português Jornal 91 34k Wikipedia 6 17k Espanhol Jornal 27 18k Wikipedia 12 28k Galego Jornal 28 17k Wikipedia 29 25k Total Jornal 146 70k Wikipedia 47 71k Total 193 141k Tabela 8.1: Tamanho dos corpora em número de documentos de tokens por língua e tipologia textual. livremente em dous formatos diferentes, pelo que podem ser ampliados e melhorados de modo colaborativo. Os corpora Os textos utilizados como fonte para a construção dos corpora foram compilados da Internet em 2012, tentando cobrir diferentes tipologias textuais e variedades linguísticas. Entre as primeiras, contêm textos jornalísticos e enciclopédicos (Wikipedia). Em relação às variedades linguísticas, incluem-se textos de Portugal, Brasil, Moçambique e Angola (pt), Espanha e Argentina (es) e Galiza (gl). Para além disso, os artigos da Wikipedia podem pertencer a variedades diferentes de português e espanhol. A Tabela 8.1 mostra o tamanho dos três corpora em número de documentos e em tokens, tendo em conta a tipologia textual e a língua.5 Cada corpus contém entre 43k e 51k tokens (≈142k tokens, no total). Uma vez que os corpora se focam principalmente em entidades pessoa, a distribuição entre textos jornalísticos e enciclopédicos (geralmente com mais informação sobre pessoas) é de ≈35%/65%, excepto em português, devido ao interesse adicional em obter corpora desta língua em diferentes variedades (tanto nacionais como antes e depois do Acordo Ortográfico). Note-se que o corpus de português foi também utilizado para avaliar PoS-taggers no Capítulo 2 (referido como Corpus-Web na Secção 2.7.1). 5As estatísticas foram computadas com a versão 0.2 dos corpora. Revisões posteriores podem incluir variações em relação a estes resultados. 8.4. Corpora anotados 131 Unidade Linguística Exemplo Nome de Pessoa “Ayrton Senna cursou o primário nos Colégios Santana... Frase Nominal “Uma semana depois, o piloto brasileiro não conseguir tempo... Pron. Zero “/0 Começou a competir oficialmente nas provas de kart... Pron. Clítico “Isso odeixou empatado com Nigel Mansell” Pron. Relativo “[...] vinte pontos de diferença para Senna, que estava com zero” Pron. Pessoal “Ele sentia-se frustrado por...” Pron. Demonstrativo “É bem provável que essa seja a esposa escolhida” Pron. Indefinido “Ambos chegaram à F1...” Possessivo “Senna começou sua carreira competindo... Tabela 8.2: Tipos de unidades correferenciais (e exemplos em português). Para construir estes recursos, primeiro foram seleccionados aleatoriamente artigos jornalísticos e enciclopédicos —de pessoas— de diferentes fontes da Internet (tendo em conta a sua variedade linguística). Os textos foram tokenizados, lematizados e anotados morfossintacticamente por FreeLing, que também foi utilizado para REM em espanhol. Este último processo foi realizado em português e em galego com o sistema de regras apresentado no Capítulo 3. Depois, aplicou-se DepPattern para enriquecer os corpora com dependências sintácticas. Finalmente, a anotação correferencial foi adicionada manualmente por dous linguistas, seguindo o formato da SemEval-2010 Task #1 (Recasens et al., 2010). Directrizes de anotação Diferentes expressões que referem à mesma entidade do discurso foram anotadas como correferentes quando entre elas existia uma relação de identidade de referente. As expressões predicativas, apositivas e parentéticas também foram marcadas (com etiquetas especiais), apesar de que não são consideradas correferentes por alguns autores (Recasens e Martí, 2010). A anotação foi realizada de modo individual, apesar de que algumas entidades aparecem em diferentes artigos e línguas. A primeira coluna da Tabela 8.2 mostra os tipos de unidades linguísticas candidatos a serem expressões correferenciais. As Frases Nominais (FNs) com um único token (por exemplo, um pronome) ou que contenham unicamente um nome próprio, são classificadas pela sua categoria morfossintáctica (pronome pessoal, nome de pessoa, etc.) e não pela sua categoria sintáctica (frase nominal). Assim, na Tabela 8.2, Nome de Pessoa refere todos os nomes 132 Capítulo 8. Resolução de Correferência de Entidades Pessoa para a OIE Português Espanhol Galego Total J W J W J W J W Total N. de Pessoa 31,4 34,5 24,0 26,7 28,0 30,9 28,2 30,1 29,3 Frase Nominal 24,3 11,5 12,8 11,9 21,0 8,5 19,7 10,5 14,4 Pron. Zero 26,6 26,0 34,0 32,7 30,7 36,2 29,9 32,5 31,4 Pron. Clítico 3,7 6,9 13,4 8,9 6,5 8,6 7,7 8,3 8,0 Pron. Relativo 3,6 1,7 2,6 2,3 3,4 2,0 3,2 2,0 2,5 Pron. Pessoal 4,1 8,1 2,3 2,5 2,2 0,7 3,1 3,1 3,1 Pron. Demons. 0,1 0 0,1 0,2 0 0,2 0,1 0,2 0,1 Pron. Indef. 0,4 0,4 0,2 0,2 0,2 0,1 0,3 0,2 0,2 Possessivo 5,8 11,1 10,5 14,5 8,1 12,9 7,9 13,5 10,9 Menções totais 2.418 1.561 1.826 2.634 925 2.631 5.169 6.826 11.995 Tabela 8.3: Distribuição e número total de menções em função do tipo, língua e tipologia textual (onde Wé Wikipedia e Jjornais). de pessoa ocupando uma frase nominal completa, sem especificadores. Deste modo, Frase Nominal só inclui FNs com um mínimo de duas unidades linguísticas: um núcleo e um especificador (“Ayrton Senna” é classificado como nome pessoal, enquanto “o piloto Ayrton Senna” ou “o piloto brasileiro” classificam-se como frases nominais). A anotação foi realizada unicamente quando as menções referiam a entidades pessoa identificadas nalguma parte do texto (isto é, com, pelo menos, uma ocorrência de um nome de pessoa). Para além dos exemplos da Tabela 8.2, os corpora também incluem anotações de citações. Assim, os pronomes pessoais anafóricos que aparecem em expressões entre aspas são ligados às entidades às quais referem: “Senna disse [...]: “Eu acho que”...”. Estatísticas Para cada corpus foram calculadas várias estatísticas relacionadas com a distribuição das expressões correferenciais. A Tabela 8.3 contém a percentagem de cada tipo de menção nos corpora, mostrando que os nomes de pessoa (como frases nominais completas) e os pronomes elípticos (zero) são as expressões mais frequentes para referir-se às entidades pessoa, com perto de 30% das menções cada uma. As frases nominais e os possessivos também ocuparam mais de 10% (14% e 11% respectivamente). Pelo contrário, a frequência dos pronomes demonstrativos e indefinidos é escassa, com valores médios de entre 0,1% e 0,2%, respectivamente. 8.4. Corpora anotados 133 Português Espanhol Galego Total J W J W J W J W Total 1 Menção 30,6 50,3 35,9 44,9 16,0 52,3 29,5 49,3 40,3 2 Menções 17,0 17,3 21,5 18,0 24,8 18,4 19,5 18,0 18,7 3 Menções 11,5 9,6 8,2 16,7 11,2 7,1 10,6 11,0 10,8 >3 Menções 40,1 22,8 34,4 20,5 48,0 22,2 40,4 21,8 30,2 Tamanho da Ent. (Nom.) 3,1 3,6 3,3 3,1 3,0 2,6 3,1 3,1 3,1 Tamanho da Entidade 5,6 7,9 9,1 8,3 6,7 6,6 7,2 7,6 7,4 Maior Entidade (Nom.) 35 218 26 146 20 121 Maior Entidade 145 674 173 651 57 273 Mais Frequente 50,2 62,5 59,3 64,5 53,4 69,9 54 66,1 60,1 Tabela 8.4: Distribuição das entidades em função do número de menções nos corpora (acima). Tamanho médio das entidades e tamanho (em número de menções) da maior entidade de cada língua (centro): valores de todas as menções e das nominais (Nom., que só inclui FNs e nomes próprios). Distribuição da entidade mais frequente de cada texto (abaixo). A Tabela 8.3 também indica que a distribuição das ligações de correferência nas três línguas analisadas é similar. Os pronomes zero são menos frequentes em português do que em espanhol (tanto em textos jornalísticos como enciclopédicos). Por outro lado, as frases nominais são menos utilizadas para referir-se a entidades pessoa em espanhol do que em português. Em média, os valores da distribuição de menções em galego situam-se entre as outras duas línguas analisadas. A propósito do tamanho das entidades (o número de menções de cada entidade nos corpora), a Tabela 8.4 inclui a distribuição das entidades pessoa anotadas (linhas superiores). As entidades com uma só menção (singletons) são as mais frequentes (40%), enquanto ≈30% das entidades têm mais de três menções. As linhas centrais da mesma tabela contêm o tamanho médio das entidades, bem como o tamanho da maior entidade de cada corpus. Os valores foram calculados para todas as menções e unicamente para as menções nominais (frases nominais e nomes de pessoa). O tamanho médio das entidades é similar em todos os corpora, com valores médios de 7,4 e 3,1 para todas as menções e só para as nominais, respectivamente. Em relação à maior entidade de cada corpus, é importante notar a diferença entre os textos jornalísticos e os enciclopédicos, que têm como tópico uma pessoa específica. Assim, alguns textos da Wikipedia em português e em espanhol têm entidades com mais de 600 menções, 134 Capítulo 8. Resolução de Correferência de Entidades Pessoa para a OIE enquanto os artigos jornalísticos não excedem as 200. Em galego, os valores da Wikipedia são mais baixos devido ao tamanho dos artigos, que são geralmente mais curtos (Tabela 8.1). A linha inferior da Tabela 8.4 mostra a percentagem (micro-average) das menções da entidade mais frequente em cada texto, que representa a entidade principal de que se está a falar. Os valores dos textos jornalísticos são menores do que os enciclopédicos, uma vez que estes artigos se centram habitualmente numa só pessoa. Note-se que, em média, mais de 60% das menções referem a uma única entidade em cada texto. Isto indica que grande parte dos documentos jornalísticos e enciclopédicos tratam sobre temas relacionados com uma entidade central. Alguns destes resultados diferem dos dados extraídos de outros corpora com anotação de outro tipo de entidades. A este respeito, Márquez et al. (2013) obtêm 86% de singletons em inglês e 75% e 70% em espanhol e catalão respectivamente. As diferenças devem-se, principalmente, a que nos recursos aqui apresentados só foi anotado um tipo de entidades. Formato Os corpora são distribuídos em dous formatos diferentes: (i) o formato por defeito, inspirado na SemEval-2010 Task #1 (Recasens et al., 2010), e (ii) em formato brat, uma ferramenta de código aberto que permite que o anotador visualize o texto de um modo eficiente.6 O formato por defeito contém doze colunas com a seguinte informação: (1) posição do token na oração, (2) token, (3) lema, (4) PoS-tag de FreeLing, (5) PoS-tag básico, (6) género, (7) número, (8) núcleo sintáctico, (9) etiqueta sintáctica, (10) classe da entidade mencionada, (11) tipo de correferência e (12) anotação correferencial. A anotação correferencial contém, para cada menção, a id da entidade a que pertence, bem como a posição de início e fim de cada menção, indicada com parênteses de abertura e fecho (Figura 8.3). Quando um token faz parte de mais de uma menção, o símbolo ‘|’ separa as ids de cada entidade. Os corpora distribuídos em SemEval-2010 contêm mais informação linguística do que os apresentados neste trabalho (como a anotação de roles semânticos), para além de pequenas diferenças nas etiquetas morfossintácticas e sintácticas. À parte disso, a principal diferença na anotação destes dous recursos tem a ver com a pontuação. Em SemEval-2010, a anotação das entidades inclui a pontuação que as circunda, enquanto nos recursos aqui descritos só os 6http://brat.nlplab.org 8.5. Testes e avaliação 135 pos token ... PoS ... et. sint. ... corref 1 O ... DET ... SpecL .. . (1 2 filho ... NOUN ... SubjL ... _ 3 de ... PS ... CprepR ... _ 4 o ... DET ... SpecL ... (2 5 piloto ... NOUN ... Term ... _ 6 brasileiro ... ADJ ... AdjnR ... 2)|1) 7 foi ... VERB ... ROOT ... _ Figura 8.3: Exemplo de uma anotação correferencial das FNs “O filho de o piloto brasileiro”. tokens que contêm palavras são considerados parte da entidade (excepto as entidades cuja forma inclui pontuação no interior). 8.5. Testes e avaliação Esta secção inclui diferentes avaliações do sistema de resolução de correferência apresentado, bem como uma análise pormenorizada dos erros por ele produzidos. LinkPeople foi avaliado nas três línguas alvo do presente trabalho, utilizando os corpora descritos na secção anterior. Uma vez que algumas das anotações destes recursos não foram corrigidas manualmente (PoS-tags, informação sintáctica, etc.), a avaliação seguiu a regular setting (utilizando a nomenclatura de SemEval-2010). Assim mesmo, não foram utilizados recursos externos (dicionários de géneros de nomes próprios, WordNet, etc.), seguindo o closed setting. Em relação à identificação das menções, foram realizadas duas avaliações: a primeira com as menções já identificadas (gold mentions), e a segunda com identificação automática das menções (system mentions). Para esta última avaliação, utilizou-se o módulo básico de identificação de menções apresentado na Secção 8.3.7 Com o fim de comparar os resultados do sistema aqui apresentado, foram também avaliadas quatro baselines conhecidas: (i) Singletons (Stons), onde cada menção pertence a uma entidade diferente; (ii) All_in_One (AOne), onde todas as menções pertencem à mesma entidade; (iii) HeadMatch (HMb), que agrupa na mesma entidade aquelas menções que partilhem o núcleo da frase nominal e classifica cada pronome como singleton, e (iv) HeadMatch_Pro 7Excepto para os pronomes elípticos, que foram obtidos como gold mentions para preservar o alinhamento necessário para computar os resultados. Os testes mostrados na Secção 8.6 simulam um cenário real. 136 Capítulo 8. Resolução de Correferência de Entidades Pessoa para a OIE (HMP), igual à anterior, mas ligando cada pronome à menção nominal anterior com concordância de género e número.8 Foram utilizadas cinco métricas de avaliação: MUC (Vilain et al., 1995), B3(Bagga e Baldwin, 1998), CEAFentity (Luo, 2005), BLANC (Recasens e Hovy, 2011) e CoNLL (Co) (Pradhan et al., 2011), que é a média aritmética das três primeiras medidas referidas. Os resultados foram obtidos com os scripts utilizados em SemEval-2010 (para BLANC) e ConLL 2011 (para as outras métricas). Resultados A Tabela 8.5 contém os resultados das quatro baselines e do sistema apresentado na configuração gold mentions, enquanto os resultados de system mentions se mostram na Tabela 8.6. O primeiro bloco de cada língua inclui os resultados das baselines. As linhas centrais mostram os valores dos diferentes módulos de LinkPeople adicionados incrementalmente (veja-se a Figura 8.2). As primeiras nove linhas (StM >PRO) incluem duas regras de defeito para classificar as menções não analisadas pelos módulos em activo: (i) as menções nominais não analisadas são singletons e (ii) os pronomes ligam-se à menção nominal anterior com concordância de género (excepto os pronomes analisados por PRO, neste modelo). Para além disso, os sistemas PRO não restringem o número de orações anteriores quando procuram antecedentes. O último modelo (LinkP, o resultado de todos os módulos de LinkPeople) inclui uma restrição de distância no passe Pronominal (veja-se a Secção 8.3), pelo que combina o módulo Pronominal com Pivot_Ent. Como esperado, as baselines Singletons eHeadMatch obtêm resultados baixos em quase todas as métricas e línguas (os valores de Singletons em MUC são nulos porque esta medida não recompensa a identificação correcta de singletons). Porém, os modelos All_in_One obtiveram resultados razoavelmente bons nalgumas métricas (MUC e B3). As diferenças entre os valores destes testes e os obtidos em SemEval-2010 devem-se à existência (neste trabalho) de um único tipo de entidades (pessoas). Como foi visto, os textos jornalísticos e enciclopédicos focam-se habitualmente em só uma ou duas pessoas (isto é, existe um número menor de entidades em cada texto), pelo que a precisão é maior em All_in_One e menor em Singletons. Como foi mostrado em Recasens e Hovy (2010), as baselines HeadMatch_Pro obtêm bons resultados nas três línguas analisadas, e em todas as métricas: ≈60% e ≈67% de F1 8Devido a diferenças de língua e de formato, outros sistemas de resolução de correferência (Raghunathan et al., 2010; Sapena et al., 2013, por exemplo) não puderam ser utilizados nesta avaliação. 8.5. Testes e avaliação 137 Lg Mod MUC B3CEAFeBLANC Co R P F1 R P F1 R P F1 R P F1 F1 Pt Stons - - - 15,0 100 26,1 65,3 10,9 18,7 50,0 29,0 36,7 14,9 AOne 93,8 85,5 89,4 94,8 47,5 63,3 11,9 78,1 20,7 50,0 21,0 29,1 57,8 HMb 26,5 93,9 41,3 22,2 97,9 36,2 72,3 16,1 26,4 53,6 78,5 44,2 34,6 HMP 76,0 91,2 82,9 46,0 85,8 59,9 76,7 49,2 59,9 68,5 80,0 68,1 67,6 StM 69,8 91,5 79,2 38,8 88,7 54,0 78,1 40,5 53,3 64,7 79,2 62,9 62,2 NP_C 70,4 91,4 79,6 39,2 88,5 54,3 78,3 41,5 54,3 64,7 79,2 62,9 62,7 PN_St 72,8 91,9 81,3 40,9 88,3 55,9 79,3 44,7 57,2 65,0 79,2 63,4 64,8 PN_I 77,1 92,5 84,1 50,5 87,5 64,0 81,9 52,7 64,1 71,1 81,0 71,2 70,8 PN_T 77,3 92,5 84,2 50,8 87,5 64,3 82,0 53,0 64,4 71,1 81,0 71,3 71,0 HM 79,7 92,3 85,6 53,6 85,5 65,9 81,3 58,3 67,9 71,5 80,7 71,7 73,1 Orph 83,4 91,8 87,4 58,1 82,7 68,3 81,4 70,2 75,4 71,6 80,3 71,9 77,0 ProC 83,4 91,8 87,4 58,1 82,7 68,3 81,4 70,3 75,5 71,6 80,3 72,0 77,0 PRO 81,8 91,7 86,4 59,1 83,9 69,3 82,7 66,5 73,7 76,0 83,7 76,7 76,5 LinkP 82,7 92,7 87,4 65,8 84,5 74,0 84,4 67,9 75,2 83,6 85,4 84,2 78,9 Es Stons - - - 10,9 100 19,7 69,5 8,7 15,4 50,0 29,4 37,0 11,7 AOne 91,7 88,4 90,0 92,6 51,3 66,0 6,4 83,0 11,9 50,0 20,6 29,2 55,9 HMb 20,7 94,2 34,0 15,4 98,0 26,6 75,4 11,9 20,6 51,3 74,6 39,9 27,0 HMP 78,2 90,7 84,0 35,3 81,2 49,2 72,9 51,5 60,4 59,3 74,7 55,5 64,5 StM 73,9 90,7 81,4 30,1 83,7 44,3 73,9 41,6 53,3 58,6 75,6 54,1 59,7 NP_C 74,1 90,7 81,5 30,2 83,7 44,4 73,9 42,0 53,6 58,6 75,6 54,1 59,8 PN_St 75,4 91,0 82,5 31,2 83,1 45,4 73,8 44,1 55,2 58,6 75,4 54,3 61,0 PN_I 78,8 91,7 84,8 39,3 82,2 53,1 75,9 52,8 62,3 62,0 76,7 59,6 66,7 PN_T 79,0 91,7 84,9 40,0 82,1 53,8 76,0 53,3 62,7 62,6 76,3 60,5 67,1 HM 80,5 92,0 85,9 41,7 80,9 55,1 75,6 57,3 65,2 63,1 75,0 61,4 68,7 Orph 81,1 91,9 86,1 42,3 80,5 55,5 75,4 59,8 66,7 63,2 75,0 61,6 69,4 ProC 82,3 91,9 86,8 43,2 79,6 56,0 74,6 64,1 68,9 63,0 74,7 61,4 70,6 PRO 82,6 92,4 87,2 46,0 80,8 58,7 77,5 65,8 71,2 66,8 77,9 66,2 72,4 LinkP 84,1 94,1 88,8 62,9 84,8 72,2 83,4 71,0 76,7 81,7 84,9 82,6 79,2 Gl Stons - - - 14,6 100 25,4 71,7 11,0 19,1 50,0 28,4 36,3 14,8 AOne 96,6 86,0 91,0 97,1 53,9 69,3 9,0 82,7 16,2 50,0 21,6 30,1 58,8 HMb 21,1 90,5 34,2 20,2 97,5 33,5 74,1 14,3 24,0 51,3 74,7 39,1 30,6 HMP 81,9 89,8 85,7 44,1 83,6 57,7 70,0 53,5 60,6 61,3 76,5 57,9 68,0 StM 77,1 90,6 83,3 36,5 86,7 51,4 75,1 45,5 56,6 58,9 76,9 53,7 63,8 NP_C 77,6 90,7 83,6 37,2 86,7 52,1 75,2 46,2 57,3 59,2 77,0 54,3 64,3 PN_St 79,0 90,9 84,6 39,1 86,2 53,8 75,6 48,8 59,3 59,7 77,0 55,1 65,9 PN_I 83,1 91,5 87,1 46,7 85,3 60,4 76,7 57,8 66,0 62,5 77,5 59,5 71,1 PN_T 83,3 91,5 87,2 48,2 85,3 61,6 76,9 58,6 66,5 63,2 77,9 60,5 71,8 HM 84,6 91,6 87,9 49,8 84,4 62,6 76,8 62,0 68,6 63,4 77,5 60,8 73,1 Orph 84,7 91,3 87,9 49,9 83,9 62,6 76,8 63,2 69,4 63,3 77,3 60,8 73,3 ProC 84,7 91,3 87,9 49,1 83,9 62,6 76,8 63,2 69,4 63,3 77,3 60,8 73,3 PRO 86,9 92,5 89,6 60,7 86,8 71,4 82,8 72,2 77,1 73,6 82,0 73,9 79,4 LinkP 89,0 94,6 91,7 72,9 88,4 79,9 87,6 76,6 81,7 82,7 85,8 83,4 84,4 Tabela 8.5: Resultados de LinkPeople (gold mentions) comparados com as baselines em Português (Pt), Galego (Gl) e Espanhol (Es). LinkP são os resultados da execução do sistema completo.