Eduardo Neves Motta Orientadores Prof. Dr. Sean Wolfgand Matsui
Transcrição
Eduardo Neves Motta Orientadores Prof. Dr. Sean Wolfgand Matsui
UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA PREENCHIMENTO SEMI-AUTOMÁTICO DE ONTOLOGIAS DE DOMÍNIO A PARTIR DE TEXTOS EM LÍNGUA PORTUGUESA Eduardo Neves Motta Orientadores Prof. Dr. Sean Wolfgand Matsui Siqueira Prof. Dr. Alexandre Albino Andreatta RIO DE JANEIRO, RJ – BRASIL MARÇO DE 2009 M921 Motta, Eduardo Neves. Preenchimento semi-automático de ontologias de domínio a partir de textos em língua portuguesa / Eduardo Neves Motta, 2009. ix, 119f. Orientador: Sean Wolfgand Matsui Siqueira. Co-orientador: Alexandre Albino Andreatta. Dissertação (Mestrado em Informática) – Universidade Federal do Estado do Rio de Janeiro, Rio de Janeiro, 2009. 1. Processamento da linguagem natural (Computação). 2. Web semântica. 3. Ontologias (Computação). 4. Música popular brasileira – Textos – Extração de informações. I. Siqueira, Sean Wolfgand Matsui. II. Andreatta, Alexandre Albino. III. Universidade Federal do Estado do Rio de Janeiro (2003-). Centro de Ciências Exatas e Tecnologia. Curso de Mestrado em Informática. IV. Título. CDD – 005.5 A meus pais i Aprender é, de longe, a maior recompensa. William Hazlitt ii Agradecimentos Em primeiro lugar, agradeço aos meus orientadores, os professores Sean Siqueira e Alexandre Andreatta pela acolhida no PPGI da UNIRIO, pelo ensinamento, apoio e estímulo que me proporcionaram ao longo destes dois anos, e também pela agradável convivência que tivemos durante este período. A sua competência, rigor e atenção aos detalhes foram fundamentais para a conclusão deste trabalho. À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), pela bolsa de fomento concedida. Aos professores Adriana Alvim, Angelo Ciarlini, Asterio Tanaka, Fernanda Baião, Flávia Santoro, Maria Helena Braz e Rosana Lanzelotte, que me auxiliaram durante o processo de evolução deste trabalho. Ao professor Ruy Luiz Milidiú, da Pontifícia Universidade Católica do Rio de Janeiro, por ter lá me recebido e permitido expandir meus horizontes durante as disciplinas por ele ministradas. À equipe do LEARN da PUC-Rio que contribuiu direta ou indiretamente para este trabalho. Agradeço especialmente ao Cícero Nogueira dos Santos pela constante disponibilidade e presteza nos auxílios que a ele solicitei. Ao professor Geraldo Xexéo, da COPPE/UFRJ, pela oportunidade de aprendizado durante a disciplina por ele oferecida. Ao grupo NLX do Departamento de Informática da Faculdade de Ciências da Universidade de Lisboa, em particular aos professores António Branco e João Silva e à Sara Silveira que tornaram o acesso às ferramentas do LX-Suite possível. Aos colegas e amigos do PPGI pelo agradável convívio, em especial ao dileto amigo Rodrigo de Santis pelos interessantes e enriquecedores colóquios musicais. iii Aos amigos Liana Machado, Ana Cláudia Cotovio, Marcelo Rychter, Sérgio Souza, George Pessoa e Fylipe Borba pelo incentivo e pelos ouvidos sempre atentos. Ao meu amigo e irmão Rogerio pela inspiração, permanente torcida e ótima companhia. Por fim, agradeço aos meus pais, sem os quais este trabalho não existiria. iv MOTTA, Eduardo Neves. Preenchimento Semi-Automático de Ontologias de Domínio a Partir de Textos em Língua Portuguesa. UNIRIO, 2009. 102 páginas. Dissertação de Mestrado. Departamento de Informática Aplicada, UNIRIO. RESUMO A maior parte das informações disponíveis na web está na forma de textos em linguagem natural. Para o processamento de informações, a forma textual não é a mais apropriada, uma vez que não é estruturada e não explicita a semântica contida nos textos. Técnicas para estruturar textos e adicionar uma camada de representação de significado têm sido pesquisadas, em particular no âmbito da web semântica. Uma das maneiras de se adicionar esta camada é através da obtenção semi-automática de ontologias a partir de textos. Nesta dissertação é apresentado um processo de preenchimento semi-automático de ontologias de domínio a partir de textos em língua portuguesa. Para permitir a extração de informações dos textos e o preenchimento da ontologia, uma sistemática é proposta. A especificidade da língua portuguesa é considerada na definição de regras e na seleção e uso das ferramentas necessárias ao processo. A sistemática é aplicada ao domínio da história da música popular brasileira para obtenção de uma base estruturada de conhecimento, na forma de uma ontologia instanciada. São descritos a sistemática proposta, a aplicação ao domínio escolhido e os resultados obtidos. Os resultados obtidos indicam o potencial que a estruturação de informações a partir de textos pode trazer no âmbito de sistemas de informação e da web semântica. Palavras-chave: Preenchimento de ontologias de domínio; extração de informações; web semântica; processamento de linguagem natural; música popular brasileira. v ABSTRACT Most of the information on the web is available as natural language texts. However, in order to process information, the textual form is not the most appropriate, since it is not structured and does not specify the semantics of texts. Techniques for structuring text and adding a layer of meaning representation have been studied, in particular in the semantic web field. An approach to add this semantic layer is to semiautomatically build ontologies from text. In this thesis a process for domain ontology population from Portuguese texts is presented. To support information extraction and ontology population, a systematic is proposed. The specificity of the Portuguese language is considered in the definition of rules and the selection and use of the necessary tools necessary to the process. The systematic is applied to the field of the history of Brazilian popular music to obtain a structured knowledge base in the form of an instantiated ontology. The systematic proposal, the application to the chosen area and the results are described. The results indicate the potential the information structuring from texts can bring as part of information systems and the semantic web. Keywords: Domain ontologies population; information extraction; semantic web; natural language processing; Brazilian popular music. vi Índice 1 Introdução ..................................................................................................................... 1 1.1 Motivação................................................................................................................ 1 1.2 Construção de Ontologias de Domínio a Partir de Textos ...................................... 4 1.3 Objetivos ................................................................................................................. 7 1.4 Relevância dos Temas Abordados .......................................................................... 7 1.5 Delimitação da Abrangência do Trabalho............................................................... 8 1.6 Organização da Dissertação .................................................................................... 8 2 Mineração de Textos & Ontologias em Sistemas de Informação ................................. 9 2.1 Mineração de Textos ............................................................................................... 9 2.1.1 Processamento de Linguagem Natural ........................................................... 11 2.1.1.1 Delimitação de Documentos, Parágrafos e Frases .................................. 11 2.1.1.2 Tokenização ............................................................................................ 12 2.1.1.3 Normalização das Palavras ..................................................................... 12 2.1.1.4 Etiquetagem Sintática e Morfológica...................................................... 13 2.1.1.5 Análise Sintática ..................................................................................... 14 2.1.2 Extração de Informações ................................................................................ 15 2.1.2.1 Tipos de Tarefas de EI ............................................................................ 15 2.1.2.2 Funções de Apoio à EI ............................................................................ 17 2.1.2.2.1 Identificação e Classificação de Entidades ................................... 17 2.1.2.2.2 Identificação de Sintagmas Nominais........................................... 17 2.1.2.2.3 Etiquetagem de Papéis Semânticos............................................... 18 2.1.2.2.4 Resolução de Anáforas ................................................................. 18 2.1.2.2.5 Desambiguação do Sentido das Palavras ...................................... 19 2.1.3 Recursos Lingüístico-computacionais para PLN e EI ................................... 20 2.1.3.1 Corpora ................................................................................................... 20 2.1.3.2 Dicionários .............................................................................................. 20 vii 2.1.3.3 Gazetteers (listas de referência) .............................................................. 21 2.1.3.4 Tesauros .................................................................................................. 21 2.1.4 Técnicas e Algoritmos para PLN & EI .......................................................... 22 2.2 Ontologias em Sistemas de Informação ................................................................ 23 2.2.1 Por que Usar Ontologias? .............................................................................. 23 2.2.2 Tipos de Ontologia ......................................................................................... 24 2.2.3 Engenharia de Ontologias .............................................................................. 25 2.2.4 Metodologias para Construção de Ontologias ............................................... 25 2.2.5 Estrutura de uma Ontologia ........................................................................... 27 2.2.6 Linguagens de Representação de Ontologias................................................. 28 2.2.7 Informações Adicionais sobre Ontologias ..................................................... 29 2.3 Uso de Ontologias no Processo de Extração de Informações ............................... 30 3 Sistemática para Extração de Informações e Preenchimento de Ontologias .............. 32 3.1 Sistemática ............................................................................................................ 32 3.1.1 Preparação ...................................................................................................... 33 3.1.1.1 Definição do Domínio e do Escopo ........................................................ 34 3.1.1.2 Seleção do Corpus................................................................................... 35 3.1.1.3 Análise da Estrutura do Corpus .............................................................. 35 3.1.1.4 Limpeza e Conversão dos Documentos .................................................. 35 3.1.1.5 Definição das Técnicas de PLN .............................................................. 36 3.1.1.6 Execução do PLN ................................................................................... 36 3.1.1.7 Análise Estatística dos Documentos ....................................................... 36 3.1.1.7.1 Freqüência dos termos do domínio ............................................... 37 3.1.1.7.2 N-Gramas ...................................................................................... 38 3.1.1.7.3 Regras de Associação ................................................................... 38 3.1.1.8 Definição das Técnicas de EI .................................................................. 39 3.1.1.9 Seleção ou Criação do Esquema da Ontologia ....................................... 39 viii 3.1.1.10 Evolução do Esquema da Ontologia ................................................. 40 3.1.1.11 Mapeamento EI × Ontologia ............................................................. 40 3.1.1.12 Construção do Ambiente de Execução ............................................. 40 3.1.1.12.1 Módulo Preparatório ................................................................... 41 3.1.1.12.2 Módulo de PLN .......................................................................... 41 3.1.1.12.3 Módulo de EI .............................................................................. 41 3.1.1.12.4 Módulo de Manipulação da Ontologia ....................................... 41 3.1.1.12.5 Módulo de PO ............................................................................. 41 3.1.1.12.6 Integração.................................................................................... 41 3.1.1.12.7 Requisitos Funcionais ................................................................. 41 3.1.1.12.8 Requisitos Técnicos .................................................................... 42 3.1.2 Extração ......................................................................................................... 43 3.1.2.1 Extração de Entidades ............................................................................. 43 3.1.2.2 Extração de Relações .............................................................................. 44 3.1.2.3 Extração de Eventos ................................................................................ 44 3.1.2.4 Validação das Instâncias ......................................................................... 44 3.1.2.5 Instanciação............................................................................................. 44 3.1.3 Avaliação & Revisão ..................................................................................... 45 3.1.3.1 Avaliação Qualitativa.............................................................................. 45 3.1.3.2 Avaliação Quantitativa............................................................................ 45 3.1.3.3 Revisão.................................................................................................... 46 3.2 Modelo de Arquitetura .......................................................................................... 47 3.3 Ferramentas e Recursos Disponíveis para PLN e EI em Português ..................... 48 4 Preenchimento de Uma Ontologia em Língua Portuguesa ......................................... 51 4.1 Preparação ............................................................................................................. 51 4.1.1 Definição do Domínio e do Escopo ............................................................... 51 4.1.2 Seleção do Corpus ......................................................................................... 52 ix 4.1.3 Análise da Estrutura do Corpus ..................................................................... 54 4.1.4 Limpeza e Conversão dos Documentos ......................................................... 55 4.1.5 Definição das Técnicas de PLN ..................................................................... 57 4.1.6 Execução do PLN........................................................................................... 58 4.1.7 Análise Estatística dos Documentos .............................................................. 58 4.1.8 Definição das Técnicas de EI ......................................................................... 59 4.1.8.1 Extração de Entidades ............................................................................. 60 4.1.8.1.1 Identificação e Classificação de Artistas ...................................... 60 4.1.8.1.2 Identificação e Classificação de Obras ......................................... 61 4.1.8.1.3 Identificação de Expressões Temporais ........................................ 61 4.1.8.2 Extração de Relações .............................................................................. 64 4.1.8.2.1 Relações de Autoria ...................................................................... 64 4.1.8.2.2 Relações de Interpretação ............................................................. 64 4.1.8.3 Extração de Eventos ................................................................................ 64 4.1.9 Criação do Esquema da Ontologia ................................................................. 65 4.1.9.1 Seleção da ontologia ............................................................................... 65 4.1.9.2 Adaptação do esquema da ontologia....................................................... 66 4.1.10 Evolução do Esquema da Ontologia......................................................... 69 4.1.11 Mapeamento EI × Ontologia .................................................................... 69 4.1.12 Construção do Ambiente de Execução ..................................................... 70 4.1.12.1 Módulo Preparatório ......................................................................... 70 4.1.12.2 Módulo de PLN ................................................................................. 70 4.1.12.3 Módulo de EI..................................................................................... 71 4.1.12.4 Módulo de Manipulação da Ontologia .............................................. 71 4.1.12.5 Módulo de PO ................................................................................... 72 4.1.12.6 Integração .......................................................................................... 72 4.2 Extração ................................................................................................................ 72 x 4.3 Avaliação & Revisão ............................................................................................ 73 4.3.1 Avaliação Qualitativa..................................................................................... 73 4.3.2 Avaliação Quantitativa................................................................................... 74 4.3.3 Revisão ........................................................................................................... 75 4.4 Arquitetura ............................................................................................................ 75 5 Conclusões .................................................................................................................. 77 5.1 Trabalhos Relacionados ........................................................................................ 77 5.1.1 Trabalhos de Preenchimento de Ontologias................................................... 77 5.1.2 Trabalhos Específicos para Língua Portuguesa ............................................. 78 5.1.3 Trabalhos de EI Baseada em Ontologias ....................................................... 78 5.1.4 Trabalhos de Aprendizado de Ontologias ...................................................... 79 5.2 Contribuições ........................................................................................................ 79 5.3 Trabalhos futuros .................................................................................................. 80 Referências ..................................................................................................................... 83 Apêndice A – Ontologia para Eventos Temporais Imprecisos ...................................... 95 Apêndice B – Etiquetas atribuídas pelo LX-Suite .......................................................... 99 Apêndice C – Mapeamento de caracteres especiais ..................................................... 102 xi Índice de Figuras Figura 1.1 – Processo de MT para preenchimento de ontologias de domínio.................. 5 Figura 2.1 – Exemplo de árvore de análise sintática ...................................................... 14 Figura 2.2 – Exemplo de EI de páginas da web ............................................................. 15 Figura 2.3 – Tipos de ontologias segundo GUARINO (1998) ....................................... 25 Figura 2.4 – Modos de utilização de uma ontologia no processo de EI ......................... 31 Figura 3.1 – Visão geral da sistemática .......................................................................... 33 Figura 3.2 – Visão geral do estágio de preparação ......................................................... 34 Figura 3.3 – Visão geral do estágio de extração e preenchimento ................................. 43 Figura 3.4 – Visão geral dos estágios de avaliação e revisão ......................................... 45 Figura 3.5 – Modelo de Arquitetura para EI e PO.......................................................... 47 Figura 4.1 – Página principal do dicionário ................................................................... 53 Figura 4.2 – Exemplo de página de biografia: Tom Jobim ............................................ 54 Figura 4.3 – Exemplos de dados com alguma estruturação: dados biográficos ............. 54 Figura 4.4 – Exemplo de dados com alguma estruturação: obra .................................... 55 Figura 4.5 – Exemplo de dados em forma de texto livre: biografia ............................... 55 Figura 4.6 – Trecho de código HTML do dicionário ..................................................... 56 Figura 4.7 – Quadro para extração de eventos de gravação ........................................... 65 Figura 4.8 – Ontologia de eventos temporais ................................................................. 69 Figura 4.9 – Tela de edição de classes do Protégé 3.3.1. ............................................... 71 Figura 4.10 – Trecho da ontologia preenchida ............................................................... 73 Figura 4.11 – Arquitetura implementada........................................................................ 76 xii Índice de Tabelas Tabela 2.1 – Classificação do fenômeno da anáfora ...................................................... 19 Tabela 3.1 – Matriz de funções das ferramentas de PLN e EI para português ............... 49 Tabela 3.2 – Aspectos técnicos das ferramentas de PLN e EI para português ............... 50 Tabela 4.1 – Exemplos de identificação da estrutura ..................................................... 56 Tabela 4.2 – Os cinco verbos e os cinco substantivos mais freqüentes no corpus......... 58 Tabela 4.3 – Padrões de expressão temporal com uma data .......................................... 62 Tabela 4.4 – Padrões de expressão temporal com pares de datas................................... 63 Tabela 4.5 – Classes e relações da Music Ontology utilizadas ...................................... 66 Tabela 4.6 – Mapeamento EI × Ontologia ..................................................................... 69 Tabela B.1 – Conjunto de etiquetas do LX-Suite ........................................................... 99 Tabela C.1 – Conversões de caracteres especiais ......................................................... 102 xiii Lista de Abreviaturas Utilizadas AM Aprendizado de Máquina API Application Programming Interface BI Business Intelligence DAML Defense Advanced Research Projects Agency (DARPA) Agent Markup Language DW Data Warehouse EI Extração de Informações HTML Hypertext Markup Language MO Music Ontology MPB Música Popular Brasileira MT Mineração de Textos OIL Ontology Inference Layer OWL Web Ontology Language PLN Processamento de Linguagem Natural PDF Portable Document Format PO Preenchimento de Ontologias REM Reconhecimento de Entidades Mencionadas RI Recuperação de Informações RDFS Resource Description Framework Schema RTF Rich Text Format URL Uniform Resource Locator W3C World Wide Web Consortium xiv 1 Introdução Neste capítulo a motivação para o trabalho da dissertação e relevância do tema são apresentadas, a questão da abundância de informação textual disponível na web, os problemas associados e abordagens para solução destes problemas são discutidos, os objetivos gerais e específicos do trabalho são colocados, a abrangência do trabalho é delimitada e a organização deste documento é apresentada. 1.1 Motivação A maior parte das informações hoje disponíveis na web está representada na forma de textos escritos em linguagem natural, pois são destinadas à consulta, análise, interpretação e processamento por pessoas. Esta forma não é a mais apropriada para o processamento computacional das informações, uma vez que não é estruturada e não explicita o significado contido no texto. Quando um usuário consulta uma página com informações textuais ou percorre uma lista de resultados de uma consulta feita a um mecanismo de buscas como o Google, a atribuição de significado ao conteúdo depende da interpretação do próprio usuário, ou seja, só é possível entender o conteúdo através do usuário que o interpreta. Isto é equivalente a dizer que a web atual está no nível sintático (lido por máquinas) e não no nível semântico (compreendido por máquinas) (FELDMAN & SANGER, 2007). Esta é uma limitação importante da web atual, pois as informações representadas na forma de texto livre não permitem estabelecer, de imediato, correlações entre os conceitos, explorar relações e evidenciar fatos que estão expressos nos textos. De modo a lidar com esta limitação, uma evolução da web atual é esperada e planejada, originando o que se chama de web semântica. A visão proposta por BERNERS-LEE et al. (2001) para a web semântica tem o propósito essencial de explicitar o significado dos dados disponíveis na web, permitindo que as informações sejam operadas automaticamente por processos computacionais que passam a ter acesso 1 à semântica dos dados. Para estes mesmos autores, a web semântica estende a web atual através da atribuição de significado bem definido à informação, permitindo que computadores e pessoas trabalhem melhor em cooperação. A web semântica se baseia numa arquitetura em camadas, hierárquica, onde cada camada acrescenta maior poder de expressão de significado e inferência (KOIVUNEN & MILLER, 2001). A adição da camada de representação do significado dos dados é chamada de anotação semântica (NAVIGLI & VELARDI, 2006). Diversas técnicas podem ser aplicadas para atingir este objetivo, dentre elas a criação manual ou automática de metadados, o uso de ontologias e a aplicação de regras lógicas (ANTONIOU & VAN HARMALEN, 2004). Entretanto, para que a web semântica realmente seja efetiva, torna-se necessário fazer uso do conteúdo disponível na web atual. Assim, métodos automáticos ou semiautomáticos para a anotação semântica e construção de ontologias vêm sendo desenvolvidos e aplicados, uma vez que as ontologias são componentes centrais no modelo de camadas proposto para a web semântica (HYVÖNEN, 2001). No contexto das ciências da computação e da informação, ontologias são artefatos utilizados para capturar e representar formalmente o conhecimento de um campo de saber. Uma ontologia é uma especificação formal e declarativa de uma conceitualização (GRUBER, 1993). Neste contexto, conceitualização é compreendida como o conjunto de conceitos de uma área de interesse, assim como as relações entre eles. Uma característica primordial das ontologias é o compartilhamento da conceitualização pela comunidade da área de interesse (BORST, 1997). Esta definição enfatiza o fato de que é necessário chegar a um consenso sobre a conceitualização, que então poderia ser especificada de modo formal, possibilitando o reuso. Posteriormente, a definição de ontologia foi revista por GRUBER (2009) para enfatizar sua implementação através de sistemas de informação. Uma ontologia é uma estrutura composta por quatro conjuntos (conceitos, relações, atributos e tipos de dados), uma hierarquia de conceitos (taxonomia de conceitos) e uma hierarquia de relações (taxonomia de relações). Esta estrutura será pormenorizada na seção 2.2.5. Além desta estrutura, uma ontologia permite também a criação de axiomas, que podem especificar regras ou restrições. Esta estrutura da ontologia, também denominada esquema da ontologia, somada às suas instâncias de conceitos, relações e atributos é chamada de uma base de conhecimento. Na seção 2.2.2 são descritos os tipos de ontologias. Em particular, ontologias de 2 domínio descrevem o que existe em um domínio ou universo de discurso (GUIZZARDI, 2005), através dos conceitos específicos deste domínio e da relação entre estes conceitos. Entre as razões para se adotar uma ontologia de domínio para representar conhecimento estão o compartilhamento de entendimento sobre um domínio entre pessoas ou agentes de software, a possibilidade de reuso do conhecimento do domínio e a análise do conhecimento do domínio (NOY & MCGUINESS, 2001). O uso de ontologias também permite a inferência de novo conhecimento não explicitamente declarado na ontologia através da aplicação de regras lógicas expressas nos axiomas (HAARSLEV & MÖLLER, 2003). Apesar de ontologias serem um modo apropriado para representar o conhecimento, a construção de ontologias é usualmente uma tarefa que consome muito tempo e esforço (ZHOU, 2007). Para acelerar esta tarefa, processos automáticos ou semi-automáticos podem ser empregados para se construir ontologias de domínio a partir de textos. Para atingir este objetivo, a mineração de textos (MT) pode ser utilizada. Mineração de Textos (MT) é a área de pesquisa que tem como objetivo, através de processos computacionais, descobrir conhecimento novo, isto é, não explícito, a partir de um conjunto de textos (HEARST, 2003). A MT ajuda a lidar com um problema característico da atual era da informação, que é a sobrecarga de informações. Esta sobrecarga é causada pelo crescente volume de informações disponíveis na web, intranets corporativas e outros canais, enquanto a capacidade de processamento e absorção destas informações permanece essencialmente constante e limitada (BENDOV & FELDMAN, 2005). Este fenômeno leva à supressão na percepção de padrões e relacionamentos importantes que podem passar despercebidos dentro de um universo grande de textos. Um fenômeno similar acontece nas corporações, que se baseiam em documentos textuais para o registro de processos, procedimentos, normas e especificações. KAISER & MIKSCH (2005) estimam que 80% ou mais das informações em uma corporação estão na forma textual, não estruturada. A MT pode ser vista como um processo de descoberta de conhecimento onde um usuário interage com uma coleção de textos usando um conjunto de ferramentas analíticas com o objetivo de extrair informação útil (FELDMAN & SANGER, 2007). De uma forma similar à mineração de dados, a MT objetiva extrair informação relevante a partir de um conjunto de fontes de dados através da identificação e análise de padrões. 3 No caso da MT, a fonte de dados é uma coleção de textos (dados não estruturados) e não registros de um banco de dados estruturado, como no caso da mineração de dados. A MT utiliza técnicas e metodologias herdadas das áreas de mineração de dados e de aprendizado de máquina (AM), adicionando técnicas de gestão de conhecimento, de processamento de linguagem natural (PLN), de recuperação de informações (RI) e de extração de informações (EI) (FELDMAN & SANGER, 2007). Técnicas de MT podem auxiliar na construção da web semântica (ARANHA, 2007), ajudando a contornar o gargalo imposto pelo esforço para a construção manual de ontologias. Dentro deste contexto, um problema relevante de pesquisa é a extração de conhecimento estruturado a partir de textos para construção de ontologias de domínio a partir de textos em linguagem natural, que é abordado neste trabalho. 1.2 Construção de Ontologias de Domínio a Partir de Textos A construção de ontologias de maneira automática ou semi-automática a partir de coleções de textos é uma alternativa que vem sendo bastante pesquisada nos últimos anos, como nos trabalhos de ZHOU (2007), CIMIANO (2006) e MÄDCHE & STAAB (2001). A construção de ontologias de domínio inclui duas tarefas distintas: o aprendizado de ontologias de domínio e o preenchimento de ontologias (PO) de domínio. O aprendizado de ontologias de domínio tem como objetivo a construção (e/ou evolução) do esquema da ontologia, extraindo este esquema a partir dos textos. O preenchimento de ontologias parte de uma estrutura ontológica pré-existente (esquema da ontologia) e tem o objetivo de preencher a ontologia com instâncias a partir de textos. Técnicas de MT podem ser empregadas para ambas as tarefas. Neste trabalho, o interesse é no preenchimento de ontologias, isto é, na extração de instâncias de conceitos (com seus atributos) e relações entre estes para o preenchimento de um esquema de ontologia já disponível. Este processo pode ser chamado de instanciação da ontologia. A figura 1.1 esquematiza o processo de preenchimento de ontologia a partir de textos. O objetivo deste processo é partir de uma base não estruturada de informações (a coleção de textos) e de um esquema de ontologia de domínio para obter uma base de conhecimento estruturada representada através de uma ontologia de domínio preenchida, utilizando técnicas de MT. 4 Coleção de Documentos de Texto (dados não estruturados) Ontologia de Domínio Preenchida Preenchimento da Ontologia Utilizando Mineração de Textos (base estruturada de conhecimento) Esquema da Ontologia de Domínio Figura 1.1 – Processo de MT para preenchimento de ontologias de domínio Uma base estruturada de conhecimento permite utilizações originalmente não viáveis no conjunto de textos, como as listadas a seguir. Navegação As dimensões representadas na estrutura da base de conhecimento podem ser utilizadas para navegação facetada, onde o usuário pode ter diversas visões ou cortes sobre as informações, de maneira similar ao emprego de dimensões em sistemas de consulta em BI/DW (KIMBALL & ROSS, 2002). Descoberta de relacionamentos Uma vez estruturada a informação contida nos textos, técnicas adicionais de mineração de dados podem ser aplicadas para descobrir novos padrões e relacionamentos (WITTEN & FRANK, 2005). Visualização A informação semântica obtida durante o processo de EI pode ser utilizada durante a visualização dos dados, através, de, por exemplo, um browser semântico, que adiciona uma camada de etiquetas semânticas sobre a visualização dos textos1 ou a visualização 1 Uma demonstração de um protótipo deste tipo de visualização pode ser consultada em http://www.cortex-intelligence.com/engine/ 5 dos conceitos e relações como grafos; Integração Bases estruturadas tornam possível a integração com outras bases de conhecimento e permitem o seu uso por sistemas de informação, o que não seria possível diretamente a partir da coleção de textos. Em particular, ontologias têm sido empregadas com este propósito (BIANCHINI & ANTONELLIS, 2004). Um fator relevante a considerar nos processos de MT é o idioma dos textos que servirão como fonte de dados. Para o processamento dos textos, uma série de ferramentas é necessária para executar tarefas como tokenização, lematização, segmentação de frases e etiquetagem morfossintática (detalhadas na seção 2.1.1) e estas ferramentas devem ser capazes de lidar com especificidades da língua. Como a MT se apóia consideravelmente em técnicas de PLN e vários dos aspectos do PLN são dependentes do idioma dos textos processados (BRANCO & SILVA, 2003), a MT também depende do idioma. Esta dependência é mais forte no caso de sistemas baseados em regras lingüísticas, mas mesmo em processos de AM, recursos na língua desejada são necessários (para treinamento dos modelos). Além disso, usualmente técnicas híbridas de AM com características lingüísticas são empregadas para conseguir melhores resultados. Alguns congressos internacionais são especializados no PLN e EI de textos em português. O congresso internacional PROPOR 2 (International Conference on Computational Processing of Portuguese) existe desde 1993 e teve sua oitava edição em 2008. O HAREM 3 (HAREM é uma Avaliação de Reconhecedores de Entidades Mencionadas) é um congresso internacional, em formato de avaliação conjunta de soluções para tarefas previamente estabelecidas, que enfoca o problema de reconhecimento de entidades mencionadas em português. Teve duas edições, em 2006 e 2008. Entretanto, dada a penetração da língua inglesa na internet, a maior parte das ferramentas de PLN disponíveis é dedicada a ela e para a língua portuguesa existe um número comparativamente reduzido de opções. 2 3 http://www.propor2008.org/ http://www.linguateca.pt/aval_conjunta/HAREM/ 6 1.3 Objetivos O objetivo geral desta dissertação é tratar o problema de preenchimento de ontologias de domínio a partir de textos em língua portuguesa, explorando as técnicas existentes de EI e preenchimento de ontologias com enfoque nas ferramentas de PLN para a língua portuguesa. Para alcançar este objetivo, os seguintes objetivos específicos são perseguidos: Propor uma sistemática para o preenchimento de ontologias de domínio a partir de textos em língua portuguesa; Aplicar a sistemática a um domínio, extraindo instâncias de conceitos (e seus atributos) e das relações entre estes, através da implementação de um protótipo para avaliação do processo como um todo; Construir uma base de conhecimento do domínio escolhido, tornando possível novas utilizações dos dados textuais. 1.4 Relevância dos Temas Abordados Os temas abordados nesta dissertação incluem aspectos relacionados à aquisição de ontologias a partir de textos em língua portuguesa. Estes temas têm tido atenção recente da comunidade acadêmica da Ciência da Computação e suas disciplinas. Um dos tópicos listados no Seminário “Grandes Desafios da Pesquisa em Computação no Brasil - 2006 – 2016”4 promovido pela SBC em 2006 está diretamente ligado à implementação de ontologias: “Projeto e implementação de estruturas de ontologia flexíveis e expansíveis, que possibilitem interoperabilidade entre áreas do conhecimento e interação entre pessoas de diferentes culturas e vocabulários.” Ainda dentro deste contexto dos “Grandes Desafios da Pesquisa em Computação no Brasil - 2006 – 2016”, LIMA et al. (2007) destacam a importância do tratamento do problema de PLN e suas dificuldades, além da especificidade por idioma, como argumentado pelos autores: “... as pesquisas no processamento da língua remetem a uma forte componente de regionalização, apresentando maior densidade de resultados para algumas línguas do que para outras.” 4 http://www.sbc.org.br/index.php?language=1&subject=8&content=downloads&id=231 7 1.5 Delimitação da Abrangência do Trabalho Esta seção visa delimitar a abrangência do trabalho, descrevendo algumas características que demarcam seu alcance. Este trabalho abrange o preenchimento de uma ontologia de domínio a partir de textos em língua portuguesa, embora alguns de seus conceitos e propostas possam ser generalizados para outras línguas. Assim, o enfoque é sobre a pesquisa de ferramentas específicas para o português e não ferramentas para outros idiomas. O enfoque na língua portuguesa se justifica pela utilidade social e cultural de um trabalho deste tipo no Brasil. A estrutura dos textos considerados na aplicação da sistemática pressupõe uma narrativa histórica, o que facilita sua estruturação e mineração textual e possibilita o desenvolvimento de um protótipo e sua aplicação a um determinado domínio. Com esta mesma estruturação, outros conjuntos textuais poderiam ser utilizados, tais como aqueles provenientes de wikis e enciclopédias. O aprendizado automático do esquema da ontologia está fora do alcance deste trabalho, dado o volume de questões, trabalhos e ferramentas a serem analisados, embora se reconheça a importância e atualidade do tema. Do mesmo modo, o consenso sobre a ontologia utilizada também está fora do escopo deste trabalho, embora tenha-se buscado partir de uma ontologia com boa aceitação pela comunidade. 1.6 Organização da Dissertação Esta dissertação está organizada em mais quatro capítulos. No capítulo dois, apresenta-se uma revisão do estado da arte da mineração de textos e de ontologias no contexto de sistemas de informação, além do relacionamento entre MT e PO. São também apresentados os conceitos de PLN que serão utilizados ao longo da dissertação. No capítulo três, é apresentada uma proposta da sistemática para a extração de informações e preenchimento de ontologias de domínio, com os estágios de Preparação, Extração e Preenchimento, e Avaliação e Revisão. No capítulo quatro, são apresentados a aplicação da sistemática e os resultados do preenchimento de uma ontologia de domínio em português. No capítulo cinco, os resultados alcançados são resumidos, trabalhos correlatos são apresentados e discutidos, e são listadas as principais contribuições deste trabalho, além dos trabalhos futuros. 8 2 Mineração de Textos & Ontologias em Sistemas de Informação A tarefa de preenchimento de ontologias de domínio envolve duas áreas de pesquisa bastante abrangentes: mineração de textos e ontologias em sistemas de informação. Nas seções deste capítulo uma visão geral do estado da arte em ambas as áreas é apresentada. Adicionalmente, é discutida a sua convergência através do uso de ontologias no processo de extração de informações. Estes conceitos fundamentam o trabalho apresentado nesta dissertação. 2.1 Mineração de Textos A mineração de textos (MT) é considerada uma área emergente de pesquisas (FELDMAN & SANGER, 2007) e agrega uma série de técnicas, métodos e algoritmos de diversas outras áreas de pesquisa (mineração de dados, aprendizado de máquina, processamento de linguagem natural, extração de informações, recuperação de informações e gestão do conhecimento), com o objetivo da descoberta de conhecimento a partir de textos. O processo de MT tem como entrada uma coleção de textos, sobre a qual uma série de etapas de processamento é executada com o objetivo de obter informação estruturada. Do ponto de vista funcional, o processo de MT pode ser dividido em quatro grupos de funções ou operações, de maneira similar com o que ocorre na mineração de dados: Tarefas de pré-processamento Este grupo inclui os processos e métodos responsáveis pela preparação dos textos para as operações de mineração e efetuam conversões, normalizações e classificações dos textos; 9 Operações de mineração São o centro de um sistema de MT e incluem a aplicação de técnicas para descoberta de padrões, análise estatística e de análise de regras de associação; Apresentação, navegação e consulta Este grupo provê interfaces para visualização dos dados e navegação de acordo com as estruturas criadas. Inclui também sistemas para consultas aos dados; Tarefas de refinamento (ou pós-processamento) Métodos de filtragem, de ordenação e de eliminação de redundância de dados textuais são utilizados neste grupo. As funções deste grupo estão interligadas com o grupo anterior, uma vez que a apresentação, navegação e consultas podem demandar filtros e ordenações para refinar os resultados. Dada a natureza não estruturada dos textos que servem como entrada do processo de MT, uma grande variedade de técnicas de pré-processamento para MT existe e o processo de MT depende fortemente destas tarefas de pré-processamento. A idéia central das tarefas de pré-processamento é estruturar os documentos para permitir o processamento por uma etapa posterior. Por exemplo, a delimitação de frases ou a adição de etiquetas morfossintáticas representa o acréscimo de estrutura ao documento original, puramente textual. As tarefas de pré-processamento de MT são divididas nas seguintes sub-tarefas: Preparatórias A coleção de documentos de entrada pode estar em diferentes formatos tais como PDF, páginas HTML, documentos RTF, etc. As tarefas preparatórias têm a função de limpar e converter os documentos originais para um formato somente texto, preservando formatações que sejam interessantes para o problema que se deseja tratar. Por exemplo, tamanho ou cores de fontes podem ser indicadores de trechos do documento (como cabeçalhos) que se deseja preservar. Processamento de Linguagem Natural As tarefas de PLN são fundamentais no processamento de textos. Como há várias 10 tarefas de PLN que são relevantes, na seção 2.1.1 estas serão pormenorizadas. Específicas do problema (Categorização de Textos & EI) As tarefas específicas do problema se dividem em categorização de textos e extração de informações (EI). A categorização de textos consiste em atribuir um conjunto de etiquetas pré-definidas (conceitos ou palavras-chave) ao texto. Serve principalmente para a busca e recuperação dos textos como um todo, ou para a RI. A RI tem o objetivo de buscar e recuperar documentos inteiros de acordo com critérios informados pelo usuário. Entretanto, a saída do processo de RI é uma lista (em geral, ordenada) de documentos que se adéquam aos critérios especificados. Para que o usuário encontre as informações desejadas, é necessário ainda que ele percorra o conjunto de documentos apresentados. Por outro lado, a EI tem o objetivo de pinçar a informação de interesse e apresentá-la de maneira estruturada. Para este trabalho de dissertação, a EI é a tarefa mais relevante e está descrita mais adiante na seção 2.1.2. 2.1.1 Processamento de Linguagem Natural A análise lingüística de textos tipicamente é feita em camadas (JACKSON & MOULINIER, 2002), numa estratégia de dividir e conquistar, separando o problema complexo de PLN em vários subproblemas menores que são resolvidos por tarefas específicas. Assim, coleções de documentos são separadas em documentos, documentos quebrados em parágrafos, parágrafos em frases e frases em palavras (ou termos compostos). As palavras são então etiquetadas de acordo com sua classe gramatical (etiqueta morfossintática) e reduzidas à sua forma radical, é realizada a análise sintática da frase, entre outras tarefas. Nas seções a seguir são descritas brevemente as funções desempenhadas por estas tarefas. Uma apresentação mais abrangente pode ser encontrada em (JACKSON & MOULINIER, 2002) e (MANNING & SCHÜTZE, 1999). 2.1.1.1 Delimitação de Documentos, Parágrafos e Frases De modo a processar uma coleção de documentos, é necessário quebrar a coleção em documentos. Em geral, algum identificador do documento pode ser usado para este fim, como o diretório somado ao nome do arquivo do documento, ou a URL 11 (Uniform Resource Locator) de uma página na web. O discurso contido em um documento é composto de parágrafos e frases. Parágrafos são unidades que carregam uma idéia e são por sua vez compostos de frases. Para identificar a quebra de parágrafos, caracteres de controle podem ser utilizados, tais como CR (carriage return) ou LF (line feed). Linhas em branco também podem ser indicativas de mudança de parágrafo. Dependendo da natureza dos documentos da coleção, pode ser necessário utilizar outros critérios para identificação de parágrafos durante a etapa de tarefas preparatórias. A identificação de frases já envolve critérios mais sofisticados, uma vez que a estratégia ingênua de se considerar sinais de pontuação (ex.: “.”, “?”, “!”) como delimitadores de frases não é completamente precisa. Várias construções apresentam ambigüidade, como por exemplo, um ponto que pode denotar um separador de milhar em uma expressão numérica (10.000, por exemplo) ou uma abreviatura (Sr. José). Para desambiguar estes casos, expressões regulares ou regras de exceção podem ser aplicadas para melhorar a precisão da segmentação. 2.1.1.2 Tokenização5 Um texto é representado computacionalmente como uma cadeia de caracteres. A função de tokenização (BARRETO et al, 2006) é responsável pela segmentação de textos em unidades lexicais relevantes chamadas tokens. Em geral, um token corresponde a uma palavra, mas alguns casos especiais precisam ser tratados dependendo da aplicação desejada. Para a segmentação trivial em palavras, o espaço em branco pode ser considerado como delimitador. Entretanto, alguns termos compostos podem ser considerados durante o processo de tokenização para preservar um significado conjunto. Um exemplo é o termo composto “samba enredo”, que quando tratado como dois tokens independentes (samba e enredo) perde parte da semântica do termo composto. No caso do português, contrações também são tratadas durante o processo de tokenização, transformando, por exemplo, a contração “do” na preposição “de” mais o artigo definido “o”. 2.1.1.3 Normalização das Palavras Em algumas situações é interessante reduzir uma palavra a uma forma canônica, eliminando as variações morfológicas. Esta normalização (SILVA, 2007), pode ser 5 Neologismo utilizado na área para traduzir o termo em inglês tokenization. 12 obtida de diversas maneiras e a abrangência da normalização também é variável, podendo ser somente a redução de flexões verbais ao infinitivo ou formas mais profundas como eliminar gênero, número, grau ou sufixos morfológicos. Dependendo da abrangência, esta normalização pode ser chamada de lematização ou radicalização (stemming). Um exemplo de aplicação para a normalização de palavras é detectar a ocorrência de um verbo, independentemente de sua conjugação. Para esta aplicação, um exemplo seria reduzir as conjugações “lançou”, “lança”, “lançará” ao infinitivo “lançar”. A normalização de uma palavra depende usualmente da classe sintática da palavra. Se numa ocorrência a palavra “lança” é substantivo, a sua forma normalizada será “lança” e não “lançar”, como no caso do verbo acima. 2.1.1.4 Etiquetagem Sintática e Morfológica A etiquetagem sintática (em inglês, conhecida como PoS tagging ou part of speech tagging) (AIRES et al, 2000) atribui uma (e somente uma) classe gramatical da palavra de acordo com um conjunto pré-determinado de valores (substantivo, verbo, adjetivo, artigo, etc.). Em geral, há várias etiquetas possíveis para uma mesma palavra, dependendo do contexto em que ela ocorre. Por exemplo, na frase “Ela sua”, “sua” tem o valor de verbo, enquanto que na frase “Ele reformou sua casa”, “sua” tem o valor de pronome possessivo. Os algoritmos para etiquetagem gramatical precisam detectar a alternativa correta. Adicionalmente, pode ser feita uma classificação morfológica atribuindo também valores para as flexões de número (singular ou plural), grau (aumentativo, diminutivo, etc.) e gênero (masculino ou feminino). Neste caso, onde são atribuídas as etiquetas sintáticas e morfológicas, o processo é conhecido como etiquetagem morfossintática. A etiqueta morfossintática é utilizada como base para diversas outras tarefas de PLN, portanto a qualidade (precisão na atribuição das etiquetas) desta função é muito importante para evitar que erros se propaguem ao longo da cadeia de processamento. Um exemplo, gerado pela ferramenta LX-Suite 6 (BRANCO & SILVA, 2006), de anotação morfossintática (contém a função gramatical e a indicação morfológica) da frase “Olha que coisa mais linda.” é mostrado abaixo: Olha/V#imp-2s 6 — verbo na forma de imperativo, na segunda pessoa http://lxsuite.di.fc.ul.pt/ 13 que/CJ — conjunção coisa/CN#fs — substantivo comum (common (common name), name), fem feminino, inino, singular mais/ADV — advérbio linda/ADJ#fs — adjetivo, feminino, singular .*//PNT — ponto final, sinal de pontuação 2.1.1.5 Análise Sintática A análise sintática de uma frase produz uma árvore de constituintes que representa a sua estrutura gramatical. gramatical. Constituintes podem ser nós da árvore, como sujeitos, predicativos, objetos diretos, diretos etc. e no caso dos nós folhas tem a classe gramatical também indicada (verbos, substantivos, substantivos etc.). Um exemplo de árvore de análise sintática gerada pelo sistema PALAVRAS PALAVRAS (BICK, (B , 2000) é mostrado na figura 2.1.. A frase analisada é “Olha Olha que coisa mais linda.” linda Figura 2.11 – Exemplo de árvore rvore de análise nálise sintática7 A análise sintática eficiente e precisa de frases complexas nem nem sempre é possível com as técnicas existentes. No lugar da análise sintática completa, uma análise superficial (shallow shallow parsing) parsing) pode ser realizada para identificação dos principais constituintes (sintagmas). Para o propósito de EI, EI, em geral esta análise superficial é suficiente, mais rápida e mais robusta (JACKSON & MOULINIER, 2002). A 7 UTT = utterance (enunciação); ( ); cl = clause (oração oração); P = predicativo; predicativo v = verbo; Od = objeto direto; direto g = grupo; D = dependente; pron = pronome; H = head (cabeça); (ca n = noun (substantivo); adv = advérbio; adj = adjetivo 14 identificação de sintagmas nominais é descrita na seção 2.1.2.2.2. 2.1.2 Extração de Informações A EI pode ser definida como o preenchimento a partir de textos de um conjunto de lacunas pré-determinadas. Um exemplo de aplicação de EI é um processo que extrai o nome de um livro, autor e preço a partir de sites de livrarias virtuais. As lacunas a serem preenchidas neste caso são o nome do livro, autor e preço. A figura 2.2 mostra um exemplo deste processo, que percorre um conjunto de textos (neste exemplo, páginas da web) e preenche as lacunas correspondentes. Figura 2.2 – Exemplo de EI de páginas da web 2.1.2.1 Tipos de Tarefas de EI Segundo BONTCHEVA et al. (2006), EI tem o objetivo de encontrar cinco tipos de informação em textos, descritos a seguir. Entidades O tipo mais elementar de EI é a identificação e classificação de entidades tais como pessoas, lugares, organizações, datas, valores monetários, etc. Esta tarefa também é conhecida como REM (Reconhecimento de Entidades Mencionadas), descrita a seguir na seção 2.1.2.2.1. 15 Menções Esta tarefa visa encontrar menções a entidades e envolve o uso da resolução de co-referência para identificar relações de identidade entre entidades nos textos. Estas entidades são tanto aquelas identificadas pelo REM quanto as referências anafóricas (descritas na seção 2.1.2.2.4) a estas entidades. Sistemas de resolução de co-referência são dependentes de domínio. No contexto desta dissertação, a resolução de coreferências pode ser utilizada para apresentar todas as ocorrências de um mesmo objeto, por exemplo. Descrições de entidades Esta tarefa parte do REM e da resolução de co-referências, associando informação descritiva a entidades. Por exemplo, poderia identificar que “Rio de Janeiro” é “uma das 27 unidades federativas do Brasil”. Esta tarefa é apropriada para o aprendizado de ontologias e não será utilizada neste trabalho. Relações entre entidades Esta tarefa é responsável por extrair relações entre entidades, como, por exemplo, uma relação de emprego entre uma pessoa e uma empresa ou uma relação genealógica entre duas pessoas. Esta tarefa tem um papel relevante no preenchimento de ontologias, pois permite identificar instâncias de relações definidas na ontologia. Eventos envolvendo entidades A extração de eventos é baseada em gabaritos (templates) de cenários, onde são definidas quais informações relativas ao evento serão extraídas. Estes gabaritos reúnem as entidades, menções e relações identificadas que caracterizam o evento (acontecimento que envolve entidades e relações), que em geral têm um atributo temporal. Um exemplo de evento é a troca de presidente de uma empresa, onde o gabarito de cenário envolve duas entidades do tipo pessoa (o presidente que sai e o presidente que entra), uma empresa e uma data. Esta tarefa é tanto dependente do domínio quanto dos cenários de interesse dos usuários. Dependendo dos objetivos do processo de EI, nem todo sistema ou aplicação necessariamente implementa todas as tarefas listadas acima. 16 2.1.2.2 Funções de Apoio à EI As próximas seções detalham as funções que auxiliam no processo de EI. Mais informação sobre EI pode ser encontrada em (CUNNINGHAM, 2005). 2.1.2.2.1 Identificação e Classificação de Entidades A identificação de nomes próprios tem o objetivo de delimitar trechos do texto que representam nomes próprios, que podem ser de pessoas, lugares, organizações, etc. A etapa de classificação atribui a classe correta ao nome próprio identificado. Esta tarefa é também conhecida como Reconhecimento de Entidades Mencionadas (REM) (FERREIRA et al, 2007). Esta tarefa é uma das mais importantes no processo de EI, porque permite identificar e classificar instâncias do domínio de interesse. A tarefa de identificação depende pouco do domínio que está sendo tratado (por exemplo, mudar de notícias sobre esportes para notícias financeiras), mas pode depender bastante do tipo de estrutura do texto, por exemplo, um texto científico pode exigir um tipo de extrator de entidades, enquanto um texto jornalístico pode demandar outro tipo. A tarefa de classificação depende do domínio, pois a estrutura de classificação reflete os conceitos específicos do domínio. Uma entidade dentro do contexto de EI é correspondente a um conceito (classe) da ontologia. 2.1.2.2.2 Identificação de Sintagmas Nominais A unidade sintagmática é considerada um agrupamento intermediário entre o nível do vocábulo e o da oração. Desta maneira, um ou mais vocábulos se unem (em sintagmas) para formar uma unidade maior, que é a oração. Os vocábulos que compõem a unidade sintagmática se organizam em torno de um núcleo; dependendo do núcleo, podemos falar em sintagma nominal e sintagma verbal (PINILLA et al, 2009). Por exemplo, na oração “O especialista não respondeu todas as perguntas”, são sintagmas nominais “O especialista” (sendo o núcleo “especialista”) e “todas as perguntas” (sendo o núcleo “perguntas”). A identificação de sintagmas nominais é importante em diversas áreas como RI e EI, análise sintática, resolução de co-referência, identificação de relações semânticas, entre outras (SANTOS, 2005). 17 2.1.2.2.3 Etiquetagem de Papéis Semânticos Segundo SÁNCHEZ (2007), a etiquetagem de papéis semânticos é o processo de atribuição de representações, na forma de papéis semânticos ou temáticos, a porções do discurso. Este processo tem o objetivo de identificar os argumentos associados a um verbo (que funciona como âncora do processo de etiquetagem), tais como o agente que executa a ação descrita pelo verbo, o paciente que sofre a ação do verbo, os instrumentos utilizados para executar a ação e complementos (adjuntos) que caracterizam tempo, modo, lugar, etc. Por exemplo, na frase “João pendurou um quadro ontem na sua casa”, o processo de etiquetagem identificaria os seguintes argumentos e adjuntos: João – Agente quadro – Paciente ontem – Adjunto temporal sua casa – Adjunto de lugar A etiquetagem de papéis semânticos pode auxiliar no processo de EI (SURDEANU et al., 2003), na medida que permite associar os papéis semânticos a relações que podem ser úteis no preenchimento das lacunas pré-determinadas. 2.1.2.2.4 Resolução de Anáforas Anáfora é o fenômeno lingüístico onde um trecho do discurso (referência) remete a um referente, que pode já ter sido mencionado, que ainda será mencionado ou que é externo ao discurso (CHAVES & RINO, 2008). A posição do referente e existência explícita da referência determinam a classe do fenômeno da anáfora, de acordo com o mostrado na tabela 2.1. 18 Tabela 2.1 – Classificação do fenômeno da anáfora Referente Referência Tipo Exemplo8 Sim Anáfora9 Maria viajou. Ela foi de avião. Sim Catáfora Sim Exófora Explícita Ocorre antes da referência Ocorre depois da referência Externo ao discurso Ocorre antes Não da referência (...) Achando que ele estava sendo seguido, João deu meia-volta. Aquele prédio é o da Reitoria. Maria chegou agora. (...) Estava muito Elipse cansada. A tarefa de resolução de anáforas se divide em duas etapas: identificação das referências e resolução das anáforas, isto é, identificação dos referentes e associação às referências corretas. A etapa de identificação das referências é responsável pela marcação de todos os trechos do texto que são referências anafóricas. A etapa de resolução de anáforas identifica candidatos a referentes e depois seleciona o mais provável para cada referência através de algoritmos de classificação. A resolução de anáforas é importante na extração de informações porque permite a ligação entre as referências e referentes e a conseqüente identificação de relações. 2.1.2.2.5 Desambiguação do Sentido das Palavras Dependendo do contexto, uma mesma palavra pode ter significados diferentes, fenômeno este conhecido como polissemia. Por exemplo, nas frases abaixo a palavra “manga” tem significados diferentes: 8 9 Nos exemplos, os referentes são mostrados em itálico e as referências sublinhadas. Em português, o termo anáfora é utilizado para o fenômeno da anáfora (em inglês, anaphora) e também para o texto da referência (em inglês, anaphor). 19 a) “Preciso de uma camisa de manga curta.” (onde “manga” é um substantivo, com significado de um componente de camisa); b) “Esta manga está madura.” (onde “manga” é um substantivo, com significado distinto do anterior, de um tipo de fruta); c) “A moça manga do rapaz.” (“manga” é um verbo, equivalente a “caçoa”) Para a EI é importante a identificação do significado que é condizente com o contexto. Informações da classe gramatical da palavra no contexto e de termos que ocorrem conjuntamente no discurso são utilizadas para resolver a ambigüidade. No exemplo c acima, a classe gramatical seria suficiente para desambiguar os sentidos. Já nos casos a e b, o contexto precisaria ser utilizado, uma vez que os dois significados distintos são substantivos. 2.1.3 Recursos Lingüístico-computacionais para PLN e EI Para suportar as funções de PLN e EI descritas nas seções 2.1.1 e 2.1.2, alguns recursos lingüísticos processáveis computacionalmente podem ser empregados durante a execução das tarefas. 2.1.3.1 Corpora Segundo o dicionário Aurélio (FERREIRA, 1999), corpus (corpora, no plural) é um “conjunto de documentos, dados e informações sobre determinada matéria”. De acordo com TAGNIN (2004) e mais especificamente no campo do PLN, um corpus é “uma coletânea de textos em formato eletrônico, compilada segundo critérios específicos, considerada representativa de uma língua (ou da parte que se pretende estudar), destinada à pesquisa”. Um corpus anotado contém, além do texto original, informações lingüísticas de interesse, tais como etiquetas morfossintáticas, anotação de entidades mencionadas, anotações de papéis semânticos, etc. (PALMER et al., 2005). Os corpora anotados podem ser utilizados para treinamento de processos supervisionados de AM e para análise de freqüência de ocorrência de uma dada construção gramatical, por exemplo. 2.1.3.2 Dicionários Dicionários legíveis por máquina (MRD - machine readable dictionaries) 20 (NICHOLS et al, 2005) podem ser utilizados em várias etapas do PLN para realizar desambiguação, normalização, etc. Por exemplo, um dicionário que contenha vocábulos flexionados e suas formas canônicas pode ser usado na etapa de normalização das palavras. 2.1.3.3 Gazetteers (listas de referência) Listas de referência contendo nomes próprios de entidades como cidades, organizações ou pessoas são um recurso adicional que pode ser utilizado no processo de identificação e classificação de entidades mencionadas. Estas listas são conhecidas também pelo termo em inglês gazetteer (NADEAU et al, 2006). Estas listas podem ser geradas manualmente ou através de processos de extração a partir de textos. 2.1.3.4 Tesauros Tesauros (DIAS-DA-SILVA, 2000) são dicionários léxicos que contêm relações binárias entre os termos. Várias relações podem ser representadas em um tesauro, como: Sinonímia Um termo é sinônimo de outro termo se seus significados são equivalentes. Por exemplo, “ludopédio” é sinônimo de “futebol”. Hiperonímia Um termo é hiperônimo de outro termo, quando o primeiro é uma generalização do segundo. Por exemplo, “animal” é um hiperônimo de “gato”. Hiponímia (relação simétrica à hiperonímia) Um termo é hipônimo de outro termo quando o primeiro é especialização do segundo, usualmente descrito pela relação “é-um”. Por exemplo, “motocicleta” é um hipônimo de “veículo”. Meronímia Um termo é merônimo de outro termo quando o primeiro é parte, componente ou elemento constituinte do segundo. Por exemplo, “roda” e “volante” são merônimos de “carro”. 21 Holonímia (relação simétrica à meronímia) Um termo é holônimo de outro termo quando o segundo é parte, componente ou elemento constituinte do primeiro. Por exemplo, “carro” é holônimo de “roda” e também de “volante”. Um exemplo de tesauro para a língua inglesa é o Wordnet (MILLER et al, 1990), projeto desenvolvido na Universidade de Princeton. Este tesauro está disponível para consulta na web10, sendo possível também baixar a base do dicionário para uso independente. Substantivos, verbos, adjetivos e advérbios são agrupados por significado nos chamados synsets, que são conjuntos com significado comum. 2.1.4 Técnicas e Algoritmos para PLN & EI Para implementar as funções descritas nas seções 2.1.1 e 2.1.2, existe uma variedade de algoritmos e técnicas. De uma forma geral, estes algoritmos e técnicas podem ser divididos em: a) Baseados em regras Dependem do conhecimento do domínio para a implementação de regras específicas para a tarefa. Por exemplo, a análise sintática pode ser feita baseada em uma gramática que define um conjunto de regras do idioma; b) Baseados em aprendizado de máquina Utilizam um corpus como conjunto de dados para treinamento e podem ser categorizados em métodos supervisionados (que demandam um corpus anotado), não-supervisionados (que usam um corpus não anotado) e semisupervisionados (que usam dados anotados e não anotados para o treinamento). Entre os principais métodos de AM que podem ser empregados para implementar as funções necessárias ao PLN e EI estão: Árvores de decisão (CORSTON-OLIVER, 2000); Classificadores bayesianos (CALVETTI & SOMERSALO, 2007); Máquinas de vetores de suporte (TAKEUCHI & COLLIER, 2002); 10 Redes neurais (COLLOBERT & WESTON, 2007); Disponível em http://wordnet.princeton.edu/ 22 Modelos ocultos de Markov (RABINER, 1989); Campos aleatórios condicionais (SUTTON & MCCALLUM, 2007); Modelos de entropia máxima (MCCALLUM et al, 2000); Aprendizado baseado em transformações (BRILL, 1995); Aprendizado baseado em transformações guiado por entropia (MILIDIÚ et al, 2008). Mais informação sobre AM pode ser encontrada em MITCHEL (1997) e BISHOP (2007). c) Híbridos Técnicas que misturam as duas abordagens para tentar melhorar o desempenho. Muitas das tarefas de PLN e EI são tarefas de classificação, como por exemplo, a etiquetagem morfossintática, a identificação de sintagmas nominais e a etiquetagem de papéis semânticos, que buscam atribuir uma etiqueta (ou classe) a cada termo ou trecho do texto. Apesar de métodos baseados em AM serem menos suscetíveis ao idioma processado, na maior parte dos sistemas de alto desempenho (estado da arte), há alguma característica lingüística, portanto específica do idioma, que é introduzida para melhorar o desempenho. 2.2 Ontologias em Sistemas de Informação Ontologia é um termo cunhado originalmente no campo da filosofia e etimologicamente pode ser interpretado como o estudo (-logia) da existência ou do ser (onto-). Foi posteriormente adotado na área de inteligência artificial para designar artefatos usados como modelos formais de domínio (GUARINO, 1998). No contexto de sistemas de informação, ontologias são recursos concretos utilizados para modelar conhecimento. 2.2.1 Por que Usar Ontologias? Ontologias apresentam algumas diferenças em relação a bancos de dados e modelagens orientadas a objeto. 23 Esquemas conceituais de bancos de dados, como os diagramas de entidaderelacionamento estendidos, podem ser vistos como um tipo primário ou básico de ontologia (PAN, 2007). Entretanto, as restrições, que numa ontologia são modeladas através de regras, em um banco de dados são implementadas como triggers, stored procedures ou na própria aplicação. Além disso, ontologias podem representar regras lógicas que permitem realizar inferência. Em comparação com uma modelagem orientada a objetos em UML, as seguintes diferenças existem (IBM, 2009): Por serem fundamentalmente baseadas em lógica, ontologias permitem raciocínio automatizado (inferências), enquanto um modelo orientado a objetos, não; As ontologias permitem herança entre propriedades, o que não é suportado na modelagem orientada a objetos; Podem-se definir propriedades das relações como simétricas, transitivas e inversas para realizar inferência, não havendo similar na modelagem orientada a objetos; As ontologias permitem múltipla herança entre classes e também entre propriedades. A modelagem orientada a objetos permite apenas a múltipla herança entre classes, ainda assim, dependendo da linguagem de programação adotada. 2.2.2 Tipos de Ontologia Segundo GUARINO (1998), as ontologias podem ter diferentes níveis de abrangência, de acordo com a generalidade dos conceitos representados. As chamadas ontologias de alto nível (top-level ontologies), chamadas também de ontologias superiores (upper ontologies), representam conceitos mais gerais, independentes de domínio e utilizados como senso comum, como, por exemplo, conceitos de tempo, espaço, etc. As ontologias de domínio representam o conhecimento de um domínio específico, como biomedicina ou futebol. Ontologias de tarefa descrevem como tarefas ou atividades são conduzidas (de forma independente do domínio), como, por exemplo, um processo de análise. Ontologias de aplicação descrevem conceitos que dependem tanto de um domínio específico, quanto do tipo de tarefa e são especializações das ontologias de 24 domínio e tarefa simultaneamente. simultaneamente. A figura 2.3 mostra a relação entre quatro estes tipos, tipos a partir do mais geral no topo para o mais específico embaixo. Figura 2.3 – Tipos de ontologias segundo GUARINO (1998) O foco deste trabalho trabalho é sobre as ontologias de domínio, que tê têm m o objetivo de compartilhar o conhecimento sobre um domínio delimitado. 2.2.3 Engenharia de Ontologias ntologias A criação e manutenção de ontologias demandam dema uma série de tarefas tarefas, papéis pap e ferramentas que são englobadas sob a disciplina de engenharia de ontologias, que seguem processos bem estabelecidos como os descritos por SURE et al..(2002). Pode-se se distinguir entre enfoques manuais e semi-automáticos semi automáticos para a engenharia de ontologias. Se o processo de criação de ontologia é feito feito manualmente, por exemplo, exemplo pelo engenheiro de conhecimento (ou pelo engenheiro de ontologias) em colaboração com especialistas do domínio, apoiados por sistemas como o Protéégé (PROTÉGE, 2009), então tanto 2009), tant os relacionamentos gerais quanto concretos precisam precisam estar na mente destes profissionais. Isto requer um esforço manual significativo para codificar tal conhecimento em ontologias. Por outro lado, se o processo de criação de ontologia é feito semi ou totalmente automaticamente com a ajuda de sistemas com como o o Text2Onto (CIMIANO & VÖLKER, 2005a), 2005 ), estes relacionamentos gerais e concretos são gerados e representados explicitamente pelo sistema. 2.2.4 Metodologias para Construção onstrução de Ontologias ntologias Para construir um esquema de uma ontologia, duas alternativas existem: a 25 utilização de uma ontologia pré-existente (que pode demandar algumas alterações ou extensões) ou a criação de uma ontologia nova. Em ambos os casos, uma metodologia deve ser empregada durante o processo. As metodologias de desenvolvimento de ontologias podem ser classificadas de acordo com a abordagem de desenho a partir dos conceitos do domínio (CRISTANI & CUEL, 2005), da seguinte maneira: Bottom-up (de baixo para cima) Parte de conceitos mais específicos e segue no sentido da generalização; Top-Down (de cima para baixo) Parte de conceitos mais gerais e segue no sentido da especialização; Middle-Out (do centro para fora) Começa com os conceitos mais relevantes para o domínio e segue tanto no sentido da generalização quanto da especificação Considerando textos narrativos sobre um domínio específico, os termos e expressões que nele ocorrem são relacionados a conceitos mais específicos ou relevantes e não a conceitos mais abstratos. Entre as metodologias para criação de ontologias, a On-To-Knowledge (STAAB et al, 2001) e a METHONTOLOGY (FERNANDEZ-LOPEZ et al, 1999) destacam-se do ponto de vista da disseminação de uso e da riqueza de detalhamento, respectivamente (CARDOSO, 2007). Outra metodologia bastante referenciada na literatura é a proposta pelo grupo da Universidade de Stanford, responsável pelo desenvolvimento da ferramenta Protégé (NOY & MCGUINNES, 2001). Esta metodologia tem a vantagem de apresentar passos simples e objetivos, orientados ao uso da ferramenta Protégé. Os passos principais desta metodologia são: 1) Determinar o domínio e a abrangência da ontologia; 2) Considerar o re-uso de ontologias; 3) Enumerar termos importantes na ontologia; 4) Definir as classes e a hierarquia de classes; 5) Definir as propriedades das classes; 6) Definir cardinalidade e tipos das propriedades; 7) Criar instâncias 26 Além da definição do esquema da ontologia durante esta etapa da metodologia, uma linguagem e uma ferramenta para desenvolvimento são também selecionadas. No caso em questão nesta dissertação, onde um conjunto de textos sobre o domínio está disponível, um suporte semi-automático para a construção do esquema da ontologia pode ser usado. 2.2.5 Estrutura de uma Ontologia De acordo com CIMIANO (2006), uma ontologia é uma estrutura composta por quatro conjuntos, que são descritos a seguir. Conceitos Um conceito é a representação de uma entidade do mundo real que foi modelada na ontologia. Um conceito pode ser definido pelas suas características intrínsecas (por exemplo, país pode ser definido como território geograficamente delimitado e habitado por uma coletividade com história própria 11 ), ou de maneira extensiva, através da enumeração de entidades que compartilham as características do conceito (ex.: Itália, Brasil, Portugal, etc.). Dependendo do contexto e das ferramentas utilizadas, um “conceito” pode ser referido também como “classe”. Exemplos: artista, obra, livro, cidade, país. Relações entre conceitos Uma relação exprime a ligação entre dois conceitos. Dentro da estrutura da ontologia, denota-se por relação toda relação binária entre conceitos, com exceção das relações taxonômicas ou hierárquicas 12 . Exemplos: autor-de-obra (relação entre os conceitos “autor” e “obra” que denota a autoria da obra), nascido-em-cidade (relação entre os conceitos “pessoa” e “cidade” que denota a naturalidade da pessoa). Atributos de conceitos Atributos são as características que definem um conceito. Exemplos: data de nascimento, número de páginas de livro. 11 12 Acepção 2 do verbete país do Dicionário Eletrônico Houaiss da Língua Portuguesa. Neste trabalho considerou-se hierarquia e taxonomia como sinônimos. 27 Tipos de dados Tipos de dados definem como os atributos são representados. Exemplos: strings (cidade), datas (de nascimento), inteiros (número de páginas de livro). Adicionalmente a estes quatro conjuntos, são definidas duas hierarquias. Hierarquia (taxonomia) de conceitos Uma hierarquia de conceitos é caracterizada pela relação “é-um”, ou seja, de um conceito mais específico em relação a outro mais geral. É importante notar que relações de composição (parte-todo) não são taxonômicas e são representadas como relações e não na hierarquia de conceitos. Exemplos: livro é um tipo de obra, autor é um tipo de pessoa; volante não é um tipo de carro, portanto não deve constar na hierarquia de conceitos e sim ter os conceitos ligados por uma relação volante-compõe-carro. Hierarquia (taxonomia) de relações De maneira similar à hierarquia de conceitos, uma hierarquia de relações é caracterizada pela relação “é-um”, ou seja, de uma relação mais específica para outra mais geral. Exemplo: a relação capital-de (relação entre cidade e país que denota a principal cidade de um país) é um tipo de relação localizado-em (relação entre cidade e país que denota localização geográfica). Além desta estrutura, uma ontologia permite também a criação de axiomas. Através do uso de axiomas, podem ser especificadas regras ou restrições, como, por exemplo, a disjunção entre duas classes (ex.: uma pessoa não é uma cidade), a cardinalidade de relações (ex.: um país tem uma e somente uma capital) ou regras lógicas (ex.: um irmão do meu pai é meu tio). 2.2.6 Linguagens de Representação de Ontologias Para se representar concretamente uma ontologia, uma linguagem precisa ser utilizada. Existem várias linguagens propostas para esta finalidade, entre elas OIL, DAML+OIL e OWL (DACONTA et al, 2003). 28 A linguagem recomendada pelo W3C (World Wide Web Consortium) e também a mais adotada (CARDOSO, 2007) para representação de ontologias é a OWL (Web Ontology Language) (W3C, 2004) e será a linguagem adotada neste trabalho. A linguagem OWL tem três versões diferentes, com progressivos níveis de expressividade e complexidade, que são descritas a seguir, em ordem crescente de expressividade. OWL Lite (leve) OWL Lite tem capacidade expressiva para representar hierarquias e restrições simples, como valores para cardinalidade 0 ou 1. Pode ser utilizada para representar tesauros ou taxonomias; OWL DL (description logics – lógica de descrição) OWL DL tem maior expressividade, porém ainda garantindo que todas as conclusões sejam computáveis e decidíveis (computáveis em tempo finito). OWL DL é baseada em lógicas de descrição, que são formalismos para a representação de conhecimento; OWL Full (completa) OWL Full tem a máxima expressividade das três versões, sem garantia que todas as conclusões sejam computáveis e decidíveis (computáveis em tempo finito). Neste trabalho, a versão OWL DL é utilizada. 2.2.7 Informações Adicionais sobre Ontologias Existem diversas linguagens e ferramentas para representar e manipular ontologias. De acordo com a pesquisa realizada por CARDOSO (2007), a linguagem mais utilizada para representação de ontologias é a OWL (W3C, 2004) e o editor de ontologias mais usado é o Protégé (PROTÉGE, 2009). Um estudo sobre metodologias, ferramentas e linguagens pode ser encontrado em (GÓMEZ-PÉREZ et al., 2002). 29 2.3 Uso de Ontologias no Processo de Extração de Informações O problema de EI vem tendo atenção há mais tempo que o campo das ontologias. A convergência destas duas áreas deu origem aos processos de EI que usam ontologias. As ontologias podem interagir com o processo de EI de duas maneiras distintas, mas que podem ser combinadas (LI & BONTCHEVA, 2007). A primeira é como repositório para armazenamento das informações extraídas. Neste caso a ontologia é usada como destino do processo de EI e este modo é conhecido como extração de informações orientada a ontologias. A outra é como suporte ao processo de EI. Neste modo, a ontologia participa também como fonte de informações. Esta abordagem é chamada de extração de informações baseada em ontologias (YILDIZ & MIKSCH, 2007a). Alguns trabalhos recentes (BONTCHEVA et al., 2006, MC DOWELL & CAFARELLA, 2006) têm abordado o uso de ontologias não só para armazenar o resultado do processo de EI, mas também para suportar este processo. O uso de ontologias no processo de EI tem as seguintes diferenças para o processo tradicional de EI: O esquema da ontologia e suas instâncias substituem o uso de léxico e gazetteers lineares; A hierarquia de conceitos da ontologia é utilizada no processo de classificação das instâncias extraídas; Inferência sobre os conceitos representados na ontologia pode ser utilizada durante o processo de EI. O esquema da figura 2.4 ilustra como a ontologia é utilizada no processo, servindo como fonte de informação e suporte para o processo e também como repositório para as informações extraídas. 30 Figura 2.4 – Modos de utilização de uma ontologia no processo de EI Os sistemas de extração de informações orientada a ontologia ainda podem ser classificados quanto à anotação semântica. Se uma ligação entre o trecho do texto e a instância da ontologia é feita, considera-se que há anotação semântica (MAYNARD et al., 2007). No caso em que somente a instância da ontologia é criada, sem que seja mantida a ligação com o trecho do texto, considera-se que há somente o preenchimento da ontologia. Neste trabalho, uma ontologia de domínio é utilizada como destino do processo de EI, ou seja, é um processo de extração de informações orientada a ontologia. Não se considerou a extração de informações baseada em ontologia por causa da imaturidade da abordagem, bem como por conta da dependência dos processos ao modo como a ontologia está estruturada e a própria dificuldade de se encontrar ontologias disponíveis em português no domínio considerado. 31 3 Sistemática para Extração de Informações e Preenchimento de Ontologias Neste capítulo é proposta uma sistemática para apoiar a extração de informações e o preenchimento de ontologias de domínio, desde a seleção do corpus para o domínio de conhecimento escolhido até a ontologia de domínio preenchida, integrando as metodologias e passos necessários. Os requisitos funcionais e técnicos e um modelo para uma arquitetura de execução para apoiar a extração de informações e preenchimento de ontologias são também especificados neste capítulo. Esta arquitetura permite a operação dos programas e armazenamento das informações durante o processo de extração de informações e preenchimento da ontologia. Um levantamento das ferramentas específicas para funções de PLN e EI em português também é apresentado. 3.1 Sistemática A figura 3.1 apresenta uma visão geral da sistemática, com seus três estágios e as principais etapas de cada um. 32 Preparação Extração e Preenchimento Avaliação e Revisão Análise do corpus Extração das Avaliação qualitativa Limpeza e conversão informações Validação Instanciação Mensuração dos dos documentos Preparação dos extratores Preparação do esquema da ontologia resultados Análise do processo Especificação das alterações necessárias Figura 3.1 – Visão geral da sistemática Durante o estágio de Preparação, são feitas as análises necessárias para a seleção, construção (ou adaptação) e configuração dos recursos necessários à EI e PO. São preparados os extratores de informação e o esquema da ontologia. Para auxiliar o estágio de Preparação, os módulos mais elementares são executados. No estágio de Extração e Preenchimento, as informações são efetivamente extraídas, armazenadas em meio intermediário e validadas, e a ontologia é instanciada (preenchida). No estágio de Avaliação e Revisão, aspectos qualitativos e quantitativos dos resultados são apreciados e o processo como um todo é analisado para produzir as eventuais correções necessárias nos programas utilizados, na ontologia e no mapeamento entre EI e PO. A linha pontilhada no diagrama indica esta retroalimentação. Cada estágio e suas etapas correspondentes desta sistemática serão detalhados nas seções a seguir. 3.1.1 Preparação Para atingir o objetivo de extrair informações e preencher uma ontologia de domínio, uma série de etapas de análise, desenvolvimento e execução de programas é necessária. Existe um acoplamento entre algumas destas etapas, de modo que etapas de análise, desenvolvimento e execução são interdependentes, como será visto adiante. Ao final deste estágio, o esquema da ontologia e os programas necessários para EI e PO estão prontos para serem executados. 33 O diagrama da figura 3.2 mostra as etapas do estágio de Preparação que serão descritas a seguir. Cada etapa é apoiada por programas agrupados em módulos. Os números indicados nas etapas indicam os módulos correspondentes que as apóiam. A Construção do Ambiente de Execução é uma destas etapas, sendo executada ao longo de todo este estágio de maneira progressiva, à medida que as etapas de preparação correspondentes são executadas. Nas atividades desta etapa são construídos, configurados e integrados ao ambiente os softwares necessários. As etapas deste estágio serão detalhadas nas seções a seguir. Preparação Extração e Preenchime nto Preparação Definição do Domínio e do Escopo corpus Seleção do Corpus Avaliação e Revisão Delimitadores Limpeza de marcações Padrões Conversão de caracteres Expressões regulares Anotação da estrutura Análise da Estrutura do Corpus Seleção de técnicas Seleção de ferramentas Definição de Técnicas de PLN Execução do PLN Evolução do Esquema da Ontologia Aplicação de metodologia Análise de gap Seleção de linguagem Alterações Seleção de editor Extensões Módulo Preparatório Termos freqüentes Seleção de técnicas N-gramas Seleção de Regras de associação Seleção ou Criação da Ontologia Construção do Ambiente de Execução Limpeza e Conversão dos Documentos Módulo de PLN Análise Estatística dos Documentos ferramentas Definição de Técnicas de EI Mapeamento EI × Ontologia esquema da ontologia Opcional Módulo de EI Módulo de Manipulação da Ontologia Módulo de PO Requisitos funcionais Requisitos técnicos Integração Figura 3.2 – Visão geral do estágio de preparação 3.1.1.1 Definição do Domínio e do Escopo A primeira etapa realizada é a definição do domínio que será tratado (se este não for determinado a priori por fatores externos) e do escopo dentro deste domínio, isto é, 34 conceitos (e seus atributos), relações e eventos que são extraídos do corpus para o preenchimento da ontologia. Esta informação serve de entrada para a seleção do corpus. 3.1.1.2 Seleção do Corpus Para que se possa preencher uma ontologia a partir de textos, é necessário que haja um conjunto de textos e que ele esteja disponível eletronicamente. Este conjunto recebe o nome de corpus, podendo ser anotado ou não. É importante, entretanto, que este corpus seja representativo do escopo definido dentro domínio de conhecimento e seja compilado segundo critérios específicos. Eventualmente pode ser necessária uma etapa de conversão de outros meios para se obter o corpus em meio eletrônico, como, por exemplo, a digitalização de documentos em papel e o reconhecimento ótico de caracteres para gerar um corpus processável. Considerando-se os recursos disponíveis na web (essencialmente páginas de texto, sem anotação semântica), observa-se que a web semântica deve se beneficiar primordialmente de corpora não anotados para o PO. Assim, este foi o enfoque desse trabalho, que trata a necessidade de um corpus que seja abrangente (conjunto representativo da área de conhecimento tratada) e consistente (criado e mantido por pesquisadores da mesma área) dentro do domínio a ser tratado. 3.1.1.3 Análise da Estrutura do Corpus Após a seleção do conjunto de documentos que servirão de base para o PO, deve-se analisar a estrutura destes documentos. Esta análise é importante na identificação de características que auxiliam no pré-processamento de MT. Delimitadores de documentos, parágrafos e frases são buscados para permitir a segmentação do corpus. Além disto, também é necessário descobrir delimitadores indicadores de tokens de modo a tornar possível a tokenização. A análise visa ainda descobrir padrões e expressões regulares que apóiem a própria tokenização. 3.1.1.4 Limpeza e Conversão dos Documentos Esta etapa se inicia após a análise da estrutura dos documentos para produzir as especificações dos conversores necessários ao processamento dos documentos. Tipicamente, para uma coleção de páginas HTML (ou qualquer outra linguagem de marcação), as etiquetas e formatações que têm alguma semântica relevante são 35 convertidas para marcações no texto e as etiquetas que não trazem informação útil são limpas, para se obter um texto livre com anotação da informação que será utilizada. Em páginas da web é comum a ocorrência de caracteres especiais que podem causar problemas na execução de ferramentas de PLN e EI. Por exemplo, alguns caracteres codificados em UNICODE13, como a abertura de aspas duplas (“ ≡ LEFT DOUBLE QUOTATION MARK 14 ), devem ser convertidos para seus caracteres equivalentes, neste caso, aspas simples (" ≡ ASCII código 34). Nesta etapa, se necessário, é feita a conversão destes caracteres para contornar este problema mais adiante. Uma vez feita a análise, os conversores e ferramentas de limpeza são implementados e executados, para obter uma coleção de textos que contém somente texto livre, sem caracteres especiais, e as marcações relevantes para a PLN e EI. 3.1.1.5 Definição das Técnicas de PLN Nesta etapa, as técnicas de PLN são selecionadas e organizadas, bem como as ferramentas necessárias, para que efetivamente haja a delimitação/segmentação do corpus em documentos, parágrafos e frases; depois estas frases sejam tokenizadas, ou seja, passem por um processo de tokenização, fazendo uso dos delimitadores descobertos na etapa de Análise da Estrutura dos Documentos. Também deve ser selecionado o conjunto de técnicas e ferramentas para a normalização e etiquetagem sintática e morfológica, bem como análise sintática. 3.1.1.6 Execução do PLN A execução do PLN é realizada após a definição das técnicas e ferramentas para acrescentar informação lingüística ao corpus, através da delimitação do corpus, etiquetagem morfossintática, etc. Esta informação é utilizada pelas etapas subseqüentes de análise estatística e EI. 3.1.1.7 Análise Estatística dos Documentos Alguns passos adicionais podem ser empregados para auxiliar no processo de construção/manutenção (tratamento da evolução) do esquema da ontologia de domínio, através da geração de informações estatísticas sobre as características do corpus. 13 14 http://www.unicode.org/ Tabela de caracteres UNICODE disponível em http://www.unicode.org/charts/PDF/U2000.pdf 36 Nesta etapa são construídos e executados os programas que calculam as estatísticas para os termos mais freqüentes (MANNING & SCHÜTZE, 1999), n-gramas (BEKKERMAN & ALLAN, 2004) e regras de associação (AMIR et al, 2005), conforme será detalhado nas seções a seguir. A conjugação destas medidas estatísticas com informações lingüísticas pode aumentar o poder de análise, por exemplo, segmentando a freqüência dos termos por classe gramatical. 3.1.1.7.1 Freqüência dos termos do domínio Na área de RI, algumas medidas úteis baseadas na idéia de um modelo de espaço vetorial podem ser usadas para o cálculo de relevância de termos e classificação de documentos. Estas medidas podem ser empregadas para destacar os termos proeminentes dentro de um conjunto de documentos (MANNING & SCHÜTZE, 1999). Considerando um conjunto de documentos compostos por termos, as principais medidas que podem ser calculadas são: a) A freqüência absoluta de um termo em um documento, calculada como a contagem do número de ocorrências deste termo em cada documento; b) A freqüência normalizada que é definida como a razão entre a freqüência absoluta e a freqüência absoluta do termo mais freqüente no mesmo documento. Esta normalização visa diluir o viés causado por documentos muito grandes, que fazem a freqüência absoluta ser muito grande para termos usuais; c) A freqüência de documentos que é definida como a quantidade de documentos que contém um dado termo; d) A freqüência no corpus que é definida como a quantidade total de ocorrências de um dado termo no corpus; e) A freqüência inversa de documento (em inglês, IDF – inverse document frequency) é definida como o logaritmo da razão entre o número total de documentos e o número de documentos que contém um dado termo e é uma medida da relevância do termo na coleção de documentos; f) O TF-IDF é o produto da freqüência relativa do termo (TF) pelo IDF. Uma discussão mais abrangente sobre o cálculo destas medidas pode ser encontrada em (BAEZA-YATES & BERTIER, 1999) 37 O uso destas medidas pode trazer indicações importantes sobre os conceitos que se deseja capturar na ontologia que está sendo construída ou está em evolução. A análise de que métricas utilizar deve ser feito no momento da aplicação da sistemática, levando em conta que estes cálculos podem demandar um esforço computacional considerável. Em geral, os termos que apresentam maior freqüência absoluta são palavras sem foco semântico, como preposições, artigos e conjunções. São chamadas de stop words, e no processo de obtenção dos termos relevantes de um domínio, em geral só aparecem em expressões compostas. Stop words são dependentes do idioma e diversas listas delas existem, sendo que não há uma só lista que seja universalmente aceita. Para efeito deste cálculo podem ser excluídas as stop words, para se ter uma visão mais direta dos termos representativos do domínio. A associação deste cálculo estatístico com a informação lingüística das anotações feitas durante a execução do PLN pode enriquecer as informações obtidas. Utilizando-se as etiquetas morfossintáticas, podem-se obter listas separadas de substantivos comuns mais freqüentes (que são indicativos dos conceitos do domínio), substantivos próprios (que são indicativos de instâncias dos conceitos), verbos (indicando ações), etc. 3.1.1.7.2 N-Gramas Um cálculo similar pode ser realizado para termos compostos, conhecidos como n-gramas, onde n indica o número de palavras no termo composto. Por exemplo, “banco de dados” é um trigrama. Muitas vezes a ocorrência conjunta de termos carrega uma semântica específica, como por exemplo, nas expressões “bossa nova” e “Tom Jobim” (bigramas). A freqüência de ocorrência desta expressão pode ser um indicador de um conceito relevante no domínio sendo estudado (BEKKERMAN & ALLAN, 2004). O cálculo das freqüências é realizado de modo similar ao descrito na seção 3.1.1.7.1, considerando como termo o n-grama. É interessante notar que no cálculo das freqüências dos n-gramas, as stopwords em geral são relevantes quando contidas nos termos compostos. 3.1.1.7.3 Regras de Associação Regras de associação são uma classe importante de regularidade entre os dados 38 (HÖPPNER, 2005), onde se buscam relações do tipo {antecedente}→{conseqüente}, em que o antecedente e o conseqüente são termos ou conjunto de termos. Seu objetivo é encontrar relações de co-ocorrências, chamadas associações, entre documentos de textos. As regras de associação são caracterizadas pelo nível de suporte (razão entre a quantidade de documentos onde ocorrem o antecedente e o conseqüente, e o número total de documentos) e confiança (razão entre a quantidade de documentos onde ocorrem o antecedente e o conseqüente, e o número de documentos que contêm somente o antecedente). Por exemplo, se dois documentos sobre dois artistas tem ocorrências do bigrama “jovem guarda”, provavelmente estes dois artistas estão relacionados entre si, por estarem ligados ao movimento musical da Jovem Guarda. Esta informação pode ser útil como auxiliar na construção do esquema da ontologia e na instanciação de relações. 3.1.1.8 Definição das Técnicas de EI Nesta etapa são selecionadas as técnicas, bem como as ferramentas para a extração de entidades, menções, a descrição de entidades, as relações entre entidades e os eventos envolvendo as entidades, tal como descrito na seção 2.1.2.1. Funções de apoio à EI também podem ser selecionadas, bem como as respectivas ferramentas necessárias, tal como descrito na seção 2.1.2.2. Adicionalmente, extratores (de entidades, relações e eventos) baseados em regras, como descrito no item a da seção 2.1.4, que utilizam como parâmetros quaisquer informações obtidas pelas ferramentas de PLN e EI, são especificados e implementados com base na análise da estrutura do texto. 3.1.1.9 Seleção ou Criação do Esquema da Ontologia O objetivo desta etapa é produzir o esquema da ontologia de domínio que será posteriormente preenchida através do processo de EI e PO. O esquema pode ser produzido a partir da seleção de uma ontologia existente, o que poderá demandar algumas adequações, ou através da criação de uma nova. Existem diversas metodologias para a construção e evolução de ontologias, portanto não é objetivo deste trabalho criar uma nova metodologia para esta tarefa específica, mas sim utilizar uma metodologia já existente que se adéqüe aos objetivos 39 propostos. Nesta etapa também são selecionadas a linguagem e ferramenta para representação e manipulação da ontologia. 3.1.1.10 Evolução do Esquema da Ontologia As conceitualizações podem sofrer alterações à medida que os usuários interagem, novas descobertas acontecem ou mesmo o próprio negócio de uma empresa se altera. Assim, pode ser necessário propagar estas alterações para a ontologia de domínio. Da mesma forma que a construção de uma ontologia pode se dar através de mecanismos manuais ou automáticos, a manutenção também. Entretanto, não é objetivo deste trabalho tratar tais questões, especialmente por estarem mais relacionadas a aprendizado de ontologias e não ao PO, ficando apenas a menção da possibilidade de tal etapa que levaria, por exemplo, a redefinições (inclusões, alterações e/ou exclusões) em conceitos, relações, atributos, tipos de dados, hierarquia de conceitos, hierarquia de relações ou axiomas da ontologia. Para isto observa-se a necessidade de se avaliar a estrutura da ontologia segundo a conceitualização do domínio na tentativa de se capturar tais diferenças e conseqüentes necessidades de alterações. 3.1.1.11 Mapeamento EI × Ontologia As entidades, relações e eventos modelados no processo de EI são mapeados para o esquema da ontologia durante esta etapa. Esta etapa produz as especificações necessárias para esta tarefa, especificações que são utilizadas para a construção do programa que processa as informações extraídas e do programa que fisicamente cria as instâncias da ontologia. 3.1.1.12 Construção do Ambiente de Execução A sistemática é assistida por uma série programas que são desenvolvidos ou selecionados/adquiridos e configurados ao longo do estágio de Preparação. A integração das ferramentas a serem utilizadas em toda a sistemática é feita também durante esta etapa. Esta integração visa permitir que os resultados de determinada etapa/passo possam ser utilizados em outras etapas e passos posteriores. As ferramentas selecionadas para cada módulo devem estar devidamente configuradas e previamente preparadas para a execução. 40 3.1.1.12.1 Módulo Preparatório É formado pelo conjunto de ferramentas necessárias para a limpeza e conversão de documentos e os resultados da análise estatística, bem como documentação dos resultados da análise da estrutura de documentos. 3.1.1.12.2 Módulo de PLN É formado pelo conjunto de ferramentas necessárias para os passos de PLN determinados na Definição de Técnicas de PLN. 3.1.1.12.3 Módulo de EI É formado pelo conjunto de ferramentas necessárias para os passos de EI, determinados na Definição de Técnicas de EI. 3.1.1.12.4 Módulo de Manipulação da Ontologia O conjunto de ferramentas de criação e manipulação da ontologia inclui, além de ferramentas para criação e manutenção das ontologias, ferramentas para controle de versões, visualização, consultas, inferências, etc. 3.1.1.12.5 Módulo de PO É formado pelo conjunto de ferramentas necessárias para o mapeamento dos dados extraídos e a ontologia e para a criação de instâncias da ontologia. 3.1.1.12.6 Integração Além da seleção de ferramentas e sua preparação para execução, pode ser necessário integrar as ferramentas selecionadas para que trabalhem em conjunto. Portanto, esta etapa é necessária para verificar se estas funcionalidades foram providenciadas e integradas. 3.1.1.12.7 Requisitos Funcionais Do ponto de vista funcional, os seguintes requisitos se impõem para um sistema de PLN/EI/PO. Oferecer funções de manipulação de textos em múltiplos formatos Como a origem primária dos dados é uma coleção de textos, é fundamental que a 41 arquitetura esteja equipada com uma biblioteca para manipulação de textos, incluindo funções para manipulação de strings, expressões regulares e normalização. Permitir múltiplos níveis de anotação Isto significa permitir diversos níveis de anotações, sejam estas etiquetas morfossintáticas, limites de uma entidade mencionada ou quaisquer marcações necessárias para as funções descritas nas seções 2.1.1 e 2.1.2. As informações devem ser sempre incrementais ao longo da cadeia de processamento, isto é, as informações devem ser acrescentadas sem descartar informações geradas em etapas anteriores. Rastreamento Também deve ser possível o rastreamento das informações, isto é, ao longo da cadeia de processamento deve ser possível identificar, em cada etapa do processamento e anotação, a origem dos dados. Por exemplo, ao se identificar um nome próprio de pessoa como “Caetano Veloso”, a arquitetura projetada deve permitir indicar em que posição de que frase, em que parágrafo e documento esta ocorrência do nome aparece. 3.1.1.12.8 Requisitos Técnicos Do ponto de vista técnico, os seguintes requisitos devem ser atendidos: Conjunto de caracteres Considerando que a coleção dos textos está em português, todo o ambiente deve ser capaz de lidar com conjuntos de caracteres ISO-8859-1 (também chamado de LATIN1). Como algumas ferramentas, mesmo específicas para o português, apresentam algumas limitações em relação ao conjunto de caracteres aceitos, algumas conversões de caracteres específicos eventualmente precisam ser aplicadas antes do processamento por algumas ferramentas. Integração A arquitetura deve permitir fácil integração de ferramentas externas desenvolvidas em diversas linguagens de programação, plataformas de execução, modelos de interfaceamento, serviços web, processos batch, etc. 42 Este ponto deve ser considerado na escolha das linguagens de programação utilizadas sobre a arquitetura e tecnologias utilizadas para armazenamento dos resultados intermediários dos processos. 3.1.2 Extração Neste estágio os programas produzidos no estágio de Preparação são executados para extrair conceitos, relações e eventos e preencher a ontologia. O diagrama da figura 3.3 mostra uma visão geral do estágio de execução. Extração e Preenchimento Preparação Extração e Preenchime nto Avaliação e Revisão corpus Criação física dos conceitos, relacionamentos e eventos Extração de Entidades Extração de Relações Extração de Eventos Validação das Instâncias Instanciação base de conhecimento Opcional Figura 3.3 – Visão geral do estágio de extração e preenchimento Neste estágio, os módulos Preparatórios e de PLN já foram executados durante o estágio anterior de Preparação. Seguindo a estrutura apresentada na seção 2.1.2.1, são descritos a seguir a extração de conceitos, relações e eventos. 3.1.2.1 Extração de Entidades Nesta etapa são executados os programas que realizam a extração de conceitos. Dependendo do que foi definido na etapa de Definição de Técnicas EI, estes programas podem utilizar a saída das funções de apoio a EI (seção 2.1.2.2), aplicar regras baseadas em conhecimento sobre o domínio ou conjugar todas estas informações para obter as 43 instâncias de entidades. As instâncias extraídas são armazenadas e posteriormente mapeadas para conceitos da ontologia. 3.1.2.2 Extração de Relações Dependendo do que foi definido na etapa de Definição de Técnicas de EI, os programas que executam a extração de relações podem utilizar a saída das funções de apoio a EI (seção 2.1.2.2), utilizar a saída da extração de conceitos, aplicar regras baseadas em conhecimento sobre o domínio ou conjugar todas estas informações. As instâncias extraídas são armazenadas e posteriormente mapeadas para relações da ontologia. 3.1.2.3 Extração de Eventos Nesta etapa são executados os programas que realizam a extração de eventos. Eventos conjugam informações sobre entidades e relações de uma forma que identifica o evento. Dependendo do que foi definido na etapa de Definição de Técnicas de EI, estes programas podem utilizar a saída das funções de apoio a EI (seção 2.1.2.2), utilizar as saídas da extração de conceitos e relações, aplicar regras baseadas em conhecimento sobre o domínio ou conjugar todas estas informações para obter as instâncias de entidades. As instâncias extraídas são armazenadas e posteriormente mapeadas para conceitos e relações da ontologia que representam o evento capturado. 3.1.2.4 Validação das Instâncias Depois da extração dos conceitos, relações e eventos a partir da coleção de textos, uma etapa opcional e possivelmente manual de validação é executada. O retorno do usuário nesta etapa pode ser utilizado para corrigir as instâncias, bem como ser usado durante a etapa de revisão. A validação é conduzida com base nos conceitos, relações e eventos, permitindo ao revisor marcar instâncias que foram extraídas incorretamente. A proporção de instâncias incorretas em relação ao total pode ser usada como uma estimativa da precisão do sistema de EI, no caso de não haver um corpus anotado para efetuar-se a medida da precisão. 3.1.2.5 Instanciação A etapa de instanciação de ontologia cria fisicamente as instâncias de conceitos 44 (e seus atributos) e relações na ontologia de domínio. Para tal, o mapeamento entre a saída do processo de extração de informações e o esquema da ontologia é utilizado. 3.1.3 Avaliação & Revisão O diagrama da figura 3.4 mostra uma visão geral dos estágios de Avaliação e Revisão. Avaliação e Revisão Preparação Extração e Preenchime nto Avaliação e Revisão Avaliação Qualitativa Revisão base de conhecimento Avaliação Quantitativa Análise do processo especificações das alterações Precisão Abrangência Figura 3.4 – Visão geral dos estágios de avaliação e revisão 3.1.3.1 Avaliação Qualitativa A avaliação qualitativa é baseada na análise dos conceitos (e seus atributos), relações e eventos extraídos do texto em comparação com a informação que era processável originalmente nos textos originais. Do ponto de vista qualitativo, uma relação que foi extraída dos textos e que não era facilmente identificada a partir dos textos, acrescentou uma nova informação que pode ser usada de diversas maneiras, para navegação, consulta ou integração. De modo similar isto pode ocorrer com conceitos, atributos e eventos extraídos, que podem contribuir para o aumento das possibilidades de aplicação das informações contidas no corpus. 3.1.3.2 Avaliação Quantitativa Para avaliar a ontologia instanciada, o foco de avaliação é sobre o processo de EI. Para efetuar a medida de abrangência e precisão, um corpus anotado é necessário. Se um corpus anotado não estiver disponível, uma amostra do corpus precisa ser anotada manualmente para permitir a avaliação. Usando esta amostra, as medidas de abrangência e precisão podem ser feitas. 45 Tradicionalmente, sistemas de EI são avaliados através das medidas de precisão (precision), abrangência (recall) e medida f (f-measure) em relação às classes extraídas. As definições destas medidas são as seguintes: A precisão é definida como o percentual de itens extraídos corretamente em relação ao número total de itens extraídos pelo sistema; A abrangência é definida como o percentual de itens extraídos corretamente em relação ao número total de itens que deveriam ter sido extraídos pelo sistema. A medida f é definida como a média harmônica entre precisão e abrangência. Tem o intuito de colher uma medida mais equilibrada entre precisão e abrangência, uma vez que a otimização conjunta de precisão e abrangência é o objetivo buscado. Para efetuar as medidas, é necessário que pelo menos uma amostra do corpus esteja anotada para ser utilizada como referência. Usando esta amostra, a precisão e abrangência podem ser calculadas durante esta etapa. Para sistemas baseados em ontologias, uma medida de distância semântica pode ser adotada para melhor representar a qualidade do processo. Se por exemplo, em uma ontologia há uma hierarquia entre localidade geográfica e cidade, sendo esta última uma subclasse da primeira, e o sistema de EI classifica “Teresópolis” como localidade geográfica, estará cometendo um erro, mas será ainda mais correto do que, por exemplo, classificar como organização, uma classe que não guarda relação alguma com a classe apropriada. 3.1.3.3 Revisão O estágio de revisão tem o objetivo de avaliar o processo como um todo e gerar os ajustes necessários ao processo na forma de especificações de modificações das etapas anteriores. Do ponto de vista da qualidade das fontes de dados (coleção de documentos), uma série de análises de consistências e verificações cruzadas pode ser aplicada nesta etapa para identificar níveis variáveis de completude e padronização de dados. Esta validação pode auxiliar os especialistas do domínio analisado na melhoria da qualidade da informação. O produto desta revisão pode demandar uma nova execução da sistemática, após a modificação de qualquer dos componentes como a ontologia, ou os extratores. 46 3.2 Modelo de Arquitetura A figura 3.5 mostra uma visão geral da arquitetura de execução proposta. Módulo Preparatório Módulo de PLN Módulo de EI Módulo de PO REM Módulo de Manipulação da Ontologia Segmentação corpus Limpeza Tokenização Conversão Etiquetagem Morfossintática Estatísticas Identificação de Sintagmas Nominais Visualização Consultas Etiquetagem de Papéis Semânticos Resolução de Anáforas Instanciação Desambiguação Mapeamento ontologia Normalização Análise Sintática Extratores Editor de Ontologias Mecanismo de Inferência Armazenamento Intermediário Figura 3.5 – Modelo de Arquitetura para EI e PO O Módulo Preparatório compreende os programas que efetuam a limpeza e conversão dos documentos do corpus e calculam as estatísticas. O Módulo de PLN é composto pelos programas que executam a cadeia de PLN (segmentação, tokenização, normalização, etiquetagem morfossintática e análise sintática), responsáveis pelas funções descritas na seção 2.1.1 O Módulo de EI é composto pelos programas que executam as funções de EI (identificação e classificação de entidades – REM, identificação de sintagmas nominais, etiquetagem de papéis semânticos, resolução de anáforas e desambiguação do sentido das palavras). Neste módulo são implementados também os extratores de conceitos, relações e eventos que são baseados em toda informação lingüística produzida. No Módulo de PO são implementados o programa responsável pelo mapeamento entre as informações extraídas e a ontologia, e o programa que cria as respectivas instâncias na ontologia. O Módulo de Manipulação da Ontologia é composto pelo editor de ontologias e mecanismos de visualização, consultas e inferência sobre a ontologia. Dependendo da ferramenta adotada para edição das ontologias, estas funções podem estar integradas ao próprio ambiente de edição. 47 O armazenamento intermediário deve atender aos requisitos funcionais e técnicos descritos, podendo ser implementado fisicamente em um banco de dados, através de um conjunto de arquivos XML ou outro meio de armazenamento. 3.3 Ferramentas e Recursos Disponíveis para PLN e EI em Português Para apoiar as etapas de Definição de Técnicas de PLN e Definição de Técnicas de EI, um levantamento das ferramentas específicas para português foi realizado, considerando uma matriz de funcionalidades correspondente às funções de PLN e EI descritas nas seções 2.1.1 e 2.1.2. As ferramentas foram avaliadas do ponto de vista funcional sem, entretanto, considerar o nível de desempenho de cada ferramenta, como precisão e abrangência, por exemplo. Aspectos técnicos, tais como plataforma de execução, modo de execução e modalidade da API das ferramentas foram também analisados. Esta análise não é exaustiva, tendo considerado as ferramentas disponíveis publicamente, representando o conhecimento acumulado durante o trabalho de pesquisa da dissertação. O PALAVRAS (BICK, 2000) é um sistema de análise gramatical desenvolvido na Universidade do Sul da Dinamarca, baseado em gramática de restrições. O programa SENTER (PARDO, 2006) é um delimitador de sentenças desenvolvido na Universidade de São Paulo, pelo NILC (Núcleo Interinstitucional de Lingüística Computacional). O LX-Suite (BRANCO & SILVA, 2006) é um conjunto de funções desenvolvidas na Universidade de Lisboa para o PLN do português. O NLTK (Natural Language Toolkit) (BIRD & LOPER, 2004) é uma iniciativa de código aberto iniciada na Universidade da Pensilvânia que tem o objetivo de fornecer um conjunto de ferramentas para PLN (inicialmente em inglês). Através da inclusão de corpora da língua portuguesa, o NLTK passou a oferecer algumas funções de PLN para português. O serviço de PLN para língua portuguesa F-EXT-WS (FERNANDES et al, 2009) foi desenvolvido na Pontifícia Universidade Católica do Rio de Janeiro. É baseado no algoritmo ETL para realizar as tarefas de etiquetagem morfossintática, segmentação de sintagmas nominais e reconhecimento de entidades mencionadas. 48 A tabela 3.1 sumariza as funções disponíveis em cada uma das ferramentas consideradas. Tabela 3.1 – Matriz de funções das ferramentas de PLN e EI para português NTLK FEXTWS PALAVRAS SENTER LXSuite Delimitação de frases Tokenização Normalização Etiquetagem Sintática Etiquetagem Morfológica Análise Sintática REM Identificação de Sintagmas Nominais Nenhuma das ferramentas avaliadas oferece as funções específicas para português de identificação de papéis semânticos, resolução de anáforas ou desambiguação do sentido das palavras. No serviço F-EXT-WS a função de identificação de papéis semânticos está planejada (FERNANDES et al, 2009). Do ponto de vista técnico, as ferramentas foram classificadas de acordo com os seguintes critérios. Modo de execução/interface de acesso Este critério considera como a ferramenta é executada e como é feito o acesso para a sua execução. Dentro das ferramentas pesquisas há três modos: Acesso via web, onde o usuário interativamente submete seu texto ou arquivos para processamento; Serviço web, quando a ferramenta publica um serviço web, permitindo a integração de aplicações clientes; e Execução local, quando a ferramenta demanda a instalação de artefatos para execução local dos programas que a compõem; Modo de resposta Este critério considera como a ferramenta responde às solicitações e pode ter os 49 modos batch, quando a execução funciona através da submissão de um arquivo com resposta assíncrona e online, quando a execução ocorre sincronamente após a submissão de um texto interativamente ou via API. A tabela 3.2 exibe os aspectos técnicos de cada ferramenta de acordo estes critérios. Tabela 3.2 – Aspectos técnicos das ferramentas de PLN e EI para português PALAVRAS SENTER Modo de Execução/ Interface de Acesso Modo de Resposta LXSuite Acesso via web Serviço web 15 16, 17 Execução local Batch 15 FEXTWS Online NTLK (Biblioteca Python) Mediante negociação com os provedores do serviço. Gratuito para uso acadêmico, serviço pago para aplicações comerciais. 16 O módulo LX-NER que implementa a função de REM não oferece serviço web. 17 As funções de normalização e etiquetagem morfológica não estão disponíveis através do serviço web. 50 4 Preenchimento de Uma Ontologia em Língua Portuguesa Neste capítulo é descrita a aplicação da sistemática proposta a um domínio particular, com o objetivo de extrair conceitos, eventos e relações de textos e preencher uma ontologia de domínio em língua portuguesa. Nas seções a seguir são descritos, dentro dos moldes da sistemática, os estágios e etapas executados durante a implementação. Nem todas as etapas da sistemática e funções de PLN e EI foram utilizadas, uma vez que o foco desta aplicação foi tornar factível a implementação de um protótipo para EI e PO. 4.1 Preparação O primeiro estágio da sistemática é o de Preparação. A seguir as respectivas etapas aplicadas ao domínio escolhido são descritas. 4.1.1 Definição do Domínio e do Escopo Os seguintes fatores foram considerados na seleção do domínio para aplicação da sistemática: a) Buscou-se um domínio de conhecimento não técnico, de modo a permitir a validação das informações extraídas sem a necessidade de um especialista no domínio de conhecimento; b) A possibilidade de contribuição para pesquisadores e comunidade do domínio a ser selecionado, através da estruturação do conhecimento contido no corpus. Considerando estes critérios, o domínio da história da MPB foi escolhido por permitir a validação sem a necessidade de especialistas e pela inexistência, dentro do alcance da pesquisa realizada, de uma ontologia da história da MPB. 51 O objetivo da aplicação da sistemática foi a extração de entidades, relações e eventos artísticos para o preenchimento da ontologia de domínio. Foi considerado o seguinte escopo: Entidades - Artista: Uma pessoa que é compositora de uma música ou que gravou um disco; - Obra: Uma música ou registro fonográfico (disco) que tem um ou mais autores; - Tempo: Informação temporal sobre um evento, como a data de gravação de uma música; Relações - Autoria: Relação entre artista e obra que indica que o artista é autor da obra; - Interpretação: Relação entre artista e obra que indica que o artista é intérprete da obra; Evento - Gravação: Relação entre artista e obra (música ou registro fonográfico) que indica que o artista a gravou em uma determinada data. 4.1.2 Seleção do Corpus Aplicando os critérios da seção 3.1.1.2 e considerando o domínio escolhido, o Dicionário Cravo da Música Popular Brasileira foi selecionado como corpus, por atender aos quesitos de abrangência, consistência e por ser disponível pública e gratuitamente em formato eletrônico. Outra fonte cogitada foi a Enciclopédia da Música Brasileira (MARCONDES, 1998), mas esta não foi adotada por não ser disponível em meio eletrônico. O Dicionário Cravo Albin da Música Popular Brasileira (ALBIN, 2009) é mantido pelo Instituto Cultural Cravo Albin 18 , uma organização civil, sem fins lucrativos, criada em 2001 e sediada na cidade do Rio de Janeiro. O dicionário contém 18 http://www.iccacultural.com.br/ 52 mais de 5.000 verbetes com informações sobre a biografia, dados artísticos, shows, shows vídeo clips e bibliografia relacionada de artistas da MPB. Está disponível na web e é organizado e acessado pelos nomes dos artistas. Existe também também uma versão impressa e ilustrada do dicionário (ALBIN, 2006). Apesar do conteúdo integral do dicionário estar disponível na web,, ele é organizado anizado na prática como um dicionário de papel que foi transcrito eletronicamente, isto to é, não há ligações entre os tópicos tópicos ou facilidades para percorrer seu conteúdo (ou seja, não há hiperlinks disponíveis). A única função disponível é a busca por verbete (nome do artista). artista Cada verbete do dicionário é apresentado apresentado em uma ou mais páginas páginas HTML. HTML A figura 4.1 mostra a página página inicial do dicionário, disponível em www.dicionariompb.com.br. Figura 4.1 – Página principal rincipal do dicioonário As informações informaç sobre cada verbete são divididas nas seguintes seções: nome n complet data completo, ata e local de nascimento, ascimento, data ata e local ocal de morte (quando aplicável), aplicável) biografia, iografia, dados artísticos, artísticos, obra, discografia, discografia shows hows, vídeo ídeo clips, dados artísticos & históricos críticas e bibliografia. históricos, bibliografia 53 A figura 4.2 mostra um exemplo de página página de detalhes, com a biografia de Antônio ntônio Carlos Brasileiro de Almeida Jobim (Tom Jobim). Figura 4.2 – Exemplo de página de biografia: Tom Jobim 4.1.3 Análise da Estrutura strutura do Corpus orpus As informações contidas no dicionário apresentam variados níveis de d padronização e formatação. Alguns dados como nome, nome completo, dados sobre nascimento e morte têm uma forma de apresentação com alguma estrutura, apesar da variação da completude comple das informações. Por exemplo, para dados sobre data e local de nascimento, to, são encontradas formas como as mostradas na figura 4.3. encontradas Figura 4.3 – Exemploss de dados com alguma estruturação: estrutura : dados biográficos A completude complet e precisão das informações variam de acordo com os verbetes. verbetes O primeiro exemplo contém uma data de nascimento ascimento completa complet (4/5/1953), cidade de nascimento (Rio de Janeiro) e estado de nascimento (RJ), enquanto o segundo m mostra ostra só 54 o ano de nascimento (1980), cidade (Passo Fundo) e estado (RS) e o úúltimo ltimo somente a cidade de (Porto Alegre) e estado (RS), (RS), sem informação sobre data. Informações nformações sobre discografia, video clips, clips shows e bibliografia são apresentadas de forma similar, como texto, mas seguindo certa estruturação e estilo. Por exemplo, para a seção de obra são apresentadas apresentadas as composições do autor, com indicação de parcerias entre parênteses, parênteses como mostrado na figura 4.4. Figura 4.4 – Exemplo de dados com alguma estruturação: estr : obra A maior parte das informações aparece aparece como texto texto livre em linguagem natural, natural como por exemplo, a seção de biografia, biografia, mostrada na figura 4.5. Tom Jobim Filho de Jorge de Oliveira Jobim e de Nilza Brasileiro de Almeida. Nascido na Tijuca, mudou-se mudou se para Ipanema em 1931. Lá viveu com os avós maternos, Mimi e Azor, os pais e sua única irmã, Helena Jobim. Depois da morte prematura do pai, sua mãe casou-se casou com (... ...) Figura 4.5 – Exemplo de dados em forma de texto livre: livre: biografia 4.1.4 Limpeza e Conversão onversão dos Documentos ocumentos O dicionário é apresentado em páginas HTML que têm uma padronização de URLs, de acordo com o verbete e seção das informações. Adicionalmente, dentro de cada página, há marcas bem definidas (que visualmente são imagens que demarc demarcam am as informações ou seções) que foram usadas para segmentar o conteúdo do corpus. corpus Foi considerado que um documento é identificado pelo nome do artista (verbete do dicionário) e pelo nome da seção, como biografia, obra, obra etc. Um exemplo de um trecho de página página HTML do dicionário é mostrado na figura 4.6, com a indicação dos critérios utilizados para identificar as seções seções,, conforme explicado na tabela 4.1. 4.1 55 <HTML> ... SRC="img/bul_nasc.gif" WIDTH="7" HEIGHT="7"> 25/1/1927 Rio de Janeiro, RJ<BR> <IMG SRC="img/gap4.gif" WIDTH="140" HEIGHT="6"><BR> <IMG SRC="img/bul_mort.gif" WIDTH="6" HEIGHT="8" BORDER="0"> 8/12/1994 Nova York, EUA<BR><IMG SRC="img/gap4.gif" WIDTH="140" HEIGHT="6"></TD></TR> <TR><TD><B>Veja Também: </B><A class='busca' HREF='verbete.asp?nome=Bossa+Nova&tabela=T_FORM_C'>Bossa Nova</A></TD></TR> <TR><TD><BR><IMG SRC="img/bio.gif" WIDTH="400" HEIGHT="19" BORDER="0"></TD></TR> <TR><TD>Compositor. Arranjador. Instrumentista. Filho de Jorge de Oliveira Jobim e de Nilza Brasileiro de Almeida. Nascido na Tijuca, mudou-se para Ipanema em Figura 4.6 – Trecho de código HTML do dicionário A separação das seções do dicionário foi realizada através da aplicação de expressões regulares. A tabela 4.1 mostra alguns exemplos de etiquetas HTML (indicadas também na figura 4.6) utilizadas para fazer a separação do conteúdo das seções. Tabela 4.1 – Exemplos de identificação da estrutura Padrão utilizado para identificação Etiqueta HTML Dados Extraídos Nascimento <IMG SRC="img/bul_nasc.gif" … data + cidade expressão regular para extrair dados estado Etiqueta HTML <IMG SRC="img/bio.gif" … … Biografia + Texto da seção de biografia marca de início da próxima seção ou de fim de página 56 As páginas HTML contêm caracteres especiais que em geral não são processados corretamente pelas ferramentas de PLN. Portanto, nesta etapa foi feita a conversão destes caracteres, como descrito no Apêndice C. Foi observado que não se utiliza a etiqueta <p> para demarcar parágrafos nas páginas HTML do dicionário, como seria usual. Entretanto, os parágrafos são separados por uma linha em branco, ou seja, pelo padrão de etiquetas <br><br> no código HTML. 4.1.5 Definição das Técnicas de PLN Para esta aplicação da sistemática foram utilizadas as funções de segmentação de documentos, parágrafos e frases, tokenização, normalização de palavras e etiquetagem morfossintática. A etiquetagem morfológica e análise sintática não foram utilizadas, porque as regras aplicadas para EI não necessitaram desta informação, como será descrito mais adiante, na seção 4.1.8. A separação da coleção de documentos foi feita utilizando a regra de formação das URLs das páginas HTML e marcações de seção dentro do HTML, que são indicadas por imagens que delimitam as seções textuais. A segmentação de parágrafos foi realizada utilizando a formatação das páginas HTML, utilizando etiquetas <br> subseqüentes. A etiqueta <p> que seria uma indicação candidata à delimitação de parágrafos não é utilizada nas páginas HTML do dicionário. A segmentação de frases, tokenização e etiquetagem sintática foi realizada através da ferramenta LX-Suite (BRANCO & SILVA, 2006). A normalização foi feita através da utilização do dicionário de flexões DELAF_PB19, recurso léxico desenvolvido na Universidade de São Paulo, pelo NILC (Núcleo Interinstitucional de Lingüística Computacional) no âmbito do projeto UNITEX-PB (MUNIZ et al., 2005). Este dicionário contém cerca de 880.000 entradas de palavras flexionadas e suas formas canônicas correspondentes, de acordo com sua função gramatical e foi utilizado para obter as formas canônicas das palavras, através da implementação de um programa dedicado. Optou-se pelo desenvolvimento desta ferramenta porque o LX-Suite não oferecia a informação de normalização através do acesso via serviço web. 19 Disponível em http://www.nilc.icmc.usp.br/nilc/projects/unitex-pb/web/files/DELAF_PB.zip 57 4.1.6 Execução do PLN Após a definição e implementação das ferramentas, as ferramentas foram executadas. Os resultados são descritos a seguir. Após o processo de separação do corpus por verbete e seção, um total de 19.035 documentos foi obtido, distribuídos em 13 seções e 5.876 verbetes distintos. Destes documentos, 4.009 documentos são das seções Dados Artísticos e Biografia, que contêm as informações em texto livre que foram utilizadas. A segmentação destes 4.009 documentos em parágrafos resultou em 34.217 parágrafos cuja segmentação em frases produziu um total de 98.328 frases, cuja tokenização resultou em 2.764.167 tokens. A execução da etiquetagem sintática pela ferramenta LX-Suite produziu a anotação dos tokens de acordo com o conjunto de etiquetas listado no Apêndice B. Por fim, o programa de normalização foi executado para obter as formas canônicas das palavras. 4.1.7 Análise Estatística dos Documentos De maneira a se ter uma visão dos termos mais relevantes do corpus, o cálculo da freqüência no corpus (conforme item d da seção 3.1.1.7.1) dos tokens marcados como verbo ou substantivo foi realizado após a tokenização e etiquetagem sintática realizadas na etapa de Execução do PLN. A tabela 4.2 mostra os cinco verbos e cinco substantivos comuns mais freqüentes no corpus do dicionário. Tabela 4.2 – Os cinco verbos e os cinco substantivos mais freqüentes no corpus Classe Gramatical Palavra gravou lançou Verbo participou apresentou interpretou ano disco Substantivo Comum samba música parceria 58 Os verbos mais freqüentes são uma indicação de eventos (ações) relevantes neste domínio, como “gravou” e “participou”. Os substantivos comuns são uma indicação de classes relevantes, como “disco” e “samba”, ou ainda de relações importantes, como “parceria”. Stop words não interferem nesta medida porque são classificados como artigos, conjunções, preposições, ou seja, palavras sem foco semântico. Para o domínio e escopo tratados nesta aplicação da sistemática as outras medidas estatísticas não foram utilizadas, pois os conceitos, relações e eventos foram determinados através da aplicação do conhecimento sobre o domínio. 4.1.8 Definição das Técnicas de EI Como o corpus selecionado não tem anotação semântica disponível, uma abordagem não supervisionada baseada em regras foi adotada para implementação dos extratores de informação. Uma ferramenta de REM não foi necessária porque para identificar as entidades mencionadas, indicações estruturais do texto e as etiquetas sintáticas produzidas pelo LX-Suite (especificamente a etiqueta PNM que indica parte de nome próprio) foram utilizadas. No corpus, as ocorrências de músicas e discos ocorrem entre aspas. A identificação de sintagmas nominais, que poderia auxiliar na extração de relações e eventos, não foi utilizada porque durante a implementação do protótipo a ferramenta F-EXT-WS ainda não estava disponível. Para etiquetagem de papéis semânticos não foi encontrada uma ferramenta pública para a língua portuguesa, dentro do alcance desta pesquisa. Um processo simplificado para identificação de argumentos do verbo foi aplicado, conforme será descrito na seção 4.1.8.3. A resolução de anáforas foi implementada através de uma regra simplificada, descrito a seguir na seção 4.1.8.1.3 para tratar expressões temporais anafóricas. A desambiguação de sentido de palavras não foi realizada, pois não foi encontrada nenhuma ferramenta disponível. Dentro do escopo proposto, foram extraídas as entidades Artista, Obra e Tempo; as relações Autoria e Interpretação; e o evento Gravação. 59 4.1.8.1 Extração de Entidades Para a extração de entidades, foram desenvolvidos alguns programas, que são explicados nas seções seguintes. 4.1.8.1.1 Identificação e Classificação de Artistas Para identificar e extrair instâncias de artistas foram consideradas três fontes e aplicados os seguintes critérios: a) Verbete do dicionário Cada entrada do dicionário é um artista e, portanto, gera uma instância da classe Artista. Neste caso, informação adicional sobre a instância é extraída: nome completo, data de nascimento e papel (instrumento executado, por exemplo); b) Figuração na lista de obras Nem todo artista que figura como parceiro na lista de obras é um verbete do dicionário. No caso do nome não figurar como verbete, o nome do artista é extraído e uma instância criada para ele. Neste caso não há extração dos atributos da instância, pois estes não estão disponíveis; c) Agentes de eventos Na etapa de extração de eventos, como será descrito na seção 4.1.8.3, o agente de um evento é também um artista. Este pode não ter sido ainda instanciado e o será neste momento. O nome do artista é extraído (é a entidade mencionada que ocorre antes do verbo). Neste caso não há extração dos atributos da instância, pois estes não estão disponíveis. A classificação dos artistas de acordo com seu papel foi feita usando descrições textuais que constam dos verbetes em frases sem verbo e que caracterizam o artista, tais como “compositor” e “pianista”. A forma normalizada destas expressões é utilizada para eliminar variações de gênero, ou seja, “atriz” e “ator” são mapeados para a mesma classe. 60 4.1.8.1.2 Identificação e Classificação de Obras São considerados dois tipos de obra: músicas e discos. Para identificar e extrair instâncias de obras foram consideradas duas fontes e aplicados os seguintes critérios: Figuração na lista de obras A fonte primária para instâncias de música é a seção de obras; Objetos de eventos Na etapa de extração de eventos, o paciente (objeto) de um evento é uma obra, podendo ser uma música ou um disco. Esta obra pode ainda não estar instanciada e o será neste momento. O nome da obra é extraído (é tomada a expressão marcada por aspas que ocorre depois do verbo). A classificação entre disco e música foi feita através da análise da expressão que ocorre anteriormente ao nome da obra, podendo esta ser uma classificação de gênero musical (samba, valsa, samba-canção, etc.) ou do meio de gravação (LP, CD, disco). Para classificar as obras artísticas, uma lista (gazetteer) de tipos de trabalho e gêneros musicais foi usada. Esta lista foi construída, classificada manualmente e carregada na área de armazenamento intermediário para permitir a classificação durante o processo de extração. 4.1.8.1.3 Identificação de Expressões Temporais Para o processo de EI, dois tipos de expressões temporais foram considerados. O primeiro tipo é formado por expressões que contém datas em formatos com pelo menos uma parte numérica, tais como “01/04/1970” ou “janeiro de 1970”. O que caracteriza este tipo de expressão é o fato dela conter pelo menos uma parte numérica. Variados níveis de precisão e incerteza podem ser representados através deste tipo de expressão, como “no início do ano 2000”, “por volta de 1870” ou “em meados de 1999”. Estes níveis variáveis de precisão e incerteza foram levados em consideração e representados na ontologia. Através do uso da expressão numérica como gatilho para identificação das expressões temporais e da aplicação das regras sintáticas, uma lista de padrões de expressões foi construída e classificada de acordo com as classes da ontologia. Estas regras são baseadas nas características das palavras e de sua classe gramatical. Através da aplicação destas regras sobre o corpus do dicionário, os padrões de expressões temporais descritos na tabela 4.3 foram obtidos. São indicados a semântica 61 da expressão (se instante ou intervalo)(ALLEN, 1991) e a granularidade e precisão associadas à expressão. Nesta tabela, <AAAA> indica qualquer ano composto por quatro dígitos e <AAA0> indica um ano que pode designar década. Tabela 4.3 – Padrões de expressão temporal com uma data Semântica Instante Intervalo Granularidade/ Precisão Gabaritos década em a década de <AAA0> em os anos <AAA0> década (com incerteza) em o início de os anos <AA0> em o início de a década <AA0> em meados de a década de <AA0> em meados dos anos <AA0> em final de a década de <AA0> ano em <AAAA> em o ano de <AAAA> mês em <mês> de <AAAA> dia em <dia> de <mês> de <AAAA> ano (com incerteza) por volta de <AAAA> em meados de <AAAA> ano (com incerteza) em início de <AAAA> ano (aberto à direita) desde <AAAA> a partir de <AAAA> ano (aberto à esquerda) até o ano <AAAA> ano durante o ano de <AAAA> Os padrões de datas compostos por duas expressões numéricas e separados por apenas um token são listados na tabela 4.4. 62 Tabela 4.4 – Padrões de expressão temporal com pares de datas Separador Semântica Granularidade Gabaritos a Intervalo Ano de <AAAA> a <AAAA> até Intervalo Ano de <AAAA> até <AAAA> Instante Ano em <AAAA> e <AAAA> nos anos de <AAAA> e <AAAA> entre <AAAA> e <AAAA> Intervalo Ano entre os anos de <AAAA> e <AAAA> e Intervalo Década entre as décadas de <AAA0> e <AAA0> ao longo das décadas de <AAA0> e <AAA0> nas décadas de <AAA0> e <AAA0> Instante Década nos anos <AAA0> e <AAA0> dos anos <AAA0> e <AAA0> - Intervalo Ano / Intervalo Ano <AAAA>-<AAAA> de <AAAA>/<AAAA> entre os anos de <AAAA>/<AAAA> As expressões com semântica de intervalo foram analisadas, mas não foram incluídas no mapeamento com a ontologia, porque os eventos que foram extraídos não demandavam este tipo de expressão. Entretanto, estes gabaritos podem ser utilizados em outros tipos de eventos. O segundo tipo de expressões temporais contém anáforas construídas com preposições como “no ano seguinte”, pronomes demonstrativos como “neste mesmo ano” ou com locuções adverbiais como “dois anos depois”. Este tipo de expressão precisa ser resolvido, fazendo a ligação com a expressão referente, de forma a obter o valor do atributo temporal. Para a resolução deste tipo de anáfora, uma heurística simples inspirada no algoritmo de Mitkov (CHAVES & RINO, 2008) foi utilizada. Para identificar a expressão referente, são selecionadas as frases que não tem expressão numérica e que contém as palavras “ano” e “década”. Na heurística utilizada a 63 expressão do primeiro tipo que ocorre antes e mais próximo à anáfora (podendo ocorrer na mesma frase ou frase anterior) é considerada como antecedente, de onde será obtido o valor do atributo temporal. 4.1.8.2 Extração de Relações Para a extração de relações, foram desenvolvidos alguns programas, que são explicados nas seções seguintes. 4.1.8.2.1 Relações de Autoria As relações de autoria foram extraídas a partir de dados com alguma estruturação da seção Obra do dicionário (Figura 4.4). Esta seção do dicionário lista as composições de cada artista, com indicação de autores parceiros através do uso de parênteses com lista textual dos parceiros. Expressões regulares são utilizadas para extrair a informação de relações de autoria. Por exemplo, no verbete de João Bosco, figura na seção obra, o seguinte texto: “Trem-bala (c/ Antônio Cícero e Waly Salomão)”, que indica que ele é o compositor da música intitulada “Trem-Bala” e que tem como autores parceiros nesta composição Antônio Cícero e Waly Salomão. 4.1.8.2.2 Relações de Interpretação As relações de Interpretação foram extraídas a partir dos eventos de Gravação, como será descrito na seção a seguir. 4.1.8.3 Extração de Eventos A principal característica para identificação de eventos é um verbo relacionado a atividades artísticas, tais como gravar ou lançar. Dada a natureza descritiva do dicionário, os verbos são usados principalmente no pretérito perfeito, como nas conjugações “gravou” e “lançou”. Estes verbos são usados como âncoras para identificação dos quadros para EI dos eventos. A presença de um destes verbos ativa o quadro para EI, através do preenchimento dos complementos associados à ação, como o paciente da ação (como uma música ou CD no caso do verbo gravar), o agente que executou a ação (por exemplo, o artista que gravou o disco) e quando a ação representada pelo verbo foi realizada (adjunto temporal). 64 Esta tarefa pode ser vista como uma abordagem simplificada do problema de etiquetagem de papéis semânticos, uma vez que as ferramentas pesquisadas não implementam este tipo de etiquetagem. A figura 4.7 mostra o quadro (frame) utilizado para EI de eventos relacionados ao verbo “gravar”. Verbo (âncora do quadro) gravou Agente (Sujeito) Em geral, o verbete do dicionário é o agente, uma vez que a maior parte da narrativa é elíptica (sujeito implícito). Exceção ocorre quando uma entidade mencionada classificada como artista precede imediatamente o verbo. Adjunto temporal Determinado de acordo com a seção 4.1.8.1.3. Paciente (Objeto) Obtido a partir da etapa de reconhecimento de entidades mencionadas descrito na seção 4.1.8.1.2. Figura 4.7 – Quadro para extração de eventos de gravação 4.1.9 Criação do Esquema da Ontologia Para a criação do esquema da ontologia optou-se por partir de uma ontologia existente e adequá-la ao escopo necessário a esta aplicação da sistemática. 4.1.9.1 Seleção da ontologia Entre as ontologias pesquisadas para servir de base para a representação do conhecimento, a Music Ontology (MO) (RAIMOND et al., 2007, GIASSON & RAIMOND, 2007) foi a que mais se adequou às necessidades da aplicação da sistemática. A MO é estruturada em três níveis: 1o Nível: fornece os conceitos para representar informações editoriais simples (faixas, artistas, lançamentos, etc.); 2o Nível: fornece os conceitos para expressar o fluxo de criação musical (composição, arranjo, execução, gravação, etc.); 65 3o Nível: fornece os conceitos para descrever execuções musicais, como a linha melódica de um trabalho específico. A metodologia adotada para construir e adaptar a ontologia foi a de NOY & MCGUINESS (2001). Para representar a ontologia, a linguagem OWL-DL foi selecionada. A ferramenta Protégé (PROTÉGÉ, 2009) foi escolhida para a criação e adaptação da ontologia. 4.1.9.2 Adaptação do esquema da ontologia Apesar de a MO ter um conjunto bastante abrangente de conceitos, alguns conceitos necessários ao presente trabalho não existem na MO. Em particular, a representação de eventos temporais com precisão variável não é suportada pela MO. Optou-se, então, por utilizar a MO como base de referência para os conceitos e relações nela existentes, adequando a ontologia através da inclusão de novos conceitos e relações. Do modelo da MO, foram considerados os seguintes conceitos e relações indicados na tabela 4.5. As classes e relações foram traduzidas para o português. Tabela 4.5 – Classes e relações da Music Ontology utilizadas Nível MO Tipo Nome Classe/Relação Implementada 1 Conceito Solo Music Artist Artista 2 Conceito Musical Work Música 1 Conceito Record Disco 2 Conceito Recording Gravação 2 Relação Composer temAutor 2 Relação Performer temIntérprete Adicionalmente, foram considerados os seguintes atributos para a classe Artista: Nome completo Data de nascimento Papel 66 Devido às características variáveis da linguagem natural, o PO a partir de textos muitas vezes demanda o processamento de informações imperfeitas. De acordo com HAASE & VÖLKER (2005), a imperfeição da informação pode ser categorizada como: Imprecisão Este caso é caracterizado pela vagueza da informação, por exemplo, “fulano nasceu na década de 1950”, onde não se tem a informação precisa sobre a data de nascimento; Inconsistência Este é o caso de informações contraditórias ou conflitantes, como por exemplo, “beltrano nasceu em São Paulo” e “o mesmo beltrano nasceu no Uruguai”; Incerteza Neste caso há um nível variável de confiança sobre a fonte. Podese, por exemplo, ter a informação “que alguém acredita que sicrano morreu em 1905”. Neste trabalho, a categoria da imprecisão foi tratada para informações temporais. Foi assumido que os textos não apresentam inconsistências e que a autoridade dos textos do dicionário é confiável (não há incerteza sobre os fatos e eventos), uma vez que os textos são criados e mantidos por pesquisadores profissionais da MPB vinculados ao Instituto Cultural Cravo Albin. Devido à natureza dos eventos descritos no dicionário, uma ontologia de tempo é essencial para capturar a semântica temporal expressa nos textos. O tempo foi representado baseado na teoria de tempo de ALLEN (1991), onde dois tipos de entidades existem: instante e intervalo. Um instante é caracterizado por um ponto no tempo, que pode ter diferentes níveis de precisão, como um dia, um ano, uma década, etc. Um intervalo é definido por um instante inicial e um instante final. Adicionalmente, a descrição textual de eventos históricos habitualmente contém alguma vagueza, como “no início do ano de 2000” ou “por volta de 1890”. Portanto, a ontologia deve ser capaz de também capturar este tipo de expressão com conceitos temporais vagos (MANI & WILSON, 2000). Portanto, a imprecisão no corpus do dicionário apresenta-se de duas formas: Por expressões que naturalmente têm semântica de imprecisão, tais como “por volta da década de 1950”, “em meados de 1974” ou “circa 1890”; 67 Pela granularidade da informação, como em “nasceu na década de 1890”, quando não se tem informação sobre a data de nascimento completa, tampouco do ano, sendo possível conhecer somente a década. Para representar os eventos temporais uma classe de Tempo foi criada, com duas subclasses: Instante e Intervalo. Um Intervalo é determinado por dois Instantes, um inicial e outro final. A classe Instante por sua vez tem duas subclasses para capturar os dois tipos de imprecisão descritos acima: a classe Determinado representa um tempo determinado, mas com variados níveis de granularidade, representando por suas subclasses, Dia, Mês, Ano e Década; a classe Incerto representa expressões semânticas vagas: Por volta de, Início, Primeira metade, Meados, Segunda metade e Fim. Cada expressão destas corresponde a uma subclasse da classe Incerto. A classe Incerto tem uma propriedade temInstanteDeterminado que tem como domínio uma instância da classe Determinado. O diagrama da figura 4.8 mostra estas classes temporais modeladas, de acordo com as ocorrências das expressões no corpus. O apêndice A apresenta este trecho da ontologia (descrito em OWL) utilizado para representar o aspecto temporal dos eventos. Os quadrados representam as classes e os triângulos, exemplos de instâncias. As linhas pontilhadas são relações do tipo “é um” e as linhas contínuas representar a ligação entre a classe e a instância. 68 Figura 4.8 – Ontologia Ontologia de eventos temporais temp 4.1.10 Evolução do Esquema da Ontologia A etapa de evolução do esquema da ontologia não foi executada, uma vez que seria decorrente de alguma mudança externa ao processo de aplicação da sistemática ou de uma nova execução após o processo de revisão, o que estava estava fora do escopo. 4.1.11 Mapeamento EI × Ontologia O resultado do mapeamento de entidades, relações e eventos extraídos e os conceitos e relações da ontologia é mostrado na tabela 4.6. Tabela 4.6 – Mapeamento EI E × Ontologia Tipo Extraído Ontologia Entidade/Conceito Artista Classe Artista Entidade/Conceito Música Classe Música (subclasse de Obra) 69 Entidade/Conceito Disco Classe Disco (subclasse de Obra) Relação Autoria Atributo temAutor da classe Música Relação Interpretação Atributo temIntérprete da classe Gravação Classe Gravação com atributos Evento Gravação temInterpétre temObra temDataGravação 4.1.12 Construção do Ambiente de Execução Esta seção descreve, do ponto de vista técnico, a implementação de cada um dos módulos e a integração destes módulos durante a construção do ambiente de execução. 4.1.12.1 Módulo Preparatório Os programas do módulo preparatório foram desenvolvidos a partir da análise feita na etapa de Análise do Corpus e Análise da Estrutura do Corpus. Um programa em Python foi desenvolvido para ler as páginas HTML e processar as funções de limpeza, carregando a coleção de documentos no banco de dados de intermediário. A conversão é feita por um programa Python que lê os documentos do banco, aplica as conversões e persiste os documentos convertidos no próprio banco de dados. O programa que calcula estatísticas foi desenvolvido em Python e lê o banco de dados já com as informações lingüísticas disponíveis para calcular a freqüência dos tokens no corpus, de acordo com sua classe gramatical. 4.1.12.2 Módulo de PLN Os programas do módulo preparatório foram selecionados e desenvolvidos a partir da análise feita na etapa de Definição de Técnicas de PLN. Um programa em Python foi desenvolvido para realizar a segmentação da coleção em documentos e dos documentos em parágrafos. Para segmentar as frases, realizar a tokenização e a etiquetagem sintática foi utilizada a ferramenta LX-Suite. 70 A normalização das palavras foi feita por um programa em Python, utilizando a base léxica DELAF_PB para obtenção das formas canônicas das palavras. 4.1.12.3 Módulo de EI As funções descritas na seção 4.1.8 foram todas desenvolvidas em Python. 4.1.12.4 Módulo de Manipulação da Ontologia A ferramenta selecionada para construção e adequação adequação da ontologia foi o Protégé (PROTÉGE, 2009), 2009), versão 3.3.1, executado em plataforma Windows. A figura 4.9 mostra uma tela de edição de classes do programa. Figura 4.9 – Tela de edição de classes do Protégé rotégé 3.3.1. Para acessar programaticamente a ontologia, foi utilizada a biblioteca Java de código livre Protégé-OWL Protégé OWL API (KNUBLAUCH NUBLAUCH,, 2006) para criação das in instâncias tâncias dos conceitos e relações. relações 71 Para visualização da ontologia como um grafo, a extensão Jambalaya 20 do Protégé foi utilizada. As figuras 4.8 e 4.10 foram geradas utilizando esta ferramenta. Para consultas à ontologia, a própria interface de navegação do Protége foi utilizada. As extensões do Protégé Queries and Export21 (que permite realizar consultas baseadas nas classes e atributos, aplicando filtros) e StringSearch22 (que busca string na base de conhecimento) foram também utilizadas. Como mecanismo de inferência (utilizado nesta aplicação somente para verificar a consistência da ontologia) foi usado o Pellet 1.323. 4.1.12.5 Módulo de PO Um programa Python para implementar o mapeamento descrito na seção 4.1.11 foi desenvolvido. Este programa lê a base intermediária, mapeia os conceitos, relações e eventos e grava os dados mapeados de volta na base intermediária. A instanciação dos conceitos e relações na ontologia foi implementada através de um programa Java, que utiliza a API da biblioteca Protégé-OWL. Este programa lê os conceitos, relações e eventos mapeados pelo programa de mapeamento e cria fisicamente as instâncias na ontologia. 4.1.12.6 Integração Para integrar as ferramentas necessárias, um ambiente baseado nas linguagens Python e Java foi construído. Para armazenamento intermediário das informações, um banco de dados MySQL foi utilizado. Para acessar o serviço web da ferramenta LX-Suite, uma camada de acesso desenvolvida em Java e fornecida pelos desenvolvedores da ferramenta foi utilizada. 4.2 Extração Nesta etapa foram executadas as extrações de entidades (através dos extratores de Artista, Obra e Tempo), relações (através dos extratores de Autoria e Interpretação) e eventos (através do extrator de Evento gravação). Os programas de mapeamento e instanciação também foram executados. 20 http://www.thechiselgroup.org/jambalaya http://protegewiki.stanford.edu/index.php/Queries_and_Export_Tab 22 http://protegewiki.stanford.edu/index.php/String_Search_Tab 23 http://pellet.owldl.com/ 21 72 A validação das instâncias extraídas da entidade Tempo foi realizada durante o estágio de avaliação quantitativa. quantitativa 4.3 Avaliação & Revisão Os últimos estágios da sistemática são a Avaliação e Revisão, Revisão que são descritas a seguir. 4.3.1 Avaliação Qualitativa Um trecho da ontologia de domínio preenchida representada como um grafo é mostrad na figura 4.10. mostrado 4.10 As classes são indicadas por quadrados e as instâncias por triângulos. As setas tracejadas indicam a relação de subclasse (“has has subclass subclass”) ”) e as contínuas representam as instâncias (“has (“has instance”) instance ou relações lações não taxonômicas como “tem Obra”, “tem Intérprete” Intérprete e “tem Data Gravação”. Gravação” Figura 4.10 – Trecho da ontologia preenchida As relações extraídas permitem a navegação através de dimensões originalmente não ão existentes existente no conjunto de documentos. Por exemplo, é possível navegar 73 cronologicamente e percorrer todas as gravações do ano de 1966 ou as obras de uma artista como Clara Nunes. 4.3.2 Avaliação Quantitativa Como o corpus utilizado não é anotado, para se realizar uma avaliação quantitativa, parte do corpus teve que ser anotada manualmente. A avaliação quantitativa foi realizada para o processo de EI da entidade Tempo. Como o corpus integral é muito extenso (98.328 frases, 2.764.167 tokens), para medir o desempenho do processo de EI, um subconjunto de 374 verbetes do dicionário foi utilizado. Este subconjunto corresponde a todos os verbetes que começam com a letra C, que foi escolhida por ser a letra que tem maior número de verbetes no dicionário. Este subconjunto do corpus contém 9.912 frases e 294.707 tokens. Precisão e abrangência do processo de EI para a classe Tempo foram avaliadas através da etiquetagem e inspeção desta amostra. Para limitar adicionalmente o universo e tornar factível a anotação manual, foram consideradas somente as frases que contêm o verbo gravar, na conjugação “gravou”, que é a âncora do evento Gravação, conforme descrito na seção 4.1.8.3. O subconjunto resultante contém 1.102 frases que foram separadas em três classes: Sem informação temporal São afirmações sobre fatos sem propriedades temporais, como “Cláudia gravou um LP em japonês, que atingiu a tiragem de 200 mil cópias”. Dentre as 1.102, 159 se enquadram nesta classe e não são consideradas na extração de eventos. Informação temporal do primeiro tipo: informação de data presente na frase As frases que contém informação temporal direta na forma de uma data na própria frase somam um total de 604. Informação temporal do segundo tipo: anafórica As frases que contém expressões anafóricas são 339. Através da aplicação dos gabaritos de expressão temporal ao conjunto de testes, 89,9% das expressões temporais foram extraídos (abrangência) e 86,3% (precisão) foram corretamente mapeados para as classes da ontologia. Estes resultados correspondem a uma medida F1 (média harmônica da abrangência e precisão, que é 74 utilizada como medida padrão no campo de EI) de 88,1% para a extração de informações temporais. Do conjunto de 339 frases com expressões temporais anafóricas, 80,5% foram resolvidas corretamente utilizando a heurística proposta. Como base de comparação para os resultados obtidos, pode-se considerar os resultados do TERN (Time Expression Recognition and Normalization) 2004 24 . Os melhores resultados reportados (para a língua inglesa) são precisão de 97,3% e abrangência de 89,1%, correspondentes a um F1 de 93,0% (AHN et al., 2007). Os resultados obtidos neste trabalho mostram-se dentro de uma faixa compatível com os do TERN 2004, estando cinco pontos percentuais abaixo no F1. É necessário ressalvar que os resultados foram validados sobre um conjunto pequeno de sentenças e que uma validação adicional com um corpus anotado de maior dimensão seria necessária para ratificar os resultados. Dado o esforço associado de anotação do corpus para permitir esta validação, esta tarefa é considerada como um trabalho futuro. 4.3.3 Revisão Apesar de o método proposto ser dependente do domínio e de características da fonte de dados, ele permite extrair informações relevantes do domínio, sem a necessidade de anotação manual do corpus, o que seria necessário caso um método supervisionado tivesse sido adotado. 4.4 Arquitetura O modelo de arquitetura proposto na sistemática foi instanciado para se obter uma arquitetura de execução. Uma visão geral da arquitetura implementada é dada na figura 4.11. 24 http://timex2.mitre.org/tern.html 75 Módulo Preparatório Módulo de PLN Limpeza Python Segmentação Doc: Python Parag: Python Frase: LXSuite/Java Conversão Python Tokenização LX-Suite/Java Etiquetagem de Papéis Semânticos Python Etiquetagem Sintática LX-Suite/Java Resolução de Anáforas Python corpus Estatísticas Python Normalização Python/DELAF_ PB Módulo de EI Módulo de PO Módulo de Manipulação da Ontologia REM Python Visualização Jambalaya Instanciação Java Consultas Query/String Search ontologia Mapeamento Python Extratores Python Editor de Ontologias Protégé 3.3.1 Mecanismo de Inferência Pellet 1.3 Armazenamento Intermediário (MySQL 5.1) Figura 4.11 – Arquitetura implementada A solução foi implementada usando MySQL 5.1 25 como banco de dados intermediário e os programas foram desenvolvidos nas linguagens Java26 e Python27. A escolha destas linguagens levou em conta os requisitos técnicos descritos na seção 3.1.1.12.8. A linguagem Java tem uma vasta coleção de bibliotecas disponíveis gratuitamente em código aberto, permitindo a integração com uma série de plataformas e ferramentas. A linguagem Python é uma linguagem interpretada, dinamicamente tipada e orientada e objetos. Tem a vantagem de proporcionar resultados rápidos para prototipação e também contar com várias bibliotecas, inclusive de algoritmos de AM e PLN28. 25 http://dev.mysql.com/downloads/mysql/5.1.html http://www.java.com/en/ 27 http://docs.python.org/tutorial/index.html 28 http://www.acm.org/crossroads/xrds13-4/natural_language.html 26 76 5 Conclusões Este trabalho abordou o problema da obtenção de conhecimento estruturado a partir de textos em língua portuguesa. A relevância do problema decorre da abundância de recursos em forma de texto e da necessidade no campo da web semântica de se construir ontologias de domínio. Em particular, no caso de textos em português, não existem muitos trabalhos voltados ao preenchimento de ontologias de domínio a partir de textos. A implementação de um protótipo no domínio da história da MPB foi realizada. Os principais resultados obtidos foram a proposição de uma sistemática para extração de informações e preenchimento de ontologias, o preenchimento de uma ontologia de domínio da história da música popular brasileira, a revisão de ferramentas específicas para o processamento de língua portuguesa e o tratamento de expressões temporais imprecisas em português. A seguir são apresentados os trabalhos relacionados, as contribuições do trabalho e os trabalhos futuros. 5.1 Trabalhos Relacionados Os trabalhos relacionados foram considerados em quatro categorias: PO a partir de textos, trabalhos específicos para língua portuguesa, extração de informações baseada em ontologia e trabalhos de aprendizado de ontologias. 5.1.1 Trabalhos de Preenchimento de Ontologias AMARDEILH (2006) propõe uma metodologia e um ambiente denominados OntoPop que faz a anotação semântica de textos e o preenchimento de ontologias baseados em regras construídas manualmente sobre a saída de um extrator de informações comercial. A metodologia e o processo usam como entrada uma árvore de instâncias de conceitos e relações extraídas anteriormente por uma ferramenta comercial 77 chamada Temis (específica para a língua francesa) e não diretamente uma coleção de textos em linguagem natural. No trabalho de CELJUSKA & VARGAS-VERA (2004), é descrito o OntoSophie, um sistema semi-automático de preenchimento de ontologias a partir de textos. O sistema é baseado em aprendizado de regras de extração e demanda um corpus anotado. Uma abordagem não supervisionada para o PO que utiliza um gerador de árvore de dependências é descrita por CIMIANO & VÖLKER (2005b). A vantagem em se utilizar árvores de dependências é que as relações de dependência se aproximam mais de relações semânticas do que as de uma árvore de constituintes, que representam uma estrutura sintática. Entretanto, dentro do alcance desta pesquisa, um gerador de árvore de dependência para a língua portuguesa não foi encontrado. Alguns métodos semi-supervisionados são descritos por TANEV & MAGNINI (2006), que apesar de terem um desempenho melhor que métodos não supervisionados, ainda requerem um conjunto de treinamento (corpus anotado). 5.1.2 Trabalhos Específicos para Língua Portuguesa RIBEIRO JÚNIOR (2008) propõe uma metodologia para o aprendizado semiautomático de ontologias a partir de textos em língua portuguesa e implementa uma extensão para a ferramenta Protégé denominada ONTOLP. Entretanto, o foco deste trabalho é no aprendizado de ontologias e não no PO. O trabalho de CASTAÑO (2008) apresenta um estudo de caso de preenchimento de ontologias utilizando como fonte os currículos do sistema Lattes. Entretanto, o método de extração de informações é baseado somente na estrutura das páginas HTML e não usa PLN. 5.1.3 Trabalhos de EI Baseada em Ontologias OntoX é um método para proposto por YILDIZ & MIKSCH (2007b) para a extração de informações baseada em ontologia. A informação sobre o domínio contida na ontologia é utilizada para a geração de regras baseadas em expressões regulares para extrair instâncias da web. MC DOWELL & CAFARELLA (2006) apresentam um sistema de EI automático e independente de domínio chamado OntoSyphon. O sistema usa uma ontologia como base para construir buscas na web e obter instâncias de conceitos e 78 relações. 5.1.4 Trabalhos de Aprendizado de Ontologias Por fim, alguns trabalhos com foco no aprendizado de ontologias foram também avaliados apesar de não terem uma relação direta com o presente trabalho, por terem alguma superposição com a abrangência da dissertação. No trabalho de CARVALHEIRA (2007) é proposta uma metodologia baseada em padrões lingüísticos para identificação de conceitos e relações a partir de um corpus não anotado com avaliação manual. No entanto, o estudo de caso desse trabalho é conduzido sobre um corpus em língua inglesa. OntoLT (BUITELLAAR et al., 2003) é uma extensão para a ferramenta Protégé que tem o objetivo de obter o esquema de uma ontologia a partir de textos. Entretanto, é necessário que o texto original seja anotado e semi-estruturado com etiquetas XML. 5.2 Contribuições As principais contribuições deste trabalho são listadas a seguir. Sistemática Para atingir o objetivo de preencher uma ontologia de domínio a partir de textos em português, uma sistemática foi proposta, como um processo fim a fim desde a coleção de textos até a ontologia de domínio preenchida. Esta sistemática tem aplicação em outros domínios; Preenchimento de uma ontologia de domínio a partir de textos em língua portuguesa Como produto adicional da aplicação da sistemática, uma ontologia da história da MPB foi criada e preenchida com conceitos, relações e eventos, o que pode ser considerado uma contribuição do ponto de vista de sistemas de informação para a comunidade de pesquisadores da história da MPB; Revisão das ferramentas específicas para o português Para implementar um protótipo como aplicação da sistemática, uma revisão das ferramentas específicas para português foi realizada. Este estudo pode ser utilizado em outros contextos que necessitem PLN de português; 79 Desenvolvimento de um ambiente de execução para EI e PO em português Para viabilizar a implementação do protótipo, um ambiente de execução de EI e PO com ferramentas específicas para português foi implementado. Este ambiente pode ser utilizado em outros contextos; Tratamento de expressões temporais imprecisas em português Durante a aplicação da sistemática, a identificação de expressões temporais imprecisas e uma ontologia capaz de representar eventos temporais com imprecisão e variados níveis de granularidade foram desenvolvidos. Estes produtos podem ser utilizados em contextos semelhantes que demandem a representação de idéias temporais vagas, mesmo que em outro domínio de conhecimento. Os trabalhos desenvolvidos ao longo da dissertação resultaram na publicação dos seguintes artigos: “Construção de uma Base de Conhecimento da Música Popular Brasileira Utilizando Mineração em Textos” (MOTTA & ANDREATTA, 2008) “Populating a Domain Ontology from Web Historical Dictionaries and Encyclopedias” (MOTTA et al, 2008) “Populating a Domain Ontology from a Web Biographical Dictionary of Music – An Unsupervised Rule-Based Method to Handle Brazilian Portuguese Texts” (MOTTA et al, 2009). 5.3 Trabalhos futuros Durante o decorrer da pesquisa para o trabalho da dissertação foram identificados alguns possíveis trabalhos futuros, que são indicados a seguir. Uma direção mais imediata de evolução do trabalho é estender o número de eventos, classes e relações a extrair do corpus escolhido, enriquecendo a ontologia obtida. Outra possibilidade é a aplicação a outros domínios com textos com estrutura similar ao do dicionário, como, por exemplo, qualquer outro domínio que trate de eventos históricos, como as Enciclopédias do Instituto Itaú Cultural 29 sobre teatro, literatura brasileira, artes visuais, entre outras áreas. 29 www.itaucultural.org.br 80 A extensão da sistemática para também considerar o aprendizado da ontologia, isto é, obter (semi) automaticamente o esquema da ontologia que caracteriza o domínio estudado permitiria uma maior generalização e redução no esforço de construção do esquema da ontologia, facilitando a aplicação a outros domínios. A ferramenta OntoLP (RIBEIRO JÚNIOR, 2008) poderia ser usada com este propósito. O processo de MT envolve muitos passos e ferramentas, por isso é bastante complexo. Algumas propostas existem para apoiar esse processo utilizando um workflow baseado em uma ontologia de tarefas de MT. O emprego deste workflow pode auxiliar na organização e na obtenção de melhores resultados, conforme descrito por OLIVEIRA (2008). Mecanismos de inferência como o descrito por HAARSLEV & MÖLLER (2003) podem ser aplicados à ontologia para produzir novo conhecimento. Por exemplo, um conceito de contemporaneidade pode ser inferido utilizando a sobreposição temporal de eventos. A utilização de ontologias superiores vinculadas aos conceitos descritos na ontologia de domínio pode ampliar o poder de inferência. As relações representadas na ontologia podem ser usadas em sistemas de recomendação como o descrito no trabalho de SANTIS (2009), através da associação entre artistas por gênero, movimento musical ou época, por exemplo. A ontologia preenchida pode ser utilizada no processo de depuração das informações de origem. Depois de estruturadas as informações, é possível identificar inconsistências e falta de padronização nos dados, o que pode ser utilizado para auxiliar a melhoria da qualidade das informações na fonte de informações. Um uso potencial da ontologia preenchida é o suporte a um browser semântico, onde o texto original do dicionário pode ser visualizado em conjunto com as etiquetas semânticas, como descrito em (QUAN & KARGER, 2004). Adicionalmente, a ancoragem com outras fontes de dados pode expandir a informação sobre os verbetes. Por exemplo, o site Cliquemusic 30 também contém informações sobre músicos brasileiros e suas obras, de modo que a ontologia pode ser enriquecida ou referenciada às entradas correspondentes nesta outra base de dados. Para lidar com múltiplas fontes de dados, a ontologia deve ser capaz de tratar níveis diferentes e possivelmente conflitantes de confiança no dado. Então, um possível caminho de evolução é estender a ontologia para suportar informações inconsistentes e 30 www.cliquemusic.com.br 81 incertas (como descrito na seção 4.1.9.2), conforme discutido em (HAASE & VÖLKER, 2005). Por fim, apesar de na aplicação da sistemática isso não ter sido necessário devido à estrutura relativamente simples e regular das páginas HTML do dicionário, outro caminho possível de evolução é implementar um processo de indução de wrapper para generalizar a extração de conteúdo de páginas HTML (CHANG et al., 2006). Um wrapper é uma camada de software que encapsula os detalhes da estrutura da fonte de dados e fornece como saída os trechos que são relevantes para o processamento da EI. 82 Referências AHN, D., VAN RANTWIJK, J., DE RIJKE, M., 2007, “A Cascaded Machine Learning Approach to Interpreting Temporal Expressions”, In: Proceedings of NAACL HLT 2007, pp. 420–427, Rochester, NY, April 2007. AIRES, R., ALUÍSIO, S., KUHN, D., ANDREETA, M., OLIVEIRA Jr., O, 2000, “Combining Multiple Classifiers to Improve Part of Speech Tagging: A Case Study for Brazilian Portuguese”. In: Monard, M., Sichman, J. (eds.), International Joint Conference: 7th Ibero-American Conference on Artificial Inteligence and 15th Brazilian Symposiun on Artificial Inteligence. Atibaia-SP, Brazil. Open Discussion Track Proceedings, pp. 227-236. ICMC/USP. ALBIN, R., 2006, Dicionário Houaiss Ilustrado – Música Popular Brasileira, 1a ed., Editora Paracatu, ISBN 8560275002. ALBIN, R., 2009, Dicionário Cravo Albin da Música Popular Brasileira, disponível em http://www.dicionariompb.com.br, acessado em fevereiro de 2009. ALLEN, J., 1991, “Time and Time Again - The Many Ways to Represent Time”, International Journal of Intelligent Systems, 6 (1991). AMARDEILH, F. 2006, “OntoPop or how to annotate documents and populate ontologies from texts”, In: Proceedings of the ESWC 2006 Workshop on Mastering the Gap: From Information Extraction to Semantic Representation, Budva, Montenegro, CEUR Workshop Proceedings. AMIR, A., AUMANN, Y., FELDMAN, R., FRESKO, M., 2005, “Maximal Association Rules: A Tool for Mining Associations in Text”, Journal of Intelligent Information Systems, Volume 25, Issue 3, pp. 333 - 345 ANTONIOU, G., VAN HARMELEN, F, 2004, A Semantic Web Primer. 2nd ed., 83 Massachusetts, MIT Press. ARANHA, C., 2007, Uma Abordagem de Pré-Processamento Automático para Mineração de Textos em Português: Sob o Enfoque da Inteligência Computacional, Tese de Doutorado, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro. BAEZA-YATES, R., BERTIER, R., 1999, Modern Information Retrieval. 1st ed. New York, Addison-Wesley. BARRETO, F., BRANCO, A., FERREIRA, E., MENDES, A., NASCIMENTO, M., NUNES, F., SILVA, J., (2006) "Linguistic Resources and Software for Shallow Processing", in Oliveira, Fátima e Joaquim Barbosa (orgs.) Actas do XXI Encontro Nacional de Linguística, Lisboa, Associação Portuguesa de Linguística, pp. 203-217. BEKKERMAN, R., ALLAN, J., 2004, Using Bigrams in Text Categorization. Center for Intelligent Information Retrieval (CIIR), Technical Report IR-408 2004 BEN-DOV, M., FELDMAN, R., 2005, “Text Mining and Information Extraction”. In: Maimon, O., Rokach, L. (eds.) The Data Mining and Knowledge Discovery Handbook, chapter 38, Tel-Aviv, Israel, Springer. BERNERS-LEE, T., HENDLER, J., LASSILA, O., 2001, “The Semantic Web”, Scientific American, May, 2001. BIANCHINI, D., ANTONELLIS, V., 2004, “Ontology-based integration for Sharing Knowledge over the Web”. In: DIWeb2004. Third International Workshop on Data Integration over the Web, Proceedings. BICK, E, 2000, The Parsing System "Palavras": Automatic Grammatical Analysis of Portuguese in a Constraint Grammar Framework. Dr. Phil. thesis. Aarhus University. Aarhus, Denmark: Aarhus University Press. BIRD, S., LOPER, E., 2004, In: Proceedings of the ACL demonstration session, pp 214-217, Barcelona, Association for Computational Linguistics. BISHOP, C., 2007, Pattern Recognition and Machine Learning, 1st ed., Springer. 84 BONTCHEVA, K., CUNNINGHAM, H., KIRYAKOV, A., TABLAN, V., 2006, “Semantic Annotation and Human Language Technology”. In: Davies, J., Studer, R. Warren, P., Semantic Web Technologies, chapter 3 BORST, W., 1997, Construction of Engineering Ontologies for knowledge sharing and reuse. PhD thesis, University of Tweente, Enschede, NL–Centre for Telematica and Information Technology. BRANCO, A., SILVA, J., 2003, “Portuguese-specific Issues in the Rapid Development of State of the Art Taggers”, In: Branco, A., Mendes, A., Ribeiro, R. (eds.), Tagging and Shallow Processing of Portuguese: Workshop Notes of TASHA'2003. Lisbon, University of Lisbon, Faculty of Sciences, Department of Informatics, Technical Report TR-2003-28, pp.7-10. BRANCO, A., SILVA, J., 2006, “A Suite of Shallow Processing Tools for Portuguese: LX-Suite”, In: Proceedings of 11th Conference of the European Chapter of Association for Computational Linguistics, pp. 179-182. BRILL, E., 1995, “Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part-of Speech Tagging”. Computational Linguistics, 21(4), pp. 543-565. BUITELAAR, P., OLEJNIK, D., SINTEK, M., 2003. “OntoLT: A Protégé Plug-in for Ontology Extraction From Text”. In: Proceedings of the International Semantic Web Conference (ISWC). CALVETTI, D., SOMERSALO, E., 2007, An Introduction to Bayesian Scientific Computing – Ten Lectures on Subjective Computing, Springer. CARDOSO, J., 2007, “The Semantic Web Vision: Where are We”, IEEE Intelligent Systems, September/October 2007, pp.22-26, 2007. CARVALHEIRA, L., 2007, Método Semi-automático de Construção de Ontologias Parciais de Domínio com Base em Textos, Dissertação de mestrado, USP, São Paulo. CASTAÑO, A., 2008, Populando ontologias através de informações em HTML – o Caso do Currículo Lattes, Dissertação de mestrado, USP, São Paulo. 85 CELJUSKA, D,. VARGAS-VERA, M., 2004, “Ontosophie: A Semi-Automatic System for Ontology Population from Text”. In: Proceedings International Conference on Natural Language Processing ICON 2004, Hyderabad, India. CHANG, C., KAYED, M., GIRGIS, M., SHAALAN, K., 2006, “A Survey of Web Information Extraction Systems”, IEEE Transaction on Knowledge and Data Engineering, 18(10), pp.1411-1428. CHAVES, A., RINO, L., 2008, “The Mitkov Algorithm for Anaphora Resolution in Portuguese”. In Teixeira, A., Lima, V., Oliveira, L., Quaresma, P. (eds.), Computational Processing of the Portuguese Language, 8th International Conference, Proceedings (PROPOR 2008), Vol. 5190, (Aveiro, Portugal, 8-10 de Setembro de 2008), Springer Verlag, pp. 51-60. CIMIANO, P., 2006, Ontology Learning and Population from Text: Algorithms, Evaluation and Applications, 1st ed., Springer. CIMIANO, P., VÖLKER, J., 2005a. “Text2Onto – A Framework for Ontology Learning and Data-driven Change Discovery”. In: Proceedings of the 10th International Conference on Applications of Natural Language to Information Systems (NLDB’2005), pp. 227-238. CIMIANO, P, VÖLKER, J., 2005b, “Towards large-scale open-domain and ontologybased named entity classification”, In: Proceedings of RANLP’05, pp. 166–172, Borovets, Bulgaria. COLLOBERT, R., WESTON, J., 2007, “A unified architecture for natural language processing: deep neural networks with multitask learning”. In: ACM International Conference Proceeding Series, Vol. 307, Proceedings of the 25th international conference on Machine learning, Helsinki, Finland, pp. 160-167 CORSTON-OLIVER, S., 2000, “Using Decision Trees To Select The Grammatical Relation Of A Noun Phrase”. In: SIGdial Workshop On Discourse And Dialogue. CRISTANI, M., CUEL, R., 2005, “A Survey on Ontology Creation Methodologies”, International Journal on Semantic Web and Information System, v. 1, n. 2, pp. 4868. 86 CUNNINGHAM, H., 2005. “Information Extraction, Automatic”. In: Encyclopedia of Language and Linguistics (2nd ed.). DACONTA, M., OBRST, L., SMITH, K., 2003, The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management, Wiley. DIAS-DA-SILVA, B., MORAES, H., OLIVEIRA, M., 2000, “Construção de um thesaurus eletrônico para o português do Brasil”. Processamento Computacional do Português Escrito e Falado, ATIBAIA, v. 4, p. 1-10, 2000. FELDMAN, R., SANGER, J., 2007, The Text Mining Handbook – Advanced Approaches in Analyzing Unstructured Data, 1st ed., Cambridge, Cambridge University Press. FERNANDES, E., MILIDIÚ, R., SANTOS, C., 2009, “Portuguese Language Processing Service”, In: 18th International World Wide Web Conference. Madrid, 2009 FERNANDEZ-LOPEZ, M., GÓMES-PÉREZ, A., JURISTO, N., 1999, “METHONTOLOGY: From ontological art towards ontological engineering. In: Proceedings of the AAAI Spring Symposium on Ontological Engineering, pp. 3340. FERREIRA, A., 1999, Aurélio Século XXI – O Dicionário da Língua Portuguesa, 1ª ed., Editora Nova Fronteira, Rio de Janeiro. FERREIRA, E., BALSA, J., BRANCO, A., 2007, “Combining rule-based and statistical methods for named entity recognition in portuguese”. In: Anais do 5º Workshop de Tecnologia Da Informação e Linguagem Humana (SBC/TIL). Sociedade Brasileira de Computação. GIASSON, F., RAIMOND, Y., 2007, Music Ontology Specification, disponível em http://musicontology.com, acessado em fevereiro de 2009. GÓMES-PÉREZ, A., FERNÁNDEZ-LÓPEZ, M., FENSEL, D., 2002, Deliverable 1.3: A survey on Ontology Tools, Relatório Técnico IST-2000-29243, OntoWeb – Ontology-based information exchange for knowledge management and electronic 87 commerce. GRUBER, T., 1993, “A translation approach to portable ontologies”, Knowledge Acquisition, 5(2):199-220, 1993. GRUBER, T., 2009, “Ontology”. To appear in Encyclopedia of Database Systems, Liu. L., Özsu. M. (eds.), Springer-Verlag GUARINO, N., 1998, “Formal Ontology in Information Systems”, In: Proceedings of FOIS’98, Trento, Italy, IOS Press. GUIZZARDI, G., 2005, Ontological Foundations for Structural Conceptual Models, PhD Thesis, Telematica Instituut Fundamental Research Series, No. 015 (TI/FRS/015), Enschede, The Netherlands HAARSLEV, V., MÖLLER, R., 2003, “Racer: An OWL Reasoning Agent for the Semantic Web”. In: Proceedings of the International Workshop on Applications, Products and Services of Web-based Support Systems, in conjunction with 2003 IEEE/WIC International Conference on Web. Intelligence, Halifax Canada, Oct 13, pp. 91-95. HAASE, P., VÖLKER, J., 2005, “Ontology learning and reasoning – dealing with uncertainty and inconsistency”. In: Proceedings of the Workshop on Uncertainty Reasoning for the Semantic Web (URSW 2005). HEARST, M., 2003, “What is Text Mining?,” disponível em http://www.ischool.berkeley.edu/~hearst/text-mining.html, acessado em outubro de 2008. HÖPPNER, F., 2005, “Association Rules”. In: Maimon, O., Rokach, L. (eds.) The Data Mining and Knowledge Discovery Handbook, chapter 16, Tel-Aviv, Israel, Springer. HYVÖNEN, E., 2001, “The Semantic Web – The New Internet of Meanings,” Semantic Web Kick-Off in Finland – Vision, Technologies, Research, and Applications, In: Semantic Web Kick-Off in Finland: Vision, Technologies, Research, and Applications, Helsinki Institute for Information Technology (HIIT), Helsinki, Finland, pp. 3-26. 88 IBM, 2009, “What is ontology?”, disponível em http://www.alphaworks.ibm.com/contentnr/semanticsfaqs?open, acessado em fevereiro de 2009. JACKSON, P., MOULINER, I., 2002, Natural Language Processing for Online Applications: Text Retrieval, Extraction & Categorization, John Benjamins. KAISER, K., MIKSCH, S., 2005, Information Extraction – A Survey, Technical Report, Asgaard-TR-2005-6, Vienna University of Technology, Institute of Software Technology and Interactive Systems. KIMBALL, R., ROSS, M., 2002, The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling¸2nd ed., John Wiley & Sons. KNUBLAUCH, H., 2006, Protégé-OWL API Programmer's Guide, disponível em http://protege.stanford.edu/plugins/owl/api/guide.html, acessado em novembro de 2008. KOIVUNEN, M., MILLER E., 2001, “W3C Semantic Web Activity”. In: Semantic Web Kick-Off in Finland: Vision, Technologies, Research, and Applications, Helsinki Institute for Information Technology (HIIT), Helsinki, Finland, pp. 27-43. LI, Y., BONTCHEVA, K, 2007, “Hierarchical, perceptron-like learning for ontologybased information extraction”. In: Proceedings of the 16th international conference on World Wide Web, pp. 777 - 786. LIMA, V., NUNES, M.; VIEIRA, R., 2007, “Desafios do Processamento de Línguas Naturais”. In: SEMISH - XXXIV Seminário Integrado de Software e Hardware. Anais do XXVII Congresso da SBC, Rio de Janeiro. MÄDCHE, A., STAAB, S., 2001, “Ontology learning for the semantic web”. IEEE Intelligent Systems, 16(2), pp. 72-79. MANI, I., WILSON, G., 2000, “Temporal Granularity and Temporal Tagging of Text”. In: AAAI-2000 Workshop on Spatial and Temporal Granularity, Austin, TX. MANNING, C., SCHÜTZE, H., 1999, Foundations of Statistical Natural Language Processing. 1st ed., Massachusetts, MIT Press. 89 MARCONDES, M. (Ed.), 1998, Enciclopédia da música brasileira: Erudita, folclórica e popular. 3. ed. São Paulo: Arte Editora/Itaú Cultural/Publifolha, ISBN 8574020532. MAYNARD, D., LI, W., PETERS, W., 2007, “NLP Techniques for Term Extraction and Ontology Population”. In: Buitelaar, P., Cimiano, P. (ed.s), Bridging the Gap from Text to Knowledge – Selected Contributions in Ontology Learning and Population from Text, 1st ed., chapter 6. MCCALLUM, A., FREITAG, D., PEREIRA, F., 2000, “Maximum entropy markov models for information extraction and segmentation”. In: Proceedings of International Conference on Machine Learning. MC DOWELL, L., CAFARELLA, M., 2006, “Ontology-Driven Information Extraction with OntoSyphon”. In: International Semantic Web Conference 2006, pp. 428-444. MILIDIÚ, R., SANTOS, C., DUARTE, J., 2008, “Phrase chunking using entropy guided transformation learning”. In: Proceedings of Association for Computational Linguistics, Columbus, USA. MILLER, G., BECKWITH, R., FELLBAUM, C., GROSS, D., MILLER, K., 1990, “Introduction to WordNet: An On-line Lexical Database”, International Journal of Lexicography, Vol. 3, No. 4. (1 January 1990), pp. 235-244. MITCHELL, T., 1997, Machine Learning, McGraw-Hill. MOTTA, E., ANDREATTA, A., 2008, “Construção de uma Base de Conhecimento da Música Popular Brasileira Utilizando Mineração em Textos”. In: Anais do IV Simpósio Brasileiro de Sistemas de Informação – I Workshop de Teses e Dissertações em Sistemas de Informação (WTDSI), Rio de Janeiro, RJ. MOTTA, E., SIQUEIRA, S., ANDREATTA, A., 2008, “Populating a Domain Ontology from Web Historical Dictionaries and Encyclopedias”. In: Euro American Conference on Telematics and Information Systems (EATIS 2008), Aracaju, SE. MOTTA, E., SIQUEIRA, S., ANDREATTA, A., 2009, “Populating a Domain Ontology from a Web Biographical Dictionary of Music – An Unsupervised Rule- 90 Based Method to Handle Brazilian Portuguese Texts”. In: 5th International Conference on Web Information Systems and Technology, Lisboa, 2009. MUNIZ, M., NUNES, M., LAPORTE, E., 2005, “UNITEX-PB, a set of flexible language resources for Brazilian Portuguese” In: Proceedings of the Workshop on Technology on Information and Human Language (TIL), São Leopoldo, RS, Brazil. NADEAU, D., TURNEY, P., MATWIN, S., 2006, “Unsupervised Named Entity Recognition: Generating Gazetteers and Resolving Ambiguity”. In: 19th Canadian Conference on Artificial Intelligence, Québec City, Québec, Canada. NAVIGLI, R., VELARDI, P., 2006, “Ontology enrichment through automatic semantic annotation of on-line glossaries”. In: EKAW2006: Managing knowledge in a world of networks: Proceedings of the 15th international conference on knowledge engineering and knowledge management, 02-06 October 2006, Podebrady, Czech Republic. NICHOLS, E., BOND, F., FLICKINGER, D., 2005, “Robust ontology acquisition from machine-readable dictionaries”. In: Proceedings of the International Joint Conference on Artificial Intelligence IJCAI-2005, pp. 1111-1116. Edinburgh NOY, N., MCGUINNESS, D., 2001, Ontology Development 101: A Guide to Creating Your First Ontology. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report SMI-20010880, March 2001. OLIVEIRA, D., 2008, MININGFLOW: Adicionado Semântica Workflows de Mineração de Texto, Dissertação de mestrado, UFRJ, Rio de Janeiro. PALMER, M., GILDEA, D., KINGSBURRY, P., 2005, “The Proposition Bank: An Annotated Corpus of Semantic Roles”, Computational Linguistics, Volume 31, Issue 1 (March 2005) pp. 71 - 106. PAN, J., 2007, “OWL for the Novice: A Logical Perspective”, In: Baker, C., Cheung, K. (eds.), Semantic Web – Revolutionizing Knowledge Discovery on Life Sciences, chapter 8, Springer. 91 PARDO, T., 2006, SENTER: Um Segmentador Sentencial Automático para o Português do Brasil. Série de Relatórios do NILC. NILC-TR-06-01. São Carlos-SP, 6p. PINILLA, A., RIGONI, C., INDIANI, M., 2009, PEAD (Português – Ensino a Distância), disponível em http://acd.ufrj.br/~pead/, acessado em março de 2009. PROTÉGÉ, 2009, Protégé Home Page, disponível em http://protege.stanford.edu/, acessado em novembro de 2008. QUAN, D., KARGER, D., 2004, “How to make a semantic web browser”. In: Proceedings of the 13th International Conference on World Wide Web. RABINER, L., 1989, “A tutorial on hidden Markov models and selected applications in speech recognition”, Proceedings of the IEEE, 77 (2), pp. 257-286 RAIMOND, Y., ABDALLAH, S., SANDLER, M., GIASSON, F., 2007, “The music ontology”. In: Proceedings of the International Conference on Music Information Retrieval. RIBEIRO JÚNIOR, L., 2008, OntoLP: Construção Semi-Automática de Ontologias a partir de Textos da Língua Portuguesa, Dissertação de mestrado, Universidade do Vale do Rio dos Sinos, São Leopoldo, RS. SÁNCHEZ, L., 2007, Atribuição de Papéis Semânticos a Argumentos de Nominalizações: Um Método Semi-automático, Dissertação de mestrado, Instituto Militar de Engenharia, Rio de Janeiro SANTIS, R., 2009, SemiotIS: Sistema de Informação para Análise Semiótica de Canções, Dissertação de mestrado, Universidade Federal do Estado do Rio de Janeiro, Rio de Janeiro, RJ. SANTOS, C., 2005, Aprendizado de Máquina na Identificação de Sintagmas Nominais: O Caso do Português Brasileiro, Dissertação de mestrado, Instituto Militar de Engenharia, Rio de Janeiro. SILVA, J., 2007, Shallow Processing of Portuguese: From Sentence Chunking to Nominal Lemmatization, Dissertação de mestrado, Departamento de Informática da 92 Faculdade de Ciências da Universidade de Lisboa. STAAB, S., SCHNURR, H., STUDER, R., SURE, Y., 2001, “Knowledge processes and ontologies”, IEEE Intelligent Systems, 16 (1), pp. 26-34. SURDEANU, M., HARABAGIU, A., WILLIAMS, J., AARSETH, P., 2003, “Using predicate-argument structures for information extraction” In: Proceedings of ACL 2003. SURE, Y., ERDMANN, M., ANGELE, J., STAAB., S., STUDER., R., WENKE, D., 2002, “OntoEdit: Collaborative ontology Engineering for the Semantic Web”. In: Proceedings of the First International Semantic Web Conference 2002 (ISWC 2002), Vol. 2342 of LNCS, Springer, pp. 221-235. SUTTON, C., MCCALLUN, A., 2007, “An Introduction to Conditional Random Fields for Relational Learning”. In: Gettor, L., Taskar, B. (eds.), Introduction to Statistical Relational Learning, MIT Press. TAGNIN, S., 2004, “Corpora: o que são e para quê servem”, disponível em http://www.fflch.usp.br/dlm/comet/, acessando em novembro de 2008. TAKEUCHI, K., COLLIER, N., 2002, “Use of support vector machines in extended named entity recognition”, In: International Conference On Computational Linguistics archive proceedings of the 6th conference on Natural language learning, vol. 20, pp. 1-7. TANEV, H., MAGNINI, B., 2006, “Weakly Supervised Approaches for Ontology Population”. In: Proceedings of 11th Conference of the European Chapter of the Association for Computational Linguistics: EACL 2006. W3C, 2004, OWL Web Ontology Language Guide, disponível em http://www.w3.org/TR/owl-guide/, acessado em março de 2008. WITTEN, I., FRANK, E., 2005, Data Mining Practical Machine Learning Tools and Techniques, 2nd ed., San Francisco, Morgan Kaufmann Publishers. YILDIZ, B., MIKSCH, S., 2007a, “Motivating Ontology-Driven Information Extraction”. In: Proceedings of the International Conference on Semantic Web and 93 Digital Libraries (ICSD-2007). YILDIZ, B., MIKSCH, S., 2007b, “OntoX - A Method for Ontology-Driven Information Extraction”, In: Computational Science and Its Applications - ICCSA 2007, Springer-Verlag, LNCS 4707, p. 660 - 673 ZHOU, L. 2007, “Ontology learning: state of the art and open issues”. Information Technology and Management, Vol. 8, Issue 3, pp. 241-252. 94 Apêndice A – Ontologia para Eventos Temporais Imprecisos <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:protege="http://protege.stanford.edu/plugins/owl/protege#" xmlns:xsp="http://www.owl-ontologies.com/2005/08/07/xsp.owl#" xmlns:assert="http://www.owl-ontologies.com/assert.owl#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:p1="http://purl.org/dc/elements/1.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns="http://ontology.eduardomotta.com#" xmlns:swrl="http://www.w3.org/2003/11/swrl#" xmlns:swrlb="http://www.w3.org/2003/11/swrlb#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:p2="http://example.org/book/" xml:base="http://ontology.eduardomotta.com"> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://www.owl-ontologies.com/assert.owl"/> </owl:Ontology> <owl:Class rdf:ID="Dia"> <rdfs:subClassOf> <owl:Class rdf:ID="Determinado"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Incerto"> <rdfs:subClassOf> <owl:Class rdf:ID="Instante"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Segunda_metade"> <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Por_volta_de"> <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Início"> 95 <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Meados"> <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Fim"> <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Mês"> <rdfs:subClassOf> <owl:Class rdf:about="#Determinado"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="#Determinado"> <rdfs:subClassOf> <owl:Class rdf:about="#Instante"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Primeira_metade"> <rdfs:subClassOf rdf:resource="#Incerto"/> </owl:Class> <owl:Class rdf:ID="Década"> <rdfs:subClassOf rdf:resource="#Determinado"/> </owl:Class> <owl:Class rdf:about="#Instante"> <rdfs:subClassOf> <owl:Class rdf:ID="Tempo"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:ID="Ano"> <rdfs:subClassOf rdf:resource="#Determinado"/> </owl:Class> <owl:ObjectProperty rdf:ID="doMês"> <rdfs:range rdf:resource="#Mês"/> <owl:inverseOf> <owl:ObjectProperty rdf:ID="temDia"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Dia"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="temMês"> <rdfs:domain rdf:resource="#Ano"/> <rdfs:range rdf:resource="#Mês"/> <owl:inverseOf> <owl:FunctionalProperty rdf:ID="doAno"/> </owl:inverseOf> </owl:ObjectProperty> 96 <owl:ObjectProperty rdf:ID="temAno"> <owl:inverseOf> <owl:FunctionalProperty rdf:ID="daDécada"/> </owl:inverseOf> <rdfs:domain rdf:resource="#Década"/> <rdfs:range rdf:resource="#Ano"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="#temDia"> <rdfs:domain rdf:resource="#Mês"/> <rdfs:range rdf:resource="#Dia"/> <owl:inverseOf rdf:resource="#doMês"/> </owl:ObjectProperty> <owl:FunctionalProperty rdf:ID="NomeEstado"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Apelido"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:about="#daDécada"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <owl:inverseOf rdf:resource="#temAno"/> <rdfs:domain rdf:resource="#Ano"/> <rdfs:range rdf:resource="#Década"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:about="#doAno"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <owl:inverseOf rdf:resource="#temMês"/> <rdfs:domain rdf:resource="#Mês"/> <rdfs:range rdf:resource="#Ano"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="Nome"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="temInstante"> <rdfs:range rdf:resource="#Determinado"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> <rdfs:domain rdf:resource="#Incerto"/> </owl:FunctionalProperty> <owl:FunctionalProperty rdf:ID="NomeCompleto"> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:FunctionalProperty> <Fim rdf:ID="Fim_Ano_1969"> 97 <temInstante> <Ano rdf:ID="Ano_1969"> <daDécada> <Década rdf:ID="Década_1960"> <temAno rdf:resource="#Ano_1969"/> </Década> </daDécada> </Ano> </temInstante> </Fim> <Década rdf:ID="Década_1990"/> <Meados rdf:ID="Meados_Década_1990"> <temInstante rdf:resource="#Década_1990"/> </Meados> <Dia rdf:ID="_1943_05_05"> <doMês> <Mês rdf:ID="_1943_05_Maio"> <temDia rdf:resource="#_1943_05_05"/> <doAno> <Ano rdf:ID="Ano_1943"> <daDécada> <Década rdf:ID="Década_1940"/> </daDécada> <temMês rdf:resource="#_1943_05_Maio"/> </Ano> </doAno> </Mês> </doMês> </Dia> <Década rdf:ID="Década_1980"/> <Ano rdf:ID="Ano_1966"> <daDécada rdf:resource="#Década_1960"/> </Ano> <Ano rdf:ID="Ano_1985"> <daDécada rdf:resource="#Década_1980"/> </Ano> </rdf:RDF> <!-- Created with Protege (with OWL Plugin 3.3.1, Build 430) http://protege.stanford.edu --> 98 Apêndice B – Etiquetas atribuídas pelo LX-Suite O conjunto de etiquetas utilizado pela ferramenta LX-Suite é listado na tabela B.1. Tabela B.1 – Conjunto de etiquetas do LX-Suite Etiqueta Categoria Exemplos ADJ Adjetivos bom, brilhante, eficaz, … ADV Advérbios hoje, já, sim, felizmente, … CARD Cardinais zero, dez, cem, mil, … CJ Conjunções e, ou, tal como, … CL Clíticos o, lhe, se, … CN Nomes comuns computador, cidade, ideia, … DA Artigos definidos o, os, … DEM Demonstrativos este, esses, aquele, … DFR Denominadores de frações meio, terço, décimo, %, … DGTR Algarismo romanos VI, LX, MMIII, MCMXCIX, … DGT Dígitos 0, 1, 42, 12345, 67890, … DM Marcadores de discurso olá, … EADR Endereço eletrônico http://www.di.fc.ul.pt, … EOE Fim de enumeração etc EXC Exclamativo ah, ei, etc. GER Gerúdios sendo, afirmando, vivendo, … 99 GERAUX Gerúndio "ter"/"haver" em tempos compostas tendo, havendo … IA Artigos indefinidos uns, umas, … IND Indefinidos tudo, alguém, ninguém, … INF Infinivo ser, afirmar, viver, … INFAUX Infinitivo "ter"/"haver" em tempos compostos ter, haver … INT Interrogativos quem, como, quando, … ITJ Interjeições bolas, caramba, … LTR Letras a, b, c, … MGT Classes de magnitude unidade, dezena, dúzia, resma, … MTH Meses Janeiro, Dezembro, … NP Sintagmas nominais idem, … ORD Ordinais primeiro, centésimo, penúltimo, … PADR Parte de endereço Rua, av., rot., … PNM Parte de nome Lisboa, António, João, … PNT Sinais de pontuação ., ?, (, … POSS Possessivos meu, teu, seu, … PPA Particípio passado não em tempos compostos afirmados, vivida, … PP Sintagmas preposicionais algures, … PPT Particípio passado em tempos compostos sido, afirmado, vivido, … PREP Preposições de, para, em redor de, … PRS Pessoais eu, tu, ele, … QNT Quantificadores todos, muitos, nenhum, … REL Relativos que, cujo, tal que, … 100 STT Títulos sociais Presidente, drª., prof., … SYB Símbolos @, #, &, … TERMN Terminações opcionais (s), (as), … UM "um" ou "uma" um, uma UNIT Unidades de medida abreviadas kg., km., … VAUX Infinitivo "ter" or "haver" em tempos compostos temos, haveriam, … V Verbos (que não PPA, PPT, INF ou GER) falou, falaria, … WD Dias da semana segunda, terça-feira, sábado, … Expressões com múltiplas palavras LADV1…LADVn Advérbios de facto, em suma, um pouco, … LCJ1…LCJn Conjunções assim como, já que, … LDEM1…LDEMn Demonstrativos o mesmo, … LDFR1…LDFRn Denominadores de frações por cento LDM1…LDMn Marcadores de discurso pois não, até logo, … LITJ1…LITJn Interjeições meu Deus LPRS1…LPRSn Pessoais a gente, si mesmo, V. Exa., … LPREP1…LPREPn Preposições através de, a partir de, … LQD1…LQDn Quantificadores uns quantos, … LREL1…LRELn Relativos tal como, … 101 Apêndice C – Mapeamento de caracteres especiais As conversões listadas na tabela C.1 foram aplicadas à coleção de textos antes da utilização de qualquer ferramenta de PLN. Cada linha apresenta o caractere original e seu código hexadecimal UNICODE correspondente, a descrição do caractere especial e o caractere que é usado para substituí-lo. Tabela C.1 – Conversões de caracteres especiais Caractere Original UNICODE Descrição (hexadecimal) Caractere Convertido “ 201C Abre aspas duplas " ” 201D Fecha aspas duplas " ‘ 2018 Abre aspas simples ' ’ 2019 Fecha aspas ' ` 0060 Acento grave ' … (um só caractere) 2026 Reticências ... (três pontos) — 2014 Traço longo - 102
Documentos relacionados
Ontologias - ENANCIB - Encontro Nacional de Pesquisa em Ciência
Após leitura dos artigos iniciou-se a construção do mapa conceitual, apoiada em metodologia para organização e representação de domínios de conhecimento. Tendo concluído um primeiro esboço do mapa,...
Leia maisRepresentação do conhecimento e modelagem conceitual de
Figura 4 – Ligado nos Políticos: disponibilização de dados abertos...................................................... 34 Figura 5 – Setores e serviços que mais consomem aplicações de tecnologia ...
Leia mais