extração e mineração de informação independente de ... · aos colegas de mestrado ernesto...

93
U NIVERSIDADE F EDERAL DE G OIÁS I NSTITUTO DE I NFORMÁTICA J ULIO C ESAR BATISTA P IRES Extração e Mineração de Informação Independente de Domínios da Web na Língua Portuguesa Goiânia 2015

Upload: others

Post on 05-Nov-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICA

JULIO CESAR BATISTA PIRES

Extração e Mineração de InformaçãoIndependente de Domínios da Web na

Língua Portuguesa

Goiânia2015

UNIVERSIDADE FEDERAL DE GOIÁS

INSTITUTO DE INFORMÁTICA

AUTORIZAÇÃO PARA PUBLICAÇÃO DE DISSERTAÇÃO

EM FORMATO ELETRÔNICO

Na qualidade de titular dos direitos de autor, AUTORIZO o Instituto de Infor-mática da Universidade Federal de Goiás – UFG a reproduzir, inclusive em outro formatoou mídia e através de armazenamento permanente ou temporário, bem como a publicar narede mundial de computadores (Internet) e na biblioteca virtual da UFG, entendendo-seos termos “reproduzir” e “publicar” conforme definições dos incisos VI e I, respectiva-mente, do artigo 5o da Lei no 9610/98 de 10/02/1998, a obra abaixo especificada, sem queme seja devido pagamento a título de direitos autorais, desde que a reprodução e/ou publi-cação tenham a finalidade exclusiva de uso por quem a consulta, e a título de divulgaçãoda produção acadêmica gerada pela Universidade, a partir desta data.

Título: Extração e Mineração de Informação Independente de Domínios da Web naLíngua Portuguesa

Autor(a): Julio Cesar Batista Pires

Goiânia, 08 de Maio de 2015.

Julio Cesar Batista Pires – Autor

Dr. Cedric Luiz de Carvalho – Orientador

JULIO CESAR BATISTA PIRES

Extração e Mineração de InformaçãoIndependente de Domínios da Web na

Língua Portuguesa

Dissertação apresentada ao Programa de Pós–Graduação doInstituto de Informática da Universidade Federal de Goiás,como requisito parcial para obtenção do título de Mestre emCiência da Computação.

Área de concentração: Ciência da Computação.

Orientador: Prof. Dr. Cedric Luiz de Carvalho

Goiânia2015

JULIO CESAR BATISTA PIRES

Extração e Mineração de InformaçãoIndependente de Domínios da Web na

Língua Portuguesa

Dissertação defendida no Programa de Pós–Graduação do Instituto deInformática da Universidade Federal de Goiás como requisito parcialpara obtenção do título de Mestre em Ciência da Computação, aprovadaem 08 de Maio de 2015, pela Banca Examinadora constituída pelosprofessores:

Prof. Dr. Cedric Luiz de CarvalhoInstituto de Informática – UFG

Presidente da Banca

Profa. Dra. Ana Paula Laboissière AmbrósioInstituto de Informática – UFG

Profa. Renata Vieira, Ph.D.Faculdade de Informática – PUCRS

Todos os direitos reservados. É proibida a reprodução total ou parcial dotrabalho sem autorização da universidade, do autor e do orientador(a).

Julio Cesar Batista Pires

Graduou-se em Tecnologia em Análise e Desenvolvimento de Sistemas(2012) pelo Instituto Federal de Educação, Ciência e Tecnologia Goiano –IF Goiano. Durante toda a sua graduação foi monitor de diversas discipli-nas de programação. Também fez projeto de iniciação científica, o qual gerouo sistema Backlog, um software educativo em que os alunos aprendiam ofuncionamento de uma cadeia produtiva de modo cooperativo. O programaé um sistema distribuído que utiliza programação paralela e possui interfa-ces ricas. Tal projeto ainda gerou dois artigos publicados em congressos comQualis B4 e mais alguns resumos expandidos. Durante o mestrado na UFG– Universidade Federal de Goiás, foi bolsista da CAPES - Coordenação deAperfeiçoamento de Pessoal de Nível Superior e desenvolveu pesquisa na li-nha da Inteligência Computacional, mais especificamente em Web Semântica,Processamento de Linguagem Natural e Mineração de Dados. Ainda realizouestágio docência na UFG, em uma disciplina de programação para o curso deEngenharia Elétrica. Também possui formação técnica em Informática (2009)pelo IF Goiano. Atualmente é professor do ensino básico, técnico e tecnoló-gico do IF Goiano e aluno especial do programa de doutorado da UFG. Possuiinteresse na Inteligência Computacional em geral, no Processamento Paraleloe Distribuído e no Desenvolvimento de Jogos Eletrônicos.

Dedico este trabalho à minha família, principalmente aos meus pais, Bosco eDivina, exemplos de vida que sempre se preocuparam com a minha educação.

Agradecimentos

Agradeço primeiramente a Deus, por mais esta conquista e por todas as oportu-nidades que me foram dadas, graças à sua benção. Também agradeço aos meus pais, meuirmão e minha noiva que sempre me apoiaram para nunca desistir nos tortuosos caminhosda vida e pela compreensão por dedicar tantas horas ao presente trabalho.

Além dos apoios citados, a realização deste trabalho contou com várias colabo-rações, às quais fico bastante grato. Deixo meus agradecimentos a seguir:

À Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) pelabolsa até quando eu comecei a trabalhar. Essa bolsa me permitiu dedicação exclusiva aomestrado enquanto eu cursava as disciplinas.

Ao professor Cedric Luiz de Carvalho, pelas orientações, considerações, corre-ções e críticas construtivas referentes ao trabalho.

Ao professor americano, Jeffrey Van Baalen da Universidade de Wyoming, pelacolaboração e sugestão de ideias fundamentais para o trabalho.

Aos professores Ana Paula Ambrósio, Humberto Longo e Wellington Martins,com os quais tive maior contato no mestrado e puderam contribuir de várias formas.Agradeço também a todos os professores do mestrado.

Ao amigo Cleon Xavier pelas sinceras sugestões e ajuda na revisão dos resulta-dos deste trabalho.

Aos colegas de mestrado Ernesto Fonseca, Jáderson Cruz, Marcos Alves,Matheus Ullmann, Norton Guimarães, e todos os demais que estavam presentes, ajuda-vam com dúvidas e sugeriam ideias.

Ao professor Etzioni e ao aluno Fader do Centro de Turing da Universidade deWashington, que responderam algumas dúvidas de uma forma bastante encorajadora.

Aos demais, amigos, colegas e familiares que de alguma forma contribuíram paraa realização do presente trabalho.

Can machines think? [77] – Podem as máquinas pensar?

Alan M. Turing,pai da Computação e precursor da Inteligência Artificial, propôs essa

questão em seu famoso artigo de 1950, Computing Machinery andIntelligence.

Resumo

Pires, Julio C. B.. Extração e Mineração de Informação Independente deDomínios da Web na Língua Portuguesa. Goiânia, 2015. 91p. Dissertação deMestrado. Instituto de Informática, Universidade Federal de Goiás.

Muitas pessoas estão constantemente conectadas na Web. Elas estão procurando por todotipo de coisa. A Web é uma enorme fonte de informação. Assim, as pessoas podemencontrar praticamente tudo que elas precisam. Entretanto, as informações da Web sãodesorganizadas e não possuem uma estrutura formal. Isso dificulta o processamento dasmáquinas e consequentemente torna o acesso à informaçã mais difícil. Trazer estruturapara a Web pode ser um dos pontos chave para facilitar a busca e navegaçã dos usuários.Uma técnica recente, Extração de Informação Aberta, foi aplicada com sucesso paraextrair informação da Web. Essa técnica foi aplicada principalmente em páginas emInglês. Este trabalho é focado especificamente na extração de informação em Português.As técnicas usadas aqui também podem ser utilizadas para outras linguagens.

Palavras–chave

Web Semântica, Extração de Informação, Mineração de Dados.

Abstract

Pires, Julio C. B.. Mining and Extraction of Domain Independent Informa-tion in Portuguese.. Goiânia, 2015. 91p. MSc. Dissertation. Instituto de Infor-mática, Universidade Federal de Goiás.

Many people are constantly connected on the Web. They are looking for all kinds ofthings. The Web is a huge source of information. So, they can find almost everythingthey want. However, Web information is disorganized and have no formal structure. Thishampers machine processing and consequently makes information access more difficult.Bringing structure to the Web can be one of the key points for facilitating user searchingand navigation. A recent technique, Open Information Extraction, has been successfullyapplied to extract structured information from the Web. This technique has been mostlyapplied in pages written in English. This work is specifically focused on informationextraction for Portuguese. Techniques used here can be also used to other languages too.

Keywords

Semantic Web, Information Extraction, Data Mining.

Sumário

Lista de Figuras 11

Lista de Tabelas 12

Lista de Algoritmos 13

Lista de Códigos de Programas 14

1 Introdução 151.1 Motivação e Justificativas 191.2 Objetivos 211.3 Metodologia 221.4 Organização da Dissertação 23

2 Extração de Informação 252.1 Extração de Informação Clássica 25

2.1.1 Métricas de Extração 262.1.2 O que Pode ser Extraído 262.1.3 Trabalho Manual 272.1.4 Aprendizado 27

2.2 Extração de Informação Aberta 282.2.1 Objetivos Chave e Técnicas 292.2.2 Tuplas Relacionais 292.2.3 Funcionamento 292.2.4 Convencional vs. Aberta 30

2.3 Considerações 30

3 Trabalhos Relacionados 323.1 TextRunner 323.2 Wanderlust 333.3 WOE 343.4 ReVerb 35

3.4.1 Algoritmos de Extração 36Extração de Relação 36Extração de Argumentos 37

3.4.2 Exemplo de Extração 373.5 R2A2 383.6 OLLIE 383.7 KrakeN 39

3.8 ClausIE 403.9 CORE 403.10 DepOE 413.11 Discussão 41

4 Mineração das Triplas 444.1 Mineração de Dados 444.2 Mineração Web 45

4.2.1 Categorias de Mineração 464.2.2 Subtarefas de Mineração 47

4.3 Mineração Web Semântica 474.4 Mineração de Regras de Associação 484.5 Configurações de Mineração 504.6 Conclusões 51

5 Implementação do Extrator/Minerador 535.1 Extrator 53

5.1.1 Entrada 555.1.2 Pré-processador 555.1.3 Sentence Detector 565.1.4 Tokenizer 565.1.5 POS Tagger 57

Conversor de Etiquetas 585.1.6 Chunker 585.1.7 Extração, Restrições e Dicionário 615.1.8 Saída 61

5.2 Minerador 625.2.1 Descoberta de Recursos 625.2.2 Seleção de Informação 625.2.3 Montagem das Transações 645.2.4 Generalização 645.2.5 Análise 655.2.6 Novas Triplas 66

5.3 Aplicação das Triplas Semânticas 66

6 Experimentação e Avaliação dos Resultados 706.1 Análise dos Resultados 70

7 Considerações Finais 747.1 Principais Contribuições 757.2 Limitações e Trabalhos Futuros 76

Referências Bibliográficas 77

8 Apêndice de Sentenças 85

Lista de Figuras

5.1 Arquitetura do ReVerb Modificado. 545.2 Arquitetura do Minerador. 635.3 Principais Aplicações das Triplas Semânticas 675.4 Pesquisa no Google. 685.5 Pesquisa em um sistema de Pergunta-Resposta. 69

6.1 Métricas de Confiança das Extrações. 72

Lista de Tabelas

2.1 Contrastes entre a EI e a EIA [30]. 30

3.1 Padrão da Restrição Sintática. Adaptado [33]. 353.2 Sistemas da EIA. 42

4.1 Configurações de alvo e contexto [2, 3]. 50

5.1 Exemplo de detecção de sentenças. 565.2 Exemplo de segmentação de tokens. 575.3 Exemplo de rotulação de tokens. 575.4 Etiquetas e seus significados. 575.5 Conversão de Formatos. 595.6 Exemplo dos dados de treinamento para o Chunker. 595.7 Significado das etiquetas de chunk. 605.8 Treinamento do Chunker. 605.9 Avaliação do Chunker. 605.10 Comparação de desempenho dos Chunkers. 605.11 Exemplo de execução do Chunker. 615.12 Exemplo de execução do ReVerb. 625.13 Amostra de Triplas. 645.14 (Conf. 3) Sujeitos no Contexto de Predicados. 655.15 (Conf. 5) Sujeitos no Contexto de Objetos. 655.16 (Conf. 6) Predicados no Contexto de Objetos. 65

6.1 Avaliação do ReVerb: Inglês Vs. Português 716.2 Valores de Confiança para as triplas. Adaptado [33]. 72

Lista de Algoritmos

3.1 ExtratordeRelacionamentos(S) 363.2 ExtratordeArgumentos(R) 37

Lista de Códigos de Programas

5.1 Carregamento de um documento a partir de um URL. 555.2 Conversão de tipos de Etiqueta. 585.3 Conversão de tipos de Etiqueta. 58

CAPÍTULO 1Introdução

A porção hipermídia da Internet (rede mundial de computadores) é a World Wide

Web (“WWW” ou simplesmente “Web”), uma grande coleção de documentos de hiper-texto (páginas) interligados e espalhados através de milhões de máquinas1 (Servidores).Isto permite que pessoas e computadores compartilhem documentos (informações) glo-balmente. As páginas da Web são formatadas pela Linguagem de Marcação de Hiper-Texto - HTML, uma linguagem que mistura conteúdo e apresentação. Com um navegador(browser) é possível ver essas páginas, que contêm textos, imagens, vídeos, e outras mul-timídias, e navegar entre elas através de hyperlinks [60]. Porém, no início da Web, era pre-ciso ocupar as linhas telefônicas para ter acesso à Internet. Atualmente, as pessoas estãoconstantemente conectadas e, para elas, aquele tempo já ficou para trás. A maioria dessaspessoas acessam a rede através de seus computadores pessoais, tablets ou smartphones.Elas geralmente estão à procura de fontes de informação, notícias, redes sociais, com-pras, etc. A rápida evolução da Web permitiu aos usuários uma maneira fácil para acessarinformações e serviços.

Tudo começou com a primeira geração da Web (Web 1.0), criada por TimBerners-Lee em 1989, com o intuito de fornecer um espaço onde as pessoas poderiamse comunicar compartilhando informação. Nessa Web, a interação e a contribuição dosusuários com o seu conteúdo eram limitados, ou seja, era possível apenas buscar e lero conteúdo de páginas estáticas criadas por empresas [27]. Em um site de vendas porexemplo, os produtos eram apresentados apenas em catálogos onde as pessoas podiamler e ligar para os vendedores. Além dos sites não serem interativos, as páginas nãoeram atualizadas frequentemente [5]. Apesar disso, a Web 1.0 obteve grande sucesso noséculo 20 e se tornou uma das maiores invenções da humanidade. Seu sucesso se deveà simplicidade de localização (URIs2), publicação (HTML 3) e navegação (HTTP4) deinformações na rede de computadores [9].

1Nesta dissertação, máquinas e computadores são tratados com o mesmo sentido.2Universal Resource Identifier (http://www.w3.org/Addressing/)3HyperText Markup Language (http://www.w3.org/html/)4HyperText Transfer Protocol (http://www.w3.org/Protocols/)

16

Atualmente, mais e mais pessoas são capazes de acessar a Web e utilizar suainformação. O que mudou a forma de acesso e permitiu maior interatividade é conhecidacomo Web participativa ou Web social (Web 2.0). Agora, ao invés de apenas consumirconteúdo, os usuários também são capazes de publicar seus próprios conteúdos para oconsumo de outros usuários. Para isso, a Web 2.0 fornece ferramentas de fácil utilizaçãopara que pessoas gerem e publiquem conteúdos, como o Youtube5 (vídeos), o Blogger6

(blog), o Facebook7 (rede social), o Twitter 8 (rede social microblog), a Wikipédia9

(enciclopédia cooperativa multilíngue) e o Flickr10 (fotos) por exemplo. Aqui, o foco éconteúdo de usuários para usuários e, a criação de conteúdo não está limitada apenas àorganizações [27]. A criação e modificação de conteúdo colaborativo facilitado resultouna explosão de conteúdo da Web (a cada segundo é adicionada mais informação) eaumento da quantidade de seus usuários [5].

Devido ao sucesso da segunda versão da Web, ela é largamente usada porpessoas e, se tornou uma das maiores fontes públicas de informação [39]. Estima-se que, atualmente seu tamanho passe de trilhões de páginas (14,3 trilhões em 2013[49]). Por um lado é bom ter muita informação disponível, pois os usuários podemencontrar praticamente tudo que precisam [70]. Por outro lado, essa grande quantidadede informação faz com que os usuários tenham que vasculhar o conteúdo de váriaspáginas para encontrar uma resposta para suas consultas, tornando o gerenciamento dasinformações oneroso. Desse modo, o maior problema agora é a dificuldade de se encontrarinformação relevante na imensidão da Web [9].

O crescimento rápido e caótico da informação da Web aliado à sua falta deestrutura e semântica, resultou em uma rede carente de organização. Essa carência tornadifícil para as máquinas entenderem11 as informações [56]. A enorme quantidade deinformação desorganizada está publicada em diversos formatos e é difícil estruturar,padronizar e organizar tudo isso [48] para facilitar o processamento das máquinas. Alémdisso, a informação da Web foi feita primariamente para o consumo dos humanos, ou seja,é apresentada em linguagem natural, o que é fácil para os humanos entenderem é difícilpara as máquinas processarem. Assim, os conteúdos não foram projetados para programasde computador manipulá-los de forma significativa. Por causa de tudo isso, os usuáriosestão se sentido muitas vezes desorientados e perdidos na sobrecarga de informação [67]

5(https://www.youtube.com/)6(https://www.blogger.com/)7(https://www.facebook.com/)8(https://twitter.com/)9(http://pt.wikipedia.org/)

10(https://www.flickr.com/)11Qualquer parte desta dissertação que associe a um computador ou máquina a capacidade de entendi-

mento, compreensão, legibilidade, interpretação ou manipulação, significa único e exclusivamente a capa-cidade de processamento.

17

que continua a se expandir exponencialmente para um tamanho ilimitado [51].Para encontrar informação na Web, os usuários utilizam ferramentas especiali-

zadas em pesquisa, os chamados motores de busca. Existem muitas dessas ferramentasdisponíveis atualmente, o Google12, o Bing13 e o Yahoo14 são alguns exemplos. Essesmotores procuram por palavras-chave correspondentes para responder às consultas dosusuários e filtram páginas desnecessárias utilizando algoritmos avançados. Eles podemretornar boas respostas, entretanto, recuperar informação relevante é difícil. Milhões eaté bilhões de resultados podem ser retornados em resposta à uma simples consulta e so-mente uma parte desses resultados pode ser relevante. Muitas vezes, apenas a avaliaçãosintática de termos e a análise de conexões (links) entre as páginas não são apropriadaspara encontrar o que o usuário precisa. As tecnologias da Web Semântica desempenhamum grande papel para resolver os problemas descritos e recuperar informação significativade maneira inteligente através do fornecimento de semântica interpretável por máquinas[10].

Também chamada de Web 3.0, a Web Semântica é uma proposta em que os docu-mentos sejam melhor processáveis por máquinas associando descrições semânticas a eles.Essa nova Web também foi proposta por Tim Berners-Lee e, segundo ele, ela não é umaWeb separada, e sim uma extensão da Web atual [17]. A Web 3.0 permitirá que o signifi-cado da informação seja precisamente descrito em termos de vocabulários bem definidosque são entendidos por computadores e pessoas. Isso apoiará a descoberta mais eficiente,automação, integração e reuso de dados e proverá suporte para interoperabilidade [56].Tudo isso para permitir aos computadores um melhor processamento dos documentosWeb e, consequentemente diminuir as tarefas dos usuários.

Alguns problemas da Web atual podem ser corrigidos pela adição de estrutura esemântica para o seu conteúdo. Isso pode facilitar o processamento das máquinas, e devetornar o acesso ao seu conteúdo um processo mais eficiente [52]. Nesse sentido, podemser encontradas respostas mais precisas para as consultas dos usuários, descartando o quenão é relevante. Desse modo, a Web Semântica possibilitará que programas determinemfacilmente sobre o que os documentos tratam, como pessoas, lugares e outras entidades[25]. As tecnologias dessa Web são desenvolvidas, padronizadas e mantidas por ummovimento colaborativo guiado pelo W3C - World Wide Web Consortium15.

Como a quantidade de informação disponível na Web atualmente é maior do quejá foi um dia (cresce diariamente) e as suas páginas foram feitas para serem amigáveis paraos seres humanos (visualização) e não para os computadores (processamento), ainda é um

12(https://www.google.com/)13(http://www.bing.com/)14(https://www.yahoo.com/)15(http://www.w3.org/)

18

grande desafio tornar a Web mais semântica. Extrair informação útil da Web pode ser umadas questões mais significantes para a realização da Web Semântica. Isso possibilitarápara as máquinas a capacidade de acesso mais efetivo e inteligente aos dados Web,como busca e recuperação [74]. Isso quer dizer que a informação pode ser usada pormáquinas não apenas para propósitos de apresentação, mas também para automatizaçãodo processamento. Para isso, é necessário a transformação da Web de documentos paraa Web dos dados. Entretanto, atualmente não existe muito dessa transformação, e assim,ainda é necessário a construção de mecanismos para transformar os documentos existentesna Web em formatos mais adequados para serem processados por máquinas.

Ainda existem divergências entre os autores sobre os rumos que a Web vaitomar depois da Web Semântica. Especula-se que a Web 4.0 será a Web de interaçõesinteligentes, porém ainda não existe uma definição exata sobre isso. Para Aghaei [5]a ideia é que as pessoas interajam com a quarta geração da Web através de interfacescontroladas pela mente. Ainda não se tem uma ideia exata das tecnologias dessa Web,mas está claro que a Web está se movendo através do uso de Inteligência Computacionalpara se tornar uma Web inteligente [5]. Na visão de Tekli [74], a Web Semântica seráestendida para a Web Inteligente, onde objetos semanticamente ricos, como smartphones,carros inteligentes, sistemas robóticos e agentes de software, como aplicações e APIs, vãointeragir em um ambiente virtual multimídia. Devido ao surgimento da Web Semânticae da Internet Móvel, aparece a Web Inteligente, ou Internet das Coisas, onde objetosdo mundo real são ligados com objetos do mundo virtual, permitindo conectividadeem qualquer lugar a qualquer hora. Internet das Coisas pode ser definida como umainfraestrutura dinâmica de rede global; fundindo redes de computadores, comunicações,Web, e Inteligência Artificial; para manipular objetos físicos ou virtuais ou “coisas”,como computadores, sensores, pessoas, TVs, veículos, smartphones, etc. Existem muitasaplicações potenciais para a construção da Web Semântica (e Inteligente), como porexemplo a Extração de Informação [74].

A rápida expansão da Internet fez da Web um lugar popular para disseminar e co-letar informação. Porém, as máquinas encontram dificuldades na interpretação de toda in-formação disponível para retornar apenas informações significativas. Esse problema tornaoportuno o uso de técnicas da Inteligência Computacional para encontrar texto relevantee, transformar informação desestruturada da Web em conhecimento estruturado pode aju-dar [44], mas tecnologias relevantes tem que escalar para a Web [32]. Nesse contexto, aExtração de Informação se tornou uma das áreas de pesquisa mais ativas. Basicamente, aExtração de Informação retira informações de textos desestruturados identificando enti-dades e relacionamentos entre entidades, ou seja, informações estruturadas. Essas novasinformações estruturadas podem ser utilizadas por máquinas com o intuito de facilitar oprocessamento e melhorar o acesso à informação. Já existem alguns sistemas capazes de

1.1 Motivação e Justificativas 19

extrair informação estruturada da Web. A maioria desses sistemas utiliza textos em in-glês e, dentre eles, existe um sistema notável, o ReVerb, abordado mais adiante (Seção3.4). Este trabalho foca na extração de informações a partir de documentos em portuguêsutilizando o ReVerb.

1.1 Motivação e Justificativas

Desde a invenção da escrita, ela tem sido o repositório fundamental do conhe-cimento humano. Com o surgimento da prensa tipográfica, do computador e da Web, aquantidade de texto acessível ultrapassou a capacidade de leitura dos seres humanos [32].O advento da tecnologia da informação e da Web possibilitou e facilitou a publicaçãode informações eletrônicas. Como reflexo disso, agora estão disponíveis enormes quan-tidades de informação. A maior quantidade de informação disponível está em linguagemnatural (veículo que carrega informação para os humanos) e esse conteúdo é voltado paraleitura e entendimento dos seres humanos, não para as máquinas manipulá-los significa-tivamente. Assim, o acesso (pesquisa e navegação) dos usuários ficou limitado. Quantomais a informação cresce, mais limitações na busca dessa informação são reveladas. Paraque as buscas sejam completas é necessário que os computadores ‘entendam’ o signifi-cado dos documentos.

Por causa da enorme quantidade de informação, as pessoas recorrem aos motoresde busca. Eles são muito bons em encontrar documentos potenciais, mas o usuário precisanavegar através da longa lista de links e procurar o que precisa para tentar resolver seuproblema [30]. Se esses motores pudessem extrair mais significado do texto e entendermelhor o que as pessoas estão procurando, os recursos da Web poderiam ser acessados deforma mais efetiva. Além disso, os motores de busca só conseguem indexar a superfícieda Web, a outra parte chamada de Web Profunda (Deep Web) é ignorada. Estima-se queessa parte “escondida” usualmente em bancos de dados estruturados, é centenas de vezesmaior que a superfície da Web [84]. Assim, os motores de busca atuais podem até fazerum bom trabalho ao catalogar texto, contar links e entregar listas de páginas relevantesao tópico de busca do usuário. Porém, essas ferramentas não são poderosas o bastante.Nesse contexto, as buscas podem ser melhoradas através do entendimento profundo dosignificado dos documentos [69].

Pessoas em seus computadores ou smartphones estão tentando navegar na es-trondosa quantidade de informação da Web e estão à procura por todo tipo de coisa. Alémdessa quantidade (pode ser a maior quantidade do que em qualquer parte de sua história),o acesso à informação é limitado devido à sua heterogeneidade, desorganização e falta deuma estrutura semântica. Devido a isso tudo, os usuários estão perdendo bastante tempoprocurando o que precisam nas páginas retornadas e usualmente tem que fazer alterações

1.1 Motivação e Justificativas 20

em suas consultas para encontrar informações relevantes. Além disso, as pessoas preci-sam de respostas exatas para suas consultas. O uso das tecnologias da Web Semânticapode ajudar a contornar os problemas da recuperação de informações relevantes da Web[73], mas para isso surgem alguns desafios.

Encontrar informação relevante na Web é uma tarefa complicada e essa infor-mação só poderá ser utilizada ao máximo se forem desenvolvidas ferramentas capazes deextrair e lidar com a grande quantidade de informação. A expansão da informação (textodesestruturado) na Web demanda novos métodos para processar automaticamente e extrairinformação relevante [63]. Assim, surge a necessidade do uso de técnicas que permitam adiferenciação de informações úteis de informações desnecessárias, ou seja, é preciso queas informações sejam extraídas de textos e convertidas em um formato melhor processávelpor máquinas para que aplicações possam utilizar essa informação e, consequentementefornecer respostas relevantes para os usuários. Para se obter informação estruturada detextos da Web, pode-se usar a Extração de Informação Aberta – EIA (Open Information

Extraction - Open IE), que examina texto em linguagem natural e tenta obter dados re-lacionais estruturados. Nessa técnica, um algoritmo procura por triplas que possuem aestrutura entidade-relacionamento-entidade. As triplas extraídas podem ser indexadas ebuscadas. As respostas podem ser trazidas rápida e precisamente [69], ou seja, a tarefatediosa e propensa a erros de navegar através de documentos pode ser automatizada [30].

Existem quantidades numerosas de páginas disponíveis na Web, e embora essesdocumentos possuam informações valiosas, seu uso é limitado se eles não podem serprocessados automaticamente por aplicações [29]. Entretanto, ao invés de longas listaspobres de documentos que contém palavras-chaves requisitadas, os usuários precisam derespostas diretas para suas perguntas. Se os usuários receberem respostas exatas para suasperguntas, não perderão tempo navegando através da lista de links. Utilizar estruturasrelacionais se torna importante para a busca na Web sofrer uma mudança de simplesrecuperação de documentos para perguntas e respostas (tarefa de prover uma resposta parauma pergunta do usuário) [30]. Outro ponto importante a se ressaltar é que a EIA extraiinformação automaticamente, ao contrário de sua antecessora (Seção 2.1) que deixavatrabalho manual para o usuário.

As representações semânticas superficiais descobertas pela EIA podem ser apli-cadas posteriormente em tarefas semânticas mais complexas [40]. Como por exemplo,construção e extensão de ontologias (ontology learning) [80] e auxiliar a busca semântica[56], ou seja, extrair informação estruturada de páginas Web e transformar essa infor-mação em metadados (anotações semânticas em conjunto com ontologias) para páginasWeb, com o intuito de melhorar a precisão das buscas. Além disso, as informações extraí-das poderão ser utilizadas para a construção e expansão de repositórios semânticos, como

1.2 Objetivos 21

a DBPedia16 e o Freebase17. Tão importante como o reuso da informação da Web, extrairinformação pode também ajudar na transição da Web para a Web Semântica. Tornar aWeb Semântica real em larga escala é um desafio limitado pela falta de ferramentas deprocessamento semântico, a EIA pode ser usada para isso [78]. Finalmente, a EIA tam-bém pode ser aplicada para outras linguagens além do inglês [30]. Cada linguagem temseus próprios desafios [29], mas em geral o paradigma da EIA poderá se estender paraoutras linguagens [32].

Durante muito tempo a pesquisa em Extração de Informação esteve focada emtextos em inglês. A grande disponibilidade de textos em outras linguagens demanda queo foco da pesquisa se volte para técnicas a serem aplicadas em outras linguagens [65].Não existem muitas ferramentas capazes de operar em outras linguagens. Além disso,estruturar a informação da Web é uma das premissas básicas da Web Semântica. Dessemodo, o presente trabalho tem como principal motivação oferecer novas ferramentas parao apoio à construção da Web Semântica em português. O foco não é a construção propri-amente dita da Web Semântica, mas sim o primeiro e mais importante passo em direçãoa isso, ou seja, a transferência de informações desestruturadas do conteúdo da Web emportuguês para estruturas simples, semanticamente estruturadas. Posteriormente, outrossistemas poderiam ser desenvolvidos para consumir essas informações estruturadas. Porexemplo, um sistema de pergunta e resposta alimentado por essas informações poderiaresolver o problema de recuperação de informação significativa da Web sintática. Assim,ao invés de realizar todo o processo manual de navegar através de vários documentos embusca de uma resposta que o satisfizesse, o usuário obteria uma resposta relevante emum tempo menor. Além disso, incorporar conhecimento de forma inteligente (extraçãode informação) em tarefas, ao invés de simplesmente processar dados, é considerado oingrediente chave para gerar e representar conhecimento para uma variedade de outrasaplicações [12].

1.2 Objetivos

O foco do presente trabalho é extrair informação de textos da Web em português.Além disso, deseja-se minerar as informações extraídas para obtenção de mais informa-ção. O objetivo principal é adaptar o ReVerb para o português, tendo em vista a extraçãode tuplas relacionais deste idioma. O propósito geral é disponibilizar uma ferramenta ge-

16A DBpedia é um esforço colaborativo para extrair informações estruturadas da Wikipédia.(http://pt.dbpedia.org/)

17Freebase é um Banco de Dados colaborativo de pessoas, lugares e coisas bem defini-das.(https://www.freebase.com/)

1.3 Metodologia 22

radora de fatos semânticos em português, ou seja, contribuir com a área de pesquisa daEIA, onde a maioria de suas ferramentas extrai informação de textos em inglês.

Com o intuito de alcançar o objetivo principal, os objetivos específicos a seguirforam elaborados:

• Análise dos trabalhos relevantes e das tecnologias utilizadas pelos sistemas da EIA.• Definição de um método para minerar a saída dos sistemas da EIA para obter mais

triplas.• Projeto e desenvolvimento de uma ferramenta que integre o sistema ReVerb devi-

damente modificado para o português com um minerador semântico.• Uso da ferramenta desenvolvida para extração de informação de páginas da Web

em português, e em seguida, minerar essas informações para a descoberta de maisinformações.• Avaliação e comparação dos resultados da ferramenta em inglês e português para

validar a hipótese de pesquisa e constatar a viabilidade de apoio à base de transiçãoda Web para a Web Semântica no idioma português.

1.3 Metodologia

Os materiais e métodos deste trabalho comportam as etapas descritas a seguir:

• Fundamentação Teórica: esta etapa compreende a pesquisa a respeito do refe-rencial teórico deste trabalho. Nessa parte foram estudados assuntos como a Web,a Extração de Informação e a Mineração de Dados. Nesta etapa de pesquisa bi-bliográfica, foram encontrados vários artigos relevantes para a pesquisa. Além deutilizar o portal de periódicos da CAPES18 (http://www.periodicos.capes.gov.br/)como auxiliador, a maioria dos artigos foram pesquisados dos seguintes bancos dedados de artigos e conferências:

– ACM Digital Library (http://dl.acm.org/)– Elsevier (http://www.elsevier.com/)– Google Scholar (http://scholar.google.com/)– IEEE Xplore Digital Library (http://ieeexplore.ieee.org/)– Scopus (http://www.scopus.com/)– Science Direct (http://www.sciencedirect.com/)– Springer Link (http://link.springer.com/)

18Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (http://www.capes.gov.br/)

1.4 Organização da Dissertação 23

Os artigos foram pesquisados de acordo com relevância (geralmente é a quantidadede vezes que o artigo foi citado), atualidade (mais recentes) e área (congressos erevistas de computação).• Estudo do Estado da Arte: nesta etapa foi realizado o estudo dos trabalhos mais

recentes relacionados ao presente trabalho. Foram analisados os pontos fortes, asdesvantagens e o que ainda precisa ser feito na Extração de Informação da Web.Os trabalhos levantados diferem deste em relação ao idioma utilizado e ao tipo deprocessamento de texto.• Construção do Segmentador de Palavras: nessa parte foi feito a construção do

Chunker (segmentador de palavras) a partir de exemplos do idioma português. OChunker é responsável por receber as frases etiquetadas pelo POS Tagger e, separá-las em seus respectivos grupos gramaticais.• Implementação e Alterações do ReVerb: aqui aconteceu a integração do ReVerb

aos processadores de linguagem natural em português, como o Sentence Detector,o Tokenizer, o POS Tagger e o Chunker em português. Além disso, foram feitosvários ajustes de tradução direto no código e no dicionário do ReVerb.• Implementação do Minerador de Dados: essa etapa compreendeu a construção

do montador de transações a partir das triplas extraídas pelo ReVerb, para queseja realizada a Mineração de Regras de Associação. Essa parte também contemplao desenvolvimento do pré-processador de triplas e da integração do algoritmominerador de dados.• Avaliação dos Resultados: após todas as implementações e testes feitos, os resul-

tados dos experimentos foram colhidos, tanto de extração de informação quanto demineração de dados, para análise e exposição dos dados.• Documentação do Trabalho: nesta parte foi construída a documentação de todo o

trabalho realizado, que terá como resultado a dissertação final.

1.4 Organização da Dissertação

Além desta Introdução, esta dissertação está organizada em mais 6 capítulos.No Capítulo 2, é apresentado um referencial teórico para uma subárea do Processamentode Linguagem Natural, a Extração de Informação. No início do capítulo, é apresentada aExtração de Informação tradicional, em que o foco são domínios específicos, com relaçõesjá pré-especificadas, trabalho manual e processamento robusto para extração de relaçõessemânticas. No decorrer do capítulo, é apresentado um paradigma recente de Extraçãode Informação da Web, a EIA, em que não é mais necessário especificar o domínio ouas relações requeridas. A EIA utiliza processamento leve para extrair relações semânticasgerais e escala para a Web.

1.4 Organização da Dissertação 24

No Capítulo 3, são apresentados os trabalhos semelhantes a este trabalho. Ocapítulo é estruturado como um estudo do estado-da-arte, em que são mostrados ostrabalhos mais relevantes e mais recentes com relação à Extração de Informação da Web.Neste capítulo, também é feita uma comparação entre o funcionamento e os benefícios decada sistema apresentado.

O Capítulo 4 é dedicado à descrição da aplicação da Mineração de Dadoscomo complemento do presente trabalho. Primeiro, é explicado sobre a Mineração deDados, passando pela Mineração Web, até a Mineração Web Semântica, que é o maisrelevante para este trabalho. Ao final do capítulo, é apresentado um método para mineraras informações geradas por extratores de informação da Web para a descoberta de novasinformações.

O Capítulo 5 comporta o projeto da ferramenta que integra extrator e minerador,sua implementação e os fundamentos para esse desenvolvimento. Além disso, são apre-sentados alguns exemplos básicos do processo de extração de informação e mineração.

No Capítulo 6, são descritos os resultados obtidos da solução explicada no ca-pítulo anterior. Neste capítulo, é feita uma análise dos resultados obtidos em comparaçãoaos objetivos e ao ReVerb original para validação do presente trabalho.

No Capítulo 7, são apresentadas as conclusões do desenvolvimento deste tra-balho. Neste capítulo, é feito um resumo das técnicas utilizadas e das contribuições dotrabalho. Também são mostradas algumas possibilidades para trabalhos futuros.

CAPÍTULO 2Extração de Informação

A Extração de Informação - EI (Information Extraction – IE) é um campo do Pro-cessamento de Linguagem Natural (PLN), uma área que explora como os computadorespodem ser usados para compreender e manipular texto em linguagem natural ou discurso(fala) para fazer coisas úteis [19]. Não se deve confundir Recuperação de Informação - RI(Information Retrieval - IR) com a EI, elas são tecnologias diferentes. Ao invés de extrairinformação, a RI tem como objetivo selecionar um subconjunto de documentos relevantesdentre uma coleção vasta, e isso de acordo com uma consulta de um usuário. Enquantoa EI extrai informação relevante de documentos, a RI recupera documentos relevantes decoleções [26]. Nas próximas seções deste capítulo serão apresentadas a EI clássica e seunovo paradigma, a EIA.

2.1 Extração de Informação Clássica

O conteúdo e a codificação da informação da Web estão em linguagem natural1.Isso dificulta a manipulação e o processamento dessa informação de forma significativapelas máquinas. Uma solução para esse problema pode ser a EI, uma tecnologia quemapeia texto em linguagem natural para informações estruturadas [13, 30].

Originalmente, a EI era a tarefa de localizar informações específicas em docu-mentos em linguagem natural [26]. Tudo começou com uma iniciativa da DARPA2, comas conferências Message Understanding Conferences (MUCs), desafiando a comunidadede PLN para construir novos e melhores sistemas para lidar com extração de informaçãoem texto. O primeiro sistema da EI foi construído para um domínio específico e utilizavapadrões e regras criados manualmente. Era necessário alterar as regras para cada novodomínio. Esse sistema não era escalável ou portável através de domínios [30].

1Linguagem natural é a linguagem falada e escrita pelos seres humanos.2 Defense Advanced Research Projects Agency (www.darpa.mil)

2.1 Extração de Informação Clássica 26

2.1.1 Métricas de Extração

Existem duas métricas de qualidade importantes na Extração de Informação queforam adaptadas da área de Recuperação de Informação. Essas métricas são a cobertura(recall) e a precisão (precision).

A precisão pode ser interpretada como a fração de extrações retornadas queestão corretas. Enquanto a cobertura é a fração de extrações corretas no corpus que sãoretornadas [33]. Em outras palavras, Cobertura se refere a quantidade de informação quefoi extraída corretamente, enquanto Precisão se refere a confiabilidade da informaçãoextraída. Para ficar mais claro, as medidas são definidas pelas fórmulas a seguir [26]:

Cobertura =RespostasCorretas

Total(2-1)

Precisao =RespostasCorretas

RespostasProduzidas(2-2)

As medidas apresentadas são inversamente proporcionais, ou seja, se aumentara precisão a cobertura diminui, e vice-versa. Ambas as medidas estão no intervalo [0, 1],sendo 1.0 o ótimo.

2.1.2 O que Pode ser Extraído

A EI é uma técnica que extrai informação estruturada de texto desestruturado,ou seja, a ênfase é extrair entidades e relações entre entidades de textos em linguagemnatural. A área da EI cresceu e se tornou o tópico central de interesse da comunidade dePLN nos últimos anos[18].

As entidades e relações ou argumentos e predicados (dependendo do autor), sãoos elementos básicos da EI que podem ser extraídos do texto. As entidades representamobjetos do mundo real, como pessoas, organizações, locais, produtos, etc. Já as relaçõesexpressam os relacionamentos entre as entidades, por exemplo, uma pessoa ‘married_to’(casada_com) outra pessoa, ou mesmo, uma pessoa ‘born_in’ (nasceu_em) uma cidade[12].

A maioria das técnicas de extração são totalmente baseadas no processamentode linguagem natural de documentos ou textos. Existe uma grande variedade de técnicasde PLN que permitem dissecar textos e olhar para os papéis gramaticais de todas aspalavras e frases. Para Balke [12], o papel mais importante é o part-of-speech (POS),que permite fazer distinções das classes gramaticais das palavras. Relações são expressasgeralmente por verbos ou frases verbais e as entidades são expressas por substantivos oufrases nominais. O núcleo de um sistema da EI é composto por um extrator de relações eentidades que analisam sentenças [30].

2.1 Extração de Informação Clássica 27

2.1.3 Trabalho Manual

A tarefa básica de Extração de Informação é automaticamente extrair informaçãoestruturada de documentos desestruturados. Isso significa que dados que podem serdetectados em um ou mais textos podem ser classificados, transformados, e armazenadospara uso posterior. Tradicionalmente, a Extração de Informação contou com grandequantidade de envolvimento humano, em que todas as relações entre as entidades eramfornecidas por especialistas de domínio [12].

A Extração de Informação clássica focou em domínios pequenos, homogêneose previamente especificados, o que usualmente requer trabalho manual e processamentopesado. Mudar para um novo domínio requer do usuário nomear as relações manualmentee criar novas regras de extração ou novos exemplos rotulados à mão. Esse trabalho manualcresce linearmente com o número de relações [14].

A Extração de Informação tradicional teve grande envolvimento humano, tantona criação manual de regras de extração e exemplos de treinamento, quanto na especifi-cação das relações de interesse. A EI se tornou mais automatizada com o passar dos anos,porém encontrou problemas de extração em corpus grandes e variados, como a Web porexemplo [14].

Por ser formada primariamente por textos, a Web pode ser uma fonte de docu-mentos úteis para a descoberta e extração de fatos. Além disso, o aumento da informaçãoda Web levou a maiores interesses e pesquisas para a extração de informação. Porém, ainformação da Web está espalhada por diversos servidores e disponível em diferentes for-matos, ou seja, seus documentos são diferentes dos documentos utilizados na Extração deInformação tradicional, seu volume é muito grande, e ainda, documentos novos aparecemdinamicamente e conteúdos mudam frequentemente [26].

É preciso novas abordagens capazes de abranger a diversidade de documentosda Web, onde o número de relações é muito grande e elas não são conhecidas antecipa-damente [63]. Além disso, o corpus da Web contém bilhões de documentos, necessitandode técnicas de extração escaláveis.

2.1.4 Aprendizado

Sistemas de Extração de Informação buscam extrair relações semânticas de tex-tos em linguagem natural, mas a maioria dos sistemas são de aprendizado supervisionado,ou seja, precisam de exemplos rotulados como entrada para extrair as relações. Enquantoos métodos supervisionados podem alcançar cobertura e precisão altas, eles estão limi-tados pela disponibilidade de dados de treinamento e dificilmente vão escalar para asmilhares de relações encontradas em textos da Web [80].

2.2 Extração de Informação Aberta 28

A EI moderna aprende extração de um conjunto de exemplos de treinamento ro-tulados para cada domínio. Um sistema chamado KnowItAll [31], aprende a rotular seuspróprios exemplos de treinamento utilizando apenas um pequeno conjunto de padrões deextração independentes de domínio. É o primeiro sistema publicado para extração em pá-ginas Web que não é supervisionado, independente de domínio e em larga escala. Ao invésde utilizar dados rotulados à mão, o programa seleciona e rotula seus próprios exemplos.KnowItAll ainda necessita que as relações de interesse sejam nomeadas por humanos.

A EI apresenta vários desafios para a extração de informações a partir daWeb [13], que é muito grande e onde as relações não são conhecidas e não podemser especificadas com antecedência. Como essa especificação é feita manualmente, aquantidade de esforço cresce linearmente de acordo como número de relações. O desafiode extração na Web levou à EIA, que objetiva adequar os métodos da EI para o tamanhoe a diversidade do corpus da Web [30].

As extrações realizadas pela EIA não precisam de uma entrada estabelecida porum ser humano, não utiliza dados de treinamento específicos de domínio [30], e executarápido o suficiente para a escala da Web. A EIA é explicada melhor na próxima seção.

2.2 Extração de Informação Aberta

Enquanto a maioria dos trabalhos da EI focou em um pequeno número derelações em domínios específicos, como enciclopédias, notícias e e-mails, a EIA abordarelações ilimitadas, não requer exemplos de treinamento e abrange domínios genéricos[30], como a Web. Em oposição aos sistemas de EI que exigem trabalho manual paraconstruir as relações, sistemas de EIA aprendem um modelo de como as relações sãoexpressas em geral. Esse modelo é independente do número de relações, porém específicopara um idioma [13].

Os extratores da EIA focam nas formas genéricas em que as relações sãoexpressas, assim podem ser aplicados a qualquer domínio ou corpus em inglês para aextração de informação significativa [32]. A maioria dos sistemas atuais da EIA lidamapenas com textos em inglês, porém em geral, esse paradigma poderá ser estendido paraoutras linguagens.

A extração de informação estruturada de texto é um desafio de longa data doPLN que tem sido revigorado com o aumento da disponibilidade de conteúdo textualgerado por usuários na Web [59]. A EIA escalou a EI tradicional para o tamanho e adiversidade da Web, que não conseguia escalar para domínios onde o número de relaçõesque se desejava extrair era muito grande.

Outro ponto bastante importante de comparação entre as duas EIs é a indepen-dência de domínio, que é justamente o que o novo paradigma sugere, a extração de infor-

2.2 Extração de Informação Aberta 29

mação de domínios abertos. Em contradição ao paradigma tradicional, a EIA foi aplicadacom sucesso na escala da Web e foi capaz de extrair uma enorme quantidade de relaçõesque não precisavam ser conhecidas previamente.

2.2.1 Objetivos Chave e Técnicas

A EIA obtém uma representação semântica superficial de grandes quantidadesde texto em linguagem natural na forma de relações e seus argumentos. Suas premissassão (1) independência de domínio, (2) extração não supervisionada, e (3) escalabilidadepara grandes quantidades de texto [22]. Além disso, o objetivo de transformar textodesestruturado da Web para uma forma estruturada está ligado aos princípios da WebSemântica [63].

Com o passar do tempo, as técnicas de extração de informação foram evoluindo,desde a codificação baseada em conhecimento (humano entra com expressões regularesou regras); passando por aprendizado supervisionado (humano fornece exemplos detreinamento rotulados); até o aprendizado auto supervisionado (sistema encontra e rotulaautomaticamente seus próprios exemplos) [30].

2.2.2 Tuplas Relacionais

A EIA é um paradigma recente em que um sistema realiza uma passada em umcorpus de texto e extrai um grande conjunto de tuplas relacionais sem requerer nenhumaentrada humana. A única entrada de um sistema da EIA é um corpus e sua saída é umconjunto de diversas relações extraídas [14].

A EIA extrai informação na forma de triplas semânticas (entidades e relaçõessimples) do texto. Uma tripla semântica ou tupla relacional tem o modelo: tr = (e1, r, e2),em que e1 e e2 denotam as entidades e r denota o relacionamento entre elas [14]. As tuplasextraídas tentam capturar as relações importantes em cada sentença do texto.

2.2.3 Funcionamento

Um sistema da EIA opera em duas fases. Na primeira fase, é aprendido um mo-delo geral de como relações são expressas em uma linguagem particular. Na segundafase, é utilizado esse modelo como base para o extrator. O aprendizado do modelo acon-tece com base em características não lexicalizadas como part-of-speech (identificação deum verbo ou substantivo no texto) e expressões regulares independentes de domínio [30].Em todo este processo, não é requerido um vocabulário pré-determinado [57].

A EIA analisa texto em linguagem natural e tenta obter informações sobre asrelações entre as palavras [69]. Sua única entrada é um corpus, e sua saída é um conjunto

2.3 Considerações 30

de relações extraídas [30]. Dentre suas vantagens estão processamento eficiente e acapacidade de extrair relações ilimitadas [33].

2.2.4 Convencional vs. Aberta

A Extração de Informação tradicional opera em um pequeno conjunto de re-lações bem definidas e requer grandes quantidades de dados de treinamento para cadarelação [20], ou seja, requer cada relação que se deseja extrair seja especificada comoexemplo para as extrações. Esse paradigma é mais apropriado para extrações onde o nú-mero de relações é pequeno e o custo é baixo para rotular dados de treinamento [15].

Quando o número de relações é massivo, e as relações não podem ser pré-especificadas, a EIA é necessária, pois utiliza um extrator independente de domínio queescala para a Web e não precisa de nenhuma entrada humana. A força dos sistemas daEIA é o processamento eficiente, bem como a habilidade de extrair relações ilimitadas[32]. Entretanto, comparada à EI tradicional, sua cobertura é baixa [15]. Para ficar maisclaro as diferenças entre a EI e a EIA, é mostrado na Tabela 2.1 (D = Documentos e R =Relações) uma comparação melhor entre elas. O processo de extração da EIA é linear aonúmero de documentos nos corpus, e constante com o número de relações.

Tabela 2.1: Contrastes entre a EI e a EIA [30].

EI EIAEntrada Corpus + Dados Rotulados Corpus + Métodos IndependentesRelações Especificados Previamente Descobertos Automaticamente

Complexidade O(D * R) O(D)

2.3 Considerações

A Extração de Informação consegue identificar um conjunto de relações de textolivre. Até recentemente, sistemas da EI eram específicos para domínio e precisavam dacombinação de trabalho manual e aprendizado supervisionado para se adaptar a cadadomínio. Abordagens semi supervisionadas requeriam apenas uma pequena quantidade deexemplos de treinamento feitos à mão, mas requeriam isso para cada relação de interesse.O grupo de pesquisa KnowItAll da Universidade de Washington é o pioneiro do novoparadigma da EIA, que opera de uma maneira totalmente independente de domínio e naescala da Web. A EIA é ideal para Web onde as relações não são conhecidas previamentee seu número é gigantesco [72]. Ela não precisa de relações rotuladas a mão, muito menosde relações pré-especificadas.

A Extração de Informação tem uma longa história na comunidade de processa-mento de linguagem natural, desde as conferências MUCs [42]. O primeiro sistema era

2.3 Considerações 31

baseado em regras e altamente dependente de domínio. Para alcançar robustez, os sis-temas baseados em regras foram substituídos por métodos estatísticos e probabilísticosusando Hidden Markov Models [79], e mais tarde Contidional Ramdom Fields [58]. Mas,todos esses sistemas permaneceram focados em domínios e requeriam significante traba-lho manual e esforço.

Alguns sistemas, principalmente os focados em extração de informação da Webinvestigaram extração de informação de domínio aberto. Mesmo que os métodos fossemgerais e aplicados em diferentes domínios, ainda, os extratores precisariam reaprender,muitas vezes manualmente, para cada relação de interesse [72]. Com milhares de relaçõesde interesse, tais sistemas não conseguiriam escalar para todas as relações da Web.

O paradigma recente da EIA supera essas limitações aplicando um extrator autosupervisionado com características não léxicas para separar as relações expressas emuma sentença, como também as entidades entre cada relação expressa [72]. A EIA nãorequer entrada humana, é rápida e escala para grandes coleções de documentos. Além deescalável, a EIA é um método que não requer processamento profundo. Tal paradigmaidentifica relações desconhecidas e escala para a Web que possui bilhões de documentos.A EIA é relativamente recente e foi estudada por um pequeno número de pesquisadores[20].

Muitos sistemas realizam extração de informação semi supervisionada usandoapenas alguns exemplos ou regras de treinamento. Esses sistemas incluem o KnowItAll.No próximo capítulo, são apresentados os sistemas que possuem uma abordagem maisautomatizada, ou seja, sistemas que usam um método auto supervisionado.

CAPÍTULO 3Trabalhos Relacionados

Este capítulo trata dos trabalhos relacionadas à EIA. A grande maioria dostrabalhos encontrados na literatura abordam a tarefa da EIA para textos em Inglês e algunspoucos foram aplicados a outras linguagens. Nas subseções a seguir são apresentados osprincipais trabalhos publicados na área da EIA.

3.1 TextRunner

O TextRunner é o primeiro sistema da EIA, desenvolvido por Banko e Etzioni[13, 14, 30, 82]. O sistema faz uma única passagem em um corpus de texto desestruturadoe extrai uma grande quantidade de tuplas relacionais, sem requerer nenhuma entradahumana. O primeiro sistema da EIA extrai uma grande quantidade de informaçõesestruturadas de sentenças da Web [14].

O TextRunner é uma abordagem auto supervisionada que escala para a Web.É auto supervisionada porque produz seus próprios exemplos positivos e negativos decomo relações são expressas em inglês. Depois, um classificador é treinado usandoesses exemplos para realizar as extrações [82]. A primeira versão do programa utilizavaum modelo Naive-Bayes treinado utilizando exemplos gerados heuristicamente da PennTreeBank [75]. Um trabalho subsequente mostrou que utilizar Conditional Radom Fields

– CRFs [54] (modelos gráficos não direcionais treinados para maximizar a probabilidadecondicional de que uma sequência de palavras formem uma relação plausível [72]), ourede Markov Logic [85] pode melhorar as extrações [33].

O TextRunner opera na escala da Web com processamento leve, linear comrelação ao número de documentos e constante com relação ao número de relações, ouseja, o número de relações não importa. Ao invés de requerer relações já especificadas,o programa usa técnicas do PLN, o part-of-speech (POS) tagger e um chunker pararotular as palavras em uma sentença de acordo com seus tipos gramaticais. Para cadapar de frases substantivas não muito separadas, baseado em muitas restrições, é utilizado

3.2 Wanderlust 33

um classificador1 para determinar quando é interessante extrair ou não uma relação.Depois, as sentenças são analisadas linearmente para extrair rapidamente as triplastextuais (entidade1, relação, entidade2). A tripla, logicamente, é composta de três partes,a primeira e a terceira denotam entidades e a segunda denota o relacionamento entre elas[30].

Resumidamente, o extrator atribui rótulos para cada palavra em uma sentençadenotando seu tipo gramatical. Depois, as sentenças são analisadas para capturar as enti-dades e suas relações. Por último, é gerada uma tupla relacional no modelo já apresentado.As vantagens do TextRunner em relação a sistemas de extração de informação anterioressão automação na extração de relações, independência de domínio e escalabilidade.

De um modo geral, o algoritmo do TextRunner funciona usando um método detrês passos [30]:

1. Rotular: sentenças são automaticamente rotuladas usando heurísticas ou supervisãodistante;

2. Aprendizado: o extrator aprende usando um modelo CRF;3. Extração: o sistema toma a sentença como entrada, identifica um par de frases

nominais candidatas a argumentos (arg1, arg2) da sentença, e então usa o que oextrator aprendeu para rotular cada frase entre os dois argumentos como parte darelação.

Dada a seguinte frase como entrada: “Kafka, a writer born in Prague, wrote The

Metamorphosis” – “Kafka, um escritor nascido em Praga, escreveu a Metamorfose”. OTextRunner rotula cada parte da frase em sequência: “Kafka_ENT ,_O a_O writer_ENT

born_B-REL in_I-REL Prague_ENT”; as entidades são etiquetadas como ENT, B-RELsignifica o começo da relação e, I-REL a continuação da relação. Desse modo, o sistemaforma a tripla (Kafka, born in, Prague) – (Kafka, nasceu em, Praga).

3.2 Wanderlust

O Wanderlust foi desenvolvido por Akbik e Bross [7] para extrair relaçõessemânticas de textos em linguagem natural. Para isso, o sistema utiliza uma representaçãochamada Gramática de Ligação (Link Grammar) para encontrar padrões gramaticaisque expressam relações entre entidades. Para tanto, o programa realiza uma análise(parsing) linguística profunda. Durante a referida análise, são atribuídos links entre termosgramaticalmente dependentes dentro de uma sentença. Os links são rotulados de acordo

1Modelo Gráfico de Rotulagem Sequencial [54]

3.3 WOE 34

com a natureza do relacionamento gramatical de dois termos. Por exemplo, um ‘S’ éusado para conectar um sujeito a um verbo.

Um caminho entre duas palavras de uma sentença é chamado linkpath (caminhode ligação). Uma fonte e um alvo do linkpath são denotados respectivamente pelo começoe término de um termo. O conjunto de todos os links descreve a gramática de todasentença e é referido como linkage (acoplamento). O Wanderlust atravessa linkpaths

para encontrar pares de argumentos conectados por um relacionamento. Se existe umrelacionamento direto entre dois termos expresso pela ligação deles, então a cadeia dedois termos conectados descreve o relacionamento entre o termo de início e outro deparada [7], ou seja, as entidades.

Resumidamente, o Wanderlust rotula ligações entre as palavras de uma frase.As palavras ligadas possuem alguma dependência gramatical. Depois, essas ligações sãoanalisadas e, a partir disso, as triplas são montadas. Por exemplo, tomando a frase: “Essen

is a beautiful city in the Ruhr Area” – “Essen é uma bela cidade na região do Ruhr”.Depois da entrada, o Wanderlust liga as palavras: Essen_Ss_is, is_Ost_city, city_Mp_ine in_Js_RuhrArea. As siglas em negrito representam os linkpaths. O passo final extraia tupla: IsCityIn(Essen, Ruhr Area) – ÉCidadeNa(Essen, Região do Ruhr). Na próximaseção, é apresentado um outro sistema da EIA que combina dados da Wikipédia para fazerextrações.

3.3 WOE

O WOE (Wikipedia-based Open Extractor) foi desenvolvido por Wu e Weld[80]. Esse sistema utiliza correspondentes heurísticos entre valores de atributos de info-

boxes da Wikipédia e sentenças correspondentes para construir seus dados de treinamento[80], ou seja, cria paralelos entre relações extraídas do texto com relações da Wikipédia.O sistema identifica o caminho de dependência mais curto entre frases nominais utili-zando os dados de treinamento. O WOE é melhor em precisão e cobertura comparado aoTextRunner.

O WOE pode operar de duas formas: POS e PARSE. Quando restrito a carac-terísticas de processamento superficial de texto o programa executa tão rápido quanto oTextRunner. Quando utiliza características de análise de dependência, sua precisão e co-bertura aumentam consideravelmente, mas abre mão da velocidade de extração. O WOEutiliza dados da Wikipédia para treinar o extrator de informação. Dependendo da sua ver-são, utiliza OpenNLP [37] para fornecer anotações de rótulos POS e Chunk ou StanfordParser [43] para criar análises de dependência [80].

3.4 ReVerb 35

3.4 ReVerb

O ReVerb é um programa desenvolvido por Fader e Etzioni [33]. Esse programausa um novo modelo para identificar e extrair automaticamente argumentos e relaçõesexpressas por verbos em sentenças em inglês. Ele se mostrou melhor que o TextRunnere o WOE[33]. Além de corrigir problemas das versões anteriores e possuir melhordesempenho, o ReVerb mais que dobra a precisão e a cobertura. Existem dois tiposde erros frequentes na saída de sistemas da EIA como o TextRunner e o WOE:extrações incoerentes e extração não informativas. ReVerb foi desenvolvido utilizandocertas restrições em resposta à essas limitações.

De acordo com Fader et al. [33] os problemas identificados nas versões anterioressão resolvidos pela implementação de duas restrições simples, a sintática e a léxica.A restrição sintática elimina extrações incoerentes (relações extraídas sem interpretaçãosignificativa, incompreensíveis), e a restrição léxica reduz informações não informativas(omissão de informação crítica) e separa as relações válidas das não válidas. Esses tiposde erro são causados pelo manuseio impróprio de relações que são expressas utilizandouma combinação de verbo com substantivo.

A restrição sintática requer que a relação corresponda a um padrão baseado emuma expressão regular (Tabela

Tabela 3.1: Padrão da Restrição Sintática. Adaptado [33].

Padrão V | VP | VW*PV verbo? advérbio?W (substantivo | adjetivo | advérbio | pronome )P (preposição | marcador)

Segundo seus desenvolvedores, o ReVerb primeiro identifica as relações quesatisfazem as restrições já descritas, e então, encontra um par de argumentos para cadarelação identificada. Para cada extração resultante são atribuídos escores (pontuação)de confiança usando um classificador de regressão logística. Candidatos abaixo de umdeterminado limite são descartados. Seu algoritmo difere dos trabalhos anteriores em trêsdiferentes formas. Primeiro, a relação é identificada como um todo em vez de palavra-por-palavra. Segundo, frases potenciais são filtradas baseadas em estatísticas ao longo deum grande corpus. Finalmente, o ReVerb procura a relação primeiro, ao invés de procurarprimeiro os argumentos, isso evita gerar os erros cometidos pelos trabalhos anteriores.

O ReVerb utiliza a abordagem de duas tarefas do PLN, o (Part-Of-Spech tagging

– POS tag) e o (Noun Phrase Chunking – NP Chunking) [33]. Para realizar tais tarefaso sistema utiliza a OpenNLP, uma biblioteca de Processamento de Linguagem Natural[37]. Segundo a sua Documentação [36], o POS tag marca cada palavra do texto combase no seu tipo e contexto, ou seja, dada uma sentença qualquer, suas palavras são

3.4 ReVerb 36

rotuladas de acordo com sua classe gramatical (substantivos, verbos, entre outros) [55].Já o NP Chunking consiste em identificar [68] e dividir o texto em partes sintaticamentecorrelacionadas, como grupos nominais, grupos verbais, entre outros. Nesse caso, todasas frases nominais (Noun Phrases - NP) são separadas. A seguir, o algoritmo do ReVerbserá detalhado e um exemplo de execução será explicado de acordo com seus criadores.

3.4.1 Algoritmos de Extração

O ReVerb toma como entrada uma sentença e retorna um conjunto de triplas deacordo com os algoritmos a seguir:

Extração de Relação

Algoritmo 3.1: ExtratordeRelacionamentos(S)

Entrada: Sentença S tratada pelo PLN.Saída: Relação R.

1 para cada Verbo V em S faça2 Encontre uma sequência de palavras P.

3 se P satisfaz a restrição sintática então4 se P satisfaz a restrição léxica então5 R← P

6 se Existem correspondências adjacentes então7 Junte-as em uma única relação.8 fim9 retorna R

10 fim11 fim12 fim

3.4 ReVerb 37

Extração de Argumentos

Algoritmo 3.2: ExtratordeArgumentos(R)

Entrada: Relação R.Saída: Tripla X , R, Y .

1 para cada Relação R faça2 Encontre a frase nominal X mais próxima da esquerda de R em S.

Encontre a frase nominal Y mais próxima da direita de R em S.3 se X <> pronome relativo OU advérbio “que” então4 se Y <> pronome relativo OU advérbio “que” então5 se o par (X; Y ) foi encontrado então6 retorna (X; R; Y )

7 fim8 fim9 fim

10 fim

Para ficar mais claro o funcionamento desse algoritmo, na seção abaixo émostrado um exemplo de execução.

3.4.2 Exemplo de Extração

Como exemplo do algoritmo de extração em ação, pode ser considerada aseguinte sentença de entrada: “Hudson was born in Hampstead, which is a suburb of

London” (Hudson nasceu em Hampstead, que é um subúrbio de Londres).Passo 1 - O algoritmo identifica três relações que satisfazem as restrições

sintática e léxica: was, born in, e is a suburb of. As primeiras duas frases são adjacentesna sentença, então elas são fundidas em uma única relação: was born in.

Passo 2 - Encontre um par de argumentos para cada relação. Para was born in, asfrases nominais mais próximas são (Hudson, Hampstead). Para is a suburb of, o extratorpula o NP which (que) e escolhe o par de argumentos (Hampstead, London). A saída finalé (Hudson, was born in, Hampstead) e (Hampstead, is a suburb of, London).

Como os extratores anteriores, o algoritmo de extração explicado possui cober-tura alta, mas baixa precisão. O ReVerb ainda perde algumas extrações em que a relaçãocorreta é encontrada mas existem erros na extração de argumentos. Na seção a seguir, émostrado um sistema combinado com o ReVerb para corrigir esses erros.

3.5 R2A2 38

3.5 R2A2

O R2A2 é a segunda geração dos sistemas da EIA. Esse sistema é a combinaçãodo ReVerb com o ArgLearner [32], um identificador de argumentos para extrair melhorargumentos para as relações baseadas em verbo. O ReVerb possibilitou uma performancesubstancialmente melhor (comparado aos trabalhos anteriores) porque utiliza um modelode como as relações são expressas por verbos em inglês em conjunto com certas restrições.

Os sistemas anteriores utilizam heurísticas simples, como por exemplo extrairfrases nominais ou entidades da Wikipédia como argumentos. Tudo isso não é capazde capturar a complexidade da linguagem. Além disso, o ReVerb extrai mais relaçõescorretas do que argumentos. A grande maioria dos erros de extração dos sistemas da EIAsão devido à extração inapropriada de argumentos. O ArgLearner pode ser a soluçãopara esses problemas.

A análise de padrões sintáticos revelou que a maioria dos argumentos se encai-xam em um pequeno número de categorias sintáticas. De maneira similar, existem delimi-tadores comuns que podem ajudar na detecção de limites de argumentos. O ArgLearnerusa esses padrões para identificação de argumentos. O conjunto padrão de característicasincluem aquelas que descrevem frases nominais, contexto, tamanho e toda a sentença.

O programa divide uma tarefa em duas subtarefas - encontrar Arg1 e Arg2, entãosubdivide cada uma dessas subtarefas novamente para identificar o limite esquerdo eo limite direito de cada argumento. Para tanto, emprega três classificadores para esteobjetivo. Dois classificadores identificam os limites direito e esquerdo para o Arg1 eo último classificador identifica o limite direito do Arg2. Ao final, a combinação dasrelações do ReVerb com os argumentos do ArgLearner resulta no R2A2 [32].

3.6 OLLIE

O OLLIE (Open Language Learning for Information Extraction) foi desenvol-vido por Mausam et al. [57], um sistema melhorado que alcançou alto rendimento aoextrair relações mediadas por substantivos, adjetivos e mais. Outro ponto importante, aanálise de contexto aumentou a precisão porque inclui informação contextual das sen-tenças nas extrações. Sistemas anteriores limitados por verbos e padrões verbais perdeminformações importantes mediadas por outras entidades sintáticas como substantivos e ad-jetivos. O OLLIE supera essas limitações, aumenta o escopo sintático das relações paracobrir mais relações, expande a representação da EIA para permitir informação adicionalde contexto e pode lidar com relações que não estão entre os argumentos. O OLLIE en-contra mais extrações corretas em comparação ao ReVerb e ao WOEPARSE, mas tambémperde algumas extrações encontradas pelo ReVerb [57].

3.7 KrakeN 39

De acordo com os autores, a extração de relações é como a do ReVerb, asrelações começam com verbos, mas OLLIE também pode lidar com relações que estãoligadas à outras entidades sintáticas. Outro benefício é a análise de contexto das tuplasrelacionais extraídas, assim pode-se transformar uma tupla incorreta em correta. Porexemplo, dada a sentença “If he wins five key states, Romney will be elected President”(Se ele ganhar em cinco estados chave, Romney será eleito presidente). Os sistemasanteriores extrairiam a tupla relacional (Romney; will be elected; President), afirmandoque Romney seria eleito presidente, quando isso é verdade somente se ele em ganhar cincoestados chave. O OLLIE coloca informação adicional na tupla para validá-la. Sua saídaseria ((Romney; will be elected; President) ClausalModfier if; he wins five key states). Oatributo ClausalModfier indica que a tupla só é verdade se atende essa condição.

3.7 KrakeN

Desenvolvido por Akbik e Löser, o Kraken é um sistema projetado especial-mente para capturar fatos n-ários, mas é vulnerável a ruídos. Abordagens importantescomo o ReVerb e o WOE, extraem fatos binários (fatos que consistem apenas de doisargumentos, e um relacionamento entre os argumentos). Entretanto, um estudo feito porChristensen et al. [20] revelou que fatos n-ários (fatos que conectam mais de dois argu-mentos) estão presentes em 40% das sentenças pesquisadas em inglês. Fatos n-ários estãobastante presentes em sentenças em inglês [8]. Infelizmente, os sistemas atuais da EIAnão são projetados para capturar fatos n-ários.

O KrakeN funciona da seguinte maneira, dada uma sentença de entrada comdependências já analisadas (palavras são ligadas quando conectadas por alguma depen-dência gramatical), são executados três passos [8]:

1. Detecção do fato: o sistema identifica a relação como uma cadeia de verbos,modificadores e/ou preposições.

2. Detecção de argumentos: para cada relação, os argumentos são encontrados usandocaminhos. Cada caminho indica uma ou mais ligações.

3. Detecção completa: combinação dos passos 1 e 2 que completam a tupla relacional.Levando em consideração a frase: “Doublethink , a word that was coined by Orwell

in the novel 1984 , describes a fictional concept” – Duplipensamento, uma palavraque foi inventada por Orwell no romance 1984, descreve um conceito de ficção.Após todo o processamento, é gerada a tripla WasCoined(Doublethink, (by) Orwell,

(in) the novel 1984) – Inventou(Duplipensamento, (por) Orwell, (no) romance1984).

3.8 ClausIE 40

3.8 ClausIE

O ClausIE é um extrator de relações e seus argumentos de textos em linguagemnatural. O sistema foi desenvolvido por Del Corro e Gemulla [22]. De acordo com osautores, o ClausIE é uma abordagem baseada em “cláusulas”. Uma cláusula é uma partede uma sentença que consiste de um sujeito (S), um verbo (V), e opcionalmente um objetoindireto (O), um objeto direto (O), um complemento (C), e um ou mais advérbios (A).

O ClausIE identifica um conjunto de cláusulas para cada sentença e, para cadacláusula, o tipo da cláusula de acordo com uma função gramatical constituinte de (sujeito-verbo-objeto, SVO). A detecção de cláusulas é baseada na análise de dependência (análiseda conexão de palavras de acordo com seus relacionamentos). Os tipos de cláusulas sãocombinações do sujeito com o verbo mais um objeto, complemento ou advérbio.

Em comparação com outras abordagens, o ClausIE não usa dados de treina-mento e não precisa de pós-processamento (utilizado para filtrar extrações com baixaprecisão). O ClausIE obtém mais tuplas que algumas abordagens anteriores, mas perdealgumas porque nem todas as combinações utilizadas aparecem na língua inglesa [22].Como exemplo de entrada: “Bell , a telecommunication company , which is based in Los

Angeles , makes and distributes electronic , computer and building products” – Bell, umaempresa de telecomunicações, que tem sede em Los Angeles, faz e distribui eletrônicos,informática e constrói produtos. A saída é (S: Bell, V: makes, O: products) – (S: Bell,V: faz, O: produtos). Nas próximas seções, são apresentados sistemas da EIA para outraslinguagens.

3.9 CORE

Todos os sistemas apresentados anteriormente alcançaram boa performancepara extração de informação de sentenças em inglês. Ao aplicar esses sistemas paraoutras linguagens, surgem diversos desafios, no Chinês por exemplo, em que as funçõesgramaticais são bem diferentes e não existem limites de separação das frases. Para aconstrução de um sistema da EIA multilíngue deve-se entender as diferenças entre aslinguagens. Segundo seus vários autores, o CORE (Chinese Open Relation Extraction)[76] é a primeira aplicação da EIA para o Chinês.

O CORE utiliza uma série de técnicas do PLN para extrair informações desentenças em Chinês. Dado um texto em Chinês como entrada, o programa primeirosegmenta as palavras das sentenças, etiqueta as palavras com seus tipos gramaticais,faz análise (parsing) da estrutura sintática e agrupa as palavras com tipos gramaticaissimilares. Depois disso tudo, as triplas são extraídas [76]. Como no exemplo da seguintesentença: “Democrats on the House Budget Committee released a report on Monday”

3.10 DepOE 41

(Democratas na Comissão de Orçamento da Câmara divulgaram na segunda-feira umrelatório). O primeiro passo segmenta e etiqueta as palavras. O próximo passo identificauma frase verbal e a considera como uma relação potencial. As duas frases nominaisantes e depois da frase verbal são então consideradas como entidades. Assim, a tripla(Democratas na Comissão de Orçamento da Câmara / divulgaram na segunda-feira / umrelatório) é montada. Essa tripla é fragmentada de acordo com a frase original e umprocesso final de filtragem resulta na tripla (Democratas / divulgaram / relatório).

3.10 DepOE

O DepOE é um sistema multilíngue baseado em análise (parsing) de depen-dência [41]. O DepOE usa um analisador baseado em regras para realizar extrações eminglês, espanhol, português e galego. Para isso, o sistema utiliza três passos principais: oprimeiro consiste em analisar as dependências de cada frase usando um analisador mul-tilíngue, o DepPattern, construído pelos desenvolvedores do DepOE. Esse analisadortoma como entrada uma frase já etiquetada pelos seus tipos gramaticais. A partir dissosão descobertas as cláusulas verbais. Para cada cláusula são identificados os sujeitos, ob-jetos diretos, atributos e complementos preposicionais. Depois são aplicadas várias regraspara extrair as triplas. Todos esses processos são similares aos utilizados pelo CORE,mas é claro que existem alguns passos específicos de linguagem. Para maiores detalhes eexemplos de execução, pode-se olhar as referências listadas na próxima seção que faz umresumo geral das aplicações explicadas.

3.11 Discussão

Del Corro e Gemulla [22] fazem uma comparação interessante entre os melhorese mais conhecidos trabalhos da EIA. Os pesquisadores explicam que praticamente todasas técnicas da EIA, em alto nível usam heurísticas de extração feitas a mão ou constroemautomaticamente seus dados de treinamento para os extratores aprenderem e obteremtuplas relacionais (fatos), triplas na forma (sujeito, relação, argumento).

Algumas abordagens como o TextRunner [30], o WOEPOS [80], o Reverb [33],e o R2A2 [32] focam na eficiência, e assim, são restritos apenas a análises sintáticas, comoo part-of-speech tagging e o chunking. Esses extratores rápidos usualmente obtém altaprecisão, e a restrição da análise sintática superficial limita a cobertura máxima. Outrasabordagens como o Wanderlust [7], o WOEPARSE [80], o KrakeN [8], e o OLLIE[57] usam análise de dependência (dependency parse - DP). Esses extratores geralmentesão mais caros que os extratores acima, eles trocam eficiência por melhores cobertura e

3.11 Discussão 42

precisão. O CORE [76] e o DepOE [41] também usam análise de dependência, o quemuda é o foco da linguagem explorado pelos sistemas.

Como foi mostrado, existem duas maiores categorias de sistemas: as que usamapenas análise sintática superficial, e as que aplicam PLN pesado. O TextRunner per-tence à primeira classe, assim como o WOEPOS que também usa um classificador, masseu classificador é baseado em um corpus de treinamento obtido da Wikipédia. O Re-verb é talvez o extrator superficial mais simples (e por isso muito atrativo), ele faz usode restrições sintáticas e léxicas que tem o objetivo de reduzir a quantidade de extraçõesnão informativas e incoerentes. O R2A2 identifica argumentos de uma frase verbal, e écapaz de extrair argumentos que não são frases substantivas. O R2A2 é o extrator super-ficial de melhor desempenho até agora. O ClausIE é significativamente mais lento que astécnicas acima, mas produz extrações de alta qualidade. A segunda categoria de sistemasusam análise de dependência. Alguns sistemas usam dados de treinamento rotulados amão (Wanderlust) ou geram automaticamente seus dados de treinamento (WOEPARSE,OLLIE). Outras abordagens (KrakeN) usam um conjunto de padrões feitos à mão [22].O CORE e o DepOE também geram seus exemplos de treinamento. Na Tabela 3.2 sãomostradas as diferenças básicas entre os sistemas descritos.

Tabela 3.2: Sistemas da EIA.

Sistema Relações PLN LinguagemTextRunner Binárias Superficial InglêsWanderlust Binárias Profundo Inglês

WOEPOS Binárias Superficial InglêsWOEPARSE Binárias Profundo Inglês

ReVerb Binárias Superficial InglêsR2A2 Binárias Superficial Inglês

OLLIE Binárias Profundo InglêsKrakeN N-árias Profundo InglêsClausIE Binárias Profundo InglêsCORE Binárias Profundo ChinêsDepOE Binárias Profundo Inglês, Espanhol, Português e Galego

O ReVerb foi melhor descrito (com maiores detalhes) nesse texto por ter sidoeste o escolhido como ponto de partida do presente trabalho (adequação para textosem português). Esse sistema foi escolhido devido à sua forma de funcionamento maissimples, por causa do seu excelente desempenho (pode ser executado em computadorescomuns com resultados satisfatórios) e também por pertencer à primeira categoria dossistema da EIA.

Como pode ser notado na apresentação destes trabalhos relacionados, sempreexiste um embate entre desempenho e qualidade. Analogamente à análise de algoritmosem que pode-se abrir mão do uso de mais memória utilizando mais processamento,

3.11 Discussão 43

e vice-versa. O mesmo acontece com os sistemas da EIA, de um lado aqueles queconseguem melhores extrações, e de outro lado aqueles que são bem mais rápidos. Namaioria das vezes, o desempenho e a qualidade são inversamente proporcionais. Issonão quer dizer que os sistemas mais rápidos sejam de péssima qualidade, e sim queos sistemas mais lentos podem alcançar melhores resultados. Os sistemas baseados emregras (1a categoria) executam melhor do que classificadores que geram seus dados detreinamento automaticamente (2a categoria). Entretanto, os sistemas baseados em análisede dependência possuem melhores extrações [40]. Isso é até lógico, visto que existe umaanálise profunda, que consome maior tempo e processamento computacional.

CAPÍTULO 4Mineração das Triplas

Extrair informações úteis da Web para trazer estrutura relacional para textonão estruturado é oportuno. Por outro lado, essa não é uma tarefa trivial, visto que asinformações espalhadas na rede mundial estão formatadas apenas pela HTML. Tal tarefapode ser alcançada por uso de técnicas da EIA, que identificam entidades e relações detexto plano e montam triplas semânticas a partir destas. Um extrator produz uma triplapara cada relação explícita no texto, mas não infere fatos implícitos [80]. Neste capítulo,começa a segunda parte do trabalho, ou seja, uma complementação da parte principalpela utilização da Mineração de Dados da Web Semântica, para a descoberta de fatosimplícitos e ampliação do número das triplas. A parte principal compreende a extração detriplas semânticas. Aqui acontece a mineração dessas triplas.

A Mineração de Dados encontra padrões úteis em meio a gigantescas quanti-dades de dados. Suas principais tarefas são a Classificação, o Agrupamento, as Regrasde Associação, entre outras. A Mineração Web aplica as técnicas da Mineração de Da-dos para extrair informação (não trivial, implícita, previamente não conhecida e útil) dosdados (estrutura, uso ou conteúdo) da Web. Suas metodologias são classificadas em trêseixos, a Mineração de Conteúdo Web, a Mineração de Estrutura Web e a Mineração deUso da Web. Sua tarefa principal é subdividida em quatro tarefas, a Descoberta de Re-cursos, a Seleção de Informação e Pré-processamento, a Generalização e a Análise. AMineração Web Semântica é a integração da Mineração Web com a Web Semântica, paramelhorar os resultados da Mineração Web explorando as novas estruturas semânticas daWeb, da mesma forma, minerando as páginas Web para a Mineração Web ajudar a cons-truir a Web Semântica [16]. Nas próximas seções, as áreas da Mineração de Dados sãomelhor detalhadas.

4.1 Mineração de Dados

De acordo com Fayyad et al. [34], a área Mineração de Dados (Data Mining -

DM), consegue descobrir informações úteis em meio a grandes quantidades de dados, e serefere a um passo particular da Descoberta de Conhecimento em Bancos de Dados (Kno-

4.2 Mineração Web 45

wledge Discovery in Databases - KDD). O KDD é um processo não trivial de descobertade padrões (modelos) compreensíveis, novos, válidos e potencialmente úteis a partir dedados. Essa Mineração de Dados, consiste na aplicação de algoritmos específicos para adescoberta e extração de conhecimento dos dados. Devido ao crescimento da quantidadede dados e a importância de se extrair informação relevante, o processo de descoberta deinformação útil de enormes quantidades de dados se tornará crucial. A maioria dos méto-dos da Mineração de Dados são baseados em técnicas como Classificação, Agrupamento,Regras de Associação, entre outros [23, 34, 71]. A seguir esses métodos são explicados.

• Classificação (Classification): como o nome sugere, classifica itens de dados emuma ou várias classes já pré-definidas. Os dados são classificados de acordo com acorrespondência de características ou propriedades de uma categoria.• Agrupamento (Clustering): significa encontrar categorias ou grupos para descrever

dados, ou seja, é a formação de grupos homogêneos (padrões similares) de objetos.Agrupamento é um método em que classes são definidas e grupos de objetossimilares são agrupados nessas classes de acordo com suas características.• Mineração de Regras de Associação (Association Rule Mining): é usada para en-

contrar relacionamentos entre itens de dados. Essa técnica encontra padrões fre-quentes, associações, correlações entre conjuntos de itens ou objetos em transa-ções. Em outras palavras, encontra regras que implicam na ocorrência de um itembaseado na co-ocorrência de outro.

Tradicionalmente, a Mineração de Dados tem sido aplicada a Bancos de Dados[28]. Entretanto, uma tendência atual é a Mineração (de Dados) Web, que pode serdefinida como a utilização de técnicas de Mineração de Dados para extrair relações úteisa partir dos dados da Web [81]. Na próxima seção essa nova área é melhor detalhada.

4.2 Mineração Web

Segundo Etzioni [28], a Mineração Web (Web Mining - WM), é o uso detécnicas da Mineração de Dados para automaticamente descobrir e extrair informaçãode documentos e serviços da Web. Esta definição considera importante as tarefas demineração. Para Cooley et al. [21], a Mineração Web é a análise e descoberta deinformação útil da Web. Esta última definição considera interessante a fonte de dadosminerada. Atualmente, a Mineração Web é definida por vários autores como a aplicaçãodas técnicas da Mineração de Dados no conteúdo, estrutura e uso da Web.

Técnicas da Mineração de Dados são usadas em aplicações da Mineração Webpara encontrar padrões escondidos e conhecimento interessante e potencialmente útilnos dados da Web. Enquanto a Mineração de Dados lida principalmente com dados na

4.2 Mineração Web 46

forma estruturada e organizada em bancos de dados, a Mineração Web minera dadosdesestruturados, por isso minerar a Web é um desafio [23]. Na próxima seção, sãoapresentados os três eixos da Mineração Web, cada eixo é categorizado com base emqual parte da Web se deseja minerar (conteúdo, estrutura ou uso). Na seção seguinte sãodescritas as quatro subtarefas (descoberta, seleção, generalização e análise) da MineraçãoWeb.

4.2.1 Categorias de Mineração

O foco principal da Mineração Web é procurar, juntar e analisar dados da Web.Ela pode ser dividida em três categorias. Cada uma dessas categorias minera diferentespartes da Web [10, 23, 48, 50, 60, 70, 71]:

Mineração de Conteúdo Web (Web Content Mining): é o processo de análisee descoberta de conhecimento do conteúdo das páginas Web. O conteúdo da Web podeser desestruturado (texto plano), semiestruturado (documentos HTML), mais estruturado(bancos de dados e tabelas HTML) [67], e basicamente consiste de vários tipos de dados(texto, imagens, áudio, vídeo, multimídia, etc.). O conteúdo da Web é analisado paradescobrir padrões e extrair dados úteis como descrições de produtos, postagens de fóruns,e outros. O objetivo principal da Mineração de Conteúdo Web é auxiliar ou melhorar adescoberta e filtragem de informação.

Mineração de Estrutura Web (Web Structure Mining): lida com a conectivi-dade de sites e utiliza a estrutura dos hyperlinks (links que existem em uma página Webe se referem a outra região da mesma página ou a outra página) para descobrir e extrairconhecimento útil, ou seja, minera o relacionamento entre páginas conectadas. Minerar aestrutura da Web pode ajudar na categorização de páginas, como descobrir similaridadesde relacionamento entre sites ou descobrir sites importantes relacionados a um deter-minado tópico. A aplicação mais importante da Mineração de Estrutura é o cálculo daimportância de páginas Web utilizado pelos motores de busca.

Mineração de Uso Web (Web Usage Mining): foca na descoberta de conheci-mento dos dados de navegação que os usuários geram ao visitar sites da Web, ou seja,analisa os cliques resultantes da interação de usuários com a Web (registros armazenadosem Servidores de log), para descobrir os seus padrões de acesso e de comportamento. Pa-drões comportamentais e perfis de interação são capturados, modelados e analisados paramelhorar os serviços da Web. A organização e a estrutura dos sites podem ser melhoradas,experiências personalizadas podem ser criadas e recomendações de produtos e serviçospodem ser fornecidas. Enquanto as Minerações de Conteúdo e Estrutura utilizam os dadosprimários da Web (as páginas), a Mineração de Uso utiliza os dados secundários (logs deacesso às páginas).

4.3 Mineração Web Semântica 47

4.2.2 Subtarefas de Mineração

Além de três divisões, a tarefa da Mineração Web ainda é decomposta em quatrosubtarefas [48, 60, 70]:

1. Descoberta de Recursos (Resource Finding): é principalmente o processo derecuperar os documentos requeridos da Web;

2. Seleção de Informação e Pré-processamento (Information Selection and Prepro-

cessing): significa selecionar e pré-processar informação específica dos documentosrecuperados, ou seja, é o processo em que os diferentes dados originais recuperadosna tarefa anterior são separados e transformados;

3. Generalização (Generalization): é o processo da descoberta automática de padrõesgerais, ou seja, é a tarefa em que as técnicas da Mineração de Dados são aplicadasde fato;

4. Análise (Analysis): é a realização da validação e/ou interpretação dos padrõesminerados. Os humanos desempenham um papel importante neste processo dedescoberta de informação ou conhecimento.

4.3 Mineração Web Semântica

A Mineração Web Semântica (Semantic Web Mining - SWM) é uma área recente,que surge da combinação de outras duas, a Mineração Web e a Web Semântica. AMineração Web é a aplicação da Mineração de Dados na Web, que é o processo nãotrivial de encontrar padrões válidos, previamente desconhecidos, e potencialmente úteisem dados. A Web Semântica é a extensão da Web atual, onde é dado significado bemdefinido à informação, permitindo uma melhor cooperação entre computadores e pessoas.Os dados na Web Semântica são ligados de uma forma que podem ser descobertos maisfacilmente. Essas duas áreas em rápido desenvolvimento se complementam para resolveros problemas de ambas.

A ideia da Web Semântica é deixar a maioria das tarefas e decisões para as má-quinas. Isso é aplicável pela adição de conhecimento para o conteúdo da Web por meiode linguagens compreensíveis por máquinas. Assim, devido à existência de informaçãoestruturada e metadados explícitos na Web Semântica, o acesso às informações é facili-tado através de agentes de software inteligentes capazes de interpretar essa informação.A Mineração Web extrai padrões interessantes, implícitos e potencialmente úteis da Web.Enquanto a Web Semântica tenta deixar os dados também compreensíveis pelas máqui-nas, a Mineração Web pode extrair conhecimento útil escondido nesses dados. A Mine-ração Web Semântica objetiva combinar essas duas áreas para melhorar os resultados da

4.4 Mineração de Regras de Associação 48

Mineração Web pela exploração das estruturas semânticas na Web, e utilizar a MineraçãoWeb para construir a Web Semântica [48].

Os dados na Web Semântica são definidos e ligados de uma forma que facilitasua descoberta, automação, integração e reuso entre aplicações. A Web Semântica adici-ona estrutura para a Web, enquanto a Mineração Web extrai estruturas implícitas. A áreacombinada pode melhorar ambas as áreas [67]. Por exemplo, em vastas quantidades dedados, a Mineração Web pode descobrir estruturas semânticas para construir semânticapara a Web Semântica. Similarmente, estruturas semânticas podem melhorar a tarefa demineração por permitirem aos algoritmos operarem em certos níveis semânticos [10]. AWeb Semântica pode tornar a Mineração da Web muito mais fácil pela disponibilidade deum fundo de conhecimento, e a Mineração Web pode ajudar no processo de transforma-ção de conteúdo compreensível por humanos em semântica compreensível por máquinas,a Web Semântica. Assim, essa nova área pode ser definida tanto Mineração (Web Semân-tica) como (Mineração Web) Semântica [50].

Enquanto a Web Semântica é usada para dar significado aos dados, criandodados estruturados complexos e heterogêneos, a Mineração de Dados é usada paraextrair padrões interessantes de dados homogêneos e menos complexos. Assim, existeuma necessidade de aplicar e adaptar as técnicas da Mineração de Dados para extrairinformação e conhecimento de forma efetiva e eficiente dos dados representados pelaWeb Semântica. Os algoritmos tradicionais da Mineração de Dados são construídospara minerar conjuntos de dados homogêneos. Em contradição, a forma normal derepresentação de dados semânticos é pela estrutura de uma tripla que consiste de sujeito,predicado, e objeto, o que causa complexidade nos dados [66]. Na próxima seção éapresentada uma solução para esse problema.

4.4 Mineração de Regras de Associação

Como visto anteriormente, a EIA utiliza técnicas de PLN para inferir relaçõesa partir de textos planos, porém não consegue inferir fatos implícitos. Desse modo, aMineração de Dados se torna crucial. A saída dos sistemas de EIA são tripas semânticas(fatos), e essas triplas podem ser expressas utilizando o Resource Description Framework

- RDF [13]. Dados semânticos como o RDF são representados por triplas SPO (Sujeito,Predicado, Objeto), em que o predicado é uma relação binária tomando o sujeito e o objetocomo argumentos. A representação SPO pode esconder algumas relações importantes e aMineração de Regras de Associação pode ser uma abordagem promissora para descobriressas relações. Em contraste aos dados semânticos, os algoritmos tradicionais de regrasde associação lidam com conjuntos de dados homogêneos compostos por transações, em

4.4 Mineração de Regras de Associação 49

que cada transação é representada por um subconjunto de itens. O desafio é identificartransações e itens da natureza desses dados.

Minerar grandes quantidades de dados semânticos é um desafio, visto que suanatureza é diferente da natureza dos dados tratados pela Mineração de Dados tradicional.Assim, deve-se usar uma abordagem da Mineração Web Semântica no sentido de mineraros dados da Web Semântica, mas primeiro é necessário identificar as transações e os itens.O método de Abedjan e Naumann [2, 3] combina dados RDF em transações para seremprocessadas por algoritmos tradicionais de regras de associação, e para isso exploram aestrutura SPO. Tanto a saída de sistemas de EIA, quanto os dados RDF possuem o formato“coisa1 é relacionada à coisa2”. Este trabalho adapta a pesquisa dos autores, e aqui deve-se considerar o Sujeito como a Entidade1, o Predicado como a Relação, e o Objeto como aRelação2. No resto desta seção é apresentado o método para minerar regras de associação[2, 3, 35, 61, 62] de triplas semânticas.

A Mineração de Regras de Associação tem sido largamente utilizada na análisede compras de produtos em grandes supermercados. No entanto, essa técnica da Mine-ração de Dados pode ser aplicada em qualquer domínio com muitos itens, em que rela-cionamentos podem ser inferidos da co-ocorrência desses itens. Em outras palavras, essatécnica é utilizada para encontrar relacionamentos entre itens de dados. Formalmente,pode ser descrita como segue. Seja I = { i1, i2, ..., im } um conjunto de literais m, cha-mados itens. Seja D = { t1, t2, ..., tn } um banco de dados de transações n em que cadatransação é um subconjunto de I. Uma regra de associação é a implicação X → Y consis-tindo do conjunto de itens X ,Y ⊂ I com X∩Y =�. O suporte é a razão entre o número deregistros que contém X e Y e o total de registros. Já a confiança é a razão entre o númerode registros com X e Y e o número de registros que contém X . A Mineração de Regrasde Associação visa descobrir regras que possuem suporte e confiança mínimos. A tarefabásica dessa técnica é encontrar todas as regras de associação com suporte e confiançamaior que o suporte e confiança mínimos especificados pelo usuário. Minerar regras deassociação consiste basicamente de duas fases: (1) computar a frequência de conjuntosde itens com suporte mínimo, e (2) gerar regras de conjuntos de itens frequentes comconfiança mínima.

De modo geral, a Mineração de Regras de Associação encontra itens que im-plicam na presença de outros itens na mesma transação. Existem vários algoritmos comvárias modificações e otimizações para minerar regras de associação, dentre as melho-res abordagens conhecidas [3] estão o Apriori [6], o FP−Growth [45], e o Eclat [83].Para os propósitos deste trabalho é utilizado o FP−Growth, que está explicado em de-talhes em [45, 46]. Na próxima seção, é apresentada a aplicação das regras de associaçãoem triplas semânticas utilizando o conceito de configuração apresentado por Abedjan eNaumann [2, 3] para a descoberta de fatos ocultos.

4.5 Configurações de Mineração 50

4.5 Configurações de Mineração

Configurações de Mineração permitem minerar regras de associação para identi-ficar dependências entre sujeitos, predicados, e objetos em diferentes perspectivas [1]. Su-jeitos podem ser conectados através de múltiplos predicados, co-ocorrendo em múltiplasrelações, o que pode ser interessante para análise de padrões. Para aplicar a Mineração deRegras de Associação em dados semânticos (SPO), é necessário identificar o conjunto deitens I, e suas transações T . Qualquer parte da tripla semântica (sujeito, predicado, ob-jeto) pode ser considerada como contexto, que é usado para agrupar uma das duas partesrestantes como o alvo da mineração. Assim, uma transação é um conjunto de elementosalvo associados com um único elemento de contexto que representa a identificação datransação (T ID). Cada combinação de contexto com alvos é uma configuração. Comouma tripla possui três partes e uma configuração é formada por duas, são possíveis seistipos de configurações diferentes (Tabela 4.1), explicadas a seguir.

Tabela 4.1: Configurações de alvo e contexto [2, 3].

Configuração Contexto Alvo1 Sujeito Predicado2 Sujeito Objeto3 Predicado Sujeito4 Predicado Objeto5 Objeto Sujeito6 Objeto Predicado

1. Mineração de Predicados no contexto de Sujeitos: enquanto sujeitos representamentidades, predicados representam o relacionamento dessas entidades. Minerarpredicados no contexto de sujeitos resulta na descoberta das relações do sujeito.Dado um sujeito, o conjunto de itens são seus diferentes predicados.

2. Mineração de Objetos no contexto de Sujeitos: objetos representam o valor quedescreve uma entidade. Assim, minerar objetos no contexto de sujeitos significadescobrir padrões entre valores que são associados com outros valores pela co-ocorrência de muitas entidades, ou seja, objetos que possuem sujeitos em comum.

3. Mineração de Sujeitos no contexto de Predicados: todos os fatos com o mesmosujeito representam uma entidade. Sujeitos com muitos predicados em comumpodem ser considerados como sujeitos similares. Desse modo, minerar sujeitosno contexto de predicados resulta em regras que expressam o agrupamento deentidades. Pode-se identificar sujeitos classificados de acordo com uma entidade,como por exemplo, o predicado que identifica professores relaciona pessoas comesse cargo.

4.6 Conclusões 51

4. Mineração de Objetos no contexto de Predicados: regras no contexto de predi-cados implicam na descoberta de valores que conectam predicados, como números,países, ou cidades. Essa regra é bastante parecida com a mineração de sujeitos nocontexto de predicados, o que muda é o objeto no lugar do sujeito.

5. Mineração de Sujeitos no contexto de Objetos: essa configuração visa descobrirsujeitos que compartilham o mesmo valor de objeto. Minerar sujeitos no contexto deobjetos resulta em regras entre entidades classificadas em um determinado tópico.Objetos são associados com sujeitos em diferentes tipos de relacionamento, comopor exemplo, muitas pessoas podem compartilhar o objeto Goiânia como local denascimento, local de morte, ou cidade natal. Entidades que compartilham o mesmoobjeto são relacionadas ao mesmo tópico.

6. Mineração de Predicados no contexto de Objetos: essa configuração visa desco-brir as relações de determinado objeto. Como predicados definem relacionamentosentre entidades, regras dessa configuração podem ser usadas para descoberta desinônimos. Se predicados possuem significado similar, eles também compartilhamobjetos similares. Por exemplo, pode existir um fato de que um ator estrelou umfilme, porém pode não existir um fato para esse ator utilizando o predicado atuou.

A princípio, são utilizadas três configurações das regras de associação (itens demaior relevância para o presente trabalho) para melhorar e enriquecer as informações dastriplas semânticas. A mineração de sujeitos no contexto de predicados poderá identificarentidades relacionadas, a mineração de sujeitos no contexto de objetos poderá encontrartriplas relacionadas ao mesmo de tópico, e por último, a mineração de predicados nocontexto de objetos poderá detectar sinônimos. Essas configurações serão utilizadase após as regras descobertas, elas podem ser analisadas para encontrar informaçõesimplícitas e incrementar as informações dos fatos (criação de novos fatos).

4.6 Conclusões

A Mineração de Dados é o processo não trivial de identificar padrões potencial-mente úteis, válidos e previamente desconhecidos em dados [10]. Essa área é essencialpara extrair padrões de grandes quantidades de informações. O processo para recuperarinformação é composto por reconhecimento de correlações, relacionamentos e similarida-des entre os dados. Esses dados são analisados para obtenção de informação útil (padrões).Em analogia à Mineração tradicional, na Mineração de Dados, os dados são como a terra,e os padrões são como o ouro. Alguns autores até sugerem que um nome mais adequadopara essa área deveria ser Mineração de Conhecimento, como a Mineração de Ouro.

A Web contém uma enorme quantidade de informação e seu conteúdo tem seexpandido. Como o seu conteúdo e seus usuários continuam crescendo, cada vez mais

4.6 Conclusões 52

aumentam as oportunidades de analisar seus dados e extrair informação útil. Porém,analisar suas informações desestruturadas é uma tarefa bastante complicada. A MineraçãoWeb é a aplicação das técnicas da Mineração de Dados no conteúdo, estrutura e usoda Web para descobrir informação útil [60]. A Mineração Web é dividida em três:a Mineração de Conteúdo, que extrai ou minera informação ou conhecimento útil doconteúdo de páginas Web; a Mineração de Estrutura, que descobre conhecimento útil delinks que representam a estrutura de sites e de relacionamentos entre estes; e a Mineraçãode Uso, que descobre padrões de acesso e comportamentais dos usuários através de seushistóricos de navegação. A Mineração Web ainda é subdividida em quatro tarefas: aDescoberta de Recursos, que recupera documentos da Web; a Seleção de Informação ePré-processamento, que seleciona e transforma informação específica recuperada da faseanterior; a Generalização, que é a descoberta automática de padrões gerais; e a Análise,que é a validação e interpretação dos padrões minerados.

A Mineração Web Semântica é uma área nova em rápido desenvolvimento quecombina a Mineração Web e a Web Semântica, em que ferramentas da Web Semânticapodem ser utilizadas para melhorar a Mineração Web e vice-versa. A Web Semânticaadiciona estrutura para a Web, enquanto a Mineração Web extrai estruturas implícitas. Aideia dessa nova área é a cooperação entre as áreas integradas, ou seja, os resultadosda Mineração Web podem ser melhorados utilizando estruturas semânticas, e a WebSemântica pode ser construída a partir da Mineração Web [24]. A Mineração WebSemântica pode ser utilizada para a descoberta de fatos implícitos em informações naforma de triplas semânticas no formato sujeito-predicado-objeto. Especificamente, podeser utilizada a Mineração de Regras de Associação em conjunto com a Mineração deConfigurações para a descoberta de novos fatos. Os fatos descobertos podem ser utilizadospara enriquecer uma base de dados de triplas semânticas. As Minerações de Configuraçãopodem relacionar entidades, sugerir tópicos relacionados e identificar sinônimos. Alémdisso, outras configurações podem ser utilizadas e combinadas para descobrir outrascoisas [4]. É claro que a interpretação dos padrões resultantes ainda fica a cargo deespecialistas humanos.

As técnicas de Mineração de Dados não são as únicas ferramentas para usar ainformação da Web de forma eficiente [71] (Mineração Web), mas podem ser aplicadaspara uso pleno da informação da Web. Explorar a Mineração Web integrada à WebSemântica de uma maneira correta, proporcionará oportunidades ilimitadas para extrairconhecimento a partir dos dados disponíveis na Web. Se a própria Mineração de Dados jáé a melhor estratégia para utilizar a informação plenamente, combinada com a Semânticapode ser uma ferramenta muito mais poderosa.

CAPÍTULO 5Implementação do Extrator/Minerador

Depois de apresentar alguns problemas da Web e apontar tecnologias capazesde melhorar seu cenário em vários tipos de aplicação, neste capítulo, é apresentada aimplementação das alterações do sistema ReVerb para que o mesmo trabalhe com textosem português. Isto pode contribuir para a construção/expansão da Web Semântica emportuguês. Na segunda parte do capítulo, é apresentada a implementação do mineradorde dados semânticos, ou seja, mineração da saída do ReVerb para a descoberta de novasinformações.

5.1 Extrator

Dentre todos os trabalhos relacionados, o ReVerb foi escolhido para os propó-sitos deste trabalho porque possui funcionamento simples e se provou robusto e rápidoo suficiente (baixo custo computacional) para extrair informação na escala da Web. Osistema é licenciado para uso acadêmico1, ou seja, pode ser copiado, modificado e distri-buído para propósitos não comerciais. Além disso, é escrito na linguagem de programaçãoJava2, o que permite sua execução em uma grande variedade de sistemas operacionais. NaFigura 5.1, pode ser visto o modelo da arquitetura do ReVerb modificado para trabalharcom textos em português. A arquitetura consiste de várias partes principais e as etapasposteriores são alimentadas pelas anteriores.

1ReVerb License (http://reverb.cs.washington.edu/LICENSE.txt)2Oracle Java Home Page (http://www.oracle.com/technetwork/java/index.html)

5.1 Extrator 54

WWWPáginas

WebDocumentosWIKIPÉDIA

Pré-processador

Sentence Detector

Tokenizer

POS Tagger

Conversor de Etiquetas

Chunker

Algoritmo de Extração

Restrição Sintática

DicionárioRestrição Léxica

Padrão

Triplas Semânticas(Entidade1, Relação, Entidade2)

Triplas Semânticas(Entidade1, Relação, Entidade2)

Conteúdo

Co

nte

údo

Texto B

ruto

Toke

ns

Rótu

los

Conteúdo

Entrada

Saída

Entrada

Saída

ReVerbReVerb

Figura 5.1: Arquitetura do ReVerb Modificado.

5.1 Extrator 55

5.1.1 Entrada

O ReVerb recebe sentenças na entrada e retorna triplas no formato (E1; R12;E2) na saída. Sua nova versão modificada conta com um extrator online para recuperaçãode páginas em tempo real, ou seja, o sistema elimina a necessidade de um corpus já pré-estabelecido. Essa parte da entrada foi construída utilizando uma biblioteca Java de códigoaberto, a jsoup3. Para iniciar a extração da página é necessário indicar o seu endereço. Umexemplo é ilustrado no fragmento de código a seguir (5.1). O processo de extração começadepois que a página é carregada.

Código 5.1 Carregamento de um documento a partirde um URL.

1

2 Document doc = Jsoup.connect(

3 "http://www.portal.inf.ufg.br/mestrado/").get();

4

5 Iterable< String > sents = extractor.extract( doc.html() );

6

O ReVerb modificado também recebe em sua entrada pági-nas aleatórias da Wikipédia em português. Basta apenas usar o link

http://pt.wikipedia.org/wiki/Especial:Aleat%C3%B3ria para recuperar pági-nas randômicas em tempo real. Para páginas em inglês usa-se o link

http://en.wikipedia.org/wiki/Special:Random. Além disso, foi mantida a entrada dearquivos diversos, como documentos de texto, páginas offline e textos puros. Depois daentrada, é feito o pré-processamento do documento para prepará-lo para o processo deextração.

5.1.2 Pré-processador

A etapa de pré-processamento consiste em remover todas as marcações e etique-tas HTML da página. Aqui as páginas são convertidas em texto bruto para as extrações,ou seja, o que sobra são apenas sequências de sentenças. O pré-processador do ReVerbnão foi alterado. Acredita-se que devido ser um processo simples, a maioria dos trabalhosda EIA encontrados na literatura não abordam esse pré-processamento. Porém, existemalguns trabalhos voltados apenas para a recuperação de conteúdo da Web [64]. Depoisque sobra apenas texto, o próximo passo é identificar as sentenças.

3jsoup: Java HTML Parser (http://jsoup.org/)

5.1 Extrator 56

5.1.3 Sentence Detector

O ReVerb utiliza várias etapas do PLN [33]. Para gerar triplas semânticas, o sis-tema requer somente processamento sintático superficial e, para isso, utiliza a OpenNLP4

(Processador de Linguagem Natural Aberto). Essa biblioteca dá suporte para diversas ta-refas para a construção de serviços avançados de processamento de texto. As tarefas deprocessamento de texto em linguagem natural incluem sentence segmentation, tokeniza-

tion, part-of-speech tagging, chunking e outras [36]. Para propósitos de exemplificação decada tarefa, pode-se considerar o seguinte fragmento de texto salvo no arquivo input.txt

como entrada: “Podem as máquinas pensar? Acredito ser muito sem sentido para merecer

discussão.”. Após fazer o download5 da OpenNLP e de suas ferramentas6 que trabalhamcom textos em português, cada uma das tarefas podem ser executadas utilizando interfacede linha de comando ou via linguagem de programação. Levando em consideração que abiblioteca está em execução em linha de comando, pode-se utilizar vários comandos pararealizar as tarefas do PLN.

A Detecção de Sentenças consiste em identificar se um carácter de pontuaçãomarca o fim de uma sentença. Desse modo, uma sentença é a sequência mais longaentre dois marcadores de pontuação. Apenas a primeira e a última sentença são exceções.Resumindo, um Sentence Detector segmenta as frases de um texto. Com a OpenNLP emexecução, basta executar o comando descrito na Tabela 5.1. Depois de detectar os limitesdas duas sentenças, cada frase é escrita em linhas separadas no arquivo output-text.txt. Adetecção de sentenças acontece antes do texto ser separado em tokens.

Tabela 5.1: Exemplo de detecção de sentenças.

Comando opennlp SentenceDetector pt-sent.bin < input.txt > output-text.txt.

Saída Podem as máquinas pensar?Acredito ser muito sem sentido para merecer discussão.

5.1.4 Tokenizer

Essa etapa (Tokenization) consiste em segmentar uma sequência de caracteresem tokens (palavras, pontuações, números, etc). Da mesma forma com a OpenNLP emexecução, basta entrar com os comandos como na Tabela 5.2 que o texto abaixo serágravado no arquivo output-tokenized.txt.

4OpenNLP Processador de Textos em Linguagem Natural (https://opennlp.apache.org/)5OpenNLP Download (https://opennlp.apache.org/cgi-bin/download.cgi)6Modelos de Ferramentas da OpenNLP (http://opennlp.sourceforge.net/models-1.5/)

5.1 Extrator 57

Tabela 5.2: Exemplo de segmentação de tokens.

Comando opennlp TokenizerME pt-token.bin < output-text.txt > output-tokenized.txt.

Saída Podem as máquinas pensar ?Acredito ser muito sem sentido para merecer discussão .

Como pode ser notado do exemplo, cada token é separado individualmente porum espaço em branco. Essa tarefa é importante, pois o part-of-speech tagger (etiquetadorde partes de discurso) trabalha com textos separados em tokens.

5.1.5 POS Tagger

Este processo (Tagging) consiste em atribuir etiquetas para os tokens de acordocom seus tipos gramaticais correspondentes, baseado no próprio token e em seu contexto.Seguindo os exemplos anteriores, para executar essa tarefa, deve-se utilizar o comando daTabela 5.3.

Tabela 5.3: Exemplo de rotulação de tokens.

Comando opennlp POSTagger pt-pos-maxent.bin < output-tokenized.txt > output-postagged.txt.

Saída Podem_v-fin as_art máquinas_n pensar_v-inf ?_puncAcredito_v-fin ser_v-inf muito_adv sem_prp sentido_n para_prpmerecer_v-inf discussão_n ._punc

Cada token do exemplo acima agora possui uma etiqueta (tag) que indica seu pa-pel gramatical na sentença (palavra_etiqueta). Como todas as ferramentas apresentadasforam treinadas utilizando os mesmos dados do Projeto Floresta Sintá(c)tica da Lingua-teca7, é natural que os rótulos utilizados sigam o padrão deste projeto. Na tabela 5.4 8 sãoapresentados o significado de algumas etiquetas.

Tabela 5.4: Etiquetas e seus significados.

Símbolo Categoriav_fin verbo finito

art artigon nome, substantivo

v-inf infinitivopunc pontuaçãoadv advérbioprp preposição

7Centro de Recursos Distribuído para o Processamento Computacional da Língua Portuguesa(http://www.linguateca.pt/floresta/corpus.html)

8Adaptado de http://www.linguateca.pt/floresta/BibliaFlorestal/anexo1.html

5.1 Extrator 58

Conversor de Etiquetas

O conjunto de etiquetas (tag set) usado pelo modelo em inglês segue um modelodiferente do português. Devido à essa característica, foi necessário criar um conversorsimples de etiquetas. Para esse propósito foi construída a classe TagConverter.java, quefunciona de modo simples apenas traduzindo as etiquetas. Um exemplo de tradução podeser visto no fragmento de código (5.2) a seguir.

Código 5.2 Conversão de tipos de Etiqueta.1

2 if ( tag.equals( "adj" ) ) // adjetivo.

3 {

4 return "JJ"; // Adjective

5 }

6

A variável tag representa a etiqueta no formato da Linguateca, já o retorno éa etiqueta no formato Penn Treebank9. Foi necessário realizar essa conversão porque oReVerb trabalha internamente com essas etiquetas. Essa conversão é feita logo após todasas ferramentas trabalharem os textos. O seguinte trecho de código (5.3) faz a conversãodas etiquetas.

Código 5.3 Conversão de tipos de Etiqueta.1

2 for ( int i = 0; i < posTags.length; i++ )

3 posTags[ i ] = TagConverter.convert(

4 posTags[ i ], tokens[ i ] );

5.1.6 Chunker

O chunking de texto consiste apenas em segmentar texto em partes de palavrassintaticamente correspondentes, como grupos nominais e verbais. Como visto, cada umadessas tarefas é feita uma após a outra, ou seja, o chunking depende do part-of-speech

tagging, este por sua vez, precisa do tokenizer, que precisa do sentence detection. OReVerb incorpora todas essas tarefas. Apenas o chunking não é disponibilizado emportuguês pela OpenNLP. Devido à falta desse componente é necessário construí-lo apartir de exemplos. A OpenNLP fornece os meios para tal construção, mas isso não estáclaro em sua documentação. Os passos da construção são detalhados a seguir.

9 Penn Treebank (http://www.cis.upenn.edu/ treebank/)

5.1 Extrator 59

Da mesma forma que as outras ferramentas, o chunker foi treinando utilizandoo arquivo Bosque_CF_8.0.ad10, um corpus composto de 9.368 frases retiradas de doiscorpora, um português brasileiro e outro português europeu, ambos jornalísticos dedomínio genérico. O Bosque não possui grande quantidade de exemplos, mas possuiuma ótima qualidade, pois foi inteiramente revisto por linguistas e assim oferece melhorprecisão de resultados. Este corpus está no formato Avores Deitadas (AD11), e dessemodo, é necessário realizar a conversão para o formato nativo da OpenNLP, que ébaseado no CoNLL 200012. Para realizar a conversão deve-se entrar com o comando aseguir (5.5).

Tabela 5.5: Conversão de Formatos.

Comando opennlp ChunkerConverter ad –lang pt –data Bosque_CF_8.0.ad.txt –encoding ISO-8859-1 > bosque-chunk

Depois de executado este procedimento, o arquivo bosque-chunk foi criado epossui o formato nativo da OpenNLP. Seu conteúdo de treinamento consiste de trêscolunas, a primeira coluna contém a palavra, a segunda contém sua etiqueta, e a terceirapossui sua etiqueta de chunk (chunk tag), que contém o tipo do chunk, como B−NP eI−NP para frases substantivas, B−V P e I−V P para frases verbais e B−PP e I−PP

para preposições. B−CHUNK é usado para a primeira palavra do chunk e I−CHUNK

para as demais palavras13. Uma frase do arquivo bosque-chunk é mostrada na Tabela 5.6já no formato dos dados de treinamento do chunker. O conjunto de chunk tags utilizadosegue o modelo Penn Treebank 14 como mostrado na Tabela 5.7.

Tabela 5.6: Exemplo dos dados de treinamento para o Chunker.

Palavra Etiqueta de POS Etiqueta de ChunkAmazônia prop B-NP

tem v-fin B-VPcontaminação n B-NP

por prp B-PPpetróleo n B-NP

Depois da conversão, a próxima etapa consiste do treinamento do chunker. Paraessa finalidade foi utilizado o comando da Tabela (5.8) que usa o bosque-chunk na entradae retorna o chunker em português (pt-chunker.bin) na saída.

10Arquivo Bosque (http://www.linguateca.pt/floresta/ficheiros/gz/Bosque_CF_8.0.ad.txt.gz)11Frases Armazenadas na Estrutura de Árvores (http://www.linguateca.pt/floresta/BibliaFlorestal/completa.html)12Conference on Computational Natural Language Learning - uma conferência sobre PLN

(http://www.clips.uantwerpen.be/conll2000/chunking/)13Treinamento de chunker (https://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html)14Penn Treebank (http://www.cis.upenn.edu/ treebank/)

5.1 Extrator 60

Tabela 5.7: Significado das etiquetas de chunk.

Etiqueta SignificadoNP noun phrase (frase substantiva)VP verb phrase (frase verbal)PP prepositional phrase (frase preposicional)

Tabela 5.8: Treinamento do Chunker.

Comando opennlp ChunkerTrainerME –model pt-chunker.bin –lang pt –data bosque-chunk –encoding ISO-8859-1

Depois do chunker treinado é necessário avaliar a sua performance. Ao utilizar oconjunto de dados em que ele foi treinado os resultados se mostraram muito satisfatórios.Para isso foi utilizado o comando da Tabela (5.9).

Tabela 5.9: Avaliação do Chunker.

Comando opennlp ChunkerEvaluator –model pt-chunker.bin –misclassified false –detailedF true –data bosque-chunk –encoding ISO-8859-1

Após treinar o chunker, na Tabela 5.10 são apresentados os resultados de sua per-formance em uma comparação15 ao chunker em inglês disponibilizado pela OpenNLP.

Tabela 5.10: Comparação de desempenho dos Chunkers.

Chunker Inglês Chunker PortuguêsMédia (Sentenças/Segundo) 161,6 342,0

Total de Sentenças 2013 4213Tempo de Execução em segundos 12.457 12.318

Precisão (Precision) 0.9244354736974896 0.9943854141511712Cobertura (Recall) 0.9216837162502096 0.994405425529774Taxa F (F-Measure) 0.9230575441395671 0.9943954197397946

Os Chunkers são avaliados de acordo com a taxa F (F-Measure), que é umacombinação das taxas da precisão (precision) e cobertura (recall)16:

F =2∗ precisao∗ cobertura

precisao+ cobertura(5-1)

Cada chunker foi avaliado com diferentes textos de acordo com suas linguagens,e como o chunker em português também demonstrou bons resultados, pode significar queele alcançará boa performance em conjunto com o ReVerb. Na Tabela 5.11 é mostradoum exemplo de execução do chunker. Este é alimentado com a saída do pos tagger paraagrupar os tipos gramaticais.

15https://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html#tools.corpora.conll.200016CoNLL2000 (http://www.clips.uantwerpen.be/conll2000/chunking/)

5.1 Extrator 61

Tabela 5.11: Exemplo de execução do Chunker.

Comando opennlp ChunkerME pt-chunker.bin < output-postagged.txt > output-chunk.txt

Saída [VP Podem_v-fin ] [NP as_art máquinas_n ] [VP pensar_v-inf ] ?_punc[VP Acredito_v-fin ] [VP ser_v-inf ] [ADVP muito_adv ] [PP sem_prp ][NP sentido_n ] [PP para_prp ] [VP merecer_v-inf ] [NP discussão_n ]._punc

Após o chunker treinado, o próximo passo agora é utilizá-lo em conjunto comas outras ferramentas (SentenceDetector, Tokenizer, POS Tagger e Chunker) no ReVerb.Primeiro é necessário adicionar as ferramentas nas dependências do projeto. Depois, viacódigo deve-se configurar novas entradas para que as ferramentas possam ser utilizadas eo ReVerb seja capaz de extrair informações em português.

5.1.7 Extração, Restrições e Dicionário

O algoritmo de extração funciona como o já apresentado (Seção 3.4.1). Dadauma frase qualquer, primeiro é feita a extração da relação. Essa primeira parte compreendeem utilizar a restrição sintática, ou seja, encontrar relações que correspondem ao padrãoverbo + preposição + substantivos ou adjetivos ou advérbios. Ainda na extração da relaçãoexiste a restrição léxica, ou seja, as relações encontradas devem ter correspondências emum dicionário criado previamente. O dicionário do ReVerb é criado através da análisede muitas páginas usando a restrição sintática. O dicionário possui apenas relações e aquantidade de vezes que elas aparecem nas páginas. Esse dicionário possui 1.717.539relações em inglês que foram traduzidas para o português utilizando o Google Tradutor17.Devido à grande quantidade de relações, não era viável realizar todas as traduçõesmanualmente. As traduções eram simples e algumas foram revistas. Algumas poucastraduções também foram feitas diretamente via código.

5.1.8 Saída

Depois que o dicionário é substituído, o novo ReVerb está pronto para realizar asextrações em português. Na Tabela 5.12 é mostrado um resumo de todo o processamentodo ReVerb. No final, a saída é uma tripla semântica no modelo já apresentado. Agora apróxima etapa é a mineração dessas triplas.

17Google Tradutor (https://translate.google.com.br/)

5.2 Minerador 62

Tabela 5.12: Exemplo de execução do ReVerb.

Passo TextoPasso 1 <html>Maças são ricas em nutrição. Continuação...</html>Passo 2 Maças são ricas em nutrição. Continuação...Passo 3 Maças são ricas em nutrição.Passo 4 Maças são ricas em nutrição .Passo 5 Maças_prop são_v-fin ricas_adj em_prp nutrição_n ._puncPasso 5.5 Maças_NNP são_VBD ricas_JJ em_IN nutrição_NN ._OPasso 6 Maças_B-NP são_B-VP ricas_B-ADJP em_B-PP nutrição_B-NP .Passo 7 (Maças, são ricas em, nutrição)

5.2 Minerador

Após realizar as modificações no ReVerb, o próximo passo é a construçãodo Minerador Semântico. Essa segunda etapa consiste em encontrar informações úteisescondidas nas informações extraídas. Para isso, é utilizada a Mineração de Regras deAssociação que descobre ocorrências de entidades e relações das triplas. Na Figura 5.2é apresentado o modelo da arquitetura do minerador de dados semânticos. A arquiteturabaseada em uma série de subtarefas (4.2.2) da Mineração Web é explicada nas subseçõesa seguir.

5.2.1 Descoberta de Recursos

A primeira parte do Minerador é composta pela descoberta de recursos, ou seja,é a entrada dos dados para a mineração. A entrada é formada pelas triplas semânticasextraídas pelo ReVerb. Assim, a saída de um é a entrada do outro. Depois de descobrir osrecursos é necessário prepará-los.

5.2.2 Seleção de Informação

Essa próxima etapa seleciona a informação que será realmente minerada. Aquios dados são pré-processados para o processo de mineração. A preparação dos dadoscomporta o agrupamento de triplas semelhantes, ou seja, é verificado se existe semelhançanas três partes da tripla, se sim, essas triplas são agrupadas. Tudo está pronto para amontagem das transações após as triplas similares estarem separadas.

5.2 Minerador 63

Pré-processador

Montador de Transações

Algoritmo de Mineração

Triplas Sem

elhantes

MineradorMinerador

Triplas Semânticas(Entidade1, Relação, Entidade2)

Triplas Semânticas(Entidade1, Relação, Entidade2)

EntradaEntrada

Regras-------, -------- --------

SaídaSaída

Novas Triplas Semânticas(Entidade1, Relação, Entidade2)

Novas Triplas Semânticas(Entidade1, Relação, Entidade2)

Figura 5.2: Arquitetura do Minerador.

5.2 Minerador 64

5.2.3 Montagem das Transações

Este processo não está presente nas subtarefas da Mineração Web. Porém, eleé necessário uma vez que os dados a serem minerados são semânticos. A montagemde transações compreende a combinação de duas das três partes das triplas para queseja possível utilizar um algoritmo tradicional da Mineração de Dados (FP-Growth). Omontador de transações recebe as triplas na entrada e retorna as transações na saída. Essamontagem é baseada nas Configurações de Mineração (4.5). O exemplo das Tabelas 5.14,5.15 e 5.16 pode deixar o funcionamento do montador mais claro.

5.2.4 Generalização

Após a extração de informação, as triplas são passadas para o montador de tran-sações, essas transações são utilizadas para realizar generalização, ou seja, a mineraçãodas regras de associação das triplas. Para a Mineração foi utilizada a SMPF [38], umaBiblioteca de Mineração de Dados Aberta. A Mineração das Regras de Associação é feitapelo FP-Growth modificado para trabalhar com palavras (strings). Para efeitos de exem-plificação, pode-se considerar as triplas da Tabela 5.13 a seguir.

Tabela 5.13: Amostra de Triplas.

Entidade1 Relação12 Entidade2Raul nasceu em Rio de JaneiroRaul mora em São PauloRaul morreu em São PauloRaul trabalhou com publicação de livros

Renato nasceu em Rio de JaneiroRenato mora em SalvadorRenato morreu em São Paulo

Alexandre é um nativo de Rio de JaneiroAlexandre trabalhou com gravura em madeiraAlexandre morreu em Brasília

São utilizadas três configurações de mineração para a descoberta de fatos implí-citos. Baseado na tabela anterior (Tabela 5.13), nas próximas Tabelas (5.14, 5.15 e 5.16)são mostradas as triplas já configuradas (transações prontas).

Minerar Sujeitos no Contexto de Predicados (Conf. 3 - Tabela 5.14) resulta emregras que expressam entidades relacionadas. Por exemplo, a regra Raul → Renato foigerada com 67% de confiança em ambas as direções. Essa regra liga duas entidadesPessoa, visto que essas pessoas possuem muitos predicados em comum.

Minerar Sujeitos no Contexto de Objetos (Conf. 5 - Tabela 5.15) resulta emregras entre entidades relacionadas ao mesmo tópico (sujeitos que compartilham o mesmoobjeto). As regras Raul, Alexandre→ Renato e Renato, Alexandre→ Raul foram geradas

5.2 Minerador 65

Tabela 5.14: (Conf. 3) Sujeitos no Contexto de Predicados.

TID (Contexto) Transação (Alvo)nasceu em Raul, Renato

é um nativo de Alexandretrabalhou com Alexandre, Raul

mora em Raul, Renatomorreu em Alexandre, Raul, Renato

com 100% de confiança, o que quer dizer que essas pessoas compartilham os mesmosvalores de objetos, neste caso estão relacionados ao mesmo tópico (Rio de Janeiro).

Tabela 5.15: (Conf. 5) Sujeitos no Contexto de Objetos.

TID (Contexto) Transação (Alvo)gravura em madeira Alexandre

Salvador RenatoRio de Janeiro Alexandre, Raul, Renato

Brasília Alexandrepublicação de livros Raul

São Paulo Raul, Renato

Minerar Predicados no Contexto de Objetos (Conf. 6 - Tabela 5.16) visa desco-brir as relações de determinado objeto. Como predicados definem relacionamentos entreentidades, regras dessa configuração podem ser usadas para detecção de sinônimos. Sepredicados possuem significado similar, eles também compartilham objetos similares. Porexemplo, a regra é um nativo de→ nasceu em foi gerada com 100% de confiança. Assim,foram descobertos predicados diferentes com o significado similar.

Tabela 5.16: (Conf. 6) Predicados no Contexto de Objetos.

TID (Contexto) Transação (Alvo)gravura em madeira trabalhou com

Salvador mora emRio de Janeiro nasceu em, é um nativo de

Brasília morreu empublicação de livros trabalhou com

São Paulo mora em, morreu em

5.2.5 Análise

Como apresentado, após a mineração o sistema retorna o resultado em forma deregras. Assim, essa etapa compreende o processo de analisar essas regras geradas e validá-las. Utilizando a configuração 6 (descoberta de sinônimos), as regras é um nativo de →nasceu em e morreu em→mora em foram geradas com 100% de confiança das transações

5.3 Aplicação das Triplas Semânticas 66

da Tabela 5.16. Aqui entra a validação feita por um humano. Apenas a primeira regra éválida, visto que mora em e morreu em não são sinônimos.

5.2.6 Novas Triplas

Resumidamente, tudo começa com as páginas da Web que se deseja extrairinformação. Essas páginas são passadas ao ReVerb para início do processamento dostextos encontrados nas páginas de entrada. Essas páginas passam por um processo delimpeza para remoção das etiquetas da linguagem HTML. O que sobra é apenas textobruto. No próximo passo, são utilizadas as ferramentas do PLN em português em conjuntocom o algoritmo de extração explicado anteriormente. Depois de todo o processamentodos textos, o sistema produz várias triplas semânticas. Após a disponibilização das triplas,elas são organizadas e preparadas para a parte da mineração. Um montador recebe essastriplas e as transforma em transações prontas para serem recebidas pelo minerador dedados. O algoritmo FP-Growth [38] minera as regras de associações das transações eencontra regras que demonstram a co-ocorrência de itens das triplas (entidades e relações).Depois da descoberta das regras é a vez de um ser humano analisá-las para validação.Uma vez que as regras são validadas, a saída final pode ser utilizada para a criação denovas triplas semânticas. Essas triplas descobertas podem ser integradas nas outras triplasextraídas para serem utilizadas em uma série de aplicações.

5.3 Aplicação das Triplas Semânticas

A extração de informação independente de domínios de textos em portuguêsem combinação com a mineração dessas informações permite tirar o melhor resultadodessa união, ou seja, a descoberta de várias triplas semânticas reutilizáveis em aplicaçõesfuturas. Tais aplicações (Figura 5.3) incluem a construção ou expansão de ontologias,marcações semânticas e, ainda repositórios semânticos. As triplas ainda podem serutilizadas para a construção de sistemas de perguntas e respostas que trazem resultadosprecisos para as consultas dos usuários. Além disso, essas atividades estão alinhadas aosprincípios da construção da Web Semântica em português.

5.3 Aplicação das Triplas Semânticas 67

Pergunta-Resposta

Triplas Semânticas(Entidade1, Relação, Entidade2)

Triplas Semânticas(Entidade1, Relação, Entidade2)

Marcações Semânticas

WebSemântica

? !Repositórios Semânticos

Ontologias

Figura 5.3: Principais Aplicações das Triplas Semânticas

Para uma exemplificação prática, considera-se um sistema de perguntas e respos-tas, uma das aplicações mais simples e interessantes que utilizam as triplas semânticas.Aqui as triplas são indexadas e podem ser buscadas. Da mesma forma como acontece nasbuscas que utilizam palavras-chave, a buscas de sistemas de pergunta e resposta utilizamas triplas. Um usuário que pesquisa “O que mata as bactérias?”, deve receber rapidamenteuma resposta precisa, não uma lista de páginas que contém as palavras “mata” e “bacté-rias”. Ao fazer essa mesma pergunta em inglês (What kills bacteria?) ao motor de buscaGoogle, é retornado uma lista de aproximadamente 4.410.000 links. Para descobrir o quemata uma bactéria é necessário clicar nesses links e ler as páginas para tentar encontraruma resposta que satisfaça a pergunta. Ao utilizar a mesma pergunta em uma ferramentade pergunta e resposta18, são retornados resultados simples e diretos (Ozônio, Álcool,Prata, Cozinhar, Cloro, entre outros), exatamente o que o usuário necessita saber. Alémdisso, as respostas fornecem descrições das respostas (Antibióticos são compostos anti-bacterianos...). Nas Figuras 5.4 e 5.5 pode-se perceber melhor as diferenças entre os doistipos de busca usando a mesma pergunta.

18http://openie.cs.washington.edu/

5.3 Aplicação das Triplas Semânticas 68

Figura 5.4: Pesquisa no Google.

5.3 Aplicação das Triplas Semânticas 69

Figu

ra5.

5:Pe

squi

saem

umsi

stem

ade

Perg

unta

-Res

post

a.

CAPÍTULO 6Experimentação e Avaliação dos Resultados

O ReVerb utiliza uma abordagem que mistura relações baseadas em verbocom algumas restrições. O sistema também usa processamento de linguagem natural eexpressões regulares para dividir uma sentença em Entidade-Relação-Entidade. Utilizarprocessamento sintático superficial garante robustez, velocidade e eficiência para operarna escala da Web. Os resultados da aplicação do ReVerb, depois de modificado paraoperar na língua portuguesa, são descritos a seguir.

6.1 Análise dos Resultados

Os experimentos foram conduzidos em um conjunto de dados com pouco maisde 50 sentenças usados para avaliar a performance dos sistemas. Essas sentenças foramretiradas de exemplos dos trabalhos relacionados. Apesar do conjunto ser pequeno,acredita-se ser suficiente para mostrar que a EIA pode ser aplicada também para oportuguês. Para obter um bom resultado, cada frase foi traduzida do inglês para oportuguês por um pesquisador. Além disso, essas traduções foram verificadas por outropesquisador. Desse modo, foram criados dois corpora de texto com as mesmas frases, ecada um está em sua linguagem particular. Após o processo de tradução, cada sentença foiindependentemente examinada por dois pesquisadores para identificar as triplas presentesnas sentenças. No total foram identificadas 69 triplas (Capítulo 8) com o consenso dospesquisadores. Essas triplas representam o padrão que se deseja alcançar, ou seja, essepadrão determina se uma extração está correta ou incorreta. Extrações incoerentes e nãoinformativas foram consideradas como incorretas.

A avaliação do ReVerb modificado foi baseada na correspondência exata, ouseja, cada parte da tripla extraída deve ser identica ao padrão criado. O ReVerb originale o modificado são comparados utilizando os padrões criados, cada um em seu idiomaespecífico. Para cada sistema é dado um conjunto de sentenças como entrada. Após oprocessamento, a saída são várias tuplas relacionais. Cada sistema retorna uma pontuaçãode confiança para a extração. De uma maneira mais simples, a cobertura é medida peladivisão das triplas extraídas corretamente pelo total das triplas extraídas. A precisão é

6.1 Análise dos Resultados 71

medida pela divisão das triplas extraídas corretamente pelas triplas existentes no padrãocriado [65, 72]. As métricas são melhor definidas pelas fórmulas:

Precisao =Corretas

Corretas+ Incorretas(6-1)

Cobertura =CorretasPadrao

(6-2)

O ReVerb em português permaneceu quase que o mesmo em inglês, excetopor alguns fatores específicos de linguagem que podem não ter sido tratados de formaadequada, como o funcionamento interno do programa que não foi alterado. Apenas asferramentas e o dicionário do ReVerb foram alterados. Como cada linguagem possui suaspróprias características isso pode afetar os resultados. Para medir a precisão e a coberturaforam utilizadas as extrações rotuladas como corretas (padrão) pelos pesquisadores. NaTabela 6.1 são mostrados os resultados de precisão, cobertura, e a combinação das duas(Taxa-F).

Tabela 6.1: Avaliação do ReVerb: Inglês Vs. Português

Precisão Cobertura Taxa-FReVerb Original 0,6507936507 0,5942028985 0,621212121

ReVerb Modificado 0,527272727 0,420289855 0,467741935

Vale a pena mencionar que o número de triplas extraídas pelo ReVerb modifi-cado é menor que as obtidas pelo ReVerb original, considerando que o dicionário nãofoi inteiramente traduzido manualmente e algumas etiquetas convertidas não tinham cor-respondência exata. Com os resultados apresentados é possível perceber que o ReVerbtambém pode ser traduzido para outras diversas linguagens. Na Figura 6.1 é possível vera comparação de cada extração dos sistemas utilizando a métrica de confiança. Essa me-dida possui valor máximo de 1 e indica a qualidade da tripla extraída baseado em umasérie de fatores (Tabela 6.2). Pode-se notar que os valores de confiança variam bastante,ou seja, em determinados um sistema se sai melhor que o outro e vice-versa. Mesmo queos resultados alcançados pelo ReVerb modificado estejam um pouco abaixo do ReVerboriginal, fica constatado que o mesmo é adequado para extrair informação em português.

6.1 Análise dos Resultados 72

Tabela 6.2: Valores de Confiança para as triplas. Adaptado [33].

Valor Fator1.16 (X ; R; Y ) cobre todas as palavras em S0.50 última preposição em R é para0.49 última preposição em R é em0.46 última preposição em R é de0.43 tamanho de S <= 10 palavras0.42 R corresponde ao padrão VW ∗P da Figura 3.10.23 10 palavras < tamanho de S <= 20 palavras0.21 S começa com X0.16 Y é nome próprio0.01 X é nome próprio-0.30 existe uma frase nominal na esquerda de X em S-0.43 20 palavras < tamanho de S-0.61 R corresponde a V da da Figura 3.1-0.65 existe uma preposição na esquerda de X em S-0.81 existe uma frase nominal na direita de Y em S

0 10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

Número de Triplas

Con

fianç

a

ReVerb OriginalReVerb Modificado

Figura 6.1: Métricas de Confiança das Extrações.

Para testar a velocidade de execução dos sistemas, eles foram executados emuma plataforma Windows 8.1 com uma CPU de 2.2GHz quad-core e 8GB de memóriaRAM. O tempo de processamento total do ReVerb original foi de 7.704s segundos e doReVerb modificado foi de 7.763s segundos. Os sistemas utilizaram menos de 200 MB dememória RAM em média. Como pode ser notado, ambos os sistemas executaram em umtempo bastante pequeno.

6.1 Análise dos Resultados 73

De outro lado, a mineração das triplas encontrou alguns resultados interessantes.Os experimentos foram feitos pela aplicação de valores de confiança de 60% e suportede 50% em um corpus com 500 triplas extraídas da Wikipedia em inglês. As validaçõesdas regras geradas ficaram a cargo de humanos. Foram geradas regras ligando reduzir→cortar com 100% de confiança em ambas as direções. Essa mineração de predicados nocontexto objetos indicou palavras sinônimas. Já a mineração de sujeitos no contexto depredicados encontrou a regra Johnson→ Nikko também com 100% de confiança dos doislados. Essa regra identificou duas entidades pessoa. Se o suporte fosse aumentado, seriapossível encontrar entidades representativas das profissões dessas pessoas. Outra regrasforam encontradas, mas elas não expressavam os resultados que se desejava alcançar.Assim elas foram invalidadas. A mineração de sujeitos no contexto de objetos nãoencontrou regras significantes para o conjunto de dados utilizado. Para encontrar umaquantidade mais significativa de regras é necessário minerar um quantidade maior detriplas. As novas informações encontradas permitem a criação de outras triplas, e assim,é possível aumentar a quantidade de informações extraídas.

Os experimentos demonstram que a combinação das técnicas permite aproveitaro melhor resultado da união das duas. O objetivo alcançado é a extração das triplas apartir de textos planos em português. O importante é que as informações são detectadasde texto, transformadas e armazenadas para uso posterior.

CAPÍTULO 7Considerações Finais

A Web evoluiu rapidamente, desde a Web de documentos, em que usuárioseram consumidores de informações estáticas (Web 1.0), para uma Web mais dinâmica,conhecida como Web social ou colaborativa (Web 2.0), em que os usuários produzeme consomem informação simultaneamente. Depois começou a surgir uma Web maissofisticada, conhecida como Web Semântica (Web 3.0), onde é dado significado bemdefinido à informação para facilitar o acesso à essa informação. O futuro da Web é a WebInteligente (4.0), conhecida como Internet das Coisas, uma extensão da Web Semântica,onde objetos (físicos e lógicos) e serviços interagem em uma ambiente virtual multimídia[74]. De modo geral, a Web é o meio global onde usuários podem ler e escrever viacomputadores conectados pela Internet. Atualmente, a Web está em sua segunda versãoe, ainda são necessários superar alguns desafios para tornar a Web Semântica em largaescala.

O conteúdo da Web é enorme e sua quantidade de informações tem se expan-dido. Além disso, seus documentos são heterogêneos, desorganizados, desestruturadossemanticamente e foram elaborados para o consumo das pessoas. Tudo isso dificulta oprocessamento dos computadores e consequentemente o uso pleno dessa informação setorna difícil. A chave para resolver esse problema, como apresentado neste trabalho, podeser a disponibilização de triplas semânticas. Trazer estrutura significativa para textos bru-tos possibilitará que softwares realizem tarefas mais sofisticadas para os usuários, comopor exemplo, encontrar respostas exatas para consultas. Desse modo, o computador pode“entender” a informação, ou seja, manipulá-la de uma maneira mais útil e eficaz, o que éum dos objetivos da Web Semântica.

Os primeiros sistemas de recuperação de informação de texto eram manualmenteconfigurados para cada domínio pequeno e específico. Com o passar do tempo o trabalhomanual diminuiu, mesmo assim, era necessário criar exemplos manualmente para cadatópico de interesse. Recentemente, foi introduzido um novo paradigma, a EIA, um métodoautomático de extração de informação de grandes conjuntos de texto. A ideia básica ésimples: a maioria das sentenças contem pistas sintáticas confiáveis do seu significado.Muitas vezes é bastante simples para o computador localizar verbos em uma sentença,

7.1 Principais Contribuições 75

identificar entidades relacionadas pelo verbo e usar isso para criar fatos [29]. O objetivoé extrair fatos de texto consistentes de entidades e relacionamentos, para construçãode representações semânticas. A partir desses fatos ainda é possível descobrir fatosimplícitos. Para isso, utiliza-se a Mineração de Dados adaptada para trabalhar com dadossemânticos.

Este trabalho tratou de um meio para o apoio à construção da Web Semântica,mais especificamente facilitar e encorajar a construção dessa Web para o idioma portu-guês. As triplas semânticas geradas pela extração e mineração da Web podem dar suportepara que os recursos da Web sejam utilizados de forma mais eficaz. Com as triplas dispo-níveis, pesquisadores podem utilizá-las para seus objetivos específicos. O propósito destetrabalho foi estender o estado da arte dos sistemas de EIA de processamento sintático su-perficial para extração de informação de textos em português, para que, este possa servircomo ferramental para outros pesquisadores e entusiastas da Web Semântica. A propostaera deixar um facilitador para os pesquisadores dessa área e desse idioma e contribuirpara a construção da terceira geração da Web. Através das triplas semânticas pode-secriar marcações semânticas para páginas, ontologias, sistemas de pergunta e resposta ebases semânticas.

O presente estudo demonstrou resultados interessantes de contribuição paraa Web Semântica. As triplas disponíveis podem ajudar o computador a entender osignificado por trás da informação, para encontrar melhor o que os usuários procuram.O primeiro passo deste trabalho foi a modificação do sistema ReVerb para a extração deinformação de textos da Web em português e, a partir dessa informação, foi implementadaa mineração que descobre novas informações importantes, antes ocultas. Todo esseprocesso é necessário para disponibilizar triplas semânticas em português como formade apoio à construção da Web Semântica neste idioma.

7.1 Principais Contribuições

Visando alcançar o objetivo primário e os secundários, a principal contribuiçãodesse trabalho é a aplicação da EIA para textos em português. Como mostrado, astriplas semânticas possuem diversas aplicações, todas atreladas aos objetivos da WebSemântica. Isso demonstra que o presente trabalho oferece alguns meios para impulsionara construção dessa Web.

O trabalho explora a combinação de duas técnicas da Inteligência Computaci-onal. Em primeiro lugar está a aplicação do ReVerb para outra linguagem diferente doinglês. Além disso, é utilizada a Mineração de Dados em um contexto diferente do habi-tual. Aqui são utilizados algoritmos tradicionais em conjunto com dados semânticos.

7.2 Limitações e Trabalhos Futuros 76

Os experimentos demonstraram que a EIA de processamento superficial tempotencial promissor para o idioma português. Enquanto a análise profunda pode durarvárias horas, a análise superficial dura apenas minutos. Além disso, a disponibilidadede conteúdo para aplicações futuras pode permitir um melhor acesso à informação daWeb. Mesmo que simples, as triplas semânticas permitem aos computadores um melhorprocessamento na hora de encontrar respostas para os usuários.

Por último, fica disponível um modelo para a construção de um sistema de EIAmultilíngue, ou seja, um modelo de alterações do ReVerb para que o mesmo trabalhecom espanhol, dinamarquês, holandês, sueco, entre outros por exemplo. Além disso,a mineração de dados encontrou novas informações que podem ser utilizadas para aconstrução de novas triplas.

7.2 Limitações e Trabalhos Futuros

De acordo com os resultados obtidos, foram identificadas algumas limitações notrabalho. Pode-se perceber que o ReVerb original conseguiu encontrar mais triplas que oReVerb alterado. Tudo isso se deve a uma série de fatores. O primeiro é que o sistemafoi adaptado e não criado especificamente para o português. Em segundo lugar, existemalgumas divergências nas saídas das ferramentas da OpenNLP para cada tipo de idioma.Como por exemplo irregularidades no etiquetamento de alguns tokens. Em terceiro lugarfica o dicionário que foi traduzido de forma automática. Traduzir o dicionário de formamanual poderia melhorar os resultados.

Pode-se, posteriormente, explorar algumas soluções para os problemas encon-trados. Primeiramente, pode-se utilizar outras ferramentas de PLN em substituição daOpenNLP, desde que estas trabalhem com textos em português. Também pode-se rea-lizar um novo treinamento das ferramentas da OpenNLP. Uma questão importante é odicionário do ReVerb, que poderia gerar melhor resultados caso tivesse sido criado dire-tamente do português ao invés de traduzido. Para criar esse dicionário é necessário umaenorme quantidade de páginas em português.

Para apresentar uma aplicação prática das informações extraídas da Web pode-se criar um sistema de pergunta e resposta. Esse sistema seria alimentado pelas triplasencontradas e poderia fazer sugestões de conteúdos relacionados com as informaçõesdescobertas pela mineração. Além disso, essas triplas poderiam ser colocadas em umbanco de dados orientado a grafos. As entidades seriam representadas pelos vértices e asrelações pelas arestas. Desse modo, todas as triplas poderiam estar ligadas formando umarepresentação semântica mais rica.

Referências Bibliográficas

[1] ABEDJAN, Z.; GRUETZE, T.; JENTZSCH, A.; NAUMANN, F. Profiling and mining rdf

data with prolod++. In: ICDE Conference 2014, p. 1198–1201. IEEE, 2014.

[2] ABEDJAN, Z.; NAUMANN, F. Context and target configurations for mining rdf

data. In: Proceedings of the 1st International Workshop on Search and Mining Entity-

relationship Data, SMER ’11, p. 23–24, New York, NY, USA, 2011. ACM.

[3] ABEDJAN, Z.; NAUMANN, F. Improving rdf data through association rule mining.

Datenbank-Spektrum, 13(2):111–120, 2013.

[4] ABEDJAN, Z.; NAUMANN, F. Synonym analysis for predicate expansion. In: Cimi-

ano, P.; Corcho, O.; Presutti, V.; Hollink, L.; Rudolph, S., editors, The Semantic Web:

Semantics and Big Data, volume 7882 de Lecture Notes in Computer Science, p.

140–154. Springer Berlin Heidelberg, 2013.

[5] AGHAEI, S.; NEMATBAKHSH, M. A.; FARSANI, H. K. Evolution of the world wide

web: From web 1.0 to web 4.0. International Journal of Web & Semantic Technology,

3(1):1–10, 2012.

[6] AGRAWAL, R.; SRIKANT, R. Fast algorithms for mining association rules in large

databases. In: Proceedings of the 20th International Conference on Very Large Data

Bases, VLDB ’94, p. 487–499, San Francisco, CA, USA, 1994. Morgan Kaufmann

Publishers Inc.

[7] AKBIK, A.; BROSS, J. Wanderlust: Extracting semantic relations from natural

language text using dependency grammar patterns. In: WWW Workshop, 2009.

[8] AKBIK, A.; LÖSER, A. Kraken: N-ary facts in open information extraction. In:

Proceedings of the Joint Workshop on Automatic Knowledge Base Construction and

Web-scale Knowledge Extraction, AKBC-WEKEX ’12, p. 52–56, Stroudsburg, PA,

USA, 2012. Association for Computational Linguistics.

[9] AKSAC, A.; OZTURK, O.; DOGDU, E. A novel semantic web browser for user

centric information retrieval: {PERSON}. Expert Systems with Applications,

39(15):12001 – 12013, 2012.

Referências Bibliográficas 78

[10] BABU, K. G.; KOMALI, A.; MYTHRY, V.; RATNAM, A. S. K. Web mining using

semantic data mining techniques. International Journal of Soft Computing and

Engineering (IJSCE), 2(3):168–171, July 2012.

[11] BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information Retrieval: The Con-

cepts and Technology behind Search (2nd Edition) (ACM Press Books).

Addison-Wesley Professional, 2 edition, Feb. 2011.

[12] BALKE, W.-T. Introduction to information extraction: Basic notions and current

trends. Datenbank-Spektrum, 12(2):81–88.

[13] BANKO, M. Open Information Extraction for the Web. PhD thesis, University of

Washington, 2009.

[14] BANKO, M.; CAFARELLA, M. J.; SODERLAND, S.; BROADHEAD, M.; ETZIONI, O.

Open information extraction from the web. IJCAI, p. 2670–2676, 2007.

[15] BANKO, M.; ETZIONI, O. The tradeoffs between open and traditional relation

extraction. In: Proceedings of ACL-08: HLT, p. 28–36, Columbus, Ohio, June 2008.

Association for Computational Linguistics.

[16] BERENDT, B.; HOTHO, A.; STUMME, G. Towards semantic web mining. In:

Proceedings of the First International Semantic Web Conference on The Semantic

Web, ISWC ’02, p. 264–278, London, UK, UK, 2002. Springer-Verlag.

[17] BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The Semantic Web. Scientific

American, 284(5):34–43, 2001.

[18] CHITICARIU, L.; LI, Y.; RAGHAVAN, S.; REISS, F. Enterprise information extrac-

tion: recent developments and open challenges. In: Elmagarmid, A. K.; Agrawal,

D., editors, SIGMOD Conference, p. 1257–1258. ACM, 2010.

[19] CHOWDHURY, G. G. Natural language processing. Annual Review of Information

Science and Technology, 37(1):51–89, 2003.

[20] CHRISTENSEN, J.; MAUSAM.; SODERLAND, S.; ETZIONI, O. Semantic role labeling

for open information extraction. In: IN PROCEEDINGS OF THE FIRST INTERNA-

TIONAL WORKSHOP ON FORMALISMS AND METHODOLOGY FOR LEARNING

BY, 2010.

[21] COOLEY, R.; MOBASHER, B.; SRIVASTAVA, J. Web mining: Information and pattern

discovery on the world wide web. In: Proceedings of the Ninth IEEE International

Conference on Tools with Artificial Intelligence (ICTAI’97). IEEE Computer Society,

Nov. 1997.

Referências Bibliográficas 79

[22] DEL CORRO, L.; GEMULLA, R. Clausie: Clause-based open information extrac-

tion. In: Proceedings of the 22Nd International Conference on World Wide Web,

WWW ’13, p. 355–366, Republic and Canton of Geneva, Switzerland, 2013. Interna-

tional World Wide Web Conferences Steering Committee.

[23] DESHPANDE, D. S. A survey on web data mining applications. IJCA Proceedings

on Emerging Trends in Computer Science and Information Technology (ETCSIT2012)

etcsit1001, ETCSIT(3):28–32, April 2012. Published by Foundation of Computer

Science, New York, USA.

[24] DHENAKARAN, S. S.; YASODHA, S. Semantic web mining - a critical review.

(IJCSIT) International Journal of Computer Science and Information Technologies,

2(5):2258–2261, 2011.

[25] DILL, S.; EIRON, N.; GIBSON, D.; GRUHL, D.; GUHA, R.; JHINGRAN, A.; KANUNGO,

T.; MCCURLEY, K. S.; RAJAGOPALAN, S.; TOMKINS, A.; TOMLIN, J. A.; ZIEN, J. Y. A

case for automated large-scale semantic annotation. Web Semantics: Science,

Services and Agents on the World Wide Web, 1(1):115 – 132, 2003.

[26] EIKVIL, L. Information extraction from the world wide web: a survey. Technical

Report 945, Norwegian Computing Center, 1999.

[27] ESA, A.; TAIB, S.; THI, H. N. Prototype of semantic search engine using

ontology. In: Open Systems (ICOS), 2010 IEEE Conference on, p. 109–114, Dec

2010.

[28] ETZIONI, O. The world-wide web: Quagmire or gold mine? Commun. ACM,

39(11):65–68, Nov. 1996.

[29] ETZIONI, O. Search needs a shake-up. Nature, 476(7358):25–26, Aug. 2011.

[30] ETZIONI, O.; BANKO, M.; SODERLAND, S.; WELD, D. S. Open information extrac-

tion from the web. Commun. ACM, 51(12):68–74, Dec. 2008.

[31] ETZIONI, O.; CAFARELLA, M.; DOWNEY, D.; POPESCU, A.-M.; SHAKED, T.; SODER-

LAND, S.; WELD, D. S.; YATES, A. Unsupervised named-entity extraction from

the web: An experimental study. Artificial Intelligence, 165(1):91 – 134, 2005.

[32] ETZIONI, O.; FADER, A.; CHRISTENSEN, J. Open Information Extraction: The

Second Generation. In: International Joint Conference on Artificial Intelligence

(IJCAI), 2011.

[33] FADER, A.; SODERLAND, S.; ETZIONI, O. Identifying relations for open informa-

tion extraction. In: EMNLP, p. 1535–1545. ACL, 2011.

Referências Bibliográficas 80

[34] FAYYAD, U. M.; PIATETSKY-SHAPIRO, G.; SMYTH, P. Advances in knowledge

discovery and data mining. chapter From Data Mining to Knowledge Discovery:

An Overview, p. 1–34. American Association for Artificial Intelligence, Menlo Park,

CA, USA, 1996.

[35] FLEISCHHACKER, D.; VÖLKER, J.; STUCKENSCHMIDT, H. Mining rdf data for

property axioms. In: Meersman, R.; Panetto, H.; Dillon, T.; Rinderle-Ma, S.; Dadam,

P.; Zhou, X.; Pearson, S.; Ferscha, A.; Bergamaschi, S.; Cruz, I., editors, On the

Move to Meaningful Internet Systems: OTM 2012, volume 7566 de Lecture Notes in

Computer Science, p. 718–735. Springer Berlin Heidelberg, 2012.

[36] FOUNDATION, T. A. S. Apache opennlp 1.5.3 documentation. http://opennlp.

apache.org/documentation.html, último acesso em Junho de 2014, 2010.

[37] FOUNDATION, T. A. S. Welcome to apache opennlp. https://opennlp.apache.

org/, último acesso em Junho de 2014, 2010.

[38] FOURNIER-VIGER, P.; GOMARIZ, A.; GUENICHE, T.; SOLTANI, A.; WU, C.-W.;

TSENG, V. S. Spmf: A java open-source pattern mining library. Journal of Ma-

chine Learning Research, 15:3389–3393, 2014.

[39] FUENTES-LORENZO, D.; FERNÁNDEZ, N.; FISTEUS, J. A.; SÁNCHEZ, L. Improving

large-scale search engines with semantic annotations. Expert Systems with

Applications, 40(6):2287–2296, 2013.

[40] GAMALLO, P. An Overview of Open Information Extraction (Invited talk). In:

Pereira, M. J. V.; Leal, J. P.; Simões, A., editors, 3rd Symposium on Languages,

Applications and Technologies, volume 38 de OpenAccess Series in Informatics

(OASIcs), p. 13–16, Dagstuhl, Germany, 2014. Schloss Dagstuhl–Leibniz-Zentrum

fuer Informatik.

[41] GAMALLO, P.; GARCIA, M.; FERNÁNDEZ-LANZA, S. Dependency-based open

information extraction. In: Proceedings of the Joint Workshop on Unsupervised

and Semi-Supervised Learning in NLP, ROBUS-UNSUP ’12, p. 10–18, Stroudsburg,

PA, USA, 2012. Association for Computational Linguistics.

[42] GRISHMAN, R.; SUNDHEIM, B. Message understanding conference-6: A brief

history. In: Proceedings of the 16th Conference on Computational Linguistics -

Volume 1, COLING ’96, p. 466–471, Stroudsburg, PA, USA, 1996. Association for

Computational Linguistics.

[43] GROUP, T. S. N. L. P. The stanford parser: A statistical parser. http://nlp.

stanford.edu/software/lex-parser.shtml, último acesso em Junho de 2014.

Referências Bibliográficas 81

[44] GUNASUNDARI, R.; KARTHIKEYAN, S. A new approach for web information

extraction. Int.J.Computer Techology & Applications (IJCTA), 3(1):211–215, JAN-

FEB 2012.

[45] HAN, J.; PEI, J.; YIN, Y. Mining frequent patterns without candidate generation.

SIGMOD Rec., 29(2):1–12, May 2000.

[46] HAN, J.; PEI, J.; YIN, Y.; MAO, R. Mining frequent patterns without candidate

generation: A frequent-pattern tree approach. Data Min. Knowl. Discov., 8(1):53–

87, Jan. 2004.

[47] HAO, K.; GONG, Z.; HUO, C.; SHEU, P. C.-Y. Semantic computing and computer

science. Int. J. Semantic Computing, 5(1):95–120, 2011.

[48] HASSANZADEH, H.; KEYVANPOUR, M. R. Semantic web requirements through

web mining techniques. CoRR, abs/1208.0690, 2012.

[49] HUNT, F. Facts, records & mysteries: Total number of websites &

size of the internet as of 2013. http://www.factshunt.com/2014/01/

total-number-of-websites-size-of.html, último acesso em Junho de 2014,

2014.

[50] J, S.; S., R. K. A review on semantic-based web mining and its applications.

International Journal of Engineering and Technology (IJET), 5(1):186–192, Feb-Mar

2013.

[51] KIM, M. H.; COMPTON, P.; KIM, Y. S. Rdr-based open ie for the web document.

In: Proceedings of the Sixth International Conference on Knowledge Capture, K-CAP

’11, p. 105–112, New York, NY, USA, 2011. ACM.

[52] KIRYAKOV, A.; POPOV, B.; OGNYANOFF, D.; MANOV, D.; KIRILOV, A.; GORANOV,

M. Semantic annotation, indexing, and retrieval. In: International Semantic Web

Conference, p. 484–499, 2003.

[53] KRÄMER, B. J.; MARGARIA, T. A hindsight on formal methods and prospects of

semantic computing in software engineering. Int. J. Semantic Computing, (1):5–

30.

[54] LAFFERTY, J.; MCCALLUM, A.; PEREIRA, F. Conditional random fields: Probabi-

listic models for segmenting and labeling sequence data. In: Proc. 18th Inter-

national Conf. on Machine Learning, p. 282–289. Morgan Kaufmann, San Francisco,

CA, 2001.

Referências Bibliográficas 82

[55] LUPIANI-RUIZ, E.; GARCÍA-MANOTAS, I.; VALENCIA-GARCÍA, R.; SÁNCHEZ, F. G.;

NIEVES, D. C.; FERNÁNDEZ-BREIS, J. T.; CAMÓN-HERRERO, J. B. Financial news

semantic search engine. Expert Syst. Appl., 38(12):15565–15572, 2011.

[56] MADHU, G.; GOVARDHAN, A.; RAJINIKANTH, T. V. Intelligent semantic web search

engines: A brief survey. CoRR, abs/1102.0831, 2011.

[57] MAUSAM.; SCHMITZ, M.; SODERLAND, S.; BART, R.; ETZIONI, O. Open language

learning for information extraction. In: EMNLP-CoNLL, p. 523–534. ACL, 2012.

[58] MCCALLUM, A. Efficiently inducing features of conditional random fields. In:

Proceedings of the Nineteenth Conference on Uncertainty in Artificial Intelligence,

UAI’03, p. 403–410, San Francisco, CA, USA, 2003. Morgan Kaufmann Publishers

Inc.

[59] MERHAV, Y. A weighting scheme for open information extraction. In: HLT-NAACL,

p. 60–65. The Association for Computational Linguistics, 2012.

[60] NAGARJUNA, B. V. R. R.; BABU, A. R.; MARKANDEYULU, M.; RATNAM, A. S. K.

Web mining: Methodologies, algorithms and applications. International Journal

of Soft Computing and Engineering (IJSCE), 2(3):164–167, July 2012.

[61] NEBOT, V.; BERLANGA, R. Mining association rules from semantic web data.

In: García-Pedrajas, N.; Herrera, F.; Fyfe, C.; Benítez, J.; Ali, M., editors, Trends in

Applied Intelligent Systems, volume 6097 de Lecture Notes in Computer Science,

p. 504–513. Springer Berlin Heidelberg, 2010.

[62] NEBOT, V.; BERLANGA, R. Finding association rules in semantic web data.

Knowledge-Based Systems, 25(1):51 – 62, 2012. Special Issue on New Trends in

Data Mining.

[63] NEBOT, V.; LLAVORI, R. B. Semantics-aware open information extraction in

the biomedical domain. In: Paschke, A.; Burger, A.; 0001, P. R.; Marshall, M. S.;

Splendiani, A., editors, SWAT4LS, p. 84–91. ACM, 2011.

[64] NEGM, N.; ELKAFRAWY, P.; SALEM, A. B. A survey of web information extraction

tools. International Journal of Computer Applications, 43(7):19–27, April 2012.

Published by Foundation of Computer Science, New York, USA.

[65] PISKORSKI, J.; YANGARBER, R. Information extraction: Past, present and future.

In: Poibeau, T.; Saggion, H.; Piskorski, J.; Yangarber, R., editors, Multi-source, Multi-

lingual Information Extraction and Summarization, Theory and Applications of Natural

Language Processing, p. 23–49. Springer Berlin Heidelberg, 2013.

Referências Bibliográficas 83

[66] QUBOA, Q. K.; SARAEE, M. A state-of-the-art survey on semantic web mining.

Intelligent Information Management (IIM), 5(1):10–17, January 2013.

[67] RAMULU, V. S.; KUMAR, C. N. S.; REDDY, K. S. A study of semantic web mining:

Integrating domain knowledge into web mining. International Journal of Soft

Computing and Engineering (IJSCE), 2(3):522–524, July 2012.

[68] RITTER, A.; CLARK, S.; MAUSAM.; ETZIONI, O. Named entity recognition in

tweets: An experimental study. In: EMNLP, p. 1524–1534. ACL, 2011.

[69] SAVAGE, N. New search challenges and opportunities. Commun. ACM, 53(1):27–

28, Jan. 2010.

[70] SHARMA, N.; DUBEY, S. K. A hand to hand taxonomical survey on web mi-

ning. International Journal of Computer Applications, 60(3):7–14, December 2012.

Published by Foundation of Computer Science, New York, USA.

[71] SINGH, P.; KUMAR, A.; PRASHAST. Studies on research and development in web

mining. International Journal of Computer Applications, 44(9):28–32, April 2012.

Published by Foundation of Computer Science, New York, USA.

[72] SODERLAND, S.; ROOF, B.; QIN, B.; XU, S.; MAUSAM.; ETZIONI, O. Adapting open

information extraction to domain-specific relations. AI Magazine, 31(3):93–102,

2010.

[73] SUDEEPTHI, G.; ANURADHA, G.; BABU, M. S. P. A survey on semantic web search

engine. International Journal of Computer Science Issues, 9(1):241–245, 2012.

[74] TEKLI, J.; RJEILY, A. A.; CHBEIR, R.; TEKLI, G.; HOUNGUE, P.; YETONGNON, K.;

ABEBE, M. A. Semantic to intelligent web era: Building blocks, applications,

and current trends. In: Proceedings of the Fifth International Conference on

Management of Emergent Digital EcoSystems, MEDES ’13, p. 159–168, New York,

NY, USA, 2013. ACM.

[75] TREEBANK. The penn treebank project. http://www.cis.upenn.edu/

~treebank/home.html, último acesso em Junho de 2014, 1999.

[76] TSENG, Y.; LEE, L.; LIN, S.; LIAO, B.; LIU, M.; CHEN, H.; ETZIONI, O.; FADER, A.

Chinese open relation extraction for knowledge acquisition. In: Proceedings of

the 14th Conference of the European Chapter of the Association for Computational

Linguistics, EACL 2014, April 26-30, 2014, Gothenburg, Sweden, p. 12–16, 2014.

[77] TURING, A. M. Computing machinery and intelligence. Mind, 59(236):433–460,

1950.

Referências Bibliográficas 84

[78] VELARDI, P.; D’ANTONIO, F.; CUCCHIARELLI, A. Open domain knowledge extrac-

tion: inference on a web scale. In: Camacho, D.; Akerkar, R.; Rodríguez-Moreno,

M. D., editors, WIMS, p. 35. ACM, 2013.

[79] WILSON, A. D.; BOBICK, A. F. Hidden markov models. chapter Hidden Markov

Models for Modeling and Recognizing Gesture Under Variation, p. 123–160. World

Scientific Publishing Co., Inc., River Edge, NJ, USA, 2002.

[80] WU, F.; WELD, D. S. Open information extraction using wikipedia. In: Procee-

dings of the 48th Annual Meeting of the Association for Computational Linguistics,

ACL ’10, p. 118–127, Stroudsburg, PA, USA, 2010. Association for Computational

Linguistics.

[81] XU, G.; ZHANG, Y.; LI, L. Web Mining and Social Networking: Techniques and

Applications. Springer-Verlag New York, Inc., New York, NY, USA, 1st edition, 2010.

[82] YATES, A.; BANKO, M.; BROADHEAD, M.; CAFARELLA, M. J.; ETZIONI, O.; SODER-

LAND, S. TextRunner: Open Information Extraction on the Web. In: HLT-NAACL

(Demonstrations), p. 25–26, 2007.

[83] ZAKI, M. J. Scalable algorithms for association mining. IEEE Trans. on Knowl.

and Data Eng., 12(3):372–390, May 2000.

[84] ZHENG, Q.; WU, Z.; CHENG, X.; JIANG, L.; LIU, J. Learning to crawl deep web.

Information Systems, 38(6):801 – 819, 2013.

[85] ZHU, J.; NIE, Z.; LIU, X.; ZHANG, B.; WEN, J.-R. Statsnowball: a statistical

approach to extracting entity relationships. In: WWW ’09: Proceedings of the

18th international conference on World wide web, p. 101–110, New York, NY, USA,

2009. ACM.

CAPÍTULO 8Apêndice de Sentenças

Esse apêndice contém as sentenças usadas na avaliação dos resultados. Cada

frase segue a seguinte estrutura.

1. Frase em inglês.

(a) Frase em português.

• Tripla retirada da frase em português.

2. Essen is a beautiful city in the Ruhr Area.

(a) Essen é uma bela cidade no Vale do Ruhr.

• (Essen, é uma cidade no, Vale do Ruhr)

3. Krypton is a fictional planet in the DC Comics Universe.

(a) Krypton é um planeta fictício no Universo DC Comics.

• (Krypton, é um planeta fictício no, Universo DC Comics)

4. Dirk is a very good friend of Elmar.

(a) Dirk é um grande amigo do Elmar.

• (Dirk, é um grande amigo do, Elmar)

5. Zeus gave flowers to Hera in Athens.

(a) Zeus deu flores para Hera em Atenas.

• (Zeus, deu flores para, Hera)

• (Zeus, deu flores para Hera em, Atenas)

6. Elvis moved to Memphis in 1948.

(a) Elvis mudou-se para Memphis em 1948.

• (Elvis, mudou-se para, Memphis)

• (Elvis, mudou-se para Memphis em, 1948)

7. Hitachi GST was established in 2003 and is headquartered in San Jose.

(a) Hitachi GST foi criada em 2003 e está sediada em San José.

86

• (Hitachi GST, foi criada em, 2003)

• (Hitachi GST, está sediada em, San José)

8. Spain is a southwestern European country located on the Iberian Peninsula.

(a) A Espanha é um país europeu localizado no sudoeste da Península Ibérica.

• (Espanha, é um país europeu localizado no, sudoeste da Península

Ibérica)

9. Some cities, including Seattle, have increased the number of bike lanes.

(a) Algumas cidades, incluindo Seattle, tem aumentado o número de ciclovias.

• (Seattle, tem aumentado o número de, ciclovias)

10. Steve Jobs, the brilliant and forward thinking CEO of Apple Computer, will give a

speech on Tuesday.

(a) Steve Jobs, o CEO brilhante e visionário da Apple Computer, fará um discurso

na terça-feira.

• (Steve Jobs, fará um discurso na, terça-feira)

11. Lance Armstrong is the Tour de France winner.

(a) Lance Armstrong é o vencedor do Tour de France.

• (Lance Armstrong, é o vencedor do, Tour de France)

12. Microsoft is headquartered in beautiful Redmond, a city located near Seattle.

(a) Microsoft está sediada na bela Redmond, uma cidade situada perto de Seattle.

• (Microsoft, está sediada na, bela Redmond)

13. Google announced Tuesday that it bought YouTube for $1.65 billion.

(a) Google anunciou terça-feira que comprou o YouTube por US$ 1,65 bilhões.

• (Google, comprou o Youtube por, US$ 1,65 bilhões)

14. President Lincoln was killed by John Wilkes Booth.

(a) Presidente Lincoln foi assassinado por John Wilkes Booth.

• (Lincoln, foi assassinado por, John Wilkes Booth)

15. Einstein received the Nobel Prize in 1921.

(a) Einstein recebeu o Prêmio Nobel em 1921.

• (Einstein, recebeu o Prêmio Nobel em, 1921)

16. Tim Berners-Lee is credited with having invented the WWW.

(a) Tim Berners-Lee é creditado por ter inventado a WWW.

• (Tim Berners-Lee, é creditado por ter inventado a, WWW)

87

17. Young scientists from many universities are studying exciting new technologies.

(a) Jovens cientistas de várias universidades estão estudando novas tecnologias

emocionantes.

• (Jovens cientistas, estão estudando, novas tecnologias)

18. Charlie Chaplin was born on April 16, 1889 in London.

(a) Charlie Chaplin nasceu em 16 de abril de 1889, em Londres.

• (Charlie Chaplin, nasceu em, 16 de abril de 1889)

• (Charlie Chaplin, nasceu em 16 de abril de 1889, em Londres)

19. Robert Louis Stevenson is author of Dr. Jekyll.

(a) Robert Louis Stevenson é o autor de Dr. Jekyll.

• (Robert Louis Stevenson, é o autor de, Dr. Jekyll)

20. Franz Kafka, a writer born in Prague, wrote The Metamorphosis.

(a) Franz Kafka, um escritor nascido em Praga, escreveu A Metamorfose.

• (Franz Kafka, nascido em, Praga)

• (Franz Kafka, escreveu, A Metamorfose)

21. McCain fought hard against Obama, but finally lost the election.

(a) McCain lutou muito contra Obama, mas finalmente perdeu a eleição.

• (McCain, lutou contra, Obama)

• (McCain, perdeu, a eleição)

22. Eli Whitney created the cotton gin in 1793.

(a) Eli Whitney criou o descaroçador de algodão em 1793.

• (Eli Whitney, criou o, descaroçador de algodão)

23. Bunsen invented a device called the Spectroscope.

(a) Bunsen inventou um dispositivo chamado o espectroscópio.

• (Bunsen, inventou um dispositivo chamado, o espectroscópio)

24. Larry Page googled his name and launched a new revolution.

(a) Larry Page pesquisou seu nome e lançou uma nova revolução.

• (Larry Page, pesquisou, seu nome)

• (Larry Page, lançou uma, nova revolução)

25. A. Einstein, who was born in Ulm, is vegetarian.

(a) A. Einstein, que nasceu em Ulm, é vegetariano.

• (A. Einstein, nasceu em, Ulm)

88

• (A. Einstein, é, vegetariano)

26. Anna passed the exam with ease.

(a) Anna passou no exame com facilidade.

• (Anna, passou no exame com, facilidade)

27. Albert Einstein remained in Princeton until his death in 1955.

(a) Albert Einstein permaneceu em Princeton, até sua morte em 1955.

• (Albert Einstein, permaneceu em Princeton, até sua morte)

28. Bell, a telecommunication company, which is based in Los Angeles, makes and

distributes electronic, computer and building products.

(a) Bell, uma empresa de telecomunicações, que tem sede em Los Angeles, faz

e distribui eletrônicos, computadores e produtos de construção.

• (Bell, tem sede em, Los Angeles)

29. Messi plays football.

(a) Messi joga futebol.

• (Messi, joga, futebol)

30. He fathered two children, Edna and Donald, and lived in Aberdeen until his death

from tuberculosis in 1942.

(a) Ele foi pai de dois filhos, Edna e Donald, e viveu em Aberdeen até sua morte

por tuberculose em 1942.

• (Ele, foi pai de, dois filhos)

• (Ele, foi pai de, Edna e Donald)

• (Ele, viveu em, Aberdeen)

31. Microsoft acquired Powerset, a start-up company developing a natural-language

search engine, for upwards of US$100 million in 2008.

(a) Microsoft adquiriu Powerset, uma empresa start-up desenvolvendo um meca-

nismo de pesquisa de linguagem natural, por mais de US$ 100 milhões em

2008.

• (Microsoft, adquiriu, Powerset)

32. In 2010, Apple bought Siri, a start-up with an iPhone app that answered natural-

language questions about films, restaurants and other local services, for a price

speculated to have been more than $200 million.

(a) Em 2010, a Apple comprou a Siri, uma start-up com um aplicativo para iPhone

que responde às perguntas em linguagem natural sobre filmes, restaurantes e

89

outros serviços locais, por um preço especulado por ter sido mais de US$ 200

milhões.

• (Apple, comprou a, Siri)

33. Paris is the stylish capital of France.

(a) Paris é a capital elegante da França.

• (Paris, é a capital da, França)

34. Hamas claimed responsibility for the Gaza attack.

(a) Hamas reivindicou a responsabilidade pelo ataque a Gaza.

• (Hamas, reivindicou a responsabilidade pelo ataque a, Gaza)

35. Faust made a deal with the devil.

(a) Faust fez um pacto com o diabo.

• (Faust, fez um pacto com o, diabo)

36. Hudson was born in Hampstead, which is a suburb of London.

(a) Hudson nasceu em Hampstead, que é um subúrbio de Londres.

• (Hudson, nasceu em, Hampstead)

• (Hampstead, é um subúrbio de, Londres)

37. In May 2010, the principal opposition parties boycotted the polls after accusations of

vote-rigging.

(a) Em maio de 2010, os principais partidos de oposição boicotaram as eleições

depois de acusações de fraude eleitoral.

• (partidos de oposição, boicotaram as eleições depois das acusações de,

fraude eleitoral)

38. Vigo is the largest city in Galicia and is located in the northwest of Spain.

(a) Vigo é a maior cidade da Galiza e está localizada no noroeste da Espanha.

• (Vigo, é a maior cidade da, Galiza)

• (Vigo, está localizada no noroeste da, Espanha)

39. The soccer player of FC Barcelona, Lionel Messi, won the Fifa World Player of the

Year award.

(a) O jogador de futebol do FC Barcelona, Lionel Messi, venceu o Fifa World

Player of the Year.

• (Lionel Messi, venceu o, Fifa World Player of the Year)

40. The first commercial airline flight was from St. Petersburg to Tampa in 1914.

(a) O primeiro voo comercial foi de São Petersburgo a Tampa em 1914.

90

• (primeiro voo comercial, foi de, São Petersburgo a, Tampa)

41. The relationship between the Taliban and Bin Laden was close.

(a) A relação entre o Talibã e Bin Laden estava encerrada.

• (relação entre o Talibã e Bin Laden, estava, encerrada)

42. FBI examined the relationship between Bin Laden and the Taliban.

(a) FBI examinou a relação entre Bin Laden e Talibã.

• (FBI, examinou a relação entre, Bin Laden e Talibã)

43. The treaty was signed by Portugal in 2003 in Lisbon.

(a) O tratado foi assinado por Portugal em 2003 em Lisboa.

• (tratado, foi assinado por, Portugal)

• (tratado, foi assinado por Portugal em, 2003)

44. The coach of benfica have hold a press conference in Lisbon.

(a) O treinador do Benfica tem uma conferência de imprensa em Lisboa.

• (treinador, tem uma conferência de imprensa em, Lisboa)

45. Microsoft co-founder Bill Gates spoke at Harvard Univesity.

(a) Co-fundador da Microsoft, Bill Gates falou na Universidade de Harvard.

• (Bill Gates, falou na, Universidade de Harvard)

46. Early astronomers believed that the earth is the center of the universe.

(a) Os primeiros astrônomos acreditavam que a Terra é o centro do universo.

• (Terra, é o centro do, universo)

47. If he wins five key states, Romney will be elected President.

(a) Se ele ganhar cinco estados-chave, Romney será eleito presidente.

• (Romney, será eleito, presidente)

48. Mr. Smith gave a talk at the conference in New York.

(a) Sr. Smith deu uma palestra na conferência em Nova York.

• (Sr. Smith, deu uma palestra, em Nova York)

• (Sr. Smith, deu uma palestra na conferência, em Nova York)

49. Beijing is the capital of China.

(a) Pequim é a capital da China.

• (Pequim, é a capital da, China)

50. Apples are rich in nutrition.

(a) Maçãs são ricas em nutrição.

91

• (Maçãs, são ricas em, nutrição)

51. Edison invented the light bulb.

(a) Edison inventou a lâmpada.

• (Edison, inventou a, lâmpada)

52. Mozart was born in Salzburg, but moved to Vienna in 1881

(a) Mozart nasceu em Salzburgo, mas mudou-se para Viena em 1881.

• (Mozart, nasceu em, Salzburgo)

• (Mozart, mudou-se para, Viena)

• (Mozart, mudou-se para Viena em, 1881)

53. Dan was not born in Berkeley.

(a) Dan não nasceu em Berkeley.

• (Dan, não nasceu em, Berkeley)

54. Apollo killed Python.

(a) Apolo matou Python.

• (Apolo, matou, Python)