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">&nbsp;25/1/1927&nbsp;&nbsp;Rio de
Janeiro, RJ<BR>
<IMG SRC="img/gap4.gif" WIDTH="140" HEIGHT="6"><BR>&nbsp;&nbsp;<IMG
SRC="img/bul_mort.gif" WIDTH="6" HEIGHT="8"
BORDER="0">&nbsp;8/12/1994&nbsp;&nbsp;Nova York, EUA<BR><IMG SRC="img/gap4.gif"
WIDTH="140" HEIGHT="6"></TD></TR>
&nbsp;
<TR><TD><B>Veja Tamb&eacute;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

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 mais

Representação do conhecimento e modelagem conceitual de

Representaçã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