atualização semi-automática dos recursos da string€¦ · abstract the named entities...

89
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

Upload: others

Post on 28-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 2: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 3: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 4: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 5: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 6: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 7: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 8: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 9: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 10: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 11: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

Í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

Page 12: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 13: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 14: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 15: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 16: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 17: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 18: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 19: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 20: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 21: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 22: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 23: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 24: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 25: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 26: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 27: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 28: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 29: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

• 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

Page 30: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

• 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

Page 31: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 32: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 33: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 34: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 35: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

Figura 3.4: Exemplo de dump sem qualquer processamento

13

Page 36: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 37: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 38: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 39: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 40: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

• 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

Page 41: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 42: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 43: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 44: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 45: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 46: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

• 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

Page 47: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 48: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 49: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 50: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 51: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 52: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 53: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 54: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 55: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 56: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 57: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 58: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 59: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 60: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 61: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 62: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 63: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 64: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 65: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 66: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 67: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 68: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 69: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 70: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 71: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 72: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 73: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

Appendix A

Exemplos de Caixas de Informação dos

Dumps (pré-processados)

51

Page 74: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 75: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

|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&ampP

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

Page 76: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

|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

Page 77: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 78: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 79: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 80: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing
Page 81: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 82: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 83: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

Appendix D

Exemplos de Caixas de Informação Após o

Tratamento

61

Page 84: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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&lt;br /&gt;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

Page 85: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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]]&lt;br /&gt;[[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]],&lt;br/&gt; [[Itália]],&lt;br/&gt; [[Suíça]],&lt;br/&gt; [[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]],&lt;br /&gt;[[Universidade de

Zurique]]

tipo-cônjuge Esposas

cônjuge [[Mileva Maric]] (1903-1919)&lt;br /&gt;[[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]]&lt;br /&gt;[[Relatividade restrita]]&lt;br /&gt;[[Movimento

browniano]]&lt;br /&gt;[[Efeito fotoelétrico]]&lt;br /&gt;[[Equivalência massa-energia]]&lt;br

/&gt;nowrap|[[Equações de campo de Einstein]]&lt;br /&gt;[[Estatística de Bose-Einstein]]&lt;br

/&gt;[[Paradoxo EPR]]

assinatura [[Imagem:Albert Einstein signature 1934.svg|175px]]

63

Page 86: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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]]&lt;br /&gt;[[Antonino Pio]]&lt;br /&gt;(ambos adotivos)

favorito [[Antínoo]]

dinastia [[Dinastia antonina|Antonina]]

pai [[Públio Élio Adriano Afer]]

mãe [[Domícia Paulina]]

64

Page 87: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 88: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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

Page 89: Atualização Semi-Automática dos Recursos da STRING€¦ · Abstract The Named Entities Recognition (NER) consists in identifying and classifying certain elements of the text accord-ing

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