• Nenhum resultado encontrado

Identificação de coocorrência de termos em textos científicos

N/A
N/A
Protected

Academic year: 2021

Share "Identificação de coocorrência de termos em textos científicos"

Copied!
93
0
0

Texto

(1)

Universidade de Aveiro Departamento deElectr´onica, Telecomunica¸c˜oes e Inform´atica, 2012

Ineias Silva Fernandes

Identifica¸

ao de Coocorrˆ

encia de termos em textos

cient´ıficos

Disserta¸c˜ao apresentada `a Universidade de Aveiro para cumprimento dos requisitos necess´arios `a obten¸c˜ao do grau de Mestre em Engenharia de Computadores e Telem´atica, realizada sob a orienta¸c˜ao cient´ıfica do Doutor Jos´e Lu´ıs Oliveira, Professor Associado do Departamento de Eletr´onica, Telecomunica¸c˜oes e Inform´atica da Universidade de Aveiro e do Doutor S´ergio Guilherme Aleixo de Matos, Investigador Auxiliar do Departamento de Eletr´onica, Telecomunica¸c˜oes e Inform´atica da Universidade de Aveiro.

(2)
(3)

o j´uri

presidente Doutor Joaquim Manuel Henriques de Sousa Pinto

Professor Auxiliar, Universidade de Aveiro

vogais Doutor Jos´e Lu´ıs Guimar˜aes Oliveira

Professor Associado do Departamento de Eletr´onica, Telecomunica¸c˜oes e Inform´atica da Universidade de Aveiro (Orientador)

Doutor S´ergio Guilherme Aleixo de Matos

Investigador Auxiliar da Universidade de Aveiro (co-orientador)

Doutor P´avel Pereira Calado

Professor Auxiliar do Departamento de Engenharia Inform´atica do Instituto Superior de T´ecnico da Universidade de Lisboa

(4)
(5)

agradecimentos Ao meu orientador, Professor Doutor Jos´e Lu´ıs Oliveira, o meu sincero agradecimento por toda a disponibilidade, apoio, amizade, conselhos e orienta¸c˜ao ao longo deste ´arduo ano de trabalho. Tamb´em ao Professor S´ergio Matos, meu co-orientador, que sempre esteve presente nas horas mais complicadas de todo este processo. Ambos, pela sua forma de estar, tornaram este projeto num trabalho de equipa com um excelente ambiente. Um agradecimento especial a toda a minha fam´ılia. M˜ae (Elisa), obrigado n˜ao s´o por todo o apoio que me deste, apesar de distante, durante este per´ıodo, mas tamb´em por toda a educa¸c˜ao proporcionada ao longo da vida. Irm˜a (Nikolaiva), tamb´em o meu obrigado por toda a ajuda e paciˆencia que deste-me, n˜ao s´o nesta fase, mas ao longo de toda a vida. A todas as minhas irm˜as um muito obrigado. Sem vocˆes, tudo isto n˜ao passaria de uma miragem.

Myla, obrigado por toda a for¸ca, carinho, amizade e paciˆencia ilimitada. Obrigado pela pessoa que ´es.

Por fim, a todos os meus colegas da Universidade de Aveiro que de alguma forma contribu´ıram para a minha forma¸c˜ao.

(6)
(7)

Palavras-chave Minera¸c˜ao de Texto, Coocorrˆencia, Nomes de Entidades, Bases de Dados de Dom´ınio

Resumo Nos ´ultimos anos tem-se verificado um aumento acelerado de conte´udos em formato digital, seja na Internet (blogs, wikis, redes sociais, etc.) seja a n´ıvel institucional ou empresarial. Contudo, grande parte destes dados est´a apenas dispon´ıvel de forma n˜ao-estruturada, limitando o acesso a informa¸c˜ao ´util. Apesar da evolu¸c˜ao verificada nos motores de busca de informa¸c˜ao (e.g., Google e BING) e da utiliza¸c˜ao de metodologias avan¸cadas para a extra¸c˜ao e recolha de conte´udo orientados ao utilizador, a sua aplica¸c˜ao em ´areas especificas est´a ainda longe de ser plenamente concretizada. A biomedicina ´e uma destas ´areas, exigindo a aplica¸c˜ao de algoritmos pr´oprios para o reconhecimento de entidades nomeadas e das rela¸c˜oes entre si.

Neste contexto, pretende-se desenvolver um sistema capaz de reconhecer nomes de entidades biom´edicas (e.g., doen¸cas, drogas) e pares de co-ocorrˆencia em texto cient´ıficos. Este objetivo ser´a atingido atrav´es da utiliza¸c˜ao de um conjunto de bases de dados (e.g., UMLS e LexEBI) do dom´ınio, requerendo-se a aplica¸c˜ao de t´ecnicas para estabelecer uma cor-respondˆencia entre conceitos contidos nas bases de dados e os encontrados nos textos. No entanto, dada a complexidade do dom´ınio biom´edico, esta correspondˆencia nem sempre ´e direta. Consequentemente, tamb´em ser´a ne-cess´ario desenvolver uma solu¸c˜ao para resolver casos amb´ıguos, escolhendo apenas uma entidade para um trecho de texto. No final, o sistema ser´a avaliado contra texto devidamente anotados por humanos, visando a sua an´alise de desempenho.

(8)
(9)

Keywords Text Mining, Co-occurrence, Named Entities, Domain Databases

Abstract In recent years there has been an accelerated growth of content in digital format, whether on the Internet (blogs, wikis, social networks, etc.), either institutionally or business. However, largely of this data is only available in a non-structured format, limiting access to useful information. Despite the developments in information search engines (eg, Google and BING) and use of advanced methodologies for extraction and collect of user-oriented content, their application in specific areas is still far from being fully reali-zed. Biomedicine is one of these areas, requiring the appliance of suitable algorithms for the recognition of named entities and relations between them. In this context, we intend to develop a system able to recognizing biomedi-cal entity names (eg, diseases, drugs) and pairs of co-occurrence in scientific text. This will be achieved by using a set of domain databases (eg, UMLS and LexEBI), requiring the appliance of techniques to establish the mat-ching between concepts contained in the databases and found in the texts. However, given the complexity of the biomedical domain, this matching is not always straightforward. Consequently, we also need to develop a solu-tion to solve ambiguous cases, choosing only an entity to a piece of text. In the end, the system will be evaluated against text duly annotated by humans, aiming at its performance analysis.

(10)
(11)

Conte´

udo

Conte´udo i

Lista de Figuras iii

Lista de Tabelas v

Lista de Acr´onimos vii

1 Introdu¸c˜ao 1 1.1 Enquadramento . . . 1 1.2 Objetivos . . . 2 1.3 Estrutura da Tese . . . 3 2 Estado da Arte 5 2.1 Minera¸c˜ao de Texto . . . 5 2.1.1 T´ecnicas de minera¸c˜ao . . . 7

2.1.2 M´etodos de identifica¸c˜ao de terminologias em textos cient´ıficos . . . . 9

2.1.3 Terminologias . . . 10

2.1.4 Aprendizagem M´aquina . . . 11

2.2 Desambigua¸c˜ao de sentido de palavras . . . 13

2.2.1 Metodologia B´asica . . . 14

2.2.2 Desambigua¸c˜ao de abreviaturas . . . 16

2.3 Ferramentas e sistemas de identifica¸c˜ao de coocorrˆencia . . . 17

2.4 Sum´ario . . . 19

3 An´alise de Requisitos 21 3.1 Vis˜ao Geral do Sistema . . . 21

3.2 Fundamentos . . . 23

3.2.1 Corpus . . . 23

3.2.2 Coocorrˆencia e Medidas de associa¸c˜ao . . . 24

3.2.3 Webservices de coocorrˆencia . . . 26

3.3 Limita¸c˜oes . . . 27

3.4 Requisitos Tecnol´ogicos . . . 28

3.4.1 Apache Lucene . . . 28

3.4.2 Persistˆencia de Dados . . . 29

3.4.3 An´alise Comparativa . . . 36

(12)

4 Sistema de Identifica¸c˜ao de Coocorrˆencia entre Termos 39

4.1 Indexa¸c˜ao . . . 39

4.1.1 O Analisador de Termos . . . 42

4.1.2 Hashmaps de n´ıveis de coocorrˆencia . . . 45

4.2 Classifica¸c˜ao dos termos . . . 47

4.3 Base de Dados . . . 50

4.4 WebServices . . . 52

4.5 Sum´ario . . . 55

5 An´alise e Discuss˜ao de Resultados 57 5.1 Metodologia Utilizada . . . 57

5.2 Resultados . . . 58

5.2.1 Dicion´ario de Conceitos . . . 58

5.2.2 ´Indice Lucene . . . 59

5.2.3 Tempo de c´alculo de pontua¸c˜oes e inser¸c˜ao na base de dados . . . 61

5.2.4 Utiliza¸c˜ao de webservices . . . 62

5.3 Sum´ario . . . 65

6 Conclus˜ao 67 6.1 Sugest˜oes para trabalho futuro . . . 68

(13)

Lista de Figuras

2.1 Etapas de um processo de minera¸c˜ao de texto . . . 6

3.1 Vis˜ao geral do sistema . . . 23

3.2 Estrutura de ficheiros dos corpus . . . 24

3.3 Dados de entrada e sa´ıda do webservice TopN . . . 26

3.4 Dados de entrada e sa´ıda do webservice de coocorrˆencia entre dois termos . . 27

3.5 Indexa¸c˜ao e Pesquisa utilizando Lucene (adaptado de [1]) . . . 28

3.6 Abstra¸c˜ao fornecido pelo SGBD . . . 30

3.7 Avalia¸c˜ao de bases de dados NoSQL (adaptado de [2]) . . . 36

4.1 Estrutura de classes de indexa¸c˜ao . . . 41

4.2 Estrutura de cada linha do ficheiro de dicion´ario UMLS . . . 42

4.3 Ciclo de execu¸c˜ao do filtro sobre uma frase . . . 43

4.4 Implementa¸c˜ao do filtro do DictionaryFilter . . . 44

4.5 Tokeniza¸c˜ao, manual, dos termos . . . 45

4.6 Pseudo c´odigo de preenchimento de hashmaps de coocorrˆencia. . . 46

4.7 Representa¸c˜ao da rela¸c˜ao entre termos segundo uma estrutura relacional . . . 51

4.8 Servidor de WebService . . . 52

4.9 Representa¸c˜ao esquem´atica do webservice Top N . . . 53

4.10 Resource do webservice TopN . . . 54

4.11 Representa¸c˜ao esquem´atica do webservice de Coocorrˆencia entre termos . . . 54

4.12 Resource do webservice que calcula coocorrˆencia entre dois termos . . . 55

5.1 Resultado da chamada ao webservices TopN com N = 5 . . . 62

5.2 Resultado da chamada ao webservices de coocorrˆencia entre termos sem ambi-guidade . . . 63

5.3 Resultado da chamada ao webservices de coocorrˆencia entre termos com am-biguidade . . . 64

5.4 Resultado da chamada ao webservices de coocorrˆencia entre termos com o segundo termo com ambiguidade maior que trˆes . . . 64

(14)
(15)

Lista de Tabelas

4.1 Exemplo de estrutura de ´ındice criado no Lucene . . . 40 4.2 Exemplo de adi¸c˜ao de um par de coocorrˆencia na hashmap, pela primeira . . 46 4.3 Tabela de Contingˆencia de frequˆencia observada . . . 47 5.1 Lista de Grupos Semˆanticos com os correspondentes Tipos Semˆanticos e o

n´umero de termos com que cada um contribui para o dicion´ario de conceitos . 59 5.2 Resultados da indexa¸c˜ao com diferentes tamanhos de corpus . . . 60 5.3 Dados relativo ao ´ındice Lucene . . . 60 5.4 Compara¸c˜ao do resultados obtidos na indexa¸c˜ao dos dois tipos de corpus . . . 61 5.5 Tempo, em minutos, do c´alculo das pontua¸c˜oes e a inser¸c˜ao dos resultados na

(16)
(17)

Lista de Acr´

onimos

AM Aprendizagem M´aquina

API Application Programming Interface

AOF Append-Only File

BMC Biomedical Center CUI Concept Unique Identifier EI Extra¸c˜ao de Informa¸c˜ao

FACTA Finding Associated Concepts with Text Analysis

GO Gene Ontology

HTTP Hypertext Transfer Protocol IA Inteligˆencia Artificial

KDD Knowledge Discovery in Databases

LAITOR Literature Assistant for Identification of Terms co-Occurrences and Rela-tionships

MEDLINE Medical Literature Analysis and Retrieval System Online MESH Medical Subject Headings

NCBI National Center for Biotechnology Information NCI National Cancer Institute

NLM National Library of Medicine

NoSQL Not Only SQL

OMIM Online Mendelian Inheritance in Man PLN Processamento de Linguagem Natural PMID PubMed Identifier

(18)

RI Recupera¸c˜ao de Informa¸c˜ao

RNE Reconhecimento de Nomes de Entidades SGBD Sistema de Gest˜ao de Base de Dados SQL Structured Query Language

UMLS Unified Medical Languages System WSD Word Sense Disambuiguation XML Extensible Markup Language

(19)

Cap´ıtulo 1

Introdu¸

ao

1.1

Enquadramento

Nos ´ultimos anos tem-se verificado um aumento acelerado de conte´udos em formato digi-tal, seja na Internet (blogs, wikis, redes sociais, etc.), seja a n´ıvel institucional ou empresarial. Este aumento deve-se, em parte, aos progressos obtidos nas tecnologias de recolha e arma-zenamento dessa informa¸c˜ao. Estima-se que o volume global de dados cresce 59% por ano e grande parte destes dados (mais de 90%) est´a apenas dispon´ıvel de forma n˜ao-estruturada [3], limitando o acesso a informa¸c˜ao ´util. Muitas vezes, a existˆencia de excesso de informa¸c˜ao pode tornar-se prejudicial na medida em que pode levar o utilizador a ignorar conte´udos relevantes. Apesar da evolu¸c˜ao verificada nos motores de busca de informa¸c˜ao (e.g., Google e BING) e da utiliza¸c˜ao de metodologias avan¸cadas para a extra¸c˜ao e recolha de conte´udos orienta-dos ao utilizador, a sua aplica¸c˜ao em ´areas espec´ıficas est´a ainda longe de ser plenamente concretizada. A biomedicina ´e uma destas ´areas, exigindo a aplica¸c˜ao de algoritmos pr´oprios para o reconhecimento de nomes de entidades e das rela¸c˜oes entre si. Se consideramos que a MEDLINE, a maior base de dados de cita¸c˜oes de artigos biom´edicos, cont´em aproxima-damente 22 milh˜oes de cita¸c˜oes [4], com milhares de novos documentos a serem adicionados constantemente, torna-se complicada a gest˜ao desse excesso de informa¸c˜ao, ainda mais se tomarmos em considera¸c˜ao que desses documentos, novos termos1 (genes, prote´ına, drogas, componentes qu´ımicos) s˜ao constantemente criados. Por isso, a extra¸c˜ao e descoberta de conhecimento escondido em textos ´e uma ´area de estudo cada vez maior.

O n´umero de artigos (cient´ıficos, t´ecnicos e revistas m´edicas) publicados anualmente atingem n´umeros superiores a 1 milh˜ao, sendo que 40% desses artigos s˜ao de natureza biom´edica [6]. Isto faz com que os cientistas tenham que despender a maior parte do seu tempo de trabalho di´ario a ler artigos e revistas cientificas, situa¸c˜ao que tem consequˆencia direta na obten¸c˜ao de resultados e que, por vezes, podiam ser melhores se a informa¸c˜ao ´util estivesse dispon´ıvel de uma forma simples e de f´acil acesso. Para combater esse problema de excesso de informa¸c˜ao, tem surgido, constantemente, novas ´areas de investiga¸c˜ao com objetivo de apoiar o Homem a tirar maior proveito do elevado fluxo de informa¸c˜ao, por ele mesmo criado. Estas ´areas tˆem a particularidade de tratarem dados “n˜ao estruturados”, que, devido a sua natureza n˜ao previs´ıvel e heterog´enea, dificultam a tarefa de gest˜ao da informa¸c˜ao.

(20)

Base de dados biol´ogicas, vocabul´arios controlados e bio-ontologias codificam apenas pe-quenas quantidades de informa¸c˜ao [5], sendo incapazes de dar resposta a esse “dil´uvio” de informa¸c˜ao. Nesse sentido, torna-se necess´ario o uso de t´ecnicas de descoberta autom´atica de fatos e acontecimentos extremamente importantes para a obten¸c˜ao de conhecimentos em ciˆencias biom´edicas. Uma dessas t´ecnicas ´e precisamente a minera¸c˜ao de texto.

O foco de minera¸c˜ao de texto ´e a an´alise de grandes quantidades de informa¸c˜ao n˜ao estruturada de forma a descobrir padr˜oes para posteriormente poder-se extrair informa¸c˜ao ´

util. Os investigadores tˆem focado na automa¸c˜ao desse processo tirando proveito dos diferentes processos anal´ıticos, como por exemplo o Processamento da Linguagem Natural (PLN) ou Reconhecimento de Nomes de Entidades (RNE). No contexto biom´edico, a descoberta de rela¸c˜oes entre conceitos pode ser muito ´util, uma vez que, poder´a ajudar os cientistas a responder, de forma relativamente r´apida, a quest˜oes do tipo Que genes/prote´ınas est˜ao

envolvidos numa determinada doen¸ca?.

1.2

Objetivos

No dom´ınio biom´edico, a integra¸c˜ao e transferˆencia de informa¸c˜ao de fontes textuais para fontes de conhecimento tem sido um trabalho cont´ınuo e requer muito esfor¸co. O reconheci-mento de tipos semˆanticos tem sido, at´e ent˜ao, mais focado em entidades como prote´ınas e genes, negligenciando, de certa forma, outros tipos semˆanticos como doen¸cas, drogas, e outros, embora tenham, tamb´em, um papel importante nessa ´area de estudo [7]. Diversas solu¸c˜oes tˆem sido propostas para identificar nomes de entidades na literatura cient´ıfica, e ao passo que a correspondˆencia de terminologias com padr˜oes de linguagem sofre de baixo desempenho, outras solu¸c˜oes fazem uso de recursos morfo-sint´aticos de forma a conseguir abranger todo o ˆ

ambito de variabilidade terminol´ogica da melhor maneira poss´ıvel.

O reconhecimento de doen¸cas na literatura ´e um assunto de extrema importˆancia na identifica¸c˜ao de causas conhecidas e hipot´eticas de doen¸cas. E ´e com esse prop´osito que pretendemos desenvolver um sistema capaz de reconhecer nomes de entidades biom´edicas e coocorrˆencia de termos em textos biom´edicos. Este objetivo ser´a atingido atrav´es da uti-liza¸c˜ao de um conjunto de base de dados (e.g., UMLS e LexEBI) do dom´ınio, requerendo-se a aplica¸c˜ao de t´ecnicas para estabelecer uma correspondˆencia entre conceitos contidos nas bases de dados e os encontrados nos textos, tendo sempre em aten¸c˜ao para os casos de termos d´ubios. No final, queremos um sistema capaz de lidar com consultas abrangentes ou asso-ciativas, tendo em aten¸c˜ao que ser´a necess´ario desenvolver uma solu¸c˜ao para resolver casos amb´ıguos, escolhendo apenas uma entidade para um trecho de texto. O sistema dever´a ser capaz de, a partir de um determinado termo, indicar os termos que mais coocorrem com o termo indicado, a fim de sermos capazes de chegar aos diferentes tipos de resultados como por exemplo:

• Que doen¸cas est˜ao relacionadas com um determinado componente qu´ımico?

(21)

No entanto, dada a complexidade do dom´ınio biom´edico, esta correspondˆencia nem sempre ´e direta, e por isso, o desenvolvimento do sistema passar´a por diversas fases, que passamos a mencionar:

• Tratamento e indexa¸c˜ao de resumos de artigos da MedLine e BioMed Central (BMC), editora, de acesso aberto, de artigos cient´ıficos nas ´areas de biologia e medicina. A indexa¸c˜ao ser´a baseada em dicion´arios de conceitos de forma a filtrar informa¸c˜ao rele-vante;

• C´alculo de coocorrˆencia dos termos e a sua pontua¸c˜ao tendo por base diversas medidas de associa¸c˜ao entre palavras;

• Web Service que disponibiliza informa¸c˜oes de coocorrˆencia entre termos e os termos mais associados a um determinado termo;

• Aplica¸c˜ao de t´ecnicas de desambigua¸c˜ao para resolver problemas de termos amb´ıguos.

1.3

Estrutura da Tese

O conte´udo desta disserta¸c˜ao est´a organizado da seguinte maneira:

• No cap´ıtulo 2 ´e apresentado um estudo sobre algumas t´ecnicas de minera¸c˜ao de texto, onde se faz uma an´alise comparativa e cr´ıtica dos m´etodos para o que se prop˜oe fazer, bem como projetos, ferramentas e software que fornecem funcionalidades similares nesta ´

area.

• No cap´ıtulo 3 fazemos uma an´alise de requisitos, estabelecendo um conjunto de obje-tivos gerais que o sistema deve cumprir, identificando as funcionalidades necess´arias a desenvolver, de uma forma detalhada. Identificamos tamb´em as tecnologias e estrat´egias utilizadas justificando a escolha das mesmas.

• O quarto cap´ıtulo centra-se no processo de desenvolvimento da aplica¸c˜ao. S˜ao descritos todos os passos da implementa¸c˜ao do sistema, procedimentos e a estrat´egia adotada para a implementa¸c˜ao do mesmo.

• No quinto cap´ıtulo s˜ao apresentados alguns resultados obtidos, podendo-se da´ı fazer um balan¸co de todo o trabalho desenvolvido.

• Por fim, o sexto cap´ıtulo ´e dedicado `as conclus˜oes, bem como propostas futuras que poder˜ao ser efetuadas neste sistema apresentado.

(22)
(23)

Cap´ıtulo 2

Estado da Arte

A descoberta de associa¸c˜oes entre conceitos biom´edicos tem sido um dos principais obje-tivos de minera¸c˜ao de textos biom´edicos e conseguir identificar conceitos nesses textos ´e de total relevˆancia no processo de investiga¸c˜ao. A possibilidade de poder-se obter informa¸c˜ao ´

util de forma r´apida tem despertado interesse entre os pesquisadores e analistas que tˆem que confrontar com problema de excesso de material para lidar. Neste cap´ıtulo apresentamos uma an´alise de alguns sistemas e ferramentas que permitem descobrir associa¸c˜oes entre conceitos, fazendo referˆencia a alguns m´etodos de minera¸c˜ao de texto.

2.1

Minera¸

ao de Texto

Este processo refere-se a descoberta, por computador, de informa¸c˜ao de qualidade ao ex-trair automaticamente as informa¸c˜oes a partir de texto em linguagens naturais (dados n˜ao estruturados). Minera¸c˜ao de texto ´e uma forma de descobrir informa¸c˜oes ainda desconhecidas colocando de parte as informa¸c˜oes n˜ao relevantes. O elemento chave ´e encontrar rela¸c˜oes entre as informa¸c˜oes extra´ıdas para formar novos fatos ou novas hip´oteses a serem exploradas [8]. Trata-se de um processo diferente daquilo que estamos familiarizados com a pesquisa na web, uma vez que na pesquisa, o utilizador, geralmente, procura por algo que j´a ´e conhecido e foi escrito por outra pessoa. Para os menos entendidos na mat´eria, pode parecer que o Google e outros os motores de pesquisa Web fazem algo semelhante, pois tamb´em trabalham sobre resmas de documentos em fra¸c˜ao de segundo. Mas, na verdade, os motores de pesquisa s˜ao apenas “recuperadores de informa¸c˜ao”, que apresentam listas de documentos que contenham certas palavras-chave. Sistemas de minera¸c˜ao de texto v˜ao mais longe ainda. Categorizam as informa¸c˜oes, estabelecem rela¸c˜oes entre documentos e fornecem mapas visuais que transpor-tam os utilizadores para um n´ıvel de conhecimento que ainda n˜ao tinham experimentado.

A minera¸c˜ao de texto comporta uma s´erie de passos (Figura. 2.1) em nada triviais. Os diversos est´agios desse processo come¸ca com a prepara¸c˜ao de dados a serem tratados, usando para esse prop´osito t´ecnicas de processamento de linguagem natural. A Recupera¸c˜ao da In-forma¸c˜ao (RI), uma sub-tarefa do processo de indexa¸c˜ao, visa recuperar e filtrar informa¸c˜ao, meta-dados e documentos ´uteis, a partir de grandes volumes de dados. A indexa¸c˜ao ´e res-pons´avel pela cria¸c˜ao de estruturas de ´ındices que permitem a recupera¸c˜ao, r´apida, dos docu-mentos e de seus padr˜oes. Antes dessa etapa n˜ao existe nenhuma maneira de realizar buscas dentro da cole¸c˜ao de documentos.

(24)

O passo seguinte ´e a Extra¸c˜ao de Informa¸c˜ao (EI) (fatos e eventos interessantes ao utili-zador), localizando conceitos relevantes, normalmente, devolvendo apenas o que procuramos. Todas essas fases envolvem muitos componentes (conversores, analisadores etc.), recursos (ontologias, dicion´arios, terminologias) e combina¸c˜oes de componentes e recursos para dife-rentes aplica¸c˜oes. Ap´os a indexa¸c˜ao inicia-se a etapa de processamento com aplica¸c˜ao de algoritmos de minera¸c˜ao com a busca efetiva de conhecimentos novos. O algoritmo escolhido para minera¸c˜ao vai depender do objetivo da aplica¸c˜ao e pode est´a ligado `as v´arias ´areas do conhecimento como, por exemplo, Aprendizagem M´aquina (AM), Redes Neurais, Estat´ıstica e tecnologias de Bases de Dados. O uso de processamento de linguagem natural para a rea-liza¸c˜ao de pequenas sub-tarefas em an´alise de texto tem ajudado nesse processo de extra¸c˜ao de informa¸c˜ao em textos, no entanto ´e sempre dif´ıcil reconhecer, de entre muitas rela¸c˜oes, quais s˜ao as que verdadeiramente interessam. A solu¸c˜ao passa por olhar para a coocorrˆencia de palavras em artigos a fim de prever intera¸c˜oes entre conceitos. Ou seja, a estrat´egia passa por procurar artigos que mencionam nomes individuais, e depois olhar para outros artigos que contˆem os mesmos conjuntos de palavras, em vez de procurar pares diretamente.

Pré

Processamento Indexação Mineração Análise

Text Mining Pesso as

Preparação do s dado s

Proce ssam ento de Linguage m Natural (PLN) Objetivo : acesso rápido na busca Recuperação de Informação (RI) Cálculo s Inferências Extração de Co nhecimento Mineração de Dados (MD) Análise humana Navegação

Leit ura e Interpretação de dados

Figura 2.1: Etapas de um processo de minera¸c˜ao de texto

Durante o processo de minera¸c˜ao de texto, o utilizador interage com um conjunto de do-cumentos textuais, atrav´es de ferramentas anal´ıticas, que implica o pr´e-processamento dos conjuntos de documentos, o armazenamento das representa¸c˜oes interm´edias, as t´ecnicas para analisar essas representa¸c˜oes interm´edias, e a visualiza¸c˜ao dos resultados. Devido a natureza dos dados, ´e fundamental uma fase de pr´e-processamento lingu´ıstico na aplica¸c˜ao de uma me-todologia de minera¸c˜ao de texto e obriga a que as aplica¸c˜oes lidem com uma maior diversidade de formatos, tendo em conta a natureza n˜ao estruturada ou semi-estruturada do objeto de investiga¸c˜ao. Note que ´e importante diferenciar minera¸c˜ao de texto e RI, isto porque muitas vezes a minera¸c˜ao de texto ´e referenciada como uma forma de tornar mais f´acil a pesquisa de informa¸c˜oes na web, mas na verdade esse processo pertence a RI que consiste no processo de encontrar informa¸c˜ao que j´a ´e conhecida e est´a inserida num documento [9]. O objetivo de RI ´e ajudar os utilizadores a encontrar os documentos que satisfa¸cam as suas necessidades de informa¸c˜ao. O problema n˜ao ´e que a informa¸c˜ao desejada n˜ao seja conhecida, mas sim que a informa¸c˜ao desejada coexista com muitas outras pe¸cas de informa¸c˜oes v´alidas.

(25)

A etapa que se segue ´e a minera¸c˜ao de dados [10] que tenta encontrar padr˜oes inter-essantes e consistentes de grandes base de dados, incluindo tecnologias de base de dados, Inteligˆencia Artificial (IA), Aprendizagem M´aquina, Redes Neurais, estat´ıstica, entre outros. Minera¸c˜ao de texto e minera¸c˜ao de dados diferenciam-se num elemento essencial: o tipo de dados analisado. Os processos e metodologias de minera¸c˜ao de dados aplicam-se a dados estruturados, isto ´e, dados de natureza num´erica, quantific´avel, repetitiva e previs´ıvel. A abordagem principal ´e comparar as distribui¸c˜oes de categoria atribu´ıdas a sub-grupos da cole¸c˜ao de documentos. Esse processo ´e muitas vezes confundidos com o termo Knowledge Discovery in Databases (KDD), que na verdade ´e um processo bastante mais amplo [11].

2.1.1 T´ecnicas de minera¸c˜ao

J´a vimos que a minera¸c˜ao de texto ´e o processo de obter informa¸c˜ao de alta qualidade a partir de documentos textuais. Estas informa¸c˜oes s˜ao normalmente obtidas atrav´es de t´ecnicas de mapeamento entre termos e fontes de dados, tais como a aprendizagem de padr˜oes estat´ısticos. Minera¸c˜ao de dados geralmente envolve o processo de estrutura¸c˜ao de texto de entrada, derivando padr˜oes nos dados n˜ao-estruturados e, no fim, avalia e interpreta os resul-tados. Para isso s˜ao necess´arias algumas t´ecnicas, e as tarefas t´ıpicas incluem categoriza¸c˜ao e agrupamento de texto (clustering), extra¸c˜ao de conceitos e entidades, o resumo do documento e modela¸c˜ao da rela¸c˜ao de entidades, ou seja, identificar as rela¸c˜oes entre nomes de entidades. T´ecnica de associa¸c˜ao

A extra¸c˜ao de associa¸c˜ao ´e uma t´ecnica de minera¸c˜ao de dados bastante utilizada na minera¸c˜ao de texto, com o objetivo de descobrir as associa¸c˜oes existentes entre termos e ca-tegorias de documentos. Representam padr˜oes onde a ocorrˆencia de eventos num conjunto ´e alta. Podemos dizer que ´e a probabilidade de que um conjunto de itens apare¸ca numa transa¸c˜ao, dado que outro conjunto esteja presente. Ou seja, ´e uma t´ecnica que gera regras do tipo “Se X ent˜ao Y” (X ⇒ Y ) onde X e Y s˜ao conjuntos de itens que coocorrem.

O objetivo das regras de Associa¸c˜ao, ´e encontrar todos os conjuntos de itens que fre-quentemente ocorrem de forma conjunta na base de dados e formar regras a partir destes conjuntos. Utilizam algoritmos espec´ıficos, destacando-se o algoritmo APriori [12], utilizado para encontrar associa¸c˜oes relevantes entre itens de dados, atrav´es de pesquisas recursivas. Cada regra da forma X ⇒ Y possui dois atributos (suporte e confian¸ca) que determinam sua validade no conjunto de dados e tamb´em limitam a quantidade de regras extra´ıdas. Estes atributos possibilitam o descarte das regras tidas como de pouco interesse, j´a que s˜ao menos frequentes e confi´aveis.

Sumariza¸c˜ao

O processo de sumariza¸c˜ao consiste na sele¸c˜ao de informa¸c˜oes mais importantes do texto, tornando a descri¸c˜ao mais compacta, mas mantendo a mesma informa¸c˜ao. A sumariza¸c˜ao tem por objetivo produzir uma lista de frases do documento de origem resumindo o conte´udo deste documento, reduzindo o seu volume, mas mantendo a mesma informa¸c˜ao. As representa¸c˜oes dos textos s˜ao analisadas para encontrar similaridades e diferen¸cas de informa¸c˜oes. O que quer dizer que, para combinar as informa¸c˜oes extra´ıdas de artigos diferentes, s˜ao aplicados

(26)

operadores semˆanticos para exprimir contradi¸c˜ao, adi¸c˜ao, concordˆancia, falta de informa¸c˜ao, etc. Tais operadores tamb´em decidem que informa¸c˜oes incluir no resumo final, com base em determinados graus de importˆancia, de acordo com crit´erios tais como: informa¸c˜oes que aparecem em mais artigos tem maior grau de importˆancia. Por essa raz˜ao, ´e uma t´ecnica muito utilizada na minera¸c˜ao de texto com o fim de identificar palavras ou frases mais importantes dos documentos.

Categoriza¸c˜ao

A categoriza¸c˜ao de texto ´e a tarefa de associar categorias pr´e-definidas a texto e pode ser aplicada em diversos contextos, desde indexa¸c˜ao de documentos com vocabul´ario controlado, filtragem documental, gera¸c˜ao autom´atica de metadados, desambigua¸c˜ao semˆantica, cat´alogos hier´arquicos de recursos Web e qualquer tipo de aplica¸c˜ao que requeira organiza¸c˜ao documen-tal ou sele¸c˜ao e adapta¸c˜ao de documentos. Podemos fazer uma analogia entre essa t´ecnica e o trabalho de um bibliotec´ario que categoriza os livros de uma biblioteca. A identifica¸c˜ao de t´opicos principais e a sua associa¸c˜ao ´e baseada em algoritmos predefinidos que analisam todos os exemplos de documentos e armazenam as regras que aprende numa Base de Conhe-cimento. Os documentos a serem classificados passam por um “classificador” baseado nas regras previamente inseridas, que estabelece que classe cada documento pertence. O objetivo principal da categoriza¸c˜ao de texto ´e encontrar o tema central, permitindo que o acesso a um assunto espec´ıfico seja facilitado.

Clustering

A t´ecnica de clustering (agrupamento ou generaliza¸c˜ao) procura separar automaticamente elementos em classes que ser˜ao identificadas durante o processo. Geralmente, esta t´ecnica vem associada com alguma t´ecnica de descri¸c˜ao de conceitos, para identificar os atributos de cada classe. Clustering auxilia o processo de descoberta de conhecimento, facilitando a identifica¸c˜ao de padr˜oes (caracter´ısticas comuns dos elementos) nas classes, pois os textos s˜ao agrupados seguindo uma m´etrica que mede a similaridade entre eles. ´E uma t´ecnica impor-tante na minera¸c˜ao de texto porque os termos adjacentes ou rela¸c˜oes entre termos tˆem valor descritivo suficiente para que se possa inferir uma hierarquia de conceitos relacionados entre termos. Diferentemente da classifica¸c˜ao onde os dados de teste est˜ao devidamente classifica-dos e as etiquetas das classes s˜ao conhecidas, a an´alise de clusters trabalha sobre dados onde as etiquetas das classes n˜ao est˜ao definidas. Para identificar o n´ıvel de similaridade entre os elementos de um cluster e encontrar um elemento que esteja fora do mesmo ´e utilizado o crit´erio de similaridade entre os elementos. Segundo Carlos Dias [13] um crit´erio importante para identificar a similaridade entre os elementos ´e atrav´es da distˆancia dos mesmos, onde quanto mais perto um elemento estiver do outro, mais similares eles s˜ao.

K-means ´e o exemplo de uma t´ecnica de clusteriza¸c˜ao que utiliza o crit´erio de distˆancia entre elementos. Consiste na escolha, aleat´oria, dos elementos que representam cada cluster, e ap´os a escolha dos elementos representativos de cada um, s˜ao identificados os elementos com propriedades semelhantes e se estiverem longe dos seus respetivos elementos similares, s˜ao movidos para pr´oximo agrupamento.

(27)

2.1.2 M´etodos de identifica¸c˜ao de terminologias em textos cient´ıficos

Existem diversos m´etodos que permitem fazer o mapeamento entre termos e fontes de dados que v˜ao desde os mais simples, como por exemplo, o m´etodo do dicion´ario e m´etodos estat´ısticos at´e aos mais sofisticados como a Aprendizagem M´aquinas e Processamento de Linguagem Natural. PLN re´une a ciˆencia computacional e a lingu´ıstica com vista a com-preender as intera¸c˜oes entre linguagens naturais e computacionais. As t´ecnicas associadas ao PLN ajudam a melhorar e promover a RI e outras disciplinas relacionadas.

O m´etodo de dicion´ario realiza uma correspondˆencia entre os termos existentes no di-cion´ario controlado de palavras e os termos encontrados em texto. No entanto, n˜ao se trata de um m´etodo muito robusto, principalmente, nos casos em que existe uma grande varia-bilidade de termos que n˜ao foram previsto inicialmente. A indexa¸c˜ao de termos usando o m´etodo do dicion´ario tem uma propriedade not´avel: apenas os termos que existem no di-cion´ario podem ser indexados, quando presentes na literatura. Tal caracter´ıstica pode ser vista, por um lado, como uma vantagem na medida que elevadas taxas de corre¸c˜ao de erros podem ser conseguidas, tendo em conta que palavras candidatas que n˜ao fazem sentido para a indexa¸c˜ao nunca ser˜ao consideradas. Por outro lado, pode ser vista como uma desvantagem no caso de utiliza¸c˜ao de dicion´arios incompletos. Dicion´arios que n˜ao incluem todos os termos relevantes para o estudo podem fazer com que palavras v´alidas sejam injustamente descarta-das comprometendo o sucesso nos resultados. Na pr´atica, o m´etodo do dicion´ario ´e favor´avel quando o dom´ınio da tarefa requer um pequeno vocabul´ario ou quando o vocabul´ario de ter-mos v´alidos s˜ao completamente conhecidos. A precis˜ao deste m´etodo pode ser afetada pela ambiguidade [14] dos termos, no entanto j´a foram propostas algumas t´ecnicas para resolver esse problema [15].

O m´etodo estat´ıstico, por sua vez, ´e baseado na teoria da informa¸c˜ao e o l´exico ´e proces-sado para obter propriedades de todos os itens, tais como frequˆencia de palavras individuais no conjunto terminol´ogico. Ao processar o texto, v´arios parˆametros s˜ao medidos em deter-minadas zonas do texto, que pode ser uma frase, um par´agrafo ou todo o documento. Os m´etodos estat´ısticos visam tornar o processo de investiga¸c˜ao o mais eficiente e produtivo poss´ıvel, tendo como principal vantagem permitir a sua utiliza¸c˜ao em qualquer idioma, e por isso, muitas vezes, compreende a manipula¸c˜ao de dados amb´ıguos para resolu¸c˜ao de proble-mas que n˜ao foram definidos inicialmente.

Os m´etodos podem ser utilizados individualmente ou em simultˆaneo. Jimeno et al [7], propuseram o uso de trˆes abordagens (m´etodo do dicion´ario, estat´ıstico e MetaMap [16]) que dependem de diferentes tecnologias subjacentes, como forma de obter melhores resultados. MetaMap ´e um servi¸co web que extrai conceitos Metathesaurus do texto e usa uma abordagem de conhecimento intensivo, baseado em processamento de linguagem natural e t´ecnicas de lingu´ısticas computacionais. A entrada de MetaMap pode ser um texto de comprimento vari´avel e a sua sa´ıda ´e uma lista ordenada de conceitos Metathesaurus associados a cada bocado de texto.

(28)

2.1.3 Terminologias

UMLS, ou Unified Medical Language System [17], ´e um reposit´orio que integra v´arias ter-minologias1 biom´edicas e de sa´ude, desenvolvidos pela National Library of Medicine (NLM), com o objetivo de superar duas barreiras significativas na recupera¸c˜ao de informa¸c˜ao: (i ) a variedade de nomes utilizados para expressar o mesmo conceito e (ii ) a ausˆencia de um formato padr˜ao para a distribui¸c˜ao de terminologias. NLM produz e distribui as fontes de conhecimento UMLS para que se possam construir ou melhorar sistemas de informa¸c˜ao para criar, processar, recuperar, integrar e ou pesquisar dados biom´edicos.

O UMLS compreende diferentes vocabul´arios controlados e padr˜oes, que fornecem rela¸c˜oes entre diferentes conceitos agrupados por tipos semˆanticos e organizados segundo uma estru-tura hier´arquica para permitir a interoperabilidade entre sistemas de computador. Inclui mais de 100 terminologias m´edicas controladas e sistemas de classifica¸c˜ao codificados com diferentes estruturas semˆanticas e sint´aticas. Uma das caracter´ısticas mais poderosas da UMLS ´e a sua capacidade de ligar termos m´edicos, nomes de rem´edios e informa¸c˜oes de sa´ude atrav´es de diferentes sistemas de computa¸c˜ao.

As trˆes principais fontes de conhecimento de UMLS s˜ao o Metathesaurus, Rede Semˆantica e recursos lexicais especializados. O Metathesaurus, componente principal e base de todo o projeto, ´e o reposit´orio que cont´em informa¸c˜oes sobre conceitos biom´edicos e de sa´ude, as rela¸c˜oes entre os conceitos e termos sin´onimos que est˜ao associados com os conceitos [18]. O Metathesaurus organiza o conhecimento baseado em conceitos. Um conceito ´e definido como o “significado” de um termo, e ´e expresso por ter atributos espec´ıficos que o define. Um conceito cont´em uma defini¸c˜ao do conceito, conceitos relacionados, as rela¸c˜oes com outros conceitos e tipos semˆanticos definidos a partir da rede semˆantica. Os termos sin´onimos s˜ao agrupados em conjunto para formar um conceito, e conceitos est˜ao inter-ligados, uns aos ou-tros, atrav´es de v´arios tipos de rela¸c˜oes. Por incluir conte´udos de vocabul´arios produzidos por detentores de direitos de autor, bem como o conte´udo produzido pela NLM, o Metathesau-rus em si carece de um contrato de licen¸ca, no entanto a UMLS est´a dispon´ıvel gratuitamente. A Rede Semˆantica cont´em informa¸c˜oes sobre o tipo semˆantico de um conceito Metathe-saurus e sua rela¸c˜ao com outros tipos semˆanticos. Um tipo semˆantico ´e um aglomerado de palavras que est˜ao significativamente relacionados de alguma forma. Um conceito pode ter mais de um tipo semˆantico. Exemplos de tipos semˆanticos incluem: organismo, as estruturas anat´omicas, a fun¸c˜ao biol´ogica, produtos qu´ımicos, etc, e contam, atualmente, com cerca de 135 tipos semˆanticos relacionados por 54 rela¸c˜oes semˆanticas. Por sua vez, os recursos lexicais incluem l´exicos especializados de uma base de dados de informa¸c˜ao lexicogr´afica para uso em PLN.

Esta base de dados cont´em crit´erios para a categoriza¸c˜ao dos conceitos no Metathesaurus que abrange a defini¸c˜ao de categorias da rede semˆantica, como organizador dos termos indivi-duais e conceitos no Metathesaurus. Um termo pode ser constitu´ıdo por mais de uma palavra. Existe uma entrada lexical para cada ortografia ou varia¸c˜ao ortogr´afica e cada entrada pode ter mais de um conceito UMLS.

(29)

O UMLS Metathesaurus cont´em uma base de dados de vocabul´ario biom´edicos e concei-tos de sa´ude relacionados provenientes de mais de 100 fontes de conhecimentos diferentes que foram semi-automaticamente integradas numa ´unica fonte. Os conceitos associados com palavras e termos s˜ao enumerados atrav´es de identificadores exclusivos (Concept Unique Iden-tifiers - CUI). Por exemplo, os dois sentidos poss´ıveis para o termo Cold s˜ao C0009264 cujo termo preferido corresponde a baixas temperaturas e C0009443 que tem a constipa¸c˜ao como o termo preferido. O termo preferido ´e o termo atribu´ıdo ao CUI para fins descritivos.

UMLS integra terminologias como a taxonomia2NCBI (National Center for Biotechnology Information), utilizado para a identifica¸c˜ao de organismos, e Gene Ontology (GO) utilizado para anota¸c˜ao de genes atrav´es de diferentes modelos de organismos. Al´em dos dados, o UMLS tamb´em consiste de ferramentas, como programas ou servi¸cos web. MetamorphoSys [17] ajuda os utilizadores a personalizar o Metathesaurus para as suas aplica¸c˜oes atrav´es de, por exemplo, sele¸c˜ao de conceitos de um determinado subdom´ınio. No cap´ıtulo “An´alise de requisitos” iremos abordar com detalhes a cria¸c˜ao do subconjunto de UMLS direcionado para as doen¸cas neurodegenerativas, e explicaremos como iremos utilizar esse recurso.

2.1.4 Aprendizagem M´aquina

A Aprendizagem M´aquina ´e um ramo da IA dedicado ao desenvolvimento de algoritmos e t´ecnicas que permitam ao computador aprender, ou seja, que permitem ao computador aper-fei¸coar seu desempenho em algumas tarefa, baseados em dados emp´ıricos. Normalmente, AM refere-se `as mudan¸cas nos sistemas que executam tarefas associadas com IA. Essas tarefas envolvem reconhecimento, diagn´ostico, planeamento, previs˜ao, etc. Segundo Nilsson [19], a m´aquina aprende sempre que muda a sua estrutura, programa ou dados (com base nas suas entradas ou em resposta a informa¸c˜oes externas), de tal forma que seu desempenho futuro melhore automaticamente mediante experiˆencia.

Existem v´arias raz˜oes pelas quais Aprendizagem M´aquina ´e importante, como por exemplo ajustar a sua estrutura interna para produzir sa´ıdas corretas para um grande n´umero de entradas, ou extrair rela¸c˜oes e correla¸c˜oes importantes, escondidas entre grandes volumes de dados. Outro aspeto relevante ´e que a quantidade de conhecimento dispon´ıvel sobre determinadas tarefas tende a ser cada vez maior, dificultando a sua codifica¸c˜ao expl´ıcita por seres humanos. Existe um fluxo constante de novos eventos no mundo e torna-se impratic´avel ajustar os sistemas para adaptar ao novo conhecimento sempre que isso se justifique. Assim, os m´etodos de AM podem ser capazes de aprender gradualmente este conhecimento de forma a dar uma resposta mais eficiente ao problema, que de outra forma os humanos n˜ao conseguiriam dar. J´a existem muitas aplica¸c˜oes bem sucedidas nesse dom´ınio, das quais a mais significativa ´e a minera¸c˜ao de texto. Outras aplica¸c˜oes incluem sistemas que analisam os dados de vendas passadas para prever o comportamento do cliente, otimiza¸c˜ao de comportamento do robˆo para que uma tarefa possa ser conclu´ıda com recursos m´ınimos, e extra¸c˜ao de conhecimento a partir de dados bioinform´aticos.

(30)

Algoritmos de Aprendizagem M´aquina

As pessoas s˜ao frequentemente propensas a cometer erros durante a an´alise ou, possivel-mente, ao tentar estabelecer rela¸c˜oes entre v´arias caracter´ısticas, o que torna dif´ıcil encontrar solu¸c˜oes para determinados problemas. Algoritmos Aprendizagem M´aquina podem ser apli-cados com sucesso para estes problemas, melhorando a eficiˆencia dos sistemas. Atualmente, esses algoritmos s˜ao usados em muitos dom´ınios; cada um com m´etricas de desempenho di-ferentes. Por exemplo Precision/Recall s˜ao usadas na recupera¸c˜ao de informa¸c˜ao, enquanto Lift [20] ´e apropriado para algumas tarefas de marketing. As diferentes m´etricas de desem-penho medem diferentes tradeoffs nas previs˜oes feitas por um classificador, e ´e poss´ıvel que os m´etodos de aprendizagem autom´atica tenham um bom desempenho numa m´etrica, mas noutras m´etricas n˜ao. Os algoritmos de aprendizagem autom´atica podem ser organizados de acordo com o resultado desejado do algoritmo.

Aprendizagem supervisionada

Nesta categoria a classifica¸c˜ao ´e vista como aprendizagem supervisionada a partir de exem-plos, isto ´e, os dados (observa¸c˜oes, medidas, etc) s˜ao classificados com classes pr´e-definidas. A aprendizagem supervisionada gera uma fun¸c˜ao que mapeia entradas e sa´ıdas desejadas (tamb´em chamado de rotulagem, porque s˜ao frequentemente fornecidas por especialistas hu-manos que anotam os dados de teste). Aprendizagem supervisionada pode ser estudada do ponto de vista probabil´ıstico. O Classificador Naive Bayes [21] (Naive Bayes classifier ) considera-se como parte dos classificadores probabil´ısticos e identifica o conceito adequado de uma instˆancia atrav´es do c´alculo da probabilidade de cada um dos poss´ıveis conceitos, tendo em conta o contexto em que ´e utilizado. ´E um classificador probabil´ıstico simples baseado na aplica¸c˜ao de teorema de Bayes, com fortes premissas de independˆencia.

A aplica¸c˜ao de algoritmos de aprendizagem supervisionada consiste em diversos passos, sendo o primeiro a recolha de conjunto dados de teste. Para essa tarefa o m´etodo mais simples ´e o de “for¸ca bruta”, cujo objetivo ´e analisar tudo que estiver dispon´ıvel na esperan¸ca de que recursos corretos possam ser isolados. No entanto, um conjunto de dados obtidos pelo m´etodo de “for¸ca bruta”n˜ao ´e adequado para indu¸c˜ao. Ele cont´em, na maioria dos casos, ru´ıdo e falta de valores de recursos e, portanto, requere pr´e-processamento significativo.

Aprendizagem n˜ao supervisionada (clustering )

Na aprendizagem n˜ao supervisionada as classes de classifica¸c˜ao dos dados s˜ao desconhe-cidas, e por isso a tarefa passa por estabelecer a existˆencia de classes ou clusters (agrupa-mentos) nos dados, tendo em conta um conjunto de dados. Os algoritmos n˜ao supervisionado simplesmente recebem dados de entradas, mas n˜ao obtˆem nem sa´ıdas supervisionadas, nem recompensas de seu ambiente. Pode parecer um pouco estranho imaginar o que a m´aquina poderia aprender uma vez que n˜ao recebe qualquer feedback de seu ambiente. No entanto, ´e poss´ıvel desenvolver framework de aprendizagem n˜ao supervisionada baseada na ideia de que o objetivo da m´aquina ´e a constru¸c˜ao de representa¸c˜oes de entrada que podem ser utili-zadas para a tomada de decis˜ao, prevendo entradas futuras, de forma eficiente comunicando as entradas para outra m´aquina. Em certo sentido, a aprendizagem n˜ao supervisionada pode ser pensada como uma forma de encontrar padr˜oes nos dados, e dois exemplos cl´assicos de aprendizagem n˜ao supervisionada muito simples s˜ao clustering e redu¸c˜ao de dimensionalidade.

(31)

Aprendizagem de Refor¸co

Na aprendizagem por refor¸co a m´aquina interage com seu ambiente de forma a aprender como agir dada uma observa¸c˜ao do mundo. Toda a¸c˜ao tem algum impacto no ambiente, e o ambiente fornece feedback na forma de recompensas (ou puni¸c˜oes) que orienta o algoritmo de aprendizagem. O objetivo da m´aquina ´e aprender a agir de uma maneira que maximize as recompensas futuras que receber´a (ou minimizar as puni¸c˜oes) durante o seu tempo de vida [22]. Aprendizagem por Refor¸co est´a intimamente relacionado com os campos da teoria da decis˜ao (em estat´ıstica e gest˜ao de ciˆencia), e teoria de controlo (em engenharia). Os problemas fundamentais estudados nestes campos s˜ao muitas vezes formalmente equivalente, e as solu¸c˜oes s˜ao a mesma, embora os diferentes aspetos do problema e solu¸c˜ao s˜ao geralmente enfatizado.

2.2

Desambigua¸

ao de sentido de palavras

Algumas palavras tˆem m´ultiplos sentidos e na comunica¸c˜ao humana a determina¸c˜ao do sentido correto de uma palavra num texto ou conversa¸c˜ao ´e uma tarefa constante e trivial que raramente causa problemas. J´a para o computador, esse problema torna-se numa enor-me dificuldade, ainda que as palavras sejam ´obvias para um humano. Essa dificuldade por parte do computador deve-se ao facto das m´aquinas interpretarem texto como um conjunto de palavras sem qualquer significado e/ou valor. Assim, para conseguir a compreens˜ao e in-terpreta¸c˜ao adequada do informa¸c˜ao ´e essencial analisar com detalhe cada palavra de forma a obter o sentido apropriado. ´E por este motivo que a desambigua¸c˜ao de sentido de palavra, cujo tarefa ´e identificar de forma autom´atica o correto sentido (ou conceito) de uma palavra amb´ıgua, assume um papel de relevo dentro do PLN.

Recupera¸c˜ao de Informa¸c˜ao ´e a tarefa de indexa¸c˜ao e busca de dados, e nesse processo, os documentos precisam ser devidamente indexados com base no conceito das palavras nos documentos, em vez da pr´opria palavra, de forma que documentos apropriados sejam retor-nados. A tarefa de mapeamento de conceitos ´e feita atrav´es do mapeamento de palavras nos documentos ao seu conceito adequado na base de dados. Por isso, e a fim de fazer isso com precis˜ao, o conceito adequado deve ser identificado.

Algum trabalho tem sido feito, especificamente utilizando a informa¸c˜ao biom´edica para desambiguar palavras em artigos biom´edicos. Mcinnes propˆos, na sua tese de doutoramento [23], dois m´etodos que calculam a probabilidade de uma palavra estar no mesmo contexto da palavra-alvo de forma a determinar o conceito adequado. A probabilidade ´e obtida atrav´es da contagem do n´umero de vezes que uma palavra ocorre com a palavra-alvo no mesmo trecho de texto. Aplicar estes m´etodos ao texto biom´edico requer apenas um texto de referˆencia na ´

area biom´edica para determinar a probabilidade de termos biom´edicos ocorrerem com outros termos biom´edicos.

Como referimos em 2.1.3, UMLS ´e uma estrutura que integra conceitos de fontes bio-m´edicas e cl´ınicas numa ´unica base de dados contendo informa¸c˜oes sint´aticas e semˆanticas sobre esses conceitos. No UMLS, os conceitos associados as palavras e termos s˜ao enume-rados atrav´es de identificadores exclusivos denominados Concept Unique Identifiers(CUI), e dois m´etodos foram desenvolvidos com base nesses identificadores para resolver o problema

(32)

de termos amb´ıguos, tendo a particular vantagem de poder ser utilizado em qualquer texto biom´edico [23]. Um dos m´etodos utiliza o CUI como recurso para um m´etodo de apren-dizagem supervisionada para eliminar a ambiguidade, enquanto que o outro, baseado em conhecimento, faz uso da informa¸c˜ao UMLS para representar o contexto de poss´ıveis sentidos de uma palavra. No UMLS esses identificadores s˜ao mapeados considerando os termos, em vez de palavras individuais. A elimina¸c˜ao de ambiguidades em UMLS Metathesaurus ´e uma preocupa¸c˜ao nossa para este trabalho porque, independentemente do tipo, as ambiguidades devem ser resolvidas, especialmente se os conceitos UMLS, obtidos pelo algoritmos de mapea-mento, forem usado como suporte ao processamento adicional de texto de entrada, que ´e o que acontece no nosso caso, pois utilizamos um dicion´arios de termos UMLS para especificar o texto a ser indexado.

O UMLS Metathesaurus cont´em uma quantidade significativa de ambiguidade agrupadas em algumas classes [14]:

• Ambiguidade de Contexto. Surge, normalmente, a partir de termos que exigem contexto dentro do seu vocabul´ario, a fim de ser devidamente compreendido. Muitos dos problemas relacionados com ambiguidade foram corrigidos suprimindo termos errados do conceito, mas os problemas continuam a aparecer `a medida que o Metathesaurus cresce.

• Ambiguidade de Generaliza¸c˜ao. Tal como a ambiguidade de contexto, a ambigui-dade de generaliza¸c˜ao pertence a classe de falsa ambiguidade, e ´e causada por agrupa-mento de v´arios conceitos num conjunto, utilizando um termo mais geral.

• Ambiguidade de Abreviatura. Esta grande classe de ambiguidade ´e causada por situa¸c˜oes em que diferentes conceitos tˆem a mesma sigla (ou abreviatura). Por exemplo, “focal glomerular sclerosis”, “focal glomerulosclerosis”, “focal segmental glomeruloscle-rosi” e “focal sclerosing glomerulonephrit” todos tˆem a mesma abreviatura “FSGS” ou “fsgs”. Embora essa classe represente ambiguidade verdadeira no sentido estrito, a mesma ´e desencorajada nas situa¸c˜oes de processamento de elevada quantidade de texto, especialmente aqueles em que os autores definem as abreviaturas que usam.

No sistema proposto por [24] o processo de WSD ´e impulsionado por regras associadas aos tipos semˆanticos. Cada tipo semˆantico tem associado a si uma regra de desambigua¸c˜ao que especifica a evidˆencia de que suporta a sele¸c˜ao deste tipo semˆantico. O princ´ıpio geral que suporta a resolu¸c˜ao dessa ambiguidade ´e a no¸c˜ao de que um determinado sentido de um termo ocorre num contexto definido. Isto ´e, ap´os a sele¸c˜ao de um tipo semˆantico, o conceito UMLS associado a esse tipo semˆantico ´e selecionado e todos os restantes candidatos s˜ao rejeitados. Uma caracter´ıstica importante dessa abordagem ´e o facto da mesma ser probabil´ıstica, ou seja, a aplica¸c˜ao bem sucedida de uma regra a favor de um determinado tipo semˆantico indica que existe uma probabilidade da ambiguidade ser resolvida a favor desse tipo semˆantico.

2.2.1 Metodologia B´asica

No WSD, o contexto s˜ao as palavras que se encontram no lado direito e esquerdo da palavra amb´ıgua num texto. As palavras de contexto auxiliam os m´etodos de WSD a encontrar rela¸c˜oes ou padr˜oes que caraterizam o sentido de uma palavra a desambiguar.

(33)

Por se tratar de um fen´omeno dif´ıcil de ser tratado ´e de vital importˆancia entender como outros componentes no PLN interagem com o l´exico, e a partir dessa informa¸c˜ao tornar poss´ıvel a elimina¸c˜ao da ambiguidade determinando a semˆantica das palavras num contexto. Segundo [23] os m´etodos utilizados na tarefa de WSD podem ser agrupados em trˆes grandes grupos de m´etodos de Machine Learning:

• M´etodos baseados em conhecimento • M´etodos de Aprendizagem Supervisionada • M´etodos Aprendizagem n˜ao Supervisionada M´etodos baseados em conhecimento

Para essa disserta¸c˜ao, esse ´e o m´etodo que mais nos interessa pelo facto do mesmo utilizar recursos externos, tais como, dicion´arios, Thesaurus ou mesmo textos sem qualquer tipo de anota¸c˜ao, para eliminar ambiguidades de conceitos. A grande vantagem desse m´etodo em rela¸c˜ao aos outros dois mencionados, ´e que n˜ao existe a necessidade de se ter dados de teste para cada palavra amb´ıgua, permitido dessa forma que o sistema possa eliminar as ambiguidades em texto “corrido”. Por outro lado, tem a desvantagem de ser um m´etodo dependente da l´ıngua e dom´ınio, pois ´e necess´ario uma fonte de conhecimento na l´ıngua e dom´ınio apropriado.

M´etodos de Aprendizagem Supervisionada

Estes m´etodos eliminam as ambiguidades recorrendo `as informa¸c˜oes obtidas automatica-mente a partir de um corpus manualautomatica-mente anotado. Normalautomatica-mente, tˆem uma fase de treino onde o algoritmo aprende a reconhecer o contexto em torno do conceito, e ap´os o treino o modelo de WSD ´e gerado e pode ser usado para resolver novos casos de ambiguidades que, no entanto, apare¸cam. A principal vantagem desses m´etodos ´e o facto de que os sentidos podem ser estabelecidos, previamente, fornecendo uma anota¸c˜ao mais adequada e refinada.

Essa caracter´ıstica faz com que os m´etodos supervisionados apresentem, geralmente, um melhor desempenho na precis˜ao da elimina¸c˜ao de ambiguidades, tanto para um pequeno grupo de palavras, como para todas as palavras do texto. No entanto, a necessidade de haver dados de teste, manualmente anotados, para cada palavra amb´ıgua constitui uma desvantagem, uma vez que se trata de um trabalho intensivo e um processo bastante demorado, aspetos que acabam, inevitavelmente, por restringir a abrangˆencia de muitos trabalhos a poucas palavras, porque n˜ao h´a, ainda, corpus representativos com anota¸c˜oes de sentido, que possam ser utilizados de forma generalista para o WSD, uma vez que o n´ıvel de refinamento de anota¸c˜oes exigida depende da aplica¸c˜ao e do dom´ınio [25].

M´etodos de Aprendizagem n˜ao Supervisionada

Ao contr´ario dos m´etodos supervisionados, os m´etodos n˜ao supervisionados identificam padr˜oes nos conjuntos de dados sem benef´ıcio dos dados anotados, ou seja, confiam nos dados de testes n˜ao anotados. Estes padr˜oes s˜ao utilizados para agrupar dados com caracter´ısticas similares. Ou seja, agrupam palavras tendo como referˆencia a similaridade do contexto (cada

(34)

grupo representa um conceito), sem, no entanto, ter um conjunto pr´e-determinado de cate-gorias. Essa caracter´ıstica baseia-se na premissa de que palavras com significado similares tendem a ter contexto similares. Em geral, este m´etodo favorece a descrimina¸c˜ao do sentido de palavra em vez de WSD, pois possui apenas um conjunto de dados n˜ao anotados como ´

unico recurso. Dito de outra maneira, o m´etodo procura identificar grupos de conceitos simi-lares e, na presen¸ca de uma nova palavra, verificar em que grupo ela pertence.

Dessa forma, a grande vantagem dos m´etodos de aprendizagem n˜ao supervisionada ´e o facto de n˜ao ser necess´ario uma grande quantidade de dados de teste, anotados manualmente, porque esse trabalho ´e feito usando algoritmos de clustering em vez de anotadores humanos como nos m´etodos supervisionados. Outro aspeto vantajoso desse m´etodo ´e o facto de ser independente da l´ıngua e dom´ınio de interesse. Por outro lado, s˜ao necess´arios dados de teste para cada palavra que ´e preciso desambiguar, e, em termos de precis˜ao na desambigua¸c˜ao de sentido de palavras, este m´etodo n˜ao consegue resultados t˜ao bons como nos m´etodos supervisionados.

2.2.2 Desambigua¸c˜ao de abreviaturas

A resolu¸c˜ao de uma abreviatura num documento consiste em obter o seu sentido para o contexto em que est´a a ser utilizado. Este ´e um aspeto muito importante a ter em considera¸c˜ao porque o seu devido tratamento melhora a precis˜ao dos sistemas de RI. As abreviaturas (ou siglas ou acr´onimos) podem ser distinguidas como globais e locais [26], sendo que as globais aparecem nos documentos sem a indica¸c˜ao expl´ıcita da sua forma extensa, enquanto que as locais aparecem acompanhadas da sua forma extensa. As abreviaturas globais s˜ao geralmente amb´ıguas, o que significa que tˆem diferentes sentidos em documentos diferentes. Em particu-lar, 80% das abreviaturas definidas no UMLS tˆem ocorrˆencias amb´ıguas no Medline.

Muitos erros na identifica¸c˜ao de nomes de entidade s˜ao explicados por varia¸c˜oes obser-vadas nas abreviaturas globais. Por isso, a resolu¸c˜ao de abreviaturas locais e globais para as suas formas extensa ´e um passo importante para a melhoria da qualidade de extra¸c˜ao de informa¸c˜ao e sistemas de recupera¸c˜ao de informa¸c˜ao, sendo que a etapa mais problem´atica na resolu¸c˜ao da abreviatura ´e a recupera¸c˜ao do sentido de uma abreviatura global que ´e amb´ıgua. A desambigua¸c˜ao de uma abreviatura contida num documento consiste em calcular o seu contexto no documento e recuperar o sentido mais prov´avel, dado o contexto.

Entre os trabalhos relacionados com abreviaturas, destaca-se o de Rebholz-Schuhmann et al. [26] que apresentou t´ecnicas distintas para a resolu¸c˜ao de abreviaturas globais e locais. Quando uma abreviatura ´e identificada, ´e realizada uma pesquisa eficiente para todas as formas poss´ıveis que corresponde a abreviatura localizada no documento. Se for encontrada uma correspondˆencia, a sua forma mais frequente ´e mantida. Se nenhuma forma extensa da abreviatura puder ser recuperada a partir do documento, ´e realiza uma verifica¸c˜ao no dicion´ario. Se apenas um sentido ´e encontrado, ent˜ao a abreviatura n˜ao ´e amb´ıgua e a forma mais frequente do sentido original ´e mantida. Caso contr´ario, se v´arios sentidos para a mesma abreviatura forem encontrados, ent˜ao ´e aplicado o processo de desambigua¸c˜ao.

(35)

Para as abreviaturas locais utiliza um dicion´ario de abreviaturas onde se procura a sua forma extensa que ocorre com mais frequente nos textos, enquanto que no caso de abreviaturas globais amb´ıguas ´e utilizado um processo de WSD que consiste no uso do contexto para identificar o significado adequado da abreviatura. ´E um processo baseado num dicion´ario de alta qualidade, onde n˜ao ´e tomado em considera¸c˜ao os pares abreviatura/sentido que raramente ocorrem, sem, no entanto, alterar a natureza do problema de desambigua¸c˜ao. Os termos de contexto utilizados nessa abordagem s˜ao extra´ıdos com recurso ao uso do m´etodo “C-value” que combina aspetos lingu´ısticos e estat´ısticos dos termos [27]. De acordo com esse m´etodo, apenas as palavras que contˆem termos com pontua¸c˜ao (score) elevada s˜ao mantidas para representar um documento.

2.3

Ferramentas e sistemas de identifica¸

ao de coocorrˆ

encia

No conceito de identifica¸c˜ao de doen¸cas, referenciam-se alguns trabalhos cujo objetivo ´e a identifica¸c˜ao de rela¸c˜ao entre doen¸cas e genes/prote´ınas. Craven [28] utiliza m´etodos es-tat´ısticos e AM recorrendo ao OMIM (Online Mendelian Inheritance in Man), base de dados baseada em informa¸c˜oes geradas manualmente de artigos cient´ıficos, para induzir rotinas para extrair rela¸c˜oes de doen¸cas de forma autom´atica, enquanto que Chun [29] usa t´ecnicas basea-das nos recursos UMLS identificando rela¸c˜oes de doen¸cas e genes/prete´ınas atrav´es de uma sele¸c˜ao aleat´oria de um subconjunto de registos MEDLINE. J´a referimos que o m´etodo de dicion´ario produz grandes quantidades de falsos positivos. Por esse motivo, desenvolveram um m´etodo de Aprendizagem M´aquina baseada em reconhecimento de nomes de entidades para diminuir o reconhecimento de falsas rela¸c˜oes.

O MetaMap [16] ´e um programa bastante utilizado no dominio biom´edico para descobrir conceitos UMLS referidos nos textos. Utiliza uma abordagem baseada no conhecimento inten-sivo, PLN e t´ecnicas de lingu´ıstica computacional, e tanto pode ser aplicado para RI como para aplica¸c˜oes de minera¸c˜ao de dados. MetaMap foi originalmente desenvolvido para melhorar a recupera¸c˜ao de texto biom´edico, especificamente a recupera¸c˜ao de cita¸c˜oes da MEDLINE, mas a sua vers˜ao preliminar carecia de melhorias, nomeadamente ao n´ıvel da dete¸c˜ao de texto como nomes qu´ımicos, siglas e abreviaturas, quantidades num´ericas ou constru¸c˜oes similares e resolu¸c˜ao de ambiguidades. No entanto, o sistema conheceu alguns avan¸cos significativos como por exemplo, a dete¸c˜ao de abreviaturas [30].

MetaMap possui uma s´erie de pontos fortes e fracos. Entre os seus pontos fortes est˜ao o seu rigor, caraterizado pela sua forma agressiva de gerar variantes de palavras, e sua aborda-gem baseada em princ´ıpios lingu´ısticos para an´alises l´exica e sint´atica, bem como sua m´etrica de avalia¸c˜ao para contar e classificar conceitos. Um dos pontos fracos do MetaMap ´e que pode ser aplicado, apenas, ao texto em Inglˆes. A sua natureza centrada no Inglˆes ´e evidente em toda a sua execu¸c˜ao, n˜ao apenas nos seus algoritmos lexicais e sint´aticos. Outra consequˆencia negativa do Metamap ´e que ´e relativamente lento.

Para al´em desses trabalhos, existem diversos recursos terminol´ogicos que est˜ao dispon´ıveis para fornecer termos de doen¸cas. Os mais usuais s˜ao o Medical Subject Headings(MeSH) , o National Cancer Institute (NCI) thesaurus e Snomed CT . Tendo em conta a vasta inves-tiga¸c˜ao j´a existente sobre a minera¸c˜ao de texto em artigos biom´edicos, ´e de prever que j´a

(36)

existam in´umeras aplica¸c˜oes que ajudam os utilizadores a procurar rela¸c˜oes entre conceitos. Iremos abordar alguns sistemas cujas funcionalidades s˜ao similares ao trabalho que propomos realizar.

O FACTA [31] ´e um motor de pesquisa que permite procurar rela¸c˜oes entre conceitos biom´edicos no resumos da MEDLINE. Este sistema recupera os conceitos biom´edicos atrav´es de querys definidas pelo utilizadores e os resultados s˜ao apresentados em forma tabular, clas-sificados com base em estat´ısticas de coocorrˆencia. Essa classifica¸c˜ao pode tamb´em ser feita com aux´ılio de uma medida de associa¸c˜ao [32], Mutual Information, de forma a ter-se uma percep¸c˜ao mais clara do quanto os valores observados se desviam do valor esperado. FACTA diferencia de outros sistemas similares (XplorMed [33], MedlineR [34], LitMiner [35]) prin-cipalmente pela sua capacidade de dar resposta em tempo real apesar de aceitar consultas flex´ıveis definidas pelo utilizador. Alguns sistemas cujo tempo de resposta s˜ao elevados resol-vem esse problema limitando o n´umero de documentos a ser analisados (no caso de XplorMed, por exemplo, o n´umero m´aximo ´e de 500 documentos), no entanto, tal limita¸c˜ao conduz a uma deteriora¸c˜ao significativa dos resultados.

O problema de ambiguidade de termos ´e um dos maiores desafios nos sistemas de mi-nera¸c˜ao de texto, e FACTA n˜ao ´e exce¸c˜ao. Apesar de sofrer algumas atualiza¸c˜oes [36](passou a ser designidado FACTA+) e novas funcionalidades terem sido implementadas, o problema de ambiguidade de semˆantica dos termos persiste. Para minimizar o problema de ambiguidade de abreviaturas/acr´onimos foi utilizada um m´etodo simples baseado em regras, mas o pro-blema de ambiguidade com termos como nome de prote´ına continua por resolver. Das novas carater´ısticas, adicionadas ao FACTA, talvez a que merece maior aten¸c˜ao ´e a descoberta de rela¸c˜oes indiretas entre conceitos, atrav´es da combina¸c˜ao de duas rela¸c˜oes conhecidas, obtidas de estat´ısticas de coocorrˆencia diretas. Os conceitos-alvo (conceitos que est˜ao indiretamente associados com a consulta atrav´es de conceitos-pivˆo) s˜ao recuperados, considerando todos os poss´ıveis conceitos-pivˆo (conceitos que est˜ao diretamente associados com a consulta) de uma determinada classe. A resposta em tempo real do FACTA deve-se ao seu mecanismo de indexa¸c˜ao, que consiste na constru¸c˜ao, em offline, de dois ´ındices - um para indexar as palavras que ocorrem no documento e outro para indexar conceitos mencionados no mesmo documento. Os dois ´ındices s˜ao armazenados em mem´oria permitindo obter respostas r´apidas mesmo quando o n´umero de documentos a que corresponde a pesquisa ´e grande.

Tal como FACTA, o LitMiner [37] tamb´em retorna o resultado da pesquisa imediatamente, e isso deve-se ao pr´e-processamento de estat´ısticas de associa¸c˜ao entre conceitos, pr´oprio do sistema, mas n˜ao aceitam consultas flex´ıveis (por exemplo, palavras-chave livres ou com-bina¸c˜oes booleanas de palavras-chave/conceitos), e por isso, os conceitos que podem ser es-pecificados pela consulta do utilizador s˜ao limitadas `aquelas pr´e-definidas. Os resultados s˜ao baseados na an´alise de coocorrˆencia de termos chaves presentes no abstract.

Anni [38] ´e uma aplica¸c˜ao java Cliente-Servidor que fornece uma interface baseada na ontologia para a MEDLINE. Anni consegue encontrar conceitos que tˆem muitos conceitos interm´edios em comum, permitindo ao utilizador descobrir conceitos que n˜ao coocorrem dire-tamente com o conceito de partida. Ao contr´ario de FACTA, o conceito de partida ´e definido como uma combina¸c˜ao de conceitos predefinidos fornecidos pelo sistema, isto ´e, palavras-chave livres n˜ao podem ser utilizadas para definir um conceito.

(37)

Arrowsmith [39] ´e outra ferramenta de gera¸c˜ao de hip´oteses baseada em literatura pro-jetada para encontrar conceitos ou termos que interligam dois conceitos distintos. De modo mais geral, permite aos utilizadores identificar liga¸c˜oes biologicamente significativas entre quaisquer dois conjuntos de artigos A e C em PubMed, mesmo quando estes n˜ao partilham artigos ou autores em comum e representam temas ou disciplinas diferentes.

A aplica¸c˜ao web PolySearch [6] explora diversas t´ecnicas de minera¸c˜ao de texto e RI para reconhecer, selecionar e classificar informa¸c˜ao. Utiliza o m´etodo do dicion´ario e a informa¸c˜ao ´e classificada em diferentes n´ıveis do documento(abstrat, paragrafo ou frases). A sua grande vantagem ´e suportar uma grande variedade de queries e permitir pesquisas de diferentes ti-pos de fontes de informa¸c˜ao. Como qualquer uma outra aplica¸c˜ao, o PolySearch tem as suas limita¸c˜oes, e a que mais salienta ´e o tempo que leva a processar os resultados, principalmente quando as consultas s˜ao complexas e exclusivas. Para as consultas mais comuns os resultados s˜ao devolvidos quase instantaneamente, isto porque todas as consultas s˜ao armazenadas em caches.

O sistema LAITOR(Literature Assistant for Identification of Terms co-Occurrences and Relationships) [40] faz a an´alise de coocorrˆencia filtrando conceitos biom´edicos utilizando dicion´arios personalizados, e est´a otimizado para analisar resumos de artigos cient´ıficos que contenham tags. Utilizam algumas regras simples adicionais na an´alise da coocorrˆencia, como por exemplo, tomam em considera¸c˜ao apenas os termos presentes na mesma frase do resumo. Estas regras permitem filtrar pares de entidades biom´edicas que ocorrem em algumas estru-turas de frase. Tal como em outros sistemas mencionados, o LAITOR tamb´em enfrenta o problema de ambiguidades de nomes. Para lidar com o problema de ambiguidade de nomes o LAITOR utiliza uma estrat´egia de taxonomia de bases de dados limitando o n´umero de entradas usadas, o que reduz a possibilidade de inclus˜ao de nomes que podem causar ambi-guidades entre termos.

Dado que existem termos que ocorrem geralmente em mais de um organismo, ou em diferentes prote´ınas a partir do mesmo organismo que partilha o mesmo nome ou sin´onimos, o LAITOR utiliza um ficheiro de tags onde os termos amb´ıguos identificados s˜ao normalizados no dicion´ario. Assim, termos que correspondem a m´ultiplas prote´ınas, por exemplo, s˜ao marcados no resultado, alertando os utilizadores para a possibilidade de serem termos d´ubios.

2.4

Sum´

ario

Neste cap´ıtulo foi feito uma an´alise comparativa e cr´ıtica dos m´etodos e ferramentas existentes, semelhantes a que propomos realizar. Foi tamb´em apresentado um conjunto de t´ecnicas e m´etodos de minera¸c˜ao de texto e alguns conceitos relacionados com a desambi-gua¸c˜ao de termos. Podemos concluir que, embora seja uma boa pr´atica, a minera¸c˜ao de texto tem as suas limita¸c˜oes. N˜ao existe um padr˜ao que possa ser usado na prepara¸c˜ao e interpreta¸c˜ao de todo e qualquer tipo de texto, sendo que a informa¸c˜ao de que muitas vezes precisamos est˜ao em recursos textuais (dados n˜ao estruturados).

(38)
(39)

Cap´ıtulo 3

An´

alise de Requisitos

Como primeiro passo de qualquer processo de desenvolvimento de software ´e necess´ario efetuar uma boa an´alise de requisitos, estabelecendo um conjunto de objetivos gerais que o sistema deve cumprir. Neste cap´ıtulo s˜ao descritas as funcionalidades que foram identificadas como necess´arias a desenvolver, de uma forma detalhada.

3.1

Vis˜

ao Geral do Sistema

A aplica¸c˜ao tem como principal requisito ser um sistema de identifica¸c˜ao de coocorrˆencias entre termos, atrav´es de t´ecnicas de indexa¸c˜ao e pesquisa de conceitos biom´edicos, mais dire-cionados para as doen¸cas neurodegenerativas. Doen¸ca neurodegenerativa ´e um termo gen´erico para uma s´erie de condi¸c˜oes que afetam principalmente os neur´onios no c´erebro humano. As doen¸cas neurodegenerativas s˜ao doen¸cas incur´aveis e debilitantes que resulta na destrui¸c˜ao progressiva e irrevers´ıvel de neur´onios, as c´elulas respons´aveis pelas fun¸c˜oes do Sistema Ner-voso, conduzindo a um processo de perda gradativa de fun¸c˜oes motoras, fisiol´ogicas e/ou mental, por parte do paciente [41]. Exemplos de doen¸cas neurodegenerativas incluem a de Parkinson, doen¸ca de Alzheimer e doen¸ca de Huntington. Uma vez que existe muita inves-tiga¸c˜ao nesse ramo da biomedicina, ´e nossa pretens˜ao colaborar desenvolvendo um sistema que auxilie os investigadores nos seus trabalhos di´arios, de forma a diminuir a quantidades de artigos cient´ıficos lidos, que ´e enorme. Pretendemos que seja um sistema robusto e sufi-cientemente inteligente a fim de conseguir resolver poss´ıveis casos de ambiguidade de termos, e devolver ao utilizador o resultado, o mais aproximado poss´ıvel, dentro do contexto, da pes-quisa efetuada.

Existe um conjunto de requisitos (funcionais e n˜ao funcionais) essenciais que devem ter tidos em considera¸c˜ao na implementa¸c˜ao do sistema em causa, nomeadamente:

• Desempenho - O sistema ter´a de ter uma boa resposta para que nem a sua utiliza¸c˜ao nem o trabalho do utilizador sejam prejudicados;

• Escalabilidade - A adi¸c˜ao de funcionalidades e informa¸c˜ao ter´a de ser feita de forma acess´ıvel e o comportamento do sistema n˜ao dever´a ressentir dessa evolu¸c˜ao;

• Usabilidade - A f´acil utiliza¸c˜ao do sistema, baseada numa interface web simples e intuitiva, ser´a sempre um objetivo a atingir.

Referências

Documentos relacionados