atualização semi-automática dos recursos da string€¦ · abstract the named entities...
TRANSCRIPT
Atualização Semi-Automática dos Recursos da STRING
Catarina Vieira de Mendonça
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática e de Computadores
Orientadores: Prof. Doutor Nuno João Neves Mamede
Prof. Doutor Jorge Manuel Evangelista Baptista
Júri
Presidente: Prof. Paolo Romano
Orientador: Prof. Doutor Nuno João Neves Mamede
Vogal :Prof. Maria Luísa Torres Ribeiro Marques da Silva Coheur
Maio 2019
Agradecimentos
Em primeiro lugar gostaria de agradecer ao Professor Nuno Mamede pela constante ajuda, motivação e, acima de
tudo, compreensão ao longo do desafio que foi desenvolvimento da dissertação. Ao Professor Jorge Baptista pelas
correções linguísticas que permitiram melhorar bastante a qualidade da dissertação.
Em segundo lugar gostava de agradecer a todos os meus amigos que suportaram muitos inícios de conversas
de desabafos e frustrações que acabaram em sorrisos e gargalhadas. Aqui ficam os agradecimentos ao Francisco,
Daniel, Rui, JP, Carina, Nazaré, Catarina, Maria, Maria Inês, Ioana, Susana, Henrique, Montoia e todos os outros
que já não me podiam ouvir falar da dissertação.
Quero dedicar esta dissertação à minha família: Ao meu irmão por me motivar a ser um exemplo a seguir; Aos
meus pais por, apesar de estarem a 300km, atenderem todas as chamadas de desespero, por ajudarem e apoiarem
as minhas decisões e por sempre acreditarem em mim, mesmo quando eu não acreditava; E por fim, ao meu
marido, por estar presente em todos os momentos desta dissertação, desde dos momentos felizes até aos momentos
frustantes, por tirar mil e um cafés, por me ajudar sempre que não me lembrava de uma certa palavra e por todas
as vezes que esteve ao meu lado, apenas para me dar apoio.
O crédito deste trabalho não é só meu, é um bocadinho de todos vós e, por isso, um MUITO OBRIGADA!
Lisboa, 10 de Maio de 2019
Catarina Vieira de Mendonça
i
Resumo
O Reconhecimento de Entidades Mencionadas (REM) consiste na identificação e classificação de certos elementos
do texto de acordo com uma tipologia de entidades, por exemplo, nomes de pessoas, de organizações, de locais,
de eventos ou datas. O REM é uma tarefa muito importante para o Processamento da Língua Natural pois permite
relacionar as unidades elementares de um texto, melhorando a sua compreensão. O REM tem bastante influência
no desempenho de outras tarefas do Processamento da Língua Natural, como é o caso, dos sistemas de pergunta-
resposta, e sumarização de texto ou e indexação de documentos. O REM é efetuado pela STatistical and Rule-based
Natural lanGuage processing chain com a ajuda de recursos externos, como é o caso dos léxicos, que se encontram
no XEROX Incremental Parsing e dos dicionários, que se encontram no Lexical Morphological Analyzer. Estes
recursos possuem listas de Entidades Mencionadas não reconhecidas apenas pelas regras manuais da (STatistical
and Rule-based Natural lanGuage processing chain). Um maior número de Entidades Mencionadas presentes
nestes recursos representa um maior número de Entidades Mencionadas reconhecidas pela STatistical and Rule-
based Natural lanGuage processing chain sem a criação de novas regras manuais. A atualização destes recursos
acaba por ser preferível, pois a criação de regras manuais é mais complexa devido ao conhecimento sobre o sistema
e sobre as próprias regras que exige.
Atualmente, a atualização de cada um dos léxicos do XEROX Incremental Parsing e dos dicionários do Lexical
Morphological Analyzer é efetuada através da adição manual de novas Entidades Mencionadas. Este trabalho tem
como objetivo automatizar a forma como é efetuada a atualização dos léxicos e dos dicionários, tornando-a mais
rápida e mais sistemática, logo menos sujeita a erros. Para tal, decidiu-se utilizar as Caixas de Informação da
Wikipédia como recurso para obter o maior número possível de Entidades Mencionadas. As Entidades obtidas
são primeiro, classificadas com uma das três seguintes categorias, Pessoa, Organização e Local e, de seguida, as
Entidades ainda não presentes nos recursos são adicionadas.
iii
Abstract
The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-
ing to a typology of entities, for example, names of people, organizations, places, events or dates. The NER is a
very important task for the Natural Language Processing because it allows to connect the various elementary units
of a text, improving, that way, its understanding. The NER influences immensely the performance of other tasks of
Natural Language Processing, such as question-answer systems, text summarization and indexing of documents.
In this case, the NER is performed by the STatistical and Rule-based Natural lanGuage processing chain with the
help of some external resources such as lexicons in XEROX Incremental Parsing and the dictionaries in the Lexical
Morphological Analyzer. The content of these resources is lists of Named Entities that can not be recognized only
by the manual rules (STatistical and Rule-based Natural lanGuage processing chain). The greater the number of
Named Entities represented in these resources, the greater the number of Named Entities recognized by the STatis-
tical and Rule-based Natural lanGuage processing chain, without the creation of new manual rules. Updating these
resources turns out to be preferable to the creation of new manual rules. That is due to the fact that the creation of
manual rules requires a deep knowledge about the NER system.
Nowadays, the update of each lexicon and dictionary is performed by manually adding, to their content, new
Named Entities. This work aims to automate the way in which the lexicons and dictionaries are updated. Making
it faster and more systematic, thus less subject to errors. To do so, it was decided to use Wikipedia’s Information
Boxes content to obtain as many Entities as possible. The Entities obtained are first, classified as one of the
following three categories, Person, Organization and Place, and then Entities not yet present in the resources are
added.
v
Palavras-Chave
Palavras-Chave
Entidades Mencionadas (EM)
Léxicos
Dicionários de LEMAS
Wikipédia
Processamento de Língua Natural (PLN)
Português
Keywords
Named Entities
Lexicons
LEMAS’ Dictionaries
Wikipedia
Natural Language Processing (NLP)
Portuguese
vii
Índice
Agradecimentos i
Resumo iii
Abstract v
Palavras-Chave vii
Lista de Figuras xiv
Lista de Tabelas xv
Lista de Abreviaturas xvii
Lista de Termos xix
1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 STRING 3
2.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 LexMan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 RuDriCo2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 MARv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 XIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5.1 Léxicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5.2 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.3 Gramáticas Locais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5.4 Dependências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Wikipédia 9
3.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Recursos da Wikipédia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ix
3.2.1 Artigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Caixas de Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 Categorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.4 Ligações internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.5 Ligações de redireção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.6 Páginas de Desambiguação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.7 Páginas de Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Dumps da Wikipédia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Estado da Arte 15
4.1 Identificação e Classificação de Entidades Mencionadas . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.1 REMBRANDT (2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.2 REMMA (2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.3 Kazama e Torisawa (2007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.4 Mohamed e Oussalah (2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Criação e Atualização de Listas Externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.1 Toral e Muñoz (2006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 Gamallo e Garcia (2011) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.3 Comparações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.4 Ferramentas de Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Arquitetura 23
5.1 Visão global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1 Pré-processamento do XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2.2 Pré-processamento das Caixas de Informação . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Atribuição de Categoria à EM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1 Atribuição Através do Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.2 Atribuição Através dos Atributos Relevantes . . . . . . . . . . . . . . . . . . . . . . . . 31
5.4 Identificação de EM Candidatas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.4.1 Candidatas Para Os Dicionários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4.1.1 Validação da Caraterística Nome . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4.1.2 Validação da Dicionarização . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.1.3 Validação da Caraterística Nome Próprio . . . . . . . . . . . . . . . . . . . . . 34
5.4.1.4 Validação da Caraterística Primeiro Nome . . . . . . . . . . . . . . . . . . . . 34
5.4.1.5 Validação da Caraterística Último Nome . . . . . . . . . . . . . . . . . . . . . 34
5.4.2 Candidatas Para Os Léxicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4.2.1 Validação da EM Reconhecida . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.2.2 Validação da Categoria Atribuída . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.5 Atualização dos Léxicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
x
5.5.1 Dicionários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5.2 Léxicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Avaliação 39
6.1 Avaliação das Abordagens de Atribuição de Categoria . . . . . . . . . . . . . . . . . . . . . . . . 39
6.1.1 Métricas de Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.1.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Avaliação do Módulo de Atualização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2.1 Métricas de Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2.2.1 Humano Individual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2.2.2 Humano Coletivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2.2.3 Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7 Conclusão e Trabalhos Futuros 47
7.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Referências 49
A Exemplos de Caixas de Informação dos Dumps (pré-processados) 51
A.0.1 Humano Individual - Albert Einstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.0.2 Humano Coletivo - Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.0.3 Local - Coimbra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
B.0.1 Categoria - Humano Individual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
B.0.2 Categoria - Humano Coletivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
B.0.3 Categoria - Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
B Lista de Correspondência dos Modelos das Caixas de Informação Com a Categoria 55
C.0.1 Modelo - Biografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
C.0.2 Modelo - Empresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
C.0.3 Modelo - Município de Portugal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
C Exemplos da Estrutura das Caixas de Informação por Categoria 59
D Exemplos de Caixas de Informação Após o Tratamento 61
E Lista dos Ficheiros de Dicionário 65
F Lista dos Ficheiros de Léxico 67
xi
Lista de Figuras
2.1 Arquitetura da STRING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Árvore de saída do módulo de segmentação (ing. chunking) da frase A Catarina mora no Algarve. 6
2.3 Dependências da frase “A Catarina mora no Algarve." . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Caixa de informação do artigo sobre Albert Einstein da Wikipédia . . . . . . . . . . . . . . . . . 10
3.2 Conteúdo de uma Caixa de Informação ainda por processar. . . . . . . . . . . . . . . . . . . . . . 11
3.3 Categorias do artigo sobre Albert Einstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Exemplo de dump sem qualquer processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1 Anotadores do REMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1 Arquitetura simplificada do módulo de atualização dos recursos da STRING. . . . . . . . . . . . 23
5.2 Exemplo do ficheiro de dump sem qualquer processamento . . . . . . . . . . . . . . . . . . . . . 25
5.3 Componente de Pré-Processamento do módulo de atualização dos recursos da STRING. . . . . . 25
5.4 Estrutura mais comum das Caixas de Informação. . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.5 Estruturas com Info ... mas que não são Caixas de Informação. . . . . . . . . . . . . . . . . . . . 26
5.6 Caixa de Informação com todos os pares numa só linha. . . . . . . . . . . . . . . . . . . . . . . . 27
5.7 Estruturas com Info ... mas que não são Caixas de Informação. . . . . . . . . . . . . . . . . . . . 27
5.8 Linhas no interior da caixa que não são pares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.9 Espaçamentos diferentes nos vários em pares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.10 Conteúdo de uma Caixa de Informação ainda por processar. . . . . . . . . . . . . . . . . . . . . . 29
5.11 Estrutura de Classes onde a informação é guardada. . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.12 Componente de Atribuição da Categoria à EM do módulo de atualização dos léxicos da STRING. 31
5.13 Componente de Identificação de EM candidatas do módulo de atualização de léxicos da STRING. 32
5.14 Resultado do processamento das palavras na STRING. . . . . . . . . . . . . . . . . . . . . . . . 33
5.15 Resultado do processamento das EM na STRING. . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.16 Componente de Atualização dos Léxicos do módulo de atualização de léxicos da STRING. . . . . 36
5.17 Conteúdo de um ficheiro de dicionário. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.18 Conteúdo de um ficheiro de léxico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.1 Resultados gerais das três abordagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.2 Resultados gerais da avaliação quantitativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
xiii
6.3 Resultados percentuais do reconhecimento total de EM par Humano Individual. . . . . . . . . . . 42
6.4 Resultados percentuais do reconhecimento parcial de EM par Humano Individual. . . . . . . . . . 43
6.5 Resultados percentuais do reconhecimento de EM par Humano Coletivo. . . . . . . . . . . . . . . 45
6.6 Resultados percentuais do reconhecimento de EM par Local. . . . . . . . . . . . . . . . . . . . . 46
xiv
Lista de Tabelas
4.1 Atributos-base para cada categoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Exemplos de Subcategorias de Pessoa, Organização e Local . . . . . . . . . . . . . . . . . . . . . 20
4.3 Recursos de Wikipédia Usados por Cada Sistema e Tipo de Processamento destes . . . . . . . . . 21
4.4 Categorias de EM Reconhecidas por Cada Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1 Atributos que possuem o nome da EM, para cada categoria. . . . . . . . . . . . . . . . . . . . . . 30
5.2 Attributos-base das Categoria Humano Individual, Humano Coletivo e Local . . . . . . . . . . . . 32
5.3 Relação entre as categorias do projeto e as features da STRING . . . . . . . . . . . . . . . . . . . 35
5.4 Features atribuídas a cada categoria e sub-categoria de EM. . . . . . . . . . . . . . . . . . . . . . 37
6.1 Resultados da execução das abordagens de atribuição de categoria à EM . . . . . . . . . . . . . . 40
6.2 Resultados absolutos do reconhecimento total de EM par Humano Individual. . . . . . . . . . . . 43
6.3 Resultados absolutos do reconhecimento parcial de EM par Humano Individual. . . . . . . . . . . 44
6.4 Resultados absolutos do reconhecimento de EM par Humano Coletivo. . . . . . . . . . . . . . . . 44
6.5 Resultados absolutos do reconhecimento total de EM par Local. . . . . . . . . . . . . . . . . . . 46
xv
Lista de Abreviaturas
EM Entidades Mencionadas
REM Reconhecimento Entidades Mencionadas
INESC-ID Instituto Engenharia e de Sistemas
e Computadores - Investigação e
Desenvolvimento
LexMan Lexical Morfological Analizer Analizador Lexical Morfológico
L2F Spoken Language Systems Laboratory Laboratório de Sistemas de Língua Falada
MARv Morphosyntactic Ambiguity Resolver [módulo de] desambiguação morfossintática
(estatístico)
RuDriCo Rule-Driven Converter Conversor baseado em regras
STRING Statistical and Rule-based natural lan-
guage processing
XIP Xerox Incremental Parser Analisador Sintático (da Xerox)
XML Extensible Markup Language
HAREM HAvaliação de Reconhecimento de Entidades
Mencionadas
xvii
Lista de Termos
Termo Significado
Gazetteers Dicionário geográfico ou diretório para obter informações sobre lugares e nomes de lu-
gares.
xix
Capítulo 1
Introdução
1.1 Motivação
O Processamento de Língua Natural (PLN) tem sido uma área com bastante desenvolvimento nos últimos anos e
foca-se nas interações entre humanos e computadores através de língua natural. O PLN trata dois problemas: a
compreensão de língua natural, isto é, o computador conseguir extrair sentido da língua natural, e a geração de
língua natural. O Reconhecimento de Entidades Mencionadas (REM) [9, 10, 12, 14], é uma subtarefa da extração
de Informação que ajuda à extração do sentido de um texto em língua natural. O REM consiste em identificar
certos elementos do texto e em classificá-los de acordo com uma tipologia previamente estabelecida de Entidades
Mencionadas (EM) [5], sendo as classes mais usais as seguintes: pessoa, local, organização, quantidade, evento,
datum entre outras. Por exemplo, na frase:
“A Catarina foi a Lisboa no dia 1 de Fevereiro."
O objetivo do REM é reconhecer as EM “Catarina”, “Lisboa” e “1 de Fevereiro” e classificá-las de acordo com
a tipologia utilizada. Segundo a tipologia presente em Baptista (2011) [5], a STRING classifica “Catarina” com
a categoria HUMANO e subcategoria INDIVIDUAL; “Lisboa” com a categoria LOCAL e subcategoria CIDADE e “1 de
Fevereiro” com a categoria TEMPO e subcategoria DATA.
A importância da tarefa de REM para o PLN resulta do facto de permitir extrair, com relativa facilidade, parte
importante do significado de um texto e pode, assim, facilitar outras tarefas ou etapas subsequente do proces-
samento como é o caso da obtenção de relações entre as várias entidades [6, 15], da resolução de anáforas, da
melhoria dos sistemas de pergunta-resposta, da sumarização de texto e da indexação de documentos.
Neste trabalho o sistema que executa a tarefa de REM é a cadeia de processamento do Laboratório de sistemas
de Língua Falada, STatistical and Rule-based Natural lanGuage processing chain (STRING) [6], que aplica um
híbrido entre algoritmos estatísticos e regras manuais e é responsável pelas tarefas básicas do PLN, como a análise
lexical, a análise sintática e a análise semântica. A STRING é descrita em maior detalhe na Secção 2.
Na STRING, o REM é efetuado maioritariamente através de regras manuais, no entanto, a STRING recorre a
dois tipos de recursos para ajudar na realização da tarefa: (i) léxicos, que fazem parte do último módulo da STRING
chamado XEROX Incremental Parsing (XIP) [16], descrito em detalhe na Secção 2; e (ii) dicionários presentes
1
no primeiro módulo da STRING, Lexical Morphological Analyzer (LexMan) [1, 4], descrito detalhadamente na
Secção 2.
(i) Os léxicos são listas EM e especificam a interpretação de um segmento associado a um nó.
(ii) Os dicionários são listas de segmentos que devem ser reconhecidos pela cadeia.
Com a constante mudança e surgimento de novas EM, os léxicos e os dicionários devem ser atualizados fre-
quentemente. A sua atualização parece uma tarefa simples mas, pelo facto de haver um grande número de novas
EM e a sua introdução ser efetuada manualmente, é necessário averiguar previamente a presença da entidade nos
ficheiros dos recursos, o que em 51 ficheiros de léxico e em 78 ficheiros de dicionário com milhares de linhas cada,
acaba por ser um trabalho que requer extrema concentração e é moroso.
1.2 Objetivo
O objetivo deste trabalho é, assim, automatizar o mais possível a tarefa de atualização de léxicos e dicionários,
evitando ou, pelo menos, reduzindo o esforço manual envolvido neste processo. O foco da atualização automática
são as entidades das categorias Pessoa, Organização e Local, pois verificou-se que a necessidade de introdução de
novas entidades é maior nestas categorias.
Para a atualização dos léxicos e dos dicionários ser automática é necessário encontrar uma boa fonte de onde
obter novas Entidades Mencionadas. Após análise, chegou-se à conclusão que a Wikipédia pode ser considerada
uma fonte adequada para extrair essas informações, pelas seguintes razões:
• Constante evolução e crescimento, com a criação de 112 artigos novos todos os dias1.;
• Conter um número grande de EM nas categorias que são o foco deste trabalho, cerca de 215 mil EM;
• Possuir informação parcialmente estruturada e fácil de extrair a partir dos dumps estáticos, que são ficheiros
de XML, lançados mensalmente.
Como é descrito, na Secção 4.2.3, a Wikipédia possui vários recursos dos quais podem ser extraídas as EM. No
entanto, em consequência do estudo comparativo feito nessa Secção, as caixas de informação são o melhor recurso
para ser utilizado nesta esta tarefa.
No entanto, há que ter alguns cuidados no desenvolvimento deste novo módulo. O primeiro resulta do facto
de as caixas de informação da Wikipédia terem a sua informação definida pelos autores do artigo onde se encon-
tram. Como a maior parte das caixas de informação são escritas por diferentes autores nem sempre as respetivas
estruturas são idênticas e nem sempre apresentam informação completa. Por exemplo, a maioria das caixas de
informação têm o nome da EM que descrevem no atributo “nome”, enquanto outras caixas de informação têm esse
campo vazio e apresentam o nome da EM noutro atributo. O segundo cuidado tem a ver com classificação das En-
tidades Mencionadas na STRING seguir um conjunto de diretivas que nem sempre são equivalentes à classificação
que é obtida das caixas da Wikipédia.
1https://stats.wikimedia.org/EN/SummaryPT.htm
2
Capítulo 2
STRING
Neste capítulo é descrita, primeiramente, a arquitetura da STRING(STatistical and Rule-based Natural lanGuage
processing chain) [6], sistema de PLN desenvolvido pelo Laboratório de sistemas de Língua Falada (LLF), onde
está inserido o módulo que trata do Reconhecimento de Entidades Mencionadas (Secção 2) e por fim, o módulo,
onde é efetuado o REM, o XIP e as suas componentes (Secção 2.5).
2.1 Arquitetura
A STRING é uma cadeia de processamento responsável por algumas tarefas básicas de Língua Natural, das quais
são exemplo: a análise lexical, a análise morfológica, a desambiguação morfossintática, a análise sintática, e a
extração de dependências.
A cadeia executa estas tarefas em quatro módulos:
• LexMan (Lexical Morphological Analyzer)
• RuDriCo2 (Rule Driven Converter);
• Marv4 (Morphossyntactic Ambiguity Resolver);
• XIP (XEROX Incremental Parsing).
Figura 2.1: Arquitetura da STRING
A passagem da informação e do texto processado entre módulos da STRING é feita através de XML (Extensible
Markup Language). No que se segue, apresenta-se sucintamente cada um destes módulos do sistema.
3
2.2 LexMan
O Lexical Morphological Analyzer [1, 4], o primeiro módulo da cadeia de processamento e faz a segmentação do
texto de entrada na sua unidade mais básica, o segmento (ing. token). Devido à existência de palavras compostas os
segmentos podem ter mais do que um elemento lexical. O LexMan também é responsável pelo reconhecimento de
segmentos especiais como é o caso de: endereços IP e HTTP, números expressos por dígitos p.ex. 123, números
por extenso p.ex. (cento e trinta e sete), numeração romana p.ex. (XXI, XIV), abreviaturas p.ex. (Dr.),
pontuação e sequências de sinais de pontuação p.ex. (!, ..., :).
A segunda tarefa do LexMan é a atribuição a cada segmento das repetivas etiquetas morfossintáticas. Para
tal, o LexMan realiza a geração de palavras, através do LexManGenerator. Este processo recebe os ficheiros de
dicionários e os ficheiros de paradigmas. Os dicionários são um conjunto de 78 ficheiros com organizados so-
bretudo pelas categorias gramaticais; por exemplo, os ficheiros CompoundProper-Org, CompoundProper-Local
apresentam uma lista de nomes próprios de Organizações e de Locais, respetivamente. A estrutura dos dicionários
é a seguinte:
<lema>(([ cat+subcat (,cat+subcat)*])* (paradigma)+ (<radical>)+)+
Onde,
- <lema>: a forma canónica de uma palavra;
- cat+subcat: a concatenação de a categoria e da subcategoria, no caso da categoria ser nome e a subcategoria
comum, o resultado será Nc;
- paradigma: referência para um paradigma de reflexão definido num ficheiro de paradigmas;
- <radical>: a forma da palavra que o paradigma vai alterar de forma a criar novas formas superficiais. Um
exemplo desta estrutura pode ser,
<anzol>[Nc] FlN13 <anzol>
Os ficheiros de paradigmas definem as transformações que se pode aplicar a um radical para criar as formas
flexionadas associadas, indicando para estas as respetivas informações morfossintáticas (género, número, termo,
unidade, etc). Por exemplo,
FlN13 <anzol>
...smn.== 0 <><>
...pmn.== 0 <ol><ois>
Além dos ficheiros acima referidos, existem também os ficheiros de exceção que permitem excluir uma enti-
dade quando esta tem pouca probabilidade de aparecer num texto e cria ambiguidade.
A última tarefa do LexMan é a separação do texto em frases através, sobretudo dos sinais de pontuação, que
4
indicam o final de frase: “.", “!", “?". O módulo de separação de frases não considera todas as ocorrências de
pontuação, levando em consideração casos como as abreviaturas registadas (ex. Dr.) , certas siglas e acrónimos
(ex. N.A.S.A).
2.3 RuDriCo2
O Rule Driven Converter executa dois tipos de regras construídas manualmente. As regras de segmentação ou
expandem um segmento em dois ou contraem um conjunto segmentos num só. As regras de desambiguação
permitem reduzir o número de etiquetas morfossintáticas atribuídas a cada segmento utilizando o seu contexto
circundante para eliminar as etiquetas inadequadas ou para selecionar a etiqueta considerada correta, consoante o
caso.
2.4 MARv4
O papel do Morphossyntactic Ambiguity Resolver é desambiguar estatisticamente as etiquetas morfossintáticas
atribuídas a cada segmento. Essa desambiguação utiliza o algoritmo de Viterbi e recorre a um modelo de língua
que utiliza trigramas para codificar a informação contextual sobre as entidades e utiliza unigramas para codificar a
informação lexical.
2.5 XIP
XEROX Incremental Parser [16] é o último módulo da cadeia de processamento e é responsável pela análise sin-
tática, permitindo, nomeadamente, a identificação de Entidades Mencionadas e de relações linguísticas de difer-
entes tipos. Este último módulo é descrito pormenorizadamente ,pois, além de conter os ficheiros de léxico, que
são a base deste trabalho, a resolução de questões de segmentação e de constituição de chunks, na tarefa de REM,
são também essenciais. A unidade estrutural básica do XIP é o nó e este detém informação sobre a categoria, pares
atributo-valor e os nós irmãos. O XIP é composto pelos seguintes módulos:
2.5.1 Léxicos
São ficheiros que são usados como recurso no REM e contêm listas de entidades mencionadas. Na STRING, exis-
tem cerca de 51 ficheiros de léxicos, separados por categorias, como por exemplo, lexPeople, lexOrg, lexLocation,
lexBrands, lexHuman que representam respetivamente as categorias Pessoa, Organização, Marcas e Profissões.
Todos os ficheiros de léxico apresentam a seguinte sintaxe,
lemma(: POS([features])) (+)= (POS)[features].
Alguns exemplos onde o traço indicativo de marca foi adicionado,
Acer +=?[brand=+].
Advance +=?[brand=+].
5
Alcatel +=?[brand=+].
Apple +=?[brand=+].
2.5.2 Segmentação
O módulo da segmentação (ing. chunking) trata do processo de agrupar segmentos em nós e os nós em sintáticas
elementares (ing. chunks). Este processo leva à formação de estruturas sintáticas como se pode observar na Figura
2.2).
Figura 2.2: Árvore de saída do módulo de segmentação (ing. chunking) da frase A Catarina mora no Algarve.
A segmentação é feita por um ficheiro de regras construídas manualmente e que são executadas individual e
sequencialmente. Em termos de sintaxe, as regras podem ser de três tipos:
• Dependência imediata: descreve um conjunto de nós em qualquer ordem, por exemplo,
NP -> det, noun, adj,
indica que um sintagma nominal (NP, do ing. noun phrase) é um nó que contém um determinante, um
nome e um adjetivo em qualquer ordem. Por exemplo, as frases: A bola amarela., A amarela bola.,
Amarela bola O., Bola amarela A são todas aceites por esta regra, apesar de nem todas serem válidas
em Português.
• Precedência linear: define precedência entre alguns tipos de nós. Considerando, as frases do exemplo
anterior, ao definir duas regras de precedência linear,
[adj:+] < [noun:+],
todos os adjetivos devem ser precedidos por um nome; e
2> [det:+] < [noun:+]
, o nome deve ser precedido por um determinante. Apenas a frase “A bola amarela." é aceite.
6
• Sequência: descreve um conjunto de nós ordenado. Por exemplo, a regra
1 >NP = det,?*,noun
especifica que um sintagma nominal (NP) é uma sequência de um determinante seguido de um nome, po-
dendo ocorrer outros elementos entre eles.
2.5.3 Gramáticas Locais
As gramáticas locais permitem capturar sequências de nós que devem ser consideradas com um único nó mas
apenas em casos específicos. Por exemplo, a regra,
1> NOUN[SEM-Hpeople=+,SEM-Hindividual=+] @= ?[lemma:presidente], ?[gentcountry].
reconhece expressões como: presidente indonésio, presidente holandês, referências a um presidente de um país e
trata-se como um único só NOUN.
2.5.4 Dependências
O objetivo deste módulo é gerar dependências entre as várias sequências de nós, identificadas na tarefa anterior.
Esta identificação de dependências também é feita através de regras construídas manualmente. A sintaxe para estas
regras é a seguinte,
|pattern| if <condition> <dependency_terms>.
As dependências associadas à frase A Catarina mora no Algarve. são apresentadas na Figura 2.3,
Figura 2.3: Dependências da frase “A Catarina mora no Algarve."
As dependências apresentadas na Figura 2.3 então dividas em quatro secções:
• A primeira começa pela dependência MAIN(em) e acaba na dependência ATTRIB(Catarina, em) e define
as dependências sintáticas encontras na frase;
7
• A segunda secção é a mais importante para este trabalho e corresponde às entidades mencionadas encon-
tradas. A primeira entidade encontrada é NE_PEOPLE_INDIVIDUAL(Catarina) e que indica que a palavra
Catarina é uma entidade mencionada e tem como classificação Humano Individual (ing. People Individ-
ual). A segunda entidade encontrada é NE_REGION_ADMIN_AREA_LOCATION(Algarve), esta dependência é
modificada pelos traços NE_REGION_ADMIN_AREA, que indicam que a palavara Algarve é uma EM do tipo
Local Região é também uma Área Administrativa;
• A terceira secção são as estruturas dos predicados semânticos detetados, por exemplo EVENT_LEX(vive,
residência), isto é, eventos que relacionam os elementos da frase e atribuem significado. Todas as de-
pendências começadas por EVENT pertencem a esta secção;
• A última linha corresponde à seção de segmentação (ing. chunking), sendo uma representação alternativa à
da Figura 2.2.
8
Capítulo 3
Wikipédia
Este capítulo é composto por três partes. Na secção 3.1, apresenta-se o papel do Wikipédia neste trabalho e as
razões da sua escolha; a secção 3.2 descreve os vários recursos da Wikipédia; na secção 3.3, descreve-se como
extrair a informação do Wikipédia, especialmente como localizar as Caixas de Informação.
3.1 Contexto
Como referido anteriormente, a Wikipédia1 foi a fonte escolhida para obter novas EM para atualizar os recursos da
STRING, pois apresenta características que a tornam a melhor opção para esta tarefa. Em primeiro lugar, o facto
da Wikipédia já possuir uma grande quantidade de informação e, apesar disso, continuar em constante crescimento
e atualização. A informação que apresenta encontra-se parcialmente estruturada, sendo possível processar as suas
páginas com alguma facilidade; e está disponível em vários idiomas, sendo o mais relevante para este trabalho o
Português. A Wikipédia Portuguesa possui neste momento 1.013.751 artigos, com a criação de 94 artigos novos
todos os dias2.
3.2 Recursos da Wikipédia
A Wikipédia tem uma grande diversidade de recursos que podem ser utilizados para a extração e identificação de
entidades mencionadas. Estes recursos são apresentados a seguir.
3.2.1 Artigo
Os artigos são normalmente utilizados para pesquisa. Cada artigo tem um identificador próprio, um título composto
pela primeira palavra sempre em maiúscula e as restantes separadas por underscore (_). Por exemplo, o artigo
sobre Albert Einstein terá a identificação Albert_Einstein. Através dessa identificação é possível obter um
artigo específico.
Trata-se do recurso com maior quantidade de informação e de EM da Wikipédia, no entanto, requer a análise
do texto, pelo facto de as entidades se encontrarem integradas no texto do artigo.
1https://www.wikipedia.org2https://stats.wikimedia.org/EN/SummaryPT.htm
9
3.2.2 Caixas de Informação
As Caixas de Informação encontram-se no canto superior direito dos artigos e apresentam a informação principal,
de forma resumida e estruturada em pares <atributo, valor>. Pode-se observar na Figura 3.1, os pares Nasci-
mento:14 de março de 1879 e Nacionalidade:Alemão.
Figura 3.1: Caixa de informação do artigo sobre Albert Einstein da Wikipédia
As caixas são construídas com base em modelos, consoante a categoria da entidade, e contêm um conjunto de
atributos diferentes, indicados para cada tipo. Os vários modelos das categorias Pessoa3, Organização4 e Local5
podem ser encontrados, respetivamente, no Anexo B.
A principal vantagem deste recurso é o facto de apresentar a informação estruturada por pares <atributo, valor>;
Além disso, é possível encontrar um número elevado de entidades; Já apresentada desta forma cada entidade tem
sempre um modelo associado, sendo relativamente fácil identificar a estrutura da Caixa de Informação no dump da
Wikipédia.
Contudo, muito valores dos pares <atributo, valor>contêm texto irrelevante para o atributo respetivo, como é
possível observar na Figura 3.2.
3https://pt.wikipedia.org/wiki/Categoria:!Infocaixas_sobre_pessoas4https://pt.wikipedia.org/wiki/Categoria:!Infocaixas_sobre_organizações5https://pt.wikipedia.org/wiki/Categoria:!Infocaixas_sobre_localidades
10
Figura 3.2: Conteúdo de uma Caixa de Informação ainda por processar.
3.2.3 Categorias
As categorias são definidas pelos autores do artigo para o classificar e têm como objetivo agrupar vários artigos. As
categorias estão disponíveis no final de cada artigo. Por possuírem dependências hierárquicas entre elas é possível
obter uma estrutura hierárquica dessas categorias. Na Figura 3.3, pode-se observar as categorias existentes no
artigo sobre Albert Einstein.
Figura 3.3: Categorias do artigo sobre Albert Einstein
Há alguma vantagem em se dispor de uma classificação das entidades correspondentes aos artigos, no entanto
a classificação é efetuada pelo autor, pelo que pode ser ambígua ou inadequada.
3.2.4 Ligações internas
Os artigos apresentam na sua estrutura ligações internas, com o formato [Albert Einstein | Einstein] e o
seu objetivo é ligar dois artigos onde tenham sido usadas as mesmas palavras. Os artigos onde existam referên-
cias a Albert Einstein e Einstein estão ligados entre eles, como é o caso de Albert Einstein, Família
Einstein, Albert Einstein Memorial, entre outros.
Não são adequadas, pois focam-se nas relações entre as entidades e encontram-se no inteiro do texto do artigo,
sendo difícil retirar das EM.
3.2.5 Ligações de redireção
As ligações de redireção são semelhantes às anteriores exceto em duas ligeiras diferenças. A primeira é que não
possuem uma palavra alternativa e a segunda é que servem para ligar o termo ao artigo específico da EM. Estas
ligações possuem os mesmos prós e contras que as ligações internas.
11
3.2.6 Páginas de Desambiguação
Estas páginas mostram os vários significados de uma entidade, normalmente, apresentam o nome da Entidade
Mencionada seguido da sua categoria. Por exemplo, a página de desambiguação de França identifica, entre outras,
França, o país, França(Bragança), uma freguesia de Bragança ; França(futebolista), ex-jogador do São
Paulo.
Como descrevem significados da mesma palavra ou conjunto de palavras acabam por não ser ideais para obter
um grande número de EM.
3.2.7 Páginas de Listas
São páginas que são constituídas por listas de Entidades Mencionadas todas da mesma categoria. Por exemplo, a
Lista de freguesias de Lisboa, apresenta todas as freguesias de Lisboa, atuais e antigas.
Com tantos recursos à disposição é necessário escolher a melhor forma de obter as EM. Comparando os prós
e os contras acima apresentado, chegou-se à conclusão de que as Caixas de Informação são o recurso que permite
a extração de um maior número de EM e fazê-lo de uma maneira mais simplificada. Este recurso também é fácil
adaptar para se obter EM noutras línguas, visto que, apenas a forma como a Caixa é nomeada no dump e os nomes
dos atributos nos pares <atributo, valor>são diferentes quando se muda de uma língua para outra.
Uma vantagem é o facto de as listas serem simples e claras o que torna o recurso fácil de processar, no entanto,
a frequência de utilização e criação deste recurso é inferior aos anteriormente descritos.
3.3 Dumps da Wikipédia
Por ser uma fonte aberta, a Wikipédia, disponibiliza, regularmente, cópias dos dados, que levam o nome de dumps.
Estes dumps são disponibilizados por uma interface da Wikimedia 6 e podem ter dois formatos: XML, que possuem
os textos e os metadados das páginas e que para aceder às Caixas de Informação acaba por ser o mais adequado
do que as Tabelas de Base de Dados em SQL, que possuem adicionalmente todas as ligações existentes quer nas
páginas, entre páginas, categorias e redireções.
No formato XML, Figura 3.4, a informação das caixas encontra-se no interior da estrutura “Info/”. O que
se encontra a seguir a este é a identificação do tipo de modelo da respetiva caixa, que, no caso da Figura 3.4,
indica que o modelo utilizado na caixa é o de biografia e que contem os atributos indicados para descrever a vida
e trabalho de uma pessoa. Dentro da estrutura “Info/” encontram-se pares atributo “=" valor, com a informação
mais importante das entidades e este pares encontram-se separados por “|”.
6https://dumps.wikimedia.org/ptwiki/20171001/
12
Figura 3.4: Exemplo de dump sem qualquer processamento
13
Capítulo 4
Estado da Arte
Nesta secção, descrevem-se vários sistemas que utilizam a Wikipédia de dois modos bastante distintas, no entanto,
são importantes como ponto de partida para entender as possíveis utilizações da Wikipédia no REM. O primeiro
modo de utilização foca-se na utilização integrada da Wikipédia com o processo de REM como forma de identificar
e classificar EM. O segundo modo utiliza a Wikipédia para a atualização de recursos externos, por exemplo,
dicionários ou gazetteers. Os dois modos são descritos em maior detalhe nas secções seguintes.
4.1 Identificação e Classificação de Entidades Mencionadas
Esta abordagem diferencia-se por integrar a Wikipédia na própria tarefa de REM. Apesar de não ser o objetivo
deste trabalho é importante observar a maneira como estes sistemas utilizam a Wikipédia para efetuar ou ajudar
o REM. Nesta secção são descritos os sistemas REMBRANDT [3] e REMMA [8], que usam a Wikipédia como
um módulo para ajudar na identificação e classificação das EM. Ambos os sistemas foram avaliados no segundo
HAREM 1, que é uma avaliação conjunta para sistemas de Processamento de Língua Natural que incluí a identi-
ficação e classificação automática de entidades num texto na língua portuguesa, sendo por isso uma forma justa
de comparação entre os vários sistemas de REM que nele participam. Os restantes são os sistemas de Kazama e
Torisawa (2007) [7] e Mohamed e Oussalah (2014) [11], onde os recursos da Wikipédia são usados para identificar
e classificar diretamente as entidades.
4.1.1 REMBRANDT (2008)
O REMBRANDT (Reconhecimento de Entidades Mencionadas Baseado em Relações e Análise Detalhada do
Texto) [3] é um sistema para processamento de textos em português que retira entidades mencionadas e as relações
entre elas. O REMBRANDT distingue-se do XIP pela utilização da Wikipédia como fonte de conhecimento.
SASKIA
A ligação do REMBRANDT à Wikipédia não é feita diretamente, mas sim, através de uma interface chamada
SASKIA. Esta tem como principais funções a navegação nas páginas, recolha de categorias das entidades e normal-
1https://www.linguateca.pt/HAREM/
15
ização de títulos. As funcionalidades principais do SASKIA são o pré-processamento das coleções e a classificação
inicial das EM, que se descreve a seguir.
Pré-processamento das Coleções:
O SASKIA apenas processa ficheiros de XML através de um pré-processador, já existente, que, para cada
documento, extrai ligações, categorias, títulos, listas ordenadas e texto filtrado e armazena essa informação. O
pré-processamento do SASKIA está preparado para os dumps de Português que têm um tamanho mais pequeno,
relativamente aos de outras línguas, como é do caso do Inglês, não sendo necessário recorrer a processos de pré-
processamento em paralelo para obter a informação.
Classificação inicial de EM:
A classificação inicial é feita, primeiramente, através da associação de uma EM ao artigo da Wikipédia cor-
respondente. Para isso, o artigo com o título igual à EM é procurado. Quando esse artigo não é encontrado o
contexto da entidade é usado para a procura. Após esta associação estar feita, são retiradas e avaliadas as catego-
rias do artigo. Se necessário, artigos relacionados são visitados de modo a elaborar uma lista com as categorias que
fazem sentido para a EM em classificação. Por fim, existe uma adequação das categorias retiradas para as diretivas
do HAREM, que são as utilizadas para a avaliação do desempenho do sistema.
O funcionamento do REMBRANDT está dividido em três fases:
1. Divisão em unidades, reconhecimento de expressões numéricas e temporais e geração de palavras can-
didatas a EM
Os textos são primeiro divididos em frases e de seguida em unidades. A seguir, o primeiro conjunto de regras
é aplicado. Estas regras identificam expressões com numerais, formadas quer por algarismos quer escritas
por extenso, assim como, cardinais e ordinais. O segundo conjunto de regras foca-se no reconhecimento
de expressões temporais e de valor. O último conjunto retira qualquer sequência com uma maiúscula ou
algarismo.
2. Classificação das EM geradas
Nesta etapa, as Entidades Mencionadas são classificadas de duas maneiras. Primeiro pelo SASKIA e depois
pelas regras manuais que utilizam as classificações já obtidas e selecionam apenas as mais adequadas através
da utilização do contexto onde a EM se encontra.
3. Repescagem das EM sem classificação e eliminação das EM não classificadas
Na última etapa, são aplicadas regras para a deteção de relações entre as várias EM já identificadas. As
relações ajudam na repescagem das EM não classificadas. Por fim, como último recurso para a classifi-
16
cação, existe uma comparação das entidades ainda sem classificação com uma lista de nomes comuns. As
expressões que ,após este processo, continuem sem classificação são eliminadas.
4.1.2 REMMA (2008)
O REMMA (Reconhecimento de entidades mencionadas do MedAlert) [8] é outro sistema que participou no
segundo HAREM e que recorre à Wikipédia como fonte de conhecimento externo. O principal objetivo deste sis-
tema é ajudar nas dúvidas ou encontrar irregularidades nas decisões tomadas por profissionais de saúde. Para isso,
é necessário a extração automática de informação, o que transforma o reconhecimento de entidades mencionadas
numa tarefa essencial.
O pré-processamento do texto é feito pela plataforma onde o REMMA se insere, a UIMA (Unstructured In-
formation Management Architecture). Esta faz a divisão do texto em frases e segmentos e, posteriormente, aplica
o analisador TreeTagger, que atribui categorias morfossintáticas a cada segmento. Segue-se a identificação dos
segmentos candidatos a Entidade Mencionada, efetuada pelo Anotador de Candidatos. Qualquer segmento ou
sequência de segmentos que comece por maiúscula é considerado um candidato a EM.
No que toca à classificação dos candidatos encontrados, existem duas abordagens possíveis:
Figura 4.1: Anotadores do REMMA
• Classificação com base em regras e almanaques:
Esta abordagem classifica as entidades mencionadas através de um conjunto de regras manuais que anal-
isam o contexto e de pequenos almanaques que foram anteriormente criados. A criação dos almanaques é
efetuada manualmente através da extração de informação de relatórios médicos já existentes. O objetivo da
abordagem é classificar as EM que representam nomes de pessoas, cidades portuguesas, doenças e sintomas
clínicos. Para esse efeito, utiliza vários anotadores: PESSOA, LOCAL, ORGANIZAÇÃO, ACONTECI-
MENTO, COISA, ABSTRAÇÃO e OBRA, cada um responsável pela respetiva categoria.
17
• Classificação com recurso à Wikipédia:
Por outro lado, esta abordagem recorre à Wikipédia, nomeadamente à primeira frase do artigo da EM para
classificá-la. Primeiramente, a expressão que identifica a EM é convertida para um identificador, logo depois,
o artigo correspondente ao identificador é recuperado. De seguida, o texto do artigo é dividido em frases,
sendo obtida a primeira frase. Habitualmente, a primeira frase do artigo descreve a categoria da entidade.
Como tal, com a aplicação de regras simples, são procuradas palavras indicativas da categoria semântica da
entidade. Por exemplo, o artigo do Instituto_Superior_Técnico possui a seguinte primeira frase,
Instituto Superior Técnico (IST) é uma instituição de Engenharia, Arquitetura, Ciência
e Tecnologia.
As regras selecionam instituição como a categoria da EM. Uma desvantagem desta abordagem é que
nem sempre as frases são tão simples como a deste exemplo. Para resolver este problema, o REMMA elim-
ina as etiquetas desnecessárias, os negritos, itálicos e ligações internas (p.ex. [Instituto Superior Técnico |
Técnico]).
As abordagens descritas anteriormente podem ser utilizadas em separado ou em conjunto. Caso sejam uti-
lizadas em conjunto, a abordagem da Wikipédia só é aplicada às EM ainda não classificadas pelas regras e al-
manaques (Figura 4.1).
Finalmente, os anotadores de VALOR e TEMPO são aplicados, tendo a função de identificar as expressões
numéricas ou conjuntos de termos que tenham algum algarismo, assim como uma lista de palavras pré-definidas.
Por exemplo, metros e euros (VALOR) e Páscoa e Verão (TEMPO).
É possível realizar três tipos de avaliação: uma só com almanaques, outra só com a Wikipédia e uma terceira
com ambos. Pode-se observar que apesar de a precisão ser superior, (0,613), quando só são usados almanaques,
a abrangência e medida-F são melhores quando são utilizadas ambas as abordagens, sendo de (0,362) e (0,453)
respetivamente, contra (0,295) e (0,399) dos almanaques e (0,232) e (0,331) da Wikipédia. Estes resultados demon-
stram que a utilização da Wikipédia para o REM traz melhorias ao desempenho do sistema de REM.
4.1.3 Kazama e Torisawa (2007)
Kazama e Torisawa [7] pretendem demonstrar que, ao utilizar a primeira frase da Wikipédia para a classificação
das entidades mencionadas, a precisão do sistema aumenta. O trabalho é parecido ao do REMMA, no que toca,
à recuperação do artigo através do identificador da entidade, à utilização da primeira frase para obter a classifi-
cação e à maneira como a primeira frase é pré-processada. A principal diferença encontra-se na maneira como a
classificação da entidade é obtida.
Primeiro, o sistema transforma a EM num identificador para o artigo correspondente ser recuperado. Segue-
se o pré-processamento do artigo de forma a devolver apenas a primeira frase sem itálicos, negritos e ligações
18
internas. A frase é, então, submetida a um POS-Tagger onde as várias componentes são classificadas. O sistema
procura, então, o nome a seguir a qualquer forma do verbo ser. O nome encontrado é a classificação da EM. Caso
o primeiro nome seja um classificador como, género de, tipo de, entre outros, o nome seguinte é o considerado.
Em termos de desempenho, os autores mostraram que um gazetteer construído manualmente consegue iden-
tificar 27,30% das EM presentes num corpus de teste enquanto um gazetteer automaticamente construído, com
apoio da Wikipédia, identifica 70,64% das entidades do mesmo corpus.
4.1.4 Mohamed e Oussalah (2014)
Mohamed e Oussalah [11] fazem a identificação de entidades mencionadas através da recuperação do artigo pelo
identificador, da mesma maneira que Kazama e Torisawa, 2007 e do REMMA. A diferença importante no trabalho
dos autores é a utilização das Caixas de Informação da Wikipédia para classificação das EM obtidas. Os autores
basearam-se nos modelos das caixas e nos diferentes atributos que estes possuem para definirem um conjunto de
atributos-base. Os atributos-base são aqueles que definem inequivocamente se a entidade pertence a Pessoa, a
Organização ou a Local. Os atributos-base de cada categoria são apresentados na Tabela 4.1.
Pessoa Organização Local
Nascimento_data Fundação Latitude, Longitude
Nascimento_local Sede População_estimada
Área_servida Área_total
Receita, Lucro País
Num_empregados
Fundador
Indústria
Tabela 4.1: Atributos-base para cada categoria
Todos os atributos encontrados na caixa do artigo em análise são guardados e comparados com os atributos-
base. A categoria atribuída é a do atributo relevante que tiver sido encontrado. Por exemplo, uma EM que possua
o atributo nascimento_data é classificada como sendo do tipo Pessoa.
4.2 Criação e Atualização de Listas Externas
Ao contrário da Secção 4.1 os sistemas descritos nesta secção, demonstram a utilizam dos vários recursos exis-
tentes na Wikipédia para a criação como para a manutenção de listas externas ou gazetteers que posteriormente vão
auxiliar os sistemas de REM no reconhecimento e classificação. No sistema de Toral e Muñoz [2] são utilizados
gazetteers, grandes listas de entidades que descrevem um local, para guardar informação geográfica e no sistema
de Gamallo e Garcia [13] são criados dicionários de palavras. Estes dois sistemas estão intrinsecamente ligados
com o objetivo deste trabalho pois tanto os dicionários como os gazetteers têm uma estrutura muito similar aos
léxicos do XIP e os dicionários do LexMan, ajudando assim, a aprimorar a ideia de como usar a Wikipédia para a
criação e manutenção de recursos externo e a sua viabilidade.
19
4.2.1 Toral e Muñoz (2006)
Toral e Muñoz [2] desenvolvem uma nova forma de criar e manter gazetteers através da extração de informação dos
artigos da Wikipédia e de uma hierarquia de nomes. Inicialmente, existe uma identificação de todas as entidades
mencionadas existentes na Wikipédia e uma definição das categorias que vão ser consideradas. Após a recuperação
do artigo correspondente de EM, a primeira frase é classificada por um POS-Tagger. No exemplo,
“Faro é uma cidade no Sul de Portugal", após análise pode-se observar que na frase existem os seguintes
substantivos: Faro, cidade, Sul e Portugal.
Em seguida, são procurados os significados dos nomes encontrados na WordNet e são consecutivamente es-
colhidos hiperónimos até obter um significado que seja equivalente à categoria procurada ou obter o topo da
hierarquia. No exemplo,
Faro -> LOCAL
cidade ->LOCAL
Sul -> TOPO DA HIERARQUIA
Portugal -> LOCAL
Finalmente, é aplicado um algoritmo de pesos que tem em conta as categorias atribuídas pela WordNet e
escolhe, consoante um valor limite, a categoria adequada. Para o exemplo anterior, se o limite escolhido for igual
ou superior a 3 (mais de metade dos nomes pertencerem à mesma categoria), a categoria escolhida é Local. Caso
a categoria escolhida seja Local a entidade e a sua categoria são guardadas num gazetteer e o processo é repetido
para todas a entidades encontradas inicialmente.
4.2.2 Gamallo e Garcia (2011)
Gamallo e Garcia [13] descrevem um método de reconhecimento de EM através de recursos externos. Para tal
são criadas grandes listas de entidades que são automaticamente extraídas das árvores de categorias e das Caixas
de Informação da Wikipédia. O processo de extração está dividido em duas partes. A primeira parte consiste na
procura na árvore de categorias das subcategorias de Pessoa, de Organização e de Local. Algumas das subcatego-
rias obtidas pelos autores podem ser vistas na Tabela 4.2.
Pessoa Local Organização
Políticos Planeta Instituições
Designers Ilhas Partidos
Professores Cidades Federações
Criminosos Rios Associações
Escritores Países Clubes
Treinadores Monumentos Sindicatos
Tabela 4.2: Exemplos de Subcategorias de Pessoa, Organização e Local
A segunda parte, tem como objetivo extrair as entidades mencionadas que são instâncias dessas subcategorias
20
e adicioná-las à lista da respetiva classificação. Esta tarefa pode ser feita usando duas estratégias. A primeira
procura nas categorias do artigo da entidade alguma correspondência com as subcategorias da Tabela 4.2. Caso
exista, a entidade obtém a classificação da subcategoria com que se fez correspondência. Por exemplo, o artigo
José Saramago possui nas suas categorias Escritores de Portugal que pertence à subcategoria Escritores,
observando a Tabela 4.2, a subcategoria Escritores tem a classificação de Pessoa. Então José Saramago é
adicionado à lista de EM com a classificação de Pessoa. A segunda estratégia consiste em procurar as subcatego-
rias num dos valores dos pares <atributo, valor> das Caixas de Informação dos artigos e, de seguida, classificar a
entidade como na primeira estratégia. Como este tipo de procura aumenta a ambiguidade, só são considerados os
valores se estiverem associados a um atributo específico, por exemplo, o valor Escritor deverá estar associado ao
atributo Ocupação.
4.2.3 Comparações
A Tabela 4.3 mostra a grande diversidade de recursos da Wikipédia aplicados pelos vários autores. Para o obje-
tivo desta dissertação que é atualizar os léxicos e dicionários da SRTING, tanto as ligações internas como as de
redireção e as páginas de desambiguação implicam uma grande capacidade armazenamento, pois para cada EM,
existem numerosas ligações e desambiguações possíveis e implicam a existência de um algoritmo com capacidade
de relacionar as combinações possíveis entre elas, o que levaria a uma complexidade desnecessária para o objetivo.
Os artigos têm a desvantagem de ter uma grande quantidade de informação que não é utilizada para o REM, sendo
normalmente apenas utilizadas, do artigo todo, algumas palavras ou a primeira frase. Por fim, as categorias, por
serem atribuídas pelos autores dos artigos, tornam-se ambíguas, o mesmo acontecendo com as páginas de listas,
pois são baseadas nas categorias. A escolha mais adequada para a tarefa proposta é, pois, as Caixas de Informação.
Estas Caixas têm apenas as informações essenciais da EM, apesentando ainda a vantagem de essas informações ap-
resentarem uma estrutura definida, através de modelos o que se torna benéfico para o processamento. A Tabela 4.3
também mostra se os recursos da Wikipédia são acedidos durante o REM (Online) ou antes do REM (Offline),
normalmente através da utilização de recursos externos criados com a utilização do Wikipédia.
Sistema Recursos do Wikipédia Usados Acesso
REMBRANDT, 2008 Categorias do artigo Online
REMMA, 2008 Pistas na primeira frase do artigo Online
Kazama e Torisawa, 2007 Pistas na primeira frase do artigo Online
Mohamed e Oussalah, 2014 Atributos das Caixas de Informação Online
Toral e Muñoz, 2006 Frases do artigo Offline
Hierarquia de nomes
Gamallo e Garcia, 2011 Caixas de Informação
Categorias do artigo Offline
Hierarquia de Categorias
Tabela 4.3: Recursos de Wikipédia Usados por Cada Sistema e Tipo de Processamento destes
Na Tabela 4.4 pode-se observar as classificações atribuídas por cada sistema às entidades mencionadas en-
contradas. No caso do REMBRANDT e do REMMA as classificações utilizadas são as definidas pelo segundo
21
HAREM. Por isso, foi possível concluir que a utilização do Wikipédia para ajudar no REM não modificou o modo
como a classificação foi efetuada. O sistema de Kazama e Torisawa (2007) utiliza a informação disponível no
Wikipédia para classificar as EM identificadas, o que faz com que a classificação varie bastante, consoante a in-
formação obtida do Wikipédia (All Wiki.). Não é possível utilizar a classificação obtida do Wikipédia pois nem
sempre há correspondência da mesma com o conjunto de diretivas de classificação da STRING. Os outros sistemas
apenas reconhecem as entidades dos tipos Pessoa, Local e Organização. Como tal, para este trabalho, apenas se
consideram as entidades dos tipos Pessoa, Organização e Local, facilmente associável com os tipos da STRING
Humano Individual, Humano Coletivo e Local, respetivamente.
Sistema Quant. Pessoa Local. Org. Evento Misc. All Wiki.
REMBRANDT, 2008 X X X X X X
REMMA, 2008 X X X X X X
Kazama e Torisawa, 2007 X
Mohamed e Oussalah , 2014 X X X
Toral e Muñoz, 2006 X X X
Gamallo e Garcia, 2011 X X X
Tabela 4.4: Categorias de EM Reconhecidas por Cada Sistema
4.2.4 Ferramentas de Processamento
Existem já algumas ferramentas de processamento dos vários formatos de dumps da Wikipédia, no entanto, apenas
se apresenta as ferramentas que processam o XML, pois é o formato de dump usado para o desenvolvimento deste
trabalho. Por exemplo, as ferramentas de parser de XML, MediaWiki Utilities e Wiki2XML parser em Python
e WikiPrep em Perl. No entanto, estas ferramentas estão preparadas para processar os ficheiros da Wikipédia
Inglesa, logo não são adequadas para o processamento dos ficheiros da Wikipédia Portuguesa. Outra desvantagem
da utilização destas ferramentas resulta do facto do seu foco serem os artigos e categorias e não as Caixas de
Informação, recurso que se pretende extrair e processar. Como tal, é necessário o desenvolvimento de um módulo
que faça a extração e processamento de informação do modo que é aqui pretendido
22
Capítulo 5
Arquitetura
Este capítulo é composto por cinco partes: na primeira, a secção 5.1, é dada uma visão global da arquitetura do
módulo de atualização dos léxicos da STRING e das suas componentes; nas quatro seguintes secções, as principais
componentes do módulo são descritas com maior detalhe, incidindo na sua estrutura e implementação.
5.1 Visão global
Neste trabalho foi desenvolvido um módulo responsável pela atualização semi-automática dos léxicos da STRING,
mais precisamente, os léxicos e os dicionários, com a seguinte arquitetura:
Figura 5.1: Arquitetura simplificada do módulo de atualização dos recursos da STRING.
Este módulo é externo à cadeia de processamento, isto é, a sua execução não é efetuada ao mesmo tempo da
execução da STRING mas sim sempre que seja necessária a atualização dos léxicos da STRING. O objetivo deste
módulo é do dump da Wikipédia obter um grande número de nomes, que representam as entidades, classificá-
los, escolher as EM que devem ser adicionadas aos recursos da STRING e, por fim, atualizar os recursos com
as entidades selecionadas. Como é possível ver na figura 5.1 cada umas das tarefas descritas anteriormente é
executada por um dos quatro passos seguintes:
23
• Pré-processamento (Secção 5.2);
• Atribuição de categoria às EM (Secção 5.3);
• Identificação de EM candidatas (Secção 5.4);
• Atualização dos Léxicos (Secção 5.5).
Desde o início que o objetivo foi que o projeto possuísse uma estrutura modular para ser possível, no futuro,
utilizar outras fontes para a obtenção das EM, assim como, classificar as EM de uma forma diferente das que estão
disponíveis, permitindo assim uma fácil alteração e evolução do módulo. Esta modularidade torna possível, caso
sejam fornecidas listas externas de EM, iniciar a execução do módulo na Identificação de EM candidatas. Sendo
assim é possível executar o módulo das seguintes formas:
• Execução completa: este tipo de execução faz todo o processamento do dump da Wikipédia. De seguida
efetua a classificação de todos as EM encontradas e prossegue com fluxo de execução normal.
• Execução simplificada: neste caso a execução começa com a leitura das EM presentes em listas exter-
nas, sendo a sua classificação dada pelo utilizador, no início da execução do módulo. De seguida, passa
diretamente para a Identificação de EM candidatas e, por fim, segue o fluxo normal de execução.
Em termos de entradas e saídas do módulo, estas variam consoante o tipo de execução e são parametrizáveis,
isto é, o seu valor é definido pelo utilizador no início da execução do módulo. No entanto, o tipo de execução não
influencia o propósito do módulo, ou seja, o resultado final é sempre a atualização dos léxicos e dicionários da
STRING.
Na secção seguinte é apresentado o primeiro passo deste processo, que é o pré-processamento do ficheiro de
XML.
5.2 Pré-processamento
O objetivo desta tarefa é recolher o maior número de EM do dump para serem utilizados na atualização dos
recursos. Como o conteúdo da caixa de informação de certa entidade possuí pistas sobre a sua classificação, este
também é guardado. Para obter as entidades é indispensável, o pré-processamento do dump, pois o ficheiro de
XML possuí o seu conteúdo é uma amalgama complexa de conteúdo de onde é necessário algum tratamento para
obter a informação necessária para o módulo, como é possível ver na Figura 5.2).
24
Figura 5.2: Exemplo do ficheiro de dump sem qualquer processamento
Esta amalgama corresponde uma grande variedade de recursos da Wikipédia além das Caixas de Informação,
como é o caso do texto dos artigos, páginas de redireção, listas de entidades, meta-informação das imagens, das
ligações e das páginas. Para reduzir esta informação toda a apenas ao conteúdo das Caixas de Informação foi
criada esta componente que se divide em duas tarefas principais (Figura 5.3).
Figura 5.3: Componente de Pré-Processamento do módulo de atualização dos recursos da STRING.
A primeira tarefa é o pré-processamento do XML, que identifica e extrai apenas o recurso que se pretende, isto
é, as Caixas de Informação. A segunda tarefa é o tratamento do conteúdo das Caixas de Informação para que este
seja legível e apenas as informações necessárias sejam consideradas.
25
5.2.1 Pré-processamento do XML
O objetivo desta tarefa é a identificação das Caixas de Informação e a extração de toda a informação que estas
possuem, com especial destaque para o modelo da Caixa que é separado do resto da informação e guardado nesta
etapa.
Para as Caixas de Informação serem extraídas do resto do texto foi necessário encontrar uma forma de as
identificar no dump. É assim, possível localizar uma Caixa de Informação através da expressão {{Info/ que
marca o seu início e da expressão }} que marca o seu fim. Na maioria dos casos estas expressões identificam
perfeitamente a Caixa de Informação que têm o seguinte formato:
Figura 5.4: Estrutura mais comum das Caixas de Informação.
No entanto, como é possível ver na figura 5.4, a expressão }} aparece mais do que uma vez no corpo da
Caixa de Informação, logo, uma simples identificação desta expressão não é suficiente para corretamente definir
do fim da Caixa de Informação. Para garantir que a expressão }} corresponde mesmo ao fim da Caixa é efetuada
uma contagem de todos os {{ e de todos }} presentes no corpo da Caixa de Informação e a expressão }} só
é considerada como o fim da Caixa de Informação quando a contagem das expressões é igual, ou seja, o par
correspondente da expressão de início da caixa é a expressão de fim. Existem um número muito pequeno de
casos em que a contagem não é igual pois no corpo da caixa existem parenteses não emparelhados. Nesse caso
são retiradas as informações do modelo e os nomes possíveis para a entidade, mas os pares <atributo, valor> são
descartados quando o início de uma nova Caixa de Informação é encontrado.
Existe uma percentagem ainda considerável de casos em que essas expressões não identificam Caixas de Infor-
mação, como podemos ver no exemplo seguinte:
Figura 5.5: Estruturas com Info ... mas que não são Caixas de Informação.
Para que estes casos não sejam considerados foi necessário aplicar duas regras: as Caixas de Informação não
26
podem começar e acabar na mesma linha e têm de possuir pelo menos um par <atributo, valor>. Foram necessárias
estas duas restrições devido:
1. À existência de Caixas de Informação que têm todos os seus pares na mesma linha (Figura 5.6);
Figura 5.6: Caixa de Informação com todos os pares numa só linha.
2. Aos recursos da Wikipédia que têm pares <atributo, valor>e não são Caixas de Informação (Figura 5.7).
Figura 5.7: Estruturas com Info ... mas que não são Caixas de Informação.
Após o início de cada caixa ser encontrado, o modelo é guardado tendo especial cuidado nos casos em que
a Caixa de Informação está toda numa linha, para ser apenas ser retirado o modelo. Depois os pares <atributo,
valor> são processados pela etapa de pré-processamento das Caixas de Informação.
5.2.2 Pré-processamento das Caixas de Informação
O foco desta etapa é o tratamento do conteúdo existente no interior das Caixas de Informações, isto é, identificação
dos pares, tratamentos do conteúdo dos pares e obtenção dos nomes possíveis para a EM.
Esta etapa é necessária pois, apesar dos pares <atributo, valor> possuírem na sua maioria uma estrutura uni-
forme composta por |atributo = valor seguido de mudança linha, isso nem sempre acontece, o que torna mais
complexa a separação destes pares. Esta dificuldade existe devido à existência de:
• Caixas de Informação que possuem o seu conteúdo todo numa linha;
• Linhas que não são pares (figura 5.8);
27
Figura 5.8: Linhas no interior da caixa que não são pares.
• Número variável de espaços entre os elementos do par;
• Separações irregulares entre os pares da Caixa de Informação (Figura 5.9).
Figura 5.9: Espaçamentos diferentes nos vários em pares.
28
Sendo necessário, para cada um destes casos, um tratamento especializado que implica uma forma de iden-
tificação dos pares diferente. Para além da dificuldade em identificar os pares <atributo, valor>, o tratamento do
conteúdo dos mesmos não é uma tarefa trivial, como é possível ver na Figura 5.10 .
Figura 5.10: Conteúdo de uma Caixa de Informação ainda por processar.
Para que o conteúdo dos valores tenha apenas informação útil é necessária uma limpeza de certos elementos,
como é o caso de:
• Itálicos;
• Negritos;
• Ligações internas;
• Ligações externas;
• Ligações de desambiguação;
• Tags de identificação de fim de linha;
• Tags de espaçamentos;
• Tags de informação sobre cores;
• Entre outros.
Esta etapa tenta ao máximo reduzir a presença destes elementos, identificando-os com um conjunto de 70
expressões regulares. No entanto, não é possível eliminar totalmente estes elementos devido à sua diversidade e ao
facto de elementos iguais possuírem vários significados ou representarem diferentes expressões.
Cada caixa tem um atributo ou conjunto de atributos que possuem nos seus valores possíveis nomes ou desig-
nações da EM. Para as maioria das caixas os atributos normalmente são independentes da categoria e do modelo,
sendo o conjunto de atributos usados o seguinte: nome, Nome, nome_completo, nomecompleto, nome_comp,
nome_denascimento, nome_empresa, nome_romanizado, nome_longo_convencional, nome_pt, nome-pt,
nome_comum, nome_divindade, aliança, eparquiapt, razão_social, fantasia, município, name,
bairro_nome, chantun, nomville, nomept, nomefr, nomeen, nome1, enome, dnome, nome_lago, nome_estádio,
nomeabrev
29
As excepções à lista anterior são os casos especiais apresentados na Tabela 5.1.
Modelo Attributo Nome
Bairros cariocas
Bairros cariocas, Bairro do Brasil 3, Bairro do Rio de Janeiro bairro
Bairro do Rio de Janeiro
Distrito de São Paulo distrito
Distritos de Santa Maria
Lugar em Portugal localidade
Parque parque
Estádio antigos_nomes
Voleibol/Clube
Empresa razão_social
Andebol/Clube
Tabela 5.1: Atributos que possuem o nome da EM, para cada categoria.
Consoante a categoria e o modelo, esta etapa vai procurar os atributos e guardar os seus valores numa lista de
nomes possíveis para cada EM, excluindo nomes duplicados. Toda a informação é guardada na estrutura de classes
desta componente e é então escrita para um ficheiro para facilitar uma análise visual e rápida e o debug.
Finalmente, com os dados limpos e no formato desejado, a componente de pré-processamento coloca os dados
numa estrutura de dados. A estrutura utilizada para guardar a informação obtida é uma lista de objetos do tipo
Infobox que contêm o modelo da Caixa de Informação, os possíveis nomes que identificam a entidade e uma
lista de objetos da classe Pair, que não são nada mais que os pares <atributo, valor> das Caixas de Informação
(Figura 5.11).
Figura 5.11: Estrutura de Classes onde a informação é guardada.
A estrutura oferece alguma modularidade, pois permite que qualquer outro módulo seja utilizado em vez do
anterior e, desde que a estrutura seja mantida, as componentes seguintes não necessitam de ser modificadas o que
facilita a utilização dos dados na tarefa seguinte, a atribuição de uma categoria às EM recolhidas.
5.3 Atribuição de Categoria à EM
Este passo foi criado com o objetivo de identificar a categoria de cada EM e criar listas que as agrupam segundo
essa categoria. Pois, para atualizar os léxicos é necessário ter em conta a sua estrutura. Dado que a estrutura atual
dos léxicos é o conjunto de palavras que designa a EM, seguido de um conjunto de traços que a definem e que são
dependentes da categoria da entidade. É importante que no módulo de atualização exista uma forma de categorizar
30
eficazmente as entidades. Ainda para reforçar esta necessidade, os ficheiros de léxico também estão organizados
por categorias, para facilitar a sua leitura.
Após a análise de cerca de 3 Caixas de Informação já tratadas, por cada modelo foi possível encontrar alguns
padrões que permitiram a criação de duas abordagens de classificação (Figura 5.3). Ambas foram desenvolvidas
e testadas individualmente sendo possível ver os seus resultados na Secção 6.
Figura 5.12: Componente de Atribuição da Categoria à EM do módulo de atualização dos léxicos da STRING.
5.3.1 Atribuição Através do Modelo
A primeira abordagem tira partido do facto de cada Caixa de Informação ter sempre associada um modelo. Como
já foi referido na Secção 3.1, o modelo difere consoante o tipo de EM e cada modelo tem um nome associado para
facilitar a sua identificação, por exemplo, {{Info/Artista é o modelo do tipo Artista, como o nome indica.
Nesta abordagem é possível escolher o nível de detalhe com que o modelo é utilizado.
No nível menos detalhado o nome do modelo é apenas utilizado para definir se a EM pertence às categorias
Humano Individual, Humano Coletivo ou Local (Anexo B). É possível efetuar esta tarefa pois, para cada categoria
(Humano Individual, Humano Coletivo e Local), existe um ficheiro externo que indica os modelos que pertencem
a cada uma das categorias. Utilizando o exemplo anterior, o modelo do tipo Artista está associado à categoria
Humano Individual. Optou-se pela utilização de um ficheiro externo, pois os tipos de modelos disponíveis na
Wikipédia podem, com o tempo, ser modificados. Deste modo, existe a garantia de que, mesmo com a alteração
dos modelos, a abordagem de atribuição da categoria através do modelo se mantém funcional.
Para o nível mais detalhado definiu-se que o nome do modelo é a categoria da palavra visto que o modelo
dá pistas bem claras do significado da EM, ajudando assim, a classificá-la nos léxicos. Utilizando o exemplo do
modelo Artista, a categoria associada a esta entidade é Artista.
5.3.2 Atribuição Através dos Atributos Relevantes
A segunda abordagem tira proveito dos atributos existentes no conteúdo das Caixas de Informação. Devido à sua
diversidade e consistência entre modelos da mesma categoria, os atributos podem ser usados na classificação da
entidade. À primeira vista foi possível identificar um conjunto de atributos que eram consistentes entre as Caixas
de Informação do tipo Humano Individual. O mesmo acontece para as caixas dos tipos Humano Coletivo e Local,
a esse conjunto de atributos é dado o nome de atributos-base. Para esta estratégia funcionar foi necessário analisar,
para cada tipo, cerca de 35 Caixas de Informação de modelos diferentes e definir os atributos-base de modo que
não fossem ambíguos. Após o término desta análise chegou-se à conclusão de que esta abordagem não iria obter
os resultados esperados. Isto porque era difícil definir os atributos-base sendo que os modelos de tipos diferentes
possuíam atributos com o mesmo nome, invalidando, assim, muitos dos atributos que poderiam ser considerados
atributos-base. No final da análise, os atributos-base para cada categoria foram os seguintes:
31
Categoria Atributos-base
Humano Individual nacionalidade, nascimento_data, data_nascimento, nascimento, birthdate, morte_data, data_morte, morte
Humano Coletivo fundacao, fundadoem, sede, estádio
Local área_total, area_total_km2, population_total, população, brasão, mapa
Tabela 5.2: Attributos-base das Categoria Humano Individual, Humano Coletivo e Local
Com a criação deste conjunto de atributos-base para cada categoria (Humano Individual, Humano Coletivo e
Local) faz-se uma comparação dos atributos encontrados no conteúdo de cada caixa com os atributo-base acima
mencionados. Se houver pelo menos um atributo em comum com um dos conjuntos, podemos concluir que a en-
tidade é do mesmo tipo do conjunto. Por exemplo, os atributos “nascimento_data” e “morte_data”, pertencem
apenas aos modelos do tipo Humano Individual, então, qualquer Caixa de Informação que possua estes atributos
no seu conteúdo, é do tipo Humano Individual. Esta abordagem tem, no entanto, algumas limitações que resultam
da possibilidade de haver modelos mais específicos, que são do tipo Humano Individual, mas que não possuem
nenhum dos atributos-base dessa categoria.
Após a tarefa de atribuição de categoria estar concluída, a informação necessária para a atualização dos recursos
da STRING já se encontra toda disponível. As tarefas seguintes consistem na escolha das EM a adicionar aos
léxicos e na atualização dos mesmos.
5.4 Identificação de EM Candidatas
Nem todas as EM necessitam de ser adicionadas aos léxicos, pois a STRING já reconhece um número considerável
de entidades. Esta tarefa tem como função identificar, no conjunto obtido de EM nas tarefas anteriores, aquelas
que STRING ainda não reconhece e por isso devem ser acrescentadas aos léxicos. Como o objetivo deste projeto é
a atualização tantos dos léxicos como dos dicionários, dois métodos foram desenvolvidos. O primeiro foca-se em
encontrar as palavras candidatas para a atualização dos dicionários e o segundo em encontrar as EM candidatas
para a atualização dos léxicos.
Figura 5.13: Componente de Identificação de EM candidatas do módulo de atualização de léxicos da STRING.
32
5.4.1 Candidatas Para Os Dicionários
Este método foca-se na identificação das palavras que devem ser adicionadas aos dicionários, para que a STRING
tenha maior facilidade no reconhecimento das entidades que as possuem. Como é adquirido da Wikipédia o nome
completo da EM é necessário separá-la nas palavras que a constituem, para serem processadas pela STRING. Dado
que processar individualmente milhares de palavras iria ter um impacto elevado na performance, foi aproveitada a
feature da STRING que permite processar um conjunto de frases num só input. As palavras são processadas em
grupos de 4999, separadas por pontos finais. O seu resultado foi escrito num ficheiro de XML, com o seguinte
formato:
Figura 5.14: Resultado do processamento das palavras na STRING.
Na figura 5.14 é possível ver as várias interpretações da STRING para a palavra Fabiano. Com base no formato
obtido, que é constante para todas as palavras, foi possível retirar um conjunto de testes que permitem inferir se a
palavra está a ser reconhecida pela STRING de acordo com o esperado. De seguida são descritos em detalhe os
testes propostos para esta tarefa, sendo sempre usada a figura 5.14 como exemplo. É importante ter em mente que
quando uma palavra tem mais do que uma interpretação (identificada no exemplo com a tag READING), a escolhida
pela STRING é a que possui a feature HMMSELECTION.
5.4.1.1 Validação da Caraterística Nome
Perceber se a STRING está a definir corretamente a categoria da palavra é de extrema importância. Caso a palavra
não seja identificada com a categoria Nome, a adição da mesma aos dicionários não tem o resultado esperado. São
necessárias então, mudanças noutras componentes da STRING e como essas alterações são demoradas e têm de
ser analisadas caso a caso, um conjunto de listas foi elaborado para análise posterior pelo professor Nuno Mamede.
Para identificar se a categoria é a desejada, é necessário que a feature NOUN esteja presente no output. Por exemplo,
na figura 5.14 a segunda interpretação da palavra Fabiano identifica a mesma como adjectivo (feature ADJ), no
33
entanto esta não foi a interpretação selecionada. Como foi escolhida a última interpretação, a validação é bem
sucedida, pois a palavra possuí a feature necessária.
5.4.1.2 Validação da Dicionarização
Esta validação indica se a palavra que está a ser analisada já se encontra dicionarizada, ou, foi adivinhada pelo
módulo de adivinhação da STRING. É possível verificar se esta é adivinhada quando possuí a feature GUESS. No
exemplo, pode-se verificar que na interpretação escolhida a palavra foi adivinhada em vez de obtida dos dicionários.
5.4.1.3 Validação da Caraterística Nome Próprio
Tem como objetivo perceber se a palavra está a ser identificada como um Nome Próprio, pois as entidades são
sempre Nomes Próprios. Referindo outra vez o exemplo, é possível observar que a palavra é classificada como
nome comum, pois está presente a feature COMMON, sendo que, no caso da palavra Fabiano, a validação falha.
5.4.1.4 Validação da Caraterística Primeiro Nome
Destina-se apenas a palavras de EM do tipo Humano Individual, pois apenas para estas faz sentido definir a primeira
palavra como nome próprio. Para este teste ser positivo, é necessário estar presente a feature FIRSTNAME na
interpretação da palavra.
5.4.1.5 Validação da Caraterística Último Nome
Por fim, esta validação, tal como a anterior, também se destina apenas a palavras de EM do tipo Humano Individual
e o seu objetivo é classificar como apelido, a última palavra da EM. A feature que define este teste é o LASTNAME e
tal como nos anteriores tem de estar presente na interpretação escolhida pela STRING.
Para todas as EM retiradas da Wikipédia estes testes foram aplicados sendo possível ver a compilação dos seus
resultados na Secção 6.
5.4.2 Candidatas Para Os Léxicos
O foco deste método é a perceção das entidades que já são parcialmente ou inteiramente reconhecidas pela cadeia
de processamento e a escolha daquelas que, por não serem reconhecidas, devem ser adicionadas aos léxicos. Como
foi anteriormente referido, por questões de performance, processar apenas uma entidade em cada input, é muito
moroso, como tal, cada input tem um total de 4999 EM separadas por pontos finais. Isto é possível pelo facto da
STRING conseguir processar um conjunto de frases em cada entrada. Após a análise do ficheiro de XML, que a
STRING produz como output, chegou-se à conclusão de que, para descobrir se as entidades são candidatas, duas
verificações devem ser efetuadas. Para facilitar a compreensão a figura 5.15 será usada como exemplo nos dois
métodos de validação.
34
Figura 5.15: Resultado do processamento das EM na STRING.
5.4.2.1 Validação da EM Reconhecida
Esta validação verifica como a entidade é reconhecida pela cadeia de processamento. A primeira parte da validação
consiste em perceber se a entidade é reconhecida, independentemente de o reconhecimento ser total ou parcial.
Para isso é necessário existir a dependência NE no output. Caso a EM seja reconhecida, uma segunda validação
é necessária. Esta consiste em perceber se a entidade é totalmente ou parcialmente reconhecida. Isto deve-se ao
facto de grande parte das entidades serem descritas por mais do que uma palavra se tornando, assim, importante
perceber se a STRING, reconhece todas as palavras da EM ou apenas algumas. Para efetuar esta verificação o valor
da word na tag PARAMETER é comparado com o nome da EM proveniente da Wikipédia. No exemplo da figura
5.15 é possível verificar que as duas partes da validação são concluídas com sucesso, pela presença da dependência
NE e pelo facto do valor de word ser o nome completo da entidade.
5.4.2.2 Validação da Categoria Atribuída
A última validação efetuada neste módulo consiste em perceber se a categoria atribuída à entidade é a correta,
sendo para isso, necessário comparar as categorias do output com a classificação obtida no módulo da secção 5.3.
Na Tabela 5.4, é possível ver a relação entre as categorias de classificação deste projeto com as features que devem
estar presentes no output.
Humano Individual Humano Colectivo Local
PEOPLE COLLECTIVE LOCATION
INDIVIDUAL
Tabela 5.3: Relação entre as categorias do projeto e as features da STRING
Utilizando o exemplo da figura 5.15 é possível observar que, para a cidade Bratislava a feature LOCATION
está presente, sendo assim a EM reconhecida como previsto. É de notar, no entanto, que as sub-categorias de
classificação da entidade não são verificadas, como é o caso das features ADMIN_AREA e CITY, pois neste trabalho
apenas existe a separação das entidades pelas três categorias principais, Humano Individual, Humano Coletivo e
Local.
5.5 Atualização dos Léxicos
Nesta tarefa já é possível encontrar à disposição a lista final das EM que devem ser adicionadas aos recursos,
encontrando-se estas já devidamente classificadas. O objetivo desta tarefa é, então, utilizar a lista para atualizar os
recursos. Para proceder com a atualização é crucial analisar a estrutura dos recursos disponíveis com o intuito de
35
entender se os ficheiros existentes se adaptam às necessidades do módulo de atualização. Como tal, primeiramente
foram analisados os ficheiros de dicionário e de léxico que já existiam e foi ponderado se seria necessário a criação
de novos ficheiros. É possível ver as listas resultantes dessa análise no Apêndice E e no Apêndice F.
Figura 5.16: Componente de Atualização dos Léxicos do módulo de atualização de léxicos da STRING.
5.5.1 Dicionários
O resultado da análise dos ficheiros de dicionário não foi o esperado. Estes possuem uma organização bastante
díspar das três categorias de classificação utilizadas neste trabalho. Devido a este fator, seria necessária uma análise
mais detalhada e uma reestruturação destes ficheiros, que fosse benéfica tanto para este módulo externo, como para
a cadeia de processamento, tarefa que se mostrou mais complexa do que inicialmente previsto. Por esta razão toda
a preparação para a atualização dos dicionários foi efetuada, no entanto, não foi executada.
Devido aos léxicos apresentarem uma estrutura própria, diferente da utilizada até ao momento pelo módulo,
foi necessário adaptar alguma da informação existente da EM. Como é possível ver na figura 5.17 para construir
uma entrada no dicionário é necessário construir o lema, o paradigma e o estema. É possível construir o lema e o
estema através dos nomes das EM disponíveis, no entanto, com a informação disponível o paradigma definido foi
~...==n.==, pois não há informação sobre o género ou número da EM.
Figura 5.17: Conteúdo de um ficheiro de dicionário.
5.5.2 Léxicos
No caso dos ficheiros de léxico, o resultado foi bastante distinto. Foi simples notar que as categorias Humano
Individual, Humano Coletivo e Local já possuíam ficheiros correspondentes, mais precisamente os ficheiros “lex-
People.xip”, “lexOrg.xip” e “lexLocal.xip” respetivamente, não havendo, por isso a necessidade de reestruturação.
No que toca à estrutura interna dos léxicos, cada entrada destes é constituída pelo nome da EM seguido de um
conjunto de features que a definem, como é possível na figura 5.18.
36
Figura 5.18: Conteúdo de um ficheiro de léxico.
Devido à diferença de traços entre as EM de várias categorias e sub-categorias, a classificação efetuada na
secção 5.3 foi utilizada para delinear as features que devem ser incluídas na entrada do léxico, sendo o resultado
final o seguinte:
Categoria Sub-Categoria Features
Humano Individual SEM-Hpeople, SEM-Hindividual
SEM-Hcollective, SEM-Hinstitution
Clubes ou Equipas Desportivas SEM-Hcollective, SEM-Hinstitution, SEM-sport-club
Humano Jornais ou Revistas SEM-Hcollective, SEM-Hinstitution, SEM-Hjornal
Coletivo Partido político SEM-Hcollective, SEM-Hinstitution, SEM-Hpartido
Estabelecimentos de Ensino SEM-Hcollective, SEM-Hinstitution, SEM-school
Ministério, Organismo governamental SEM-Hcollective, SEM-Hinstitution, SEM-administration
location
País country
Cidade city
Região location, admin_area, region
Local Divisão location, admin_area, division
Ilha, Arquipélago location, admin_area, island
Oceano, Lago location, geographic, watermass
Rio location, geographic, watercourse
Estádio location, admin_area, building, proper
Edíficios location, admin_area, building
Tabela 5.4: Features atribuídas a cada categoria e sub-categoria de EM.
Como modo de prevenir que entidades que criam ambiguidades, na STRING, durante o processamento, sejam
adicionadas aos recursos sempre que o módulo de atualização é executado. Foi criada uma lista de exceções que
contem todas a entidades que não devem ser consideradas na atualização. Assim, cada vez que uma entidade
cria ambiguidade na STRING basta ser adicionada a esta lista, em vez de ser procurada nos recursos, que foi
adicionada, e removida manualmente.
Concluída esta etapa o resultado final do módulo é uma atualização dos léxicos, sempre identificada com a data
atualização.
37
Capítulo 6
Avaliação
Nesta secção, é descrita a forma como a avaliação da solução é realizada, com especial atenção nos recursos e nas
métricas utilizadas. Como o objetivo do novo módulo é melhorar a performance da cadeia de processamento, a
avaliação é efetuada sobre a STRING e foca-se no contributo do módulo para o REM.
Normalmente numa avaliação de trabalhos de PLN o sistema a ser avaliado processa um corpus, que designa
uma coletânea de textos. A seguir, os resultados do processamento são comparados com as anotações do mesmo
corpus. Estas anotações seguem um conjunto de diretivas e indicam qual o resultado que o sistema deve obter.
Neste caso, as anotações indicam cada palavra que seja uma entidade, e qual a sua classificação, segundo as
diretivas de classificação para EM. As anotações são efetuadas manualmente por uma equipa e têm a duração de
cerca de dois meses. Com o objetivo de aproveitar o trabalho efetuado na secção 5.4, a avaliação tira proveito dos
testes utilizados na mesma.
Para além da avaliação geral da performance do módulo de atualização, neste capítulo são também discutidos
os resultados da avaliação das abordagens de atribuição de categoria à EM da secção 5.3.
6.1 Avaliação das Abordagens de Atribuição de Categoria
Esta secção descreve a avaliação das abordagens de atribuição de categoria à EM e tem como objetivo justificar a
escolha da atribuição através do modelo, utilizando o nível mais detalhado, como sendo a melhor abordagem.
6.1.1 Métricas de Classificação
O objetivo desta tarefa é obter o maior número de EM classificadas, logo, apenas uma única métrica é necessária
para avaliar as abordagens. A métrica escolhida foi o número total de entidades classificadas por cada abordagem.
Para obter o número total, as três abordagens foram executadas. No caso da atribuição através do modelo detalhado,
o detalhe dos valores obtidos corresponde aos modelos da Wikipédia. Para obter o mesmo detalhe das restantes
abordagens, foi efetuado o somatório dos valores individuais para obter um valor total para cada uma das seguintes
categorias: Humano Individual, Humano Coletivo e Local.
39
6.1.2 Resultados
Nesta secção apresentam-se os resultados obtidos pelas abordagens de atribuição de categoria à EM.
Abordagem Humano Individual Humano Coletivo Local
Através Modelo Detalhado 174524 24213 67566
Através Modelo Simplificado 172094 24384 64743
Através dos Atributos Relevantes 3118 2668 822
Tabela 6.1: Resultados da execução das abordagens de atribuição de categoria à EM
Como é possível observar na tabela 6.1 os resultados obtidos pela abordagem através dos atributos relevantes
são bastante inferiores aos resultados das restantes abordagens. No entanto, os valores entre a atribuição através do
modelo, tanto a detalhada como a simplificada são bastante semelhantes, sendo que a abordagem mais detalhada
demonstra valores ligeiramente maiores. Mas é importante saber, em termos totais, qual é a diferença entre as duas
abordagens.
Figura 6.1: Resultados gerais das três abordagens
A figura 6.1 demonstra que, em termos percentuais, apesar dos valores das abordagens através do modelo
serem semelhantes a abordagem mais detalhada classifica mais 0.95% das entidades, que em valores absolutos
corresponde a aproximadamente mais 5000 EM classificadas. Como tal, a abordagem escolhida foi a atribuição
através do modelo, mais detalhada, pois maximiza a métrica escolhida.
6.2 Avaliação do Módulo de Atualização
Nesta secção é descrita como é efetuada a avaliação do desempenho do módulo de atualização dos recursos da
STRING. Tal como referido anteriormente, a avaliação utiliza os testes efetuados na secção 5.4 como base para
definir as métricas de classificação e obter os resultados.
6.2.1 Métricas de Classificação
Para avaliar devidamente o resultado foram usados dois tipos de avaliação, o primeiro foca-se no valor absoluto de
EM reconhecidas, o segundo foca-se nas entidades que foram reconhecidas.
40
A avaliação que se foca no número absoluto de entidades reconhecidas utiliza os testes da secção 5.4 para
verificar a variação desse mesmo número. Os testes indicam, através da análise do resultado da cadeia de proces-
samento, se a entidade foi reconhecida ou parcialmente reconhecida e guarda o resultado destas verificações numa
estrutura. É posteriormente efetuado o cálculo do número total de entidades que passa nos testes e estes valores
são novamente guardados. Para esta avaliação apenas as entidades que foram classificadas corretamente é que são
consideradas e os números foram obtidos ao nível do modelo da STRING, visto que foi a classificação escolhida.
Nesta avaliação os resultados são apresentados em percentagem do total, com e sem a execução do modelo
No caso da avaliação que se foca em que entidades foram identificadas. Foram criadas listas das entidades
reconhecidas antes e depois da execução do módulo e estes ficheiros foram comparados. Esta avaliação serve para
perceber se um aumento no valor absoluto de EM reconhecidas corresponde só ao acréscimo de novas entidades
ou se corresponde a um acréscimo maior que a perder.
6.2.2 Resultados
Nesta secção são apresentados os resultados dos dois tipos de avaliação previamente descritos. Visto que o segundo
tipo de avaliação é qualitativa, os seus resultados são apresentados para os casos em que entidades anteriormente
reconhecidas, deixam de o ser. Para todos os casos restantes o resultado foi o esperado, um acréscimo das entidades
reconhecidas ou nenhuma alteração.
Em relação aos resultados do primeiro tipo de avaliação, quantitativa, como existem 82 modelos do tipo Hu-
mano Individual, 39 modelos do tipo Humano Coletivo e 229 modelos do tipo Local, apenas casos especiais ou
modelos com taxas de desempenho fora da média são apresentados.
Através da análise dos resultados individuais foi possível construído uma visão geral que mostra, em termos
percentuais, a diferença de EM reconhecidas e parcialmente reconhecidas após a execução do módulo.
Figura 6.2: Resultados gerais da avaliação quantitativa.
41
Como é possível observar na figura 6.2, a execução do módulo de atualização dos recursos da STRING
introduz uma melhoria em todas as categorias tanto no reconhecimento total, como no reconhecimento parcial
das EM. Os valores percentuais parecem à primeira vista baixos pois rondam os 2% - 3% nos melhores casos.
No entanto, em primeiro lugar os valores de performance da STRING já são bastante elevados no que toca ao
reconhecimento de EM, rodando os 72,14% de precisão para identificação de EM e os 65,66% de precisão para a
classificação de EM (resultados obtidos no Segundo HAREM (2008)). Por esse facto, aumentos significativos na
performance da STRING tornam-se mais difíceis de atingir. Em segundo lugar, visto que o módulo atualização
recursos externos que apenas auxiliam a execução da cadeia de processamento o seu impacto é sempre inferior
do que se houvesse alterações na própria cadeia. Como tal, apesar dos resultados apresentados serem baixos, são
bastante significativos para a tarefa que foi avaliada. É importante notar que o valor do tipo Humano Individual, no
reconhecimento parcial da entidade, é bastante inferior em comparação com os tipos Humano Coletivo e Local. A
razão dessa discrepância deve-se à existência, nos léxicos, de listas de nomes próprios e apelidos mais completas,
do que, por exemplo, listas de nomes de organizações e de locais.
De seguida, apresentam-se os resultados discriminados para cada um dos tipos de entidades, analisando em
maior pormenor as disparidades encontradas.
6.2.2.1 Humano Individual
Nesta secção são discutidos os resultados obtidos para entidades do tipo Humano Individual, tal como na secção
anterior a análise dos resultados refere-se, primariamente ao reconhecimento total das EM e posteriormente ao
reconhecimento parcial das EM.
Na figura 6.3 é possível observar o top 10 dos modelos com melhor desempenho, no reconhecimento total de
entidades. As barras representam a percentagem de entidades reconhecidas após a execução do módulo, enquanto
que, a linha percentagem representa a percentagem anteriormente reconhecida.
Figura 6.3: Resultados percentuais do reconhecimento total de EM par Humano Individual.
42
Em termos quantitativos, os resultados obtidos nos modelos Divindade e Sobrenome foram bastante supe-
riores ao esperado, duplicando o número de EM reconhecidas. No caso do modelo Divindade, estes resultados
derivam do facto de anteriormente não haver a necessidade de entidades do modelo divindade para analisar os cor-
pus, e, como tal, os léxicos não apresentavam muitas entidades desse modelo, como é possível analisar na tabela
6.2, em termos absolutos 190 novas entidades do modelo Divindade começaram a ser reconhecidas. Nesta tabela
também é possível observar que o valor do modelo Sobrenome não se trata de um grande acréscimo de entidades
aos léxicos, mas sim, do reconhecimento da maioria das entidades obtidas deste modelo. Em relação aos resultados
dos restantes modelos, estes encontram-se dentro dos valores normais.
Modelo Total de EM Antes do Módulo Depois do Módulo
Divindade 360 19 209
Sobrenome 18 3 12
Nome 79 48 60
Monarca 2026 1060 1313
Carate-Mestre 12 9 10
Enxadrista 55 41 45
Lutador de wrestling profissional 803 596 649
Nobre 5460 3213 3530
Filosofo 73 53 57
Pirata 20 13 14
Tabela 6.2: Resultados absolutos do reconhecimento total de EM par Humano Individual.
Na figura 6.4 é possível observar o top 10 dos modelos com melhor desempenho, no reconhecimento parcial
de entidades. As barras representam a percentagem de entidades parcialmente reconhecidas após a execução do
módulo, enquanto que, a linha percentagem a percentagem anteriormente reconhecida.
Figura 6.4: Resultados percentuais do reconhecimento parcial de EM par Humano Individual.
43
Tal como acontece no reconhecimento total da entidade, aqui o modelo Divindade também se destaca pelo seu
resultado elevado, sendo a razão similar à anterior. No caso do modelo Arquiteto, o resultado obtido foi distinto
dos restantes, sendo reconhecida menos uma EM, tabela 6.3. Para melhor perceber este resultado, foram anal-
isados os ficheiros com as entidades reconhecidas, neste caso uma entidade que anteriormente era parcialmente
reconhecida passou a ser totalmente reconhecida, apresentando, assim, este valor negativo no resultado do recon-
hecimento parcial, todavia, o resultado comparativo das entidades reconhecidas foi positivo. Porém, o mesmo,
não se pode afirmar para as EM dos modelos Ator, Biografia e Futebolista, onde 1, 5 e 6 EM, respetivamente, que
anteriormente eram reconhecidas pela STRING, deixaram de o ser.
Modelo Total de EM Antes do Módulo Depois do Módulo
Boxeador 178 7 8
Divindade 360 1 3
Beisebolista 749 45 48
Monarca 2026 109 117
Treinador de futebol 311 20 21
Bio adulto 708 24 26
Piloto de automovel 727 33 35
Atriz 375 43 44
Lutador de wrestling profissional 803 41 43
Arquiteto 483 33 32
Tabela 6.3: Resultados absolutos do reconhecimento parcial de EM par Humano Individual.
6.2.2.2 Humano Coletivo
Nesta secção, os resultados obtidos para entidades do tipo Humano Coletivos, são analisados.
Tipo de Reconhecimento Total de EM #EM Reconhecidas
Reconhecida 596
Antes do Módulo 23923
Parcialmente Reconhecida 213
Reconhecida 1252
Depois do Módulo 23923
Parcialmente Reconhecida 884
Tabela 6.4: Resultados absolutos do reconhecimento de EM par Humano Coletivo.
Como é possível analisar na tabela 6.4 em geral os resultados da execução do módulo foram bastante elevados,
sendo os resultados para o reconhecimento total das EM mais do dobro e os resultados para o reconhecimento
parcial o quádruplo dos anteriormente obtidos.
44
A figura 6.5 apresenta os top 10 dos modelos com melhor desempenho, no reconhecimento total e parcial de
entidades. As barras representam a percentagem de entidades reconhecidas após a execução do módulo, enquanto
que, a linha percentagem, representa a percentagem anteriormente reconhecida.
Figura 6.5: Resultados percentuais do reconhecimento de EM par Humano Coletivo.
Em relação ao top 10, os resultados foram positivos, sendo importante realçar que a percentagem de EM recon-
hecidas anteriormente era mais baixa que no tipo Humano Coletivo e Local, como demonstrado pelos resultados,
sendo que em 31 dos 33 modelos a execução do módulo produziu uma melhoria no número de EM reconhecidas
e parcialmente reconhecidas. Relativamente à análise qualitativa não há nada a realçar pois não houve perda das
entidades anteriormente reconhecidas.
6.2.2.3 Local
Nesta secção são discutidos os resultados obtidos para entidades do tipo Local, tal como na secção anterior os
resultados correspondem, primeiramente ao reconhecimento total das EM e posteriormente ao reconhecimento
parcial das EM.
O top 10 dos modelos com melhor desempenho, no reconhecimento total e parcial de entidades é apresentado
na figura 6.6. As barras representam a percentagem de entidades reconhecidas após a execução do módulo,
enquanto que, a linha percentagem a percentagem anteriormente reconhecida.
45
Figura 6.6: Resultados percentuais do reconhecimento de EM par Local.
Como é possível observar na figura 6.6, assim como na tabela 6.5 os resultados quantitativos da execução
do módulo para as entidades do tipo Local foram elevados, exceto para os modelos Cordilheira em que -0.65%
das EM não foram reconhecidas e Farol em que -0.60% das entidades não foram reconhecidas, isto em termos
percentuais. Em termos absolutos os valores são menos alarmantes pois correspondem apenas ao reconhecimento
de menos uma entidade. Em relação aos resultados de outros modelos pode-se notar, que as EM que descrevem
locais no Brasil obtiveram resultados melhores. Isso deve-se ao facto de as entidades que descrevem locais já exis-
tentes nos léxicos descreverem, maioritariamente, locais em Portugal. Um exemplo excelente do comportamento
anteriormente descrita são as entidades do modelo Assentamento-Brasil que se encontram no topo do gráfico de
resultados.
Modelo Total de EM Antes do Módulo Depois do Módulo
Assentamento-Brasil 3 1 2
Bairro de Teresopolis 4 0 1
Bairro do Rio de Janeiro 21 1 5
Bairros cariocas 17 1 5
Cidade do Peru 5 0 1
Condado dos Estados Unidos 519 68 192
Cordilheira 154 16 15
Departamento do Uruguai 2 0 1
Farol 166 32 31
Provincia de Zambia 9 1 3
Tabela 6.5: Resultados absolutos do reconhecimento total de EM par Local.
46
Capítulo 7
Conclusão e Trabalhos Futuros
7.1 Conclusões
O REM tem cada vez mais importância no PLN pois constitui uma forma de identificar unidades de sentido dos
textos, facilitando outras tarefas de análise e processamento mais complexas. Como tal, é importante que tanto
a precisão como a abrangência dos sistemas REM sejam adequados. Visto que a Wikipédia possui uma grande
quantidade de informação semiestruturada, faz todo o sentido usá-la como fonte externa de conhecimento. Já
existem sistemas que utilizam a Wikipédia para esse efeito, como é o caso do REMBRANDT e do REMMA.
Existem também os sistemas descritos pelos autores Gamallo e Garcia, 2011 e Toral e Muñoz, 2006, revistos
na Secção 4 que usam a Wikipédia como fonte externa para manter e atualizar os seus recursos. No entanto, a
STRING não utiliza a ajuda este tipo de recurso externo para aumentar e atualizar os seus recursos lexicais.
Com este trabalho, aproveita-se a riqueza da Wikipédia como fonte externa para a atualização semiautomática
dos recursos da STRING, permitindo assim que o sistema reconheça um número maior de entidades. Para con-
cretizar este objetivo foi criado um módulo que a partir dos dumps da Wikipédia Portuguesa retira um conjunto
de EM, classifica-as e define quais as entidades que devem ser adicionadas aos léxicos, permitindo, assim, a at-
ualização semiautomática dos recursos. A Wikipédia possui uma grande variedade de recursos construídos com
propósitos diferentes. Para a criação do módulo de atualização dos recursos da STRING, o recurso escolhido
foram as Caixas de Informação, pois possuem apenas informações essenciais que se encontram estruturadas em
pares <atributo, valor>. A criação do módulo foi efetuada de forma modular, para no futuro, poder ser melhorada,
mantida ou alterada.
Utilizando o próprio módulo semiautomático dos recursos da STRING como fonte para os resultados da avali-
ação, foi possível obter e analisar a performance do mesmo no que toca ao reconhecimento total e parcial de EM.
Os resultados obtidos foram bastante satisfatórios apenas ocorrendo alguns erros num conjunto de mais de 300
modelos e cerca de 250 mil entidades. Em termos gerais houve uma melhoria de 2,20% no reconhecimento e clas-
sificação de EM para os tipos Humano Individual, Humano Coletivo e Local. Estes valores apesar de não serem
elevados estão adequados à tarefa que representam pois, trata-se da avaliação do impacto de recursos externos na
cadeia de processamento.
Em suma, este novo módulo, aumentou a riqueza dos léxicos da STRING continuando a reconhecer, na maioria
dos casos, as EM anteriormente reconhecidas. No entanto, apesar da avaliação ter sido positiva, existe ainda espaço
47
para melhorar este trabalho, tanto na quantidade de EM adicionadas aos recursos, como na variedade das mesmas.
Os possíveis melhoramentos são apresentados na secção seguinte.
7.2 Trabalho Futuro
Como forma de aprimorar este trabalho, seguem-se as sugestões para trabalho futuro.
• Por questões de complexidade estrutural, os dicionários não chegaram a sofrer nenhuma atualização por
parte deste módulo. No entanto, neste trabalho estão presentes todas as tarefas necessárias para que esta
atualização aconteça. Sendo assim, é necessário um planeamento para a restruturação dos dicionários, mu-
dança esta, que se destina a melhorar os resultados gerais. Detalhando ainda mais este ponto, a identificação
do número e género de uma entidade também resultaria num aumento da performance deste módulo, pois,
ajudariam na definição do paradigma nos dicionários;
• A introdução de EM de outras línguas usando, por exemplo, a Wikipédia Inglesa ou Espanhola, aumentaria
a abrangência de entidades a serem introduzidas nos recursos e consequentemente a abrangência STRING,
na tarefa de REM;
• A utilização de outros métodos de classificação de EM, utilizando os restantes recursos à disposição na
Wikipédia;
• Visto que o trabalho tem uma estrutura modular, outras fontes de conhecimento como é o caso do IMDB,
podem ser acrescentadas e empregues para adicionar EM de outros tipos aos recursos. É também importante
realçar a possibilidade de utilização de mais do que uma fonte de informação ao módulo, por exemplo, a
combinação da Wikipédia com a Priberam.
• Por fim, uma análise sobre uma possível atualização das diretivas do REM do XIP, com base na nova infor-
mação disponibilizada pelos modelos das Caixas de Informação, seria uma possibilidade no futuro.
48
Referências
[1] Alexandre Manuel, F. V. (2012). Lexman: a tokenizer morphological analyzer with transducers.
[2] Antonio Toral, R. M. (2006). A proposal to automatically build and maintain gazetteers for named entity
recognition by using wikipedia.
[3] Cardoso, N. (2008). Rembrandt, reconhecimento de entidades mencionadas baseado em relações, análise
detalhada do texto.
[4] Claúdio Diniz, N. M. (2012). Manual do lexman.
[5] Jorge Baptista, Nuno Mamede, D. O. D. S. (2011). Classification directives for named entities in portuguese
texts.
[6] Jorge Baptista, Vera Cabarrão, N. M. (2012). Classification directives for events relations extraction between
named entities in portuguese texts.
[7] Jun Kazama, K. T. (2007). Exploiting wikipedia as external knowledge for named entity recognition.
[8] Liliana Ferreira, António Teixeira, J. P. C. (2008). Remma, reconhecimento de entidades, mencionadas do
medalert.
[9] Loureiro, J. (2007). Reconhecimento de entidades mencionadas (obra, valor, relações de parentesco, tempo),
normalização de expressões temporais.
[10] Maurício, A. (2011). Identificação, classificação, normalização de expressões temporais.
[11] Muhidin Mohamed, M. O. (2014). Identifying and extracting named entities from wikipedia database using
entity infoboxes.
[12] Oliveira, D. (2010). Extraction and classification of named entities.
[13] Pablo Gamallo, M. G. (2011). A resource-based method for named entity, extraction and classification.
[14] Romão, L. (2007). Reconhecimento de entidades mencionadas em língua portuguesa: Locais, pessoas, orga-
nizações, acontecimentos.
[15] Santos, D. (2010). Extracção de relações entre entidades.
[16] Xerox (2007). Xerox incremental parser user’s guide.
49
Appendix A
Exemplos de Caixas de Informação dos
Dumps (pré-processados)
51
Estes exemplos foram pré-processados para serem de mais fácil leitura de excertos do Wikipédia de 01 de
Outubro de 2017 e de algumas das categorias de EM que se pretende obter.
A.0.1 Humano Individual - Albert Einstein
{{Info/Biografia
|nome = Albert Einstein
|nascimento_data = 14/3/1879
|nascimento_local = Ulm, Baden-Württemberg Império Alemão
|morte_data = 18/4/1955
|morte_local = Princeton, Nova Jérsei
|residência = Alemanha, Itália, Suíça, Estados Unidos
|nacionalidade = Alemão
|ocupação = Físico
|nobel = sim
|nome_mãe = Pauline Koch
|nome_pai = Hermann Einstein
|alma_mater = Instituto Federal de Tecnologia de Zurique, Universidade de Zurique
|tipo-cônjuge = Esposas
|cônjuge = Mileva Maric (1903-1919), Elsa Einstein (1919-1936)
|influências =
|influenciados =
|prêmios = ”Veja [[Prêmios e honrarias recebidos por Albert Einstein]]”
|principais_trabalhos = Relatividade geral, Relatividade restrita, Movimento browniano,
Efeito fotoelétrico, Equivalência massa-energia, Equações de campo de Einstein, Estatística
de Bose-Einstein, Paradoxo EPR
|assinatura = [[Imagem:Albert Einstein signature 1934.svg|175px]]
}}
A.0.2 Humano Coletivo - Intel
{{Info/Empresa
|nome_empresa = Intel
|logo_tamanho=|imagem = Intel-logo.svg
|imagem_tamanho = 200px
|imagem_legenda = Logotipo da Intel
|razao_social = Intel Corporation
|slogan = ”Experience what’s inside.”
|fundador = Gordon Moore, Robert Noyce
|sede = Santa Clara (Califórnia)
52
|locais =
|presidente = Brian Krzanich
|principais_pessoas = Brian Krzanich (Diretor executivo)
|produtos = Bluetooth, Chipset, Memória flash, Microprocessador(es), Placa de rede e Placa-mãe
|lucro = (Increase) US$ 11.464 bilhões
|LAJIR = (Increase) US$ 16.045 bilhões
|faturamento = (Increase) US$ 43.623 bilhões
|fundação = 1968 em Mountain View Condado de Santa Clara
|área servida = Mundo
|num empregados = 82,500
|tipo empresa = Empresa de capital aberto
|gênero = Incorporation
|indústria = Semicondutor(es)
|certificação =
|subsidiárias =
|cotação = (NASDAQ), (Nyse), (Euronext), Dow Jones Industrial Average, NASDAQ-100, S&P
500
|valor de mercado = (Increase) Dólar dos Estados Unidos$ 117.305 Bilhão
|renda líquida =(Increase) US$ 49.430 bilhões
|página = http://www.intel.com/ www.intel.com
}}
A.0.3 Local - Coimbra
{{Info/Município de Portugal
|município = Coimbra
|imagem_brasão = CBR.png
|imagem_bandeira = Pt-cbr1.png
|imagem_geral = Almedina-CCBY.jpg
|legenda = Coimbra vista do Mondego
|imagem_localização = LocalCoimbra.svg
|gentílico = Coimbrense, Conimbricense, Coimbrão
|região = Região Centro
|subregião = Região de Coimbra
|distrito = Distrito de Coimbra
|província = Beira Litoral
|área = 319.4
|população = 143396
|freguesias = 18
|presidente = Manuel Machado (Partido Socialista (Portugal))
53
|fundação = 1111
|orago = Santa Isabel de Aragão, Rainha de Portugal
|feriado = 4 de Julho (Santa Isabel de Aragão, Rainha de Portugal)
|codpostal = 3000 Coimbra
|url_oficial = http://www.cm-coimbra.pt
}}
54
Appendix B
Lista de Correspondência dos Modelos das
Caixas de Informação Com a Categoria
B.0.1 Categoria - Humano Individual
Predefinição:Info/Árbitro
Predefinição:Info/Arqueiro
Predefinição:Info/Arquiteto
Predefinição:Info/Artista marcial
Predefinição:Info/Música/artista
Predefinição:Info/Artista
Predefinição:Info/Astronauta
Predefinição:Info/esporte/atleta
Predefinição:Info/Ator
Predefinição:Info/Ator e cantor
Predefinição:Info/Beisebolista
Predefinição:Info/Biografia
Predefinição:Info/Biografia extensa
Predefinição:Info/Biografia/Lua
Predefinição:Info/Boxeador
Predefinição:Info/Carateca
Predefinição:Info/Celebridades da internet
Predefinição:Info/Ciclista
Predefinição:Info/Combatente militar
Predefinição:Info/Comediante
Predefinição:Info/Criminoso
Predefinição:Info/Dramaturgo
Predefinição:Info/Enxadrista
Predefinição:Info/Esgrimista
Predefinição:Info/Filósofo
Predefinição:Info/Fisiculturista
Predefinição:Info/Futebolista
Predefinição:Info/Gamer (Jogador profissional)
Predefinição:Info/Golfista
Predefinição:Info/Caratê/Mestre
Predefinição:Info/Magistrado
Predefinição:Info/Papa
Predefinição:Info/Papa-Copta
Predefinição:Info/Piloto de automóvel
Predefinição:Info/Piloto de automóvel/doc
Predefinição:Info/Prelado da Igreja Católica
Predefinição:Info/Revolucionário
Predefinição:Info/Jogador de basquete
Predefinição:Info/Jogador de pôquer
Predefinição:Info/Jogador de snooker
Predefinição:Info/Jornalista
Predefinição:Info/Judoca
Predefinição:Info/Lutador de wrestling profissional
Predefinição:Info/LutadorMMA
Predefinição:Info/Médico
Predefinição:Info/Militar
Predefinição:Info/Pirata
Predefinição:Info/Modelo
55
Predefinição:Info/Monsenhor da Igreja Católica
Predefinição:Info/Motorista da MotoGP
Predefinição:Info/Nadador
Predefinição:Info/Nobre
Predefinição:Info/Patinador
Predefinição:Info/Prelado de Igreja Oriental
Predefinição:Info/Piloto do WRC
Predefinição:Info/Piloto de corrida
Predefinição:Info/Político
Predefinição:Info/Político/Presidente
Predefinição:Info/Psicólogo
Predefinição:Info/Jogador Rugby
Predefinição:Info/Santo
Predefinição:Info/Serial Killer
Predefinição:Info/Surfista
Predefinição:Info/Tenista
Predefinição:Info/Título cardinalício
Predefinição:Info/esporte/treinador
Predefinição:Info/Treinador de basquete
Predefinição:Info/Treinador de basquete2
Predefinição:Info/Treinador de futebol
Predefinição:Info/Voleibol/Jogador
56
B.0.2 Categoria - Humano Coletivo
Predefinição:Info/movimento civico
Predefinição:Info/Agência de polícia
Predefinição:Info/Bolsa de valores
Predefinição:Info/Clube de futebol
Predefinição:Info/Companhia aérea
Predefinição:Info/Organização criminosa
Predefinição:Info/Emissora de rádio
Predefinição:Info/Igreja
Predefinição:Info/Agência do governo
Predefinição:Info/Colégio de Portugal
Predefinição:Info/Empresa
Predefinição:Info/Entidade
Predefinição:Info/Local de encontro
Predefinição:Info/Jornal
Predefinição:Info/Organização militante
Predefinição:Info/Ministério
Predefinição:Info/ONU
Predefinição:Info/Organismo governamental
Predefinição:Info/Organização
Predefinição:Info/Rede de televisão
B.0.3 Categoria - Local
Predefinição:Info/Assentamento/Portugal/Antiga
freguesia
Predefinição:Info/Bairro
Predefinição:Info/Cidade
Predefinição:Info/Cidade da Alemanha
Predefinição:Info/Cidade da Argentina
Predefinição:Info/Cidade da Áustria
Predefinição:Info/Cidade da Bahamas
Predefinição:Info/Cidade do Canadá
Predefinição:Info/Cidade da Irlanda
Predefinição:Info/Cidade de Israel
Predefinição:Info/Cidade do Japão
Predefinição:Info/Cidade do México
Predefinição:Info/Cidade do País de Gales
Predefinição:Info/Cidade do Peru
Predefinição:Info/Cidade do Reino Unido
Predefinição:Info/Cidade da Rússia
Predefinição:Info/Cidade da Suécia
Predefinição:Info/Cidade da Ucrânia
Predefinição:Info/Cidade do Uruguai
Predefinição:Info/Cidade da Venezuela
Predefinição:Info/Condado
Predefinição:Info/Distrito
Predefinição:Info/Concelho CV
Predefinição:Info/Freguesia de Portugal
Predefinição:Info/Fronteira
Predefinição:Info/Localidade
Predefinição:Info/Estado dos Estados Unidos
Predefinição:Info/Estado do Brasil
Predefinição:Info/Estado ou território da Austrália
Predefinição:Info/Município de Portugal
Predefinição:Info/País
57
Appendix C
Exemplos da Estrutura das Caixas de
Informação por Categoria
C.0.1 Modelo - Biografia
{{Info/Biografia
|bgcolour =
|nome =
|pseudónimo =
|imagem =
|imagem_tamanho =
|imagem_legenda =
|nome_completo =
|nascimento_data = dni|||
|nascimento_local =
|morte_data = morte||||||
|morte_local =
|residência =
|nacionalidade =
|ocupação =
|nome_mãe =
|nome_pai =
|parentesco =
|tipo-cônjuge =
|cônjuge =
|filhos =
|influências =
|influenciados =
|prémios =
|religião =
|principais_trabalhos =
|website = }}
59
C.0.2 Modelo - Empresa
{{Info/Empresa
| nome_empresa =
| logo =
| tipo =
| sede =
| industria =
| fundacao =
| fundador =
| destino =
| encerramento =
| area_servida =
| proprietario =
| principais_pessoas =
| num_empregados =
| produtos =
| holding =
| antecessora =
| sucessora =
| website = }}
C.0.3 Modelo - Município de Portugal
{{Info/Município de Portugal
|município =
|imagem_brasão =
|texto_alt_brasão =
|imagem_bandeira =
|texto_alt_bandeira =
|imagem_geral =
|legenda =
|imagem_localização =
|gentílico =
|região =
|sub-região =
|distrito =
|província =
|área =
|população =
|data =
|freguesias =
|presidente =
|fundação =
|orago =
|feriado =
|codpostal =
|url_oficial =
|latd=
|latm=
|lats=
|longd=
|longm=
|longs= }}
60
Appendix D
Exemplos de Caixas de Informação Após o
Tratamento
61
MODEL: Biografia
NAME: Albino Forjaz de Sampaio
nome Albino Forjaz de Sampaio
nascimento_data dni|19|1|1884|sem idade
nascimento_local [[Lisboa]]
morte_data morte|13|3|1949|19|1|1884
morte_local Lisboa
nacionalidade [[Portugal|Português]]
ocupação [[Escritor]] e bibliógrafo
magnum_opus ”Porque me orgulho de ser português”
website
prémios
MODEL: Divindade
NAME: Aquiles
nome_divindade Aquiles
imagem Achilles Statue 2.jpg
imagem_tamanho 250px
legenda Aquiles morrendo<br />Por [[Christophe Veyrier/ Miguel José Joseph]], 1683
atribuições
outro_nome
nome_nativo
local_culto
planeta
reino
morada
cla
mantra
arma
artefato
simbolo
dia
cor_fundo #00bfff
casado_com
pais [[Tétis (nereida)|Tétis]] e [[Peleu]]
irmao
filho
romano_equivalente
62
grego_equivalente
etrusco_equivalente
eslavo_equivalente
regiao
festividade
portal
MODEL: Biografia
NAME: Albert Einstein
nome Albert Einstein
imagem Einstein1921 by F Schmutzer 2.jpg
imagem_legenda Einstein em 1921
nascimento_data dni|14|3|1879|si
nascimento_local [[Ulm]], [[Baden-Württemberg]]<br />[[Império Alemão]]
morte_data nowrap|morte|18|4|1955|14|3|1879
morte_local [[Princeton]], [[Nova Jérsia|Nova Jérsei]]
residência [[Alemanha]],<br/> [[Itália]],<br/> [[Suíça]],<br/> [[Estados
Unidos]]
nacionalidade [[Alemães|Alemão]]
ocupação Físico
nobel sim
nome_mãe [[Pauline Koch]]
nome_pai [[Hermann Einstein]]
alma_mater [[Instituto Federal de Tecnologia de Zurique]],<br />[[Universidade de
Zurique]]
tipo-cônjuge Esposas
cônjuge [[Mileva Maric]] (1903-1919)<br />[[Elsa Einstein|Elsa Löwenthal]] (1919-1936)
influências
influenciados
prêmios ”Veja [[Prêmios e honrarias recebidos por Albert Einstein]]”
principais_trabalhos [[Relatividade geral]]<br />[[Relatividade restrita]]<br />[[Movimento
browniano]]<br />[[Efeito fotoelétrico]]<br />[[Equivalência massa-energia]]<br
/>nowrap|[[Equações de campo de Einstein]]<br />[[Estatística de Bose-Einstein]]<br
/>[[Paradoxo EPR]]
assinatura [[Imagem:Albert Einstein signature 1934.svg|175px]]
63
MODEL: Monarca
NAME: Adriano
NAME: Publius Aelius Traianus Hadrianus
nome Adriano
título [[Imperador romano]]
imagem Bust Hadrian Musei Capitolini MC817 cropped.jpg
legenda Busto de Adriano, [[Museus Capitolinos]]
reinado [[117]]-- [[138]]
nome completo ”Publius Aelius Traianus Hadrianus”
nascimento dni|lang br|24|1|76|sem idade
cidadenatal [[Itálica]]
morte nowrap|morte|lang br|10|7|138|24|1|76
cidademorte [[Bacoli]], [[Itália]], [[Império Romano]]
sepultamento [[Castelo de Santo Ângelo]]
antecessor [[Trajano]]
sucessor [[Antonino Pio]]
consorte [[Víbia Sabina]]
filhos [[Lúcio Élio Vero]]<br />[[Antonino Pio]]<br />(ambos adotivos)
favorito [[Antínoo]]
dinastia [[Dinastia antonina|Antonina]]
pai [[Públio Élio Adriano Afer]]
mãe [[Domícia Paulina]]
64
Appendix E
Lista dos Ficheiros de Dicionário
CompoundAdjectiv.dic
CompoundNoun-4.dic
CompoundNoun-AA.dic
CompoundNoun-AN.dic
CompoundNoun-NA.dic
CompoundNoun-NN.dic
CompoundNoun-NdeN.dic
CompoundNoun-VN.dic
CompoundNoun-pfxN.dic
CompoundNounAnimais.dic
CompoundNounBiblical.dic
CompoundNounCores.dic
CompoundNounCrime.dic
CompoundNounCurrency.dic
CompoundNounFamily.dic
CompoundNounFood.dic
CompoundNounForeign.dic
CompoundNounLonger.dic
CompoundNounOutros.dic
CompoundNounProfession.dic
CompoundNounSport.dic
CompoundNounStock.dic
CompoundNounTime.dic
CompoundNounTime2.dic
CompoundNounVegetais.dic
CompoundProper-Brand.dic
CompoundProper-Local.dic
CompoundProper-Ministerios.dic
CompoundProper-Music.dic
CompoundProper-News.dic
CompoundProper-Obra.dic
CompoundProper-Org.dic
CompoundProper-SportClub.dic
CompoundProper-Water.dic
CompoundProper.dic
ExoticExceptions.dic
LocAdvOthers.dic
LocAdvPAC.dic
LocAdvPC.dic
LocAdvPCA.dic
LocAdvPCDC.dic
LocAdvPCONJ.dic
LocAdvPCPC.dic
LocAdvPDETC.dic
LocAdvPF.dic
LocAdvPJC.dic
LocAdvTime.dic
LocConj.dic
LocPrepCardinalPoints.dic
LocPrepOthers.dic
LocPronoun.dic
abreviaturas.dic
abreviaturasRutDireita.dic
adverbios1.dic
65
adverbios2.dic
animais.dic
artigos.dic
conjuncoes.dic
foreign.dic
gentilicos.dic
interjeicoes.dic
measure.dic
medAcronimos.dic
medBacterias.dic
medCorpoHumano.dic
medDoencas.dic
medFarmacos.dic
medHormonas.dic
medMarcasFarmacos.dic
medPrincipioAtivo.dic
medProblemas.dic
nomadj.dic
nomadjIrreg.dic
nomadjPB-ada.dic
nomadjPB.dic
nomesProprio.dic
numerais.dic
pontuacao.dic
prefixos.dic
preposicoes.dic
pronomes.dic
regex.dic
regexBreak.dic
siglas+acronimos.dic
simbolos.dic
vegetais.dic
verbos.dic
66
Appendix F
Lista dos Ficheiros de Léxico
LexProfession.xip
lexAdjPred.xip
lexAdverb_INESC_1.xip
lexAdverb_INESC_2.xip
lexAdverb_XEROX.xip
lexAnimal.xip
lexAward.xip
lexBrands.xip
lexCoin.xip
lexConjunction.xip
lexCores.xip
lexCrime.xip
lexCulture.xip
lexDiscipline.xip
lexEducation.xip
lexEvent.xip
lexGroup.xip
lexHAREM.xip
lexHabitation.xip
lexHuman.xip
lexHumanBody.xip
lexInsult.xip
lexLocation.xip
lexMeasure.xip
lexNationality.xip
lexNounSem.xip
lexNumber.xip
lexOrg.xip
lexPeople.xip
lexPontoCardeal.xip
lexPreposition.xip
lexProperNounsOthers.xip
lexRelatives.xip
lexReligion.xip
lexSports.xip
lexTime.xip
lexTimeFestive.xip
lexUniversity.xip
lexVb.xip
lexVbAgression.xip
lexVbAuxiliar.xip
lexVbClass.xip
lexVbControl.xip
lexVbDative.xip
lexVbDicendi.xip
lexVbHumAct.xip
lexVbIntrans.xip
lexVbViper-old.xip
lexVbViper.xip
lexicon copy.xip
67